diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 15f865b742fe..c86a1fda1353 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -322,6 +322,7 @@ jobs: working-directory: packages/desktop env: NODE_OPTIONS: --max-old-space-size=4096 + OPENCODE_VERSION: ${{ needs.version.outputs.version }} OPENCODE_CHANNEL: ${{ (github.ref_name == 'beta' && 'beta') || 'prod' }} SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} SENTRY_ORG: ${{ vars.SENTRY_ORG }} @@ -339,8 +340,7 @@ jobs: env: OPENCODE_CHANNEL: ${{ (github.ref_name == 'beta' && 'beta') || 'prod' }} GH_TOKEN: ${{ steps.committer.outputs.token }} - CSC_LINK: ${{ secrets.APPLE_CERTIFICATE }} - CSC_KEY_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }} + CSC_KEYCHAIN: build.keychain APPLE_API_KEY: ${{ runner.temp }}/apple-api-key.p8 APPLE_API_KEY_ID: ${{ secrets.APPLE_API_KEY }} APPLE_API_ISSUER: ${{ secrets.APPLE_API_ISSUER }} diff --git a/.opencode/skills/rtl-aware-development/SKILL.md b/.opencode/skills/rtl-aware-development/SKILL.md new file mode 100644 index 000000000000..595c981ead81 --- /dev/null +++ b/.opencode/skills/rtl-aware-development/SKILL.md @@ -0,0 +1,63 @@ +--- +name: rtl-aware-development +description: OpenCode Desktop should be RTL-aware. Use when implementing or reviewing RTL/LTR behavior in the web app, desktop app, CSS, menus, scrolling, resizing, icons, mixed-direction text, or Electron title bars. +--- + +# RTL-Aware Development + +Treat direction as independent from language. Test English in both directions as well as real RTL and mixed-script content. + +## Guidelines + +- Set `lang` and `dir` on the document, and propagate direction through component providers used by portaled menus and popovers. Do not change the selected locale merely to force RTL. +- Keep DOM and focus order semantic. Flexbox and Grid already follow `dir`; do not add `row-reverse`, CSS `order`, or reversed markup just to mirror a layout. +- Prefer logical CSS for semantic layout. Reserve physical coordinates for pointer positions, canvas geometry, native window controls, and other genuinely physical placement. + +```css +/* Avoid */ +padding-left: 12px; +right: 0; +border-right: 1px solid; +text-align: left; + +/* Prefer */ +padding-inline-start: 12px; +inset-inline-end: 0; +border-inline-end: 1px solid; +text-align: start; +``` + +- Isolate mixed-direction text. Use `dir="auto"` or `` for unknown text; keep code, URLs, IDs, and filesystem paths LTR without forcing the surrounding component LTR. + +```html +README.md C:\src\app.ts +``` + +- Mirror directional meaning, not every image. Back/forward, previous/next, disclosure, indentation, and directional progress may need mirroring. Do not mirror brands, clocks, media controls, charts, or text. Reverse physical gradients, `translateX`, SVG transforms, and animation deltas explicitly. +- Map interactions through direction. `clientX` remains physical; resizing a logical edge needs an RTL-aware delta. Logical previous/next keyboard controls may swap ArrowLeft/ArrowRight. Follow the relevant WAI-ARIA widget pattern. +- Do not assume LTR scrolling. RTL `scrollLeft` can start at `0` and become negative. Prefer `scrollIntoView({ inline: "nearest" })` or a tested direction-normalizing helper. +- For Electron title bars, prefer native caption controls and use `titleBarOverlay` plus `env(titlebar-area-*)` for the safe content rectangle. Keep Windows/macOS native-control avoidance and `trafficLightPosition` physical; keep app navigation inside that rectangle logical. Mark interactive titlebar children `app-region: no-drag`. +- Verify behavior, not screenshots alone. Check computed styles, pseudo-element geometry, hit zones, focus order, keyboard behavior, submenu direction, zoom/scaling, and both LTR and RTL scroll endpoints. + +## Test Matrix + +- English + LTR +- English + forced RTL +- A real RTL locale + RTL +- Mixed RTL/LTR content, long labels, numbers, code, and paths +- Keyboard, pointer resize, scrolling, menus/submenus, and Electron titlebar controls in both directions + +## References + +- [RTL Styling 101, Ahmad Shadeed](https://rtlstyling.com/posts/rtl-styling/) +- [CSS-Tricks: RTL Styling 101](https://css-tricks.com/rtl-styling-101/) +- [CSS-Tricks: CSS Logical Properties and Values](https://css-tricks.com/css-logical-properties-and-values/) +- [W3C: Structural markup and right-to-left text](https://www.w3.org/International/questions/qa-html-dir) +- [W3C: Inline bidirectional markup](https://www.w3.org/International/articles/inline-bidi-markup/) +- [MDN: CSS logical properties and values](https://developer.mozilla.org/en-US/docs/Web/CSS/Guides/Logical_properties_and_values) +- [MDN: `dir`](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/dir) +- [MDN: `scrollLeft`](https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollLeft) +- [web.dev: Logical properties](https://web.dev/learn/css/logical-properties/) +- [Electron: Custom title bar](https://www.electronjs.org/docs/latest/tutorial/custom-title-bar) +- [WAI-ARIA: Window splitter pattern](https://www.w3.org/WAI/ARIA/apg/patterns/windowsplitter/) +- [Kobalte: I18n Provider](https://kobalte.dev/docs/core/components/i18n-provider/) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e1a62ae9ca68..1ab14a7b628a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -252,33 +252,6 @@ These are not strictly enforced, they are just general guidelines: For net-new functionality, start with a design conversation. Open an issue describing the problem, your proposed approach (optional), and why it belongs in OpenCode. The core team will help decide whether it should move forward; please wait for that approval instead of opening a feature PR directly. -## Trust & Vouch System - -This project uses [vouch](https://github.com/mitchellh/vouch) to manage contributor trust. The vouch list is maintained in [`.github/VOUCHED.td`](.github/VOUCHED.td). - -### How it works - -- **Vouched users** are explicitly trusted contributors. -- **Denounced users** are explicitly blocked. Issues and pull requests from denounced users are automatically closed. If you have been denounced, you can request to be unvouched by reaching out to a maintainer on [Discord](https://opencode.ai/discord) -- **Everyone else** can participate normally — you don't need to be vouched to open issues or PRs. - -### For maintainers - -Collaborators with write access can manage the vouch list by commenting on any issue: - -- `vouch` — vouch for the issue author -- `vouch @username` — vouch for a specific user -- `denounce` — denounce the issue author -- `denounce @username` — denounce a specific user -- `denounce @username ` — denounce with a reason -- `unvouch` / `unvouch @username` — remove someone from the list - -Changes are committed automatically to `.github/VOUCHED.td`. - -### Denouncement policy - -Denouncement is reserved for users who repeatedly submit low-quality AI-generated contributions, spam, or otherwise act in bad faith. It is not used for disagreements or honest mistakes. - ## Issue Requirements All issues **must** use one of our issue templates: diff --git a/bun.lock b/bun.lock index cc50e910ec8e..0cf32fd5fc15 100644 --- a/bun.lock +++ b/bun.lock @@ -29,7 +29,7 @@ }, "packages/app": { "name": "@opencode-ai/app", - "version": "1.18.11", + "version": "1.18.16", "dependencies": { "@corvu/drawer": "catalog:", "@dnd-kit/abstract": "0.5.0", @@ -96,7 +96,7 @@ }, "packages/cli": { "name": "@opencode-ai/cli", - "version": "1.18.11", + "version": "1.18.16", "bin": { "lildax": "./bin/lildax.cjs", }, @@ -144,7 +144,7 @@ }, "packages/codemode": { "name": "@opencode-ai/codemode", - "version": "1.18.11", + "version": "1.18.16", "dependencies": { "acorn": "8.15.0", "effect": "catalog:", @@ -158,7 +158,7 @@ }, "packages/console/app": { "name": "@opencode-ai/console-app", - "version": "1.18.11", + "version": "1.18.16", "dependencies": { "@cloudflare/vite-plugin": "1.15.2", "@ibm/plex": "6.4.1", @@ -194,7 +194,7 @@ }, "packages/console/core": { "name": "@opencode-ai/console-core", - "version": "1.18.11", + "version": "1.18.16", "dependencies": { "@aws-sdk/client-sts": "3.782.0", "@jsx-email/render": "1.1.1", @@ -221,7 +221,7 @@ }, "packages/console/function": { "name": "@opencode-ai/console-function", - "version": "1.18.11", + "version": "1.18.16", "dependencies": { "@ai-sdk/anthropic": "3.0.82", "@ai-sdk/openai": "3.0.48", @@ -243,7 +243,7 @@ }, "packages/console/mail": { "name": "@opencode-ai/console-mail", - "version": "1.18.11", + "version": "1.18.16", "dependencies": { "@jsx-email/all": "2.2.3", "@jsx-email/cli": "1.4.3", @@ -267,7 +267,7 @@ }, "packages/console/support": { "name": "@opencode-ai/console-support", - "version": "1.18.11", + "version": "1.18.16", "dependencies": { "@cloudflare/vite-plugin": "1.15.2", "@opencode-ai/console-core": "workspace:*", @@ -287,7 +287,7 @@ }, "packages/core": { "name": "@opencode-ai/core", - "version": "1.18.11", + "version": "1.18.16", "bin": { "opencode": "./bin/opencode", }, @@ -381,9 +381,10 @@ }, "packages/desktop": { "name": "@opencode-ai/desktop", - "version": "1.18.11", + "version": "1.18.16", "dependencies": { "@zip.js/zip.js": "2.7.62", + "drizzle-orm": "catalog:", "effect": "catalog:", "electron-context-menu": "4.1.2", "electron-log": "^5", @@ -434,7 +435,7 @@ }, "packages/effect-drizzle-sqlite": { "name": "@opencode-ai/effect-drizzle-sqlite", - "version": "1.18.11", + "version": "1.18.16", "dependencies": { "drizzle-orm": "catalog:", "effect": "catalog:", @@ -448,7 +449,7 @@ }, "packages/effect-sqlite-node": { "name": "@opencode-ai/effect-sqlite-node", - "version": "1.18.11", + "version": "1.18.16", "dependencies": { "effect": "catalog:", }, @@ -460,7 +461,7 @@ }, "packages/enterprise": { "name": "@opencode-ai/enterprise", - "version": "1.18.11", + "version": "1.18.16", "dependencies": { "@hono/standard-validator": "catalog:", "@opencode-ai/core": "workspace:*", @@ -492,7 +493,7 @@ }, "packages/function": { "name": "@opencode-ai/function", - "version": "1.18.11", + "version": "1.18.16", "dependencies": { "@octokit/auth-app": "8.0.1", "@octokit/rest": "catalog:", @@ -508,7 +509,7 @@ }, "packages/http-recorder": { "name": "@opencode-ai/http-recorder", - "version": "1.18.11", + "version": "1.18.16", "dependencies": { "@effect/platform-node": "4.0.0-beta.83", "@effect/platform-node-shared": "4.0.0-beta.83", @@ -539,7 +540,7 @@ }, "packages/llm": { "name": "@opencode-ai/llm", - "version": "1.18.11", + "version": "1.18.16", "dependencies": { "@opencode-ai/schema": "workspace:*", "@smithy/eventstream-codec": "4.2.14", @@ -558,7 +559,7 @@ }, "packages/opencode": { "name": "opencode", - "version": "1.18.11", + "version": "1.18.16", "bin": { "opencode": "./bin/opencode", }, @@ -689,7 +690,7 @@ }, "packages/plugin": { "name": "@opencode-ai/plugin", - "version": "1.18.11", + "version": "1.18.16", "dependencies": { "@ai-sdk/provider": "3.0.8", "@opencode-ai/sdk": "workspace:*", @@ -765,7 +766,7 @@ }, "packages/sdk/js": { "name": "@opencode-ai/sdk", - "version": "1.18.11", + "version": "1.18.16", "dependencies": { "cross-spawn": "catalog:", }, @@ -780,7 +781,7 @@ }, "packages/server": { "name": "@opencode-ai/server", - "version": "1.18.11", + "version": "1.18.16", "dependencies": { "@opencode-ai/core": "workspace:*", "@opencode-ai/protocol": "workspace:*", @@ -795,7 +796,7 @@ }, "packages/session-ui": { "name": "@opencode-ai/session-ui", - "version": "1.18.11", + "version": "1.18.16", "dependencies": { "@kobalte/core": "catalog:", "@opencode-ai/client": "file:../app/vendor/opencode-ai-client-1.17.13-v2.tgz", @@ -813,11 +814,8 @@ "diff": "catalog:", "dompurify": "3.3.1", "fuzzysort": "catalog:", - "katex": "0.16.27", "luxon": "catalog:", "marked": "catalog:", - "marked-katex-extension": "5.1.6", - "marked-shiki": "catalog:", "morphdom": "2.7.8", "motion": "12.34.5", "remeda": "catalog:", @@ -830,7 +828,6 @@ "devDependencies": { "@tsconfig/node22": "catalog:", "@types/bun": "catalog:", - "@types/katex": "0.16.7", "@types/luxon": "catalog:", "@typescript/native-preview": "catalog:", "typescript": "catalog:", @@ -839,7 +836,7 @@ }, "packages/slack": { "name": "@opencode-ai/slack", - "version": "1.18.11", + "version": "1.18.16", "dependencies": { "@opencode-ai/sdk": "workspace:*", "@slack/bolt": "^3.17.1", @@ -852,7 +849,7 @@ }, "packages/stats/app": { "name": "@opencode-ai/stats-app", - "version": "1.18.11", + "version": "1.18.16", "dependencies": { "@ibm/plex": "6.4.1", "@kobalte/core": "catalog:", @@ -886,7 +883,7 @@ }, "packages/stats/core": { "name": "@opencode-ai/stats-core", - "version": "1.18.11", + "version": "1.18.16", "dependencies": { "@aws-sdk/client-athena": "3.933.0", "@planetscale/database": "1.19.0", @@ -905,7 +902,7 @@ }, "packages/stats/server": { "name": "@opencode-ai/stats-server", - "version": "1.18.11", + "version": "1.18.16", "dependencies": { "@aws-sdk/client-firehose": "3.933.0", "@effect/platform-node": "catalog:", @@ -947,7 +944,7 @@ }, "packages/tui": { "name": "@opencode-ai/tui", - "version": "1.18.11", + "version": "1.18.16", "dependencies": { "@opencode-ai/core": "workspace:*", "@opencode-ai/plugin": "workspace:*", @@ -974,7 +971,7 @@ }, "packages/ui": { "name": "@opencode-ai/ui", - "version": "1.18.11", + "version": "1.18.16", "dependencies": { "@kobalte/core": "catalog:", "@pierre/diffs": "catalog:", @@ -990,7 +987,6 @@ "katex": "0.16.27", "luxon": "catalog:", "marked": "catalog:", - "marked-katex-extension": "5.1.6", "marked-shiki": "catalog:", "morphdom": "2.7.8", "motion": "12.34.5", @@ -1026,7 +1022,7 @@ }, "packages/web": { "name": "@opencode-ai/web", - "version": "1.18.11", + "version": "1.18.16", "dependencies": { "@astrojs/cloudflare": "12.6.3", "@astrojs/markdown-remark": "6.3.1", @@ -1082,6 +1078,7 @@ "@ai-sdk/google@3.0.73": "patches/@ai-sdk%2Fgoogle@3.0.73.patch", "pacote@21.5.0": "patches/pacote@21.5.0.patch", "@dnd-kit/dom@0.5.0": "patches/@dnd-kit%2Fdom@0.5.0.patch", + "@ai-sdk/openai-compatible@2.0.41": "patches/@ai-sdk%2Fopenai-compatible@2.0.41.patch", }, "overrides": { "@opentui/core": "catalog:", @@ -1136,7 +1133,7 @@ "hono": "4.10.7", "hono-openapi": "1.1.2", "luxon": "3.6.1", - "marked": "17.0.6", + "marked": "18.0.7", "marked-shiki": "1.2.1", "opentui-spinner": "0.0.7", "remeda": "2.26.0", @@ -4317,9 +4314,7 @@ "markdown-table": ["markdown-table@3.0.4", "", {}, "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw=="], - "marked": ["marked@17.0.6", "", { "bin": { "marked": "bin/marked.js" } }, "sha512-gB0gkNafnonOw0obSTEGZTT86IuhILt2Wfx0mWH/1Au83kybTayroZ/V6nS25mN7u8ASy+5fMhgB3XPNrOZdmA=="], - - "marked-katex-extension": ["marked-katex-extension@5.1.6", "", { "peerDependencies": { "katex": ">=0.16 <0.17", "marked": ">=4 <18" } }, "sha512-vYpLXwmlIDKILIhJtiRTgdyZRn5sEYdFBuTmbpjD7lbCIzg0/DWyK3HXIntN3Tp8zV6hvOUgpZNLWRCgWVc24A=="], + "marked": ["marked@18.0.7", "", { "bin": { "marked": "bin/marked.js" } }, "sha512-iDVQ5ldaiKXn6b2JroX5kgRfmwgqolW7NpaEzTl1k/2Zh1njIEN9yniyLV/mOvWwtsE8OGgkjsCYvijuPk1dtA=="], "marked-shiki": ["marked-shiki@1.2.1", "", { "peerDependencies": { "marked": ">=7.0.0", "shiki": ">=1.0.0" } }, "sha512-yHxYQhPY5oYaIRnROn98foKhuClark7M373/VpLxiy5TrDu9Jd/LsMwo8w+U91Up4oDb9IXFrP0N1MFRz8W/DQ=="], diff --git a/nix/hashes.json b/nix/hashes.json index 2fafb82c441b..6f321d88bf2e 100644 --- a/nix/hashes.json +++ b/nix/hashes.json @@ -1,8 +1,8 @@ { "nodeModules": { - "x86_64-linux": "sha256-SiJd6uXrL/MqqFGN/uUcHh0Wzdlafnpx++VZa5gUCoE=", - "aarch64-linux": "sha256-pKcT34NYIHVasraRTx0ASTzyuFuIzBTxXg6+KSKvTps=", - "aarch64-darwin": "sha256-hzrym0KpiyYAv80eT/DjcSIJWYBUq4QDgDf6Wtot7jU=", - "x86_64-darwin": "sha256-Or5dSTdajUwij0XpovXSXjJ0LmRUcpcW5TJ4q4B0k0A=" + "x86_64-linux": "sha256-uduwrM143NDSc+tXsi4lVVfoMll2a3BDHRUjuO7GB68=", + "aarch64-linux": "sha256-6DUda78XdXY6DP86lIUkweSjys3iG4Y4mo1PiaNuXbg=", + "aarch64-darwin": "sha256-AkJwfLULLZVwwz+XU1QcFUZoIS7oVPCn+n/MXEaxrqE=", + "x86_64-darwin": "sha256-hAxKGdiITTxQ2uujQt6prNjo3NxGAMMeo+9HlMWK6GU=" } } diff --git a/package.json b/package.json index 0338696d7bc5..b3411e066dd3 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "hono-openapi": "1.1.2", "fuzzysort": "3.1.0", "luxon": "3.6.1", - "marked": "17.0.6", + "marked": "18.0.7", "marked-shiki": "1.2.1", "remend": "1.3.0", "@playwright/test": "1.59.1", @@ -158,6 +158,7 @@ "@pierre/trees@1.0.0-beta.4": "patches/@pierre%2Ftrees@1.0.0-beta.4.patch", "@modelcontextprotocol/sdk@1.29.0": "patches/@modelcontextprotocol%2Fsdk@1.29.0.patch", "effect@4.0.0-beta.83": "patches/effect@4.0.0-beta.83.patch", - "@tanstack/virtual-core@3.17.3": "patches/@tanstack%2Fvirtual-core@3.17.3.patch" + "@tanstack/virtual-core@3.17.3": "patches/@tanstack%2Fvirtual-core@3.17.3.patch", + "@ai-sdk/openai-compatible@2.0.41": "patches/@ai-sdk%2Fopenai-compatible@2.0.41.patch" } } diff --git a/packages/app/AGENTS.md b/packages/app/AGENTS.md index 2e56066e7d11..72a973ebd40c 100644 --- a/packages/app/AGENTS.md +++ b/packages/app/AGENTS.md @@ -19,6 +19,21 @@ - Always prefer `createStore` over multiple `createSignal` calls +## Localization + +- NEVER hardcode user-visible English strings in production code. ALWAYS use an i18n key for visible copy, placeholders, accessible labels, tooltips, menus, dialogs, toasts, empty states, and displayed errors. +- When migrating existing copy to i18n, preserve the English text byte-for-byte unless the task explicitly requests a copy change. +- NEVER change existing English text or English keys to facilitate translation. English is intentional, designer-written source copy; adapt locale-specific translations and i18n mechanics around it. +- Keep locale complexity behind the shared typed i18n APIs. Feature and component code should use `language.t(...)` for ordinary copy and `language.plural(baseKey, count, params)` for count-sensitive copy. It must not inspect the locale, call `Intl.PluralRules`, construct or select plural-category keys such as `.one` or `.other`, or branch on locale-specific grammar. +- Prefer complete translated phrases. Do not concatenate grammatical fragments or make call sites assemble sentences. Keep placeholders to irreducible dynamic values such as names, paths, and counts. +- If a translation cannot be expressed by the current API, deepen the shared language/UI i18n module so one typed call owns locale selection, plural resolution, fallback, and interpolation. Do not leak that machinery into product code. +- Do not translate from model knowledge alone. Verify terminology and grammar with Unicode CLDR locale/plural data, Microsoft Localization Style Guides and terminology, Apple localization/style guidance and localized platform UI, Mozilla localization style guides, Mozilla Pontoon, and the Firefox localization corpus at `github.com/mozilla-l10n/firefox-l10n`. +- For developer-facing terminology, prefer the words already used by the target language's developer community over literal dictionary translations. Cross-check maintained localized developer products such as Firefox, KDE, and VS Code; use at least two independent corpora when they are available. If established practice keeps an English loanword or acronym, keep it rather than inventing a translation. +- Translate complete UI phrases in context. A glossary hit is evidence, not permission to translate word-by-word. Check terse labels such as session, prompt, agent, model, fork, shell, terminal, workspace, and worktree in the same grammatical role before choosing a term. +- Before a locale is ready, audit recurring concepts for one consistent translation and review every value that still equals English. Classify retained English as a product name, provider/tool name, URL, code token, keyboard legend, acronym, asset name, or established borrowing; translate unexplained leftovers. +- In translation review notes, name the corpora used and call out uncertain or region-specific terminology so native speakers can focus review where it matters. +- Also use the relevant language authority or official dictionary for the locale (for example RAE/Fundéu, FranceTerme, Duden, TDK, Kotus/Kielitoimiston sanakirja, Språkrådet/Bokmålsordboka, Rada Języka Polskiego/PWN, the Russian and Arabic language academies, the Ukrainian Orthography, Taiwan MOE dictionaries, or the Royal Society of Thailand). Treat the English dictionary as the semantic source of truth and preserve placeholders, code identifiers, product names, and keyboard labels. + ## Tool Calling - ALWAYS USE PARALLEL TOOLS WHEN APPLICABLE. diff --git a/packages/app/e2e/AGENTS.md b/packages/app/e2e/AGENTS.md new file mode 100644 index 000000000000..e0c6c006021d --- /dev/null +++ b/packages/app/e2e/AGENTS.md @@ -0,0 +1,16 @@ +## Required Reading + +- Before writing, changing, or reviewing E2E tests, ALWAYS read and follow Playwright's official [Best Practices](https://playwright.dev/docs/best-practices), [Auto-waiting](https://playwright.dev/docs/actionability), and [Assertions](https://playwright.dev/docs/test-assertions) guides. +- Use the official [Locators](https://playwright.dev/docs/locators), [Network](https://playwright.dev/docs/network), and [Test Isolation](https://playwright.dev/docs/browser-contexts) guides when those concerns apply. + +## Test Hygiene + +- Test user-visible behavior with isolated, deterministic data and scoped, unique locators. +- Prefer role, label, text, and explicit test-contract locators. Do not use `.first()` or `.last()` merely to silence strictness errors. +- Use locator actions, Playwright auto-waiting, and web-first assertions for observable readiness and outcomes. +- NEVER use `waitForTimeout`, `setTimeout`, sleeps, animation-frame counts, or other wall-clock delays to synchronize a test. Wait for the specific UI state, request, response, event, or application outcome instead. +- Do not treat navigation, a network response, DOM attachment, or visibility alone as proof that asynchronously rendered UI is ready. Assert the state the next action actually requires. +- Register event and network waits before the action that triggers them. +- Do not retry state-changing actions. Retry idempotent readiness checks, then perform the action once and assert its outcome. +- Keep action and assertion timeouts adaptive. Do not use short timeouts as readiness probes or rely on retries to hide flakes. +- Assert exact outcomes and identities so stale state, duplicate rendering, and interactions with the wrong element cannot pass. diff --git a/packages/app/e2e/performance/timeline-stability/fixture.ts b/packages/app/e2e/performance/timeline-stability/fixture.ts index df67da5a6621..66edece4092e 100644 --- a/packages/app/e2e/performance/timeline-stability/fixture.ts +++ b/packages/app/e2e/performance/timeline-stability/fixture.ts @@ -197,7 +197,9 @@ export async function setupTimeline( ) }, async waitForPart(partID: string) { - await expect(page.locator(`[data-timeline-part-id="${partID}"]`).first()).toBeVisible() + const part = page.locator(`[data-timeline-part-id="${partID}"]`) + await expect(part).toHaveCount(1) + await expect(part).toBeVisible() }, } } diff --git a/packages/app/e2e/regression/review-line-comment.spec.ts b/packages/app/e2e/regression/review-line-comment.spec.ts index 7850f7820ac1..3e50dab65d93 100644 --- a/packages/app/e2e/regression/review-line-comment.spec.ts +++ b/packages/app/e2e/regression/review-line-comment.spec.ts @@ -18,6 +18,7 @@ test("opens the comment editor when code is clicked", async ({ page }) => { await line.click() await expect(review.getByRole("textbox")).toBeVisible() + await expect(review.locator('[data-slot="line-comment-editor-label"]')).toHaveText("Commenting on line 2") }) test("opens the comment editor when a line number is clicked", async ({ page }) => { @@ -27,6 +28,7 @@ test("opens the comment editor when a line number is clicked", async ({ page }) await lineNumber.click() await expect(review.getByRole("textbox")).toBeVisible() + await expect(review.locator('[data-slot="line-comment-editor-label"]')).toHaveText("Commenting on line 1") }) test("opens the comment editor for a line number range", async ({ page }) => { @@ -36,15 +38,10 @@ test("opens the comment editor for a line number range", async ({ page }) => { await expectAppVisible(start) await expectAppVisible(end) - const from = await start.boundingBox() - const to = await end.boundingBox() - if (!from || !to) throw new Error("Missing line number bounds") - await page.mouse.move(from.x + from.width / 2, from.y + from.height / 2) - await page.mouse.down() - await page.mouse.move(to.x + to.width / 2, to.y + to.height / 2) - await page.mouse.up() + await start.dragTo(end) await expect(review.getByRole("textbox")).toBeVisible() + await expect(review.locator('[data-slot="line-comment-editor-label"]')).toHaveText("Commenting on lines 1-3") }) test("shows a comment button when a line number is hovered", async ({ page }) => { @@ -54,31 +51,38 @@ test("shows a comment button when a line number is hovered", async ({ page }) => const comment = review.getByRole("button", { name: "Comment", exact: true }) await expect(async () => { - await page.mouse.move(0, 0) await lineNumber.hover() - await expect(comment).toBeVisible({ timeout: 500 }) - await comment.click({ timeout: 500 }) - }).toPass() + await expect(lineNumber).toHaveAttribute("data-hovered", "") + await expect(comment).toHaveCount(1) + await expect(comment).toHaveCSS("pointer-events", "auto") + await comment.focus() + await expect(comment).toBeFocused() + }).toPass({ timeout: 10_000 }) + await comment.press("Enter") await expect(review.getByRole("textbox")).toBeVisible() + await expect(review.locator('[data-slot="line-comment-editor-label"]')).toHaveText("Commenting on line 1") }) test("stages a submitted line comment in the prompt context", async ({ page }) => { - const requests: string[] = [] page.on("request", (request) => { - if (request.method() !== "GET") requests.push(`${request.method()} ${new URL(request.url()).pathname}`) + expect.soft(request.method(), `unexpected ${request.method()} ${new URL(request.url()).pathname}`).toBe("GET") }) const review = page.locator('[data-component="session-review"]') await review.getByText("export const value = 'after'", { exact: true }).click() - await review.getByRole("textbox").fill("Use the existing value instead") - await review.locator('[data-slot="line-comment-action"][data-variant="primary"]').click() + const textbox = review.getByRole("textbox") + await expect(textbox).toBeVisible() + await expect(review.locator('[data-slot="line-comment-editor-label"]')).toHaveText("Commenting on line 2") + await textbox.fill("Use the existing value instead") + const submit = review.locator('[data-slot="line-comment-action"][data-variant="primary"]') + await expect(submit).toBeEnabled() + await submit.click() await expect(review.getByText("Use the existing value instead", { exact: true })).toBeVisible() await page.getByRole("tab", { name: "Session" }).click() const context = page.getByText("Use the existing value instead", { exact: true }).last() await expect(context).toBeVisible() await expect(context.locator("..")).toContainText("review.ts:2") - expect(requests).toEqual([]) }) async function openReview(page: Page) { @@ -144,15 +148,22 @@ async function openReview(page: Page) { await page.goto(`/${base64Encode(directory)}/session/${sessionID}`) await expectSessionTitle(page, title) - const diffResponse = page.waitForResponse((response) => new URL(response.url()).pathname === "/api/vcs/diff") - await page.getByRole("tab", { name: "Changes" }).click() + const changes = page.getByRole("tab", { name: "Changes" }) + const diffResponse = page.waitForResponse( + (response) => + response.request().method() === "GET" && response.ok() && new URL(response.url()).pathname === "/api/vcs/diff", + ) + await changes.click() expect((await (await diffResponse).json()).data).toHaveLength(1) + await expect(page.getByRole("tab", { selected: true })).toHaveAccessibleName(/Files Changed/) const review = page.locator('[data-component="session-review"]') await expectAppVisible(review) - await review - .getByRole("heading", { name: /review\.ts/ }) - .getByRole("button") - .first() - .click() + const file = review.locator('[data-file="src/review.ts"]') + await expectAppVisible(file) + const trigger = file.getByRole("button", { expanded: false }) + await expect(trigger).toHaveCount(1) + await trigger.click() + await expect(file.getByRole("button", { expanded: true })).toBeVisible() + await expect(file.getByText("export const value = 'after'", { exact: true })).toBeVisible() } diff --git a/packages/app/e2e/regression/session-timeline-locale-projection.spec.ts b/packages/app/e2e/regression/session-timeline-locale-projection.spec.ts index 3901f8865e3f..d45ec0bd627b 100644 --- a/packages/app/e2e/regression/session-timeline-locale-projection.spec.ts +++ b/packages/app/e2e/regression/session-timeline-locale-projection.spec.ts @@ -2,7 +2,7 @@ import { expect, test } from "@playwright/test" import { assistantMessage, setupTimeline, toolPart, userMessage } from "../performance/timeline-stability/fixture" for (const profile of [ - { locale: "de", label: "Erkundet" }, + { locale: "de", label: "Erkundung abgeschlossen" }, { locale: "ar", label: "تم الاستكشاف" }, ] as const) { test(`projects translated context status in ${profile.locale}`, async ({ page }) => { diff --git a/packages/app/e2e/regression/session-timeline-transport.spec.ts b/packages/app/e2e/regression/session-timeline-transport.spec.ts index 778ff3a3af94..359804997876 100644 --- a/packages/app/e2e/regression/session-timeline-transport.spec.ts +++ b/packages/app/e2e/regression/session-timeline-transport.spec.ts @@ -1,9 +1,8 @@ -import { expect, test } from "@playwright/test" +import { expect, test, type Page } from "@playwright/test" import { assistantMessage, partUpdated, setupTimeline, - status, textPart, userMessage, } from "../performance/timeline-stability/fixture" @@ -17,7 +16,7 @@ test("keeps one connection open while delivering multiple events", async ({ page await timeline.waitForPart("prt_transport_first") await timeline.waitForPart("prt_transport_second") expect(first.connectionID).toBe(second.connectionID) - expect(await timeline.transport.connections()).toHaveLength(1) + await expect.poll(async () => (await timeline.transport.connections()).length).toBe(1) expect(await timeline.transport.acknowledgements()).toHaveLength(2) }) @@ -51,20 +50,28 @@ test("parses split JSON and a split multibyte code point", async ({ page }) => { }) test("delivers server heartbeat without mutating the timeline", async ({ page }) => { + const sentinelID = "prt_transport_heartbeat_sentinel" const timeline = await setupTimeline(page, { messages: [userMessage(), assistantMessage([textPart("prt_transport_steady", "steady")])], }) - const before = await page.locator("[data-timeline-row]").allTextContents() - - await timeline.transport.heartbeat() - await timeline.settle() - - expect(await page.locator("[data-timeline-row]").allTextContents()).toEqual(before) - expect(await timeline.transport.connections()).toHaveLength(1) + await timeline.waitForPart("prt_transport_steady") + const before = await stableTimelineRows(page) + + await timeline.transport.writeRaw(": heartbeat\n\n") + await timeline.transport.send(partUpdated(textPart(sentinelID, "heartbeat processed"))) + await timeline.waitForPart(sentinelID) + + await expect + .poll(async () => { + const rows = await timelineRows(page) + return rows.filter((row) => before.some((item) => item.key === row.key)) + }) + .toEqual(before) + await expect.poll(async () => (await timeline.transport.connections()).length).toBe(1) }) test("reconnects after a clean close", async ({ page }) => { - const timeline = await setupTimeline(page, { eventRetry: 10 }) + const timeline = await setupTimeline(page) const first = await timeline.transport.waitForConnection() await timeline.transport.close() @@ -77,20 +84,21 @@ test("reconnects after a clean close", async ({ page }) => { }) test("reconnects after a stream error", async ({ page }) => { - const timeline = await setupTimeline(page, { eventRetry: 10 }) + const timeline = await setupTimeline(page) const first = await timeline.transport.waitForConnection() await timeline.transport.error("contract failure") const second = await timeline.transport.waitForConnection({ after: first.id }) - await timeline.transport.send(status("busy")) + await timeline.transport.send(partUpdated(textPart("prt_transport_error", "after error"))) + await timeline.waitForPart("prt_transport_error") await expect.poll(async () => (await timeline.transport.connections()).length).toBe(2) expect(second.id).toBeGreaterThan(first.id) expect((await timeline.transport.connections())[0]?.endedBy).toBe("error") }) test("does not request replay when reconnecting the volatile V2 event stream", async ({ page }) => { - const timeline = await setupTimeline(page, { eventRetry: 10, protocol: "v2" }) + const timeline = await setupTimeline(page, { protocol: "v2" }) const first = await timeline.transport.send(partUpdated(textPart("prt_transport_id", "event with id")), { id: "timeline-event-7", }) @@ -112,5 +120,35 @@ test("passes through non-event fetches", async ({ page }) => { }) expect(health).toEqual({ healthy: true }) - expect(await timeline.transport.connections()).toHaveLength(1) + await expect.poll(async () => (await timeline.transport.connections()).length).toBe(1) }) + +async function stableTimelineRows(page: Page) { + let previous: Awaited> | undefined + let stable = 0 + await expect + .poll( + async () => { + const next = await timelineRows(page) + stable = JSON.stringify(next) === JSON.stringify(previous) ? stable + 1 : 0 + previous = next + return stable + }, + { intervals: [50, 50, 100] }, + ) + .toBeGreaterThanOrEqual(2) + return previous! +} + +function timelineRows(page: Page) { + return page.locator("[data-timeline-key]").evaluateAll((elements) => + elements.map((element) => ({ + key: element.getAttribute("data-timeline-key"), + row: element.querySelector("[data-timeline-row]")?.getAttribute("data-timeline-row"), + parts: Array.from(element.querySelectorAll("[data-timeline-part-id]"), (part) => + part.getAttribute("data-timeline-part-id"), + ), + text: element.textContent, + })), + ) +} diff --git a/packages/app/e2e/utils/sse-transport.ts b/packages/app/e2e/utils/sse-transport.ts index b0e3b74c6d9a..a0a20a2e17f2 100644 --- a/packages/app/e2e/utils/sse-transport.ts +++ b/packages/app/e2e/utils/sse-transport.ts @@ -247,18 +247,23 @@ export async function installSseTransport( return { server, async waitForConnection(input = {}) { - await page.waitForFunction( + const connection = await page.waitForFunction( (after) => { const transport = (window as BrowserTransport).__testSseTransport const connections = transport?.command({ type: "connections" }) as SseConnectionRecord[] | undefined - return connections?.some((connection) => connection.id > after) + return connections?.findLast((connection) => connection.id > after && connection.endedAt === undefined) }, input.after ?? 0, { timeout: input.timeout }, ) - return (await command({ type: "connections" })).findLast( - (connection) => connection.id > (input.after ?? 0), - )! + let result: SseConnectionRecord | undefined + try { + result = await connection.jsonValue() + } finally { + await connection.dispose() + } + if (!result) throw new Error("SSE transport connection disappeared while waiting") + return result }, send(payload, eventOptions) { return command({ type: "send", deliveries: [{ payload, options: eventOptions }], burst: false }) diff --git a/packages/app/package.json b/packages/app/package.json index 2dd4a05d86aa..c378fe597ab8 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -1,11 +1,12 @@ { "name": "@opencode-ai/app", - "version": "1.18.11", + "version": "1.18.16", "description": "", "type": "module", "exports": { ".": "./src/index.ts", "./desktop-menu": "./src/desktop-menu.ts", + "./i18n/desktop-native": "./src/i18n/desktop-native.ts", "./updater": "./src/updater.ts", "./wsl/types": "./src/wsl/types.ts", "./vite": "./vite.js", diff --git a/packages/app/src/app.tsx b/packages/app/src/app.tsx index f47c432e4206..0c950871a335 100644 --- a/packages/app/src/app.tsx +++ b/packages/app/src/app.tsx @@ -3,7 +3,6 @@ import * as Sentry from "@sentry/solid" import { I18nProvider } from "@opencode-ai/ui/context" import { DialogProvider } from "@opencode-ai/ui/context/dialog" import { FileComponentProvider } from "@opencode-ai/ui/context/file" -import { MarkedProvider } from "@opencode-ai/ui/context/marked" import { File } from "@opencode-ai/session-ui/file" import { Font } from "@opencode-ai/ui/font" import { Splash } from "@opencode-ai/ui/logo" @@ -234,7 +233,13 @@ function ResolvedDraftRoute(props: { draft: DraftTab }) { function UiI18nBridge(props: ParentProps) { const language = useLanguage() - return {props.children} + return ( + + {props.children} + + ) } function LayoutCompatibility(props: ParentProps) { @@ -327,7 +332,7 @@ function DesktopCommands() { if (platform.platform === "desktop" && platform.exportDebugLogs) { commands.push({ id: "logs.export", - title: "Export logs", + title: language.t("command.logs.export"), category: language.t("command.category.settings"), onSelect: () => { void platform.exportDebugLogs?.() @@ -385,7 +390,12 @@ function DraftProviders(props: ParentProps) { ) } -export function AppBaseProviders(props: ParentProps<{ locale?: Locale }>) { +export function AppBaseProviders( + props: ParentProps<{ + locale?: Locale + onNativeTranslations?: Parameters[0]["onNativeTranslations"] + }>, +) { return ( @@ -394,7 +404,7 @@ export function AppBaseProviders(props: ParentProps<{ locale?: Locale }>) { void window.api?.setTitlebar?.({ mode, scheme }) }} > - + { @@ -405,9 +415,7 @@ export function AppBaseProviders(props: ParentProps<{ locale?: Locale }>) { - - {props.children} - + {props.children} diff --git a/packages/app/src/components/debug-bar.tsx b/packages/app/src/components/debug-bar.tsx index adadeda3035e..9465374cbb06 100644 --- a/packages/app/src/components/debug-bar.tsx +++ b/packages/app/src/components/debug-bar.tsx @@ -60,7 +60,7 @@ function Cell(props: { label: string tip: string value: string - wide?: boolean + span?: 2 | 3 }) { const content = () => (
void }) { +function ToggleCell(props: { + active: boolean + inline?: boolean + label: string + onClick: () => void + tip: string + value: string +}) { const content = () => ( ) if (props.inline) { return ( - + {content()} ) } return ( - + {content()} ) @@ -475,7 +479,7 @@ export function DebugBar(props: { inline?: boolean } = {}) { "gap-[9px]": !!props.inline, "gap-px": !props.inline, "flex w-full flex-nowrap items-center justify-start": !!props.inline, - "grid-cols-5": !props.inline, + "grid-cols-4": !props.inline, grid: !props.inline, }} > @@ -557,10 +561,25 @@ export function DebugBar(props: { inline?: boolean } = {}) { bad={bad(heap(), 0.8)} dim={state.heap.used === undefined} inline={props.inline} - wide={!platform.setForceFocus} + span={platform.setForceFocus ? 2 : 3} + /> + language.setDirection(language.direction() === "rtl" ? "ltr" : "rtl")} /> {platform.setForceFocus && ( - void toggleFocus()} /> + void toggleFocus()} + /> )}
diff --git a/packages/app/src/components/dialog-connect-provider.tsx b/packages/app/src/components/dialog-connect-provider.tsx index 0267b4b4efce..aa1f519984bb 100644 --- a/packages/app/src/components/dialog-connect-provider.tsx +++ b/packages/app/src/components/dialog-connect-provider.tsx @@ -509,7 +509,12 @@ function ProviderConnection(props: { const hint = suffix?.[1] return { label: suffix ? label.slice(0, -suffix[0].length) : label, - hint: hint ? hint[0].toUpperCase() + hint.slice(1) : value?.type === "key" ? "Browser" : undefined, + hint: + hint?.toLowerCase() === "headless" + ? language.t("provider.connect.method.headless") + : hint?.toLowerCase() === "browser" || (!hint && value?.type === "key") + ? language.t("provider.connect.method.browser") + : undefined, } } diff --git a/packages/app/src/components/dialog-custom-provider.tsx b/packages/app/src/components/dialog-custom-provider.tsx index e34e4c39b8a5..e3c11c335ed5 100644 --- a/packages/app/src/components/dialog-custom-provider.tsx +++ b/packages/app/src/components/dialog-custom-provider.tsx @@ -131,7 +131,7 @@ export function CustomProviderForm(props: { autofocus?: boolean } = {}) { const saveMutation = useMutation(() => ({ mutationFn: async (result: NonNullable>) => { - if ((await serverSDK().protocol) !== "v1") throw new Error("Custom providers are unavailable on this server") + if ((await serverSDK().protocol) !== "v1") throw new Error(language.t("provider.custom.unavailable")) const disabledProviders = serverSync().data.config.disabled_providers ?? [] const nextDisabled = disabledProviders.filter((id) => id !== result.providerID) diff --git a/packages/app/src/components/dialog-usage-exceeded.tsx b/packages/app/src/components/dialog-usage-exceeded.tsx index bf5da751e225..de6451a63b6a 100644 --- a/packages/app/src/components/dialog-usage-exceeded.tsx +++ b/packages/app/src/components/dialog-usage-exceeded.tsx @@ -1,4 +1,5 @@ import { usePlatform } from "@/context/platform" +import { useLanguage } from "@/context/language" import { Button } from "@opencode-ai/ui/button" import { useDialog } from "@opencode-ai/ui/context/dialog" import { Dialog } from "@opencode-ai/ui/dialog" @@ -14,6 +15,7 @@ export type DialogGoUpsellProps = { export function DialogUsageExceeded(props: DialogGoUpsellProps) { const dialog = useDialog() + const language = useLanguage() const platform = usePlatform() const runAction = () => { @@ -32,7 +34,7 @@ export function DialogUsageExceeded(props: DialogGoUpsellProps) {
@@ -75,7 +79,10 @@ export function TabsInfoPopup() { style={ windows() ? { - inset: "0 0 0 auto", + top: "0", + bottom: "0", + "inset-inline-end": "0", + "inset-inline-start": "auto", "max-height": "100vh", "max-width": "100vw", "border-radius": "0", @@ -89,9 +96,9 @@ export function TabsInfoPopup() { type="button" size="small" variant="neutral" - aria-label="Close" + aria-label={language.t("common.close")} icon={} - class="absolute top-[10px] left-[-36px]" + class="absolute top-[10px] start-[-36px]" />

- July 14 + {language.t("help.tabs.date")}

} />

- Introducing Tabs + {language.t("help.tabs.title")}

-

OpenCode Desktop is now built around tabs.

+

{language.t("help.tabs.introduction")}

-

- Start a new session in a tab, or open an existing session from any of your projects. Open a new tab when - you're starting something new, and close it when you're done. -

-

- Keeping a few tabs open makes it easier to organize your active sessions. Rename tabs to something - memorable if you plan to keep them around. -

-

- You'll find all your sessions and projects on the new Home screen. Selecting a session opens it in a tab. -

+

{language.t("help.tabs.sessions")}

+

{language.t("help.tabs.organize")}

+

{language.t("help.tabs.home")}

-

When you reopen the app, your tabs are still open.

-

- The new design does not support Git Worktrees yet, it's coming soon. So if you'd prefer to continue using - the previous layout, you can switch between layouts in Settings. Just keep in mind that the new layout - will become permanent in a few weeks. -

+

{language.t("help.tabs.persistence")}

+

{language.t("help.tabs.worktrees")}

diff --git a/packages/app/src/components/prompt-input-v2.tsx b/packages/app/src/components/prompt-input-v2.tsx index 2d6a5e98d68d..481b7922cf36 100644 --- a/packages/app/src/components/prompt-input-v2.tsx +++ b/packages/app/src/components/prompt-input-v2.tsx @@ -137,7 +137,10 @@ export function usePromptInputV2Controller(props: PromptInputV2ControllerProps): t: (key, params) => language.t(key as Parameters[0], params as never), }), ) - const designPlaceholder = () => promptDesignPlaceholder(mode(), placeholder()) + const designPlaceholder = () => + promptDesignPlaceholder(mode(), placeholder(), (key, params) => + language.t(key as Parameters[0], params as never), + ) const historyComments = () => { const byID = new Map(comments.all().map((item) => [`${item.file}\n${item.id}`, item] as const)) @@ -344,7 +347,7 @@ export function usePromptInputV2Controller(props: PromptInputV2ControllerProps): if (item?.commentID) comments.remove(item.path, item.commentID) }, openAttachment: (attachment) => - dialog.show(() => ), + dialog.show(() => ), openContext(key) { const item = controller.contextItem(key) if (item) openComment(item, props, sync, layout, files, comments) @@ -377,6 +380,7 @@ export function usePromptInputV2Controller(props: PromptInputV2ControllerProps): }), readClipboardImage: platform.readClipboardImage, getPathForFile: platform.getPathForFile, + store: platform.draftStore?.putBlob, }, view: { placeholder: designPlaceholder, diff --git a/packages/app/src/components/prompt-input.tsx b/packages/app/src/components/prompt-input.tsx index 7923e18ee2ae..41cf7d30ca34 100644 --- a/packages/app/src/components/prompt-input.tsx +++ b/packages/app/src/components/prompt-input.tsx @@ -77,7 +77,7 @@ import { PromptPopover, type AtOption, type SlashCommand } from "./prompt-input/ import { PromptContextItems } from "./prompt-input/context-items" import { PromptImageAttachments } from "./prompt-input/image-attachments" import { PromptDragOverlay } from "./prompt-input/drag-overlay" -import { promptDesignPlaceholder, promptPlaceholder } from "./prompt-input/placeholder" +import { promptPlaceholder } from "./prompt-input/placeholder" import { createPromptInputTransientState } from "./prompt-input/transient-state" import { showToast } from "@/utils/toast" import { ImagePreview } from "@opencode-ai/ui/image-preview" @@ -1489,10 +1489,11 @@ export const PromptInput: Component = (props) => { - dialog.show(() => ) + dialog.show(() => ) } onRemove={removeAttachment} removeLabel={language.t("prompt.attachment.remove")} + fileLabel={language.t("ui.common.file")} newLayoutDesigns={false} />
((resolve) => { - const reader = new FileReader() - reader.addEventListener("error", () => resolve("")) - reader.addEventListener("load", () => { - const value = typeof reader.result === "string" ? reader.result : "" - const idx = value.indexOf(",") - if (idx === -1) { - resolve(value) - return - } - resolve(`data:${mime};base64,${value.slice(idx + 1)}`) - }) - reader.readAsDataURL(file) - }) -} - type PromptTarget = Pick["capture"]>, "current" | "cursor" | "set"> type AttachmentTarget = { prompt: PromptTarget; cursor: number | undefined } @@ -36,6 +21,7 @@ type PromptAttachmentsCoreInput = { warn?: () => void readClipboardImage?: () => Promise getPathForFile?: (file: File) => string + draftStore?: DraftStore } export type PromptAttachmentsInput = { @@ -65,16 +51,13 @@ export function createPromptAttachmentsCore(input: PromptAttachmentsCoreInput) { return false } - const url = await dataUrl(file, mime) - if (!url) return false - const attachment: ImageAttachmentPart = { type: "image", id: uuid(), filename: file.name, sourcePath: input.getPathForFile?.(file) || undefined, mime, - dataUrl: url, + blob: input.draftStore ? await input.draftStore.putBlob(file) : await createBlobReference(file), } target.prompt.set([...target.prompt.current(), attachment], target.cursor) return true @@ -166,8 +149,10 @@ export function createPromptAttachmentsCore(input: PromptAttachmentsCoreInput) { export function createPromptAttachments(input: PromptAttachmentsInput) { const language = useLanguage() + const platform = usePlatform() const attachments = createPromptAttachmentsCore({ ...input, + draftStore: platform.draftStore, capture: input.prompt.capture, warn: () => { showToast({ diff --git a/packages/app/src/components/prompt-input/build-request-parts.ts b/packages/app/src/components/prompt-input/build-request-parts.ts index 7f0fea2bfe79..a1e3448b3117 100644 --- a/packages/app/src/components/prompt-input/build-request-parts.ts +++ b/packages/app/src/components/prompt-input/build-request-parts.ts @@ -22,7 +22,7 @@ type ContextFile = { type BuildRequestPartsInput = { prompt: Prompt context: ContextFile[] - images: ImageAttachmentPart[] + images: (Omit & { dataUrl: string })[] text: string messageID: string sessionID: string diff --git a/packages/app/src/components/prompt-input/history-store.ts b/packages/app/src/components/prompt-input/history-store.ts index b64636f3c0b6..3858b8b9bc61 100644 --- a/packages/app/src/components/prompt-input/history-store.ts +++ b/packages/app/src/components/prompt-input/history-store.ts @@ -1,7 +1,13 @@ import { createStore, type SetStoreFunction, type Store } from "solid-js/store" import type { Prompt } from "@/context/prompt" import { Persist, persisted } from "@/utils/persist" -import { prependHistoryEntry, type PromptHistoryComment, type PromptHistoryStoredEntry } from "./history" +import { + clonePromptHistoryComments, + clonePromptParts, + prependHistoryEntry, + type PromptHistoryComment, + type PromptHistoryStoredEntry, +} from "./history" export type PromptInputHistory = { entries: (mode: "normal" | "shell") => PromptHistoryStoredEntry[] @@ -35,13 +41,23 @@ export function createPromptInputHistory(): PromptInputHistory { } export function createPersistedPromptInputHistory() { - const [normal, setNormal] = persisted( - Persist.global("prompt-history", ["prompt-history.v1"]), + const [normal, setNormal, normalInit] = persisted( + Persist.prompt(Persist.global("prompt-history", ["prompt-history.v1"])), createStore({ entries: [] }), ) - const [shell, setShell] = persisted( - Persist.global("prompt-history-shell", ["prompt-history-shell.v1"]), + const [shell, setShell, shellInit] = persisted( + Persist.prompt(Persist.global("prompt-history-shell", ["prompt-history-shell.v1"])), createStore({ entries: [] }), ) - return createPromptInputHistoryStore(normal, setNormal, shell, setShell) + const history = createPromptInputHistoryStore(normal, setNormal, shell, setShell) + return { + ...history, + add(prompt: Prompt, mode: "normal" | "shell", comments: PromptHistoryComment[]) { + const ready = mode === "shell" ? shellInit : normalInit + if (!(ready instanceof Promise)) return history.add(prompt, mode, comments) + const saved = clonePromptParts(prompt) + const metadata = clonePromptHistoryComments(comments) + void ready.then(() => history.add(saved, mode, metadata)) + }, + } } diff --git a/packages/app/src/components/prompt-input/history.test.ts b/packages/app/src/components/prompt-input/history.test.ts index 5e9c2c66eadc..94f24ce935ff 100644 --- a/packages/app/src/components/prompt-input/history.test.ts +++ b/packages/app/src/components/prompt-input/history.test.ts @@ -112,7 +112,7 @@ describe("prompt-input history", () => { end: 12, selection: { startLine: 1, startChar: 1, endLine: 2, endChar: 1 }, }, - { type: "image", id: "1", filename: "img.png", mime: "image/png", dataUrl: "data:image/png;base64,abc" }, + { type: "image", id: "1", filename: "img.png", mime: "image/png", blob: { id: "blob", url: "blob:test" } }, ] const copy = clonePromptParts(original) expect(copy).not.toBe(original) diff --git a/packages/app/src/components/prompt-input/image-attachments.tsx b/packages/app/src/components/prompt-input/image-attachments.tsx index 3a0cc3e4dd75..96b9147bed82 100644 --- a/packages/app/src/components/prompt-input/image-attachments.tsx +++ b/packages/app/src/components/prompt-input/image-attachments.tsx @@ -16,6 +16,7 @@ type PromptImageAttachmentsProps = { onOpen: (attachment: ImageAttachmentPart) => void onRemove: (id: string) => void removeLabel: string + fileLabel: string newLayoutDesigns: boolean comments?: PromptCommentItem[] commentActive?: (item: PromptCommentItem) => boolean @@ -94,13 +95,13 @@ export const PromptImageAttachments: Component = (p } > - {typeLabel(attachment.filename, attachment.mime)} + {typeLabel(attachment.filename, attachment.mime, props.fileLabel)} } > {attachment.filename} props.onOpen(attachment)} diff --git a/packages/app/src/components/prompt-input/placeholder.test.ts b/packages/app/src/components/prompt-input/placeholder.test.ts index d4caead0d2e4..5852e25f412e 100644 --- a/packages/app/src/components/prompt-input/placeholder.test.ts +++ b/packages/app/src/components/prompt-input/placeholder.test.ts @@ -1,5 +1,5 @@ import { describe, expect, test } from "bun:test" -import { promptPlaceholder } from "./placeholder" +import { promptDesignPlaceholder, promptPlaceholder } from "./placeholder" describe("promptPlaceholder", () => { const t = (key: string, params?: Record) => `${key}${params?.example ? `:${params.example}` : ""}` @@ -46,3 +46,18 @@ describe("promptPlaceholder", () => { expect(value).toBe("prompt.placeholder.simple") }) }) + +describe("promptDesignPlaceholder", () => { + const t = (key: string, params?: Record) => { + if (key !== "ui.promptInput.placeholder.normal") return key + return `Ask anything, ${params?.slash} for commands, ${params?.at} for context...` + } + + test("composes the design placeholder from localized fragments", () => { + expect(promptDesignPlaceholder("normal", "fallback", t)).toBe("Ask anything, / for commands, @ for context...") + }) + + test("preserves the shell placeholder", () => { + expect(promptDesignPlaceholder("shell", "Enter shell command...", t)).toBe("Enter shell command...") + }) +}) diff --git a/packages/app/src/components/prompt-input/placeholder.ts b/packages/app/src/components/prompt-input/placeholder.ts index cbb4c45b7e35..9bd4417f4982 100644 --- a/packages/app/src/components/prompt-input/placeholder.ts +++ b/packages/app/src/components/prompt-input/placeholder.ts @@ -14,7 +14,11 @@ export function promptPlaceholder(input: PromptPlaceholderInput) { return input.t("prompt.placeholder.normal", { example: input.example }) } -export function promptDesignPlaceholder(mode: PromptPlaceholderInput["mode"], placeholder: string) { +export function promptDesignPlaceholder( + mode: PromptPlaceholderInput["mode"], + placeholder: string, + t: PromptPlaceholderInput["t"], +) { if (mode === "shell") return placeholder - return "Ask anything, / for commands, @ for context..." + return t("ui.promptInput.placeholder.normal", { slash: "/", at: "@" }) } diff --git a/packages/app/src/components/prompt-input/submit.ts b/packages/app/src/components/prompt-input/submit.ts index 051bf4d06cb9..c82c3a439939 100644 --- a/packages/app/src/components/prompt-input/submit.ts +++ b/packages/app/src/components/prompt-input/submit.ts @@ -22,6 +22,7 @@ import { ScopedKey } from "@/utils/server-scope" import { createPromptSubmissionState } from "./submission-state" import { normalizeSessionInfo } from "@/utils/session" import { Event } from "@opencode-ai/schema/event" +import { blobDataUrl } from "@/utils/draft-store" type PendingPrompt = { abort: AbortController @@ -95,10 +96,12 @@ export async function sendFollowupDraft(input: FollowupSendInput) { providerID: input.draft.model.providerID, variant: input.draft.variant, }, - files: images.map((attachment) => ({ - uri: attachment.dataUrl, - name: attachment.filename, - })), + files: await Promise.all( + images.map(async (attachment) => ({ + uri: await blobDataUrl(attachment.blob, attachment.mime), + name: attachment.filename, + })), + ), }) return true } catch (err) { @@ -108,10 +111,16 @@ export async function sendFollowupDraft(input: FollowupSendInput) { } const messageID = input.messageID ?? Identifier.ascending("message") + const encodedImages = await Promise.all( + images.map(async (attachment) => ({ + ...attachment, + dataUrl: await blobDataUrl(attachment.blob, attachment.mime), + })), + ) const { requestParts, optimisticParts } = buildRequestParts({ prompt: input.draft.prompt, context: input.draft.context, - images, + images: encodedImages, text, sessionID: input.draft.sessionID, messageID, @@ -516,10 +525,12 @@ export function createPromptSubmit(input: PromptSubmitInput) { arguments: args.join(" "), agent, model: { id: model.modelID, providerID: model.providerID, variant }, - files: images.map((attachment) => ({ - uri: attachment.dataUrl, - name: attachment.filename, - })), + files: await Promise.all( + images.map(async (attachment) => ({ + uri: await blobDataUrl(attachment.blob, attachment.mime), + name: attachment.filename, + })), + ), }) .catch((err) => { serverSync().session.set("session_status", session.id, { type: "idle" }) diff --git a/packages/app/src/components/session/session-context-tab.tsx b/packages/app/src/components/session/session-context-tab.tsx index 25ad5ab230ca..a0758f3eacae 100644 --- a/packages/app/src/components/session/session-context-tab.tsx +++ b/packages/app/src/components/session/session-context-tab.tsx @@ -5,12 +5,15 @@ import { checksum } from "@opencode-ai/core/util/encode" import { findLast } from "@opencode-ai/core/util/array" import { same } from "@/utils/same" import { Icon } from "@opencode-ai/ui/icon" +import { Button } from "@opencode-ai/ui/button" import { Accordion } from "@opencode-ai/ui/accordion" import { StickyAccordionHeader } from "@opencode-ai/ui/sticky-accordion-header" import { File } from "@opencode-ai/session-ui/file" import { Markdown } from "@opencode-ai/session-ui/markdown" import { ScrollView } from "@opencode-ai/ui/scroll-view" import type { Message, Part, UserMessage } from "@opencode-ai/sdk/v2/client" +import { showToast } from "@/utils/toast" +import { downloadSessionExport, fetchSessionExport, sessionExportFilename } from "@/utils/session-export" import { useLanguage } from "@/context/language" import { useProviders } from "@/hooks/use-providers" import { useSDK } from "@/context/sdk" @@ -120,7 +123,8 @@ export function SessionContextTab() { () => { const revert = info()?.revert?.messageID if (!revert) return userMessages() - return userMessages().filter((m) => m.id < revert) + const boundary = userMessages().findIndex((message) => message.id === revert) + return boundary < 0 ? userMessages() : userMessages().slice(0, boundary) }, emptyUserMessages, { equals: same }, @@ -220,6 +224,31 @@ export function SessionContextTab() { { label: "context.stats.lastActivity", value: () => formatter().time(ctx()?.message.time.created) }, ] satisfies { label: string; value: () => JSX.Element }[] + const exportSession = async () => { + const sessionID = params.id + if (!sessionID) return + try { + const data = await fetchSessionExport({ + sessionID, + client: sdk().client, + }) + const filename = sessionExportFilename(data.info) + downloadSessionExport(filename, data) + showToast({ + variant: "success", + icon: "circle-check", + title: language.t("toast.session.export.success.title"), + description: language.t("toast.session.export.success.description", { filename }), + }) + } catch (err) { + showToast({ + variant: "error", + title: language.t("toast.session.export.failed.title"), + description: err instanceof Error ? err.message : language.t("toast.session.export.failed.description"), + }) + } + } + let scroll: HTMLDivElement | undefined let frame: number | undefined let pending: { x: number; y: number } | undefined @@ -328,7 +357,18 @@ export function SessionContextTab() {
-
{language.t("context.rawMessages.title")}
+
+
{language.t("context.rawMessages.title")}
+ +
{(message) => ( diff --git a/packages/app/src/components/settings-v2/settings-v2.css b/packages/app/src/components/settings-v2/settings-v2.css index c4d47344a26c..b73269b496df 100644 --- a/packages/app/src/components/settings-v2/settings-v2.css +++ b/packages/app/src/components/settings-v2/settings-v2.css @@ -287,7 +287,7 @@ } .settings-v2-provider-env-hint { - padding-right: 12px; + padding-inline-end: 12px; font-size: 13px; font-weight: 440; line-height: 1; @@ -311,7 +311,7 @@ line-height: 1; color: var(--v2-text-text-accent); cursor: pointer; - text-align: left; + text-align: start; } .settings-v2-providers-view-all:hover { @@ -361,13 +361,13 @@ } .settings-v2-tab-search [data-slot="text-input-v2-input"] { - padding-right: 28px; + padding-inline-end: 28px; } .settings-v2-tab-search-clear { position: absolute; top: 50%; - right: 6px; + inset-inline-end: 6px; z-index: 1; transform: translateY(-50%); } diff --git a/packages/app/src/components/terminal.tsx b/packages/app/src/components/terminal.tsx index 7d25e7c64901..0ca42b35bb1b 100644 --- a/packages/app/src/components/terminal.tsx +++ b/packages/app/src/components/terminal.tsx @@ -573,9 +573,8 @@ export const Terminal = (props: TerminalProps) => { if (!result) return if (result.response.status === 200 && result.data?.ticket) return result.data.ticket if (result.response.status === 404 || result.response.status === 405) return - if (result.response.status === 403) - throw new Error("PTY connect ticket rejected by origin or CSRF checks. Check the server CORS config.") - throw new Error(`PTY connect ticket failed with ${result.response.status}`) + if (result.response.status === 403) throw new Error(language.t("terminal.connectTicket.csrfError")) + throw new Error(language.t("terminal.connectTicket.statusError", { status: result.response.status })) } // return sdk() // .api.pty.connectToken({ @@ -742,6 +741,7 @@ export const Terminal = (props: TerminalProps) => {
{ event.preventDefault() event.stopPropagation() @@ -397,7 +399,7 @@ export function DraftTabItem(props: { class="hover-reveal relative z-10 group-hover:opacity-100 group-data-[active=true]:opacity-100 group-data-[editing=true]:opacity-100" onClick={closeTab} icon={} - aria-label="Close tab" + aria-label={language.t("common.closeTab")} />
diff --git a/packages/app/src/components/titlebar.tsx b/packages/app/src/components/titlebar.tsx index 649a8f57773c..15d963a13844 100644 --- a/packages/app/src/components/titlebar.tsx +++ b/packages/app/src/components/titlebar.tsx @@ -1,4 +1,15 @@ -import { createEffect, createMemo, createResource, createSignal, Match, onMount, Show, Switch, untrack } from "solid-js" +import { + createEffect, + createMemo, + createResource, + createSignal, + Match, + on, + onMount, + Show, + Switch, + untrack, +} from "solid-js" import { createStore } from "solid-js/store" import { useLocation, useNavigate, useParams } from "@solidjs/router" import { IconButton } from "@opencode-ai/ui/icon-button" @@ -42,8 +53,11 @@ export type TitlebarUpdate = { } export function useTitlebarRightMount() { + const language = useLanguage() const [mount, setMount] = createSignal(null) - onMount(() => setMount(document.getElementById("opencode-titlebar-right"))) + const sync = () => setMount(document.getElementById("opencode-titlebar-right")) + onMount(sync) + createEffect(on(language.direction, sync, { defer: true })) return mount } @@ -113,9 +127,9 @@ export function Titlebar(props: { update?: TitlebarUpdate; debugTools?: { visibl return { visible: version !== undefined || installing, installing, - label: "Update", + label: language.t("titlebar.update"), ariaLabel: language.t("toast.update.action.installRestart"), - title: version ? `Update ${version}` : undefined, + title: version ? language.t("titlebar.updateVersion", { version }) : undefined, onInstall: () => props.update?.install(), } }) @@ -169,7 +183,8 @@ export function Titlebar(props: { update?: TitlebarUpdate; debugTools?: { visibl "padding-left": macTrafficLights() ? `${macTrafficLightsBaseWidth / zoom()}px` : 0, width: windows() ? `env(titlebar-area-width, calc(100vw - ${windowsControlsWidth()}))` : undefined, "max-width": windows() ? `env(titlebar-area-width, calc(100vw - ${windowsControlsWidth()}))` : undefined, - "align-self": windows() ? "flex-start" : undefined, + // Native Windows caption controls remain on the physical right in both writing directions. + "margin-right": windows() ? "auto" : undefined, }} data-tauri-drag-region > @@ -515,7 +530,7 @@ export function Titlebar(props: { update?: TitlebarUpdate; debugTools?: { visibl
- Update + {props.state.label} (props: DynamicProps diff --git a/packages/app/src/components/windows-app-menu.tsx b/packages/app/src/components/windows-app-menu.tsx index e41c2a584a76..b6088c57f43e 100644 --- a/packages/app/src/components/windows-app-menu.tsx +++ b/packages/app/src/components/windows-app-menu.tsx @@ -8,6 +8,7 @@ import { Icon as IconV2 } from "@opencode-ai/ui/v2/icon" import { useCommand } from "@/context/command" import { DESKTOP_MENU, desktopMenuVisible, type DesktopMenuAction, type DesktopMenuEntry } from "@/desktop-menu" import { usePlatform } from "@/context/platform" +import { useLanguage } from "@/context/language" export function WindowsAppMenu(props: { command: ReturnType @@ -15,6 +16,7 @@ export function WindowsAppMenu(props: { variant?: "legacy" | "v2" }) { let lastFocused: HTMLElement | undefined + const language = useLanguage() const rememberFocus = () => { const active = document.activeElement @@ -58,7 +60,7 @@ export function WindowsAppMenu(props: { variant="ghost-muted" size="large" icon={} - aria-label="OpenCode menu" + aria-label={language.t("desktop.menu.ariaLabel")} onPointerDown={rememberFocus} onKeyDown={rememberFocus} /> @@ -69,7 +71,7 @@ export function WindowsAppMenu(props: { icon="menu" variant="ghost" class="titlebar-icon rounded-md shrink-0" - aria-label="OpenCode menu" + aria-label={language.t("desktop.menu.ariaLabel")} onPointerDown={rememberFocus} onKeyDown={rememberFocus} /> @@ -79,7 +81,7 @@ export function WindowsAppMenu(props: { OpenCode {DESKTOP_MENU.filter((menu) => desktopMenuVisible(menu, "windows")).map((menu) => ( - + {menu.items ?.filter((entry) => desktopMenuVisible(entry, "windows")) .map((entry) => @@ -87,7 +89,7 @@ export function WindowsAppMenu(props: { ) : ( runEntry(entry)} diff --git a/packages/app/src/constants/file-picker.ts b/packages/app/src/constants/file-picker.ts index c661bc8f36b3..1e029b551cc6 100644 --- a/packages/app/src/constants/file-picker.ts +++ b/packages/app/src/constants/file-picker.ts @@ -83,7 +83,7 @@ export const ACCEPTED_FILE_EXTENSIONS = Array.from( ), ).sort() -export function filePickerFilters(ext?: string[]) { +export function filePickerFilters(name: string, ext?: string[]) { if (!ext || ext.length === 0) return undefined - return [{ name: "Files", extensions: ext }] + return [{ name, extensions: ext }] } diff --git a/packages/app/src/context/global-sync/event-reducer.test.ts b/packages/app/src/context/global-sync/event-reducer.test.ts index b53fb691b3cf..06d536618e05 100644 --- a/packages/app/src/context/global-sync/event-reducer.test.ts +++ b/packages/app/src/context/global-sync/event-reducer.test.ts @@ -15,12 +15,12 @@ const rootSession = (input: { id: string; parentID?: string; archived?: number } }, }) as Session -const userMessage = (id: string, sessionID: string) => +const userMessage = (id: string, sessionID: string, created = 1) => ({ id, sessionID, role: "user", - time: { created: 1 }, + time: { created }, agent: "assistant", model: { providerID: "openai", modelID: "gpt" }, }) as Message @@ -370,13 +370,13 @@ describe("applyDirectoryEvent", () => { const sessionID = "ses_1" const [store, setStore] = createStore( baseState({ - message: { [sessionID]: [userMessage("msg_1", sessionID), userMessage("msg_3", sessionID)] }, - part: { msg_2: [textPart("prt_1", sessionID, "msg_2")] }, + message: { [sessionID]: [userMessage("msg_z", sessionID, 1), userMessage("msg_b", sessionID, 3)] }, + part: { msg_a: [textPart("prt_1", sessionID, "msg_a")] }, }), ) applyDirectoryEvent({ - event: { type: "message.updated", properties: { info: userMessage("msg_2", sessionID) } }, + event: { type: "message.updated", properties: { info: userMessage("msg_a", sessionID, 2) } }, store, setStore, push() {}, @@ -384,14 +384,14 @@ describe("applyDirectoryEvent", () => { loadLsp() {}, }) - expect(store.message[sessionID]?.map((x) => x.id)).toEqual(["msg_1", "msg_2", "msg_3"]) + expect(store.message[sessionID]?.map((x) => x.id)).toEqual(["msg_z", "msg_a", "msg_b"]) applyDirectoryEvent({ event: { type: "message.updated", properties: { info: { - ...userMessage("msg_2", sessionID), + ...userMessage("msg_a", sessionID, 2), role: "assistant", } as Message, }, @@ -403,10 +403,10 @@ describe("applyDirectoryEvent", () => { loadLsp() {}, }) - expect(store.message[sessionID]?.find((x) => x.id === "msg_2")?.role).toBe("assistant") + expect(store.message[sessionID]?.find((x) => x.id === "msg_a")?.role).toBe("assistant") applyDirectoryEvent({ - event: { type: "message.removed", properties: { sessionID, messageID: "msg_2" } }, + event: { type: "message.removed", properties: { sessionID, messageID: "msg_a" } }, store, setStore, push() {}, @@ -414,8 +414,8 @@ describe("applyDirectoryEvent", () => { loadLsp() {}, }) - expect(store.message[sessionID]?.map((x) => x.id)).toEqual(["msg_1", "msg_3"]) - expect(store.part.msg_2).toBeUndefined() + expect(store.message[sessionID]?.map((x) => x.id)).toEqual(["msg_z", "msg_b"]) + expect(store.part.msg_a).toBeUndefined() }) test("upserts and prunes message parts", () => { diff --git a/packages/app/src/context/global-sync/event-reducer.ts b/packages/app/src/context/global-sync/event-reducer.ts index 8f203715a6de..b84d5201cf55 100644 --- a/packages/app/src/context/global-sync/event-reducer.ts +++ b/packages/app/src/context/global-sync/event-reducer.ts @@ -15,6 +15,7 @@ import type { State, VcsCache } from "./types" import { trimSessions } from "./session-trim" import { dropSessionCaches } from "./session-cache" import { diffs as list, message as clean } from "@/utils/diffs" +import { messageKey } from "@/utils/session-message" const SKIP_PARTS = new Set(["patch", "step-start", "step-finish"]) const SESSION_CONTENT_EVENTS = new Set([ @@ -275,7 +276,7 @@ export function applyDirectoryEvent(input: { input.setStore("message", info.sessionID, [info]) break } - const result = Binary.search(messages, info.id, (m) => m.id) + const result = Binary.search(messages, messageKey(info), messageKey) if (result.found) { input.setStore("message", info.sessionID, result.index, reconcile(info)) break @@ -295,8 +296,8 @@ export function applyDirectoryEvent(input: { produce((draft) => { const messages = draft.message[props.sessionID] if (messages) { - const result = Binary.search(messages, props.messageID, (m) => m.id) - if (result.found) messages.splice(result.index, 1) + const index = messages.findIndex((message) => message.id === props.messageID) + if (index >= 0) messages.splice(index, 1) } const parts = draft.part[props.messageID] if (parts) { @@ -322,7 +323,7 @@ export function applyDirectoryEvent(input: { input.setStore("part", part.messageID, [part]) break } - const result = Binary.search(parts, part.id, (p) => p.id) + const result = Binary.search(parts, part.id, (item) => item.id) if (result.found) { input.setStore("part", part.messageID, result.index, reconcile(part)) break @@ -345,13 +346,13 @@ export function applyDirectoryEvent(input: { ) const parts = input.store.part[props.messageID] if (!parts) break - const result = Binary.search(parts, props.partID, (p) => p.id) + const result = Binary.search(parts, props.partID, (part) => part.id) if (result.found) { input.setStore( produce((draft) => { const list = draft.part[props.messageID] if (!list) return - const next = Binary.search(list, props.partID, (p) => p.id) + const next = Binary.search(list, props.partID, (part) => part.id) if (!next.found) return list.splice(next.index, 1) if (list.length === 0) delete draft.part[props.messageID] @@ -364,7 +365,7 @@ export function applyDirectoryEvent(input: { const props = event.properties as { messageID: string; partID: string; field: string; delta: string } const parts = input.store.part[props.messageID] if (!parts) break - const result = Binary.search(parts, props.partID, (p) => p.id) + const result = Binary.search(parts, props.partID, (part) => part.id) if (!result.found) break const field = props.field as keyof (typeof parts)[number] const current = parts[result.index]?.[field] diff --git a/packages/app/src/context/global-sync/utils.test.ts b/packages/app/src/context/global-sync/utils.test.ts index 69ca494992b0..5c62a8f6a07b 100644 --- a/packages/app/src/context/global-sync/utils.test.ts +++ b/packages/app/src/context/global-sync/utils.test.ts @@ -103,6 +103,7 @@ describe("normalizeProviderList", () => { ) expect(result.connected).toEqual(["openai"]) + expect(result.defaultModel).toEqual({ providerID: "openai", modelID: "gpt-5" }) expect(result.default).toEqual({ openai: "gpt-5" }) expect(result.all.get("openai")?.models["gpt-old"]).toBeUndefined() expect(result.all.get("openai")?.models["gpt-5"]).toMatchObject({ @@ -113,6 +114,10 @@ describe("normalizeProviderList", () => { variants: { high: {} }, }) }) + + test("preserves an empty current default", () => { + expect(normalizeProviderList([] as ProviderListOutput["data"], [], null).defaultModel).toBeNull() + }) }) describe("directoryKey", () => { diff --git a/packages/app/src/context/global-sync/utils.ts b/packages/app/src/context/global-sync/utils.ts index 59632e53c92e..1b2c2f4d2da4 100644 --- a/packages/app/src/context/global-sync/utils.ts +++ b/packages/app/src/context/global-sync/utils.ts @@ -139,6 +139,7 @@ export function normalizeProviderList( return { all, connected: providers.map((provider) => provider.id), + defaultModel: defaultModel ? { providerID: defaultModel.providerID, modelID: defaultModel.id } : null, default: Object.fromEntries( providers.flatMap((provider) => { const model = diff --git a/packages/app/src/context/language.tsx b/packages/app/src/context/language.tsx index 6b2eb314c850..e387391f68bf 100644 --- a/packages/app/src/context/language.tsx +++ b/packages/app/src/context/language.tsx @@ -2,100 +2,46 @@ import * as i18n from "@solid-primitives/i18n" import { createEffect, createMemo, createResource } from "solid-js" import { createStore } from "solid-js/store" import { createSimpleContext } from "@opencode-ai/ui/context" +import { pluralCategory, type UiI18nPluralKey } from "@opencode-ai/ui/context/i18n" import { Persist, persisted } from "@/utils/persist" import { dict as en } from "@/i18n/en" import { dict as uiEn } from "@opencode-ai/ui/i18n/en" - -export type Locale = - | "en" - | "zh" - | "zht" - | "ko" - | "de" - | "es" - | "fr" - | "da" - | "ja" - | "pl" - | "ru" - | "uk" - | "ar" - | "no" - | "br" - | "th" - | "bs" - | "tr" +import { + createDesktopNativeBundle, + detectDesktopNativeLocale, + DESKTOP_NATIVE_ENGLISH, + DESKTOP_NATIVE_LABELS, + DESKTOP_NATIVE_LOCALES, + DESKTOP_NATIVE_LOCALE_TAGS, + type DesktopNativeBundle, + type DesktopNativeLocale, +} from "@/i18n/desktop-native" + +export type Locale = DesktopNativeLocale +export type Direction = "ltr" | "rtl" + +const RTL_LOCALES: ReadonlySet = new Set(["ar", "ur", "pa", "fa", "dv"]) + +function localeDirection(locale: Locale): Direction { + return RTL_LOCALES.has(locale) ? "rtl" : "ltr" +} type RawDictionary = typeof en & typeof uiEn type Dictionary = i18n.Flatten +type PluralKey = + | UiI18nPluralKey + | "session.question.pending" + | "session.followupDock.summary" + | "session.revertDock.summary" type Source = { dict: Record } function cookie(locale: Locale) { return `oc_locale=${encodeURIComponent(locale)}; Path=/; Max-Age=31536000; SameSite=Lax` } -const LOCALES: readonly Locale[] = [ - "en", - "zh", - "zht", - "ko", - "de", - "es", - "fr", - "da", - "ja", - "pl", - "ru", - "uk", - "bs", - "ar", - "no", - "br", - "th", - "tr", -] - -const INTL: Record = { - en: "en", - zh: "zh-Hans", - zht: "zh-Hant", - ko: "ko", - de: "de", - es: "es", - fr: "fr", - da: "da", - ja: "ja", - pl: "pl", - ru: "ru", - uk: "uk", - ar: "ar", - no: "nb-NO", - br: "pt-BR", - th: "th", - bs: "bs", - tr: "tr", -} +const LOCALES: readonly Locale[] = DESKTOP_NATIVE_LOCALES -const LABEL_KEY: Record = { - en: "language.en", - zh: "language.zh", - zht: "language.zht", - ko: "language.ko", - de: "language.de", - es: "language.es", - fr: "language.fr", - da: "language.da", - ja: "language.ja", - pl: "language.pl", - ru: "language.ru", - uk: "language.uk", - ar: "language.ar", - no: "language.no", - br: "language.br", - th: "language.th", - bs: "language.bs", - tr: "language.tr", -} +const INTL = DESKTOP_NATIVE_LOCALE_TAGS const base = i18n.flatten({ ...en, ...uiEn }) const dicts = new Map([["en", base]]) @@ -121,6 +67,50 @@ const loaders: Record, () => Promise> = { th: () => merge(import("@/i18n/th"), import("@opencode-ai/ui/i18n/th")), bs: () => merge(import("@/i18n/bs"), import("@opencode-ai/ui/i18n/bs")), tr: () => merge(import("@/i18n/tr"), import("@opencode-ai/ui/i18n/tr")), + hi: () => merge(import("@/i18n/hi"), import("@opencode-ai/ui/i18n/hi")), + nl: () => merge(import("@/i18n/nl"), import("@opencode-ai/ui/i18n/nl")), + id: () => merge(import("@/i18n/id"), import("@opencode-ai/ui/i18n/id")), + vi: () => merge(import("@/i18n/vi"), import("@opencode-ai/ui/i18n/vi")), + it: () => merge(import("@/i18n/it"), import("@opencode-ai/ui/i18n/it")), + ur: () => merge(import("@/i18n/ur"), import("@opencode-ai/ui/i18n/ur")), + pa: () => merge(import("@/i18n/pa"), import("@opencode-ai/ui/i18n/pa")), + az: () => merge(import("@/i18n/az"), import("@opencode-ai/ui/i18n/az")), + fi: () => merge(import("@/i18n/fi"), import("@opencode-ai/ui/i18n/fi")), + sv: () => merge(import("@/i18n/sv"), import("@opencode-ai/ui/i18n/sv")), + am: () => merge(import("@/i18n/am"), import("@opencode-ai/ui/i18n/am")), + bg: () => merge(import("@/i18n/bg"), import("@opencode-ai/ui/i18n/bg")), + bn: () => merge(import("@/i18n/bn"), import("@opencode-ai/ui/i18n/bn")), + ca: () => merge(import("@/i18n/ca"), import("@opencode-ai/ui/i18n/ca")), + cs: () => merge(import("@/i18n/cs"), import("@opencode-ai/ui/i18n/cs")), + dv: () => merge(import("@/i18n/dv"), import("@opencode-ai/ui/i18n/dv")), + dz: () => merge(import("@/i18n/dz"), import("@opencode-ai/ui/i18n/dz")), + el: () => merge(import("@/i18n/el"), import("@opencode-ai/ui/i18n/el")), + et: () => merge(import("@/i18n/et"), import("@opencode-ai/ui/i18n/et")), + fa: () => merge(import("@/i18n/fa"), import("@opencode-ai/ui/i18n/fa")), + fo: () => merge(import("@/i18n/fo"), import("@opencode-ai/ui/i18n/fo")), + hr: () => merge(import("@/i18n/hr"), import("@opencode-ai/ui/i18n/hr")), + hu: () => merge(import("@/i18n/hu"), import("@opencode-ai/ui/i18n/hu")), + hy: () => merge(import("@/i18n/hy"), import("@opencode-ai/ui/i18n/hy")), + is: () => merge(import("@/i18n/is"), import("@opencode-ai/ui/i18n/is")), + ka: () => merge(import("@/i18n/ka"), import("@opencode-ai/ui/i18n/ka")), + km: () => merge(import("@/i18n/km"), import("@opencode-ai/ui/i18n/km")), + lo: () => merge(import("@/i18n/lo"), import("@opencode-ai/ui/i18n/lo")), + lt: () => merge(import("@/i18n/lt"), import("@opencode-ai/ui/i18n/lt")), + lv: () => merge(import("@/i18n/lv"), import("@opencode-ai/ui/i18n/lv")), + mk: () => merge(import("@/i18n/mk"), import("@opencode-ai/ui/i18n/mk")), + mn: () => merge(import("@/i18n/mn"), import("@opencode-ai/ui/i18n/mn")), + ms: () => merge(import("@/i18n/ms"), import("@opencode-ai/ui/i18n/ms")), + my: () => merge(import("@/i18n/my"), import("@opencode-ai/ui/i18n/my")), + ne: () => merge(import("@/i18n/ne"), import("@opencode-ai/ui/i18n/ne")), + ro: () => merge(import("@/i18n/ro"), import("@opencode-ai/ui/i18n/ro")), + si: () => merge(import("@/i18n/si"), import("@opencode-ai/ui/i18n/si")), + sk: () => merge(import("@/i18n/sk"), import("@opencode-ai/ui/i18n/sk")), + sl: () => merge(import("@/i18n/sl"), import("@opencode-ai/ui/i18n/sl")), + sq: () => merge(import("@/i18n/sq"), import("@opencode-ai/ui/i18n/sq")), + sr: () => merge(import("@/i18n/sr"), import("@opencode-ai/ui/i18n/sr")), + tg: () => merge(import("@/i18n/tg"), import("@opencode-ai/ui/i18n/tg")), + tk: () => merge(import("@/i18n/tk"), import("@opencode-ai/ui/i18n/tk")), + uz: () => merge(import("@/i18n/uz"), import("@opencode-ai/ui/i18n/uz")), } function loadDict(locale: Locale) { @@ -138,42 +128,9 @@ export function loadLocaleDict(locale: Locale) { return loadDict(locale).then(() => undefined) } -const localeMatchers: Array<{ locale: Locale; match: (language: string) => boolean }> = [ - { locale: "en", match: (language) => language.startsWith("en") }, - { locale: "zht", match: (language) => language.startsWith("zh") && language.includes("hant") }, - { locale: "zh", match: (language) => language.startsWith("zh") }, - { locale: "ko", match: (language) => language.startsWith("ko") }, - { locale: "de", match: (language) => language.startsWith("de") }, - { locale: "es", match: (language) => language.startsWith("es") }, - { locale: "fr", match: (language) => language.startsWith("fr") }, - { locale: "da", match: (language) => language.startsWith("da") }, - { locale: "ja", match: (language) => language.startsWith("ja") }, - { locale: "pl", match: (language) => language.startsWith("pl") }, - { locale: "ru", match: (language) => language.startsWith("ru") }, - { locale: "uk", match: (language) => language.startsWith("uk") }, - { locale: "ar", match: (language) => language.startsWith("ar") }, - { - locale: "no", - match: (language) => language.startsWith("no") || language.startsWith("nb") || language.startsWith("nn"), - }, - { locale: "br", match: (language) => language.startsWith("pt") }, - { locale: "th", match: (language) => language.startsWith("th") }, - { locale: "bs", match: (language) => language.startsWith("bs") }, - { locale: "tr", match: (language) => language.startsWith("tr") }, -] - function detectLocale(): Locale { if (typeof navigator !== "object") return "en" - - const languages = navigator.languages?.length ? navigator.languages : [navigator.language] - for (const language of languages) { - if (!language) continue - const normalized = language.toLowerCase() - const match = localeMatchers.find((entry) => entry.match(normalized)) - if (match) return match.locale - } - - return "en" + return detectDesktopNativeLocale(navigator.languages?.length ? navigator.languages : [navigator.language]) } export function normalizeLocale(value: string): Locale { @@ -194,12 +151,22 @@ function readStoredLocale() { } const warm = readStoredLocale() ?? detectLocale() -if (warm !== "en") void loadDict(warm) +const initialLocale = + warm === "en" + ? Promise.resolve(warm) + : loadDict(warm).then( + () => warm, + () => "en" as const, + ) + +export function loadInitialLocale() { + return initialLocale +} export const { use: useLanguage, provider: LanguageProvider } = createSimpleContext({ name: "Language", gate: false, - init: (props: { locale?: Locale }) => { + init: (props: { locale?: Locale; onNativeTranslations?: (bundle: DesktopNativeBundle) => void }) => { const initial = props.locale ?? readStoredLocale() ?? detectLocale() const [store, setStore, _, ready] = persisted( Persist.global("language", ["language.v1"]), @@ -210,6 +177,13 @@ export const { use: useLanguage, provider: LanguageProvider } = createSimpleCont const locale = createMemo(() => normalizeLocale(store.locale)) const intl = createMemo(() => INTL[locale()]) + const [layout, setLayout] = createStore({ direction: undefined as Direction | undefined }) + const direction = createMemo(() => layout.direction ?? localeDirection(locale())) + const layoutLocale = createMemo(() => { + if (!layout.direction) return intl() + // Kobalte derives menu direction from locale rather than accepting a direction override. + return layout.direction === "rtl" ? "ar" : "en" + }) const [dict] = createResource(locale, loadDict, { initialValue: dicts.get(initial) ?? base, @@ -220,24 +194,49 @@ export const { use: useLanguage, provider: LanguageProvider } = createSimpleCont params?: Record, ) => string - const label = (value: Locale) => t(LABEL_KEY[value]) + const plural = (key: PluralKey, count: number, params?: Record) => { + const category = pluralCategory(intl(), count) + const current = (dict.loading ? base : (dict() ?? base)) as Record + const candidate = `${key}.${category}` + const fallback = `${key}.other` + return i18n.resolveTemplate(current[candidate] ?? current[fallback] ?? fallback, { ...params, count }) + } + + const label = (value: Locale) => DESKTOP_NATIVE_LABELS[value] createEffect(() => { if (typeof document !== "object") return - document.documentElement.lang = locale() - document.cookie = cookie(locale()) + const value = locale() + document.documentElement.lang = intl() + document.documentElement.dir = direction() + document.cookie = cookie(value) + }) + + createEffect(() => { + if (!props.onNativeTranslations || dict.loading) return + const current = dict() + if (!current) return + props.onNativeTranslations( + createDesktopNativeBundle(locale(), (key) => current[key] ?? DESKTOP_NATIVE_ENGLISH[key]), + ) }) return { ready, locale, intl, + direction, + layoutLocale, locales: LOCALES, label, t, + plural, setLocale(next: Locale) { setStore("locale", normalizeLocale(next)) }, + setDirection(next: Direction) { + setLayout("direction", next === localeDirection(locale()) ? undefined : next) + }, } }, }) diff --git a/packages/app/src/context/local.tsx b/packages/app/src/context/local.tsx index 83db571385f2..b99ce2db9085 100644 --- a/packages/app/src/context/local.tsx +++ b/packages/app/src/context/local.tsx @@ -6,6 +6,7 @@ import { createStore } from "solid-js/store" import { useModels } from "@/context/models" import { useSettings } from "@/context/settings" import { useProviders } from "@/hooks/use-providers" +import { resolveDefaultModel } from "@/hooks/provider-catalog" import { Persist, persisted } from "@/utils/persist" import { hasCustomAgent, resolveAgent } from "./local-agent" import { cycleModelVariant, getConfiguredAgentVariant, resolveModelVariant } from "./model-variant" @@ -149,10 +150,8 @@ export const { use: useLocal, provider: LocalProvider } = createSimpleContext({ }) const configuredModel = () => { - const configured = sync().data.config.model - if (!configured) return - const [providerID, modelID] = configured.split("/") - const model = { providerID, modelID } + const model = resolveDefaultModel(providers.defaultModel(), sync().data.config.model) + if (!model) return if (validModel(model)) return model } diff --git a/packages/app/src/context/platform.tsx b/packages/app/src/context/platform.tsx index 08686361c546..0408b233ffa8 100644 --- a/packages/app/src/context/platform.tsx +++ b/packages/app/src/context/platform.tsx @@ -5,6 +5,7 @@ import type { DesktopMenuAction } from "../desktop-menu" import { ServerConnection } from "./server" import type { WslServersPlatform } from "../wsl/types" import type { UpdaterPlatform } from "../updater" +import type { DraftStore } from "@/utils/draft-store" type PickerPaths = string | string[] | null type OpenDirectoryPickerOptions = { title?: string; multiple?: boolean } @@ -64,6 +65,9 @@ type PlatformBase = { /** Storage mechanism, defaults to localStorage */ storage?: (name?: string) => SyncStorage | AsyncStorage + /** Prompt drafts, history, and their blobs. */ + draftStore?: DraftStore + /** Stable platform window identity for window-scoped persistence */ windowID?: string diff --git a/packages/app/src/context/prompt-state.ts b/packages/app/src/context/prompt-state.ts index 73196289e2f3..65f47257810d 100644 --- a/packages/app/src/context/prompt-state.ts +++ b/packages/app/src/context/prompt-state.ts @@ -5,6 +5,8 @@ import { createStore, type SetStoreFunction } from "solid-js/store" import type { FileSelection } from "@/context/file" import { Persist, persisted } from "@/utils/persist" import type { ServerScope } from "@/utils/server-scope" +import type { BlobReference } from "@/utils/draft-store" +import type { Platform } from "@/context/platform" interface PartBase { content: string @@ -37,7 +39,7 @@ export interface ImageAttachmentPart { filename: string sourcePath?: string mime: string - dataUrl: string + blob: BlobReference } export type ContentPart = TextPart | FileAttachmentPart | AgentPart | ImageAttachmentPart @@ -168,9 +170,9 @@ function createPromptActions(setStore: SetStoreFunction) { } function promptTarget(serverScope: ServerScope, scope: PromptScope) { - if ("draftID" in scope) return Persist.draft(scope.draftID, "prompt") + if ("draftID" in scope) return Persist.prompt(Persist.draft(scope.draftID, "prompt")) const legacy = `${scope.dir}/prompt${scope.id ? "/" + scope.id : ""}.v2` - return Persist.serverScoped(serverScope, scope.dir, scope.id, "prompt", [legacy]) + return Persist.prompt(Persist.serverScoped(serverScope, scope.dir, scope.id, "prompt", [legacy])) } function promptStore(initial?: InitialPrompt): PromptStore { @@ -235,17 +237,22 @@ function createPromptStateValue(store: PromptStore, setStore: SetStoreFunction

, initial?: InitialPrompt) { - const [store, setStore, _, ready] = persisted(target, createStore(promptStore(initial))) +function createPersistedPrompt(target: ReturnType, initial?: InitialPrompt, platform?: Platform) { + const [store, setStore, _, ready] = persisted(target, createStore(promptStore(initial)), platform) return { ready, ...createPromptStateValue(store, setStore) } } -export function createPromptSession(serverScope: ServerScope, scope: PromptScope, initial?: InitialPrompt) { - return createPersistedPrompt(promptTarget(serverScope, scope), initial) +export function createPromptSession( + serverScope: ServerScope, + scope: PromptScope, + initial?: InitialPrompt, + platform?: Platform, +) { + return createPersistedPrompt(promptTarget(serverScope, scope), initial, platform) } export function createDraftPromptSession(draftID: string, initial?: InitialPrompt) { - return createPersistedPrompt(Persist.draft(draftID, "prompt"), initial) + return createPersistedPrompt(Persist.prompt(Persist.draft(draftID, "prompt")), initial) } export type PromptSession = ReturnType diff --git a/packages/app/src/context/server-session.test.ts b/packages/app/src/context/server-session.test.ts index e9595e137607..2ebf5f88ef0b 100644 --- a/packages/app/src/context/server-session.test.ts +++ b/packages/app/src/context/server-session.test.ts @@ -264,6 +264,7 @@ describe("server session", () => { expect(requests).toEqual([{ sessionID: "root", limit: 20, order: "desc" }]) expect(store.data.session_message.root.map((message) => message.id)).toEqual([user.id, assistant.id]) + expect(store.data.message.root.map((message) => message.id)).toEqual([user.id, assistant.id]) }) test("extends a current page to include the user for split assistant turns", async () => { @@ -1497,7 +1498,7 @@ describe("server session", () => { await store.sync("child", { force: true }) - expect(store.data.message.child).toEqual([boundary, older]) + expect(store.data.message.child).toEqual([older, boundary]) }) test("preserves a part update for a message being loaded from history", async () => { diff --git a/packages/app/src/context/server-session.ts b/packages/app/src/context/server-session.ts index 69bec61ba2fc..c5d98682f03c 100644 --- a/packages/app/src/context/server-session.ts +++ b/packages/app/src/context/server-session.ts @@ -18,7 +18,7 @@ import { message as cleanMessage } from "@/utils/diffs" import { sessionNotFoundError } from "@/utils/server-errors" import { rootSession } from "@/utils/session-route" import { normalizeSessionInfo } from "@/utils/session" -import { normalizeSessionMessages } from "@/utils/session-message" +import { compareMessages, messageKey, normalizeSessionMessages } from "@/utils/session-message" import { dropSessionCaches, pickSessionCacheEvictions, SESSION_CACHE_LIMIT } from "./global-sync/session-cache" import { createV2SessionReducer, type V2SessionReduction } from "./server-session-v2-reducer" import type { ServerApi } from "@/utils/server" @@ -26,7 +26,6 @@ import type { ServerApi } from "@/utils/server" type MessageApi = ServerApi["message"] const cmp = (a: string, b: string) => (a < b ? -1 : a > b ? 1 : 0) -const cmpMessage = (a: Message, b: Message) => a.time.created - b.time.created || cmp(a.id, b.id) const SKIP_PARTS = new Set(["patch", "step-start", "step-finish"]) const initialMessagePageSize = 20 const historyMessagePageSize = 200 @@ -64,7 +63,7 @@ type MessagePage = { function legacyMessageSource(items: { info: Message; parts: Part[] }[]): SessionMessageInfo[] { return items .slice() - .sort((a, b) => cmp(a.info.id, b.info.id)) + .sort((a, b) => compareMessages(a.info, b.info)) .map((item) => { if (item.info.role === "user") { return { @@ -111,17 +110,16 @@ function mergeOptimisticPage(page: MessagePage, items: OptimisticItem[]) { const part = new Map(page.part.map((item) => [item.id, item.part])) const observed: { messageID: string; parts: Part[] }[] = [] for (const item of items) { - const result = Binary.search(session, item.message.id, (message) => message.id) - if (!result.found) session.splice(result.index, 0, item.message) + const result = Binary.search(session, messageKey(item.message), messageKey) + const found = result.found + if (!found) session.splice(result.index, 0, item.message) const current = part.get(item.message.id) - const confirmed = result.found - ? item.parts.filter((part) => Binary.search(current ?? [], part.id, (value) => value.id).found) - : [] - if (result.found) observed.push({ messageID: item.message.id, parts: confirmed }) + const confirmed = found ? item.parts.filter((part) => current?.some((value) => value.id === part.id)) : [] + if (found) observed.push({ messageID: item.message.id, parts: confirmed }) part.set( item.message.id, merge( - result.found ? (current ?? []) : merge(item.confirmedParts ?? [], current ?? []), + found ? (current ?? []) : merge(item.confirmedParts ?? [], current ?? []), item.parts.filter((part) => !confirmed.includes(part)), ), ) @@ -158,6 +156,7 @@ function reconcileFetched( retained?: ReadonlySet removed?: ReadonlySet preserveUnfetched?: boolean | ((item: T) => boolean) + compare?: (a: T, b: T) => number } = {}, ) { const result = new Map(fetched.map((item) => [item.id, item])) @@ -180,7 +179,8 @@ function reconcileFetched( if (!item) result.delete(id) } for (const id of options.removed ?? emptyIDs) result.delete(id) - return [...result.values()].sort((a, b) => cmp(a.id, b.id)) + const items = [...result.values()] + return options.compare ? items.sort(options.compare) : items } type ServerSessionOptions = { retry?: typeof retry; protocol?: Promise<"v1" | "v2"> } @@ -413,8 +413,7 @@ export function createServerSession( if (!load) return // A part event keeps an existing parent when the fetched page omits it without overriding fetched metadata. const messages = data.message[sessionID] - if (messages && Binary.search(messages, messageID, (message) => message.id).found) - load.retainedMessages.add(messageID) + if (messages?.some((message) => message.id === messageID)) load.retainedMessages.add(messageID) const parts = load.touchedParts.get(messageID) if (parts) { parts.add(partID) @@ -437,16 +436,14 @@ export function createServerSession( load.touchedParts.set(messageID, new Set(parts)) load.carriedDeltaParts.set(messageID, new Set(parts)) const messages = data.message[sessionID] - if (messages && Binary.search(messages, messageID, (message) => message.id).found) - load.retainedMessages.add(messageID) + if (messages?.some((message) => message.id === messageID)) load.retainedMessages.add(messageID) } for (const [messageID, parts] of load.removedParts) { const touched = load.touchedParts.get(messageID) ?? new Set() parts.forEach((partID) => touched.add(partID)) load.touchedParts.set(messageID, touched) const messages = data.message[sessionID] - if (messages && Binary.search(messages, messageID, (message) => message.id).found) - load.retainedMessages.add(messageID) + if (messages?.some((message) => message.id === messageID)) load.retainedMessages.add(messageID) } for (const [messageID, parts] of load.optimisticParts) { load.removedMessages.delete(messageID) @@ -555,7 +552,7 @@ export function createServerSession( const source = pages.flatMap((page) => page.data).toReversed() const normalized = normalizeSessionMessages(sessionID, source) return { - session: normalized.messages.sort((a, b) => cmp(a.id, b.id)), + session: normalized.messages.sort(compareMessages), part: [...normalized.parts.entries()] .map(([id, part]) => ({ id, part: part.sort((a, b) => cmp(a.id, b.id)) })) .sort((a, b) => cmp(a.id, b.id)), @@ -572,7 +569,7 @@ export function createServerSession( }) const items = (response.data ?? []).filter((item) => !!item?.info?.id) return { - session: items.map((item) => cleanMessage(item.info)).sort((a, b) => cmp(a.id, b.id)), + session: items.map((item) => cleanMessage(item.info)).sort(compareMessages), part: items.map((item) => ({ id: item.info.id, part: item.parts.filter((part) => !!part?.id).sort((a, b) => cmp(a.id, b.id)), @@ -696,7 +693,7 @@ export function createServerSession( const normalized = normalizeSessionMessages(sessionID, source) return { ...page, - session: normalized.messages.sort((a, b) => cmp(a.id, b.id)), + session: normalized.messages.sort(compareMessages), part: [...normalized.parts.entries()] .map(([id, part]) => ({ id, part: part.sort((a, b) => cmp(a.id, b.id)) })) .sort((a, b) => cmp(a.id, b.id)), @@ -713,6 +710,7 @@ export function createServerSession( retained: load?.retainedMessages, removed: load?.removedMessages, preserveUnfetched, + compare: compareMessages, }) batch(() => { if (source) setData("session_message", sessionID, reconcile(source)) @@ -754,7 +752,7 @@ export function createServerSession( try { const page = await fetchMessages(sessionID, limit, before, () => resetMessageLoad(sessionID, load)) const first = page.session.reduce( - (oldest, message) => (!oldest || cmpMessage(message, oldest) < 0 ? message : oldest), + (oldest, message) => (!oldest || compareMessages(message, oldest) < 0 ? message : oldest), undefined, ) if (generations.get(sessionID) !== active) return @@ -804,14 +802,15 @@ export function createServerSession( session: merge( page.session, parents.map((parent) => parent.message), - ), + ).sort(compareMessages), part: merge( page.part, parents.map((parent) => ({ id: parent.message.id, part: parent.parts })), ), } const preserveUnfetched = - mode === "prepend" || (!result.complete && (!first || ((message: Message) => cmpMessage(message, first) < 0))) + mode === "prepend" || + (!result.complete && (!first || ((message: Message) => compareMessages(message, first) < 0))) applyMessagePage( sessionID, result, @@ -928,7 +927,7 @@ export function createServerSession( .message({ sessionID, messageID }) .then((message) => { const current = data.session_message[sessionID] ?? [] - const messages = [...current.filter((item) => item.id !== message.id), message].sort((a, b) => cmp(a.id, b.id)) + const messages = [...current.filter((item) => item.id !== message.id), message].sort(compareMessages) projectV2({ sessionID, messages, touched: [message.id] }) }) .catch(() => {}) @@ -1051,7 +1050,7 @@ export function createServerSession( setData("message", info.sessionID, [info]) return } - const result = Binary.search(messages, info.id, (message) => message.id) + const result = Binary.search(messages, messageKey(info), messageKey) if (result.found) setData("message", info.sessionID, result.index, reconcile(info)) if (!result.found) setData("message", info.sessionID, (value = []) => { @@ -1084,8 +1083,8 @@ export function createServerSession( produce((draft) => { const messages = draft.message[props.sessionID] if (messages) { - const result = Binary.search(messages, props.messageID, (message) => message.id) - if (result.found) messages.splice(result.index, 1) + const index = messages.findIndex((message) => message.id === props.messageID) + if (index >= 0) messages.splice(index, 1) } deleteMessageParts(draft, props.messageID) }), @@ -1097,7 +1096,7 @@ export function createServerSession( if (SKIP_PARTS.has(part.type)) return const messages = data.message[part.sessionID] const load = messageLoads.get(part.sessionID) - const missing = !messages || !Binary.search(messages, part.messageID, (message) => message.id).found + const missing = !messages?.some((message) => message.id === part.messageID) // Outside a page load, accepting a part without its ordered parent event would create an unbounded orphan. if ( missing && @@ -1341,7 +1340,7 @@ export function createServerSession( if (items) items.set(input.message.id, { ...input, parts, confirmedParts: [] }) if (!items) optimistic.set(input.sessionID, new Map([[input.message.id, { ...input, parts, confirmedParts: [] }]])) - setData("message", input.sessionID, (messages = []) => merge(messages, [input.message])) + setData("message", input.sessionID, (messages = []) => merge(messages, [input.message]).sort(compareMessages)) setData( "part_text_accum_delta", produce((draft) => { diff --git a/packages/app/src/context/sync-optimistic.test.ts b/packages/app/src/context/sync-optimistic.test.ts index 94324f8a060a..d7ac9fd9641f 100644 --- a/packages/app/src/context/sync-optimistic.test.ts +++ b/packages/app/src/context/sync-optimistic.test.ts @@ -4,11 +4,11 @@ import { applyOptimisticAdd, applyOptimisticRemove, mergeOptimisticPage } from " type Text = Extract -const userMessage = (id: string, sessionID: string): Message => ({ +const userMessage = (id: string, sessionID: string, created = 1): Message => ({ id, sessionID, role: "user", - time: { created: 1 }, + time: { created }, agent: "assistant", model: { providerID: "openai", modelID: "gpt" }, }) @@ -22,21 +22,21 @@ const textPart = (id: string, sessionID: string, messageID: string): Text => ({ }) describe("sync optimistic reducers", () => { - test("applyOptimisticAdd inserts message in sorted order and stores parts", () => { + test("applyOptimisticAdd inserts by creation time", () => { const sessionID = "ses_1" const draft = { - message: { [sessionID]: [userMessage("msg_2", sessionID)] }, + message: { [sessionID]: [userMessage("msg_z", sessionID, 1)] }, part: {} as Record, } applyOptimisticAdd(draft, { sessionID, - message: userMessage("msg_1", sessionID), - parts: [textPart("prt_2", sessionID, "msg_1"), textPart("prt_1", sessionID, "msg_1")], + message: userMessage("msg_a", sessionID, 2), + parts: [textPart("prt_2", sessionID, "msg_a"), textPart("prt_1", sessionID, "msg_a")], }) - expect(draft.message[sessionID]?.map((x) => x.id)).toEqual(["msg_1", "msg_2"]) - expect(draft.part.msg_1?.map((x) => x.id)).toEqual(["prt_1", "prt_2"]) + expect(draft.message[sessionID]?.map((x) => x.id)).toEqual(["msg_z", "msg_a"]) + expect(draft.part.msg_a?.map((x) => x.id)).toEqual(["prt_1", "prt_2"]) }) test("applyOptimisticRemove removes message and part entries", () => { @@ -60,19 +60,33 @@ describe("sync optimistic reducers", () => { const sessionID = "ses_1" const page = mergeOptimisticPage( { - session: [userMessage("msg_1", sessionID)], - part: [{ id: "msg_1", part: [textPart("prt_1", sessionID, "msg_1")] }], + session: [userMessage("msg_z", sessionID, 1)], + part: [{ id: "msg_z", part: [textPart("prt_1", sessionID, "msg_z")] }], complete: true, }, - [{ message: userMessage("msg_2", sessionID), parts: [textPart("prt_2", sessionID, "msg_2")] }], + [{ message: userMessage("msg_a", sessionID, 2), parts: [textPart("prt_2", sessionID, "msg_a")] }], ) - expect(page.session.map((x) => x.id)).toEqual(["msg_1", "msg_2"]) - expect(page.part.find((x) => x.id === "msg_2")?.part.map((x) => x.id)).toEqual(["prt_2"]) + expect(page.session.map((x) => x.id)).toEqual(["msg_z", "msg_a"]) + expect(page.part.find((x) => x.id === "msg_a")?.part.map((x) => x.id)).toEqual(["prt_2"]) expect(page.confirmed).toEqual([]) expect(page.complete).toBe(true) }) + test("mergeOptimisticPage uses IDs only to break equal-time ties", () => { + const sessionID = "ses_1" + const page = mergeOptimisticPage( + { + session: [userMessage("msg_z", sessionID, 1)], + part: [], + complete: true, + }, + [{ message: userMessage("msg_a", sessionID, 1), parts: [] }], + ) + + expect(page.session.map((message) => message.id)).toEqual(["msg_a", "msg_z"]) + }) + test("mergeOptimisticPage keeps missing optimistic parts until the server has them", () => { const sessionID = "ses_1" const page = mergeOptimisticPage( diff --git a/packages/app/src/context/sync.tsx b/packages/app/src/context/sync.tsx index b90f49ffd49d..7dbf66eb7363 100644 --- a/packages/app/src/context/sync.tsx +++ b/packages/app/src/context/sync.tsx @@ -3,6 +3,7 @@ import { createMemo } from "solid-js" import { useServerSync } from "./server-sync" import { useSDK } from "./sdk" import type { Message, Part } from "@opencode-ai/sdk/v2/client" +import { messageKey } from "@/utils/session-message" const SKIP_PARTS = new Set(["patch", "step-start", "step-finish"]) @@ -67,7 +68,7 @@ export function mergeOptimisticPage(page: MessagePage, items: OptimisticItem[]) const confirmed: string[] = [] for (const item of items) { - const result = Binary.search(session, item.message.id, (message) => message.id) + const result = Binary.search(session, messageKey(item.message), messageKey) const found = result.found if (!found) session.splice(result.index, 0, item.message) @@ -92,7 +93,7 @@ export function mergeOptimisticPage(page: MessagePage, items: OptimisticItem[]) export function applyOptimisticAdd(draft: OptimisticStore, input: OptimisticAddInput) { const messages = draft.message[input.sessionID] if (messages) { - const result = Binary.search(messages, input.message.id, (m) => m.id) + const result = Binary.search(messages, messageKey(input.message), messageKey) messages.splice(result.index, 0, input.message) } else { draft.message[input.sessionID] = [input.message] @@ -103,8 +104,8 @@ export function applyOptimisticAdd(draft: OptimisticStore, input: OptimisticAddI export function applyOptimisticRemove(draft: OptimisticStore, input: OptimisticRemoveInput) { const messages = draft.message[input.sessionID] if (messages) { - const result = Binary.search(messages, input.messageID, (m) => m.id) - if (result.found) messages.splice(result.index, 1) + const index = messages.findIndex((message) => message.id === input.messageID) + if (index >= 0) messages.splice(index, 1) } delete draft.part[input.messageID] } diff --git a/packages/app/src/context/tabs.tsx b/packages/app/src/context/tabs.tsx index e4d50ac16118..b6608e868112 100644 --- a/packages/app/src/context/tabs.tsx +++ b/packages/app/src/context/tabs.tsx @@ -101,7 +101,10 @@ export const { use: useTabs, provider: TabsProvider } = createSimpleContext({ } const removeDraftPersisted = (draftID: string) => { - for (const key of draftPersistedKeys()) removePersisted(Persist.draft(draftID, key), platform) + for (const key of draftPersistedKeys()) { + const target = Persist.draft(draftID, key) + removePersisted(key === "prompt" ? Persist.prompt(target) : target, platform) + } } const removeInfo = (key: string) => { diff --git a/packages/app/src/desktop-menu.test.ts b/packages/app/src/desktop-menu.test.ts index c7e36a7cb73b..79dbe89adbd8 100644 --- a/packages/app/src/desktop-menu.test.ts +++ b/packages/app/src/desktop-menu.test.ts @@ -4,10 +4,20 @@ import { DESKTOP_MENU } from "./desktop-menu" describe("desktop menu", () => { test("exports logs through the desktop command registry", () => { const items = DESKTOP_MENU.flatMap((menu) => menu.items ?? []).filter( - (item) => item.type === "item" && item.label === "Export Logs...", + (item) => item.type === "item" && item.labelKey === "desktop.menu.exportLogs", ) expect(items).toHaveLength(2) expect(items.every((item) => item.type === "item" && item.command === "logs.export" && !item.action)).toBe(true) }) + + test("provides translated labels for role-backed entries", () => { + const windowMenu = DESKTOP_MENU.find((menu) => menu.role === "windowMenu") + const roleItems = DESKTOP_MENU.flatMap((menu) => menu.items ?? []).filter( + (item) => item.type === "item" && item.role && item.labelKey, + ) + + expect(windowMenu?.labelKey).toBe("desktop.menu.window") + expect(roleItems.length).toBeGreaterThan(0) + }) }) diff --git a/packages/app/src/desktop-menu.ts b/packages/app/src/desktop-menu.ts index d3902cd2b245..bbddbea169bb 100644 --- a/packages/app/src/desktop-menu.ts +++ b/packages/app/src/desktop-menu.ts @@ -1,3 +1,5 @@ +import type { DesktopNativeKey } from "./i18n/desktop-native" + export type DesktopMenuPlatform = "macos" | "windows" export type DesktopMenuAction = @@ -44,7 +46,7 @@ export type DesktopMenuRole = export type DesktopMenuItem = { type: "item" - label?: string + labelKey?: DesktopNativeKey command?: string action?: DesktopMenuAction role?: DesktopMenuRole @@ -63,7 +65,7 @@ export type DesktopMenuEntry = DesktopMenuItem | DesktopMenuSeparator export type DesktopMenu = { id: string - label: string + labelKey: DesktopNativeKey role?: DesktopMenuRole items?: DesktopMenuEntry[] platforms?: DesktopMenuPlatform[] @@ -72,15 +74,20 @@ export type DesktopMenu = { export const DESKTOP_MENU: DesktopMenu[] = [ { id: "app", - label: "OpenCode", + labelKey: "desktop.menu.app", platforms: ["macos"], items: [ { type: "item", role: "about" }, - { type: "item", label: "Check for Updates...", action: "app.checkForUpdates", enabled: "updater" }, - { type: "item", label: "Settings", command: "settings.open", accelerator: { macos: "Cmd+," } }, - { type: "item", label: "Reload Webview", action: "view.reload" }, - { type: "item", label: "Restart", action: "app.relaunch" }, - { type: "item", label: "Export Logs...", command: "logs.export" }, + { + type: "item", + labelKey: "desktop.menu.checkForUpdates", + action: "app.checkForUpdates", + enabled: "updater", + }, + { type: "item", labelKey: "desktop.menu.settings", command: "settings.open", accelerator: { macos: "Cmd+," } }, + { type: "item", labelKey: "desktop.menu.reloadWebview", action: "view.reload" }, + { type: "item", labelKey: "desktop.menu.restart", action: "app.relaunch" }, + { type: "item", labelKey: "desktop.menu.exportLogs", command: "logs.export" }, { type: "separator" }, { type: "item", role: "hide" }, { type: "item", role: "hideOthers" }, @@ -91,46 +98,81 @@ export const DESKTOP_MENU: DesktopMenu[] = [ }, { id: "file", - label: "File", + labelKey: "desktop.menu.file", items: [ { type: "item", - label: "New Session", + labelKey: "desktop.menu.newSession", command: "session.new", accelerator: { macos: "Shift+Cmd+S" }, }, - { type: "item", label: "Open Project...", command: "project.open", accelerator: { macos: "Cmd+O" } }, { type: "item", - label: "Settings", + labelKey: "desktop.menu.openProject", + command: "project.open", + accelerator: { macos: "Cmd+O" }, + }, + { + type: "item", + labelKey: "desktop.menu.settings", command: "settings.open", accelerator: { windows: "Ctrl+," }, platforms: ["windows"], }, { type: "item", - label: "New Window", + labelKey: "desktop.menu.newWindow", action: "window.new", accelerator: { macos: "Cmd+Shift+N", windows: "Ctrl+Shift+N" }, }, { type: "separator" }, - { type: "item", label: "Close Window", action: "window.close", role: "close" }, + { type: "item", labelKey: "desktop.menu.closeWindow", action: "window.close", role: "close" }, ], }, { id: "edit", - label: "Edit", + labelKey: "desktop.menu.edit", items: [ - { type: "item", label: "Undo", action: "edit.undo", role: "undo", accelerator: { windows: "Ctrl+Z" } }, - { type: "item", label: "Redo", action: "edit.redo", role: "redo", accelerator: { windows: "Ctrl+Y" } }, + { + type: "item", + labelKey: "desktop.menu.undo", + action: "edit.undo", + role: "undo", + accelerator: { windows: "Ctrl+Z" }, + }, + { + type: "item", + labelKey: "desktop.menu.redo", + action: "edit.redo", + role: "redo", + accelerator: { windows: "Ctrl+Y" }, + }, { type: "separator" }, - { type: "item", label: "Cut", action: "edit.cut", role: "cut", accelerator: { windows: "Ctrl+X" } }, - { type: "item", label: "Copy", action: "edit.copy", role: "copy", accelerator: { windows: "Ctrl+C" } }, - { type: "item", label: "Paste", action: "edit.paste", role: "paste", accelerator: { windows: "Ctrl+V" } }, - { type: "item", label: "Delete", action: "edit.delete" }, { type: "item", - label: "Select All", + labelKey: "desktop.menu.cut", + action: "edit.cut", + role: "cut", + accelerator: { windows: "Ctrl+X" }, + }, + { + type: "item", + labelKey: "desktop.menu.copy", + action: "edit.copy", + role: "copy", + accelerator: { windows: "Ctrl+C" }, + }, + { + type: "item", + labelKey: "desktop.menu.paste", + action: "edit.paste", + role: "paste", + accelerator: { windows: "Ctrl+V" }, + }, + { type: "item", labelKey: "desktop.menu.delete", action: "edit.delete" }, + { + type: "item", + labelKey: "desktop.menu.selectAll", action: "edit.selectAll", role: "selectAll", accelerator: { windows: "Ctrl+A" }, @@ -139,47 +181,84 @@ export const DESKTOP_MENU: DesktopMenu[] = [ }, { id: "view", - label: "View", + labelKey: "desktop.menu.view", items: [ - { type: "item", label: "Toggle Sidebar", command: "sidebar.toggle" }, - { type: "item", label: "Toggle Terminal", command: "terminal.toggle", accelerator: { macos: "Ctrl+`" } }, - { type: "item", label: "Toggle File Tree", command: "fileTree.toggle" }, + { type: "item", labelKey: "desktop.menu.toggleSidebar", command: "sidebar.toggle" }, + { + type: "item", + labelKey: "desktop.menu.toggleTerminal", + command: "terminal.toggle", + accelerator: { macos: "Ctrl+`" }, + }, + { type: "item", labelKey: "desktop.menu.toggleFileTree", command: "fileTree.toggle" }, { type: "separator" }, - { type: "item", label: "Reload", action: "view.reload", role: "reload" }, - { type: "item", label: "Toggle Developer Tools", action: "view.toggleDevTools", role: "toggleDevTools" }, + { type: "item", labelKey: "desktop.menu.reload", action: "view.reload", role: "reload" }, + { + type: "item", + labelKey: "desktop.menu.toggleDeveloperTools", + action: "view.toggleDevTools", + role: "toggleDevTools", + }, { type: "separator" }, { type: "item", - label: "Actual Size", + labelKey: "desktop.menu.actualSize", action: "view.resetZoom", role: "resetZoom", accelerator: { windows: "Ctrl+0" }, }, - { type: "item", label: "Zoom In", action: "view.zoomIn", role: "zoomIn", accelerator: { windows: "Ctrl++" } }, - { type: "item", label: "Zoom Out", action: "view.zoomOut", role: "zoomOut", accelerator: { windows: "Ctrl+-" } }, + { + type: "item", + labelKey: "desktop.menu.zoomIn", + action: "view.zoomIn", + role: "zoomIn", + accelerator: { windows: "Ctrl++" }, + }, + { + type: "item", + labelKey: "desktop.menu.zoomOut", + action: "view.zoomOut", + role: "zoomOut", + accelerator: { windows: "Ctrl+-" }, + }, { type: "separator" }, - { type: "item", label: "Toggle Full Screen", action: "view.toggleFullscreen", role: "togglefullscreen" }, + { + type: "item", + labelKey: "desktop.menu.toggleFullScreen", + action: "view.toggleFullscreen", + role: "togglefullscreen", + }, ], }, { id: "go", - label: "Go", + labelKey: "desktop.menu.go", items: [ - { type: "item", label: "Back", command: "common.goBack", accelerator: { macos: "Cmd+[" } }, - { type: "item", label: "Forward", command: "common.goForward", accelerator: { macos: "Cmd+]" } }, + { type: "item", labelKey: "desktop.menu.back", command: "common.goBack", accelerator: { macos: "Cmd+[" } }, + { type: "item", labelKey: "desktop.menu.forward", command: "common.goForward", accelerator: { macos: "Cmd+]" } }, { type: "separator" }, - { type: "item", label: "Previous Session", command: "session.previous", accelerator: { macos: "Option+Up" } }, - { type: "item", label: "Next Session", command: "session.next", accelerator: { macos: "Option+Down" } }, + { + type: "item", + labelKey: "desktop.menu.previousSession", + command: "session.previous", + accelerator: { macos: "Option+Up" }, + }, + { + type: "item", + labelKey: "desktop.menu.nextSession", + command: "session.next", + accelerator: { macos: "Option+Down" }, + }, { type: "separator" }, { type: "item", - label: "Previous Project", + labelKey: "desktop.menu.previousProject", command: "project.previous", accelerator: { macos: "Cmd+Option+Up" }, }, { type: "item", - label: "Next Project", + labelKey: "desktop.menu.nextProject", command: "project.next", accelerator: { macos: "Cmd+Option+Down" }, }, @@ -187,31 +266,31 @@ export const DESKTOP_MENU: DesktopMenu[] = [ }, { id: "window", - label: "Window", + labelKey: "desktop.menu.window", role: "windowMenu", items: [ - { type: "item", label: "Minimize", action: "window.minimize" }, - { type: "item", label: "Maximize", action: "window.toggleMaximize" }, + { type: "item", labelKey: "desktop.menu.minimize", action: "window.minimize" }, + { type: "item", labelKey: "desktop.menu.maximize", action: "window.toggleMaximize" }, { type: "separator" }, - { type: "item", label: "Close Window", action: "window.close" }, + { type: "item", labelKey: "desktop.menu.closeWindow", action: "window.close" }, ], }, { id: "help", - label: "Help", + labelKey: "desktop.menu.help", items: [ - { type: "item", label: "OpenCode Documentation", href: "https://opencode.ai/docs" }, - { type: "item", label: "Support Forum", href: "https://discord.com/invite/opencode" }, - { type: "item", label: "Export Logs...", command: "logs.export" }, + { type: "item", labelKey: "desktop.menu.documentation", href: "https://opencode.ai/docs" }, + { type: "item", labelKey: "desktop.menu.supportForum", href: "https://discord.com/invite/opencode" }, + { type: "item", labelKey: "desktop.menu.exportLogs", command: "logs.export" }, { type: "separator" }, { type: "item", - label: "Share Feedback", + labelKey: "desktop.menu.shareFeedback", href: "https://github.com/anomalyco/opencode/issues/new?template=feature_request.yml", }, { type: "item", - label: "Report a Bug", + labelKey: "desktop.menu.reportBug", href: "https://github.com/anomalyco/opencode/issues/new?template=bug_report.yml", }, ], diff --git a/packages/app/src/entry.tsx b/packages/app/src/entry.tsx index 6823d1c6d729..6e5f63fd4e95 100644 --- a/packages/app/src/entry.tsx +++ b/packages/app/src/entry.tsx @@ -3,7 +3,9 @@ import * as Sentry from "@sentry/solid" import { render } from "solid-js/web" import { AppBaseProviders, AppInterface } from "@/app" +import { loadInitialLocale } from "@/context/language" import { type Platform, PlatformProvider } from "@/context/platform" +import { createBrowserDraftStore } from "@/utils/draft-store" import { dict as en } from "@/i18n/en" import { dict as zh } from "@/i18n/zh" import { authFromToken } from "@/utils/server" @@ -116,6 +118,7 @@ const clearAuthToken = () => { const platform: Platform = { platform: "web", + draftStore: createBrowserDraftStore(), version: pkg.version, openExternal, restart, @@ -147,29 +150,31 @@ if (import.meta.env.VITE_SENTRY_DSN) { } if (root instanceof HTMLElement) { - const auth = authFromToken(new URLSearchParams(location.search).get("auth_token")) - clearAuthToken() - const server: ServerConnection.Http = { - type: "http", - authToken: !!auth, - http: { - url: getCurrentUrl(), - ...auth, - }, - } - render( - () => ( - - - - - - ), - root, - ) + void loadInitialLocale().then((locale) => { + const auth = authFromToken(new URLSearchParams(location.search).get("auth_token")) + clearAuthToken() + const server: ServerConnection.Http = { + type: "http", + authToken: !!auth, + http: { + url: getCurrentUrl(), + ...auth, + }, + } + render( + () => ( + + + + + + ), + root, + ) + }) } diff --git a/packages/app/src/hooks/provider-catalog.test.ts b/packages/app/src/hooks/provider-catalog.test.ts index 04fbe5ab66e1..99e3884ab883 100644 --- a/packages/app/src/hooks/provider-catalog.test.ts +++ b/packages/app/src/hooks/provider-catalog.test.ts @@ -1,6 +1,6 @@ import { expect, test } from "bun:test" import type { NormalizedProviderListResponse } from "@opencode-ai/session-ui/context" -import { selectProviderCatalog } from "./provider-catalog" +import { resolveDefaultModel, selectProviderCatalog } from "./provider-catalog" const catalog = (id: string): NormalizedProviderListResponse => ({ all: new Map([[id, { id, name: id, source: "api", env: [], options: {}, models: {} }]]), @@ -57,3 +57,21 @@ test("falls back to the global catalog for route consumers", () => { }), ).toBe(global) }) + +test("uses the current server default model", () => { + expect(resolveDefaultModel({ providerID: "openai", modelID: "gpt-5" }, "anthropic/claude")).toEqual({ + providerID: "openai", + modelID: "gpt-5", + }) +}) + +test("does not use legacy config when the current server has no default", () => { + expect(resolveDefaultModel(null, "anthropic/claude")).toBeUndefined() +}) + +test("uses config for legacy servers", () => { + expect(resolveDefaultModel(undefined, "anthropic/claude")).toEqual({ + providerID: "anthropic", + modelID: "claude", + }) +}) diff --git a/packages/app/src/hooks/provider-catalog.ts b/packages/app/src/hooks/provider-catalog.ts index 01b966eda634..d02b84c6334d 100644 --- a/packages/app/src/hooks/provider-catalog.ts +++ b/packages/app/src/hooks/provider-catalog.ts @@ -25,3 +25,13 @@ export function selectProviderCatalog(input: ProviderCatalogInput) { if (input.explicit) return emptyProviderCatalog return input.global } + +export function resolveDefaultModel( + current: NormalizedProviderListResponse["defaultModel"], + legacy: string | undefined, +) { + if (current !== undefined) return current ?? undefined + if (!legacy) return undefined + const [providerID, modelID] = legacy.split("/") + return { providerID, modelID } +} diff --git a/packages/app/src/hooks/use-providers.ts b/packages/app/src/hooks/use-providers.ts index 60ad01c86743..7a7774b62e95 100644 --- a/packages/app/src/hooks/use-providers.ts +++ b/packages/app/src/hooks/use-providers.ts @@ -41,6 +41,7 @@ export function useProviders(directory: Accessor) { return { all: () => providers().all, default: () => providers().default, + defaultModel: () => providers().defaultModel, popular: () => pipe( providers().all, diff --git a/packages/app/src/i18n/am.ts b/packages/app/src/i18n/am.ts new file mode 100644 index 000000000000..bda48350e532 --- /dev/null +++ b/packages/app/src/i18n/am.ts @@ -0,0 +1,1130 @@ +export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "ፋይል", + "desktop.menu.edit": "አርትዕ", + "desktop.menu.view": "እይታ", + "desktop.menu.go": "ሂድ", + "desktop.menu.window": "መስኮት", + "desktop.menu.help": "እገዛ", + "desktop.menu.checkForUpdates": "ዝማኔዎችን ይመልከቱ...", + "desktop.menu.settings": "ቅንጅቶች", + "desktop.menu.reloadWebview": "ዳግም ጫን Webview", + "desktop.menu.restart": "ዳግም አስጀምር", + "desktop.menu.exportLogs": "የመላክ ምዝግብ ማስታወሻዎች...", + "desktop.menu.newSession": "አዲስ ክፍለ ጊዜ", + "desktop.menu.openProject": "ክፍት ፕሮጀክት...", + "desktop.menu.newWindow": "አዲስ መስኮት", + "desktop.menu.closeWindow": "መስኮትን ዝጋ", + "desktop.menu.undo": "ቀልብስ", + "desktop.menu.redo": "ድገም", + "desktop.menu.cut": "የተቆረጠ", + "desktop.menu.copy": "ኮፒ", + "desktop.menu.paste": "ለጥፍ", + "desktop.menu.delete": "ሰርዝ", + "desktop.menu.selectAll": "ሁሉንም ምረጥ", + "desktop.menu.toggleSidebar": "የጎን አሞሌን ቀይር", + "desktop.menu.toggleTerminal": "መቀያየር ተርሚናል", + "desktop.menu.toggleFileTree": "ፋይል ዛፍን ቀይር", + "desktop.menu.reload": "ዳግም ጫን", + "desktop.menu.toggleDeveloperTools": "የገንቢ መሣሪያዎችን ቀይር", + "desktop.menu.actualSize": "ትክክለኛው መጠን", + "desktop.menu.zoomIn": "አጉላ", + "desktop.menu.zoomOut": "አጉላ", + "desktop.menu.toggleFullScreen": "ሙሉ ስክሪን ቀይር", + "desktop.menu.back": "ተመለስ", + "desktop.menu.forward": "ወደፊት", + "desktop.menu.previousSession": "የቀድሞው ክፍለ ጊዜ", + "desktop.menu.nextSession": "ቀጣይ ክፍለ ጊዜ", + "desktop.menu.previousProject": "የቀድሞው ፕሮጀክት", + "desktop.menu.nextProject": "ቀጣይ ፕሮጀክት", + "desktop.menu.minimize": "አሳንስ", + "desktop.menu.maximize": "ከፍተኛ", + "desktop.menu.documentation": "የOpenCode ሰነድ", + "desktop.menu.supportForum": "የድጋፍ መድረክ", + "desktop.menu.shareFeedback": "አጋራ ግብረመልስ", + "desktop.menu.reportBug": "ስህተትን ሪፖርት አድርግ", + "desktop.menu.ariaLabel": "OpenCodeምናሌ", + "desktop.updater.dialog.checkFailed.message": "የዝማኔ ማረጋገጫ አልተሳካም።", + "desktop.updater.dialog.checkFailed.title": "ስህተት ማዘመን", + "desktop.updater.dialog.upToDate.message": "ወቅታዊ ነዎት።", + "desktop.updater.dialog.upToDate.title": "ምንም ማሻሻያ የለም", + "desktop.updater.dialog.ready.message": "ዝማኔ {{version}} ወርዷል። አሁን እንደገና ይጀመር?", + "desktop.updater.dialog.ready.title": "አዘምን ዝግጁ", + "desktop.updater.dialog.restart": "ዳግም አስጀምር", + "desktop.updater.dialog.later": "በኋላ", + "desktop.recovery.action.relaunch": "ዳግም አስጀምር", + "desktop.recovery.action.exportLogs": "የመላክ ምዝግብ ማስታወሻዎች", + "desktop.recovery.action.keepWaiting": "መጠበቅዎን ይቀጥሉ", + "desktop.recovery.action.quit": "አቁም", + "desktop.recovery.loadFailed": "OpenCode መጫን አልቻለም", + "desktop.recovery.terminated": "OpenCode መስኮት በድንገት ተቋርጧል", + "desktop.recovery.unresponsive": "OpenCode ምላሽ እየሰጠ አይደለም", + "desktop.recovery.unresponsive.detail": "መተግበሪያውን እንደገና ማስጀመር፣ መዝገቦችን መክፈት ወይም መጠበቅ ትችላለህ።", + "desktop.recovery.loadFailed.detail": "መስኮት፡ {{window}}\nURL፡ {{url}}\nስህተት፡ {{code}} {{description}}", + "desktop.recovery.terminated.detail": "መስኮት፡ {{window}}\nምክንያት፡ {{reason}}\nኮድ፡ {{code}}", + "desktop.recovery.unknown": "", + "desktop.dialog.chooseFolder": "አቃፊ ምረጥ", + "desktop.dialog.chooseFile": "ፋይል ምረጥ", + "desktop.dialog.saveFile": "ፋይሉን አስቀምጥ", + "desktop.dialog.files": "ፋይሎች", + "desktop.server.local": "አካባቢያዊ አገልጋይ", + "desktop.wsl.error.windowsOnly": "WSL የሚገኘው በWindows", + "desktop.wsl.error.unavailable": "WSL አይገኝም", + "desktop.wsl.error.listInstalled": "የተጫኑትን WSL distros መዘርዘር አልተሳካም", + "desktop.wsl.error.listOnline": "ኦንላይን WSL distros መዘርዘር አልተሳካም", + "desktop.wsl.error.executeDistro": "በዲስትሮ ውስጥ ትዕዛዞችን ማስፈጸም አይቻልም", + "desktop.wsl.error.installWsl": "WSLመጫኑ አልተሳካም", + "desktop.wsl.error.installDistro": "distroን መጫን አልተቻለም፡ {{distro}}", + "desktop.wsl.error.installOpencode": "OpenCodeመጫኑ አልተሳካም", + "desktop.wsl.error.alreadyAdded": "{{distro}} አስቀድሞ ታክሏል", + "desktop.wsl.error.opencodeMissing": "ክፍት ኮድ በዚህ ዲስትሪ ውስጥ አልተጫነም", + "desktop.wsl.error.opencodeCannotRun": "ክፍት ኮድ ተጭኗል ግን ማሄድ አልቻለም", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode በ{{distro}}] ውስጥ አልተጫነም", + "desktop.wsl.error.updateVersion": + "OpenCode ዝማኔ አልቋል ግን {{distro}} አሁንም ሪፖርት ያደርጋል {{installed}}; የሚጠበቀው {{expected}}", + "desktop.wsl.error.noVersion": "ምንም ስሪት የለም", + "desktop.wsl.error.serverExited": "WSL አገልጋይ ከተጀመረ በኋላ ወጥቷል (code={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL አገልጋይ ጤናማ ከመሆኑ በፊት ወጥቷል (code={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": "Sidecar for {{distro}} የጤና ፍተሻ ጊዜው አልፎበታል ከ{{timeout}}ሚሴ በኋላ", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} ጊዜው አልፎበታል ከ{{timeout}}ሚሴ በኋላ", + "desktop.wsl.error.failedPort": "ወደብ ማግኘት አልተሳካም", + "desktop.picker.error.notSelected": "ፋይሉ በመራጭው አልተመረጠም", + "desktop.picker.error.sizeLimit": "የተመረጡት ዓባሪዎች ከ{{limit}}ሜባ ገደቡ በላይ", + "command.category.suggested": "የሚመከር", + "command.category.view": "እይታ", + "command.category.project": "ፕሮጀክት", + "command.category.provider": "አቅራቢ", + "command.category.server": "አገልጋይ", + "command.category.session": "ክፍለ ጊዜ", + "command.category.theme": "ገጽታ", + "command.category.language": "ቋንቋ", + "command.category.file": "ፋይል", + "command.category.context": "አውድ", + "command.category.terminal": "ተርሚናል", + "command.category.model": "ሞዴል", + "command.category.mcp": "MCP", + "command.category.agent": "ወኪል", + "command.category.permissions": "ፍቃዶች", + "command.category.workspace": "Workspace", + "command.category.settings": "ቅንጅቶች", + "command.logs.export": "የመላክ ምዝግብ ማስታወሻዎች", + "theme.scheme.system": "ስርዓት", + "theme.scheme.light": "ብርሃን", + "theme.scheme.dark": "ጨለማ", + "command.sidebar.toggle": "የጎን አሞሌን ቀይር", + "command.project.open": "ክፍት ፕሮጀክት", + "command.project.previous": "የቀድሞው ፕሮጀክት", + "command.project.next": "ቀጣይ ፕሮጀክት", + "command.project.index": "ወደ ፕሮጀክት {{index}}] ቀይር", + "command.provider.connect": "አቅራቢን አገናኝ", + "command.server.switch": "አገልጋይ ቀይር", + "command.settings.open": "ክፍት ቅንብሮች", + "command.session.previous": "የቀድሞው ክፍለ ጊዜ", + "command.session.next": "ቀጣይ ክፍለ ጊዜ", + "command.session.previous.unseen": "ያለፈው ያልተነበበ ክፍለ ጊዜ", + "command.session.next.unseen": "ቀጣይ ያልተነበበ ክፍለ ጊዜ", + "command.session.archive": "ክፍለ ጊዜን በማህደር አስቀምጥ", + "command.palette": "የትእዛዝ ቤተ-ስዕል", + "command.theme.cycle": "የዑደት ጭብጥ", + "command.theme.set": "ገጽታ ይጠቀሙ፡ {{theme}}", + "command.theme.scheme.cycle": "የዑደት ቀለም ንድፍ", + "command.theme.scheme.set": "የቀለም ንድፍ ተጠቀም፡ {{scheme}}", + "command.language.cycle": "ሳይክል ቋንቋ", + "command.language.set": "ቋንቋን ተጠቀም፡ {{language}}", + "command.session.new": "አዲስ ክፍለ ጊዜ", + "command.file.open": "ክፍት ፋይል", + "command.tab.close": "ትርፉን ዝጋ", + "command.tab.reopenClosed": "የተዘጋውን ትር እንደገና ክፈት", + "command.context.addSelection": "ምርጫ ወደ አውድ አክል", + "command.context.addSelection.description": "የተመረጡትን መስመሮች ከአሁኑ ፋይል ያክሉ", + "command.input.focus": "የትኩረት ግቤት", + "command.terminal.toggle": "ተርሚናል ቀይር", + "command.fileTree.toggle": "ፋይል ዛፍን ቀይር", + "command.review.toggle": "ግምገማውን ቀይር", + "command.terminal.new": "አዲስ ተርሚናል", + "command.terminal.new.description": "አዲስ ተርሚናል ትር ፍጠር", + "command.steps.toggle": "ደረጃዎችን ቀይር", + "command.steps.toggle.description": "ለአሁኑ መልእክት ደረጃዎችን አሳይ ወይም ደብቅ", + "command.message.previous": "የቀድሞ መልእክት", + "command.message.previous.description": "ወደ ቀዳሚው የተጠቃሚ መልእክት ይሂዱ", + "command.message.next": "ቀጣይ መልእክት", + "command.message.next.description": "ወደሚቀጥለው የተጠቃሚ መልእክት ይሂዱ", + "command.model.choose": "ሞዴል ምረጥ", + "command.model.choose.description": "የተለየ ሞዴል ይምረጡ", + "command.mcp.toggle": "MCPs", + "command.mcp.toggle.description": "MCPs", + "command.agent.cycle": "ወደሚቀጥለው ወኪል ቀይር", + "command.agent.cycle.description": "ወደሚቀጥለው ወኪል ቀይር", + "command.agent.cycle.reverse": "ወደቀድሞው ወኪል ቀይር", + "command.agent.cycle.reverse.description": "ወደ ቀዳሚው ወኪል ቀይር", + "command.model.variant.cycle": "የማሰብ ጥረት ደረጃን ቀይር", + "command.model.variant.cycle.description": "ወደሚቀጥለው የጥረት ደረጃ ቀይር", + "command.prompt.mode.shell": "ሼል", + "command.prompt.mode.normal": "ፕሮምፕት", + "command.permissions.autoaccept.enable": "በራስ-ተቀበል ፈቃዶች", + "command.permissions.autoaccept.disable": "በራስ-መቀበል ፍቃዶችን አቁም", + "command.workspace.toggle": "Workspace ቀይር", + "command.workspace.toggle.description": "በጎን አሞሌው ውስጥ ብዙ workspace-ዎችን አንቃ ወይም አሰናክል", + "command.session.undo": "ቀልብስ", + "command.session.undo.description": "የመጨረሻውን መልእክት ቀልብስ", + "command.session.redo": "ድገም", + "command.session.redo.description": "የመጨረሻውን የተቀለበሰ መልእክት ይድገሙት", + "command.session.compact": "የታመቀ ክፍለ ጊዜ", + "command.session.compact.description": "የአውድ መጠንን ለመቀነስ ክፍለ-ጊዜውን ያጠቃልሉት", + "command.session.fork": "ከመልዕክት አዲስ ቅርንጫፍ ፍጠር", + "command.session.fork.description": "ከቀደመው መልእክት አዲስ ክፍለ ጊዜ ፍጠር", + "command.session.share": "አጋራ ክፍለ ጊዜ", + "command.session.share.description": "ይህን ክፍለ ጊዜ ያጋሩ እና URLን ወደ ቅንጥብ ሰሌዳ ይቅዱ", + "command.session.unshare": "ክፍለ-ጊዜን አታጋራ", + "command.session.unshare.description": "ይህን ክፍለ ጊዜ ማጋራት አቁም", + "command.session.export": "ክፍለ ጊዜን ወደ ውጭ ላክ", + "command.session.export.description": "ሙሉውን የክፍለ ጊዜ ግልባጭ እንደ JSON", + "palette.search.placeholder": "ፋይሎችን፣ ትዕዛዞችን እና ክፍለ-ጊዜዎችን ይፈልጉ", + "palette.search.placeholder.home": "የፍለጋ ትዕዛዞችን እና ክፍለ-ጊዜዎችን", + "palette.empty": "ምንም ውጤቶች አልተገኙም", + "palette.group.commands": "ትዕዛዞች", + "palette.group.files": "ፋይሎች", + "dialog.provider.search.placeholder": "የፍለጋ አቅራቢዎች", + "dialog.provider.empty": "ምንም አቅራቢዎች አልተገኙም", + "dialog.provider.group.popular": "ታዋቂ", + "dialog.provider.group.other": "ሌላ", + "dialog.provider.custom.label": "ብጁ OpenAIተኳሃኝ አቅራቢ", + "dialog.provider.tag.recommended": "የሚመከር", + "dialog.provider.opencode.note": "Claude፣ GPT፣ Gemini እና ሌሎችንም ጨምሮ የተስተካከሉ ሞዴሎች", + "dialog.provider.opencode.tagline": "ታማኝ የተመቻቹ ሞዴሎች", + "dialog.provider.opencodeGo.tagline": "ዝቅተኛ ወጪ ለሁሉም ሰው", + "dialog.provider.anthropic.note": "የቀጥታ የClaude ሞዴሎች፣ ፕሮ እና ማክስን ጨምሮ", + "dialog.provider.copilot.note": "AI ሞዴሎች በGitHub Copilot] በኩል ኮድ ለማድረግ እገዛ", + "dialog.provider.openai.note": "GPT ሞዴሎች ለፈጣን እና ችሎታ ላለው አጠቃላይ AI ተግባራት", + "dialog.provider.google.note": "Gemini ለፈጣን፣ የተዋቀሩ ምላሾች ሞዴሎች", + "dialog.provider.openrouter.note": "ሁሉንም የሚደገፉ ሞዴሎች ከአንድ አቅራቢ ይድረሱ", + "dialog.provider.vercel.note": "የተዋሃደ የ AI ሞዴሎች ከስማርት ማዘዋወር ጋር", + "dialog.model.select.title": "ሞዴል ምረጥ", + "dialog.model.search.placeholder": "የፍለጋ ሞዴሎች", + "dialog.model.empty": "ምንም የሞዴል ውጤቶች የሉም", + "dialog.model.manage": "ሞዴሎችን አስተዳድር", + "dialog.model.manage.description": "በሞዴል መራጭ ውስጥ የትኞቹ ሞዴሎች እንደሚታዩ አብጅ።", + "dialog.model.manage.provider.toggle": "ሁሉንም {{provider}} ሞዴሎች ቀያይር", + "dialog.model.unpaid.freeModels.title": "ነጻ ሞዴሎች በOpenCode", + "dialog.model.unpaid.addMore.title": "ተጨማሪ ሞዴሎችን ከታዋቂ አቅራቢዎች ያክሉ", + "dialog.model.unpaid.viewMoreProviders": "ከ70+ በላይ አቅራቢዎችን ይመልከቱ", + "dialog.provider.viewAll": "ተጨማሪ አቅራቢዎችን አሳይ", + "provider.connect.title": "{{provider}} አገናኝ", + "provider.connect.title.anthropicProMax": "በClaude Pro/Max ይግቡ", + "provider.connect.selectMethod": "የመግቢያ ዘዴን ለ{{provider}} ምረጥ።", + "provider.connect.method.apiKey": "API ቁልፍ", + "provider.connect.method.browser": "አሳሽ", + "provider.connect.method.headless": "ያለ ግራፊክ በይነገጽ", + "provider.connect.status.inProgress": "ፍቃድ በሂደት ላይ...", + "provider.connect.status.waiting": "ፈቀዳን በመጠበቅ ላይ...", + "provider.connect.status.failed": "ፍቃድ መስጠት አልተሳካም፡ {{error}}", + "provider.connect.apiKey.description": + "መለያዎን ለማገናኘት የ{{provider}} API ቁልፍዎን ያስገቡ እና {{provider}} ሞዴሎችን በOpenCode ይጠቀሙ።", + "provider.connect.apiKey.label": "{{provider}} API ቁልፍ", + "provider.connect.apiKey.placeholder": "API ቁልፍ", + "provider.connect.apiKey.required": "API ቁልፍ ያስፈልጋል", + "provider.connect.opencodeZen.line1": "OpenCode ዜን ለኮድ ወኪሎች የተመቻቹ አስተማማኝ ሞዴሎች ስብስብ መዳረሻ ይሰጥዎታል።", + "provider.connect.opencodeZen.line2": "በአንድ የAPI ቁልፍ እንደ Claude፣ GPT፣ Gemini፣ GLM እና ሌሎችም ያሉ ሞዴሎችን መድረስ ይችላሉ።", + "provider.connect.opencodeZen.visit.prefix": "ጎብኝ ", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": " የእርስዎን API ቁልፍ ለመሰብሰብ።", + "provider.connect.oauth.code.visit.prefix": "ጎብኝ ", + "provider.connect.oauth.code.visit.link": "ይህ ሊንክ", + "provider.connect.oauth.code.visit.suffix": + " መለያዎን ለማገናኘት የፈቀዳ ኮድዎን ለመሰብሰብ እና {{provider}} ሞዴሎችን በOpenCode ውስጥ ይጠቀሙ።", + "provider.connect.oauth.code.label": "{{method}}የፈቀዳ ኮድ", + "provider.connect.oauth.code.placeholder": "የፈቃድ ኮድ", + "provider.connect.oauth.code.required": "የፈቃድ ኮድ ያስፈልጋል", + "provider.connect.oauth.code.invalid": "ልክ ያልሆነ የፈቀዳ ኮድ", + "provider.connect.oauth.auto.visit.prefix": "ጎብኝ ", + "provider.connect.oauth.auto.visit.link": "ይህ ሊንክ", + "provider.connect.oauth.auto.visit.suffix": " እና መለያዎን ለማገናኘት ከታች ያለውን ኮድ ያስገቡ እና {{provider}} ሞዴሎችን በOpenCode ይጠቀሙ።", + "provider.connect.oauth.auto.confirmationCode": "የማረጋገጫ ኮድ", + "provider.connect.toast.connected.title": "{{provider}}ተገናኝቷል", + "provider.connect.toast.connected.description": "{{provider}} ሞዴሎች አሁን ለመጠቀም ይገኛሉ።", + "provider.custom.title": "ብጁ አቅራቢ", + "provider.custom.unavailable": "ብጁ አቅራቢዎች በዚህ አገልጋይ ላይ አይገኙም", + "provider.custom.description.prefix": "OpenAI-ተኳሃኝ አቅራቢን ያዋቅሩ። ይመልከቱ ", + "provider.custom.description.link": "የአቅራቢ ውቅረት ሰነዶች", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "የአቅራቢ መታወቂያ", + "provider.custom.field.providerID.placeholder": "myprovider", + "provider.custom.field.providerID.description": "ዝቅተኛ ፊደሎች፣ ቁጥሮች፣ ሰረዞች፣ ወይም ከስር ያሉ ምልክቶች", + "provider.custom.field.name.label": "የማሳያ ስም", + "provider.custom.field.name.placeholder": "የእኔ AI አቅራቢ", + "provider.custom.field.baseURL.label": "መሰረት URL", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "API ቁልፍ", + "provider.custom.field.apiKey.placeholder": "API ቁልፍ", + "provider.custom.field.apiKey.description": "አማራጭ. በራስጌዎች በኩል ማተምን የሚያስተዳድሩ ከሆነ ባዶ ይተዉት።", + "provider.custom.models.label": "ሞዴሎች", + "provider.custom.models.id.label": "መታወቂያ", + "provider.custom.models.id.placeholder": "model-id", + "provider.custom.models.name.label": "ስም", + "provider.custom.models.name.placeholder": "የማሳያ ስም", + "provider.custom.models.remove": "ሞዴሉን አስወግድ", + "provider.custom.models.add": "ሞዴል አክል", + "provider.custom.headers.label": "ራስጌዎች (አማራጭ)", + "provider.custom.headers.key.label": "ራስጌ", + "provider.custom.headers.key.placeholder": "ራስጌ-ስም", + "provider.custom.headers.value.label": "ዋጋ", + "provider.custom.headers.value.placeholder": "ዋጋ", + "provider.custom.headers.remove": "ራስጌ አስወግድ", + "provider.custom.headers.add": "ራስጌ አክል", + "provider.custom.error.providerID.required": "የአቅራቢ መታወቂያ ያስፈልጋል", + "provider.custom.error.providerID.format": "ትንሽ ሆሄያትን፣ ቁጥሮችን፣ ሰረዞችን ወይም የስር ምልክቶችን ተጠቀም", + "provider.custom.error.providerID.exists": "ያ የአቅራቢ መታወቂያ አስቀድሞ አለ", + "provider.custom.error.name.required": "የማሳያ ስም ያስፈልጋል", + "provider.custom.error.baseURL.required": "መሠረት URL ያስፈልጋል", + "provider.custom.error.baseURL.format": "በhttp:// ወይም https://] መጀመር አለበት", + "provider.custom.error.required": "የሚያስፈልግ", + "provider.custom.error.duplicate": "የተባዛ", + "provider.disconnect.toast.disconnected.title": "{{provider}} ተቋርጧል", + "provider.disconnect.toast.disconnected.description": "{{provider}} ሞዴሎች ከአሁን በኋላ አይገኙም።", + "model.tag.free": "ነጻ", + "model.tag.latest": "የቅርብ", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "ጽሑፍ", + "model.input.image": "ምስል", + "model.input.audio": "ድምጽ", + "model.input.video": "ቪዲዮ", + "model.input.pdf": "pdf", + "model.tooltip.allows": "ይፈቅዳል፡ {{inputs}}", + "model.tooltip.context.label": "አውድ", + "model.tooltip.inputs": "ግቤቶች", + "model.tooltip.model": "ሞዴል", + "model.tooltip.provider": "አቅራቢ", + "model.tooltip.reasoning": "ምክንያት", + "model.tooltip.reasoning.allowed": "ማመዛዘን ይፈቅዳል", + "model.tooltip.reasoning.none": "ምክንያት የለም", + "model.tooltip.context": "የአውድ ገደብ {{limit}}", + "common.search.placeholder": "ፍለጋ", + "common.goBack": "ወደ ኋላ ዳስስ", + "common.goForward": "ወደ ፊት ዳስስ", + "common.loading": "በመጫን ላይ", + "common.loading.ellipsis": "...", + "common.cancel": "ሰርዝ", + "common.clear": "ግልጽ", + "common.open": "ክፍት", + "common.connect": "አገናኝ", + "common.disconnect": "ግንኙነቱን አቋርጥ", + "common.continue": "ቀጥል", + "common.submit": "አስረክብ", + "common.save": "አስቀምጥ", + "common.saving": "በማስቀመጥ ላይ...", + "common.default": "ነባሪ", + "common.attachment": "አባሪ", + "prompt.placeholder.shell": "የሼል ትዕዛዝ አስገባ... {{example}}", + "prompt.placeholder.normal": 'ማንኛውንም ነገር ይጠይቁ... "{{example}}"', + "prompt.placeholder.simple": "ማንኛውንም ነገር ይጠይቁ...", + "prompt.placeholder.summarizeComments": "አስተያየቶችን ማጠቃለል…", + "prompt.placeholder.summarizeComment": "አስተያየቱን ማጠቃለል…", + "prompt.mode.shell": "ሼል", + "prompt.mode.normal": "ፕሮምፕት", + "prompt.mode.shell.exit": "esc ለመውጣት", + "session.child.promptDisabled": "ንዑስ ክፍለ ጊዜዎች ሊጠየቁ አይችሉም።", + "session.child.backToParent": "ወደ ዋናው ክፍለ ጊዜ ተመለስ", + "prompt.example.1": "TODOን በኮድ ቤዝ ውስጥ ያስተካክሉ", + "prompt.example.2": "የዚህ ፕሮጀክት የቴክኖሎጂ ቁልል ምንድን ነው?", + "prompt.example.3": "የተበላሹ ሙከራዎችን ያስተካክሉ", + "prompt.example.4": "ማረጋገጫ እንዴት እንደሚሰራ ያብራሩ", + "prompt.example.5": "የደህንነት ተጋላጭነቶችን ፈልግ እና ያስተካክሉ", + "prompt.example.6": "ለተጠቃሚው አገልግሎት የክፍል ሙከራዎችን ያክሉ", + "prompt.example.7": "ይህን ተግባር የበለጠ እንዲነበብ አስተካክል", + "prompt.example.8": "ይህ ስህተት ምን ማለት ነው?", + "prompt.example.9": "ይህን ችግር እንዳስተካክል እርዳኝ", + "prompt.example.10": "APIሰነድ ፍጠር", + "prompt.example.11": "ዳታቤዝ መጠይቆችን ያመቻቹ", + "prompt.example.12": "የግቤት ማረጋገጫን አክል", + "prompt.example.13": "አዲስ አካል ለ...", + "prompt.example.14": "ይህን ፕሮጀክት እንዴት ማሰማራት እችላለሁ?", + "prompt.example.15": "ለምርጥ ልምዶች የእኔን ኮድ ይገምግሙ", + "prompt.example.16": "የስህተት አያያዝን ወደዚህ ተግባር ያክሉ", + "prompt.example.17": "ይህንን regex pattern ያብራሩ", + "prompt.example.18": "ይህንን ወደ TypeScript ቀይር", + "prompt.example.19": "መመዝገብን በኮድ ቤዝ ውስጥ አክል", + "prompt.example.20": "ምን ዓይነት ጥገኛዎች ጊዜ ያለፈባቸው ናቸው?", + "prompt.example.21": "የስደት ስክሪፕት እንድጽፍ እርዳኝ", + "prompt.example.22": "ለዚህ የመጨረሻ ነጥብ መሸጎጫ ተግባራዊ ያድርጉ", + "prompt.example.23": "ወደዚህ ዝርዝር ገፅ ጨምር", + "prompt.example.24": "CLI ትዕዛዝ ፍጠር ለ...", + "prompt.example.25": "አካባቢያዊ ተለዋዋጮች እዚህ እንዴት ይሰራሉ?", + "prompt.popover.emptyResults": "ምንም ተዛማጅ ውጤቶች የሉም", + "prompt.popover.emptyCommands": "ምንም ተዛማጅ ትዕዛዞች የሉም", + "prompt.dropzone.label": "ምስሎችን፣ ፒዲኤፎችን ወይም የጽሑፍ ፋይሎችን እዚህ ጣል", + "prompt.dropzone.file.label": "ወደ @mention ፋይል ጣል", + "prompt.slash.badge.custom": "ብጁ", + "prompt.slash.badge.skill": "ችሎታ", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "ንቁ", + "prompt.context.includeActiveFile": "ገቢር ፋይልን ያካትቱ", + "prompt.context.removeActiveFile": "ገቢር ፋይልን ከአውድ አስወግድ", + "prompt.context.removeFile": "ፋይሉን ከአውድ አስወግድ", + "prompt.action.attachFile": "ፋይሎችን አክል", + "prompt.menu.addImagesAndFiles": "ፋይሎችን አክል እና ተጨማሪ", + "prompt.menu.imagesAndFiles": "ምስሎች እና ፋይሎች", + "prompt.menu.commands": "ትዕዛዞች", + "prompt.menu.context": "አውድ", + "prompt.menu.shellCommand": "የሼል ትዕዛዝ", + "prompt.attachment.remove": "ዓባሪን አስወግድ", + "prompt.action.send": "ላክ", + "prompt.action.stop": "አቁም", + "prompt.toast.pasteUnsupported.title": "የማይደገፍ ዓባሪ", + "prompt.toast.pasteUnsupported.description": "ምስሎች፣ ፒዲኤፎች ወይም የጽሑፍ ፋይሎች ብቻ እዚህ ጋር ሊጣመሩ ይችላሉ።", + "prompt.toast.attachmentDuplicate.title": "ይህ ፋይል አስቀድሞ ተሰቅሏል", + "prompt.toast.modelAgentRequired.title": "ወኪል እና ሞዴል ይምረጡ", + "prompt.toast.modelAgentRequired.description": "ፕሮምፕት ከመላክዎ በፊት ወኪል እና ሞዴል ይምረጡ።", + "prompt.toast.worktreeCreateFailed.title": "Git worktree መፍጠር አልተሳካም", + "prompt.toast.sessionCreateFailed.title": "ክፍለ ጊዜ መፍጠር አልተሳካም", + "prompt.toast.shellSendFailed.title": "የሼል ትዕዛዝ መላክ አልተሳካም", + "prompt.toast.commandSendFailed.title": "ትዕዛዝ መላክ አልተሳካም", + "prompt.toast.promptSendFailed.title": "ፕሮምፕት መላክ አልተሳካም", + "prompt.toast.promptSendFailed.description": "ክፍለ ጊዜን ሰርስሮ ማውጣት አልተቻለም", + "dialog.mcp.title": "MCPs", + "dialog.mcp.description": "{{enabled}} ከ{{total}} ነቅቷል", + "dialog.mcp.empty": "ምንም MCPs አልተዋቀረም", + "dialog.lsp.empty": "LSPs በራስ-ሰር ከፋይል አይነቶች የተገኘ", + "dialog.plugins.empty": "plugins በ opencode.json የተዋቀሩ", + "mcp.status.connected": "የተገናኘ", + "mcp.status.failed": "ያልተሳካ", + "mcp.status.needs_auth": "auth ያስፈልገዋል", + "mcp.status.disabled": "የተሰናከለ", + "mcp.auth.clickToAuthenticate": "ለማረጋገጥ ጠቅ ያድርጉ", + "dialog.fork.empty": "አዲስ ቅርንጫፍ ለመፍጠር መልዕክት የለም", + "dialog.directory.search.placeholder": "የአቃፊዎችን ፍለጋ", + "dialog.directory.empty": "ምንም አቃፊዎች አልተገኙም", + "dialog.directory.action.selectFile": "ፋይል ምረጥ", + "dialog.directory.action.selectFolder": "አቃፊን ምረጥ", + "dialog.directory.root": "ሥር", + "dialog.directory.parent": "ወላጅ", + "dialog.directory.readError": "ይህን አቃፊ ማንበብ አልተቻለም", + "app.server.unreachable": "{{server}}ን መድረስ አልተቻለም", + "app.server.retrying": "በራስ ሰር እንደገና በመሞከር ላይ...", + "app.server.otherServers": "ሌሎች አገልጋዮች", + "dialog.server.title": "አገልጋዮች", + "dialog.server.description": "ይህ መተግበሪያ ከየትኛው OpenCode አገልጋይ ጋር እንደሚገናኝ ይቀይሩ።", + "dialog.server.search.placeholder": "የፍለጋ አገልጋዮች", + "dialog.server.empty": "ገና ምንም አገልጋይ የለም", + "dialog.server.add.title": "አገልጋይ አክል", + "dialog.server.add.url": "የአገልጋይ አድራሻ", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "ከአገልጋይ ጋር መገናኘት አልተቻለም", + "dialog.server.add.checking": "በማጣራት ላይ...", + "dialog.server.add.button": "አገልጋይ አክል", + "dialog.server.add.name": "የአገልጋይ ስም (አማራጭ)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "የተጠቃሚ ስም (አማራጭ)", + "dialog.server.add.usernamePlaceholder": "የተጠቃሚ ስም", + "dialog.server.add.password": "የይለፍ ቃል (አማራጭ)", + "dialog.server.add.passwordPlaceholder": "የይለፍ ቃል", + "dialog.server.edit.title": "አገልጋይ አርትዕ", + "dialog.server.default.title": "ነባሪ አገልጋይ", + "dialog.server.default.description": "አካባቢያዊ አገልጋይን ከመጀመር ይልቅ ከዚህ አገልጋይ ጋር ይገናኙ። እንደገና መጀመር ያስፈልገዋል።", + "dialog.server.default.none": "ምንም አገልጋይ አልተመረጠም", + "dialog.server.default.set": "የአሁኑን አገልጋይ እንደ ነባሪ አዘጋጅ", + "dialog.server.default.clear": "ግልጽ", + "dialog.server.action.remove": "አገልጋይ አስወግድ", + "dialog.server.menu.edit": "አርትዕ", + "dialog.server.menu.default": "ነባሪ አዘጋጅ", + "dialog.server.menu.defaultRemove": "ነባሪውን አስወግድ", + "dialog.server.menu.delete": "ሰርዝ", + "dialog.server.current": "የአሁኑ አገልጋይ", + "dialog.server.status.default": "ነባሪ", + "wsl.server.add": "WSL አገልጋይ አክል", + "wsl.server.addShort": "WSL አክል", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "WSL አገልጋይ", + "wsl.server.retryStart": "እንደገና ጀምር", + "wsl.server.updating": "በማዘመን ላይ...", + "wsl.onboarding.step.distro": "distro ምረጥ", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "መፈተሽ WSL...", + "wsl.onboarding.restartRequired": "Windows WSLን መጫኑን ለመጨረስ ዳግም መጀመር ያስፈልገዋል።", + "wsl.onboarding.ready": "WSL ዝግጁ ነው።", + "wsl.onboarding.required": "WSLለመቀጠል ያስፈልጋል።", + "wsl.onboarding.checkingDistros": "Distros በመፈተሽ ላይ...", + "wsl.onboarding.installingDistro": "በመጫን ላይ {{distro}}...", + "wsl.onboarding.checkingDistro": "መፈተሽ {{distro}}...", + "wsl.onboarding.listingDistros": "የዝርዝር ዲስትሮስ...", + "wsl.onboarding.distroReady": "{{distro}} ዝግጁ ነው።", + "wsl.onboarding.distroNotInstalled": "{{distro}} ገና አልተጫነም።", + "wsl.onboarding.openDistroOnce": "ማዋቀሩን ለመጨረስ {{distro}} አንድ ጊዜ ይክፈቱ።", + "wsl.onboarding.finishingDistro": "ማዋቀሩን ለ{{distro}} በማጠናቀቅ ላይ።", + "wsl.onboarding.pickDistro": "distro ይምረጡ ወይም ከታች ይጫኑ።", + "wsl.onboarding.checkingOpencode": "መፈተሽ OpenCode...", + "wsl.onboarding.checkingOpencodeIn": "OpenCodeን በ{{distro}} ውስጥ በመፈተሽ ላይ...", + "wsl.onboarding.updatingOpencode": "በማዘመን ላይ OpenCode...", + "wsl.onboarding.updatingOpencodeIn": "በማዘመን ላይ OpenCode በ{{distro}}...", + "wsl.onboarding.updateOpencodeIn": "አዘምን OpenCode በ{{distro}}።", + "wsl.onboarding.updateOpencode": "አዘምን OpenCode", + "wsl.onboarding.opencodeReadyIn": "OpenCode በ{{distro}} ውስጥ ዝግጁ ነው።", + "wsl.onboarding.opencodeReady": "OpenCode ዝግጁ ነው።", + "wsl.onboarding.installOpencodeIn": "መጫን OpenCode በ{{distro}} ውስጥ።", + "wsl.onboarding.installOpencode": "ጫን OpenCode", + "wsl.onboarding.chooseDistroFirst": "መጀመሪያ ዳይስትሮ ይምረጡ።", + "wsl.onboarding.loadFailed": "WSL ሁኔታን መጫን አልተሳካም።", + "wsl.onboarding.loading": "በመጫን ላይ...", + "wsl.onboarding.installedDistros": "የተጫነው distros", + "wsl.onboarding.checkAgain": "እንደገና ያረጋግጡ", + "wsl.onboarding.distroStatus.ready": "ዝግጁ", + "wsl.onboarding.distroStatus.checking": "በማጣራት ላይ...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCodeአልተጫነም", + "wsl.onboarding.distroStatus.missingTools": "የጠፋ bash፣ curl", + "wsl.onboarding.distroStatus.unsupported": "የማይደገፍ · WSL 2] ተጠቀም", + "wsl.onboarding.needAnotherDistro": "ሌላ አስተላላፊ ይፈልጋሉ?", + "wsl.onboarding.needAnotherDistroHint": "Linux ስርጭት ከWSL ካታሎግ ጫን", + "wsl.onboarding.wslNotInstalled.title": "WSLአልተጫነም", + "wsl.onboarding.wslNotInstalled.description": "WSL (Windowsንዑስ ስርዓት ለLinux) OpenCode WSL አገልጋይ ከመጨመራቸው በፊት ያስፈልጋል", + "wsl.onboarding.wslUnavailable.title": "WSL አይገኝም", + "wsl.onboarding.wslUnavailable.description": "OpenCode በዚህ ማሽን ላይ WSLን ማረጋገጥ አልቻለም።", + "wsl.onboarding.installWsl": "ጫን WSL", + "wsl.onboarding.windowsRestartRequired": "WSLን መጫኑን ለመጨረስ Windows እንደገና ያስጀምሩ እና ከዚያ እንደገና ይክፈቱ OpenCode።", + "wsl.onboarding.next": "ቀጣይ", + "wsl.onboarding.refresh": "አድስ", + "wsl.onboarding.allDistrosAdded": "ሁሉም የተጫኑ ዳይስትሮዎች ቀድሞ ተጨምረዋል።", + "wsl.onboarding.noDistros": "ገና ምንም distros አልተገኘም።", + "wsl.onboarding.install": "ጫን", + "wsl.onboarding.installing": "በመጫን ላይ...", + "wsl.onboarding.installDistro": "distro ጫን", + "wsl.onboarding.searchDistros": "የፍለጋ distros", + "wsl.onboarding.wsl2Required": "WSL 2 ያስፈልጋል።", + "wsl.onboarding.toolsRequired": "ይህ ዲስትሮ bash እና curl ያስፈልገዋል።", + "wsl.onboarding.openTerminal": "ተርሚናል ክፈት", + "wsl.onboarding.path": "መንገድ፡ {{path}}", + "wsl.onboarding.notFound": "አልተገኘም", + "wsl.onboarding.version": "ስሪት፡ {{version}}", + "wsl.onboarding.unknown": "ያልታወቀ", + "wsl.onboarding.desktopVersion": "ዴስክቶፕ {{version}}", + "wsl.onboarding.versionMismatch": "የተጫነው ሥሪት ከዴስክቶፕ መተግበሪያ ሥሪት ጋር አይዛመድም።", + "wsl.onboarding.adding": "በማከል ላይ...", + "help.tabs.toast.ariaLabel": "ትሮችን በማስተዋወቅ ላይ። ስራዎን እና ንቁ ክፍለ ጊዜዎን በትሮች ያደራጁ", + "help.tabs.toast.dismiss": "የትርኮችን መረጃ አሰናብት", + "help.tabs.title": "ትሮችን በማስተዋወቅ ላይ", + "help.tabs.description": "ሥራዎን እና ንቁ ክፍለ ጊዜዎችን በትሮች ያደራጁ", + "help.tabs.date": "ሐምሌ 14", + "help.tabs.introduction": "OpenCode ዴስክቶፕ አሁን በትሮች ዙሪያ ነው የተሰራው።", + "help.tabs.sessions": + "አዲስ ክፍለ ጊዜ በትሩ ውስጥ ጀምር፣ወይም ከማንኛቸውም ፕሮጄክቶችህ ነባር ክፍለ ጊዜ ክፈት። አዲስ ነገር ሲጀምሩ አዲስ ትር ይክፈቱ፣ እና ሲጨርሱ ይዝጉት።", + "help.tabs.organize": "ትንሽ ትሮችን መክፈት ንቁ ክፍለ ጊዜዎችን ማደራጀት ቀላል ያደርገዋል። ትሮችን በአካባቢያቸው ለማቆየት ካሰቡ የማይረሳ ነገርን እንደገና ይሰይሙ።", + "help.tabs.home": "ሁሉንም ክፍለ ጊዜዎችዎን እና ፕሮጀክቶችዎን በአዲሱ የመነሻ ማያ ገጽ ላይ ያገኛሉ። ክፍለ ጊዜ መምረጥ በትር ውስጥ ይከፍታል።", + "help.tabs.persistence": "መተግበሪያውን እንደገና ሲከፍቱት ትሮችዎ አሁንም ክፍት ናቸው።", + "help.tabs.worktrees": + "አዲሱ ንድፍ እስካሁን Git Worktreesን አይደግፍም፣ በቅርቡ ይመጣል። ስለዚህ የቀደመውን አቀማመጥ በመጠቀም መቀጠል ከፈለግክ በቅንብሮች ውስጥ በአቀማመጦች መካከል መቀያየር ትችላለህ። አዲሱ አቀማመጥ በጥቂት ሳምንታት ውስጥ ዘላቂ እንደሚሆን ብቻ ያስታውሱ።", + "server.row.noUsername": "የተጠቃሚ ስም የለም", + "dialog.project.edit.title": "ፕሮጀክት አርትዕ", + "dialog.project.edit.name": "ስም", + "dialog.project.edit.icon": "አዶ", + "dialog.project.edit.icon.alt": "የፕሮጀክት አዶ", + "dialog.project.edit.icon.hint": "ምስሉን ጠቅ ያድርጉ ወይም ይጎትቱ", + "dialog.project.edit.icon.recommended": "የሚመከር፡ 128x128 ፒክስል", + "dialog.project.edit.color": "ቀለም", + "dialog.project.edit.color.select": "{{color}} ቀለም ይምረጡ", + "dialog.project.edit.worktree.startup": "የworkspace ማስጀመሪያ ስክሪፕት", + "dialog.project.edit.worktree.startup.description": "አዲስ workspace (Git worktree) ከፈጠረ በኋላ ይሰራል", + "dialog.project.edit.worktree.startup.placeholder": "ለምሳሌ፡. ጥቅል", + "dialog.releaseNotes.action.getStarted": "ጀምር", + "dialog.releaseNotes.action.next": "ቀጣይ", + "dialog.releaseNotes.action.hideFuture": "እነዚህን ወደፊት አታሳይ", + "dialog.releaseNotes.media.alt": "የልቀት ቅድመ እይታ", + "context.breakdown.title": "የአውድ ዝርዝር መግለጫ", + "context.breakdown.note": 'የግቤት ቶከኖች ግምታዊ ብልሽት። "ሌላ" የመሳሪያ ትርጓሜዎችን እና ከላይ ያለውን ያካትታል።', + "context.breakdown.system": "ስርዓት", + "context.breakdown.user": "ተጠቃሚ", + "context.breakdown.assistant": "ረዳት", + "context.breakdown.tool": "የመሳሪያ ጥሪዎች", + "context.breakdown.other": "ሌላ", + "context.systemPrompt.title": "የስርዓት ፕሮምፕት", + "context.rawMessages.title": "ጥሬ መልዕክቶች", + "context.export.session": "ክፍለ ጊዜን ወደ ውጭ ላክ", + "context.stats.session": "ክፍለ ጊዜ", + "context.stats.messages": "መልእክቶች", + "context.stats.provider": "አቅራቢ", + "context.stats.model": "ሞዴል", + "context.stats.limit": "የአውድ ገደብ", + "context.stats.totalTokens": "አጠቃላይ ቶከኖች", + "context.stats.usage": "አጠቃቀም", + "context.stats.inputTokens": "የግቤት ቶከኖች", + "context.stats.outputTokens": "የውጤት ቶከኖች", + "context.stats.reasoningTokens": "የማመዛዘኛ ቶከኖች", + "context.stats.cacheTokens": "መሸጎጫ ቶከኖች (ማንበብ/መጻፍ)", + "context.stats.userMessages": "የተጠቃሚ መልዕክቶች", + "context.stats.assistantMessages": "የረዳት መልዕክቶች", + "context.stats.totalCost": "ጠቅላላ ወጪ", + "context.stats.sessionCreated": "ክፍለ ተፈጠረ", + "context.stats.lastActivity": "የመጨረሻው እንቅስቃሴ", + "context.usage.tokens": "ቶከኖች", + "context.usage.usage": "አጠቃቀም", + "context.usage.cost": "ዋጋ", + "context.usage.clickToView": "አውድ ለማየት ጠቅ ያድርጉ", + "context.usage.view": "የአውድ አጠቃቀምን ይመልከቱ", + "language.en": "እንግሊዝኛ", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Deutsch", + "language.es": "Español", + "language.fr": "Français", + "language.da": "ዳንስክ", + "language.ja": "日本語", + "language.pl": "Polski", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Norsk", + "language.br": "Português (ብራሲል)", + "language.bs": "Bosanski", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Türkçe", + "toast.language.title": "ቋንቋ", + "toast.language.description": "ወደ {{language}} ተቀይሯል", + "toast.theme.title": "ገጽታ ተቀይሯል", + "toast.scheme.title": "የቀለም ንድፍ", + "toast.workspace.enabled.title": "Workspace-ዎች ነቅተዋል", + "toast.workspace.enabled.description": "በርካታ Git worktree-ዎች በጎን አሞሌ ላይ አሁን ይታያሉ", + "toast.workspace.disabled.title": "Workspace-ዎች ተሰናክለዋል", + "toast.workspace.disabled.description": "በጎን አሞሌው ላይ ዋናው Git worktree ብቻ ነው የሚታየው", + "toast.permissions.autoaccept.on.title": "በራስ-ተቀባይ ፍቃዶች", + "toast.permissions.autoaccept.on.description": "የፈቃድ ጥያቄዎች በራስ-ሰር ይጸድቃሉ", + "toast.permissions.autoaccept.off.title": "በራስ-መቀበል ፍቃዶችን አቁሟል", + "toast.permissions.autoaccept.off.description": "የፈቃድ ጥያቄዎች መጽደቅ ያስፈልጋቸዋል", + "toast.model.none.title": "ምንም ሞዴል አልተመረጠም", + "toast.model.none.description": "ይህን ክፍለ ጊዜ ለማጠቃለል አቅራቢን ያገናኙ", + "toast.file.loadFailed.title": "ፋይሉን መጫን አልተቻለም", + "toast.file.listFailed.title": "ፋይሎችን መዘርዘር አልተሳካም", + "toast.context.noLineSelection.title": "የመስመር ምርጫ የለም", + "toast.context.noLineSelection.description": "በመጀመሪያ በፋይል ትር ውስጥ የመስመር ክልልን ይምረጡ።", + "toast.session.share.copyFailed.title": "URLን ወደ ቅንጥብ ሰሌዳ መቅዳት አልተሳካም", + "toast.session.share.success.title": "ክፍል የተጋራ", + "toast.session.share.success.description": "አጋራ URL ወደ ቅንጥብ ሰሌዳ ተቀድቷል!", + "toast.session.share.failed.title": "ክፍለ ጊዜን ማጋራት አልተሳካም", + "toast.session.share.failed.description": "ክፍለ-ጊዜውን በማጋራት ላይ ስህተት ተፈጥሯል", + "toast.session.unshare.success.title": "ክፍል ያልተጋራ", + "toast.session.unshare.success.description": "ክፍለ ጊዜው በተሳካ ሁኔታ አልተጋራም!", + "toast.session.unshare.failed.title": "ክፍለ ጊዜን አለማጋራት", + "toast.session.unshare.failed.description": "ክፍለ-ጊዜውን በማላቀቅ ላይ ሳለ ስህተት ተፈጥሯል", + "toast.session.export.success.title": "ክፍለ ጊዜ ወደ ውጭ የተላከ", + "toast.session.export.success.description": "የተቀመጠው ክፍለ ጊዜ ወደ {{filename}}", + "toast.session.export.failed.title": "ክፍለ-ጊዜን ወደ ውጭ መላክ አልተሳካም", + "toast.session.export.failed.description": "ክፍለ-ጊዜውን ወደ ውጭ በመላክ ላይ ስህተት ተፈጥሯል", + "toast.session.listFailed.title": "ለ{{project}}] ክፍለ-ጊዜዎችን መጫን አልተሳካም", + "toast.project.reloadFailed.title": "{{project}}ን እንደገና መጫን አልተሳካም", + "toast.update.title": "ዝማኔ አለ", + "toast.update.description": "አዲሱ የOpenCode ({{version}}) ስሪት አሁን ለመጫን አለ።", + "toast.update.action.installRestart": "ጫን እና እንደገና አስጀምር", + "toast.update.action.notYet": "ገና", + "error.page.title": "የሆነ ችግር ተፈጥሯል", + "error.page.description": "መተግበሪያውን በመጫን ላይ ሳለ ስህተት ተፈጥሯል።", + "error.page.description.localServerStartup": "የአገር ውስጥ አገልጋይ ሲጀመር ስህተት ተፈጥሯል።", + "error.page.details.label": "የስህተት ዝርዝሮች", + "error.page.action.restart": "ዳግም አስጀምር", + "error.page.action.report": "ስህተት ሪፖርት አድርግ", + "error.page.action.reported": "ስህተት ሪፖርት ተደርጓል", + "error.page.action.exportLogs": "የመላክ ምዝግብ ማስታወሻዎች", + "error.page.action.checking": "በማጣራት ላይ...", + "error.page.action.checkUpdates": "ዝማኔዎችን ይመልከቱ", + "error.page.action.updateTo": "ወደ {{version}} አዘምን", + "error.page.circular": "[Circular]", + "error.page.report.prefix": "እባክዎ ይህንን ስህተት ለOpenCode ቡድን ያሳውቁ", + "error.page.report.discord": "በDiscord", + "error.page.version": "ስሪት፡ {{version}}", + "error.dev.rootNotFound": "ሥርወ አካል አልተገኘም። ወደ የእርስዎ index.html ማከልን ረስተዋል? ወይም የመታወቂያ ባህሪው የተሳሳተ ፊደል ተጽፎ ሊሆን ይችላል?", + "error.serverSync.connectFailed": "ከአገልጋይ ጋር መገናኘት አልተቻለም። `{{url}}` ላይ የሚሰራ አገልጋይ አለ?", + "error.serverSDK.noServerAvailable": "ምንም አገልጋይ የለም", + "error.serverSDK.serverNotAvailable": "አገልጋይ አይገኝም", + "error.childStore.persistedCacheCreateFailed": "ቋሚ መሸጎጫ መፍጠር አልተሳካም", + "error.childStore.persistedProjectMetadataCreateFailed": "የቀጠለ የፕሮጀክት ዲበ ውሂብ መፍጠር አልተሳካም", + "error.childStore.persistedProjectIconCreateFailed": "የቀጠለ የፕሮጀክት አዶ መፍጠር አልተሳካም", + "error.childStore.storeCreateFailed": "መደብር መፍጠር አልተሳካም", + "directory.error.invalidUrl": "ልክ ያልሆነ ማውጫ በURL ውስጥ።", + "error.chain.unknown": "ያልታወቀ ስህተት", + "error.server.invalidConfiguration": "ልክ ያልሆነ ውቅር", + "error.chain.causedBy": "የተከሰተ፡", + "error.chain.apiError": "APIስህተት", + "error.chain.status": "ሁኔታ፡ {{status}}", + "error.chain.retryable": "እንደገና ሊሞከር የሚችል፡ {{retryable}}", + "error.chain.responseBody": "የምላሽ አካል፡\n{{body}}", + "error.chain.didYouMean": "{{suggestions}}] ማለትዎ ነው", + "error.chain.modelNotFound": "ሞዴል አልተገኘም፦ {{provider}}/{{model}}", + "error.chain.checkConfig": "የእርስዎን ውቅር (opencode.json) አቅራቢ/የሞዴል ስሞችን ያረጋግጡ", + "error.chain.mcpFailed": 'MCP አገልጋይ "{{name}}" አልተሳካም። ማስታወሻ፣ OpenCode እስካሁን MCP ማረጋገጫን አይደግፍም።', + "error.chain.providerAuthFailed": "የአቅራቢውን ማረጋገጥ አልተሳካም ({{provider}}): {{message}}", + "error.chain.providerInitFailed": 'አቅራቢውን "{{provider}}" ማስጀመር አልተሳካም። ምስክርነቶችን እና ውቅረትን ያረጋግጡ።', + "error.chain.configJsonInvalid": "ማዋቀር በ{{path}} ላይ የሚሰራ አይደለም JSON(C)", + "error.chain.configJsonInvalidWithMessage": "ማዋቀር በ{{path}} ላይ የሚሰራ አይደለም JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + 'ማውጫ "{{dir}}" በ{{path}} ውስጥ የሚሰራ አይደለም። ማውጫውን ወደ «{{suggestion}}» እንደገና ይሰይሙት ወይም ያስወግዱት። ይህ የተለመደ የትየባ ነው።', + "error.chain.configFrontmatterError": "የፊት ጉዳይን በ{{path}} ውስጥ መተንተን አልተሳካም፦\n{{message}}", + "error.chain.configInvalid": "ማዋቀር ፋይል በ{{path}} ልክ ያልሆነ ነው", + "error.chain.configInvalidWithMessage": "የማዋቀር ፋይል በ{{path}} ልክ ያልሆነ ነው፡ {{message}}", + "notification.permission.title": "ፈቃድ ያስፈልጋል", + "notification.permission.description": "{{sessionTitle}} በ{{projectName}} ውስጥ ፈቃድ ያስፈልገዋል", + "notification.question.title": "ጥያቄ", + "notification.question.description": "{{sessionTitle}} በ{{projectName}} ውስጥ ጥያቄ አለው", + "notification.action.goToSession": "ወደ ክፍለ-ጊዜ ሂድ", + "notification.session.responseReady.title": "ምላሽ ዝግጁ", + "notification.session.error.title": "የክፍለ ጊዜ ስህተት", + "notification.session.error.fallbackDescription": "ስህተት ተፈጥሯል", + "home.recentProjects": "የቅርብ ጊዜ ፕሮጀክቶች", + "home.empty.title": "ምንም የቅርብ ጊዜ ፕሮጀክቶች የሉም", + "home.empty.description": "የአካባቢውን ፕሮጀክት በመክፈት ጀምር", + "home.title": "ቤት", + "home.projects": "ፕሮጀክቶች", + "home.project.add": "ፕሮጀክት አክል", + "home.recentlyClosed": "በቅርቡ የተዘጋ", + "home.server.collapse": "የአገልጋይ ፕሮጀክቶችን ሰብስብ", + "home.server.expand": "የአገልጋይ ፕሮጀክቶችን ዘርጋ", + "home.sessions.search.placeholder": "የፍለጋ ክፍለ-ጊዜዎች", + "home.sessions.search.placeholder.scoped": "የፍለጋ ክፍለ ጊዜዎች በ{{scope}}", + "home.sessions.search.sessions": "ክፍለ-ጊዜዎች", + "home.sessions.search.noResults": "ለ{{query}}] ምንም ክፍለ ጊዜዎች አልተገኙም", + "home.sessions.empty": "አሁን ምንም እዚህ የለም", + "home.sessions.empty.description": "ለመጀመር ክፍለ ጊዜ ፍጠር", + "home.sessions.group.today": "ዛሬ", + "home.sessions.group.yesterday": "ትላንት", + "home.sessions.group.older": "የቆየ", + "home.providerTip": "Claude፣ GPT፣ Gemini፣ ወዘተ] ጨምሮ ሌሎች ሞዴሎችን ለመጠቀም ከ75+ አቅራቢዎች ጋር ይገናኙ", + "session.tab.session": "ክፍለ ጊዜ", + "session.tab.review": "ግምገማ", + "session.tab.context": "አውድ", + "session.tab.unknown": "ያልታወቀ ክፍለ ጊዜ", + "session.panel.reviewAndFiles": "ግምገማ እና ፋይሎች", + "session.error.notFound": "ይህ ክፍለ ጊዜ ሊገኝ አይችልም", + "session.error.notFound.description": "ይህ ትር የሚያመለክተው በዚህ አገልጋይ ላይ ወደሌለው ክፍለ ጊዜ ነው።", + "session.error.notFound.closeTab": "ትርን ዝጋ", + "session.error.serverConnection": "ከዚህ አገልጋይ ጋር መገናኘት አልተቻለም", + "session.review.filesChanged": "የተቀየሩ ፋይሎች {{count}}", + "session.review.change.one": "ለውጥ", + "session.review.change.other": "ለውጦች", + "session.review.loadingChanges": "ለውጦችን በመጫን ላይ...", + "session.review.empty": "በዚህ ክፍለ ጊዜ ምንም ለውጦች የሉም", + "session.review.noVcs": "ምንም Git የስሪት ቁጥጥር ስርዓት አልተገኘም፣ ለውጦች አይታዩም", + "session.review.noVcs.createGit.title": "Git ማከማቻ ፍጠር", + "session.review.noVcs.createGit.description": "በዚህ ፕሮጀክት ላይ ለውጦችን ይከታተሉ፣ ይገምግሙ እና ይቀልብሱ", + "session.review.noVcs.createGit.actionLoading": "Git ማከማቻ በመፍጠር ላይ...", + "session.review.noVcs.createGit.action": "Git ማከማቻ ፍጠር", + "session.review.noSnapshot": "የቅጽበታዊ ገጽ እይታን መከታተል በውቅረት ውስጥ ተሰናክሏል፣ስለዚህ የክፍለ-ጊዜ ለውጦች አይገኙም", + "session.review.noChanges": "ምንም ለውጦች የሉም", + "session.review.noUncommittedChanges": "ገና ምንም ያልተደረጉ ለውጦች የሉም", + "session.review.noBranchChanges": "ገና ምንም ቅርንጫፍ ምንም ለውጥ የለም", + "session.files.selectToOpen": "ለመክፈት ፋይል ምረጥ", + "session.files.all": "ሁሉም ፋይሎች", + "session.files.empty": "ምንም ፋይሎች", + "session.files.binaryContent": "ሁለትዮሽ ፋይል (ይዘት ሊታይ አይችልም)", + "session.messages.renderEarlier": "ቀደምት መልዕክቶችን ይስሩ", + "session.messages.loadingEarlier": "የቀድሞ መልዕክቶችን በመጫን ላይ...", + "session.messages.loadEarlier": "የቀድሞ መልዕክቶችን ጫን", + "session.messages.loading": "መልእክቶችን በመጫን ላይ...", + "session.messages.jumpToLatest": "ወደ የቅርብ ጊዜ ዝለል", + "session.context.addToContext": "{{selection}}ን ወደ አውድ አክል", + "session.todo.title": "የሚደረጉ ሥራዎች", + "session.todo.collapse": "ስብስብ", + "session.todo.expand": "ዘርጋ", + "session.todo.progress": "{{done}} ከ{{total}} ስራ ተጠናቋል", + "session.question.progress": "{{current}} ከ{{total}} ጥያቄዎች", + "session.question.minimize": "ጥያቄን አሳንስ", + "session.question.restore": "ጥያቄን ወደነበረበት መልስ", + "session.question.pending.one": "{{count}} በመጠባበቅ ላይ ያለ ጥያቄ", + "session.question.pending.other": "{{count}} በመጠባበቅ ላይ ያሉ ጥያቄዎች", + "session.followupDock.summary.one": "{{count}}የተሰለፈ መልእክት", + "session.followupDock.summary.other": "{{count}}የተሰለፉ መልዕክቶች", + "session.followupDock.sendNow": "አሁን ላክ", + "session.followupDock.edit": "አርትዕ", + "session.followupDock.collapse": "የተሰለፉ መልዕክቶችን ሰብስብ", + "session.followupDock.expand": "የተሰለፉ መልዕክቶችን ዘርጋ", + "session.revertDock.summary.one": "{{count}}የተመለሰ መልዕክት", + "session.revertDock.summary.other": "{{count}}የተመለሱ መልዕክቶች", + "session.revertDock.collapse": "የተመለሱ መልዕክቶችን ሰብስብ", + "session.revertDock.expand": "የተጠቀለሉ መልዕክቶችን ዘርጋ", + "session.revertDock.restore": "መልዕክት እነበረበት መልስ", + "session.new.title": "ማንኛውም ነገር ገንባ", + "session.new.project.new": "አዲስ ፕሮጀክት", + "session.new.project.search": "የፍለጋ ፕሮጀክቶች", + "session.new.project.add": "ፕሮጀክት አክል", + "session.new.worktree.main": "ዋና ቅርንጫፍ", + "session.new.worktree.mainWithBranch": "ዋና ቅርንጫፍ ({{branch}})", + "session.new.worktree.create": "አዲስ Git worktree ፍጠር", + "session.new.workspace.runIn": "ክፍለ ጊዜን በ ውስጥ ያሂዱ", + "session.new.workspace.triggerLocal": "አካባቢ", + "session.new.workspace.local": "አካባቢያዊ ማከማቻ", + "session.new.workspace.existing": "Workspace…", + "session.new.git.none": "ያለ Git", + "session.new.lastModified": "መጨረሻ የተሻሻለው", + "session.header.search.placeholder": "ፍለጋ {{project}}", + "session.header.searchFiles": "ፋይሎችን ይፈልጉ", + "session.header.openIn": "ክፍት ውስጥ", + "session.header.open.action": "ክፈት {{app}}", + "session.header.open.ariaLabel": "በ{{app}} ውስጥ ክፈት", + "session.header.open.menu": "ክፍት አማራጮች", + "session.header.open.copyPath": "መገልበጥ መንገድ", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "ፋይል አሳሽ", + "session.header.open.fileManager": "ፋይል አስተዳዳሪ", + "session.header.reveal.finder": "መገለጥ በFinder", + "session.header.reveal.fileExplorer": "ፋይል ኤክስፕሎረር ውስጥ ይገለጣል", + "session.header.reveal.containingFolder": "አቃፊን የያዘ ክፈት", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "ተርሚናል", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "ሁኔታ", + "status.popover.ariaLabel": "የአገልጋይ ውቅሮች", + "status.popover.tab.servers": "አገልጋዮች", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "ፕለጊኖች", + "status.popover.action.manageServers": "አገልጋዮችን አስተዳድር", + "session.share.popover.title": "በድር ላይ አትም", + "session.share.popover.description.shared": "ይህ ክፍለ ጊዜ በድር ላይ ይፋዊ ነው። አገናኙ ላለው ለማንኛውም ሰው ተደራሽ ነው።", + "session.share.popover.description.unshared": "ክፍለጊዜውን በይፋ በድሩ ላይ አጋራ። አገናኙ ላለው ለማንኛውም ሰው ተደራሽ ይሆናል።", + "session.share.action.share": "አጋራ", + "session.share.action.publish": "አትም", + "session.share.action.publishing": "በህትመት ላይ...", + "session.share.action.unpublish": "አትታተም", + "session.share.action.unpublishing": "ያለመታተም...", + "session.share.action.view": "እይታ", + "session.share.copy.copied": "የተገለበጠ", + "session.share.copy.copyLink": "መገልበጥ አገናኝ", + "lsp.tooltip.none": "ምንም LSP አገልጋዮች", + "lsp.label.connected": "{{count}}LSP", + "prompt.loading": "ፕሮምፕትን በመጫን ላይ...", + "terminal.loading": "በመጫን ላይ ተርሚናል...", + "terminal.title": "ተርሚናል", + "terminal.title.numbered": "ተርሚናል {{number}}", + "terminal.close": "ተርሚናል ዝጋ", + "terminal.connectionLost.title": "ግንኙነቱ ተቋርጧል", + "terminal.connectionLost.abnormalClose": "WebSocket ባልተለመደ ሁኔታ ተዘግቷል፡ {{code}}", + "terminal.connectionLost.description": "የተርሚናል ግንኙነቱ ተቋርጧል። ይህ አገልጋዩ እንደገና ሲጀምር ሊከሰት ይችላል።", + "terminal.connectTicket.csrfError": "PTY ትኬት ማገናኘት በመነሻ ወይም በCSRF ቼኮች ውድቅ ተደርጓል። አገልጋዩን ይመልከቱ CORS ውቅር", + "terminal.connectTicket.statusError": "PTY የግንኙነት ቲኬት ከ{{status}}] ጋር አልተሳካም", + "titlebar.update": "አዘምን", + "titlebar.updateVersion": "አዘምን {{version}}", + "common.closeTab": "ትርፉን ዝጋ", + "common.dismiss": "አሰናብት", + "common.moreCountSuffix": " (+{{count}} ተጨማሪ)", + "common.requestFailed": "ጥያቄው አልተሳካም", + "common.moreOptions": "ተጨማሪ አማራጮች", + "common.learnMore": "ተጨማሪ ለመረዳት", + "common.rename": "ዳግም ስም", + "common.export": "ላክ", + "common.reset": "ዳግም አስጀምር", + "common.archive": "በማህደር አስቀምጥ", + "common.delete": "ሰርዝ", + "common.close": "ዝጋ", + "common.edit": "አርትዕ", + "common.loadMore": "ተጨማሪ ጫን", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "ያልታወቀ", + "common.time.justNow": "አሁን", + "common.time.minutesAgo.short": "{{count}}ደቂቃ በፊት", + "common.time.hoursAgo.short": "{{count}}ከሰዓ በፊት", + "common.time.daysAgo.short": "ከ{{count}} ቀን በፊት", + "sidebar.menu.toggle": "ሜኑ ቀያይር", + "sidebar.nav.projectsAndSessions": "ፕሮጀክቶች እና ክፍለ-ጊዜዎች", + "sidebar.settings": "ቅንጅቶች", + "sidebar.help": "እገዛ", + "sidebar.workspaces.enable": "Workspace-ዎችን አንቃ", + "sidebar.workspaces.disable": "Workspace-ዎችን አሰናክል", + "sidebar.gettingStarted.title": "መጀመር", + "sidebar.gettingStarted.line1": "OpenCode ነፃ ሞዴሎችን ያካትታል ስለዚህ ወዲያውኑ መጀመር ይችላሉ።", + "sidebar.gettingStarted.line2": "ሞዴሎችን ለመጠቀም ማንኛውንም አቅራቢ ያገናኙ፣ Inc. Claude፣ GPT፣ Gemini ወዘተ.", + "sidebar.project.recentSessions": "የቅርብ ጊዜ ክፍለ ጊዜዎች", + "sidebar.project.viewAllSessions": "ሁሉንም ክፍለ ጊዜዎች ይመልከቱ", + "sidebar.project.clearNotifications": "ማሳወቂያዎችን አጽዳ", + "sidebar.empty.title": "ምንም ክፍት ፕሮጀክቶች የሉም", + "sidebar.empty.description": "ለመጀመር ፕሮጀክት ይክፈቱ", + "debugBar.ariaLabel": "የልማት አፈጻጸም ምርመራዎች", + "debugBar.na": "n/a", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": "የክፍለ ጊዜ ገጽን የነካው የመጨረሻው የተጠናቀቀ የመንገድ ሽግግር፣ ከራውተር ጅምር እስከ ከተረጋጋ በኋላ የመጀመሪያው ስዕል ድረስ የሚለካ።", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "ባለፉት 5 ሰከንዶች ውስጥ የሚሽከረከሩ ክፈፎች በሰከንድ።", + "debugBar.frame.label": "ፍሬም", + "debugBar.frame.tip": "ባለፉት 5 ሰከንዶች ውስጥ በጣም መጥፎው የፍሬም ጊዜ።", + "debugBar.jank.label": "መንቀጥቀጥ", + "debugBar.jank.tip": "ባለፉት 5 ሰከንዶች ውስጥ ከ32ሚሴ በላይ ክፈፎች።", + "debugBar.long.label": "ረጅም", + "debugBar.long.tip": "የታገደው ጊዜ እና የረዥም ጊዜ ብዛት በመጨረሻዎቹ 5 ሰከንዶች ውስጥ። ከፍተኛው ተግባር፡ {{max}}", + "debugBar.delay.label": "መዘግየት", + "debugBar.delay.tip": "በመጨረሻዎቹ 5 ሰከንዶች ውስጥ በጣም መጥፎው የታየ የግቤት መዘግየት።", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": "በመጨረሻዎቹ 5 ሰከንዶች ውስጥ ግምታዊ የግንኙነቶች ቆይታ። ይህ INP የሚመስል ነው፣ ይፋዊው የድር ቪታሎች INP አይደለም።", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "ለአሁኑ መተግበሪያ የህይወት ዘመን ድምር አቀማመጥ ለውጥ።", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "ያገለገለ JS ክምር vs ክምር ገደብ። Chromium ብቻ።", + "debugBar.mem.tip": "ያገለገለ JS ክምር vs ክምር ገደብ። {{used}} ከ {{limit}}", + "debugBar.focus.label": "ትኩረት", + "debugBar.focus.tip": "በሁሉም በይነተገናኝ አካላት ላይ የማተኮር ቅጦችን አስገድድ", + "debugBar.focus.on": "በርቷል", + "debugBar.focus.off": "ጠፍቷል", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "የተመረጠውን ቋንቋ ሳይቀይሩ ሙሉውን የመተግበሪያ አቀማመጥ አቅጣጫ ያስገድዱ", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode ዴስክቶፕ", + "settings.section.desktop": "ዴስክቶፕ", + "settings.section.server": "አገልጋይ", + "settings.tab.general": "አጠቃላይ", + "settings.tab.shortcuts": "አቋራጮች", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "WSL ውህደት", + "settings.desktop.wsl.description": "የOpenCode አገልጋዩን በWSL ውስጥ በWindows ላይ ያሂዱ።", + "settings.general.section.appearance": "መልክ", + "settings.general.section.advanced": "የላቀ", + "settings.general.section.notifications": "የስርዓት ማሳወቂያዎች", + "settings.general.section.updates": "ዝማኔዎች", + "settings.general.section.sounds": "የድምጽ ተጽዕኖዎች", + "settings.general.section.feed": "ምግብ", + "settings.general.section.display": "ማሳያ", + "settings.general.row.language.title": "ቋንቋ", + "settings.general.row.language.description": "የማሳያ ቋንቋውን ለOpenCode", + "settings.general.row.shell.title": "ተርሚናል ሼል", + "settings.general.row.shell.description": "ሼል በተርሚናል እና ወኪል መሳሪያዎች ጥቅም ላይ የዋለ", + "settings.general.row.shell.autoDefault": "ራስ-ሰር (ነባሪ)", + "settings.general.row.shell.terminalOnly": "ተርሚናል ብቻ", + "settings.general.row.appearance.title": "መልክ", + "settings.general.row.appearance.description": "OpenCodeበመሣሪያዎ ላይ እንዴት እንደሚታይ ብጁ ያድርጉ", + "settings.general.row.colorScheme.title": "የቀለም ንድፍ", + "settings.general.row.colorScheme.description": "OpenCode ስርዓቱን፣ ብርሃንን ወይም ጨለማውን ገጽታ የሚከተል እንደሆነ ምረጥ", + "settings.general.row.theme.title": "ገጽታ", + "settings.general.row.theme.description": "OpenCode ገጽታ እንዴት እንደሆነ አብጅ።", + "settings.general.row.font.title": "የኮድ ቅርጸ ቁምፊ", + "settings.general.row.font.description": "በኮድ ብሎኮች ውስጥ ጥቅም ላይ የዋለውን ቅርጸ-ቁምፊ አብጅ", + "settings.general.row.terminalFont.title": "ተርሚናል ፊደል", + "settings.general.row.terminalFont.description": "በተርሚናል ውስጥ ጥቅም ላይ የዋለውን ቅርጸ-ቁምፊ አብጅ", + "settings.general.row.uiFont.title": "የUI ቅርጸ ቁምፊ", + "settings.general.row.uiFont.description": "በመገናኛው ሁሉ ጥቅም ላይ የዋለውን ቅርጸ-ቁምፊ አብጅ", + "settings.general.row.followup.title": "መከታተያ ባህሪ", + "settings.general.row.followup.description": "ክትትል የሚጠይቅ ከሆነ ወዲያውኑ ይመራ እንደሆነ ይምረጡ ወይም በሰልፍ ይጠብቁ", + "settings.general.row.followup.option.queue": "ወረፋ", + "settings.general.row.followup.option.steer": "መሪ", + "settings.general.row.showFileTree.title": "ፋይል ዛፍ", + "settings.general.row.showFileTree.description": "የፋይል ዛፍ ፓነልን በክፍሎች ውስጥ አሳይ", + "settings.general.row.showNavigation.title": "የአሰሳ መቆጣጠሪያዎች", + "settings.general.row.showNavigation.description": "በዴስክቶፕ የርዕስ አሞሌ ላይ የኋላ እና ወደፊት ቁልፎችን አሳይ", + "settings.general.row.showSearch.title": "የትእዛዝ ቤተ-ስዕል", + "settings.general.row.showSearch.description": "በርዕስ አሞሌው ላይ የፍለጋ እና የትእዛዝ ቤተ-ስዕል ቁልፍ አሳይ", + "settings.general.row.showTerminal.title": "ተርሚናል", + "settings.general.row.showTerminal.description": "የተርሚናል አዝራሩን በዴስክቶፕ ርዕስ አሞሌ ላይ አሳይ", + "settings.general.row.showStatus.title": "የአገልጋይ ሁኔታ", + "settings.general.row.showStatus.description": "የአገልጋዩን ሁኔታ ቁልፍ በርዕስ አሞሌው ላይ አሳይ", + "settings.general.row.mobileTitlebarBottom.title": "የታችኛው ዳሰሳ", + "settings.general.row.mobileTitlebarBottom.description": "የርዕስ አሞሌውን እና የክፍለ ጊዜ ትሮችን በማያ ገጹ ግርጌ በሞባይል ላይ ያስቀምጡ", + "settings.general.row.showCustomAgents.title": "ወኪሉን አሳይ", + "settings.general.row.showCustomAgents.description": "በአቀናባሪው ውስጥ ባሉ ወኪሎች መካከል ይቀያይሩ። ሲደበቅ፣ ለግንባታ ወኪል ነባሪዎች ይሆናሉ።", + "settings.general.row.reasoningSummaries.title": "የምክንያት ማጠቃለያዎችን አሳይ", + "settings.general.row.reasoningSummaries.description": "የሞዴል ማመዛዘኛ ማጠቃለያዎችን በጊዜ መስመር አሳይ", + "settings.general.row.shellToolPartsExpanded.title": "የሼል መሣሪያ ክፍሎችን ዘርጋ", + "settings.general.row.shellToolPartsExpanded.description": "የሼል መሣሪያ ክፍሎችን በጊዜ መስመር በነባሪነት ያሳዩ", + "settings.general.row.editToolPartsExpanded.title": "የመሳሪያ ክፍሎችን ዘርጋ", + "settings.general.row.editToolPartsExpanded.description": "በጊዜ መስመር በነባሪነት የተዘረጉትን የመሳሪያ ክፍሎችን አርትዕ፣ ጻፍ እና ጠጋኝ አሳይ", + "settings.general.row.newInterface.title": "አዲስ አቀማመጥ", + "settings.general.row.newInterface.badge": "አዲስ", + "settings.general.row.newInterface.description": "አዲሱን ትሮች እና የቤት አቀማመጥ ይጠቀሙ። ለተወሰነ ጊዜ በአቀማመጦች መካከል ይቀያይሩ።", + "settings.general.row.newInterfaceNotice.title": "አሁን አዲስ አቀማመጥ እየተጠቀሙ ነው", + "settings.general.row.newInterfaceNotice.description": "የቀድሞው አቀማመጥ ከአሁን በኋላ አይገኝም", + "settings.general.row.newInterfaceNotice.dismiss": "አሰናብት", + "settings.general.row.pinchZoom.title": "ለማጉላት ቆንጥጦ", + "settings.general.row.pinchZoom.description": "ትራክፓድ መቆንጠጥ እና የCtrl-ማሸብለል ምልክቶችን እንዲያሳድጉ ፍቀድ", + "settings.general.row.wayland.title": "ቤተኛ Wayland", + "settings.general.row.wayland.description": "X11መመለስን በWayland አሰናክል። እንደገና መጀመር ያስፈልገዋል።", + "settings.general.row.wayland.tooltip": "በLinux ላይ በተደባለቀ የማደስ-ተመን ማሳያዎች፣ ቤተኛ Wayland የበለጠ የተረጋጋ ሊሆን ይችላል።", + "settings.general.row.releaseNotes.title": "የልቀት ማስታወሻዎች", + "settings.general.row.releaseNotes.description": "ከዝማኔዎች በኋላ ምን አዲስ ብቅ-ባዮችን አሳይ", + "settings.updates.row.startup.title": "በጅማሬ ላይ ዝማኔዎችን ይመልከቱ", + "settings.updates.row.startup.description": "OpenCode ሲጀመር ዝማኔዎችን በራስ-ሰር ያረጋግጡ", + "settings.updates.row.check.title": "ዝማኔዎችን ይመልከቱ", + "settings.updates.row.check.description": "ዝማኔዎችን ለማግኘት በእጅ ያረጋግጡ እና ካለ ይጫኑ", + "settings.updates.action.checkNow": "አሁን ያረጋግጡ", + "settings.updates.action.checking": "በማጣራት ላይ...", + "settings.updates.action.downloading": "በማውረድ ላይ...", + "settings.updates.action.installing": "በመጫን ላይ...", + "settings.updates.toast.latest.title": "ዘመኑን ጠብቀዋል", + "settings.updates.toast.latest.description": "የቅርብ ጊዜውን የOpenCode እትም እያሄዱ ነው።", + "sound.option.none": "ምንም", + "sound.option.alert01": "Alert 01", + "sound.option.alert02": "Alert 02", + "sound.option.alert03": "Alert 03", + "sound.option.alert04": "Alert 04", + "sound.option.alert05": "Alert 05", + "sound.option.alert06": "Alert 06", + "sound.option.alert07": "Alert 07", + "sound.option.alert08": "Alert 08", + "sound.option.alert09": "Alert 09", + "sound.option.alert10": "Alert 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "Nope 01", + "sound.option.nope02": "Nope 02", + "sound.option.nope03": "Nope 03", + "sound.option.nope04": "Nope 04", + "sound.option.nope05": "Nope 05", + "sound.option.nope06": "Nope 06", + "sound.option.nope07": "Nope 07", + "sound.option.nope08": "Nope 08", + "sound.option.nope09": "Nope 09", + "sound.option.nope10": "Nope 10", + "sound.option.nope11": "Nope 11", + "sound.option.nope12": "Nope 12", + "sound.option.yup01": "Yup 01", + "sound.option.yup02": "Yup 02", + "sound.option.yup03": "Yup 03", + "sound.option.yup04": "Yup 04", + "sound.option.yup05": "Yup 05", + "sound.option.yup06": "Yup 06", + "settings.general.notifications.agent.title": "ወኪል", + "settings.general.notifications.agent.description": "ወኪሉ ሲጠናቀቅ ወይም ትኩረት ሲፈልግ የስርዓት ማሳወቂያን አሳይ", + "settings.general.notifications.permissions.title": "ፍቃዶች", + "settings.general.notifications.permissions.description": "ፍቃድ በሚያስፈልግበት ጊዜ የስርዓት ማሳወቂያን አሳይ", + "settings.general.notifications.errors.title": "ስህተት", + "settings.general.notifications.errors.description": "ስህተት ሲከሰት የስርዓት ማሳወቂያን አሳይ", + "settings.general.sounds.agent.title": "ወኪል", + "settings.general.sounds.agent.description": "ወኪሉ ሲጠናቀቅ ወይም ትኩረት ሲፈልግ ድምጽ ያጫውቱ", + "settings.general.sounds.permissions.title": "ፍቃዶች", + "settings.general.sounds.permissions.description": "ፍቃድ በሚያስፈልግበት ጊዜ ድምጽ ያጫውቱ", + "settings.general.sounds.errors.title": "ስህተት", + "settings.general.sounds.errors.description": "ስህተት ሲከሰት ድምጽ ያጫውቱ", + "settings.shortcuts.title": "የቁልፍ ሰሌዳ አቋራጮች", + "settings.shortcuts.reset.button": "ወደ ነባሪዎች ዳግም አስጀምር", + "settings.shortcuts.reset.toast.title": "የአቋራጮች ዳግም ማስጀመር", + "settings.shortcuts.reset.toast.description": "የቁልፍ ሰሌዳ አቋራጮች ወደ ነባሪዎች ተቀይረዋል።", + "settings.shortcuts.conflict.title": "አቋራጭ አስቀድሞ ጥቅም ላይ ውሏል", + "settings.shortcuts.conflict.description": "{{keybind}} አስቀድሞ ለ{{titles}} ተመድቧል።", + "settings.shortcuts.unassigned": "ያልተመደበ", + "settings.shortcuts.pressKeys": "ቁልፎችን ይጫኑ", + "settings.shortcuts.search.placeholder": "አቋራጮችን ይፈልጉ", + "settings.shortcuts.search.empty": "ምንም አቋራጮች አልተገኙም", + "settings.shortcuts.group.general": "አጠቃላይ", + "settings.shortcuts.group.session": "ክፍለ ጊዜ", + "settings.shortcuts.group.navigation": "ዳሰሳ", + "settings.shortcuts.group.modelAndAgent": "ሞዴል እና ወኪል", + "settings.shortcuts.group.terminal": "ተርሚናል", + "settings.shortcuts.group.prompt": "ፕሮምፕት", + "settings.providers.title": "አቅራቢዎች", + "settings.providers.description": "የአቅራቢዎች መቼቶች እዚህ ሊዋቀሩ ይችላሉ።", + "settings.providers.section.connected": "የተገናኙ አቅራቢዎች", + "settings.providers.connected.empty": "ምንም የተገናኙ አቅራቢዎች የሉም", + "settings.providers.connected.environmentDescription": "ከአካባቢዎ ተለዋዋጮች ጋር የተገናኘ", + "settings.providers.section.popular": "ታዋቂ አቅራቢዎች", + "settings.providers.custom.description": "OpenAI-ተኳሃኝ አቅራቢን በመሠረት URL ያክሉ።", + "settings.providers.tag.environment": "አካባቢ", + "settings.providers.tag.config": "ውቅር", + "settings.providers.tag.custom": "ብጁ", + "settings.providers.tag.other": "ሌላ", + "settings.models.title": "ሞዴሎች", + "settings.models.description": "የሞዴል ቅንብሮች እዚህ ሊዋቀሩ ይችላሉ።", + "settings.agents.title": "ወኪሎች", + "settings.agents.description": "የወኪል ቅንብሮች እዚህ ይዋቀራሉ።", + "settings.commands.title": "ትዕዛዞች", + "settings.commands.description": "የትእዛዝ ቅንብሮች እዚህ ይዋቀራሉ።", + "settings.mcp.title": "MCP", + "settings.mcp.description": "MCPቅንብሮች እዚህ ይዋቀራሉ።", + "settings.permissions.title": "ፍቃዶች", + "settings.permissions.description": "አገልጋዩ በነባሪነት ምን ዓይነት መሳሪያዎችን መጠቀም እንደሚችል ይቆጣጠሩ።", + "settings.permissions.section.tools": "መሳሪያዎች", + "settings.permissions.toast.updateFailed.title": "ፍቃዶችን ማዘመን አልተሳካም", + "settings.permissions.action.allow": "ፍቀድ", + "settings.permissions.action.ask": "ጥያቄ", + "settings.permissions.action.deny": "ክድ", + "settings.permissions.tool.read.title": "አንብብ", + "settings.permissions.tool.read.description": "ፋይል ማንበብ (ከፋይል ዱካ ጋር ይዛመዳል)", + "settings.permissions.tool.edit.title": "አርትዕ", + "settings.permissions.tool.edit.description": "አርትዖቶችን፣ ጽሁፎችን እና መጠገኛዎችን ጨምሮ ፋይሎችን ይቀይሩ", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "የግሎብ ቅጦችን በመጠቀም ፋይሎችን አዛምድ", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "መደበኛ መግለጫዎችን በመጠቀም የፋይል ይዘቶችን ይፈልጉ", + "settings.permissions.tool.list.title": "ዝርዝር", + "settings.permissions.tool.list.description": "ፋይሎችን በማውጫ ውስጥ ይዘርዝሩ", + "settings.permissions.tool.bash.title": "Bash", + "settings.permissions.tool.bash.description": "የሼል ትዕዛዞችን አሂድ", + "settings.permissions.tool.task.title": "ተግባር", + "settings.permissions.tool.task.description": "ንዑስ ወኪሎችን አስጀምር", + "settings.permissions.tool.skill.title": "ክህሎት", + "settings.permissions.tool.skill.description": "ችሎታ በስም ጫን", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "የቋንቋ አገልጋይ ጥያቄዎችን አሂድ", + "settings.permissions.tool.todowrite.title": "Todo Write", + "settings.permissions.tool.todowrite.description": "የሚከናወኑ ሥራዎችን ዝርዝር ያዘምኑ", + "settings.permissions.tool.webfetch.title": "ድር ፈልጎ", + "settings.permissions.tool.webfetch.description": "ይዘትን ከURL አምጣ", + "settings.permissions.tool.websearch.title": "ድር ፍለጋ", + "settings.permissions.tool.websearch.description": "ድሩን ይፈልጉ", + "settings.permissions.tool.external_directory.title": "የውጭ ማውጫ", + "settings.permissions.tool.external_directory.description": "ፋይሎችን ከፕሮጀክት ማውጫ ውጭ ይድረሱ", + "settings.permissions.tool.doom_loop.title": "Doom Loop", + "settings.permissions.tool.doom_loop.description": "ተመሳሳይ ግብዓት ያላቸው ተደጋጋሚ የመሳሪያ ጥሪዎችን አግኝ", + "session.delete.failed.title": "ክፍለ-ጊዜን መሰረዝ አልተሳካም", + "session.delete.title": "ክፍለ ጊዜን ሰርዝ", + "session.delete.confirm": 'ክፍለ-ጊዜውን ይሰርዙ"{{name}}?', + "session.delete.button": "ክፍለ ጊዜን ሰርዝ", + "workspace.new": "አዲስ workspace", + "workspace.type.local": "አካባቢ", + "workspace.type.sandbox": "ማጠሪያ", + "workspace.create.failed.title": "Workspace መፍጠር አልተሳካም", + "workspace.delete.failed.title": "Workspace መሰረዝ አልተሳካም", + "workspace.resetting.title": "Workspaceን ዳግም በማስጀመር ላይ", + "workspace.resetting.description": "ይህ አንድ ደቂቃ ሊወስድ ይችላል።", + "workspace.reset.failed.title": "Workspaceን ዳግም ማስጀመር አልተቻለም", + "workspace.reset.success.title": "Workspace ዳግም ተጀምሯል", + "workspace.reset.success.description": "Workspace አሁን ከነባሪው ቅርንጫፍ ጋር ይዛመዳል።", + "workspace.error.stillPreparing": "Workspace አሁንም በመዘጋጀት ላይ ነው", + "workspace.status.checking": "ያልተጣመሩ ለውጦችን በመፈተሽ ላይ...", + "workspace.status.error": "git ሁኔታን ማረጋገጥ አልተቻለም።", + "workspace.status.clean": "ምንም ያልተዋሃዱ ለውጦች አልተገኙም።", + "workspace.status.dirty": "ያልተቀላቀሉ ለውጦች በዚህ workspace ላይ ተገኝተዋል።", + "workspace.delete.title": "Workspaceን ሰርዝ", + "workspace.delete.confirm": 'Workspace "{{name}}" ይሰረዝ?', + "workspace.delete.button": "Workspaceን ሰርዝ", + "workspace.reset.title": "Workspaceን ዳግም አስጀምር", + "workspace.reset.confirm": 'Workspace "{{name}}" ዳግም ይጀመር?', + "workspace.reset.button": "Workspaceን ዳግም አስጀምር", + "workspace.reset.archived.none": "ምንም ንቁ ክፍለ ጊዜዎች አይቀመጡም።", + "workspace.reset.archived.one": "1 ክፍለ ጊዜ በማህደር ይቀመጣል።", + "workspace.reset.archived.many": "{{count}} ክፍለ-ጊዜዎች በማህደር ይቀመጣሉ።", + "workspace.reset.note": "ይህ workspaceን ከነባሪው ቅርንጫፍ ጋር እንዲመሳሰል ዳግም ያስጀምረዋል።", + "dialog.usageExceeded.dontShowAgain": "እንደገና አታሳይ", +} diff --git a/packages/app/src/i18n/ar.ts b/packages/app/src/i18n/ar.ts index 89fa39463735..3f55b3084088 100644 --- a/packages/app/src/i18n/ar.ts +++ b/packages/app/src/i18n/ar.ts @@ -1,4 +1,102 @@ export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "ملف", + "desktop.menu.edit": "تحرير", + "desktop.menu.view": "عرض", + "desktop.menu.go": "انتقال", + "desktop.menu.window": "نافذة", + "desktop.menu.help": "مساعدة", + "desktop.menu.checkForUpdates": "التحقق من وجود تحديثات...", + "desktop.menu.settings": "الإعدادات", + "desktop.menu.reloadWebview": "إعادة تحميل Webview", + "desktop.menu.restart": "إعادة التشغيل", + "desktop.menu.exportLogs": "تصدير السجلات...", + "desktop.menu.newSession": "جلسة جديدة", + "desktop.menu.openProject": "فتح مشروع...", + "desktop.menu.newWindow": "نافذة جديدة", + "desktop.menu.closeWindow": "إغلاق النافذة", + "desktop.menu.undo": "تراجع", + "desktop.menu.redo": "إعادة", + "desktop.menu.cut": "قص", + "desktop.menu.copy": "نسخ", + "desktop.menu.paste": "لصق", + "desktop.menu.delete": "حذف", + "desktop.menu.selectAll": "تحديد الكل", + "desktop.menu.toggleSidebar": "إظهار الشريط الجانبي أو إخفاؤه", + "desktop.menu.toggleTerminal": "إظهار المحطة الطرفية أو إخفاؤها", + "desktop.menu.toggleFileTree": "إظهار شجرة الملفات أو إخفاؤها", + "desktop.menu.reload": "إعادة التحميل", + "desktop.menu.toggleDeveloperTools": "إظهار أدوات المطور أو إخفاؤها", + "desktop.menu.actualSize": "الحجم الفعلي", + "desktop.menu.zoomIn": "تكبير", + "desktop.menu.zoomOut": "تصغير", + "desktop.menu.toggleFullScreen": "الدخول إلى ملء الشاشة أو الخروج منه", + "desktop.menu.back": "رجوع", + "desktop.menu.forward": "تقدم", + "desktop.menu.previousSession": "الجلسة السابقة", + "desktop.menu.nextSession": "الجلسة التالية", + "desktop.menu.previousProject": "المشروع السابق", + "desktop.menu.nextProject": "المشروع التالي", + "desktop.menu.minimize": "تصغير النافذة", + "desktop.menu.maximize": "تكبير النافذة", + "desktop.menu.documentation": "وثائق OpenCode", + "desktop.menu.supportForum": "منتدى الدعم", + "desktop.menu.shareFeedback": "إرسال الملاحظات", + "desktop.menu.reportBug": "الإبلاغ عن خلل", + "desktop.menu.ariaLabel": "قائمة OpenCode", + + "desktop.updater.dialog.checkFailed.message": "فشل التحقق من وجود تحديثات.", + "desktop.updater.dialog.checkFailed.title": "خطأ في التحديث", + "desktop.updater.dialog.upToDate.message": "لديك أحدث إصدار.", + "desktop.updater.dialog.upToDate.title": "لا توجد تحديثات", + "desktop.updater.dialog.ready.message": "تم تنزيل التحديث {{version}}. هل تريد إعادة التشغيل الآن؟", + "desktop.updater.dialog.ready.title": "التحديث جاهز", + "desktop.updater.dialog.restart": "إعادة التشغيل", + "desktop.updater.dialog.later": "لاحقًا", + + "desktop.recovery.action.relaunch": "إعادة تشغيل التطبيق", + "desktop.recovery.action.exportLogs": "تصدير السجلات", + "desktop.recovery.action.keepWaiting": "متابعة الانتظار", + "desktop.recovery.action.quit": "إنهاء", + "desktop.recovery.loadFailed": "فشل تحميل OpenCode", + "desktop.recovery.terminated": "توقفت نافذة OpenCode بشكل غير متوقع", + "desktop.recovery.unresponsive": "OpenCode لا يستجيب", + "desktop.recovery.unresponsive.detail": "يمكنك إعادة تشغيل التطبيق أو فتح السجلات أو متابعة الانتظار.", + "desktop.recovery.loadFailed.detail": "النافذة: {{window}}\nعنوان URL: {{url}}\nالخطأ: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "النافذة: {{window}}\nالسبب: {{reason}}\nالرمز: {{code}}", + "desktop.recovery.unknown": "<غير معروف>", + + "desktop.dialog.chooseFolder": "اختيار مجلد", + "desktop.dialog.chooseFile": "اختيار ملف", + "desktop.dialog.saveFile": "حفظ الملف", + "desktop.dialog.files": "الملفات", + "desktop.server.local": "الخادم المحلي", + + "desktop.wsl.error.windowsOnly": "لا يتوفر WSL إلا على Windows", + "desktop.wsl.error.unavailable": "WSL غير متاح", + "desktop.wsl.error.listInstalled": "فشل سرد توزيعات WSL المثبتة", + "desktop.wsl.error.listOnline": "فشل سرد توزيعات WSL المتاحة عبر الإنترنت", + "desktop.wsl.error.executeDistro": "تعذر تنفيذ الأوامر في التوزيعة", + "desktop.wsl.error.installWsl": "فشل تثبيت WSL", + "desktop.wsl.error.installDistro": "فشل تثبيت التوزيعة: {{distro}}", + "desktop.wsl.error.installOpencode": "فشل تثبيت OpenCode", + "desktop.wsl.error.alreadyAdded": "تمت إضافة {{distro}} بالفعل", + "desktop.wsl.error.opencodeMissing": "opencode غير مثبت في هذه التوزيعة", + "desktop.wsl.error.opencodeCannotRun": "opencode مثبت، لكن تعذر تشغيله", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode غير مثبت في {{distro}}", + "desktop.wsl.error.updateVersion": + "اكتمل تحديث OpenCode، لكن {{distro}} ما زالت تعرض الإصدار {{installed}}؛ الإصدار المتوقع هو {{expected}}", + "desktop.wsl.error.noVersion": "لا يوجد إصدار", + "desktop.wsl.error.serverExited": "خرج خادم WSL بعد بدء التشغيل (code={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "خرج خادم WSL قبل أن يصبح سليمًا (code={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": "انتهت مهلة فحص سلامة العملية المصاحبة للتوزيعة {{distro}} بعد {{timeout}}ms", + "desktop.wsl.error.commandTimeout": "انتهت مهلة {{command}} {{args}} بعد {{timeout}}ms", + "desktop.wsl.error.failedPort": "فشل الحصول على المنفذ", + + "desktop.picker.error.notSelected": "لم يحدد منتقي الملفات ملفًا", + "desktop.picker.error.sizeLimit": "تتجاوز المرفقات المحددة الحد البالغ {{limit}} MB", + "command.category.suggested": "مقترح", "command.category.view": "عرض", "command.category.project": "مشروع", @@ -16,6 +114,7 @@ export const dict = { "command.category.permissions": "أذونات", "command.category.workspace": "مساحة عمل", "command.category.settings": "إعدادات", + "command.logs.export": "تصدير السجلات", "theme.scheme.system": "نظام", "theme.scheme.light": "فاتح", "theme.scheme.dark": "داكن", @@ -59,16 +158,16 @@ export const dict = { "command.message.next.description": "انتقل إلى رسالة المستخدم التالية", "command.model.choose": "اختيار نموذج", "command.model.choose.description": "حدد نموذجًا مختلفًا", - "command.mcp.toggle": "تبديل MCPs", - "command.mcp.toggle.description": "تبديل MCPs", + "command.mcp.toggle": "تبديل خوادم MCP", + "command.mcp.toggle.description": "تبديل خوادم MCP", "command.agent.cycle": "تغيير الوكيل", "command.agent.cycle.description": "التبديل إلى الوكيل التالي", "command.agent.cycle.reverse": "تغيير الوكيل للخلف", "command.agent.cycle.reverse.description": "التبديل إلى الوكيل السابق", - "command.model.variant.cycle": "تغيير جهد التفكير", + "command.model.variant.cycle": "تغيير جهد الاستدلال", "command.model.variant.cycle.description": "التبديل إلى مستوى الجهد التالي", "command.prompt.mode.shell": "Shell", - "command.prompt.mode.normal": "Prompt", + "command.prompt.mode.normal": "موجّه", "command.permissions.autoaccept.enable": "قبول الأذونات تلقائيًا", "command.permissions.autoaccept.disable": "إيقاف قبول الأذونات تلقائيًا", "command.workspace.toggle": "تبديل مساحات العمل", @@ -85,6 +184,9 @@ export const dict = { "command.session.share.description": "مشاركة هذه الجلسة ونسخ الرابط إلى الحافظة", "command.session.unshare": "إلغاء مشاركة الجلسة", "command.session.unshare.description": "إيقاف مشاركة هذه الجلسة", + "command.session.export": "تصدير الجلسة", + "command.session.export.description": "تصدير النص الكامل للجلسة بصيغة JSON", + "palette.search.placeholder": "البحث في الملفات والأوامر والجلسات", "palette.search.placeholder.home": "البحث في الأوامر والجلسات", "palette.empty": "لا توجد نتائج", @@ -94,13 +196,14 @@ export const dict = { "dialog.provider.empty": "لم يتم العثور على موفرين", "dialog.provider.group.popular": "شائع", "dialog.provider.group.other": "آخر", + "dialog.provider.custom.label": "موفر مخصص متوافق مع OpenAI", "dialog.provider.tag.recommended": "موصى به", "dialog.provider.opencode.note": "نماذج مختارة تتضمن Claude و GPT و Gemini والمزيد", "dialog.provider.opencode.tagline": "نماذج موثوقة ومحسنة", "dialog.provider.opencodeGo.tagline": "اشتراك منخفض التكلفة للجميع", - "dialog.provider.anthropic.note": "اتصل باستخدام Claude Pro/Max أو مفتاح API", - "dialog.provider.copilot.note": "اتصل باستخدام Copilot أو مفتاح API", - "dialog.provider.openai.note": "اتصل باستخدام ChatGPT Pro/Plus أو مفتاح API", + "dialog.provider.anthropic.note": "وصول مباشر إلى نماذج Claude، بما فيها Pro و Max", + "dialog.provider.copilot.note": "نماذج ذكاء اصطناعي للمساعدة في البرمجة عبر GitHub Copilot", + "dialog.provider.openai.note": "نماذج GPT لمهام الذكاء الاصطناعي العامة السريعة والمتقدمة", "dialog.provider.google.note": "نماذج Gemini لاستجابات سريعة ومنظمة", "dialog.provider.openrouter.note": "الوصول إلى جميع النماذج المدعومة من موفر واحد", "dialog.provider.vercel.note": "وصول موحد إلى نماذج الذكاء الاصطناعي مع توجيه ذكي", @@ -112,17 +215,20 @@ export const dict = { "dialog.model.manage.provider.toggle": "تبديل جميع نماذج {{provider}}", "dialog.model.unpaid.freeModels.title": "نماذج مجانية مقدمة من OpenCode", "dialog.model.unpaid.addMore.title": "إضافة المزيد من النماذج من موفرين مشهورين", + "dialog.model.unpaid.viewMoreProviders": "عرض أكثر من 70 موفرًا إضافيًا", "dialog.provider.viewAll": "عرض المزيد من الموفرين", - "provider.connect.title": "اتصال {{provider}}", + "provider.connect.title": "الاتصال بـ {{provider}}", "provider.connect.title.anthropicProMax": "تسجيل الدخول باستخدام Claude Pro/Max", "provider.connect.selectMethod": "حدد طريقة تسجيل الدخول لـ {{provider}}.", "provider.connect.method.apiKey": "مفتاح API", + "provider.connect.method.browser": "المتصفح", + "provider.connect.method.headless": "بدون واجهة رسومية", "provider.connect.status.inProgress": "جارٍ التفويض...", "provider.connect.status.waiting": "في انتظار التفويض...", "provider.connect.status.failed": "فشل التفويض: {{error}}", "provider.connect.apiKey.description": - "أدخل مفتاح واجهة برمجة تطبيقات {{provider}} الخاص بك لتوصيل حسابك واستخدام نماذج {{provider}} في OpenCode.", - "provider.connect.apiKey.label": "مفتاح واجهة برمجة تطبيقات {{provider}}", + "أدخل مفتاح API الخاص بـ {{provider}} لتوصيل حسابك واستخدام نماذج {{provider}} في OpenCode.", + "provider.connect.apiKey.label": "مفتاح API لـ {{provider}}", "provider.connect.apiKey.placeholder": "مفتاح API", "provider.connect.apiKey.required": "مفتاح API مطلوب", "provider.connect.opencodeZen.line1": @@ -148,6 +254,7 @@ export const dict = { "provider.connect.toast.connected.title": "تم توصيل {{provider}}", "provider.connect.toast.connected.description": "نماذج {{provider}} متاحة الآن للاستخدام.", "provider.custom.title": "موفر مخصص", + "provider.custom.unavailable": "الموفرون المخصصون غير متاحين على هذا الخادم", "provider.custom.description.prefix": "تكوين موفر متوافق مع OpenAI. راجع ", "provider.custom.description.link": "وثائق تكوين الموفر", "provider.custom.description.suffix": ".", @@ -196,26 +303,26 @@ export const dict = { "model.input.image": "صورة", "model.input.audio": "صوت", "model.input.video": "فيديو", - "model.input.pdf": "pdf", + "model.input.pdf": "PDF", "model.tooltip.allows": "يسمح: {{inputs}}", "model.tooltip.context.label": "السياق", "model.tooltip.inputs": "المدخلات", "model.tooltip.model": "النموذج", "model.tooltip.provider": "الموفر", - "model.tooltip.reasoning": "الاستنتاج", - "model.tooltip.reasoning.allowed": "يسمح بالاستنتاج", - "model.tooltip.reasoning.none": "بدون استنتاج", + "model.tooltip.reasoning": "الاستدلال", + "model.tooltip.reasoning.allowed": "يدعم الاستدلال", + "model.tooltip.reasoning.none": "بدون استدلال", "model.tooltip.context": "حد السياق {{limit}}", "common.search.placeholder": "بحث", "common.goBack": "رجوع", - "common.goForward": "انتقل للأمام", + "common.goForward": "التقدم", "common.loading": "جارٍ التحميل", "common.loading.ellipsis": "...", "common.cancel": "إلغاء", "common.clear": "مسح", "common.connect": "اتصال", "common.disconnect": "قطع الاتصال", - "common.continue": "إرسال", + "common.continue": "متابعة", "common.submit": "إرسال", "common.save": "حفظ", "common.saving": "جارٍ الحفظ...", @@ -227,7 +334,7 @@ export const dict = { "prompt.placeholder.summarizeComments": "لخّص التعليقات…", "prompt.placeholder.summarizeComment": "لخّص التعليق…", "prompt.mode.shell": "Shell", - "prompt.mode.normal": "Prompt", + "prompt.mode.normal": "موجّه", "prompt.mode.shell.exit": "esc للخروج", "session.child.promptDisabled": "لا يمكن إرسال موجّهات إلى جلسات الوكلاء الفرعيين.", "session.child.backToParent": "العودة إلى الجلسة الرئيسية.", @@ -249,17 +356,17 @@ export const dict = { "prompt.example.16": "إضافة معالجة الأخطاء لهذه الدالة", "prompt.example.17": "اشرح نمط regex هذا", "prompt.example.18": "تحويل هذا إلى TypeScript", - "prompt.example.19": "إضافة تسجيل الدخول (logging) في جميع أنحاء قاعدة التعليمات البرمجية", + "prompt.example.19": "إضافة التسجيل في جميع أنحاء قاعدة التعليمات البرمجية", "prompt.example.20": "ما هي التبعيات القديمة؟", - "prompt.example.21": "ساعدني في كتابة برنامج نصي للهجرة", - "prompt.example.22": "تنفيذ التخزين المؤقت لهذه النقطة النهائية", + "prompt.example.21": "ساعدني في كتابة برنامج نصي للترحيل", + "prompt.example.22": "تنفيذ التخزين المؤقت لنقطة النهاية هذه", "prompt.example.23": "إضافة ترقيم الصفحات إلى هذه القائمة", "prompt.example.24": "إنشاء أمر CLI لـ...", "prompt.example.25": "كيف تعمل متغيرات البيئة هنا؟", "prompt.popover.emptyResults": "لا توجد نتائج مطابقة", "prompt.popover.emptyCommands": "لا توجد أوامر مطابقة", "prompt.dropzone.label": "أفلت الصور أو ملفات PDF أو الملفات النصية هنا", - "prompt.dropzone.file.label": "أفلت لإشارة @ للملف", + "prompt.dropzone.file.label": "أفلت الملف للإشارة إليه باستخدام @", "prompt.slash.badge.custom": "مخصص", "prompt.slash.badge.skill": "مهارة", "prompt.slash.badge.mcp": "mcp", @@ -267,7 +374,7 @@ export const dict = { "prompt.context.includeActiveFile": "تضمين الملف النشط", "prompt.context.removeActiveFile": "إزالة الملف النشط من السياق", "prompt.context.removeFile": "إزالة الملف من السياق", - "prompt.action.attachFile": "إرفاق ملف", + "prompt.action.attachFile": "إضافة ملفات", "prompt.menu.addImagesAndFiles": "إضافة ملفات والمزيد", "prompt.menu.imagesAndFiles": "الصور والملفات", "prompt.menu.commands": "الأوامر", @@ -275,7 +382,7 @@ export const dict = { "prompt.menu.shellCommand": "أمر shell", "prompt.attachment.remove": "إزالة المرفق", "prompt.action.send": "إرسال", - "prompt.action.stop": "توقف", + "prompt.action.stop": "إيقاف", "prompt.toast.pasteUnsupported.title": "مرفق غير مدعوم", "prompt.toast.attachmentDuplicate.title": "تم تحميل هذا الملف بالفعل", "prompt.toast.pasteUnsupported.description": "يمكن إرفاق الصور أو ملفات PDF أو الملفات النصية فقط هنا.", @@ -287,10 +394,10 @@ export const dict = { "prompt.toast.commandSendFailed.title": "فشل إرسال الأمر", "prompt.toast.promptSendFailed.title": "فشل إرسال الموجه", "prompt.toast.promptSendFailed.description": "تعذر استرداد الجلسة", - "dialog.mcp.title": "MCPs", - "dialog.mcp.description": "{{enabled}} من {{total}} مفعل", - "dialog.mcp.empty": "لم يتم تكوين MCPs", - "dialog.lsp.empty": "تم الكشف تلقائيًا عن LSPs من أنواع الملفات", + "dialog.mcp.title": "خوادم MCP", + "dialog.mcp.description": "تم تفعيل {{enabled}} من أصل {{total}}", + "dialog.mcp.empty": "لم يتم تكوين أي خوادم MCP", + "dialog.lsp.empty": "تُكتشف خوادم LSP تلقائيًا من أنواع الملفات", "dialog.plugins.empty": "الإضافات المكونة في opencode.json", "mcp.status.connected": "متصل", "mcp.status.failed": "فشل", @@ -401,6 +508,21 @@ export const dict = { "wsl.onboarding.desktopVersion": "سطح المكتب {{version}}", "wsl.onboarding.versionMismatch": "لا يتطابق الإصدار المثبت مع إصدار تطبيق سطح المكتب.", "wsl.onboarding.adding": "جارٍ الإضافة...", + "help.tabs.toast.ariaLabel": "نقدّم علامات التبويب. نظّم عملك وجلساتك النشطة باستخدام علامات التبويب", + "help.tabs.toast.dismiss": "إغلاق معلومات علامات التبويب", + "help.tabs.title": "نقدّم علامات التبويب", + "help.tabs.description": "نظّم عملك وجلساتك النشطة باستخدام علامات التبويب", + "help.tabs.date": "14 يوليو", + "help.tabs.introduction": "أصبح OpenCode Desktop الآن قائمًا على علامات التبويب.", + "help.tabs.sessions": + "ابدأ جلسة جديدة في علامة تبويب، أو افتح جلسة حالية من أي من مشاريعك. افتح علامة تبويب جديدة عندما تبدأ عملاً جديدًا، وأغلقها عند الانتهاء.", + "help.tabs.organize": + "يسهّل إبقاء بضع علامات تبويب مفتوحة تنظيم جلساتك النشطة. أعد تسمية علامات التبويب بأسماء يسهل تذكرها إذا كنت تنوي إبقاءها مفتوحة.", + "help.tabs.home": + "ستجد جميع جلساتك ومشاريعك في شاشة الصفحة الرئيسية الجديدة. يؤدي تحديد جلسة إلى فتحها في علامة تبويب.", + "help.tabs.persistence": "عندما تعيد فتح التطبيق، تظل علامات تبويبك مفتوحة.", + "help.tabs.worktrees": + "لا يدعم التصميم الجديد أشجار عمل Git حتى الآن، وستتوفر قريبًا. لذلك، إذا كنت تفضل مواصلة استخدام التخطيط السابق، فيمكنك التبديل بين التخطيطات في الإعدادات. ضع في اعتبارك أن التخطيط الجديد سيصبح دائمًا خلال بضعة أسابيع.", "dialog.project.edit.title": "تحرير المشروع", "dialog.project.edit.name": "الاسم", "dialog.project.edit.icon": "أيقونة", @@ -409,35 +531,39 @@ export const dict = { "dialog.project.edit.icon.recommended": "موصى به: 128x128px", "dialog.project.edit.color": "لون", "dialog.project.edit.color.select": "اختر لون {{color}}", - "dialog.project.edit.worktree.startup": "سكريبت بدء تشغيل مساحة العمل", + "dialog.project.edit.worktree.startup": "برنامج نصي لبدء تشغيل مساحة العمل", "dialog.project.edit.worktree.startup.description": "يتم تشغيله بعد إنشاء مساحة عمل جديدة (شجرة عمل).", "dialog.project.edit.worktree.startup.placeholder": "مثال: bun install", + "dialog.usageExceeded.dontShowAgain": "عدم الإظهار مرة أخرى", + "context.breakdown.title": "تفصيل السياق", - "context.breakdown.note": 'تفصيل تقريبي لرموز الإدخال. يشمل "أخرى" تعريفات الأدوات والنفقات العامة.', + "context.breakdown.note": 'تفصيل تقريبي لرموز الإدخال المميزة. يشمل "أخرى" تعريفات الأدوات والأعباء الإضافية.', "context.breakdown.system": "النظام", "context.breakdown.user": "المستخدم", "context.breakdown.assistant": "المساعد", - "context.breakdown.tool": "استدعاءات الأداة", + "context.breakdown.tool": "استدعاءات الأدوات", "context.breakdown.other": "أخرى", - "context.systemPrompt.title": "موجه النظام", + "context.systemPrompt.title": "موجّه النظام", "context.rawMessages.title": "الرسائل الخام", + "context.export.session": "تصدير الجلسة", + "context.stats.session": "جلسة", "context.stats.messages": "رسائل", "context.stats.provider": "موفر", "context.stats.model": "نموذج", "context.stats.limit": "حد السياق", - "context.stats.totalTokens": "إجمالي الرموز", + "context.stats.totalTokens": "إجمالي الرموز المميزة", "context.stats.usage": "استخدام", - "context.stats.inputTokens": "رموز الإدخال", - "context.stats.outputTokens": "رموز الإخراج", - "context.stats.reasoningTokens": "رموز الاستنتاج", - "context.stats.cacheTokens": "رموز التخزين المؤقت (قراءة/كتابة)", + "context.stats.inputTokens": "رموز الإدخال المميزة", + "context.stats.outputTokens": "رموز الإخراج المميزة", + "context.stats.reasoningTokens": "رموز الاستدلال المميزة", + "context.stats.cacheTokens": "رموز التخزين المؤقت المميزة (قراءة/كتابة)", "context.stats.userMessages": "رسائل المستخدم", "context.stats.assistantMessages": "رسائل المساعد", "context.stats.totalCost": "التكلفة الإجمالية", "context.stats.sessionCreated": "تم إنشاء الجلسة", "context.stats.lastActivity": "آخر نشاط", - "context.usage.tokens": "رموز", + "context.usage.tokens": "الرموز المميزة", "context.usage.usage": "استخدام", "context.usage.cost": "تكلفة", "context.usage.clickToView": "انقر لعرض السياق", @@ -465,9 +591,9 @@ export const dict = { "toast.theme.title": "تم تبديل السمة", "toast.scheme.title": "مخطط الألوان", "toast.workspace.enabled.title": "تم تمكين مساحات العمل", - "toast.workspace.enabled.description": "الآن يتم عرض عدة worktrees في الشريط الجانبي", + "toast.workspace.enabled.description": "تُعرض الآن عدة أشجار عمل في الشريط الجانبي", "toast.workspace.disabled.title": "تم تعطيل مساحات العمل", - "toast.workspace.disabled.description": "يتم عرض worktree الرئيسي فقط في الشريط الجانبي", + "toast.workspace.disabled.description": "تُعرض شجرة العمل الرئيسية فقط في الشريط الجانبي", "toast.permissions.autoaccept.on.title": "يتم قبول الأذونات تلقائيًا", "toast.permissions.autoaccept.on.description": "ستتم الموافقة على طلبات الأذونات تلقائيًا", "toast.permissions.autoaccept.off.title": "تم إيقاف قبول الأذونات تلقائيًا", @@ -487,9 +613,14 @@ export const dict = { "toast.session.unshare.success.description": "تم إلغاء مشاركة الجلسة بنجاح!", "toast.session.unshare.failed.title": "فشل إلغاء مشاركة الجلسة", "toast.session.unshare.failed.description": "حدث خطأ أثناء إلغاء مشاركة الجلسة", + "toast.session.export.success.title": "تم تصدير الجلسة", + "toast.session.export.success.description": "تم حفظ الجلسة في \u2068{{filename}}\u2069", + "toast.session.export.failed.title": "فشل تصدير الجلسة", + "toast.session.export.failed.description": "حدث خطأ أثناء تصدير الجلسة", + "toast.session.listFailed.title": "فشل تحميل الجلسات لـ {{project}}", "toast.update.title": "تحديث متاح", - "toast.update.description": "نسخة جديدة من OpenCode ({{version}}) متاحة الآن للتثبيت.", + "toast.update.description": "يتوفر الآن إصدار جديد من OpenCode ({{version}}) للتثبيت.", "toast.update.action.installRestart": "تثبيت وإعادة تشغيل", "toast.update.action.notYet": "ليس الآن", "error.page.title": "حدث خطأ ما", @@ -509,7 +640,7 @@ export const dict = { "error.dev.rootNotFound": "لم يتم العثور على العنصر الجذري. هل نسيت إضافته إلى index.html؟ أو ربما تمت كتابة سمة id بشكل خاطئ؟", "error.serverSync.connectFailed": "تعذر الاتصال بالخادم. هل هناك خادم يعمل في `{{url}}`؟", - "directory.error.invalidUrl": "دليل غير صالح في عنوان URL.", + "directory.error.invalidUrl": "مجلد غير صالح في عنوان URL.", "error.chain.unknown": "خطأ غير معروف", "error.chain.causedBy": "بسبب:", "error.chain.apiError": "خطأ API", @@ -537,7 +668,7 @@ export const dict = { "notification.session.responseReady.title": "الاستجابة جاهزة", "notification.session.error.title": "خطأ في الجلسة", "notification.session.error.fallbackDescription": "حدث خطأ", - "home.recentProjects": "المشاريع الحديثة", + "home.recentProjects": "المشاريع الأخيرة", "home.empty.title": "لا توجد مشاريع حديثة", "home.empty.description": "ابدأ بفتح مشروع محلي", "home.title": "الرئيسية", @@ -555,7 +686,7 @@ export const dict = { "home.sessions.group.today": "اليوم", "home.sessions.group.yesterday": "أمس", "home.sessions.group.older": "الأقدم", - "home.providerTip": "اتصل بأكثر من 75 مزودًا لاستخدام نماذج أخرى، بما فيها Claude وGPT وGemini وغيرها", + "home.providerTip": "اتصل بأكثر من 75 موفرًا لاستخدام نماذج أخرى، بما فيها Claude وGPT وGemini وغيرها", "session.tab.session": "جلسة", "session.tab.review": "مراجعة", "session.tab.context": "سياق", @@ -565,7 +696,7 @@ export const dict = { "session.error.notFound.description": "يشير هذا التبويب إلى جلسة لم تعد موجودة على هذا الخادم.", "session.error.notFound.closeTab": "إغلاق علامة التبويب", "session.error.serverConnection": "تعذر الاتصال بهذا الخادم", - "session.review.filesChanged": "تم تغيير {{count}} ملفات", + "session.review.filesChanged": "الملفات المتغيرة: {{count}}", "session.review.change.one": "تغيير", "session.review.change.other": "تغييرات", "session.review.loadingChanges": "جارٍ تحميل التغييرات...", @@ -573,7 +704,7 @@ export const dict = { "session.review.noChanges": "لا توجد تغييرات", "session.review.noUncommittedChanges": "لا توجد تغييرات غير مُودَعة بعد", "session.review.noBranchChanges": "لا توجد تغييرات في الفرع بعد", - "session.review.noVcs": "لم يتم اكتشاف نظام التحكم في الإصدار Git، لن يتم عرض التغييرات", + "session.review.noVcs": "لم يُكتشف نظام Git للتحكم في الإصدارات، لذا لن تُعرض التغييرات", "session.review.noSnapshot": "تم تعطيل تتبع اللقطات في التكوين، لذا فإن تغييرات الجلسة غير متوفرة", "session.files.selectToOpen": "اختر ملفًا لفتحه", "session.files.all": "كل الملفات", @@ -591,14 +722,26 @@ export const dict = { "session.question.minimize": "تصغير السؤال", "session.question.restore": "استعادة السؤال", "session.question.pending.one": "{{count}} سؤال معلق", + "session.question.pending.zero": "عدد الأسئلة المعلقة: {{count}}", + "session.question.pending.two": "عدد الأسئلة المعلقة: {{count}}", + "session.question.pending.few": "{{count}} أسئلة معلقة", + "session.question.pending.many": "{{count}} سؤالًا معلقًا", "session.question.pending.other": "الأسئلة المعلقة: {{count}}", - "session.followupDock.summary.one": "{{count}} رسالة في الانتظار", - "session.followupDock.summary.other": "{{count}} رسائل في الانتظار", + "session.followupDock.summary.one": "{{count}} رسالة في قائمة الانتظار", + "session.followupDock.summary.zero": "عدد الرسائل في قائمة الانتظار: {{count}}", + "session.followupDock.summary.two": "عدد الرسائل في قائمة الانتظار: {{count}}", + "session.followupDock.summary.few": "{{count}} رسائل في قائمة الانتظار", + "session.followupDock.summary.many": "{{count}} رسالةً في قائمة الانتظار", + "session.followupDock.summary.other": "{{count}} رسائل في قائمة الانتظار", "session.followupDock.sendNow": "إرسال الآن", "session.followupDock.edit": "تحرير", "session.followupDock.collapse": "طي الرسائل المنتظرة", "session.followupDock.expand": "توسيع الرسائل المنتظرة", "session.revertDock.summary.one": "{{count}} رسالة تم التراجع عنها", + "session.revertDock.summary.zero": "عدد الرسائل التي تم التراجع عنها: {{count}}", + "session.revertDock.summary.two": "عدد الرسائل التي تم التراجع عنها: {{count}}", + "session.revertDock.summary.few": "{{count}} رسائل تم التراجع عنها", + "session.revertDock.summary.many": "{{count}} رسالةً تم التراجع عنها", "session.revertDock.summary.other": "{{count}} رسائل تم التراجع عنها", "session.revertDock.collapse": "طي الرسائل التي تم التراجع عنها", "session.revertDock.expand": "توسيع الرسائل التي تم التراجع عنها", @@ -650,12 +793,19 @@ export const dict = { "terminal.close": "إغلاق المحطة الطرفية", "terminal.connectionLost.title": "فقد الاتصال", "terminal.connectionLost.description": "انقطع اتصال المحطة الطرفية. يمكن أن يحدث هذا عند إعادة تشغيل الخادم.", + "terminal.connectTicket.csrfError": "رُفضت تذكرة اتصال PTY بسبب فحوصات الأصل أو CSRF. تحقق من إعداد CORS للخادم.", + "terminal.connectTicket.statusError": "فشلت تذكرة اتصال PTY بالحالة {{status}}", + + "titlebar.update": "تحديث", + "titlebar.updateVersion": "تحديث {{version}}", + "common.closeTab": "إغلاق علامة التبويب", - "common.dismiss": "رفض", + "common.dismiss": "إهمال", "common.requestFailed": "فشل الطلب", "common.moreOptions": "مزيد من الخيارات", - "common.learnMore": "اعرف المزيد", + "common.learnMore": "اطّلع على المزيد", "common.rename": "إعادة تسمية", + "common.export": "تصدير", "common.reset": "إعادة تعيين", "common.archive": "أرشفة", "common.delete": "حذف", @@ -672,7 +822,7 @@ export const dict = { "sidebar.gettingStarted.title": "البدء", "sidebar.gettingStarted.line1": "يتضمن OpenCode نماذج مجانية حتى تتمكن من البدء فورًا.", "sidebar.gettingStarted.line2": "قم بتوصيل أي موفر لاستخدام النماذج، بما في ذلك Claude و GPT و Gemini وما إلى ذلك.", - "sidebar.project.recentSessions": "الجلسات الحديثة", + "sidebar.project.recentSessions": "الجلسات الأخيرة", "sidebar.project.viewAllSessions": "عرض جميع الجلسات", "sidebar.project.clearNotifications": "مسح الإشعارات", "sidebar.empty.title": "لا توجد مشاريع مفتوحة", @@ -691,7 +841,7 @@ export const dict = { "settings.general.section.updates": "التحديثات", "settings.general.section.sounds": "المؤثرات الصوتية", "settings.general.section.feed": "الخلاصة", - "settings.general.section.display": "شاشة العرض", + "settings.general.section.display": "العرض", "settings.general.row.language.title": "اللغة", "settings.general.row.language.description": "تغيير لغة العرض لـ OpenCode", "settings.general.row.shell.title": "Shell المحطة الطرفية", @@ -728,10 +878,11 @@ export const dict = { "settings.general.row.mobileTitlebarBottom.title": "التنقل السفلي", "settings.general.row.mobileTitlebarBottom.description": "وضع شريط العنوان وعلامات تبويب الجلسات أسفل الشاشة على الأجهزة المحمولة", - "settings.general.row.showCustomAgents.title": "الوكلاء المخصصون", - "settings.general.row.showCustomAgents.description": "إظهار محدد الوكلاء في محرر الرسائل", - "settings.general.row.reasoningSummaries.title": "إظهار ملخصات الاستنتاج", - "settings.general.row.reasoningSummaries.description": "عرض ملخصات استنتاج النموذج في الشريط الزمني", + "settings.general.row.showCustomAgents.title": "إظهار الوكيل", + "settings.general.row.showCustomAgents.description": + "التبديل بين الوكلاء في محرر الرسائل. عند إخفائه، يُستخدم وكيل Build افتراضيًا.", + "settings.general.row.reasoningSummaries.title": "إظهار ملخصات الاستدلال", + "settings.general.row.reasoningSummaries.description": "عرض ملخصات استدلال النموذج في الشريط الزمني", "settings.general.row.shellToolPartsExpanded.title": "توسيع أجزاء أداة shell", "settings.general.row.shellToolPartsExpanded.description": "إظهار أجزاء أداة shell موسعة بشكل افتراضي في الشريط الزمني", @@ -744,11 +895,12 @@ export const dict = { "استخدم علامات التبويب الجديدة وتخطيط الصفحة الرئيسية. يمكنك التبديل بين التخطيطات لفترة محدودة.", "settings.general.row.newInterfaceNotice.title": "أنت تستخدم الآن التخطيط الجديد", "settings.general.row.newInterfaceNotice.description": "التخطيط السابق لم يعد متاحًا", - "settings.general.row.newInterfaceNotice.dismiss": "رفض", - "settings.general.row.pinchZoom.title": "التكبير بإيماءة القرص", - "settings.general.row.pinchZoom.description": "السماح بإيماءة القرص على لوحة اللمس وإيماءة Ctrl-scroll للتكبير", + "settings.general.row.newInterfaceNotice.dismiss": "إهمال", + "settings.general.row.pinchZoom.title": "التكبير بالمقاربة والمباعدة", + "settings.general.row.pinchZoom.description": + "السماح بإيماءات مقاربة الأصابع ومباعدتها على لوحة التعقب والتمرير مع الضغط على Ctrl للتكبير", "settings.general.row.wayland.title": "استخدام Wayland الأصلي", - "settings.general.row.wayland.description": "تعطيل التراجع إلى X11 على Wayland. يتطلب إعادة التشغيل.", + "settings.general.row.wayland.description": "تعطيل الرجوع إلى X11 على Wayland. يتطلب إعادة التشغيل.", "settings.general.row.wayland.tooltip": "على Linux مع شاشات بمعدلات تحديث مختلطة، يمكن أن يكون Wayland الأصلي أكثر استقرارًا.", "settings.general.row.releaseNotes.title": "ملاحظات الإصدار", @@ -761,7 +913,7 @@ export const dict = { "settings.updates.action.checking": "جارٍ التحقق...", "settings.updates.action.downloading": "جارٍ التنزيل...", "settings.updates.action.installing": "جارٍ التثبيت...", - "settings.updates.toast.latest.title": "أنت على آخر إصدار", + "settings.updates.toast.latest.title": "لديك أحدث إصدار", "settings.updates.toast.latest.description": "أنت تستخدم أحدث إصدار من OpenCode.", "sound.option.none": "بلا", "sound.option.alert01": "تنبيه 01", @@ -823,17 +975,17 @@ export const dict = { "settings.general.sounds.errors.description": "تشغيل صوت عند حدوث خطأ", "settings.shortcuts.title": "اختصارات لوحة المفاتيح", "settings.shortcuts.reset.button": "إعادة التعيين إلى الافتراضيات", - "settings.shortcuts.reset.toast.title": "تم إعادة تعيين الاختصارات", - "settings.shortcuts.reset.toast.description": "تم إعادة تعيين اختصارات لوحة المفاتيح إلى الافتراضيات.", + "settings.shortcuts.reset.toast.title": "أُعيد تعيين الاختصارات", + "settings.shortcuts.reset.toast.description": "أُعيد تعيين اختصارات لوحة المفاتيح إلى الإعدادات الافتراضية.", "settings.shortcuts.conflict.title": "الاختصار قيد الاستخدام بالفعل", - "settings.shortcuts.conflict.description": "{{keybind}} معين بالفعل لـ {{titles}}.", - "settings.shortcuts.unassigned": "غير معين", + "settings.shortcuts.conflict.description": "الاختصار {{keybind}} مخصص بالفعل لـ {{titles}}.", + "settings.shortcuts.unassigned": "غير مخصص", "settings.shortcuts.pressKeys": "اضغط على المفاتيح", "settings.shortcuts.search.placeholder": "البحث في الاختصارات", "settings.shortcuts.search.empty": "لم يتم العثور على اختصارات", "settings.shortcuts.group.general": "عام", "settings.shortcuts.group.session": "جلسة", - "settings.shortcuts.group.navigation": "تصفح", + "settings.shortcuts.group.navigation": "التنقل", "settings.shortcuts.group.modelAndAgent": "النموذج والوكيل", "settings.shortcuts.group.terminal": "المحطة الطرفية", "settings.shortcuts.group.prompt": "موجه", @@ -858,19 +1010,18 @@ export const dict = { "settings.permissions.description": "تحكم في الأدوات التي يمكن للخادم استخدامها بشكل افتراضي.", "settings.permissions.section.tools": "الأدوات", "settings.permissions.toast.updateFailed.title": "فشل تحديث الأذونات", - "settings.permissions.action.allow": "سماح", - "settings.permissions.action.ask": "سؤال", - "settings.permissions.action.deny": "رفض", + "settings.permissions.action.allow": "السماح", + "settings.permissions.action.ask": "طلب الإذن", + "settings.permissions.action.deny": "الرفض", "settings.permissions.tool.read.title": "قراءة", "settings.permissions.tool.read.description": "قراءة ملف (يطابق مسار الملف)", "settings.permissions.tool.edit.title": "تحرير", - "settings.permissions.tool.edit.description": - "تعديل الملفات، بما في ذلك التحرير والكتابة والتصحيحات والتحرير المتعدد", + "settings.permissions.tool.edit.description": "تعديل الملفات، بما في ذلك عمليات التحرير والكتابة وتطبيق الرقع", "settings.permissions.tool.glob.title": "Glob", "settings.permissions.tool.glob.description": "مطابقة الملفات باستخدام أنماط glob", "settings.permissions.tool.grep.title": "Grep", "settings.permissions.tool.grep.description": "البحث في محتويات الملف باستخدام التعبيرات العادية", - "settings.permissions.tool.list.title": "قائمة", + "settings.permissions.tool.list.title": "سرد", "settings.permissions.tool.list.description": "سرد الملفات داخل دليل", "settings.permissions.tool.bash.title": "Bash", "settings.permissions.tool.bash.description": "تشغيل أوامر shell", @@ -888,7 +1039,7 @@ export const dict = { "settings.permissions.tool.websearch.description": "البحث في الويب", "settings.permissions.tool.external_directory.title": "دليل خارجي", "settings.permissions.tool.external_directory.description": "الوصول إلى الملفات خارج دليل المشروع", - "settings.permissions.tool.doom_loop.title": "حلقة الموت", + "settings.permissions.tool.doom_loop.title": "حلقة مفرغة", "settings.permissions.tool.doom_loop.description": "اكتشاف استدعاءات الأدوات المتكررة بمدخلات متطابقة", "session.delete.failed.title": "فشل حذف الجلسة", "session.delete.title": "حذف الجلسة", @@ -896,7 +1047,7 @@ export const dict = { "session.delete.button": "حذف الجلسة", "workspace.new": "مساحة عمل جديدة", "workspace.type.local": "محلي", - "workspace.type.sandbox": "صندوق رمل", + "workspace.type.sandbox": "بيئة معزولة", "workspace.create.failed.title": "فشل إنشاء مساحة العمل", "workspace.delete.failed.title": "فشل حذف مساحة العمل", "workspace.resetting.title": "إعادة تعيين مساحة العمل", @@ -906,7 +1057,7 @@ export const dict = { "workspace.reset.success.description": "مساحة العمل تطابق الآن الفرع الافتراضي.", "workspace.error.stillPreparing": "مساحة العمل لا تزال قيد الإعداد", "workspace.status.checking": "التحقق من التغييرات غير المدمجة...", - "workspace.status.error": "تعذر التحقق من حالة git.", + "workspace.status.error": "تعذر التحقق من حالة Git.", "workspace.status.clean": "لم يتم اكتشاف تغييرات غير مدمجة.", "workspace.status.dirty": "تم اكتشاف تغييرات غير مدمجة في مساحة العمل هذه.", "workspace.delete.title": "حذف مساحة العمل", @@ -922,7 +1073,7 @@ export const dict = { "common.open": "فتح", "dialog.releaseNotes.action.getStarted": "البدء", "dialog.releaseNotes.action.next": "التالي", - "dialog.releaseNotes.action.hideFuture": "عدم إظهار هذا في المستقبل", + "dialog.releaseNotes.action.hideFuture": "عدم إظهارها مستقبلاً", "dialog.releaseNotes.media.alt": "معاينة الإصدار", "toast.project.reloadFailed.title": "فشل في إعادة تحميل {{project}}", "error.server.invalidConfiguration": "تكوين غير صالح", @@ -932,22 +1083,25 @@ export const dict = { "common.time.hoursAgo.short": "قبل {{count}} س", "common.time.daysAgo.short": "قبل {{count}} ي", "settings.providers.connected.environmentDescription": "متصل من متغيرات البيئة الخاصة بك", - "settings.providers.custom.description": "أضف مزود متوافق مع OpenAI بواسطة عنوان URL الأساسي.", + "settings.providers.custom.description": "أضف موفرًا متوافقًا مع OpenAI باستخدام عنوان URL الأساسي.", "app.server.unreachable": "تعذر الوصول إلى {{server}}", - "app.server.retrying": "جاري إعادة المحاولة تلقائيًا...", + "app.server.retrying": "جارٍ إعادة المحاولة تلقائيًا...", "app.server.otherServers": "خوادم أخرى", "dialog.server.add.usernamePlaceholder": "اسم المستخدم", "dialog.server.add.passwordPlaceholder": "كلمة المرور", "server.row.noUsername": "لا يوجد اسم مستخدم", "session.review.noVcs.createGit.title": "إنشاء مستودع Git", "session.review.noVcs.createGit.description": "تتبع ومراجعة والتراجع عن التغييرات في هذا المشروع", - "session.review.noVcs.createGit.actionLoading": "جاري إنشاء مستودع Git...", + "session.review.noVcs.createGit.actionLoading": "جارٍ إنشاء مستودع Git...", "session.review.noVcs.createGit.action": "إنشاء مستودع Git", "session.todo.progress": "تم إكمال {{done}} من {{total}} مهام", "session.question.progress": "{{current}} من {{total}} أسئلة", "session.header.open.finder": "Finder", "session.header.open.fileExplorer": "مستكشف الملفات", + "session.header.reveal.finder": "إظهار في Finder", + "session.header.reveal.fileExplorer": "إظهار في مستكشف الملفات", + "session.header.reveal.containingFolder": "فتح المجلد الحاوي", "session.header.open.fileManager": "مدير الملفات", "session.header.open.app.vscode": "VS Code", "session.header.open.app.cursor": "Cursor", @@ -965,9 +1119,9 @@ export const dict = { "debugBar.ariaLabel": "تشخيص أداء التطوير", "debugBar.na": "غير متاح", "debugBar.nav.label": "NAV", - "debugBar.nav.tip": "آخر انتقال مكتمل للمسار يمس صفحة جلسة، مُقاسًا من بدء التوجيه حتى أول رسم بعد استقراره.", + "debugBar.nav.tip": "آخر انتقال مكتمل للمسار يتضمن صفحة جلسة، مُقاسًا من بدء التوجيه حتى أول رسم بعد استقراره.", "debugBar.fps.label": "FPS", - "debugBar.fps.tip": "الإطارات المتجددة في الثانية خلال آخر 5 ثوانٍ.", + "debugBar.fps.tip": "متوسط متحرك لمعدل الإطارات في الثانية خلال آخر 5 ثوانٍ.", "debugBar.frame.label": "FRAME", "debugBar.frame.tip": "أسوأ وقت للإطار خلال آخر 5 ثوانٍ.", "debugBar.jank.label": "JANK", @@ -979,10 +1133,18 @@ export const dict = { "debugBar.inp.label": "INP", "debugBar.inp.tip": "مدة التفاعل التقريبية خلال آخر 5 ثوانٍ. هذا يشبه INP، وليس Web Vitals INP الرسمي.", "debugBar.cls.label": "CLS", - "debugBar.cls.tip": "التحول التخطيطي التراكمي لعمر التطبيق الحالي.", + "debugBar.cls.tip": "التحول التخطيطي التراكمي منذ تشغيل التطبيق الحالي.", "debugBar.mem.label": "MEM", "debugBar.mem.tipUnavailable": "كومة JS المستخدمة مقابل حد الكومة. Chromium فقط.", "debugBar.mem.tip": "كومة JS المستخدمة مقابل حد الكومة. {{used}} من {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "فرض أنماط التركيز على جميع العناصر التفاعلية", + "debugBar.focus.on": "تشغيل", + "debugBar.focus.off": "إيقاف", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "فرض اتجاه التخطيط على التطبيق بالكامل دون تغيير اللغة المحددة", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", "common.key.ctrl": "Ctrl", "common.key.alt": "Alt", "common.key.shift": "Shift", @@ -998,7 +1160,7 @@ export const dict = { "common.key.pageDown": "Page Down", "common.key.insert": "Insert", "common.unknown": "غير معروف", - "error.page.circular": "[دائري]", + "error.page.circular": "[مرجع دائري]", "error.serverSDK.noServerAvailable": "لا يوجد خادم متاح", "error.serverSDK.serverNotAvailable": "الخادم غير متاح", "error.childStore.persistedCacheCreateFailed": "فشل إنشاء ذاكرة التخزين المؤقت الدائمة", diff --git a/packages/app/src/i18n/az.ts b/packages/app/src/i18n/az.ts new file mode 100644 index 000000000000..d818ae57fd6c --- /dev/null +++ b/packages/app/src/i18n/az.ts @@ -0,0 +1,1168 @@ +export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Fayl", + "desktop.menu.edit": "Redaktə", + "desktop.menu.view": "Görünüş", + "desktop.menu.go": "Keçid", + "desktop.menu.window": "Pəncərə", + "desktop.menu.help": "Kömək", + "desktop.menu.checkForUpdates": "Yeniləmələri yoxla...", + "desktop.menu.settings": "Tənzimləmələr", + "desktop.menu.reloadWebview": "Webview-u yenidən yüklə", + "desktop.menu.restart": "Yenidən başlat", + "desktop.menu.exportLogs": "Jurnalları ixrac et...", + "desktop.menu.newSession": "Yeni sessiya", + "desktop.menu.openProject": "Layihəni aç...", + "desktop.menu.newWindow": "Yeni pəncərə", + "desktop.menu.closeWindow": "Pəncərəni bağla", + "desktop.menu.undo": "Geri al", + "desktop.menu.redo": "Yenidən et", + "desktop.menu.cut": "Kəs", + "desktop.menu.copy": "Kopyala", + "desktop.menu.paste": "Yapışdır", + "desktop.menu.delete": "Sil", + "desktop.menu.selectAll": "Hamısını seç", + "desktop.menu.toggleSidebar": "Yan paneli aç/bağla", + "desktop.menu.toggleTerminal": "Terminalı aç/bağla", + "desktop.menu.toggleFileTree": "Fayl ağacını aç/bağla", + "desktop.menu.reload": "Yenidən yüklə", + "desktop.menu.toggleDeveloperTools": "Tərtibatçı alətlərini aç/bağla", + "desktop.menu.actualSize": "Faktiki ölçü", + "desktop.menu.zoomIn": "Böyüt", + "desktop.menu.zoomOut": "Kiçilt", + "desktop.menu.toggleFullScreen": "Tam ekran rejimini aç/bağla", + "desktop.menu.back": "Geri", + "desktop.menu.forward": "İrəli", + "desktop.menu.previousSession": "Əvvəlki sessiya", + "desktop.menu.nextSession": "Növbəti sessiya", + "desktop.menu.previousProject": "Əvvəlki layihə", + "desktop.menu.nextProject": "Növbəti layihə", + "desktop.menu.minimize": "Kiçilt", + "desktop.menu.maximize": "Böyüt", + "desktop.menu.documentation": "OpenCode sənədləri", + "desktop.menu.supportForum": "Dəstək forumu", + "desktop.menu.shareFeedback": "Rəy bildir", + "desktop.menu.reportBug": "Xəta bildir", + "desktop.menu.ariaLabel": "OpenCode menyusu", + "desktop.updater.dialog.checkFailed.message": "Yeniləmələri yoxlamaq mümkün olmadı.", + "desktop.updater.dialog.checkFailed.title": "Yeniləmə xətası", + "desktop.updater.dialog.upToDate.message": "Ən son versiyadan istifadə edirsiniz.", + "desktop.updater.dialog.upToDate.title": "Yeniləmə yoxdur", + "desktop.updater.dialog.ready.message": "{{version}} yeniləməsi endirildi. İndi yenidən başlatmaq istəyirsiniz?", + "desktop.updater.dialog.ready.title": "Yeniləmə hazırdır", + "desktop.updater.dialog.restart": "Yenidən başlat", + "desktop.updater.dialog.later": "Daha sonra", + "desktop.recovery.action.relaunch": "Yenidən işə sal", + "desktop.recovery.action.exportLogs": "Jurnalları ixrac et", + "desktop.recovery.action.keepWaiting": "Gözləməyə davam et", + "desktop.recovery.action.quit": "Çıx", + "desktop.recovery.loadFailed": "OpenCode yüklənə bilmədi", + "desktop.recovery.terminated": "OpenCode pəncərəsinin işi gözlənilmədən dayandı", + "desktop.recovery.unresponsive": "OpenCode cavab vermir", + "desktop.recovery.unresponsive.detail": + "Tətbiqi yenidən işə sala, jurnalları aça və ya gözləməyə davam edə bilərsiniz.", + "desktop.recovery.loadFailed.detail": "Pəncərə: {{window}}\nURL: {{url}}\nXəta: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Pəncərə: {{window}}\nSəbəb: {{reason}}\nKod: {{code}}", + "desktop.recovery.unknown": "", + "desktop.dialog.chooseFolder": "Qovluq seçin", + "desktop.dialog.chooseFile": "Fayl seçin", + "desktop.dialog.saveFile": "Faylı saxla", + "desktop.dialog.files": "Fayllar", + "desktop.server.local": "Yerli server", + "desktop.wsl.error.windowsOnly": "WSL yalnız Windows-da əlçatandır", + "desktop.wsl.error.unavailable": "WSL əlçatan deyil", + "desktop.wsl.error.listInstalled": "Quraşdırılmış WSL distribütivlərini siyahılamaq mümkün olmadı", + "desktop.wsl.error.listOnline": "Onlayn WSL distribütivlərini siyahılamaq mümkün olmadı", + "desktop.wsl.error.executeDistro": "Distribütivdə əmrləri icra etmək mümkün deyil", + "desktop.wsl.error.installWsl": "WSL quraşdırılması uğursuz oldu", + "desktop.wsl.error.installDistro": "Distribütivi quraşdırmaq mümkün olmadı: {{distro}}", + "desktop.wsl.error.installOpencode": "OpenCode quraşdırılması uğursuz oldu", + "desktop.wsl.error.alreadyAdded": "{{distro}} artıq əlavə edilib", + "desktop.wsl.error.opencodeMissing": "Bu distribütivdə opencode quraşdırılmayıb", + "desktop.wsl.error.opencodeCannotRun": "opencode quraşdırılıb, lakin onu işə salmaq mümkün olmadı", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode {{distro}} distribütivində quraşdırılmayıb", + "desktop.wsl.error.updateVersion": + "OpenCode yeniləməsi tamamlandı, lakin {{distro}} hələ də {{installed}} versiyasını bildirir; gözlənilən versiya: {{expected}}", + "desktop.wsl.error.noVersion": "versiya yoxdur", + "desktop.wsl.error.serverExited": "WSL serveri başladıqdan sonra dayandı (code={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL serveri işlək vəziyyətə gəlməzdən əvvəl dayandı (code={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": + "{{distro}} üçün sidecar sağlamlıq yoxlamasının {{timeout}}ms gözləmə müddəti bitdi", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} üçün {{timeout}}ms gözləmə müddəti bitdi", + "desktop.wsl.error.failedPort": "Portu əldə etmək mümkün olmadı", + "desktop.picker.error.notSelected": "Seçim vasitəsində fayl seçilməyib", + "desktop.picker.error.sizeLimit": "Seçilmiş əlavələr {{limit}} MB limitini aşır", + "command.category.suggested": "Təklif olunan", + "command.category.view": "Görünüş", + "command.category.project": "Layihə", + "command.category.provider": "Provayder", + "command.category.server": "Server", + "command.category.session": "Sessiya", + "command.category.theme": "Mövzu", + "command.category.language": "Dil", + "command.category.file": "Fayl", + "command.category.context": "Kontekst", + "command.category.terminal": "Terminal", + "command.category.model": "Model", + "command.category.mcp": "MCP", + "command.category.agent": "Agent", + "command.category.permissions": "İcazələr", + "command.category.workspace": "İş sahəsi", + "command.category.settings": "Tənzimləmələr", + "command.logs.export": "Jurnalları ixrac et", + "theme.scheme.system": "Sistem", + "theme.scheme.light": "Açıq", + "theme.scheme.dark": "Tünd", + "command.sidebar.toggle": "Yan paneli aç/bağla", + "command.project.open": "Layihəni aç", + "command.project.previous": "Əvvəlki layihə", + "command.project.next": "Növbəti layihə", + "command.project.index": "{{index}} nömrəli layihəyə keç", + "command.provider.connect": "Provayderi qoş", + "command.server.switch": "Serveri dəyiş", + "command.settings.open": "Tənzimləmələri aç", + "command.session.previous": "Əvvəlki sessiya", + "command.session.next": "Növbəti sessiya", + "command.session.previous.unseen": "Əvvəlki oxunmamış sessiya", + "command.session.next.unseen": "Növbəti oxunmamış sessiya", + "command.session.archive": "Sessiyanı arxivlə", + "command.palette": "Əmr paneli", + "command.theme.cycle": "Mövzunu dəyiş", + "command.theme.set": "Mövzudan istifadə et: {{theme}}", + "command.theme.scheme.cycle": "Rəng sxemini dəyiş", + "command.theme.scheme.set": "Rəng sxemindən istifadə et: {{scheme}}", + "command.language.cycle": "Dili dəyiş", + "command.language.set": "Dildən istifadə et: {{language}}", + "command.session.new": "Yeni sessiya", + "command.file.open": "Faylı aç", + "command.tab.close": "Tabı bağla", + "command.tab.reopenClosed": "Bağlanmış tabı yenidən aç", + "command.context.addSelection": "Seçimi kontekstə əlavə et", + "command.context.addSelection.description": "Cari fayldan seçilmiş sətirləri əlavə et", + "command.input.focus": "Giriş sahəsinə fokusla", + "command.terminal.toggle": "Terminalı aç/bağla", + "command.fileTree.toggle": "Fayl ağacını aç/bağla", + "command.review.toggle": "İcmalı aç/bağla", + "command.terminal.new": "Yeni terminal", + "command.terminal.new.description": "Yeni terminal tabı yarat", + "command.steps.toggle": "Addımları aç/bağla", + "command.steps.toggle.description": "Cari mesaj üçün addımları göstər və ya gizlət", + "command.message.previous": "Əvvəlki mesaj", + "command.message.previous.description": "Əvvəlki istifadəçi mesajına keç", + "command.message.next": "Növbəti mesaj", + "command.message.next.description": "Növbəti istifadəçi mesajına keç", + "command.model.choose": "Model seç", + "command.model.choose.description": "Fərqli model seç", + "command.mcp.toggle": "MCP-ləri aç/bağla", + "command.mcp.toggle.description": "MCP-ləri aç/bağla", + "command.agent.cycle": "Agenti dəyiş", + "command.agent.cycle.description": "Növbəti agentə keç", + "command.agent.cycle.reverse": "Agenti geri dəyiş", + "command.agent.cycle.reverse.description": "Əvvəlki agentə keç", + "command.model.variant.cycle": "Düşünmə səviyyəsini dəyiş", + "command.model.variant.cycle.description": "Növbəti səviyyəyə keç", + "command.prompt.mode.shell": "Shell", + "command.prompt.mode.normal": "Prompt", + "command.permissions.autoaccept.enable": "İcazələri avtomatik qəbul et", + "command.permissions.autoaccept.disable": "İcazələrin avtomatik qəbulunu dayandır", + "command.workspace.toggle": "İş sahələrini aç/bağla", + "command.workspace.toggle.description": "Yan paneldə birdən çox iş sahəsini aktiv və ya deaktiv et", + "command.session.undo": "Geri al", + "command.session.undo.description": "Son mesajı geri al", + "command.session.redo": "Yenidən et", + "command.session.redo.description": "Son geri alınmış mesajı yenidən et", + "command.session.compact": "Sessiyanı sıxlaşdır", + "command.session.compact.description": "Kontekst həcmini azaltmaq üçün sessiyanı xülasə et", + "command.session.fork": "Mesajdan fork et", + "command.session.fork.description": "Əvvəlki mesajdan yeni sessiya yarat", + "command.session.share": "Sessiyanı paylaş", + "command.session.share.description": "Bu sessiyanı paylaş və URL-ni buferə kopyala", + "command.session.unshare": "Sessiyanın paylaşımını dayandır", + "command.session.unshare.description": "Bu sessiyanın paylaşımını dayandır", + "command.session.export": "Sessiyanı ixrac et", + "command.session.export.description": "Sessiyanın tam transkriptini JSON formatında ixrac et", + + "palette.search.placeholder": "Fayl, əmr və sessiya axtar", + "palette.search.placeholder.home": "Əmr və sessiyaları axtar", + "palette.empty": "Nəticə tapılmadı", + "palette.group.commands": "Əmrlər", + "palette.group.files": "Fayllar", + "dialog.provider.search.placeholder": "Provayderləri axtar", + "dialog.provider.empty": "Provayder tapılmadı", + "dialog.provider.group.popular": "Populyar", + "dialog.provider.group.other": "Digər", + "dialog.provider.custom.label": "Xüsusi OpenAI-a uyğun provayder", + "dialog.provider.tag.recommended": "Tövsiyə olunan", + "dialog.provider.opencode.note": "Claude, GPT, Gemini və daha çoxu daxil olmaqla seçilmiş modellər", + "dialog.provider.opencode.tagline": "Etibarlı optimallaşdırılmış modellər", + "dialog.provider.opencodeGo.tagline": "Hamı üçün aşağı qiymətli abunəlik", + "dialog.provider.anthropic.note": "Pro və Max daxil olmaqla Claude modellərinə birbaşa giriş", + "dialog.provider.copilot.note": "GitHub Copilot vasitəsilə kodlaşdırma yardımı üçün AI modelləri", + "dialog.provider.openai.note": "Sürətli və bacarıqlı ümumi AI tapşırıqları üçün GPT modelləri", + "dialog.provider.google.note": "Sürətli, strukturlaşdırılmış cavablar üçün Gemini modelləri", + "dialog.provider.openrouter.note": "Bir provayderdən bütün dəstəklənən modellərə giriş", + "dialog.provider.vercel.note": "Ağıllı yönləndirmə ilə AI modellərinə vahid giriş", + "dialog.model.select.title": "Model seç", + "dialog.model.search.placeholder": "Modelləri axtar", + "dialog.model.empty": "Model nəticəsi yoxdur", + "dialog.model.manage": "Modelləri idarə et", + "dialog.model.manage.description": "Model seçicisində hansı modellərin görünəcəyini fərdiləşdir.", + "dialog.model.manage.provider.toggle": "Bütün {{provider}} modellərini aç/bağla", + "dialog.model.unpaid.freeModels.title": "OpenCode tərəfindən təqdim olunan pulsuz modellər", + "dialog.model.unpaid.addMore.title": "Populyar provayderlərdən daha çox model əlavə edin", + "dialog.model.unpaid.viewMoreProviders": "Daha 70+ provayderə baxın", + "dialog.provider.viewAll": "Daha çox provayder göstər", + "provider.connect.title": "{{provider}} provayderini qoş", + "provider.connect.title.anthropicProMax": "Claude Pro/Max ilə daxil ol", + "provider.connect.selectMethod": "{{provider}} üçün giriş üsulunu seçin.", + "provider.connect.method.apiKey": "API açarı", + "provider.connect.method.browser": "Brauzer", + "provider.connect.method.headless": "Başsız", + "provider.connect.status.inProgress": "Avtorizasiya davam edir...", + "provider.connect.status.waiting": "Avtorizasiya gözlənilir...", + "provider.connect.status.failed": "Avtorizasiya uğursuz oldu: {{error}}", + "provider.connect.apiKey.description": + "Hesabınızı qoşmaq və OpenCode-da {{provider}} modellərindən istifadə etmək üçün {{provider}} API açarınızı daxil edin.", + "provider.connect.apiKey.label": "{{provider}} API açarı", + "provider.connect.apiKey.placeholder": "API açarı", + "provider.connect.apiKey.required": "API açarı tələb olunur", + "provider.connect.opencodeZen.line1": + "OpenCode Zen sizə kodlaşdırma agentləri üçün etibarlı optimallaşdırılmış seçilmiş modellər dəstinə giriş verir.", + "provider.connect.opencodeZen.line2": + "Tək bir API açarı ilə Claude, GPT, Gemini, GLM və daha çox modellərə giriş əldə edəcəksiniz.", + "provider.connect.opencodeZen.visit.prefix": "", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": " səhifəsinə daxil olub API açarınızı əldə edin.", + "provider.connect.oauth.code.visit.prefix": "", + "provider.connect.oauth.code.visit.link": "Bu linkə", + "provider.connect.oauth.code.visit.suffix": + " daxil olub hesabınızı qoşmaq və OpenCode-da {{provider}} modellərindən istifadə etmək üçün avtorizasiya kodunuzu əldə edin.", + "provider.connect.oauth.code.label": "{{method}} avtorizasiya kodu", + "provider.connect.oauth.code.placeholder": "Avtorizasiya kodu", + "provider.connect.oauth.code.required": "Avtorizasiya kodu tələb olunur", + "provider.connect.oauth.code.invalid": "Yanlış avtorizasiya kodu", + "provider.connect.oauth.auto.visit.prefix": "", + "provider.connect.oauth.auto.visit.link": "Bu linkə", + "provider.connect.oauth.auto.visit.suffix": + " daxil olub aşağıdakı kodu daxil edərək hesabınızı qoşun və OpenCode-da {{provider}} modellərindən istifadə edin.", + "provider.connect.oauth.auto.confirmationCode": "Təsdiq kodu", + "provider.connect.toast.connected.title": "{{provider}} qoşuldu", + "provider.connect.toast.connected.description": "{{provider}} modelləri artıq istifadə üçün mövcuddur.", + "provider.custom.title": "Fərdi provayder", + "provider.custom.unavailable": "Fərdi provayderlər bu serverdə əlçatan deyil", + "provider.custom.description.prefix": "OpenAI ilə uyğun provayderi konfiqurasiya edin. ", + "provider.custom.description.link": "Provayder konfiqurasiyası sənədləri", + "provider.custom.description.suffix": "nə baxın.", + "provider.custom.field.providerID.label": "Provayder ID", + "provider.custom.field.providerID.placeholder": "myprovider", + "provider.custom.field.providerID.description": "Kiçik hərflər, rəqəmlər, tire və ya alt xətt", + "provider.custom.field.name.label": "Görünən ad", + "provider.custom.field.name.placeholder": "Mənim AI Provayderim", + "provider.custom.field.baseURL.label": "Əsas URL", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "API açarı", + "provider.custom.field.apiKey.placeholder": "API açarı", + "provider.custom.field.apiKey.description": + "İstəyə bağlıdır. Autentifikasiyanı başlıqlar vasitəsilə idarə edirsinizsə, boş buraxın.", + "provider.custom.models.label": "Modellər", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "model-id", + "provider.custom.models.name.label": "Ad", + "provider.custom.models.name.placeholder": "Görünən ad", + "provider.custom.models.remove": "Modeli sil", + "provider.custom.models.add": "Model əlavə et", + "provider.custom.headers.label": "Başlıqlar (istəyə bağlı)", + "provider.custom.headers.key.label": "Başlıq", + "provider.custom.headers.key.placeholder": "Başlıq-Adı", + "provider.custom.headers.value.label": "Dəyər", + "provider.custom.headers.value.placeholder": "dəyər", + "provider.custom.headers.remove": "Başlığı sil", + "provider.custom.headers.add": "Başlıq əlavə et", + "provider.custom.error.providerID.required": "Provayder ID tələb olunur", + "provider.custom.error.providerID.format": "Kiçik hərflər, rəqəmlər, tire və ya alt xətt istifadə edin", + "provider.custom.error.providerID.exists": "Bu provayder ID artıq mövcuddur", + "provider.custom.error.name.required": "Görünən ad tələb olunur", + "provider.custom.error.baseURL.required": "Əsas URL tələb olunur", + "provider.custom.error.baseURL.format": "http:// və ya https:// ilə başlamalıdır", + "provider.custom.error.required": "Tələb olunur", + "provider.custom.error.duplicate": "Təkrar", + "provider.disconnect.toast.disconnected.title": "{{provider}} ayrıldı", + "provider.disconnect.toast.disconnected.description": "{{provider}} modelləri artıq mövcud deyil.", + "model.tag.free": "Pulsuz", + "model.tag.latest": "Ən son", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "mətn", + "model.input.image": "şəkil", + "model.input.audio": "səs", + "model.input.video": "video", + "model.input.pdf": "pdf", + "model.tooltip.allows": "Dəstəkləyir: {{inputs}}", + "model.tooltip.context.label": "Kontekst", + "model.tooltip.inputs": "Girişlər", + "model.tooltip.model": "Model", + "model.tooltip.provider": "Provayder", + "model.tooltip.reasoning": "Düşünmə", + "model.tooltip.reasoning.allowed": "Düşünməni dəstəkləyir", + "model.tooltip.reasoning.none": "Düşünmə yoxdur", + "model.tooltip.context": "Kontekst limiti {{limit}}", + "common.search.placeholder": "Axtar", + "common.goBack": "Geri keç", + "common.goForward": "İrəli keç", + "common.loading": "Yüklənir", + "common.loading.ellipsis": "...", + "common.cancel": "Ləğv et", + "common.clear": "Təmizlə", + "common.open": "Aç", + "common.connect": "Qoş", + "common.disconnect": "Ayır", + "common.continue": "Davam et", + "common.submit": "Göndər", + "common.save": "Saxla", + "common.saving": "Saxlanılır...", + "common.default": "Standart", + "common.attachment": "əlavə", + "prompt.placeholder.shell": "Qabıq əmrini daxil edin... {{example}}", + "prompt.placeholder.normal": 'Nə istəsəniz soruşun... "{{example}}"', + "prompt.placeholder.simple": "Nə istəsəniz soruşun...", + "prompt.placeholder.summarizeComments": "Şərhləri xülasə et…", + "prompt.placeholder.summarizeComment": "Şərhi xülasə et…", + "prompt.mode.shell": "Shell", + "prompt.mode.normal": "Prompt", + "prompt.mode.shell.exit": "çıxmaq üçün esc", + "session.child.promptDisabled": "Alt agent sessiyalarına prompt göndərmək olmaz.", + "session.child.backToParent": "Əsas sessiyaya qayıt.", + "prompt.example.1": "Kod bazasında TODO-nu həll et", + "prompt.example.2": "Bu layihənin texnologiya yığını nədir?", + "prompt.example.3": "Xətalı testləri düzəlt", + "prompt.example.4": "Autentifikasiyanın necə işlədiyini izah et", + "prompt.example.5": "Təhlükəsizlik boşluqlarını tap və düzəlt", + "prompt.example.6": "İstifadəçi xidməti üçün vahid testləri əlavə et", + "prompt.example.7": "Bu funksiyanı daha oxunaqlı hala gətir", + "prompt.example.8": "Bu xəta nə deməkdir?", + "prompt.example.9": "Bu problemi sazlamağa kömək et", + "prompt.example.10": "API sənədləri yarat", + "prompt.example.11": "Verilənlər bazası sorğularını optimallaşdır", + "prompt.example.12": "Giriş doğrulaması əlavə et", + "prompt.example.13": "Bunun üçün yeni komponent yarat...", + "prompt.example.14": "Bu layihəni necə yerləşdirə bilərəm?", + "prompt.example.15": "Kodumu qabaqcıl təcrübələr baxımından nəzərdən keçir", + "prompt.example.16": "Bu funksiyaya xəta idarəetməsi əlavə et", + "prompt.example.17": "Bu regex nümunəsini izah et", + "prompt.example.18": "Bunu TypeScript-ə çevir", + "prompt.example.19": "Bütün kod bazasına jurnallaşdırma əlavə et", + "prompt.example.20": "Hansı asılılıqlar köhnəlib?", + "prompt.example.21": "Miqrasiya skripti yazmağıma kömək et", + "prompt.example.22": "Bu endpoint üçün keşləmə tətbiq et", + "prompt.example.23": "Bu siyahıya səhifələmə əlavə et", + "prompt.example.24": "Bunun üçün CLI əmri yarat...", + "prompt.example.25": "Burada mühit dəyişənləri necə işləyir?", + "prompt.popover.emptyResults": "Uyğun nəticə yoxdur", + "prompt.popover.emptyCommands": "Uyğun əmr yoxdur", + "prompt.dropzone.label": "Şəkilləri, PDF-ləri və ya mətn fayllarını bura buraxın", + "prompt.dropzone.file.label": "Faylı @ ilə qeyd etmək üçün buraxın", + "prompt.slash.badge.custom": "fərdi", + "prompt.slash.badge.skill": "bacarıq", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "aktiv", + "prompt.context.includeActiveFile": "Aktiv faylı daxil et", + "prompt.context.removeActiveFile": "Aktiv faylı kontekstdən sil", + "prompt.context.removeFile": "Faylı kontekstdən sil", + "prompt.action.attachFile": "Fayllar əlavə et", + "prompt.menu.addImagesAndFiles": "Fayllar və daha çox əlavə edin", + "prompt.menu.imagesAndFiles": "Şəkillər və fayllar", + "prompt.menu.commands": "Əmrlər", + "prompt.menu.context": "Kontekst", + "prompt.menu.shellCommand": "Shell əmri", + "prompt.attachment.remove": "Əlavəni sil", + "prompt.action.send": "Göndər", + "prompt.action.stop": "Dayandır", + "prompt.toast.pasteUnsupported.title": "Dəstəklənməyən əlavə", + "prompt.toast.pasteUnsupported.description": "Buraya yalnız şəkillər, PDF-lər və ya mətn faylları əlavə edilə bilər.", + "prompt.toast.attachmentDuplicate.title": "Bu fayl artıq yüklənib", + "prompt.toast.modelAgentRequired.title": "Agent və model seçin", + "prompt.toast.modelAgentRequired.description": "Prompt göndərməzdən əvvəl agent və model seçin.", + "prompt.toast.worktreeCreateFailed.title": "Worktree yaradıla bilmədi", + "prompt.toast.sessionCreateFailed.title": "Sessiya yaradıla bilmədi", + "prompt.toast.shellSendFailed.title": "Shell əmri göndərilə bilmədi", + "prompt.toast.commandSendFailed.title": "Əmr göndərilə bilmədi", + "prompt.toast.promptSendFailed.title": "Prompt göndərilə bilmədi", + "prompt.toast.promptSendFailed.description": "Sessiya əldə edilə bilmədi", + "dialog.mcp.title": "MCP-lər", + "dialog.mcp.description": "{{total}}-dən {{enabled}} aktiv", + "dialog.mcp.empty": "MCP konfiqurasiya edilməyib", + "dialog.lsp.empty": "LSP-lər fayl növlərindən avtomatik aşkarlanır", + "dialog.plugins.empty": "Plaginlər opencode.json-da konfiqurasiya edilib", + "mcp.status.connected": "qoşulub", + "mcp.status.failed": "uğursuz", + "mcp.status.needs_auth": "avtorizasiya lazımdır", + "mcp.status.disabled": "deaktiv", + "mcp.auth.clickToAuthenticate": "Autentifikasiya üçün klikləyin", + "dialog.fork.empty": "Yeni sessiyaya ayırmaq üçün mesaj yoxdur", + "dialog.directory.search.placeholder": "Qovluqları axtar", + "dialog.directory.empty": "Qovluq tapılmadı", + "dialog.directory.action.selectFile": "Fayl seçin", + "dialog.directory.action.selectFolder": "Qovluğu seçin", + "dialog.directory.root": "Kök", + "dialog.directory.parent": "Üst qovluq", + "dialog.directory.readError": "Bu qovluğu oxumaq mümkün deyil", + "app.server.unreachable": "{{server}}-ə çatmaq mümkün olmadı", + "app.server.retrying": "Avtomatik olaraq yenidən cəhd edilir...", + "app.server.otherServers": "Digər serverlər", + "dialog.server.title": "Serverlər", + "dialog.server.description": "Bu tətbiqin qoşulduğu OpenCode serverini dəyişdirin.", + "dialog.server.search.placeholder": "Serverləri axtar", + "dialog.server.empty": "Hələ server yoxdur", + "dialog.server.add.title": "Server əlavə et", + "dialog.server.add.url": "Server ünvanı", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "Serverə qoşulmaq mümkün olmadı", + "dialog.server.add.checking": "Yoxlanılır...", + "dialog.server.add.button": "Server əlavə et", + "dialog.server.add.name": "Server adı (istəyə bağlı)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "İstifadəçi adı (istəyə bağlı)", + "dialog.server.add.usernamePlaceholder": "istifadəçi adı", + "dialog.server.add.password": "Şifrə (istəyə bağlı)", + "dialog.server.add.passwordPlaceholder": "parol", + "dialog.server.edit.title": "Serveri redaktə et", + "dialog.server.default.title": "Standart server", + "dialog.server.default.description": + "Tətbiq açıldıqda yerli server başlatmaq əvəzinə bu serverə qoşulun. Yenidən başlatma tələb olunur.", + "dialog.server.default.none": "Server seçilməyib", + "dialog.server.default.set": "Cari serveri standart olaraq təyin et", + "dialog.server.default.clear": "Təmizlə", + "dialog.server.action.remove": "Serveri sil", + "dialog.server.menu.edit": "Redaktə et", + "dialog.server.menu.default": "Standart olaraq təyin et", + "dialog.server.menu.defaultRemove": "Standartı sil", + "dialog.server.menu.delete": "Sil", + "dialog.server.current": "Cari server", + "dialog.server.status.default": "Standart", + "wsl.server.add": "WSL server əlavə edin", + "wsl.server.addShort": "WSL əlavə edin", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "WSL server", + "wsl.server.retryStart": "Yenidən başlamağa cəhd edin", + "wsl.server.updating": "Yenilənir...", + "wsl.onboarding.step.distro": "Distribütiv seçin", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "WSL yoxlanılır...", + "wsl.onboarding.restartRequired": + "WSL-nin quraşdırılmasını başa çatdırmaq üçün Windows-un yenidən başlaması lazımdır.", + "wsl.onboarding.ready": "WSL hazırdır.", + "wsl.onboarding.required": "Davam etmək üçün WSL tələb olunur.", + "wsl.onboarding.checkingDistros": "Distribütivlər yoxlanılır...", + "wsl.onboarding.installingDistro": "{{distro}} quraşdırılır...", + "wsl.onboarding.checkingDistro": "{{distro}} yoxlanılır...", + "wsl.onboarding.listingDistros": "Distribütivlər siyahılanır...", + "wsl.onboarding.distroReady": "{{distro}} hazırdır.", + "wsl.onboarding.distroNotInstalled": "{{distro}} hələ quraşdırılmayıb.", + "wsl.onboarding.openDistroOnce": "Quraşdırmanı bitirmək üçün {{distro}}-ni bir dəfə açın.", + "wsl.onboarding.finishingDistro": "{{distro}} üçün quraşdırma tamamlanır.", + "wsl.onboarding.pickDistro": "Distribütiv seçin və ya aşağıdakılardan birini quraşdırın.", + "wsl.onboarding.checkingOpencode": "OpenCode yoxlanılır...", + "wsl.onboarding.checkingOpencodeIn": "{{distro}}-də OpenCode yoxlanılır...", + "wsl.onboarding.updatingOpencode": "OpenCode yenilənir...", + "wsl.onboarding.updatingOpencodeIn": "{{distro}}-də OpenCode yenilənir...", + "wsl.onboarding.updateOpencodeIn": "{{distro}}-də OpenCode-u yeniləyin.", + "wsl.onboarding.updateOpencode": "OpenCode-u yeniləyin", + "wsl.onboarding.opencodeReadyIn": "OpenCode {{distro}}-də hazırdır.", + "wsl.onboarding.opencodeReady": "OpenCode hazırdır.", + "wsl.onboarding.installOpencodeIn": "OpenCode-u {{distro}}-də quraşdırın.", + "wsl.onboarding.installOpencode": "OpenCode quraşdırın", + "wsl.onboarding.chooseDistroFirst": "Əvvəlcə distribütiv seçin.", + "wsl.onboarding.loadFailed": "WSL vəziyyətini yükləmək alınmadı.", + "wsl.onboarding.loading": "Yüklənir...", + "wsl.onboarding.installedDistros": "Quraşdırılmış distribütivlər", + "wsl.onboarding.checkAgain": "Yenidən yoxlayın", + "wsl.onboarding.distroStatus.ready": "Hazır", + "wsl.onboarding.distroStatus.checking": "Yoxlanır...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode quraşdırılmayıb", + "wsl.onboarding.distroStatus.missingTools": "Çatışmayan bash, curl", + "wsl.onboarding.distroStatus.unsupported": "Dəstəklənmir · WSL 2 istifadə edin", + "wsl.onboarding.needAnotherDistro": "Başqa distribütiv lazımdır?", + "wsl.onboarding.needAnotherDistroHint": "WSL kataloqundan Linux paylamasını quraşdırın", + "wsl.onboarding.wslNotInstalled.title": "WSL quraşdırılmayıb", + "wsl.onboarding.wslNotInstalled.description": + "OpenCode WSL serveri əlavə etməzdən əvvəl WSL (Linux üçün Windows alt sistemi) tələb olunur", + "wsl.onboarding.wslUnavailable.title": "WSL mövcud deyil", + "wsl.onboarding.wslUnavailable.description": "OpenCode bu maşında WSL-i doğrulaya bilmədi.", + "wsl.onboarding.installWsl": "WSL quraşdırın", + "wsl.onboarding.windowsRestartRequired": + "WSL-nin quraşdırılmasını başa çatdırmaq üçün Windows-u yenidən başladın, sonra OpenCode-u yenidən açın.", + "wsl.onboarding.next": "Növbəti", + "wsl.onboarding.refresh": "Yeniləyin", + "wsl.onboarding.allDistrosAdded": "Bütün quraşdırılmış distribütivlər artıq əlavə edilib.", + "wsl.onboarding.noDistros": "Hələ distribütiv aşkarlanmayıb.", + "wsl.onboarding.install": "Quraşdırın", + "wsl.onboarding.installing": "Quraşdırılır...", + "wsl.onboarding.installDistro": "Distribütiv quraşdırın", + "wsl.onboarding.searchDistros": "Distribütivləri axtar", + "wsl.onboarding.wsl2Required": "WSL 2 tələb olunur.", + "wsl.onboarding.toolsRequired": "Bu distribütiv üçün bash və curl tələb olunur.", + "wsl.onboarding.openTerminal": "Terminalı aç", + "wsl.onboarding.path": "Yol: {{path}}", + "wsl.onboarding.notFound": "tapılmadı", + "wsl.onboarding.version": "Versiya: {{version}}", + "wsl.onboarding.unknown": "naməlum", + "wsl.onboarding.desktopVersion": "masaüstü {{version}}", + "wsl.onboarding.versionMismatch": "Quraşdırılmış versiya masaüstü proqram versiyasına uyğun gəlmir.", + "wsl.onboarding.adding": "Əlavə edilir...", + "help.tabs.toast.ariaLabel": "Tablarla tanışlıq. İşinizi və aktiv sessiyalarınızı tablarla təşkil edin", + "help.tabs.toast.dismiss": "Tablar haqqında məlumatı bağla", + "help.tabs.title": "Tablarla tanışlıq", + "help.tabs.description": "İşinizi və aktiv sessiyalarınızı tablarla təşkil edin", + "help.tabs.date": "14 iyul", + "help.tabs.introduction": "OpenCode Desktop indi tablar əsasında qurulub.", + "help.tabs.sessions": + "Yeni sessiyanı tabda başladın və ya layihələrinizdən mövcud sessiyanı açın. Yeni işə başlayanda yeni tab açın, işi bitirdikdə isə onu bağlayın.", + "help.tabs.organize": + "Bir neçə tabı açıq saxlamaq aktiv sessiyalarınızı təşkil etməyi asanlaşdırır. Onları saxlamağı planlaşdırırsınızsa, tablara yadda qalan adlar verin.", + "help.tabs.home": + "Bütün sessiya və layihələrinizi yeni Ana səhifədə tapa bilərsiniz. Sessiyanı seçdikdə o, tabda açılır.", + "help.tabs.persistence": "Tətbiqi yenidən açdıqda tablarınız açıq qalır.", + "help.tabs.worktrees": + "Yeni dizayn hələ Git Worktrees-i dəstəkləmir, lakin bu imkan tezliklə əlavə olunacaq. Əvvəlki tərtibatdan istifadə etməyə davam etmək istəyirsinizsə, Tənzimləmələrdə tərtibatlar arasında keçid edə bilərsiniz. Nəzərə alın ki, yeni tərtibat bir neçə həftədən sonra daimi olacaq.", + "server.row.noUsername": "istifadəçi adı yoxdur", + "dialog.project.edit.title": "Layihəni redaktə et", + "dialog.project.edit.name": "Ad", + "dialog.project.edit.icon": "İkon", + "dialog.project.edit.icon.alt": "Layihə ikonu", + "dialog.project.edit.icon.hint": "Şəkilə klikləyin və ya onu sürükləyin", + "dialog.project.edit.icon.recommended": "Tövsiyə: 128x128px", + "dialog.project.edit.color": "Rəng", + "dialog.project.edit.color.select": "{{color}} rəngini seçin", + "dialog.project.edit.worktree.startup": "İş sahəsi başlanğıc skripti", + "dialog.project.edit.worktree.startup.description": "Yeni iş sahəsi (worktree) yaradıldıqdan sonra işləyir.", + "dialog.project.edit.worktree.startup.placeholder": "məs. bun install", + "dialog.releaseNotes.action.getStarted": "Başla", + "dialog.releaseNotes.action.next": "Növbəti", + "dialog.releaseNotes.action.hideFuture": "Gələcəkdə göstərmə", + "dialog.releaseNotes.media.alt": "Buraxılış önbaxışı", + "dialog.usageExceeded.dontShowAgain": "Bir daha göstərmə", + + "context.breakdown.title": "Kontekst bölgüsü", + "context.breakdown.note": 'Giriş tokenlərinin təxmini bölgüsü. "Digər" alət təriflərini və əlavə yükü əhatə edir.', + "context.breakdown.system": "Sistem", + "context.breakdown.user": "İstifadəçi", + "context.breakdown.assistant": "Köməkçi", + "context.breakdown.tool": "Alət çağırışları", + "context.breakdown.other": "Digər", + "context.systemPrompt.title": "Sistem promptu", + "context.rawMessages.title": "Xam mesajlar", + "context.export.session": "Sessiyanı ixrac et", + + "context.stats.session": "Sessiya", + "context.stats.messages": "Mesajlar", + "context.stats.provider": "Provayder", + "context.stats.model": "Model", + "context.stats.limit": "Kontekst limiti", + "context.stats.totalTokens": "Ümumi tokenlər", + "context.stats.usage": "İstifadə", + "context.stats.inputTokens": "Giriş tokenləri", + "context.stats.outputTokens": "Çıxış tokenləri", + "context.stats.reasoningTokens": "Düşünmə tokenləri", + "context.stats.cacheTokens": "Keş tokenləri (oxuma/yazma)", + "context.stats.userMessages": "İstifadəçi mesajları", + "context.stats.assistantMessages": "Köməkçi mesajları", + "context.stats.totalCost": "Ümumi xərc", + "context.stats.sessionCreated": "Sessiya yaradıldı", + "context.stats.lastActivity": "Son fəaliyyət", + "context.usage.tokens": "Tokenlər", + "context.usage.usage": "İstifadə", + "context.usage.cost": "Xərc", + "context.usage.clickToView": "Kontekstə baxmaq üçün klikləyin", + "context.usage.view": "Kontekst istifadəsinə bax", + "language.en": "English", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Deutsch", + "language.es": "Español", + "language.fr": "Français", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "Polski", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Norsk", + "language.br": "Português (Brasil)", + "language.bs": "Bosanski", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Türkçe", + "toast.language.title": "Dil", + "toast.language.description": "{{language}} dilinə keçildi", + "toast.theme.title": "Mövzu dəyişdirildi", + "toast.scheme.title": "Rəng sxemi", + "toast.workspace.enabled.title": "İş sahələri aktivləşdirildi", + "toast.workspace.enabled.description": "Birdən çox worktree indi yan paneldə göstərilir", + "toast.workspace.disabled.title": "İş sahələri deaktiv edildi", + "toast.workspace.disabled.description": "Yan paneldə yalnız əsas worktree göstərilir", + "toast.permissions.autoaccept.on.title": "İcazələr avtomatik qəbul edilir", + "toast.permissions.autoaccept.on.description": "İcazə sorğuları avtomatik təsdiqlənəcək", + "toast.permissions.autoaccept.off.title": "İcazələrin avtomatik qəbulu dayandırıldı", + "toast.permissions.autoaccept.off.description": "İcazə sorğuları təsdiq tələb edəcək", + "toast.model.none.title": "Model seçilməyib", + "toast.model.none.description": "Bu sessiyanı xülasə etmək üçün provayder qoşun", + "toast.file.loadFailed.title": "Fayl yüklənə bilmədi", + "toast.file.listFailed.title": "Fayllar siyahılana bilmədi", + "toast.context.noLineSelection.title": "Sətir seçimi yoxdur", + "toast.context.noLineSelection.description": "Əvvəlcə fayl tabında sətir aralığı seçin.", + "toast.session.share.copyFailed.title": "URL buferə kopyalana bilmədi", + "toast.session.share.success.title": "Sessiya paylaşıldı", + "toast.session.share.success.description": "Paylaşma URL-si buferə kopyalandı!", + "toast.session.share.failed.title": "Sessiya paylaşıla bilmədi", + "toast.session.share.failed.description": "Sessiyanı paylaşarkən xəta baş verdi", + "toast.session.unshare.success.title": "Sessiyanın paylaşımı dayandırıldı", + "toast.session.unshare.success.description": "Sessiyanın paylaşımı uğurla dayandırıldı!", + "toast.session.unshare.failed.title": "Sessiyanın paylaşımı dayandırıla bilmədi", + "toast.session.unshare.failed.description": "Sessiyanın paylaşımını dayandırarkən xəta baş verdi", + "toast.session.export.success.title": "Sessiya ixrac edildi", + "toast.session.export.success.description": "Sessiya {{filename}} faylına saxlanıldı", + "toast.session.export.failed.title": "Sessiya ixrac edilə bilmədi", + "toast.session.export.failed.description": "Sessiyanı ixrac edərkən xəta baş verdi", + + "toast.session.listFailed.title": "{{project}} üçün sessiyalar yüklənə bilmədi", + "toast.project.reloadFailed.title": "{{project}} yenidən yüklənə bilmədi", + "toast.update.title": "Yeniləmə mövcuddur", + "toast.update.description": "OpenCode-un yeni versiyası ({{version}}) quraşdırma üçün mövcuddur.", + "toast.update.action.installRestart": "Quraşdır və yenidən başlat", + "toast.update.action.notYet": "Hələ yox", + "error.page.title": "Xəta baş verdi", + "error.page.description": "Tətbiq yüklənərkən xəta baş verdi.", + "error.page.description.localServerStartup": "Lokal serveri işə salarkən xəta baş verdi.", + "error.page.details.label": "Xəta detalları", + "error.page.action.restart": "Yenidən başlat", + "error.page.action.report": "Xəta bildirin", + "error.page.action.reported": "Xəta bildirildi", + "error.page.action.exportLogs": "Qeydləri ixrac edin", + "error.page.action.checking": "Yoxlanılır...", + "error.page.action.checkUpdates": "Yeniləmələri yoxla", + "error.page.action.updateTo": "{{version}} versiyasına yenilə", + "error.page.circular": "[Dairəvi]", + "error.page.report.prefix": "Bu xətanı OpenCode komandasına", + "error.page.report.discord": "Discord-da bildirin", + "error.page.version": "Versiya: {{version}}", + "error.dev.rootNotFound": + "Kök element tapılmadı. index.html-ə əlavə etməyi unutmusunuz? Yoxsa id atributu səhv yazılıb?", + "error.serverSync.connectFailed": "Serverə qoşulmaq mümkün olmadı. `{{url}}`-də işləyən server varmı?", + "error.serverSDK.noServerAvailable": "Əlçatan server yoxdur", + "error.serverSDK.serverNotAvailable": "Server mövcud deyil", + "error.childStore.persistedCacheCreateFailed": "Qalıcı keş yaradıla bilmədi", + "error.childStore.persistedProjectMetadataCreateFailed": "Qalıcı layihə metadatası yaradıla bilmədi", + "error.childStore.persistedProjectIconCreateFailed": "Qalıcı layihə nişanı yaradıla bilmədi", + "error.childStore.storeCreateFailed": "Saxlanc yaradıla bilmədi", + "directory.error.invalidUrl": "URL-də yanlış qovluq.", + "error.chain.unknown": "Naməlum xəta", + "error.server.invalidConfiguration": "Yanlış konfiqurasiya", + "error.chain.causedBy": "Səbəb:", + "error.chain.apiError": "API xətası", + "error.chain.status": "Status: {{status}}", + "error.chain.retryable": "Təkrar cəhd mümkündür: {{retryable}}", + "error.chain.responseBody": "Cavab gövdəsi:\n{{body}}", + "error.chain.didYouMean": "Bunu nəzərdə tuturdunuz: {{suggestions}}", + "error.chain.modelNotFound": "Model tapılmadı: {{provider}}/{{model}}", + "error.chain.checkConfig": "Konfiqurasiyanızdakı (opencode.json) provayder/model adlarını yoxlayın", + "error.chain.mcpFailed": + 'MCP server "{{name}}" uğursuz oldu. Qeyd: OpenCode hələ MCP autentifikasiyasını dəstəkləmir.', + "error.chain.providerAuthFailed": "Provayder autentifikasiyası uğursuz oldu ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + '"{{provider}}" provayderinin işə salınması uğursuz oldu. Giriş məlumatlarını və konfiqurasiyanı yoxlayın.', + "error.chain.configJsonInvalid": "{{path}} ünvanındakı konfiqurasiya faylı etibarlı JSON(C) deyil", + "error.chain.configJsonInvalidWithMessage": + "{{path}} ünvanındakı konfiqurasiya faylı etibarlı JSON(C) deyil: {{message}}", + "error.chain.configDirectoryTypo": + '{{path}} içindəki "{{dir}}" qovluğu etibarlı deyil. Qovluğu "{{suggestion}}" adına dəyişdirin və ya silin. Bu ümumi bir yazım xətasıdır.', + "error.chain.configFrontmatterError": "{{path}} faylındakı frontmatter təhlil edilə bilmədi:\n{{message}}", + "error.chain.configInvalid": "{{path}} ünvanındakı konfiqurasiya faylı etibarsızdır", + "error.chain.configInvalidWithMessage": "{{path}} ünvanındakı konfiqurasiya faylı etibarsızdır: {{message}}", + "notification.permission.title": "İcazə tələb olunur", + "notification.permission.description": "{{projectName}} layihəsində {{sessionTitle}} icazə tələb edir", + "notification.question.title": "Sual", + "notification.question.description": "{{projectName}} layihəsində {{sessionTitle}} sualı var", + "notification.action.goToSession": "Sessiyaya keç", + "notification.session.responseReady.title": "Cavab hazırdır", + "notification.session.error.title": "Sessiya xətası", + "notification.session.error.fallbackDescription": "Xəta baş verdi", + "home.recentProjects": "Son layihələr", + "home.empty.title": "Son layihə yoxdur", + "home.empty.description": "Yerli layihə açaraq başlayın", + "home.title": "Ana səhifə", + "home.projects": "Layihələr", + "home.project.add": "Layihə əlavə edin", + "home.recentlyClosed": "Bu yaxınlarda bağlandı", + "home.server.collapse": "Server layihələrini yığışdırın", + "home.server.expand": "Server layihələrini genişləndirin", + "home.sessions.search.placeholder": "Sessiyaları axtar", + "home.sessions.search.placeholder.scoped": "{{scope}}-də sessiyaları axtarın", + "home.sessions.search.sessions": "Sessiyalar", + "home.sessions.search.noResults": "{{query}} üçün sessiya tapılmadı", + "home.sessions.empty": "Burada hələ heç nə yoxdur", + "home.sessions.empty.description": "Başlamaq üçün sessiya yaradın", + "home.sessions.group.today": "Bu gün", + "home.sessions.group.yesterday": "Dünən", + "home.sessions.group.older": "Daha əvvəl", + "home.providerTip": + "Claude, GPT, Gemini və s. daxil olmaqla, digər modellərdən istifadə etmək üçün 75+ provayderə qoşulun", + "session.tab.session": "Sessiya", + "session.tab.review": "İcmal", + "session.tab.context": "Kontekst", + "session.tab.unknown": "Naməlum sessiya", + "session.panel.reviewAndFiles": "İcmal və fayllar", + "session.error.notFound": "Bu sessiyanı tapmaq mümkün deyil", + "session.error.notFound.description": "Bu tab artıq bu serverdə olmayan sessiyaya işarə edir.", + "session.error.notFound.closeTab": "Tabı bağla", + "session.error.serverConnection": "Bu serverə qoşulmaq mümkün deyil", + "session.review.filesChanged": "{{count}} fayl dəyişdi", + "session.review.change.one": "Dəyişiklik", + "session.review.change.other": "Dəyişikliklər", + "session.review.loadingChanges": "Dəyişikliklər yüklənir...", + "session.review.empty": "Bu sessiyada hələ dəyişiklik yoxdur", + "session.review.noVcs": "Git versiyaya nəzarət sistemi aşkarlanmadı; sessiya dəyişiklikləri göstərilməyəcək", + "session.review.noVcs.createGit.title": "Git repozitoriyası yaradın", + "session.review.noVcs.createGit.description": "Bu layihədə dəyişiklikləri izləyin, nəzərdən keçirin və ləğv edin", + "session.review.noVcs.createGit.actionLoading": "Git repozitoriyası yaradılır...", + "session.review.noVcs.createGit.action": "Git repozitoriyası yaradın", + "session.review.noSnapshot": + "Snapshot izləmə konfiqurasiyada deaktiv edilib, ona görə də sessiya dəyişiklikləri əlçatan deyil", + "session.review.noChanges": "Dəyişiklik yoxdur", + "session.review.noUncommittedChanges": "Hələ commit edilməmiş dəyişiklik yoxdur", + "session.review.noBranchChanges": "Hələ branch dəyişikliyi yoxdur", + "session.files.selectToOpen": "Açmaq üçün fayl seçin", + "session.files.all": "Bütün fayllar", + "session.files.empty": "Fayl yoxdur", + "session.files.binaryContent": "İkili fayl (məzmun göstərilə bilmir)", + "session.messages.renderEarlier": "Əvvəlki mesajları göstər", + "session.messages.loadingEarlier": "Əvvəlki mesajlar yüklənir...", + "session.messages.loadEarlier": "Əvvəlki mesajları yüklə", + "session.messages.loading": "Mesajlar yüklənir...", + "session.messages.jumpToLatest": "Ən sonuncuya keç", + "session.context.addToContext": "{{selection}} kontekstə əlavə et", + "session.todo.title": "Tapşırıqlar", + "session.todo.collapse": "Yığ", + "session.todo.expand": "Genişlət", + "session.todo.progress": "{{total}} tapşırıqdan {{done}}-i tamamlandı", + "session.question.progress": "{{total}} sualdan {{current}}-i", + "session.question.minimize": "Sualı kiçilt", + "session.question.restore": "Sualı bərpa edin", + "session.question.pending.one": "{{count}} cavab gözləyən sual", + "session.question.pending.other": "{{count}} cavab gözləyən sual", + "session.followupDock.summary.one": "{{count}} növbəyə qoyulmuş mesaj", + "session.followupDock.summary.other": "{{count}} növbəyə qoyulmuş mesajlar", + "session.followupDock.sendNow": "İndi göndər", + "session.followupDock.edit": "Redaktə et", + "session.followupDock.collapse": "Növbəyə qoyulmuş mesajları yığcamlaşdırın", + "session.followupDock.expand": "Növbəyə qoyulmuş mesajları genişləndirin", + "session.revertDock.summary.one": "{{count}} geri alınmış mesaj", + "session.revertDock.summary.other": "{{count}} geri alınmış mesaj", + "session.revertDock.collapse": "Geri alınmış mesajları yığcamlaşdırın", + "session.revertDock.expand": "Geri qaytarılmış mesajları genişləndirin", + "session.revertDock.restore": "Mesajı bərpa edin", + "session.new.title": "İstədiyinizi qurun", + "session.new.project.new": "Yeni layihə", + "session.new.project.search": "Layihələri axtarın", + "session.new.project.add": "Layihə əlavə edin", + "session.new.worktree.main": "Əsas branch", + "session.new.worktree.mainWithBranch": "Əsas branch ({{branch}})", + "session.new.worktree.create": "Yeni worktree yarat", + "session.new.workspace.runIn": "Sessiyanı burada işə sal", + "session.new.workspace.triggerLocal": "Yerli", + "session.new.workspace.local": "Yerli depo", + "session.new.workspace.existing": "İş sahəsi…", + "session.new.git.none": "Git yoxdur", + "session.new.lastModified": "Son dəyişiklik", + "session.header.search.placeholder": "{{project}} axtar", + "session.header.searchFiles": "Faylları axtar", + "session.header.openIn": "Burada aç:", + "session.header.open.action": "{{app}} tətbiqini aç", + "session.header.open.ariaLabel": "{{app}} tətbiqində aç", + "session.header.open.menu": "Seçimləri aç", + "session.header.open.copyPath": "Yolu kopyala", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "File Explorer", + "session.header.open.fileManager": "Fayl meneceri", + "session.header.reveal.finder": "Finder-də göstər", + "session.header.reveal.fileExplorer": "File Explorer-də göstər", + "session.header.reveal.containingFolder": "Tərkibindəki qovluğu açın", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Terminal", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "Status", + "status.popover.ariaLabel": "Server konfiqurasiyaları", + "status.popover.tab.servers": "Serverlər", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "Plaginlər", + "status.popover.action.manageServers": "Serverləri idarə et", + "session.share.popover.title": "Vebdə dərc et", + "session.share.popover.description.shared": "Bu sessiya vebdə açıqdır. Linkə sahib olan hər kəs daxil ola bilər.", + "session.share.popover.description.unshared": + "Sessiyanı vebdə açıq paylaşın. Linkə sahib olan hər kəs daxil ola biləcək.", + "session.share.action.share": "Paylaş", + "session.share.action.publish": "Dərc et", + "session.share.action.publishing": "Dərc edilir...", + "session.share.action.unpublish": "Dərcdən çıxar", + "session.share.action.unpublishing": "Dərcdən çıxarılır...", + "session.share.action.view": "Bax", + "session.share.copy.copied": "Kopyalandı", + "session.share.copy.copyLink": "Linki kopyala", + "lsp.tooltip.none": "LSP server yoxdur", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "Prompt yüklənir...", + "terminal.loading": "Terminal yüklənir...", + "terminal.title": "Terminal", + "terminal.title.numbered": "Terminal {{number}}", + "terminal.close": "Terminalı bağla", + "terminal.connectionLost.title": "Bağlantı kəsildi", + "terminal.connectionLost.abnormalClose": "WebSocket anormal bağlandı: {{code}}", + "terminal.connectionLost.description": "Terminal bağlantısı kəsildi. Bu server yenidən başladıqda baş verə bilər.", + "terminal.connectTicket.csrfError": + "PTY bağlantı bileti mənşə və ya CSRF yoxlaması zamanı rədd edildi. Serverin CORS konfiqurasiyasını yoxlayın.", + "terminal.connectTicket.statusError": "PTY bağlantı bileti {{status}} statusu ilə uğursuz oldu", + "titlebar.update": "Yenilə", + "titlebar.updateVersion": "Yenilə {{version}}", + "common.closeTab": "Tabı bağla", + "common.dismiss": "Bağla", + "common.moreCountSuffix": " (+{{count}} daha)", + "common.requestFailed": "Sorğu uğursuz oldu", + "common.moreOptions": "Daha çox seçim", + "common.learnMore": "Ətraflı öyrən", + "common.rename": "Adını dəyiş", + "common.export": "İxrac et", + "common.reset": "Sıfırla", + "common.archive": "Arxivlə", + "common.delete": "Sil", + "common.close": "Bağla", + "common.edit": "Redaktə et", + "common.loadMore": "Daha çox yüklə", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Boşluq", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Sil", + "common.key.home": "Home", + "common.key.end": "Son", + "common.key.pageUp": "Səhifə Yuxarı", + "common.key.pageDown": "Səhifə Aşağı", + "common.key.insert": "Daxil et", + "common.unknown": "naməlum", + "common.time.justNow": "İndicə", + "common.time.minutesAgo.short": "{{count}}d əvvəl", + "common.time.hoursAgo.short": "{{count}}s əvvəl", + "common.time.daysAgo.short": "{{count}}g əvvəl", + "sidebar.menu.toggle": "Menyunu aç/bağla", + "sidebar.nav.projectsAndSessions": "Layihələr və sessiyalar", + "sidebar.settings": "Tənzimləmələr", + "sidebar.help": "Kömək", + "sidebar.workspaces.enable": "İş sahələrini aktivləşdir", + "sidebar.workspaces.disable": "İş sahələrini deaktiv et", + "sidebar.gettingStarted.title": "Başlanğıc", + "sidebar.gettingStarted.line1": "OpenCode-a pulsuz modellər daxildir, buna görə dərhal başlaya bilərsiniz.", + "sidebar.gettingStarted.line2": + "Claude, GPT, Gemini və s. kimi modellərdən istifadə etmək üçün istənilən provayderi qoşun.", + "sidebar.project.recentSessions": "Son sessiyalar", + "sidebar.project.viewAllSessions": "Bütün sessiyalara bax", + "sidebar.project.clearNotifications": "Bildirişləri təmizlə", + "sidebar.empty.title": "Heç bir layihə açılmayıb", + "sidebar.empty.description": "Başlamaq üçün bir layihə açın", + "debugBar.ariaLabel": "Tərtibatçı performans diaqnostikası", + "debugBar.na": "yox", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "Sessiya səhifəsinə aid son tamamlanmış marşrut keçidi; marşrutlaşdırıcının başladığı andan keçid tamamlandıqdan sonrakı ilk göstərilməyədək ölçülür.", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "Son 5 saniyə üzrə saniyədə kadrların hərəkətli orta qiyməti.", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "Son 5 saniyədə ən uzun kadr müddəti.", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "Son 5 saniyədə 32 ms-dən uzun çəkən kadrlar.", + "debugBar.long.label": "LONG", + "debugBar.long.tip": "Son 5 saniyədə bloklanma müddəti və uzun tapşırıqların sayı. Ən uzun tapşırıq: {{max}}.", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "Son 5 saniyədə müşahidə olunan ən uzun daxiletmə gecikməsi.", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": + "Son 5 saniyədə təxmini qarşılıqlı əlaqə müddəti. Bu, rəsmi Web Vitals INP göstəricisi deyil, ona bənzər göstəricidir.", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "Tətbiqin cari işləmə müddəti üzrə məcmu tərtibat sürüşməsi.", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "İstifadə olunmuş JS yığını və yığın limiti. Yalnız Chromium.", + "debugBar.mem.tip": "İstifadə olunmuş JS yığını və yığın limiti. {{used}} və {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Bütün interaktiv elementlərə fokus üslublarını məcburi tətbiq et", + "debugBar.focus.on": "AÇIQ", + "debugBar.focus.off": "QAPALI", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Seçilmiş dili dəyişmədən bütün tətbiq üçün tərtibat istiqamətini məcburi təyin et", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode Desktop", + "settings.section.desktop": "Masaüstü", + "settings.section.server": "Server", + "settings.tab.general": "Ümumi", + "settings.tab.shortcuts": "Qısa yollar", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "WSL inteqrasiyası", + "settings.desktop.wsl.description": "Windows-da WSL daxilində OpenCode serverini işlət.", + "settings.general.section.appearance": "Görünüş", + "settings.general.section.advanced": "Qabaqcıl", + "settings.general.section.notifications": "Sistem bildirişləri", + "settings.general.section.updates": "Yeniləmələr", + "settings.general.section.sounds": "Səs effektləri", + "settings.general.section.feed": "Lenta", + "settings.general.section.display": "Ekran", + "settings.general.row.language.title": "Dil", + "settings.general.row.language.description": "OpenCode üçün ekran dilini dəyişdirin", + "settings.general.row.shell.title": "Terminal qabığı", + "settings.general.row.shell.description": "Terminal və agent alətləri tərəfindən istifadə edilən qabıq", + "settings.general.row.shell.autoDefault": "Avtomatik (Standart)", + "settings.general.row.shell.terminalOnly": "yalnız terminal", + "settings.general.row.appearance.title": "Görünüş", + "settings.general.row.appearance.description": "OpenCode-un cihazınızda necə göründüyünü fərdiləşdirin", + "settings.general.row.colorScheme.title": "Rəng sxemi", + "settings.general.row.colorScheme.description": + "OpenCode-un sistem, açıq və ya tünd mövzudan istifadə etməsini seçin", + "settings.general.row.theme.title": "Mövzu", + "settings.general.row.theme.description": "OpenCode-un mövzusunu fərdiləşdirin.", + "settings.general.row.font.title": "Kod şrifti", + "settings.general.row.font.description": "Kod bloklarında istifadə olunan mono şrifti fərdiləşdirin", + "settings.general.row.terminalFont.title": "Terminal şrifti", + "settings.general.row.terminalFont.description": "Terminalda istifadə olunan şrifti fərdiləşdirin", + "settings.general.row.uiFont.title": "İnterfeys şrifti", + "settings.general.row.uiFont.description": "Bütün interfeysdə istifadə olunan şrifti fərdiləşdirin", + "settings.general.row.followup.title": "Sonrakı sorğuların davranışı", + "settings.general.row.followup.description": + "Sonrakı sorğuların dərhal yönləndirilməsini və ya növbədə gözləməsini seçin", + "settings.general.row.followup.option.queue": "Növbə", + "settings.general.row.followup.option.steer": "Yönləndir", + "settings.general.row.showFileTree.title": "Fayl ağacı", + "settings.general.row.showFileTree.description": "Seanslarda fayl ağacı panelini göstərin", + "settings.general.row.showNavigation.title": "Naviqasiya nəzarətləri", + "settings.general.row.showNavigation.description": + "Masaüstü tətbiqin başlıq zolağında geri və irəli düymələrini göstərin", + "settings.general.row.showSearch.title": "Komanda palitrası", + "settings.general.row.showSearch.description": "Başlıq çubuğunda axtarış və əmr palitrası düyməsini göstərin", + "settings.general.row.showTerminal.title": "Terminal", + "settings.general.row.showTerminal.description": "Masaüstü tətbiqin başlıq zolağında terminal düyməsini göstərin", + "settings.general.row.showStatus.title": "Server statusu", + "settings.general.row.showStatus.description": "Başlıq çubuğunda server statusu düyməsini göstərin", + "settings.general.row.mobileTitlebarBottom.title": "Aşağı naviqasiya", + "settings.general.row.mobileTitlebarBottom.description": + "Başlıq çubuğunu və sessiya tablarını mobil cihazda ekranın aşağısına yerləşdirin", + "settings.general.row.showCustomAgents.title": "Agenti göstər", + "settings.general.row.showCustomAgents.description": + "Mesaj sahəsində agentlər arasında keçid edin. Gizlədildikdə Build agenti seçilir.", + "settings.general.row.reasoningSummaries.title": "Düşünmə xülasələrini göstər", + "settings.general.row.reasoningSummaries.description": "Zaman xəttində modelin düşünmə xülasələrini göstər", + "settings.general.row.shellToolPartsExpanded.title": "Shell alət hissələrini genişlət", + "settings.general.row.shellToolPartsExpanded.description": + "Zaman xəttində shell alət hissələrini standart olaraq genişlədilmiş göstər", + "settings.general.row.editToolPartsExpanded.title": "Redaktə alət hissələrini genişlət", + "settings.general.row.editToolPartsExpanded.description": + "Zaman xəttində redaktə, yazma və patch alət hissələrini standart olaraq genişlədilmiş göstər", + "settings.general.row.newInterface.title": "Yeni tərtibat", + "settings.general.row.newInterface.badge": "Yeni", + "settings.general.row.newInterface.description": + "Yeni tab və ana səhifə tərtibatından istifadə edin. Məhdud müddət ərzində tərtibatlar arasında keçid edin.", + "settings.general.row.newInterfaceNotice.title": "İndi yeni tərtibatdan istifadə edirsiniz", + "settings.general.row.newInterfaceNotice.description": "Əvvəlki tərtibat artıq mövcud deyil", + "settings.general.row.newInterfaceNotice.dismiss": "Rədd et", + "settings.general.row.pinchZoom.title": "Böyütmək üçün çimdikləyin", + "settings.general.row.pinchZoom.description": + "Trekpadda çimdikləmə və Ctrl-sürüşdürmə jestləri ilə miqyaslamağa icazə verin", + "settings.general.row.wayland.title": "Nativ Wayland-dan istifadə et", + "settings.general.row.wayland.description": "Wayland-da X11 geri dönüşünü deaktiv et. Yenidən başlatma tələb olunur.", + "settings.general.row.wayland.tooltip": + "Qarışıq yeniləmə tezlikli monitorlu Linux-da nativ Wayland daha sabit ola bilər.", + "settings.general.row.releaseNotes.title": "Buraxılış qeydləri", + "settings.general.row.releaseNotes.description": "Yeniləmələrdən sonra yenilikləri göstər", + "settings.updates.row.startup.title": "Başlanğıcda yeniləmələri yoxla", + "settings.updates.row.startup.description": "OpenCode açıldıqda avtomatik yeniləmələri yoxla", + "settings.updates.row.check.title": "Yeniləmələri yoxla", + "settings.updates.row.check.description": "Əl ilə yeniləmələri yoxla və mövcud olduqda quraşdır", + "settings.updates.action.checkNow": "İndi yoxla", + "settings.updates.action.checking": "Yoxlanılır...", + "settings.updates.action.downloading": "Yüklənir...", + "settings.updates.action.installing": "Quraşdırılır...", + "settings.updates.toast.latest.title": "Ən son versiyadan istifadə edirsiniz", + "settings.updates.toast.latest.description": "OpenCode-un ən son versiyasından istifadə edirsiniz.", + "sound.option.none": "Yoxdur", + "sound.option.alert01": "Alert 01", + "sound.option.alert02": "Alert 02", + "sound.option.alert03": "Alert 03", + "sound.option.alert04": "Alert 04", + "sound.option.alert05": "Alert 05", + "sound.option.alert06": "Alert 06", + "sound.option.alert07": "Alert 07", + "sound.option.alert08": "Alert 08", + "sound.option.alert09": "Alert 09", + "sound.option.alert10": "Alert 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "Nope 01", + "sound.option.nope02": "Nope 02", + "sound.option.nope03": "Nope 03", + "sound.option.nope04": "Nope 04", + "sound.option.nope05": "Nope 05", + "sound.option.nope06": "Nope 06", + "sound.option.nope07": "Nope 07", + "sound.option.nope08": "Nope 08", + "sound.option.nope09": "Nope 09", + "sound.option.nope10": "Nope 10", + "sound.option.nope11": "Nope 11", + "sound.option.nope12": "Nope 12", + "sound.option.yup01": "Yup 01", + "sound.option.yup02": "Yup 02", + "sound.option.yup03": "Yup 03", + "sound.option.yup04": "Yup 04", + "sound.option.yup05": "Yup 05", + "sound.option.yup06": "Yup 06", + "settings.general.notifications.agent.title": "Agent", + "settings.general.notifications.agent.description": + "Agent tamamlandıqda və ya diqqət tələb etdikdə sistem bildirişi göstər", + "settings.general.notifications.permissions.title": "İcazələr", + "settings.general.notifications.permissions.description": "İcazə tələb olunduqda sistem bildirişi göstər", + "settings.general.notifications.errors.title": "Xətalar", + "settings.general.notifications.errors.description": "Xəta baş verdikdə sistem bildirişi göstər", + "settings.general.sounds.agent.title": "Agent", + "settings.general.sounds.agent.description": "Agent tamamlandıqda və ya diqqət tələb etdikdə səs çal", + "settings.general.sounds.permissions.title": "İcazələr", + "settings.general.sounds.permissions.description": "İcazə tələb olunduqda səs çal", + "settings.general.sounds.errors.title": "Xətalar", + "settings.general.sounds.errors.description": "Xəta baş verdikdə səs çal", + "settings.shortcuts.title": "Klaviatura qısa yolları", + "settings.shortcuts.reset.button": "Standartlara sıfırla", + "settings.shortcuts.reset.toast.title": "Qısa yollar sıfırlandı", + "settings.shortcuts.reset.toast.description": "Klaviatura qısa yolları standartlara sıfırlandı.", + "settings.shortcuts.conflict.title": "Qısa yol artıq istifadə olunur", + "settings.shortcuts.conflict.description": "{{keybind}} artıq {{titles}} üçün təyin edilib.", + "settings.shortcuts.unassigned": "Təyin edilməyib", + "settings.shortcuts.pressKeys": "Düymələrə basın", + "settings.shortcuts.search.placeholder": "Qısa yolları axtar", + "settings.shortcuts.search.empty": "Qısa yol tapılmadı", + "settings.shortcuts.group.general": "Ümumi", + "settings.shortcuts.group.session": "Sessiya", + "settings.shortcuts.group.navigation": "Naviqasiya", + "settings.shortcuts.group.modelAndAgent": "Model və agent", + "settings.shortcuts.group.terminal": "Terminal", + "settings.shortcuts.group.prompt": "Prompt", + "settings.providers.title": "Provayderlər", + "settings.providers.description": "Provayder tənzimləmələri burada konfiqurasiya edilə biləcək.", + "settings.providers.section.connected": "Qoşulmuş provayderlər", + "settings.providers.connected.empty": "Qoşulmuş provayder yoxdur", + "settings.providers.connected.environmentDescription": "Mühit dəyişənlərinizdən qoşulub", + "settings.providers.section.popular": "Populyar provayderlər", + "settings.providers.custom.description": "Əsas URL ilə OpenAI-uyğun provayder əlavə edin.", + "settings.providers.tag.environment": "Mühit", + "settings.providers.tag.config": "Konfiqurasiya", + "settings.providers.tag.custom": "Fərdi", + "settings.providers.tag.other": "Digər", + "settings.models.title": "Modellər", + "settings.models.description": "Model tənzimləmələri burada konfiqurasiya edilə biləcək.", + "settings.agents.title": "Agentlər", + "settings.agents.description": "Agent tənzimləmələri burada konfiqurasiya edilə biləcək.", + "settings.commands.title": "Əmrlər", + "settings.commands.description": "Əmr tənzimləmələri burada konfiqurasiya edilə biləcək.", + "settings.mcp.title": "MCP", + "settings.mcp.description": "MCP tənzimləmələri burada konfiqurasiya edilə biləcək.", + "settings.permissions.title": "İcazələr", + "settings.permissions.description": "Serverin standart olaraq hansı alətləri istifadə edə biləcəyini idarə edin.", + "settings.permissions.section.tools": "Alətlər", + "settings.permissions.toast.updateFailed.title": "İcazələr yenilənə bilmədi", + "settings.permissions.action.allow": "İcazə ver", + "settings.permissions.action.ask": "Soruş", + "settings.permissions.action.deny": "Rədd et", + "settings.permissions.tool.read.title": "Oxu", + "settings.permissions.tool.read.description": "Fayl oxuma (fayl yoluna uyğun gəlir)", + "settings.permissions.tool.edit.title": "Redaktə", + "settings.permissions.tool.edit.description": "Redaktə, yazma və yamaq tətbiqi daxil olmaqla faylları dəyişdir", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "Glob nümunələri ilə faylları uyğunlaşdır", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "Müntəzəm ifadələrlə fayl məzmununu axtar", + "settings.permissions.tool.list.title": "Siyahı", + "settings.permissions.tool.list.description": "Qovluq daxilindəki faylları siyahıla", + "settings.permissions.tool.bash.title": "Bash", + "settings.permissions.tool.bash.description": "Shell əmrlərini işlət", + "settings.permissions.tool.task.title": "Tapşırıq", + "settings.permissions.tool.task.description": "Alt agentləri işə sal", + "settings.permissions.tool.skill.title": "Bacarıq", + "settings.permissions.tool.skill.description": "Adla bacarıq yüklə", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "Dil server sorğularını işlət", + "settings.permissions.tool.todowrite.title": "Tapşırıq yaz", + "settings.permissions.tool.todowrite.description": "Tapşırıq siyahısını yenilə", + "settings.permissions.tool.webfetch.title": "Veb əldə et", + "settings.permissions.tool.webfetch.description": "URL-dən məzmun əldə et", + "settings.permissions.tool.websearch.title": "Veb axtarış", + "settings.permissions.tool.websearch.description": "Vebdə axtar", + "settings.permissions.tool.external_directory.title": "Xarici qovluq", + "settings.permissions.tool.external_directory.description": "Layihə qovluğundan kənardakı fayllara daxil ol", + "settings.permissions.tool.doom_loop.title": "Sonsuz dövr", + "settings.permissions.tool.doom_loop.description": "Eyni girişlə təkrarlanan alət çağırışlarını aşkarla", + "session.delete.failed.title": "Sessiya silinə bilmədi", + "session.delete.title": "Sessiyanı sil", + "session.delete.confirm": '"{{name}}" sessiyasını silmək istəyirsiniz?', + "session.delete.button": "Sessiyanı sil", + "workspace.new": "Yeni iş sahəsi", + "workspace.type.local": "yerli", + "workspace.type.sandbox": "sandbox", + "workspace.create.failed.title": "İş sahəsi yaradıla bilmədi", + "workspace.delete.failed.title": "İş sahəsi silinə bilmədi", + "workspace.resetting.title": "İş sahəsi sıfırlanır", + "workspace.resetting.description": "Bu bir dəqiqə çəkə bilər.", + "workspace.reset.failed.title": "İş sahəsi sıfırlana bilmədi", + "workspace.reset.success.title": "İş sahəsi sıfırlandı", + "workspace.reset.success.description": "İş sahəsi indi standart branch ilə uyğunlaşır.", + "workspace.error.stillPreparing": "İş sahəsi hələ hazırlanır", + "workspace.status.checking": "Birləşdirilməmiş dəyişikliklər yoxlanılır...", + "workspace.status.error": "Git statusu doğrulana bilmədi.", + "workspace.status.clean": "Birləşdirilməmiş dəyişiklik aşkarlanmadı.", + "workspace.status.dirty": "Bu iş sahəsində birləşdirilməmiş dəyişikliklər aşkarlandı.", + "workspace.delete.title": "İş sahəsini sil", + "workspace.delete.confirm": '"{{name}}" iş sahəsini silmək istəyirsiniz?', + "workspace.delete.button": "İş sahəsini sil", + "workspace.reset.title": "İş sahəsini sıfırla", + "workspace.reset.confirm": '"{{name}}" iş sahəsini sıfırlamaq istəyirsiniz?', + "workspace.reset.button": "İş sahəsini sıfırla", + "workspace.reset.archived.none": "Heç bir aktiv sessiya arxivlənməyəcək.", + "workspace.reset.archived.one": "1 sessiya arxivlənəcək.", + "workspace.reset.archived.many": "{{count}} sessiya arxivlənəcək.", + "workspace.reset.note": "Bu iş sahəsini standart branch ilə uyğunlaşdırmaq üçün sıfırlayacaq.", +} diff --git a/packages/app/src/i18n/bg.ts b/packages/app/src/i18n/bg.ts new file mode 100644 index 000000000000..7f63d1fa4b3e --- /dev/null +++ b/packages/app/src/i18n/bg.ts @@ -0,0 +1,1170 @@ +export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Файл", + "desktop.menu.edit": "Редактиране", + "desktop.menu.view": "Преглед", + "desktop.menu.go": "върви", + "desktop.menu.window": "прозорец", + "desktop.menu.help": "Помощ", + "desktop.menu.checkForUpdates": "Проверете за актуализации...", + "desktop.menu.settings": "Настройки", + "desktop.menu.reloadWebview": "Презареди Webview", + "desktop.menu.restart": "Рестартирайте", + "desktop.menu.exportLogs": "Експортиране на регистрационни файлове...", + "desktop.menu.newSession": "Нова сесия", + "desktop.menu.openProject": "Отворете проекта...", + "desktop.menu.newWindow": "Нов прозорец", + "desktop.menu.closeWindow": "Затваряне на прозореца", + "desktop.menu.undo": "Отмяна", + "desktop.menu.redo": "Повторете", + "desktop.menu.cut": "Изрежете", + "desktop.menu.copy": "копие", + "desktop.menu.paste": "Залепете", + "desktop.menu.delete": "Изтриване", + "desktop.menu.selectAll": "Изберете Всички", + "desktop.menu.toggleSidebar": "Превключване на страничната лента", + "desktop.menu.toggleTerminal": "Превключване на терминала", + "desktop.menu.toggleFileTree": "Превключване на файловото дърво", + "desktop.menu.reload": "Презареди", + "desktop.menu.toggleDeveloperTools": "Превключване на инструментите за разработчици", + "desktop.menu.actualSize": "Действителен размер", + "desktop.menu.zoomIn": "Увеличете", + "desktop.menu.zoomOut": "Намаляване", + "desktop.menu.toggleFullScreen": "Превключване на цял екран", + "desktop.menu.back": "Назад", + "desktop.menu.forward": "Напред", + "desktop.menu.previousSession": "Предишна сесия", + "desktop.menu.nextSession": "Следваща сесия", + "desktop.menu.previousProject": "Предишен проект", + "desktop.menu.nextProject": "Следващ проект", + "desktop.menu.minimize": "Минимизиране", + "desktop.menu.maximize": "Увеличете максимално", + "desktop.menu.documentation": "OpenCode Документация", + "desktop.menu.supportForum": "Форум за поддръжка", + "desktop.menu.shareFeedback": "Споделете обратна връзка", + "desktop.menu.reportBug": "Докладване за грешка", + "desktop.menu.ariaLabel": "OpenCode меню", + "desktop.updater.dialog.checkFailed.message": "Проверката на актуализацията е неуспешна.", + "desktop.updater.dialog.checkFailed.title": "Грешка при актуализиране", + "desktop.updater.dialog.upToDate.message": "Вие сте в крак с времето.", + "desktop.updater.dialog.upToDate.title": "Няма актуализации", + "desktop.updater.dialog.ready.message": "Актуализацията {{version}} е изтеглена. Рестартиране сега?", + "desktop.updater.dialog.ready.title": "Актуализацията е готова", + "desktop.updater.dialog.restart": "Рестартирайте", + "desktop.updater.dialog.later": "по-късно", + "desktop.recovery.action.relaunch": "Рестартирайте", + "desktop.recovery.action.exportLogs": "Експортиране на регистрационни файлове", + "desktop.recovery.action.keepWaiting": "Продължете да чакате", + "desktop.recovery.action.quit": "Откажете се", + "desktop.recovery.loadFailed": "OpenCode не успя да се зареди", + "desktop.recovery.terminated": "Прозорецът OpenCode приключи неочаквано", + "desktop.recovery.unresponsive": "OpenCode не отговаря", + "desktop.recovery.unresponsive.detail": + "Можете да рестартирате приложението, да отворите регистрационните файлове или да продължите да чакате.", + "desktop.recovery.loadFailed.detail": "Прозорец: {{window}}\nURL: {{url}}\nГрешка: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Прозорец: {{window}}\nПричина: {{reason}}\nКод: {{code}}", + "desktop.recovery.unknown": "<неизвестен>", + "desktop.dialog.chooseFolder": "Изберете папка", + "desktop.dialog.chooseFile": "Изберете файл", + "desktop.dialog.saveFile": "Запазете файла", + "desktop.dialog.files": "файлове", + "desktop.server.local": "Локален сървър", + "desktop.wsl.error.windowsOnly": "WSL се предлага само на Windows", + "desktop.wsl.error.unavailable": "WSL не е наличен", + "desktop.wsl.error.listInstalled": "Неуспешно показване на инсталирани WSL дистрибуции", + "desktop.wsl.error.listOnline": "Неуспешно изброяване на онлайн WSL дистрибуции", + "desktop.wsl.error.executeDistro": "Не може да изпълнява команди в дистрибуцията", + "desktop.wsl.error.installWsl": "Инсталирането на WSL е неуспешно", + "desktop.wsl.error.installDistro": "Неуспешно инсталиране на дистрибуция: {{distro}}", + "desktop.wsl.error.installOpencode": "Инсталирането на OpenCode е неуспешно", + "desktop.wsl.error.alreadyAdded": "{{distro}} вече е добавен", + "desktop.wsl.error.opencodeMissing": "opencode не е инсталиран в тази дистрибуция", + "desktop.wsl.error.opencodeCannotRun": "opencode е инсталиран, но не може да стартира", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode не е инсталиран в {{distro}}", + "desktop.wsl.error.updateVersion": + "OpenCode актуализацията приключи, но {{distro}} все още съобщава {{installed}}; очаквано {{expected}}", + "desktop.wsl.error.noVersion": "няма версия", + "desktop.wsl.error.serverExited": "WSL сървърът излезе след стартиране (код={{code}} сигнал={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL сървърът излезе, преди да стане здрав (код={{code}} сигнал={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": + "Времето за изчакване на допълнителната кола за {{distro}} проверка на здравето изтече след {{timeout}}ms", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} времето за изчакване изтече след {{timeout}}ms", + "desktop.wsl.error.failedPort": "Неуспешно получаване на порт", + "desktop.picker.error.notSelected": "Файлът не е избран от инструмента за избор", + "desktop.picker.error.sizeLimit": "Избраните прикачени файлове надхвърлят ограничението от {{limit}} MB", + "command.category.suggested": "Предложено", + "command.category.view": "Преглед", + "command.category.project": "Проект", + "command.category.provider": "Доставчик", + "command.category.server": "сървър", + "command.category.session": "Сесия", + "command.category.theme": "Тема", + "command.category.language": "език", + "command.category.file": "Файл", + "command.category.context": "Контекст", + "command.category.terminal": "Терминал", + "command.category.model": "Модел", + "command.category.mcp": "MCP", + "command.category.agent": "агент", + "command.category.permissions": "Разрешения", + "command.category.workspace": "Работно пространство", + "command.category.settings": "Настройки", + "command.logs.export": "Експортиране на регистрационни файлове", + "theme.scheme.system": "система", + "theme.scheme.light": "светлина", + "theme.scheme.dark": "Тъмно", + "command.sidebar.toggle": "Превключване на страничната лента", + "command.project.open": "Отворен проект", + "command.project.previous": "Предишен проект", + "command.project.next": "Следващ проект", + "command.project.index": "Превключване към проект {{index}}", + "command.provider.connect": "Свържете доставчика", + "command.server.switch": "Превключете сървъра", + "command.settings.open": "Отворете настройките", + "command.session.previous": "Предишна сесия", + "command.session.next": "Следваща сесия", + "command.session.previous.unseen": "Предишна непрочетена сесия", + "command.session.next.unseen": "Следваща непрочетена сесия", + "command.session.archive": "Архивна сесия", + "command.palette": "Командна палитра", + "command.theme.cycle": "Тема за цикъл", + "command.theme.set": "Използвайте тема: {{theme}}", + "command.theme.scheme.cycle": "Цикъл на цветовата схема", + "command.theme.scheme.set": "Използвайте цветова схема: {{scheme}}", + "command.language.cycle": "Цикличен език", + "command.language.set": "Използвайте език: {{language}}", + "command.session.new": "Нова сесия", + "command.file.open": "Отворете файла", + "command.tab.close": "Затваряне на раздела", + "command.tab.reopenClosed": "Повторно отваряне на затворен раздел", + "command.context.addSelection": "Добавете селекция към контекста", + "command.context.addSelection.description": "Добавяне на избрани редове от текущия файл", + "command.input.focus": "Въвеждане на фокус", + "command.terminal.toggle": "Превключване на терминала", + "command.fileTree.toggle": "Превключване на файловото дърво", + "command.review.toggle": "Превключване на прегледа", + "command.terminal.new": "Нов терминал", + "command.terminal.new.description": "Създайте нов раздел на терминала", + "command.steps.toggle": "Превключване на стъпки", + "command.steps.toggle.description": "Показване или скриване на стъпки за текущото съобщение", + "command.message.previous": "Предишно съобщение", + "command.message.previous.description": "Отидете на предишното потребителско съобщение", + "command.message.next": "Следващо съобщение", + "command.message.next.description": "Отидете на следващото потребителско съобщение", + "command.model.choose": "Изберете модел", + "command.model.choose.description": "Изберете друг модел", + "command.mcp.toggle": "Превключване на MCPs", + "command.mcp.toggle.description": "Превключване на MCPs", + "command.agent.cycle": "Следващ агент", + "command.agent.cycle.description": "Преминете към следващия агент", + "command.agent.cycle.reverse": "Предишен агент", + "command.agent.cycle.reverse.description": "Преминете към предишния агент", + "command.model.variant.cycle": "Следващо ниво на разсъждение", + "command.model.variant.cycle.description": "Преминете към следващото ниво на усилие", + "command.prompt.mode.shell": "Shell", + "command.prompt.mode.normal": "подкана", + "command.permissions.autoaccept.enable": "Автоматично приемане на разрешения", + "command.permissions.autoaccept.disable": "Спрете автоматичното приемане на разрешения", + "command.workspace.toggle": "Превключване на работните пространства", + "command.workspace.toggle.description": + "Активирайте или деактивирайте няколко работни пространства в страничната лента", + "command.session.undo": "Отмяна", + "command.session.undo.description": "Отмяна на последното съобщение", + "command.session.redo": "Повторете", + "command.session.redo.description": "Повторете последното отменено съобщение", + "command.session.compact": "Компактна сесия", + "command.session.compact.description": "Обобщете сесията, за да намалите размера на контекста", + "command.session.fork": "Разклонение от съобщение", + "command.session.fork.description": "Създайте нова сесия от предишно съобщение", + "command.session.share": "Споделяне на сесия", + "command.session.share.description": "Споделете тази сесия и копирайте URL в клипборда", + "command.session.unshare": "Прекратяване на споделянето на сесията", + "command.session.unshare.description": "Спрете да споделяте тази сесия", + "command.session.export": "Експортиране на сесия", + "command.session.export.description": "Експортирайте пълния препис на сесията като JSON", + "palette.search.placeholder": "Търсене на файлове, команди и сесии", + "palette.search.placeholder.home": "Команди за търсене и сесии", + "palette.empty": "Няма намерени резултати", + "palette.group.commands": "Команди", + "palette.group.files": "файлове", + "dialog.provider.search.placeholder": "Доставчици на търсене", + "dialog.provider.empty": "Няма намерени доставчици", + "dialog.provider.group.popular": "Популярни", + "dialog.provider.group.other": "други", + "dialog.provider.custom.label": "Персонализиран OpenAI-съвместим доставчик", + "dialog.provider.tag.recommended": "Препоръчва се", + "dialog.provider.opencode.note": "Подбрани модели, включително Claude, GPT, Gemini и други", + "dialog.provider.opencode.tagline": "Надеждни оптимизирани модели", + "dialog.provider.opencodeGo.tagline": "Абонамент на ниска цена за всеки", + "dialog.provider.anthropic.note": "Директен достъп до Claude модели, включително Pro и Max", + "dialog.provider.copilot.note": "AI модели за помощ при кодиране чрез GitHub Copilot", + "dialog.provider.openai.note": "GPT модели за бързи, способни общи задачи с изкуствен интелект", + "dialog.provider.google.note": "Gemini модели за бързи, структурирани отговори", + "dialog.provider.openrouter.note": "Достъп до всички поддържани модели от един доставчик", + "dialog.provider.vercel.note": "Унифициран достъп до AI модели с интелигентно маршрутизиране", + "dialog.model.select.title": "Изберете модел", + "dialog.model.search.placeholder": "Търсене на модели", + "dialog.model.empty": "Няма резултати за модели", + "dialog.model.manage": "Управление на модели", + "dialog.model.manage.description": "Персонализирайте кои модели да се показват в селектора на модели.", + "dialog.model.manage.provider.toggle": "Превключване на всички {{provider}} модели", + "dialog.model.unpaid.freeModels.title": "Безплатни модели, предоставени от OpenCode", + "dialog.model.unpaid.addMore.title": "Добавете още модели от популярни доставчици", + "dialog.model.unpaid.viewMoreProviders": "Вижте още 70+ доставчици", + "dialog.provider.viewAll": "Показване на още доставчици", + "provider.connect.title": "Свържете {{provider}}", + "provider.connect.title.anthropicProMax": "Влезте с Claude Pro/Max", + "provider.connect.selectMethod": "Изберете метод за влизане за {{provider}}.", + "provider.connect.method.apiKey": "API ключ", + "provider.connect.method.browser": "Браузър", + "provider.connect.method.headless": "Без глава", + "provider.connect.status.inProgress": "В ход е оторизация...", + "provider.connect.status.waiting": "Чака се оторизация...", + "provider.connect.status.failed": "Упълномощаването е неуспешно: {{error}}", + "provider.connect.apiKey.description": + "Въведете своя {{provider}} API ключ, за да свържете акаунта си и да използвате {{provider}} модели в OpenCode.", + "provider.connect.apiKey.label": "{{provider}} API ключ", + "provider.connect.apiKey.placeholder": "API ключ", + "provider.connect.apiKey.required": "Изисква се ключ API", + "provider.connect.opencodeZen.line1": + "OpenCode Zen ви дава достъп до подбран набор от надеждни оптимизирани модели за кодиращи агенти.", + "provider.connect.opencodeZen.line2": + "С един ключ API ще получите достъп до модели като Claude, GPT, Gemini, GLM и други.", + "provider.connect.opencodeZen.visit.prefix": "Посетете", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": "за да вземете своя ключ API.", + "provider.connect.oauth.code.visit.prefix": "Посетете", + "provider.connect.oauth.code.visit.link": "тази връзка", + "provider.connect.oauth.code.visit.suffix": + "за да вземете вашия код за оторизация, за да свържете акаунта си и да използвате {{provider}} модели в OpenCode.", + "provider.connect.oauth.code.label": "{{method}} код за оторизация", + "provider.connect.oauth.code.placeholder": "Код за оторизация", + "provider.connect.oauth.code.required": "Изисква се код за оторизация", + "provider.connect.oauth.code.invalid": "Невалиден код за оторизация", + "provider.connect.oauth.auto.visit.prefix": "Посетете", + "provider.connect.oauth.auto.visit.link": "тази връзка", + "provider.connect.oauth.auto.visit.suffix": + "и въведете кода по-долу, за да свържете акаунта си и да използвате {{provider}} модели в OpenCode.", + "provider.connect.oauth.auto.confirmationCode": "Код за потвърждение", + "provider.connect.toast.connected.title": "{{provider}} свързан", + "provider.connect.toast.connected.description": "{{provider}} модела вече са налични за използване.", + "provider.custom.title": "Персонализиран доставчик", + "provider.custom.unavailable": "Персонализираните доставчици не са достъпни на този сървър", + "provider.custom.description.prefix": "Конфигурирайте OpenAI-съвместим доставчик. Вижте", + "provider.custom.description.link": "документи за конфигурация на доставчика", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "ID на доставчика", + "provider.custom.field.providerID.placeholder": "myprovider", + "provider.custom.field.providerID.description": "Малки букви, цифри, тирета или долни черти", + "provider.custom.field.name.label": "Екранно име", + "provider.custom.field.name.placeholder": "Моят доставчик на AI", + "provider.custom.field.baseURL.label": "Основа URL", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "API ключ", + "provider.custom.field.apiKey.placeholder": "API ключ", + "provider.custom.field.apiKey.description": + "Не е задължително. Оставете празно, ако управлявате удостоверяването чрез заглавки.", + "provider.custom.models.label": "Модели", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "модел-id", + "provider.custom.models.name.label": "Име", + "provider.custom.models.name.placeholder": "Екранно име", + "provider.custom.models.remove": "Премахване на модела", + "provider.custom.models.add": "Добавете модел", + "provider.custom.headers.label": "Заглавки (по избор)", + "provider.custom.headers.key.label": "Заглавка", + "provider.custom.headers.key.placeholder": "Заглавие-Име", + "provider.custom.headers.value.label": "Стойност", + "provider.custom.headers.value.placeholder": "стойност", + "provider.custom.headers.remove": "Премахване на заглавката", + "provider.custom.headers.add": "Добавете заглавка", + "provider.custom.error.providerID.required": "Изисква се ID на доставчика", + "provider.custom.error.providerID.format": "Използвайте малки букви, цифри, тирета или долни черти", + "provider.custom.error.providerID.exists": "Този идентификатор на доставчик вече съществува", + "provider.custom.error.name.required": "Изисква се екранно име", + "provider.custom.error.baseURL.required": "Изисква се база URL", + "provider.custom.error.baseURL.format": "Трябва да започва с http:// или https://", + "provider.custom.error.required": "Задължително", + "provider.custom.error.duplicate": "Дубликат", + "provider.disconnect.toast.disconnected.title": "{{provider}} прекъснат", + "provider.disconnect.toast.disconnected.description": "{{provider}} модели вече не са налични.", + "model.tag.free": "безплатно", + "model.tag.latest": "Последни", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "текст", + "model.input.image": "изображение", + "model.input.audio": "аудио", + "model.input.video": "видео", + "model.input.pdf": "pdf", + "model.tooltip.allows": "Позволява: {{inputs}}", + "model.tooltip.context.label": "Контекст", + "model.tooltip.inputs": "Входове", + "model.tooltip.model": "Модел", + "model.tooltip.provider": "Доставчик", + "model.tooltip.reasoning": "Разсъждение", + "model.tooltip.reasoning.allowed": "Позволява разсъждение", + "model.tooltip.reasoning.none": "Без разсъждения", + "model.tooltip.context": "Контекстно ограничение {{limit}}", + "common.search.placeholder": "Търсене", + "common.goBack": "Навигирайте назад", + "common.goForward": "Навигирайте напред", + "common.loading": "Зарежда се", + "common.loading.ellipsis": "...", + "common.cancel": "Отказ", + "common.clear": "ясно", + "common.open": "Отворете", + "common.connect": "Свържете се", + "common.disconnect": "Прекъснете връзката", + "common.continue": "Продължи", + "common.submit": "Изпратете", + "common.save": "Запазване", + "common.saving": "Запазва се...", + "common.default": "По подразбиране", + "common.attachment": "прикачен файл", + "prompt.placeholder.shell": "Въведете команда shell... {{example}}", + "prompt.placeholder.normal": 'Попитайте каквото и да е... "{{example}}"', + "prompt.placeholder.simple": "Питайте нещо...", + "prompt.placeholder.summarizeComments": "Обобщете коментарите...", + "prompt.placeholder.summarizeComment": "Обобщение на коментара...", + "prompt.mode.shell": "Shell", + "prompt.mode.normal": "подкана", + "prompt.mode.shell.exit": "esc за изход", + "session.child.promptDisabled": "Субагентните сесии не могат да бъдат подканени.", + "session.child.backToParent": "Назад към основната сесия.", + "prompt.example.1": "Поправете TODO в кодовата база", + "prompt.example.2": "Какъв е техническият стек на този проект?", + "prompt.example.3": "Поправете повредени тестове", + "prompt.example.4": "Обяснете как работи удостоверяването", + "prompt.example.5": "Намерете и поправете уязвимости в сигурността", + "prompt.example.6": "Добавяне на модулни тестове за потребителската услуга", + "prompt.example.7": "Преработете тази функция, за да бъде по-четима", + "prompt.example.8": "Какво означава тази грешка?", + "prompt.example.9": "Помогнете ми да коригирам този проблем", + "prompt.example.10": "Генерирайте API документация", + "prompt.example.11": "Оптимизирайте заявките към базата данни", + "prompt.example.12": "Добавете проверка на входа", + "prompt.example.13": "Създайте нов компонент за...", + "prompt.example.14": "Как да разположа този проект?", + "prompt.example.15": "Прегледайте моя код за най-добри практики", + "prompt.example.16": "Добавете обработка на грешки към тази функция", + "prompt.example.17": "Обяснете този модел на регулярен израз", + "prompt.example.18": "Преобразувайте това в TypeScript", + "prompt.example.19": "Добавете регистриране в цялата кодова база", + "prompt.example.20": "Какви зависимости са остарели?", + "prompt.example.21": "Помогнете ми да напиша скрипт за миграция", + "prompt.example.22": "Приложете кеширане за тази крайна точка", + "prompt.example.23": "Добавете пагинация към този списък", + "prompt.example.24": "Създайте команда CLI за...", + "prompt.example.25": "Как работят променливите на средата тук?", + "prompt.popover.emptyResults": "Няма съответстващи резултати", + "prompt.popover.emptyCommands": "Няма съответстващи команди", + "prompt.dropzone.label": "Пуснете тук изображения, PDF или текстови файлове", + "prompt.dropzone.file.label": "Пуснете до файла @mention", + "prompt.slash.badge.custom": "обичай", + "prompt.slash.badge.skill": "умение", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "активен", + "prompt.context.includeActiveFile": "Включете активен файл", + "prompt.context.removeActiveFile": "Премахнете активния файл от контекста", + "prompt.context.removeFile": "Премахване на файла от контекста", + "prompt.action.attachFile": "Добавете файлове", + "prompt.menu.addImagesAndFiles": "Добавете файлове и др", + "prompt.menu.imagesAndFiles": "Изображения и файлове", + "prompt.menu.commands": "Команди", + "prompt.menu.context": "Контекст", + "prompt.menu.shellCommand": "Shell команда", + "prompt.attachment.remove": "Премахване на прикачения файл", + "prompt.action.send": "Изпратете", + "prompt.action.stop": "Спрете", + "prompt.toast.pasteUnsupported.title": "Неподдържан прикачен файл", + "prompt.toast.pasteUnsupported.description": "Тук могат да се прикачват само изображения, PDF или текстови файлове.", + "prompt.toast.attachmentDuplicate.title": "Този файл вече е качен", + "prompt.toast.modelAgentRequired.title": "Изберете агент и модел", + "prompt.toast.modelAgentRequired.description": "Изберете агент и модел, преди да изпратите подкана.", + "prompt.toast.worktreeCreateFailed.title": "Неуспешно създаване на работно дърво", + "prompt.toast.sessionCreateFailed.title": "Неуспешно създаване на сесия", + "prompt.toast.shellSendFailed.title": "Неуспешно изпращане на команда shell", + "prompt.toast.commandSendFailed.title": "Неуспешно изпращане на команда", + "prompt.toast.promptSendFailed.title": "Неуспешно изпращане на подкана", + "prompt.toast.promptSendFailed.description": "Не може да се извлече сесия", + "dialog.mcp.title": "MCPs", + "dialog.mcp.description": "{{enabled}} от {{total}} активирани", + "dialog.mcp.empty": "Няма конфигурирани MCP", + "dialog.lsp.empty": "LSPs автоматично разпознати от типове файлове", + "dialog.plugins.empty": "Добавки, конфигурирани в opencode.json", + "mcp.status.connected": "свързан", + "mcp.status.failed": "неуспешно", + "mcp.status.needs_auth": "се нуждае от авт", + "mcp.status.disabled": "деактивиран", + "mcp.auth.clickToAuthenticate": "Щракнете за удостоверяване", + "dialog.fork.empty": "Няма съобщения за разклонение", + "dialog.directory.search.placeholder": "Папки за търсене", + "dialog.directory.empty": "Няма намерени папки", + "dialog.directory.action.selectFile": "Изберете файл", + "dialog.directory.action.selectFolder": "Изберете папка", + "dialog.directory.root": "корен", + "dialog.directory.parent": "Родител", + "dialog.directory.readError": "Тази папка не може да се прочете", + "app.server.unreachable": "Не може да се достигне до {{server}}", + "app.server.retrying": "Опитва се автоматично...", + "app.server.otherServers": "Други сървъри", + "dialog.server.title": "Сървъри", + "dialog.server.description": "Превключете към кой OpenCode сървър се свързва това приложение.", + "dialog.server.search.placeholder": "Сървъри за търсене", + "dialog.server.empty": "Все още няма сървъри", + "dialog.server.add.title": "Добавете сървър", + "dialog.server.add.url": "Адрес на сървъра", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "Не може да се свърже със сървъра", + "dialog.server.add.checking": "Проверка...", + "dialog.server.add.button": "Добавете сървър", + "dialog.server.add.name": "Име на сървъра (по избор)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "потребителско име (по избор)", + "dialog.server.add.usernamePlaceholder": "потребителско име", + "dialog.server.add.password": "Парола (по избор)", + "dialog.server.add.passwordPlaceholder": "парола", + "dialog.server.edit.title": "Редактиране на сървъра", + "dialog.server.default.title": "Сървър по подразбиране", + "dialog.server.default.description": + "Свържете се с този сървър при стартиране на приложението, вместо да стартирате локален сървър. Изисква рестартиране.", + "dialog.server.default.none": "Няма избран сървър", + "dialog.server.default.set": "Задаване на текущия сървър по подразбиране", + "dialog.server.default.clear": "ясно", + "dialog.server.action.remove": "Премахване на сървъра", + "dialog.server.menu.edit": "Редактиране", + "dialog.server.menu.default": "Задайте по подразбиране", + "dialog.server.menu.defaultRemove": "Премахване на подразбиране", + "dialog.server.menu.delete": "Изтриване", + "dialog.server.current": "Текущ сървър", + "dialog.server.status.default": "По подразбиране", + "wsl.server.add": "Добавяне на WSL сървър", + "wsl.server.addShort": "Добавете WSL", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "WSL сървър", + "wsl.server.retryStart": "Повторен старт", + "wsl.server.updating": "Актуализиране...", + "wsl.onboarding.step.distro": "Изберете дистрибуция", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "Проверява се WSL...", + "wsl.onboarding.restartRequired": "Windows се нуждае от рестартиране, за да завърши инсталирането на WSL.", + "wsl.onboarding.ready": "WSL е готов.", + "wsl.onboarding.required": "WSL се изисква, за да продължите.", + "wsl.onboarding.checkingDistros": "Дистрибуции се проверяват...", + "wsl.onboarding.installingDistro": "Инсталиране на {{distro}}...", + "wsl.onboarding.checkingDistro": "Проверява се {{distro}}...", + "wsl.onboarding.listingDistros": "Списък на дистрибуции...", + "wsl.onboarding.distroReady": "{{distro}} е готов.", + "wsl.onboarding.distroNotInstalled": "{{distro}} все още не е инсталиран.", + "wsl.onboarding.openDistroOnce": "Отворете {{distro}} веднъж, за да завършите настройката.", + "wsl.onboarding.finishingDistro": "Завършва настройката за {{distro}}.", + "wsl.onboarding.pickDistro": "Изберете дистрибуция или инсталирайте такава по-долу.", + "wsl.onboarding.checkingOpencode": "Проверява се OpenCode...", + "wsl.onboarding.checkingOpencodeIn": "Проверява се OpenCode в {{distro}}...", + "wsl.onboarding.updatingOpencode": "Актуализиране на OpenCode...", + "wsl.onboarding.updatingOpencodeIn": "Актуализиране на OpenCode в {{distro}}...", + "wsl.onboarding.updateOpencodeIn": "Актуализирайте OpenCode в {{distro}}.", + "wsl.onboarding.updateOpencode": "Актуализация OpenCode", + "wsl.onboarding.opencodeReadyIn": "OpenCode е готов в {{distro}}.", + "wsl.onboarding.opencodeReady": "OpenCode е готов.", + "wsl.onboarding.installOpencodeIn": "Инсталирайте OpenCode в {{distro}}.", + "wsl.onboarding.installOpencode": "Инсталирайте OpenCode", + "wsl.onboarding.chooseDistroFirst": "Първо изберете дистрибуция.", + "wsl.onboarding.loadFailed": "Неуспешно зареждане на състояние WSL.", + "wsl.onboarding.loading": "Зареждане...", + "wsl.onboarding.installedDistros": "Инсталирани дистрибуции", + "wsl.onboarding.checkAgain": "Проверете отново", + "wsl.onboarding.distroStatus.ready": "Готови", + "wsl.onboarding.distroStatus.checking": "Проверка...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode не е инсталиран", + "wsl.onboarding.distroStatus.missingTools": "Липсват bash, curl", + "wsl.onboarding.distroStatus.unsupported": "Не се поддържа · Използвайте WSL 2", + "wsl.onboarding.needAnotherDistro": "Нуждаете се от друга дистрибуция?", + "wsl.onboarding.needAnotherDistroHint": "Инсталирайте дистрибуция Linux от каталога WSL", + "wsl.onboarding.wslNotInstalled.title": "WSL не е инсталиран", + "wsl.onboarding.wslNotInstalled.description": + "WSL (Windows Subsystem for Linux) се изисква, преди OpenCode да може да добави WSL сървър", + "wsl.onboarding.wslUnavailable.title": "WSL не е наличен", + "wsl.onboarding.wslUnavailable.description": "OpenCode не можа да провери WSL на тази машина.", + "wsl.onboarding.installWsl": "Инсталирайте WSL", + "wsl.onboarding.windowsRestartRequired": + "Рестартирайте Windows, за да завършите инсталирането на WSL, след което отворете отново OpenCode.", + "wsl.onboarding.next": "Следваща", + "wsl.onboarding.refresh": "Опресняване", + "wsl.onboarding.allDistrosAdded": "Всички инсталирани дистрибуции вече са добавени.", + "wsl.onboarding.noDistros": "Все още няма открити дистрибуции.", + "wsl.onboarding.install": "Инсталирайте", + "wsl.onboarding.installing": "Инсталира се...", + "wsl.onboarding.installDistro": "Инсталирайте дистрибуция", + "wsl.onboarding.searchDistros": "Търсете дистрибуции", + "wsl.onboarding.wsl2Required": "WSL 2 е задължително.", + "wsl.onboarding.toolsRequired": "Тази дистрибуция се нуждае от bash и curl.", + "wsl.onboarding.openTerminal": "Отворете терминала", + "wsl.onboarding.path": "Път: {{path}}", + "wsl.onboarding.notFound": "не е намерено", + "wsl.onboarding.version": "Версия: {{version}}", + "wsl.onboarding.unknown": "неизвестен", + "wsl.onboarding.desktopVersion": "работен плот {{version}}", + "wsl.onboarding.versionMismatch": "Инсталираната версия не съответства на версията на настолното приложение.", + "wsl.onboarding.adding": "Добавяне...", + "help.tabs.toast.ariaLabel": "Представяме ви раздели. Организирайте работата и активните си сесии с раздели", + "help.tabs.toast.dismiss": "Отхвърляне на информация за раздели", + "help.tabs.title": "Представяме ви раздели", + "help.tabs.description": "Организирайте работата и активните си сесии с раздели", + "help.tabs.date": "14 юли", + "help.tabs.introduction": "OpenCode Desktop вече е изграден около раздели.", + "help.tabs.sessions": + "Започнете нова сесия в раздел или отворете съществуваща сесия от някой от вашите проекти. Отворете нов раздел, когато започвате нещо ново, и го затворете, когато сте готови.", + "help.tabs.organize": + "Поддържането на няколко раздела отворени улеснява организирането на вашите активни сесии. Преименувайте раздели на нещо запомнящо се, ако планирате да ги запазите.", + "help.tabs.home": + "Ще намерите всичките си сесии и проекти на новия начален екран. Избирането на сесия я отваря в раздел.", + "help.tabs.persistence": "Когато отворите отново приложението, вашите раздели са все още отворени.", + "help.tabs.worktrees": + "Новият дизайн все още не поддържа Git Worktrees, идва скоро. Така че, ако предпочитате да продължите да използвате предишното оформление, можете да превключвате между оформления в Настройки. Само имайте предвид, че новото оформление ще стане постоянно след няколко седмици.", + "server.row.noUsername": "няма потребителско име", + "dialog.project.edit.title": "Редактиране на проекта", + "dialog.project.edit.name": "Име", + "dialog.project.edit.icon": "Икона", + "dialog.project.edit.icon.alt": "Икона на проекта", + "dialog.project.edit.icon.hint": "Щракнете или плъзнете изображение", + "dialog.project.edit.icon.recommended": "Препоръчително: 128x128px", + "dialog.project.edit.color": "Цвят", + "dialog.project.edit.color.select": "Изберете цвят {{color}}", + "dialog.project.edit.worktree.startup": "Скрипт за стартиране на работното пространство", + "dialog.project.edit.worktree.startup.description": + "Изпълнява се след създаване на ново работно пространство (worktree).", + "dialog.project.edit.worktree.startup.placeholder": "напр. bun install", + "dialog.releaseNotes.action.getStarted": "Започнете", + "dialog.releaseNotes.action.next": "Следваща", + "dialog.releaseNotes.action.hideFuture": "Не ги показвайте в бъдеще", + "dialog.releaseNotes.media.alt": "Визуализация на изданието", + "context.breakdown.title": "Разбивка на контекста", + "context.breakdown.note": + "Приблизителна разбивка на входните токени. „Други“ включва дефиниции на инструменти и режийни разходи.", + "context.breakdown.system": "система", + "context.breakdown.user": "Потребител", + "context.breakdown.assistant": "Помощник", + "context.breakdown.tool": "Извиквания на инструменти", + "context.breakdown.other": "други", + "context.systemPrompt.title": "Системен ред", + "context.rawMessages.title": "Сурови съобщения", + "context.export.session": "Експортиране на сесия", + "context.stats.session": "Сесия", + "context.stats.messages": "Съобщения", + "context.stats.provider": "Доставчик", + "context.stats.model": "Модел", + "context.stats.limit": "Ограничение на контекста", + "context.stats.totalTokens": "Общо токени", + "context.stats.usage": "Използване", + "context.stats.inputTokens": "Входни токени", + "context.stats.outputTokens": "Изходни токени", + "context.stats.reasoningTokens": "Разсъждаващи токени", + "context.stats.cacheTokens": "Кеш токени (четене/запис)", + "context.stats.userMessages": "Потребителски съобщения", + "context.stats.assistantMessages": "Асистентски съобщения", + "context.stats.totalCost": "Обща цена", + "context.stats.sessionCreated": "Сесията е създадена", + "context.stats.lastActivity": "Последна активност", + "context.usage.tokens": "Токени", + "context.usage.usage": "Използване", + "context.usage.cost": "цена", + "context.usage.clickToView": "Кликнете, за да видите контекста", + "context.usage.view": "Преглед на използването на контекста", + "language.en": "английски", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Deutsch", + "language.es": "Español", + "language.fr": "Français", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "Полски", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Norsk", + "language.br": "португалски (Бразилия)", + "language.bs": "Босански", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "турски", + "toast.language.title": "език", + "toast.language.description": "Превключихте към {{language}}", + "toast.theme.title": "Темата е сменена", + "toast.scheme.title": "Цветова схема", + "toast.workspace.enabled.title": "Работните пространства са активирани", + "toast.workspace.enabled.description": "Множество работни дървета вече се показват в страничната лента", + "toast.workspace.disabled.title": "Работните пространства са деактивирани", + "toast.workspace.disabled.description": "В страничната лента се показва само основното работно дърво", + "toast.permissions.autoaccept.on.title": "Автоматично приемане на разрешения", + "toast.permissions.autoaccept.on.description": "Заявките за разрешение ще бъдат автоматично одобрени", + "toast.permissions.autoaccept.off.title": "Автоматичното приемане на разрешения е спряно", + "toast.permissions.autoaccept.off.description": "Исканията за разрешение ще изискват одобрение", + "toast.model.none.title": "Няма избран модел", + "toast.model.none.description": "Свържете доставчик, за да обобщите тази сесия", + "toast.file.loadFailed.title": "Неуспешно зареждане на файла", + "toast.file.listFailed.title": "Неуспешно изброяване на файлове", + "toast.context.noLineSelection.title": "Няма избор на линия", + "toast.context.noLineSelection.description": "Първо изберете диапазон от редове в раздел на файл.", + "toast.session.share.copyFailed.title": "Неуспешно копиране на URL в клипборда", + "toast.session.share.success.title": "Сесията е споделена", + "toast.session.share.success.description": "Споделяне на URL копирано в клипборда!", + "toast.session.share.failed.title": "Неуспешно споделяне на сесията", + "toast.session.share.failed.description": "Възникна грешка при споделяне на сесията", + "toast.session.unshare.success.title": "Сесията е прекратена", + "toast.session.unshare.success.description": "Сесията бе прекратена успешно!", + "toast.session.unshare.failed.title": "Прекратяването на споделянето на сесията не бе успешно", + "toast.session.unshare.failed.description": "Възникна грешка при прекратяване на споделянето на сесията", + "toast.session.export.success.title": "Сесията е експортирана", + "toast.session.export.success.description": "Запазена сесия в {{filename}}", + "toast.session.export.failed.title": "Неуспешно експортиране на сесия", + "toast.session.export.failed.description": "Възникна грешка при експортиране на сесията", + "toast.session.listFailed.title": "Неуспешно зареждане на сесии за {{project}}", + "toast.project.reloadFailed.title": "Неуспешно презареждане на {{project}}", + "toast.update.title": "Налична актуализация", + "toast.update.description": "Вече е достъпна за инсталиране нова версия на OpenCode ({{version}}).", + "toast.update.action.installRestart": "Инсталирайте и рестартирайте", + "toast.update.action.notYet": "още не", + "error.page.title": "Нещо се обърка", + "error.page.description": "Възникна грешка при зареждане на приложението.", + "error.page.description.localServerStartup": "Възникна грешка при стартиране на локалния сървър.", + "error.page.details.label": "Подробности за грешката", + "error.page.action.restart": "Рестартирайте", + "error.page.action.report": "Докладване за грешка", + "error.page.action.reported": "Съобщава се за грешка", + "error.page.action.exportLogs": "Експортиране на регистрационни файлове", + "error.page.action.checking": "Проверка...", + "error.page.action.checkUpdates": "Проверете за актуализации", + "error.page.action.updateTo": "Актуализиране до {{version}}", + "error.page.circular": "[Кръгло]", + "error.page.report.prefix": "Моля, докладвайте тази грешка на екипа на OpenCode", + "error.page.report.discord": "на Discord", + "error.page.version": "Версия: {{version}}", + "error.dev.rootNotFound": + "Основният елемент не е намерен. Забравихте ли да го добавите към вашия index.html? Или може би атрибутът id е изписан неправилно?", + "error.serverSync.connectFailed": "Не може да се свърже със сървъра. Има ли сървър, работещ на `{{url}}`?", + "error.serverSDK.noServerAvailable": "Няма наличен сървър", + "error.serverSDK.serverNotAvailable": "Сървърът не е наличен", + "error.childStore.persistedCacheCreateFailed": "Неуспешно създаване на постоянен кеш", + "error.childStore.persistedProjectMetadataCreateFailed": "Неуспешно създаване на постоянни метаданни на проекта", + "error.childStore.persistedProjectIconCreateFailed": "Неуспешно създаване на икона на постоянен проект", + "error.childStore.storeCreateFailed": "Неуспешно създаване на магазин", + "directory.error.invalidUrl": "Невалидна директория в URL.", + "error.chain.unknown": "Неизвестна грешка", + "error.server.invalidConfiguration": "Невалидна конфигурация", + "error.chain.causedBy": "Причинено от:", + "error.chain.apiError": "API грешка", + "error.chain.status": "Статус: {{status}}", + "error.chain.retryable": "Повторен опит: {{retryable}}", + "error.chain.responseBody": "Тяло на отговора:\n{{body}}", + "error.chain.didYouMean": "Може би имахте предвид: {{suggestions}}", + "error.chain.modelNotFound": "Моделът не е намерен: {{provider}}/{{model}}", + "error.chain.checkConfig": "Проверете имената на доставчика/модела на вашата конфигурация (opencode.json).", + "error.chain.mcpFailed": + 'MCP сървър "{{name}}" не успя. Имайте предвид, че OpenCode все още не поддържа MCP удостоверяване.', + "error.chain.providerAuthFailed": "Неуспешно удостоверяване на доставчика ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + "Неуспешно инициализиране на доставчика „{{provider}}“. Проверете идентификационните данни и конфигурацията.", + "error.chain.configJsonInvalid": "Конфигурационният файл на адрес {{path}} не е валиден JSON(C)", + "error.chain.configJsonInvalidWithMessage": "Конфигурационният файл на {{path}} не е валиден JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + 'Директория "{{dir}}" в {{path}} не е валидна. Преименувайте директорията на "{{suggestion}}" или я премахнете. Това е често срещана печатна грешка.', + "error.chain.configFrontmatterError": "Неуспешно анализиране на frontmatter в {{path}}:\n{{message}}", + "error.chain.configInvalid": "Конфигурационният файл в {{path}} е невалиден", + "error.chain.configInvalidWithMessage": "Конфигурационният файл в {{path}} е невалиден: {{message}}", + "notification.permission.title": "Изисква се разрешение", + "notification.permission.description": "{{sessionTitle}} в {{projectName}} се нуждае от разрешение", + "notification.question.title": "Въпрос", + "notification.question.description": "{{sessionTitle}} в {{projectName}} има въпрос", + "notification.action.goToSession": "Отидете на сесия", + "notification.session.responseReady.title": "Готов отговор", + "notification.session.error.title": "Грешка в сесията", + "notification.session.error.fallbackDescription": "Възникна грешка", + "home.recentProjects": "Последни проекти", + "home.empty.title": "Няма скорошни проекти", + "home.empty.description": "Започнете, като отворите местен проект", + "home.title": "Начало", + "home.projects": "проекти", + "home.project.add": "Добавете проект", + "home.recentlyClosed": "Наскоро затворен", + "home.server.collapse": "Свиване на сървърни проекти", + "home.server.expand": "Разширете сървърните проекти", + "home.sessions.search.placeholder": "Сесии за търсене", + "home.sessions.search.placeholder.scoped": "Търсене на сесии в {{scope}}", + "home.sessions.search.sessions": "Сесии", + "home.sessions.search.noResults": "Няма намерени сесии за {{query}}", + "home.sessions.empty": "Тук още няма нищо", + "home.sessions.empty.description": "Създайте сесия, за да започнете", + "home.sessions.group.today": "Днес", + "home.sessions.group.yesterday": "Вчера", + "home.sessions.group.older": "По-стари", + "home.providerTip": + "Свържете се с над 75 доставчици, за да използвате други модели, включително Claude, GPT, Gemini и т.н.", + "session.tab.session": "Сесия", + "session.tab.review": "Преглед", + "session.tab.context": "Контекст", + "session.tab.unknown": "Неизвестна сесия", + "session.panel.reviewAndFiles": "Преглед и файлове", + "session.error.notFound": "Тази сесия не може да бъде намерена", + "session.error.notFound.description": "Този раздел сочи към сесия, която вече не съществува на този сървър.", + "session.error.notFound.closeTab": "Затваряне на раздела", + "session.error.serverConnection": "Не може да се свърже с този сървър", + "session.review.filesChanged": "Променени файлове {{count}}", + "session.review.change.one": "промяна", + "session.review.change.other": "Промени", + "session.review.loadingChanges": "Промените се зареждат...", + "session.review.empty": "Все още няма промени в тази сесия", + "session.review.noVcs": "Не е открита Git Система за контрол на версиите, промените не се показват", + "session.review.noVcs.createGit.title": "Създайте Git хранилище", + "session.review.noVcs.createGit.description": "Проследявайте, преглеждайте и отменяйте промените в този проект", + "session.review.noVcs.createGit.actionLoading": "Създаване на Git хранилище...", + "session.review.noVcs.createGit.action": "Създайте Git хранилище", + "session.review.noSnapshot": + "Проследяването на моментна снимка е деактивирано в конфигурацията, така че промените в сесията не са налични", + "session.review.noChanges": "Без промени", + "session.review.noUncommittedChanges": "Все още няма незавършени промени", + "session.review.noBranchChanges": "Все още няма промени в клона", + "session.files.selectToOpen": "Изберете файл за отваряне", + "session.files.all": "Всички файлове", + "session.files.empty": "Няма файлове", + "session.files.binaryContent": "Двоичен файл (съдържанието не може да се покаже)", + "session.messages.renderEarlier": "Изобразяване на по-ранни съобщения", + "session.messages.loadingEarlier": "Зареждат се предишни съобщения...", + "session.messages.loadEarlier": "Зареди по-ранни съобщения", + "session.messages.loading": "Съобщенията се зареждат...", + "session.messages.jumpToLatest": "Преминете към най-новото", + "session.context.addToContext": "Добавете {{selection}} към контекста", + "session.todo.title": "Задачи", + "session.todo.collapse": "Свиване", + "session.todo.expand": "Разширяване", + "session.todo.progress": "{{done}} от {{total}} задачи са изпълнени", + "session.question.progress": "{{current}} от {{total}} въпроса", + "session.question.minimize": "Минимизиране на въпроса", + "session.question.restore": "Възстановете въпроса", + "session.question.pending.one": "{{count}} чакащ въпрос", + "session.question.pending.other": "{{count}} висящи въпроси", + "session.followupDock.summary.one": "{{count}} съобщение в опашка", + "session.followupDock.summary.other": "{{count}} съобщения в опашка", + "session.followupDock.sendNow": "Изпратете сега", + "session.followupDock.edit": "Редактиране", + "session.followupDock.collapse": "Свиване на съобщенията в опашката", + "session.followupDock.expand": "Разгъване на съобщенията в опашката", + "session.revertDock.summary.one": "{{count}} върнато съобщение", + "session.revertDock.summary.other": "{{count}} отменени съобщения", + "session.revertDock.collapse": "Свиване на върнатите съобщения", + "session.revertDock.expand": "Разгъване на върнатите съобщения", + "session.revertDock.restore": "Възстановяване на съобщението", + "session.new.title": "Изградете каквото и да било", + "session.new.project.new": "Нов проект", + "session.new.project.search": "Търсене на проекти", + "session.new.project.add": "Добавете проект", + "session.new.worktree.main": "Основен клон", + "session.new.worktree.mainWithBranch": "Основен клон ({{branch}})", + "session.new.worktree.create": "Създайте ново работно дърво", + "session.new.workspace.runIn": "Стартирайте сесията", + "session.new.workspace.triggerLocal": "Местен", + "session.new.workspace.local": "Локално хранилище", + "session.new.workspace.existing": "Работно пространство…", + "session.new.git.none": "Не Git", + "session.new.lastModified": "Последна промяна", + "session.header.search.placeholder": "Търсене {{project}}", + "session.header.searchFiles": "Търсене на файлове", + "session.header.openIn": "Отвори в", + "session.header.open.action": "Отворете {{app}}", + "session.header.open.ariaLabel": "Отворете в {{app}}", + "session.header.open.menu": "Отворени опции", + "session.header.open.copyPath": "Копиране на пътя", + "session.header.open.finder": "Търсач", + "session.header.open.fileExplorer": "Файлов мениджър", + "session.header.open.fileManager": "Файлов мениджър", + "session.header.reveal.finder": "Разкриване във Finder", + "session.header.reveal.fileExplorer": "Разкриване в File Explorer", + "session.header.reveal.containingFolder": "Отворете съдържащата папка", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Терминал", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "Статус", + "status.popover.ariaLabel": "Сървърни конфигурации", + "status.popover.tab.servers": "Сървъри", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "Плъгини", + "status.popover.action.manageServers": "Управление на сървъри", + "session.share.popover.title": "Публикувайте в мрежата", + "session.share.popover.description.shared": "Тази сесия е публична в мрежата. Достъпен е за всеки с връзката.", + "session.share.popover.description.unshared": + "Споделете сесията публично в мрежата. Тя ще бъде достъпна за всеки с връзката.", + "session.share.action.share": "Споделете", + "session.share.action.publish": "Публикувай", + "session.share.action.publishing": "Публикуване...", + "session.share.action.unpublish": "Отмяна на публикуването", + "session.share.action.unpublishing": "Отменя се публикуването...", + "session.share.action.view": "Преглед", + "session.share.copy.copied": "Копирано", + "session.share.copy.copyLink": "Копиране на връзката", + "lsp.tooltip.none": "Няма LSP сървъри", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "Подканата се зарежда...", + "terminal.loading": "Терминалът се зарежда...", + "terminal.title": "Терминал", + "terminal.title.numbered": "Терминал {{number}}", + "terminal.close": "Затворете терминала", + "terminal.connectionLost.title": "Загубена връзка", + "terminal.connectionLost.abnormalClose": "WebSocket затворено необичайно: {{code}}", + "terminal.connectionLost.description": + "Терминалната връзка беше прекъсната. Това може да се случи, когато сървърът се рестартира.", + "terminal.connectTicket.csrfError": + "PTY билет за свързване е отхвърлен от произход или CSRF проверки. Проверете конфигурацията на сървъра CORS.", + "terminal.connectTicket.statusError": "PTY неуспешно свързване на билет с {{status}}", + "titlebar.update": "Актуализация", + "titlebar.updateVersion": "Актуализация {{version}}", + "common.closeTab": "Затваряне на раздела", + "common.dismiss": "Отхвърляне", + "common.moreCountSuffix": "(+{{count}} още)", + "common.requestFailed": "Неуспешна заявка", + "common.moreOptions": "Още опции", + "common.learnMore": "Научете повече", + "common.rename": "Преименуване", + "common.export": "Експортиране", + "common.reset": "Нулиране", + "common.archive": "Архив", + "common.delete": "Изтриване", + "common.close": "затвори", + "common.edit": "Редактиране", + "common.loadMore": "Заредете повече", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "неизвестен", + "common.time.justNow": "Току-що", + "common.time.minutesAgo.short": "преди {{count}}м", + "common.time.hoursAgo.short": "преди {{count}}ч", + "common.time.daysAgo.short": "преди {{count}} дни", + "sidebar.menu.toggle": "Превключване на менюто", + "sidebar.nav.projectsAndSessions": "Проекти и сесии", + "sidebar.settings": "Настройки", + "sidebar.help": "Помощ", + "sidebar.workspaces.enable": "Активиране на работни пространства", + "sidebar.workspaces.disable": "Деактивирайте работните пространства", + "sidebar.gettingStarted.title": "Първи стъпки", + "sidebar.gettingStarted.line1": "OpenCode включва безплатни модели, така че можете да започнете веднага.", + "sidebar.gettingStarted.line2": "Свържете всеки доставчик, за да използвате модели, вкл. Claude, GPT, Gemini и т.н.", + "sidebar.project.recentSessions": "Последни сесии", + "sidebar.project.viewAllSessions": "Вижте всички сесии", + "sidebar.project.clearNotifications": "Изчистване на известията", + "sidebar.empty.title": "Няма отворени проекти", + "sidebar.empty.description": "Отворете проект, за да започнете", + "debugBar.ariaLabel": "Диагностика на ефективността на разработката", + "debugBar.na": "няма", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "Последен завършен преход на маршрута, докосващ страница на сесия, измерен от началото на рутера до първото боядисване след установяването му.", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "Подвижни кадри в секунда през последните 5 секунди.", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "Най-лошото време за кадър през последните 5 секунди.", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "Кадри над 32 ms през последните 5 секунди.", + "debugBar.long.label": "LONG", + "debugBar.long.tip": "Блокирано време и брой дълги задачи през последните 5 секунди. Максимална задача: {{max}}.", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "Най-лошото наблюдавано забавяне на въвеждане през последните 5 секунди.", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": + "Приблизителна продължителност на взаимодействието през последните 5 секунди. Това е подобно на INP, а не на официалните уеб показатели INP.", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "Кумулативна промяна на оформлението за текущия живот на приложението.", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "Използван JS heap срещу ограничение на heap. само Chromium.", + "debugBar.mem.tip": "Използван JS heap срещу ограничение на heap. {{used}} от {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Принудително фокусиране на стилове върху всички интерактивни елементи", + "debugBar.focus.on": "ВКЛ", + "debugBar.focus.off": "ИЗКЛ", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": + "Принудително насочване на цялата посока на оформлението на приложението, без да променя избрания език", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode Desktop", + "settings.section.desktop": "Работен плот", + "settings.section.server": "сървър", + "settings.tab.general": "генерал", + "settings.tab.shortcuts": "Преки пътища", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "WSL интеграция", + "settings.desktop.wsl.description": "Стартирайте сървъра OpenCode вътре в WSL на Windows.", + "settings.general.section.appearance": "Външен вид", + "settings.general.section.advanced": "Разширено", + "settings.general.section.notifications": "Системни известия", + "settings.general.section.updates": "Актуализации", + "settings.general.section.sounds": "Звукови ефекти", + "settings.general.section.feed": "Храна", + "settings.general.section.display": "Дисплей", + "settings.general.row.language.title": "език", + "settings.general.row.language.description": "Променете езика на дисплея за OpenCode", + "settings.general.row.shell.title": "Терминал shell", + "settings.general.row.shell.description": "Shell използвани от инструментите на терминала и агента", + "settings.general.row.shell.autoDefault": "Автоматично (по подразбиране)", + "settings.general.row.shell.terminalOnly": "само терминал", + "settings.general.row.appearance.title": "Външен вид", + "settings.general.row.appearance.description": "Персонализирайте как изглежда OpenCode на вашето устройство", + "settings.general.row.colorScheme.title": "Цветова схема", + "settings.general.row.colorScheme.description": "Изберете дали OpenCode следва системната, светла или тъмна тема", + "settings.general.row.theme.title": "Тема", + "settings.general.row.theme.description": "Персонализирайте как е тематично OpenCode.", + "settings.general.row.font.title": "Шрифт на кода", + "settings.general.row.font.description": "Персонализирайте шрифта, използван в кодовите блокове", + "settings.general.row.terminalFont.title": "Терминален шрифт", + "settings.general.row.terminalFont.description": "Персонализирайте шрифта, използван в терминала", + "settings.general.row.uiFont.title": "UI шрифт", + "settings.general.row.uiFont.description": "Персонализирайте шрифта, използван в целия интерфейс", + "settings.general.row.followup.title": "Последващо поведение", + "settings.general.row.followup.description": + "Изберете дали последващите подкани да се управляват незабавно или да чакат на опашка", + "settings.general.row.followup.option.queue": "Опашка", + "settings.general.row.followup.option.steer": "Насочвайте", + "settings.general.row.showFileTree.title": "Файлово дърво", + "settings.general.row.showFileTree.description": "Показване на панела на файловото дърво в сесии", + "settings.general.row.showNavigation.title": "Контроли за навигация", + "settings.general.row.showNavigation.description": + "Показване на бутоните за връщане назад и напред в заглавната лента на работния плот", + "settings.general.row.showSearch.title": "Командна палитра", + "settings.general.row.showSearch.description": + "Показване на бутона за палитра за търсене и команди в заглавната лента", + "settings.general.row.showTerminal.title": "Терминал", + "settings.general.row.showTerminal.description": "Покажете бутона на терминала в заглавната лента на работния плот", + "settings.general.row.showStatus.title": "Състояние на сървъра", + "settings.general.row.showStatus.description": "Показване на бутона за състояние на сървъра в заглавната лента", + "settings.general.row.mobileTitlebarBottom.title": "Долна навигация", + "settings.general.row.mobileTitlebarBottom.description": + "Поставете заглавната лента и разделите на сесиите в долната част на екрана на мобилно устройство", + "settings.general.row.showCustomAgents.title": "Показване на агента", + "settings.general.row.showCustomAgents.description": + "Превключвайте между агенти в композитора. Когато е скрит, по подразбиране е Build agent.", + "settings.general.row.reasoningSummaries.title": "Показване на обобщения на разсъжденията", + "settings.general.row.reasoningSummaries.description": + "Показване на обобщения на разсъжденията на модела във времевата линия", + "settings.general.row.shellToolPartsExpanded.title": "Разгънете shell части на инструмента", + "settings.general.row.shellToolPartsExpanded.description": + "Показване на shell части от инструмента, разширени по подразбиране във времевата линия", + "settings.general.row.editToolPartsExpanded.title": "Разгънете части за редактиране на инструмента", + "settings.general.row.editToolPartsExpanded.description": + "Показване на части от инструмента за редактиране, писане и корекция, разширени по подразбиране във времевата линия", + "settings.general.row.newInterface.title": "Ново оформление", + "settings.general.row.newInterface.badge": "Нов", + "settings.general.row.newInterface.description": + "Използвайте новите раздели и началното оформление. Превключвайте между оформления за ограничено време.", + "settings.general.row.newInterfaceNotice.title": "Вече използвате ново оформление", + "settings.general.row.newInterfaceNotice.description": "Предишното оформление вече не е налично", + "settings.general.row.newInterfaceNotice.dismiss": "Отхвърляне", + "settings.general.row.pinchZoom.title": "Щипнете, за да увеличите", + "settings.general.row.pinchZoom.description": + "Разрешаване на жестове с щипване и Ctrl-превъртане на тракпада за мащабиране", + "settings.general.row.wayland.title": "Използвайте естествен Wayland", + "settings.general.row.wayland.description": "Деактивирайте X11 резервен вариант на Wayland. Изисква рестартиране.", + "settings.general.row.wayland.tooltip": + "На Linux с монитори със смесена честота на опресняване естественият Wayland може да бъде по-стабилен.", + "settings.general.row.releaseNotes.title": "Бележки по изданието", + "settings.general.row.releaseNotes.description": "Показване на изскачащи прозорци с новости след актуализации", + "settings.updates.row.startup.title": "Проверете за актуализации при стартиране", + "settings.updates.row.startup.description": "Автоматично проверявайте за актуализации при стартиране на OpenCode", + "settings.updates.row.check.title": "Проверете за актуализации", + "settings.updates.row.check.description": "Проверете ръчно за актуализации и инсталирайте, ако има такива", + "settings.updates.action.checkNow": "Проверете сега", + "settings.updates.action.checking": "Проверка...", + "settings.updates.action.downloading": "Изтегля се...", + "settings.updates.action.installing": "Инсталира се...", + "settings.updates.toast.latest.title": "Вие сте в крак с времето", + "settings.updates.toast.latest.description": "Вие използвате най-новата версия на OpenCode.", + "sound.option.none": "Няма", + "sound.option.alert01": "Сигнал 01", + "sound.option.alert02": "Сигнал 02", + "sound.option.alert03": "Сигнал 03", + "sound.option.alert04": "Сигнал 04", + "sound.option.alert05": "Сигнал 05", + "sound.option.alert06": "Сигнал 06", + "sound.option.alert07": "Сигнал 07", + "sound.option.alert08": "Сигнал 08", + "sound.option.alert09": "Сигнал 09", + "sound.option.alert10": "Сигнал 10", + "sound.option.bipbop01": "Бип-боп 01", + "sound.option.bipbop02": "Бип-боп 02", + "sound.option.bipbop03": "Бип-боп 03", + "sound.option.bipbop04": "Бип-боп 04", + "sound.option.bipbop05": "Бип-боп 05", + "sound.option.bipbop06": "Бип-боп 06", + "sound.option.bipbop07": "Бип-боп 07", + "sound.option.bipbop08": "Бип-боп 08", + "sound.option.bipbop09": "Бип-боп 09", + "sound.option.bipbop10": "Бип-боп 10", + "sound.option.staplebops01": "Стейпълбопс 01", + "sound.option.staplebops02": "Стейпълбопс 02", + "sound.option.staplebops03": "Стейпълбопс 03", + "sound.option.staplebops04": "Стейпълбопс 04", + "sound.option.staplebops05": "Стейпълбопс 05", + "sound.option.staplebops06": "Стейпълбопс 06", + "sound.option.staplebops07": "Стейпълбопс 07", + "sound.option.nope01": "Не 01", + "sound.option.nope02": "Не 02", + "sound.option.nope03": "Не 03", + "sound.option.nope04": "Не 04", + "sound.option.nope05": "Не 05", + "sound.option.nope06": "Не 06", + "sound.option.nope07": "Не 07", + "sound.option.nope08": "Не 08", + "sound.option.nope09": "Не 09", + "sound.option.nope10": "Не 10", + "sound.option.nope11": "Не 11", + "sound.option.nope12": "Не 12", + "sound.option.yup01": "Да 01", + "sound.option.yup02": "Да 02", + "sound.option.yup03": "Да 03", + "sound.option.yup04": "Да 04", + "sound.option.yup05": "Да 05", + "sound.option.yup06": "Да 06", + "settings.general.notifications.agent.title": "агент", + "settings.general.notifications.agent.description": + "Показване на системно известие, когато агентът е завършен или се нуждае от внимание", + "settings.general.notifications.permissions.title": "Разрешения", + "settings.general.notifications.permissions.description": + "Показване на системно известие, когато е необходимо разрешение", + "settings.general.notifications.errors.title": "Грешки", + "settings.general.notifications.errors.description": "Показване на системно известие при възникване на грешка", + "settings.general.sounds.agent.title": "агент", + "settings.general.sounds.agent.description": + "Възпроизвеждане на звук, когато агентът е завършен или се нуждае от внимание", + "settings.general.sounds.permissions.title": "Разрешения", + "settings.general.sounds.permissions.description": "Възпроизвеждане на звук, когато е необходимо разрешение", + "settings.general.sounds.errors.title": "Грешки", + "settings.general.sounds.errors.description": "Възпроизвеждане на звук при възникване на грешка", + "settings.shortcuts.title": "Клавишни комбинации", + "settings.shortcuts.reset.button": "Възстановяване на настройките по подразбиране", + "settings.shortcuts.reset.toast.title": "Нулиране на преките пътища", + "settings.shortcuts.reset.toast.description": "Клавишните комбинации са нулирани до стойностите по подразбиране.", + "settings.shortcuts.conflict.title": "Пряк път вече се използва", + "settings.shortcuts.conflict.description": "{{keybind}} вече е присвоен на {{titles}}.", + "settings.shortcuts.unassigned": "Неприсвоен", + "settings.shortcuts.pressKeys": "Натиснете клавишите", + "settings.shortcuts.search.placeholder": "Преки пътища за търсене", + "settings.shortcuts.search.empty": "Няма намерени преки пътища", + "settings.shortcuts.group.general": "генерал", + "settings.shortcuts.group.session": "Сесия", + "settings.shortcuts.group.navigation": "Навигация", + "settings.shortcuts.group.modelAndAgent": "Модел и агент", + "settings.shortcuts.group.terminal": "Терминал", + "settings.shortcuts.group.prompt": "подкана", + "settings.providers.title": "Доставчици", + "settings.providers.description": "Настройките на доставчика ще могат да се конфигурират тук.", + "settings.providers.section.connected": "Свързани доставчици", + "settings.providers.connected.empty": "Няма свързани доставчици", + "settings.providers.connected.environmentDescription": "Свързан от променливите на вашата среда", + "settings.providers.section.popular": "Популярни доставчици", + "settings.providers.custom.description": "Добавете OpenAI-съвместим доставчик по база URL.", + "settings.providers.tag.environment": "Околна среда", + "settings.providers.tag.config": "Конфиг", + "settings.providers.tag.custom": "По поръчка", + "settings.providers.tag.other": "други", + "settings.models.title": "Модели", + "settings.models.description": "Настройките на модела ще могат да се конфигурират тук.", + "settings.agents.title": "Агенти", + "settings.agents.description": "Настройките на агента ще могат да се конфигурират тук.", + "settings.commands.title": "Команди", + "settings.commands.description": "Настройките на командите ще могат да се конфигурират тук.", + "settings.mcp.title": "MCP", + "settings.mcp.description": "Настройките на MCP ще могат да се конфигурират тук.", + "settings.permissions.title": "Разрешения", + "settings.permissions.description": "Контролирайте какви инструменти сървърът може да използва по подразбиране.", + "settings.permissions.section.tools": "Инструменти", + "settings.permissions.toast.updateFailed.title": "Неуспешно актуализиране на разрешенията", + "settings.permissions.action.allow": "Разрешете", + "settings.permissions.action.ask": "Попитайте", + "settings.permissions.action.deny": "Откажи", + "settings.permissions.tool.read.title": "Прочетете", + "settings.permissions.tool.read.description": "Четене на файл (съвпада с пътя на файла)", + "settings.permissions.tool.edit.title": "Редактиране", + "settings.permissions.tool.edit.description": "Променете файлове, включително редакции, записи и корекции", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "Съвпадение на файлове с помощта на glob модели", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "Търсете съдържанието на файла с помощта на регулярни изрази", + "settings.permissions.tool.list.title": "списък", + "settings.permissions.tool.list.description": "Избройте файлове в директория", + "settings.permissions.tool.bash.title": "Баш", + "settings.permissions.tool.bash.description": "Изпълнете shell команди", + "settings.permissions.tool.task.title": "Задача", + "settings.permissions.tool.task.description": "Стартиране на подагенти", + "settings.permissions.tool.skill.title": "Умение", + "settings.permissions.tool.skill.description": "Заредете умение по име", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "Изпълнявайте заявки за езиков сървър", + "settings.permissions.tool.todowrite.title": "Todo Write", + "settings.permissions.tool.todowrite.description": "Актуализирайте списъка със задачи", + "settings.permissions.tool.webfetch.title": "Web Fetch", + "settings.permissions.tool.webfetch.description": "Извличане на съдържание от URL", + "settings.permissions.tool.websearch.title": "Търсене в мрежата", + "settings.permissions.tool.websearch.description": "Търсете в мрежата", + "settings.permissions.tool.external_directory.title": "Външен указател", + "settings.permissions.tool.external_directory.description": "Достъп до файлове извън директорията на проекта", + "settings.permissions.tool.doom_loop.title": "Doom Loop", + "settings.permissions.tool.doom_loop.description": + "Откриване на повтарящи се извиквания на инструменти с идентичен вход", + "session.delete.failed.title": "Неуспешно изтриване на сесията", + "session.delete.title": "Изтриване на сесия", + "session.delete.confirm": "Да се ​​изтрие ли сесията „{{name}}“?", + "session.delete.button": "Изтриване на сесия", + "workspace.new": "Ново работно пространство", + "workspace.type.local": "местен", + "workspace.type.sandbox": "пясъчник", + "workspace.create.failed.title": "Неуспешно създаване на работно пространство", + "workspace.delete.failed.title": "Неуспешно изтриване на работното пространство", + "workspace.resetting.title": "Нулиране на работното пространство", + "workspace.resetting.description": "Това може да отнеме минута.", + "workspace.reset.failed.title": "Неуспешно нулиране на работното пространство", + "workspace.reset.success.title": "Нулиране на работното пространство", + "workspace.reset.success.description": "Работното пространство вече съответства на клона по подразбиране.", + "workspace.error.stillPreparing": "Работното пространство все още се подготвя", + "workspace.status.checking": "Проверка за необединени промени...", + "workspace.status.error": "Не може да се провери състоянието на git.", + "workspace.status.clean": "Не са открити необединени промени.", + "workspace.status.dirty": "Открити са необединени промени в това работно пространство.", + "workspace.delete.title": "Изтриване на работното пространство", + "workspace.delete.confirm": "Да се ​​изтрие ли работното пространство „{{name}}“?", + "workspace.delete.button": "Изтриване на работното пространство", + "workspace.reset.title": "Нулирайте работното пространство", + "workspace.reset.confirm": "Нулиране на работното пространство „{{name}}“?", + "workspace.reset.button": "Нулирайте работното пространство", + "workspace.reset.archived.none": "Няма да се архивират активни сесии.", + "workspace.reset.archived.one": "1 сесия ще бъде архивирана.", + "workspace.reset.archived.many": "{{count}} сесии ще бъдат архивирани.", + "workspace.reset.note": "Това ще нулира работното пространство, за да съответства на клона по подразбиране.", + "dialog.usageExceeded.dontShowAgain": "Не показвай отново", +} diff --git a/packages/app/src/i18n/bn.ts b/packages/app/src/i18n/bn.ts new file mode 100644 index 000000000000..5f0698ab64f1 --- /dev/null +++ b/packages/app/src/i18n/bn.ts @@ -0,0 +1,1152 @@ +export const dict: Record = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "ফাইল", + "desktop.menu.edit": "সম্পাদনা করুন", + "desktop.menu.view": "দেখুন", + "desktop.menu.go": "যাও", + "desktop.menu.window": "জানালা", + "desktop.menu.help": "সাহায্য", + "desktop.menu.checkForUpdates": "আপডেটের জন্য চেক করুন...", + "desktop.menu.settings": "সেটিংস", + "desktop.menu.reloadWebview": "Webview পুনরায় লোড করুন", + "desktop.menu.restart": "রিস্টার্ট করুন", + "desktop.menu.exportLogs": "লগ রপ্তানি করুন...", + "desktop.menu.newSession": "নতুন সেশন", + "desktop.menu.openProject": "প্রকল্প খুলুন...", + "desktop.menu.newWindow": "নতুন উইন্ডো", + "desktop.menu.closeWindow": "উইন্ডো বন্ধ করুন", + "desktop.menu.undo": "পূর্বাবস্থায় ফেরান", + "desktop.menu.redo": "আবার করুন", + "desktop.menu.cut": "কাটা", + "desktop.menu.copy": "কপি", + "desktop.menu.paste": "পেস্ট করুন", + "desktop.menu.delete": "মুছে দিন", + "desktop.menu.selectAll": "সব নির্বাচন করুন", + "desktop.menu.toggleSidebar": "সাইডবার টগল করুন", + "desktop.menu.toggleTerminal": "টার্মিনাল টগল করুন", + "desktop.menu.toggleFileTree": "ফাইল ট্রি টগল করুন", + "desktop.menu.reload": "পুনরায় লোড করুন", + "desktop.menu.toggleDeveloperTools": "ডেভেলপার টুল টগল করুন", + "desktop.menu.actualSize": "প্রকৃত আকার", + "desktop.menu.zoomIn": "জুম ইন করুন", + "desktop.menu.zoomOut": "জুম আউট করুন", + "desktop.menu.toggleFullScreen": "ফুল স্ক্রীন টগল করুন", + "desktop.menu.back": "ব্যাক", + "desktop.menu.forward": "ফরোয়ার্ড", + "desktop.menu.previousSession": "পূর্ববর্তী সেশন", + "desktop.menu.nextSession": "পরবর্তী সেশন", + "desktop.menu.previousProject": "পূর্ববর্তী প্রকল্প", + "desktop.menu.nextProject": "পরবর্তী প্রকল্প", + "desktop.menu.minimize": "ছোট করুন", + "desktop.menu.maximize": "সর্বাধিক করুন", + "desktop.menu.documentation": "OpenCode ডকুমেন্টেশন", + "desktop.menu.supportForum": "সমর্থন ফোরাম", + "desktop.menu.shareFeedback": "মতামত শেয়ার করুন", + "desktop.menu.reportBug": "একটি বাগ রিপোর্ট করুন", + "desktop.menu.ariaLabel": "OpenCode মেনু", + "desktop.updater.dialog.checkFailed.message": "আপডেট চেক ব্যর্থ হয়েছে.", + "desktop.updater.dialog.checkFailed.title": "আপডেট ত্রুটি", + "desktop.updater.dialog.upToDate.message": "আপনি আপ টু ডেট.", + "desktop.updater.dialog.upToDate.title": "কোন আপডেট নেই", + "desktop.updater.dialog.ready.message": "আপডেট {{version}} ডাউনলোড করা হয়েছে। এখন রিস্টার্ট করবেন?", + "desktop.updater.dialog.ready.title": "আপডেট প্রস্তুত", + "desktop.updater.dialog.restart": "রিস্টার্ট করুন", + "desktop.updater.dialog.later": "পরে", + "desktop.recovery.action.relaunch": "পুনরায় চালু করুন", + "desktop.recovery.action.exportLogs": "রপ্তানি লগ", + "desktop.recovery.action.keepWaiting": "অপেক্ষায় থাকুন", + "desktop.recovery.action.quit": "প্রস্থান করুন", + "desktop.recovery.loadFailed": "OpenCode লোড হতে ব্যর্থ হয়েছে৷", + "desktop.recovery.terminated": "OpenCode উইন্ডো অপ্রত্যাশিতভাবে বন্ধ হয়ে গেছে", + "desktop.recovery.unresponsive": "OpenCode সাড়া দিচ্ছে না", + "desktop.recovery.unresponsive.detail": + "আপনি অ্যাপটি পুনরায় চালু করতে পারেন, লগগুলি খুলতে পারেন বা অপেক্ষা করতে পারেন৷", + "desktop.recovery.loadFailed.detail": "উইন্ডো: {{window}}\nURL: {{url}}\nত্রুটি: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "উইন্ডো: {{window}}\nকারণ: {{reason}}\nকোড: {{code}}", + "desktop.recovery.unknown": "<অজানা>", + "desktop.dialog.chooseFolder": "একটি ফোল্ডার নির্বাচন করুন", + "desktop.dialog.chooseFile": "একটি ফাইল নির্বাচন করুন", + "desktop.dialog.saveFile": "ফাইল সংরক্ষণ করুন", + "desktop.dialog.files": "ফাইল", + "desktop.server.local": "স্থানীয় সার্ভার", + "desktop.wsl.error.windowsOnly": "WSL শুধুমাত্র Windows এ উপলব্ধ", + "desktop.wsl.error.unavailable": "WSL অনুপলব্ধ", + "desktop.wsl.error.listInstalled": "ইনস্টল করা WSL ডিস্ট্রো তালিকাভুক্ত করতে ব্যর্থ", + "desktop.wsl.error.listOnline": "অনলাইন WSL ডিস্ট্রো তালিকাভুক্ত করতে ব্যর্থ", + "desktop.wsl.error.executeDistro": "ডিস্ট্রোতে কমান্ড চালানো যাবে না", + "desktop.wsl.error.installWsl": "WSL ইনস্টলেশন ব্যর্থ হয়েছে৷", + "desktop.wsl.error.installDistro": "ডিস্ট্রো ইনস্টল করতে ব্যর্থ হয়েছে: {{distro}}", + "desktop.wsl.error.installOpencode": "OpenCode ইনস্টলেশন ব্যর্থ হয়েছে৷", + "desktop.wsl.error.alreadyAdded": "{{distro}} ইতিমধ্যেই যোগ করা হয়েছে৷", + "desktop.wsl.error.opencodeMissing": "এই ডিস্ট্রোতে opencode ইনস্টল করা নেই", + "desktop.wsl.error.opencodeCannotRun": "opencode ইনস্টল করা আছে কিন্তু চালানো যায়নি", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode {{distro}} এ ইনস্টল করা নেই", + "desktop.wsl.error.updateVersion": + "OpenCode আপডেট শেষ হয়েছে কিন্তু {{distro}} এখনও রিপোর্ট করে {{installed}}; প্রত্যাশিত {{expected}}", + "desktop.wsl.error.noVersion": "কোন সংস্করণ নেই", + "desktop.wsl.error.serverExited": "WSL সার্ভার স্টার্টআপের পরে প্রস্থান হয়েছে (code={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL সার্ভার সুস্থ হওয়ার আগে প্রস্থান করেছে (code={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": "{{distro}} স্বাস্থ্য পরীক্ষার জন্য সাইডকার {{timeout}}ms পরে সময় শেষ হয়েছে", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} {{timeout}}ms পরে সময় শেষ হয়েছে", + "desktop.wsl.error.failedPort": "পোর্ট পেতে ব্যর্থ", + "desktop.picker.error.notSelected": "ফাইল পিকার দ্বারা নির্বাচন করা হয়নি", + "desktop.picker.error.sizeLimit": "নির্বাচিত সংযুক্তিগুলি {{limit}} MB সীমা অতিক্রম করেছে৷", + "command.category.suggested": "প্রস্তাবিত", + "command.category.view": "দেখুন", + "command.category.project": "প্রকল্প", + "command.category.provider": "প্রদানকারী", + "command.category.server": "সার্ভার", + "command.category.session": "সেশন", + "command.category.theme": "থিম", + "command.category.language": "ভাষা", + "command.category.file": "ফাইল", + "command.category.context": "প্রসঙ্গ", + "command.category.terminal": "টার্মিনাল", + "command.category.model": "মডেল", + "command.category.mcp": "MCP", + "command.category.agent": "এজেন্ট", + "command.category.permissions": "অনুমতি", + "command.category.workspace": "ওয়ার্কস্পেস", + "command.category.settings": "সেটিংস", + "command.logs.export": "রপ্তানি লগ", + "theme.scheme.system": "সিস্টেম", + "theme.scheme.light": "আলো", + "theme.scheme.dark": "অন্ধকার", + "command.sidebar.toggle": "সাইডবার টগল করুন", + "command.project.open": "প্রকল্প খুলুন", + "command.project.previous": "আগের প্রকল্প", + "command.project.next": "পরবর্তী প্রকল্প", + "command.project.index": "প্রকল্পে স্যুইচ করুন {{index}}", + "command.provider.connect": "সংযোগ প্রদানকারী", + "command.server.switch": "সার্ভার পরিবর্তন করুন", + "command.settings.open": "সেটিংস খুলুন", + "command.session.previous": "আগের সেশন", + "command.session.next": "পরবর্তী সেশন", + "command.session.previous.unseen": "পূর্ববর্তী অপঠিত সেশন", + "command.session.next.unseen": "পরবর্তী অপঠিত সেশন", + "command.session.archive": "আর্কাইভ সেশন", + "command.palette": "কমান্ড প্যালেট", + "command.theme.cycle": "সাইকেল থিম", + "command.theme.set": "থিম ব্যবহার করুন: {{theme}}", + "command.theme.scheme.cycle": "সাইকেল রঙের স্কিম", + "command.theme.scheme.set": "রঙের স্কিম ব্যবহার করুন: {{scheme}}", + "command.language.cycle": "সাইকেল ভাষা", + "command.language.set": "ভাষা ব্যবহার করুন: {{language}}", + "command.session.new": "নতুন সেশন", + "command.file.open": "ফাইল খুলুন", + "command.tab.close": "ট্যাব বন্ধ করুন", + "command.tab.reopenClosed": "বন্ধ ট্যাব আবার খুলুন", + "command.context.addSelection": "প্রসঙ্গে নির্বাচন যোগ করুন", + "command.context.addSelection.description": "বর্তমান ফাইল থেকে নির্বাচিত লাইন যোগ করুন", + "command.input.focus": "ফোকাস ইনপুট", + "command.terminal.toggle": "টার্মিনাল টগল করুন", + "command.fileTree.toggle": "ফাইল ট্রি টগল করুন", + "command.review.toggle": "পর্যালোচনা টগল করুন", + "command.terminal.new": "নতুন টার্মিনাল", + "command.terminal.new.description": "একটি নতুন টার্মিনাল ট্যাব তৈরি করুন", + "command.steps.toggle": "পদক্ষেপ টগল করুন", + "command.steps.toggle.description": "বর্তমান বার্তার জন্য ধাপগুলি দেখান বা লুকান৷", + "command.message.previous": "আগের বার্তা", + "command.message.previous.description": "আগের ব্যবহারকারী বার্তা যান", + "command.message.next": "পরবর্তী বার্তা", + "command.message.next.description": "পরবর্তী ব্যবহারকারী বার্তা যান", + "command.model.choose": "মডেল নির্বাচন করুন", + "command.model.choose.description": "একটি ভিন্ন মডেল নির্বাচন করুন", + "command.mcp.toggle": "টগল করুন MCPs", + "command.mcp.toggle.description": "টগল করুন MCPs", + "command.agent.cycle": "সাইকেল এজেন্ট", + "command.agent.cycle.description": "পরবর্তী এজেন্টে যান", + "command.agent.cycle.reverse": "সাইকেল এজেন্ট পিছনের দিকে", + "command.agent.cycle.reverse.description": "আগের এজেন্টে স্যুইচ করুন", + "command.model.variant.cycle": "চক্র চিন্তা প্রচেষ্টা", + "command.model.variant.cycle.description": "পরবর্তী প্রচেষ্টা স্তরে স্যুইচ করুন", + "command.prompt.mode.shell": "শেল", + "command.prompt.mode.normal": "প্রম্পট", + "command.permissions.autoaccept.enable": "স্বয়ংক্রিয়ভাবে অনুমতি গ্রহণ করুন", + "command.permissions.autoaccept.disable": "স্বয়ংক্রিয়ভাবে অনুমতি নেওয়া বন্ধ করুন", + "command.workspace.toggle": "ওয়ার্কস্পেস টগল করুন", + "command.workspace.toggle.description": "সাইডবারে একাধিক ওয়ার্কস্পেস সক্রিয় বা অক্ষম করুন", + "command.session.undo": "পূর্বাবস্থায় ফেরান", + "command.session.undo.description": "শেষ বার্তাটি পূর্বাবস্থায় ফেরান", + "command.session.redo": "আবার করুন", + "command.session.redo.description": "শেষ পূর্বাবস্থায় ফেরানো বার্তাটি আবার করুন", + "command.session.compact": "কমপ্যাক্ট সেশন", + "command.session.compact.description": "প্রসঙ্গ আকার কমাতে সেশনের সারসংক্ষেপ করুন", + "command.session.fork": "বার্তা থেকে ফর্ক", + "command.session.fork.description": "একটি পূর্ববর্তী বার্তা থেকে একটি নতুন সেশন তৈরি করুন", + "command.session.share": "সেশন শেয়ার করুন", + "command.session.share.description": "এই সেশনটি শেয়ার করুন এবং ক্লিপবোর্ডে URL অনুলিপি করুন", + "command.session.unshare": "সেশন শেয়ার করা", + "command.session.unshare.description": "এই সেশন শেয়ার করা বন্ধ করুন", + "command.session.export": "রপ্তানি সেশন", + "command.session.export.description": "JSON হিসাবে সম্পূর্ণ সেশন ট্রান্সক্রিপ্ট রপ্তানি করুন", + "palette.search.placeholder": "অনুসন্ধান ফাইল, কমান্ড, এবং সেশন", + "palette.search.placeholder.home": "অনুসন্ধান কমান্ড এবং সেশন", + "palette.empty": "কোন ফলাফল পাওয়া যায়নি", + "palette.group.commands": "কমান্ড", + "palette.group.files": "ফাইল", + "dialog.provider.search.placeholder": "অনুসন্ধান প্রদানকারী", + "dialog.provider.empty": "কোন প্রদানকারী পাওয়া যায়নি", + "dialog.provider.group.popular": "জনপ্রিয়", + "dialog.provider.group.other": "অন্যান্য", + "dialog.provider.custom.label": "কাস্টম OpenAI-সামঞ্জস্যপূর্ণ প্রদানকারী", + "dialog.provider.tag.recommended": "প্রস্তাবিত", + "dialog.provider.opencode.note": "Claude, GPT, Gemini এবং আরও অনেক কিছু সহ কিউরেট করা মডেল", + "dialog.provider.opencode.tagline": "নির্ভরযোগ্য অপ্টিমাইজ করা মডেল", + "dialog.provider.opencodeGo.tagline": "সবার জন্য কম খরচে সাবস্ক্রিপশন", + "dialog.provider.anthropic.note": "প্রো এবং ম্যাক্স সহ Claude মডেলগুলিতে সরাসরি অ্যাক্সেস", + "dialog.provider.copilot.note": "GitHub Copilot এর মাধ্যমে কোডিং সহায়তার জন্য AI মডেল", + "dialog.provider.openai.note": "দ্রুত, সক্ষম সাধারণ AI কার্যগুলির জন্য GPT মডেল", + "dialog.provider.google.note": "দ্রুত, কাঠামোগত প্রতিক্রিয়ার জন্য Gemini মডেল", + "dialog.provider.openrouter.note": "একটি প্রদানকারী থেকে সমস্ত সমর্থিত মডেল অ্যাক্সেস করুন", + "dialog.provider.vercel.note": "স্মার্ট রাউটিং সহ AI মডেলগুলিতে ইউনিফাইড অ্যাক্সেস", + "dialog.model.select.title": "মডেল নির্বাচন করুন", + "dialog.model.search.placeholder": "মডেল অনুসন্ধান করুন", + "dialog.model.empty": "কোন মডেল ফলাফল নেই", + "dialog.model.manage": "মডেল পরিচালনা করুন", + "dialog.model.manage.description": "মডেল নির্বাচকের মধ্যে কোন মডেলগুলি উপস্থিত হবে তা কাস্টমাইজ করুন৷", + "dialog.model.manage.provider.toggle": "সমস্ত {{provider}} মডেল টগল করুন", + "dialog.model.unpaid.freeModels.title": "বিনামূল্যের মডেলগুলি OpenCode দ্বারা প্রদত্ত", + "dialog.model.unpaid.addMore.title": "জনপ্রিয় প্রদানকারীদের থেকে আরো মডেল যোগ করুন", + "dialog.model.unpaid.viewMoreProviders": "আরও 70+ প্রদানকারী দেখুন", + "dialog.provider.viewAll": "আরো প্রদানকারী দেখান", + "provider.connect.title": "{{provider}} সংযোগ করুন", + "provider.connect.title.anthropicProMax": "Claude Pro/Max দিয়ে লগইন করুন", + "provider.connect.selectMethod": "{{provider}} এর জন্য লগইন পদ্ধতি নির্বাচন করুন।", + "provider.connect.method.apiKey": "API কী", + "provider.connect.method.browser": "ব্রাউজার", + "provider.connect.method.headless": "মাথাবিহীন", + "provider.connect.status.inProgress": "অনুমোদন চলছে...", + "provider.connect.status.waiting": "অনুমোদনের জন্য অপেক্ষা করা হচ্ছে...", + "provider.connect.status.failed": "অনুমোদন ব্যর্থ হয়েছে: {{error}}", + "provider.connect.apiKey.description": + "আপনার অ্যাকাউন্ট সংযোগ করতে আপনার {{provider}} API কী লিখুন এবং OpenCode-এ {{provider}} মডেলগুলি ব্যবহার করুন৷", + "provider.connect.apiKey.label": "{{provider}} API কী", + "provider.connect.apiKey.placeholder": "API কী", + "provider.connect.apiKey.required": "API কী প্রয়োজন", + "provider.connect.opencodeZen.line1": + "OpenCode Zen আপনাকে কোডিং এজেন্টের জন্য নির্ভরযোগ্য অপ্টিমাইজ করা মডেলের একটি কিউরেটেড সেটে অ্যাক্সেস দেয়।", + "provider.connect.opencodeZen.line2": + "একটি API কী দিয়ে আপনি Claude, GPT, Gemini, GLM এবং আরও অনেক কিছুর মতো মডেলগুলিতে অ্যাক্সেস পাবেন৷", + "provider.connect.opencodeZen.visit.prefix": "ভিজিট করুন", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": "আপনার API কী সংগ্রহ করতে।", + "provider.connect.oauth.code.visit.prefix": "ভিজিট করুন", + "provider.connect.oauth.code.visit.link": "এই লিঙ্ক", + "provider.connect.oauth.code.visit.suffix": + "আপনার অ্যাকাউন্ট সংযোগ করতে আপনার অনুমোদন কোড সংগ্রহ করতে এবং {{provider}} মডেলগুলি OpenCode-এ ব্যবহার করতে।", + "provider.connect.oauth.code.label": "{{method}} অনুমোদন কোড", + "provider.connect.oauth.code.placeholder": "অনুমোদন কোড", + "provider.connect.oauth.code.required": "অনুমোদন কোড প্রয়োজন", + "provider.connect.oauth.code.invalid": "অবৈধ অনুমোদন কোড", + "provider.connect.oauth.auto.visit.prefix": "ভিজিট করুন", + "provider.connect.oauth.auto.visit.link": "এই লিঙ্ক", + "provider.connect.oauth.auto.visit.suffix": + "এবং আপনার অ্যাকাউন্ট সংযোগ করতে নীচের কোডটি লিখুন এবং {{provider}} মডেলগুলি OpenCode-এ ব্যবহার করুন৷", + "provider.connect.oauth.auto.confirmationCode": "নিশ্চিতকরণ কোড", + "provider.connect.toast.connected.title": "{{provider}} সংযুক্ত", + "provider.connect.toast.connected.description": "{{provider}} মডেলগুলি এখন ব্যবহারের জন্য উপলব্ধ৷", + "provider.custom.title": "কাস্টম প্রদানকারী", + "provider.custom.unavailable": "কাস্টম প্রদানকারী এই সার্ভারে অনুপলব্ধ", + "provider.custom.description.prefix": "একটি OpenAI-সামঞ্জস্যপূর্ণ প্রদানকারী কনফিগার করুন। দেখুন", + "provider.custom.description.link": "প্রদানকারী কনফিগার ডক্স", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "প্রদানকারী আইডি", + "provider.custom.field.providerID.placeholder": "myprovider", + "provider.custom.field.providerID.description": "ছোট হাতের অক্ষর, সংখ্যা, হাইফেন বা আন্ডারস্কোর", + "provider.custom.field.name.label": "প্রদর্শনের নাম", + "provider.custom.field.name.placeholder": "আমার AI প্রদানকারী", + "provider.custom.field.baseURL.label": "ভিত্তি URL", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "API কী", + "provider.custom.field.apiKey.placeholder": "API কী", + "provider.custom.field.apiKey.description": "ঐচ্ছিক। আপনি শিরোনামের মাধ্যমে প্রমাণীকরণ পরিচালনা করলে খালি ছেড়ে দিন।", + "provider.custom.models.label": "মডেল", + "provider.custom.models.id.label": "আইডি", + "provider.custom.models.id.placeholder": "মডেল-আইডি", + "provider.custom.models.name.label": "নাম", + "provider.custom.models.name.placeholder": "প্রদর্শনের নাম", + "provider.custom.models.remove": "মডেল সরান", + "provider.custom.models.add": "মডেল যোগ করুন", + "provider.custom.headers.label": "হেডার (ঐচ্ছিক)", + "provider.custom.headers.key.label": "হেডার", + "provider.custom.headers.key.placeholder": "হেডার-নাম", + "provider.custom.headers.value.label": "মান", + "provider.custom.headers.value.placeholder": "মান", + "provider.custom.headers.remove": "হেডার সরান", + "provider.custom.headers.add": "হেডার যোগ করুন", + "provider.custom.error.providerID.required": "প্রদানকারী আইডি প্রয়োজন", + "provider.custom.error.providerID.format": "ছোট হাতের অক্ষর, সংখ্যা, হাইফেন বা আন্ডারস্কোর ব্যবহার করুন", + "provider.custom.error.providerID.exists": "সেই প্রদানকারী আইডি আগে থেকেই আছে", + "provider.custom.error.name.required": "প্রদর্শন নাম প্রয়োজন", + "provider.custom.error.baseURL.required": "বেস URL প্রয়োজন", + "provider.custom.error.baseURL.format": "http:// অথবা https:// দিয়ে শুরু করতে হবে", + "provider.custom.error.required": "প্রয়োজন", + "provider.custom.error.duplicate": "ডুপ্লিকেট", + "provider.disconnect.toast.disconnected.title": "{{provider}} সংযোগ বিচ্ছিন্ন", + "provider.disconnect.toast.disconnected.description": "{{provider}} মডেল আর উপলব্ধ নেই৷", + "model.tag.free": "বিনামূল্যে", + "model.tag.latest": "সর্বশেষ", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "পাঠ্য", + "model.input.image": "ইমেজ", + "model.input.audio": "অডিও", + "model.input.video": "ভিডিও", + "model.input.pdf": "পিডিএফ", + "model.tooltip.allows": "অনুমতি দেয়: {{inputs}}", + "model.tooltip.context.label": "প্রসঙ্গ", + "model.tooltip.inputs": "ইনপুট", + "model.tooltip.model": "মডেল", + "model.tooltip.provider": "প্রদানকারী", + "model.tooltip.reasoning": "যুক্তি", + "model.tooltip.reasoning.allowed": "যুক্তির অনুমতি দেয়", + "model.tooltip.reasoning.none": "কোন যুক্তি নেই", + "model.tooltip.context": "প্রসঙ্গ সীমা {{limit}}", + "common.search.placeholder": "অনুসন্ধান করুন", + "common.goBack": "ফিরে নেভিগেট করুন", + "common.goForward": "সামনে নেভিগেট করুন", + "common.loading": "লোড হচ্ছে", + "common.loading.ellipsis": "...", + "common.cancel": "বাতিল করুন", + "common.clear": "পরিষ্কার", + "common.open": "খোলা", + "common.connect": "সংযোগ করুন", + "common.disconnect": "সংযোগ বিচ্ছিন্ন করুন", + "common.continue": "চালিয়ে যান", + "common.submit": "জমা দিন", + "common.save": "সংরক্ষণ করুন", + "common.saving": "সংরক্ষণ করা হচ্ছে...", + "common.default": "ডিফল্ট", + "common.attachment": "সংযুক্তি", + "prompt.placeholder.shell": "শেল কমান্ড লিখুন... {{example}}", + "prompt.placeholder.normal": 'কিছু জিজ্ঞাসা করুন... "{{example}}"', + "prompt.placeholder.simple": "কিছু জিজ্ঞাসা করুন...", + "prompt.placeholder.summarizeComments": "মন্তব্য সংক্ষিপ্ত করুন...", + "prompt.placeholder.summarizeComment": "মন্তব্য সংক্ষিপ্ত করুন...", + "prompt.mode.shell": "শেল", + "prompt.mode.normal": "প্রম্পট", + "prompt.mode.shell.exit": "প্রস্থান করতে esc", + "session.child.promptDisabled": "সাবজেন্ট সেশন প্রম্পট করা যাবে না.", + "session.child.backToParent": "মূল সেশনে ফিরে যান।", + "prompt.example.1": "কোডবেসে একটি TODO ঠিক করুন", + "prompt.example.2": "এই প্রকল্পের প্রযুক্তি স্ট্যাক কি?", + "prompt.example.3": "ভাঙা পরীক্ষা ঠিক করুন", + "prompt.example.4": "প্রমাণীকরণ কিভাবে কাজ করে তা ব্যাখ্যা করুন", + "prompt.example.5": "নিরাপত্তা দুর্বলতা খুঁজুন এবং ঠিক করুন", + "prompt.example.6": "ব্যবহারকারী পরিষেবার জন্য ইউনিট পরীক্ষা যোগ করুন", + "prompt.example.7": "রিফ্যাক্টর এই ফাংশন আরো পঠনযোগ্য হতে", + "prompt.example.8": "এই ত্রুটি মানে কি?", + "prompt.example.9": "এই সমস্যাটি ডিবাগ করতে আমাকে সাহায্য করুন", + "prompt.example.10": "API ডকুমেন্টেশন তৈরি করুন", + "prompt.example.11": "ডাটাবেস কোয়েরি অপ্টিমাইজ করুন", + "prompt.example.12": "ইনপুট বৈধতা যোগ করুন", + "prompt.example.13": "এর জন্য একটি নতুন উপাদান তৈরি করুন...", + "prompt.example.14": "আমি কিভাবে এই প্রকল্প স্থাপন করব?", + "prompt.example.15": "সেরা অনুশীলনের জন্য আমার কোড পর্যালোচনা করুন", + "prompt.example.16": "এই ফাংশনে ত্রুটি হ্যান্ডলিং যোগ করুন", + "prompt.example.17": "এই রেজেক্স প্যাটার্ন ব্যাখ্যা করুন", + "prompt.example.18": "এটিকে TypeScript-এ রূপান্তর করুন", + "prompt.example.19": "কোডবেস জুড়ে লগিং যোগ করুন", + "prompt.example.20": "কি নির্ভরতা পুরানো হয়?", + "prompt.example.21": "আমাকে একটি মাইগ্রেশন স্ক্রিপ্ট লিখতে সাহায্য করুন", + "prompt.example.22": "এই শেষ পয়েন্টের জন্য ক্যাশিং প্রয়োগ করুন", + "prompt.example.23": "এই তালিকায় পৃষ্ঠা সংখ্যা যোগ করুন", + "prompt.example.24": "এর জন্য একটি CLI কমান্ড তৈরি করুন...", + "prompt.example.25": "পরিবেশ ভেরিয়েবল এখানে কিভাবে কাজ করে?", + "prompt.popover.emptyResults": "কোন মিল ফলাফল", + "prompt.popover.emptyCommands": "কোনো মিলিত কমান্ড নেই", + "prompt.dropzone.label": "ছবি, পিডিএফ, বা টেক্সট ফাইল এখানে ড্রপ করুন", + "prompt.dropzone.file.label": "@উল্লেখিত ফাইলে ড্রপ করুন", + "prompt.slash.badge.custom": "কাস্টম", + "prompt.slash.badge.skill": "দক্ষতা", + "prompt.slash.badge.mcp": "এমসিপি", + "prompt.context.active": "সক্রিয়", + "prompt.context.includeActiveFile": "সক্রিয় ফাইল অন্তর্ভুক্ত করুন", + "prompt.context.removeActiveFile": "প্রসঙ্গ থেকে সক্রিয় ফাইল সরান", + "prompt.context.removeFile": "প্রসঙ্গ থেকে ফাইল সরান", + "prompt.action.attachFile": "ফাইল যোগ করুন", + "prompt.menu.addImagesAndFiles": "ফাইল এবং আরো যোগ করুন", + "prompt.menu.imagesAndFiles": "ছবি এবং ফাইল", + "prompt.menu.commands": "কমান্ড", + "prompt.menu.context": "প্রসঙ্গ", + "prompt.menu.shellCommand": "শেল কমান্ড", + "prompt.attachment.remove": "সংযুক্তি সরান", + "prompt.action.send": "পাঠান", + "prompt.action.stop": "থামো", + "prompt.toast.pasteUnsupported.title": "অসমর্থিত সংযুক্তি", + "prompt.toast.pasteUnsupported.description": "এখানে শুধুমাত্র ছবি, পিডিএফ বা টেক্সট ফাইল সংযুক্ত করা যাবে।", + "prompt.toast.attachmentDuplicate.title": "এই ফাইল ইতিমধ্যে আপলোড করা হয়েছে", + "prompt.toast.modelAgentRequired.title": "একটি এজেন্ট এবং মডেল নির্বাচন করুন", + "prompt.toast.modelAgentRequired.description": "প্রম্পট পাঠানোর আগে একটি এজেন্ট এবং মডেল বেছে নিন।", + "prompt.toast.worktreeCreateFailed.title": "ওয়ার্কট্রি তৈরি করতে ব্যর্থ হয়েছে৷", + "prompt.toast.sessionCreateFailed.title": "সেশন তৈরি করতে ব্যর্থ হয়েছে৷", + "prompt.toast.shellSendFailed.title": "শেল কমান্ড পাঠাতে ব্যর্থ হয়েছে", + "prompt.toast.commandSendFailed.title": "কমান্ড পাঠাতে ব্যর্থ হয়েছে", + "prompt.toast.promptSendFailed.title": "প্রম্পট পাঠাতে ব্যর্থ হয়েছে৷", + "prompt.toast.promptSendFailed.description": "সেশন পুনরুদ্ধার করতে অক্ষম", + "dialog.mcp.title": "MCPs", + "dialog.mcp.description": "{{total}} এর {{enabled}} সক্ষম", + "dialog.mcp.empty": "কোনো MCPs কনফিগার করা নেই", + "dialog.lsp.empty": "LSPs ফাইলের ধরন থেকে স্বয়ংক্রিয়ভাবে সনাক্ত করা হয়েছে", + "dialog.plugins.empty": "opencode.json এ কনফিগার করা প্লাগইন", + "mcp.status.connected": "সংযুক্ত", + "mcp.status.failed": "ব্যর্থ", + "mcp.status.needs_auth": "প্রমাণ প্রয়োজন", + "mcp.status.disabled": "অক্ষম", + "mcp.auth.clickToAuthenticate": "প্রমাণীকরণ করতে ক্লিক করুন", + "dialog.fork.empty": "থেকে কাঁটাচামচ কোন বার্তা", + "dialog.directory.search.placeholder": "ফোল্ডার অনুসন্ধান করুন", + "dialog.directory.empty": "কোনো ফোল্ডার পাওয়া যায়নি", + "dialog.directory.action.selectFile": "ফাইল নির্বাচন করুন", + "dialog.directory.action.selectFolder": "ফোল্ডার নির্বাচন করুন", + "dialog.directory.root": "রুট", + "dialog.directory.parent": "অভিভাবক", + "dialog.directory.readError": "এই ফোল্ডারটি পড়তে অক্ষম৷", + "app.server.unreachable": "{{server}} এ পৌঁছানো যায়নি", + "app.server.retrying": "স্বয়ংক্রিয়ভাবে পুনরায় চেষ্টা করা হচ্ছে...", + "app.server.otherServers": "অন্যান্য সার্ভার", + "dialog.server.title": "সার্ভার", + "dialog.server.description": "এই অ্যাপটি কোন OpenCode সার্ভারের সাথে সংযোগ করে তা পরিবর্তন করুন।", + "dialog.server.search.placeholder": "সার্ভার সার্চ করুন", + "dialog.server.empty": "এখনো কোনো সার্ভার নেই", + "dialog.server.add.title": "সার্ভার যোগ করুন", + "dialog.server.add.url": "সার্ভার ঠিকানা", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "সার্ভারের সাথে সংযোগ করা যায়নি", + "dialog.server.add.checking": "পরীক্ষা করা হচ্ছে...", + "dialog.server.add.button": "সার্ভার যোগ করুন", + "dialog.server.add.name": "সার্ভারের নাম (ঐচ্ছিক)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "ব্যবহারকারীর নাম (ঐচ্ছিক)", + "dialog.server.add.usernamePlaceholder": "ব্যবহারকারীর নাম", + "dialog.server.add.password": "পাসওয়ার্ড (ঐচ্ছিক)", + "dialog.server.add.passwordPlaceholder": "পাসওয়ার্ড", + "dialog.server.edit.title": "সার্ভার সম্পাদনা করুন", + "dialog.server.default.title": "ডিফল্ট সার্ভার", + "dialog.server.default.description": + "একটি স্থানীয় সার্ভার শুরু করার পরিবর্তে অ্যাপ লঞ্চে এই সার্ভারের সাথে সংযোগ করুন৷ পুনরায় চালু করা প্রয়োজন।", + "dialog.server.default.none": "কোনো সার্ভার নির্বাচন করা হয়নি", + "dialog.server.default.set": "বর্তমান সার্ভারকে ডিফল্ট হিসাবে সেট করুন", + "dialog.server.default.clear": "পরিষ্কার", + "dialog.server.action.remove": "সার্ভার সরান", + "dialog.server.menu.edit": "সম্পাদনা করুন", + "dialog.server.menu.default": "ডিফল্ট হিসেবে সেট করুন", + "dialog.server.menu.defaultRemove": "ডিফল্ট সরান", + "dialog.server.menu.delete": "মুছে দিন", + "dialog.server.current": "বর্তমান সার্ভার", + "dialog.server.status.default": "ডিফল্ট", + "wsl.server.add": "WSL সার্ভার যোগ করুন", + "wsl.server.addShort": "WSL যোগ করুন", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "WSL সার্ভার", + "wsl.server.retryStart": "আবার শুরু করার চেষ্টা করুন", + "wsl.server.updating": "আপডেট হচ্ছে...", + "wsl.onboarding.step.distro": "ডিস্ট্রো নির্বাচন করুন", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "WSL পরীক্ষা করা হচ্ছে...", + "wsl.onboarding.restartRequired": "WSL ইনস্টল করা শেষ করার জন্য Windows-এর একটি রিস্টার্ট প্রয়োজন।", + "wsl.onboarding.ready": "WSL প্রস্তুত।", + "wsl.onboarding.required": "WSL চালিয়ে যেতে হবে।", + "wsl.onboarding.checkingDistros": "ডিস্ট্রো পরীক্ষা করা হচ্ছে...", + "wsl.onboarding.installingDistro": "{{distro}} ইনস্টল করা হচ্ছে...", + "wsl.onboarding.checkingDistro": "চেক করা হচ্ছে {{distro}}...", + "wsl.onboarding.listingDistros": "ডিস্ট্রোদের তালিকা করা হচ্ছে...", + "wsl.onboarding.distroReady": "{{distro}} প্রস্তুত।", + "wsl.onboarding.distroNotInstalled": "{{distro}} এখনও ইনস্টল করা হয়নি৷", + "wsl.onboarding.openDistroOnce": "সেটআপ শেষ করতে একবার {{distro}} খুলুন।", + "wsl.onboarding.finishingDistro": "{{distro}} এর জন্য সেটআপ শেষ করা হচ্ছে।", + "wsl.onboarding.pickDistro": "একটি ডিস্ট্রো চয়ন করুন বা নীচে একটি ইনস্টল করুন৷", + "wsl.onboarding.checkingOpencode": "OpenCode পরীক্ষা করা হচ্ছে...", + "wsl.onboarding.checkingOpencodeIn": "{{distro}} এ OpenCode চেক করা হচ্ছে...", + "wsl.onboarding.updatingOpencode": "আপডেট করা হচ্ছে OpenCode...", + "wsl.onboarding.updatingOpencodeIn": "{{distro}}-এ OpenCode আপডেট করা হচ্ছে...", + "wsl.onboarding.updateOpencodeIn": "{{distro}}-এ OpenCode আপডেট করুন।", + "wsl.onboarding.updateOpencode": "OpenCode আপডেট করুন", + "wsl.onboarding.opencodeReadyIn": "OpenCode {{distro}}-এ প্রস্তুত।", + "wsl.onboarding.opencodeReady": "OpenCode প্রস্তুত।", + "wsl.onboarding.installOpencodeIn": "{{distro}}-এ OpenCode ইনস্টল করুন।", + "wsl.onboarding.installOpencode": "OpenCode ইনস্টল করুন", + "wsl.onboarding.chooseDistroFirst": "প্রথমে একটি ডিস্ট্রো চয়ন করুন।", + "wsl.onboarding.loadFailed": "WSL অবস্থা লোড করতে ব্যর্থ।", + "wsl.onboarding.loading": "লোড হচ্ছে...", + "wsl.onboarding.installedDistros": "ডিস্ট্রো ইনস্টল করা হয়েছে", + "wsl.onboarding.checkAgain": "আবার চেক করুন", + "wsl.onboarding.distroStatus.ready": "প্রস্তুত", + "wsl.onboarding.distroStatus.checking": "পরীক্ষা করা হচ্ছে...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode ইনস্টল করা নেই", + "wsl.onboarding.distroStatus.missingTools": "অনুপস্থিত বাশ, কার্ল", + "wsl.onboarding.distroStatus.unsupported": "অসমর্থিত · WSL 2 ব্যবহার করুন", + "wsl.onboarding.needAnotherDistro": "অন্য ডিস্ট্রো প্রয়োজন?", + "wsl.onboarding.needAnotherDistroHint": "WSL ক্যাটালগ থেকে একটি Linux বিতরণ ইনস্টল করুন", + "wsl.onboarding.wslNotInstalled.title": "WSL ইনস্টল করা হয়নি", + "wsl.onboarding.wslNotInstalled.description": + "WSL (Linux এর জন্য Windows সাবসিস্টেম) OpenCode একটি WSL সার্ভার যোগ করার আগে প্রয়োজন", + "wsl.onboarding.wslUnavailable.title": "WSL অনুপলব্ধ", + "wsl.onboarding.wslUnavailable.description": "OpenCode এই মেশিনে WSL যাচাই করতে পারেনি।", + "wsl.onboarding.installWsl": "WSL ইনস্টল করুন", + "wsl.onboarding.windowsRestartRequired": + "WSL ইনস্টল করা শেষ করতে Windows পুনরায় চালু করুন, তারপর OpenCode আবার খুলুন।", + "wsl.onboarding.next": "পরবর্তী", + "wsl.onboarding.refresh": "রিফ্রেশ", + "wsl.onboarding.allDistrosAdded": "সমস্ত ইনস্টল করা ডিস্ট্রো ইতিমধ্যেই যোগ করা হয়েছে।", + "wsl.onboarding.noDistros": "কোন ডিস্ট্রো এখনও সনাক্ত করা হয়নি.", + "wsl.onboarding.install": "ইনস্টল করুন", + "wsl.onboarding.installing": "ইনস্টল করা হচ্ছে...", + "wsl.onboarding.installDistro": "ডিস্ট্রো ইনস্টল করুন", + "wsl.onboarding.searchDistros": "ডিস্ট্রো অনুসন্ধান করুন", + "wsl.onboarding.wsl2Required": "WSL 2 প্রয়োজন।", + "wsl.onboarding.toolsRequired": "এই ডিস্ট্রো ব্যাশ এবং কার্ল প্রয়োজন।", + "wsl.onboarding.openTerminal": "টার্মিনাল খুলুন", + "wsl.onboarding.path": "পথ: {{path}}", + "wsl.onboarding.notFound": "পাওয়া যায় নি", + "wsl.onboarding.version": "সংস্করণ: {{version}}", + "wsl.onboarding.unknown": "অজানা", + "wsl.onboarding.desktopVersion": "ডেস্কটপ {{version}}", + "wsl.onboarding.versionMismatch": "ইনস্টল করা সংস্করণ ডেস্কটপ অ্যাপ সংস্করণের সাথে মেলে না।", + "wsl.onboarding.adding": "যোগ করা হচ্ছে...", + "help.tabs.toast.ariaLabel": "ট্যাব চালু করা হচ্ছে। ট্যাব দিয়ে আপনার কাজ এবং সক্রিয় সেশনগুলি সংগঠিত করুন", + "help.tabs.toast.dismiss": "ট্যাব তথ্য খারিজ", + "help.tabs.title": "ট্যাব চালু করা হচ্ছে", + "help.tabs.description": "ট্যাব দিয়ে আপনার কাজ এবং সক্রিয় সেশনগুলি সংগঠিত করুন", + "help.tabs.date": "14 জুলাই", + "help.tabs.introduction": "OpenCode ডেস্কটপ এখন ট্যাবের চারপাশে তৈরি।", + "help.tabs.sessions": + "একটি ট্যাবে একটি নতুন সেশন শুরু করুন, বা আপনার যেকোনো প্রকল্প থেকে একটি বিদ্যমান সেশন খুলুন৷ আপনি যখন নতুন কিছু শুরু করছেন তখন একটি নতুন ট্যাব খুলুন এবং আপনার কাজ শেষ হলে এটি বন্ধ করুন।", + "help.tabs.organize": + "কয়েকটি ট্যাব খোলা রাখলে আপনার সক্রিয় সেশনগুলি সংগঠিত করা সহজ হয়৷ ট্যাবগুলিকে স্মরণীয় কিছুতে পুনঃনামকরণ করুন যদি আপনি সেগুলিকে কাছাকাছি রাখার পরিকল্পনা করেন৷", + "help.tabs.home": + "আপনি নতুন হোম স্ক্রিনে আপনার সমস্ত সেশন এবং প্রকল্পগুলি খুঁজে পাবেন৷ একটি সেশন নির্বাচন করা এটি একটি ট্যাবে খোলে।", + "help.tabs.persistence": "আপনি যখন অ্যাপটি আবার খুলবেন, তখনও আপনার ট্যাবগুলি খোলা থাকবে৷", + "help.tabs.worktrees": + "নতুন ডিজাইন এখনও Git Worktrees সমর্থন করে না, এটি শীঘ্রই আসছে। সুতরাং আপনি যদি পূর্ববর্তী লেআউটটি ব্যবহার করা চালিয়ে যেতে চান তবে আপনি সেটিংসে লেআউটগুলির মধ্যে স্যুইচ করতে পারেন৷ শুধু মনে রাখবেন যে নতুন লেআউট কয়েক সপ্তাহের মধ্যে স্থায়ী হয়ে যাবে।", + "server.row.noUsername": "ব্যবহারকারীর নাম নেই", + "dialog.project.edit.title": "প্রকল্প সম্পাদনা করুন", + "dialog.project.edit.name": "নাম", + "dialog.project.edit.icon": "আইকন", + "dialog.project.edit.icon.alt": "প্রকল্প আইকন", + "dialog.project.edit.icon.hint": "একটি ছবি ক্লিক করুন বা টেনে আনুন", + "dialog.project.edit.icon.recommended": "প্রস্তাবিত: 128x128px", + "dialog.project.edit.color": "রঙ", + "dialog.project.edit.color.select": "{{color}} রঙ নির্বাচন করুন", + "dialog.project.edit.worktree.startup": "ওয়ার্কস্পেস স্টার্টআপ স্ক্রিপ্ট", + "dialog.project.edit.worktree.startup.description": "একটি নতুন ওয়ার্কস্পেস (ওয়ার্কট্রি) তৈরি করার পরে চলে।", + "dialog.project.edit.worktree.startup.placeholder": "যেমন বান ইনস্টল", + "dialog.releaseNotes.action.getStarted": "শুরু করুন", + "dialog.releaseNotes.action.next": "পরবর্তী", + "dialog.releaseNotes.action.hideFuture": "ভবিষ্যতে এগুলো দেখাবেন না", + "dialog.releaseNotes.media.alt": "রিলিজ পূর্বরূপ", + "context.breakdown.title": "প্রসঙ্গ ব্রেকডাউন", + "context.breakdown.note": 'ইনপুট টোকেনগুলির আনুমানিক ভাঙ্গন। "অন্যান্য" টুল সংজ্ঞা এবং ওভারহেড অন্তর্ভুক্ত।', + "context.breakdown.system": "সিস্টেম", + "context.breakdown.user": "ব্যবহারকারী", + "context.breakdown.assistant": "সহকারী", + "context.breakdown.tool": "টুল কল", + "context.breakdown.other": "অন্যান্য", + "context.systemPrompt.title": "সিস্টেম প্রম্পট", + "context.rawMessages.title": "কাঁচা বার্তা", + "context.export.session": "রপ্তানি সেশন", + "context.stats.session": "সেশন", + "context.stats.messages": "বার্তা", + "context.stats.provider": "প্রদানকারী", + "context.stats.model": "মডেল", + "context.stats.limit": "প্রসঙ্গ সীমা", + "context.stats.totalTokens": "মোট টোকেন", + "context.stats.usage": "ব্যবহার", + "context.stats.inputTokens": "ইনপুট টোকেন", + "context.stats.outputTokens": "আউটপুট টোকেন", + "context.stats.reasoningTokens": "রিজনিং টোকেন", + "context.stats.cacheTokens": "ক্যাশে টোকেন (পড়ুন/লিখুন)", + "context.stats.userMessages": "ব্যবহারকারীর বার্তা", + "context.stats.assistantMessages": "সহকারী বার্তা", + "context.stats.totalCost": "মোট খরচ", + "context.stats.sessionCreated": "সেশন তৈরি হয়েছে", + "context.stats.lastActivity": "শেষ কার্যকলাপ", + "context.usage.tokens": "টোকেন", + "context.usage.usage": "ব্যবহার", + "context.usage.cost": "খরচ", + "context.usage.clickToView": "প্রসঙ্গ দেখতে ক্লিক করুন", + "context.usage.view": "প্রসঙ্গ ব্যবহার দেখুন", + "language.en": "English", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Deutsch", + "language.es": "Español", + "language.fr": "Français", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "Polski", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Norsk", + "language.br": "Português (Brasil)", + "language.bs": "Bosanski", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Türkçe", + "toast.language.title": "ভাষা", + "toast.language.description": "{{language}} এ স্যুইচ করা হয়েছে", + "toast.theme.title": "থিম পরিবর্তন করা হয়েছে", + "toast.scheme.title": "রঙের স্কিম", + "toast.workspace.enabled.title": "ওয়ার্কস্পেস সক্রিয় করা হয়েছে", + "toast.workspace.enabled.description": "একাধিক ওয়ার্কট্রি এখন সাইডবারে দেখানো হয়েছে", + "toast.workspace.disabled.title": "ওয়ার্কস্পেস অক্ষম করা হয়েছে", + "toast.workspace.disabled.description": "সাইডবারে শুধুমাত্র প্রধান ওয়ার্কট্রি দেখানো হয়েছে", + "toast.permissions.autoaccept.on.title": "স্বয়ংক্রিয়ভাবে গ্রহণযোগ্য অনুমতি", + "toast.permissions.autoaccept.on.description": "অনুমতি অনুরোধ স্বয়ংক্রিয়ভাবে অনুমোদিত হবে", + "toast.permissions.autoaccept.off.title": "স্বয়ংক্রিয়ভাবে গ্রহণযোগ্য অনুমতি বন্ধ করা হয়েছে৷", + "toast.permissions.autoaccept.off.description": "অনুমতি অনুরোধ অনুমোদন প্রয়োজন হবে", + "toast.model.none.title": "কোনো মডেল নির্বাচন করা হয়নি", + "toast.model.none.description": "এই সেশনের সংক্ষিপ্ত বিবরণ দিতে একজন প্রদানকারীকে সংযুক্ত করুন", + "toast.file.loadFailed.title": "ফাইল লোড করতে ব্যর্থ হয়েছে", + "toast.file.listFailed.title": "ফাইল তালিকা করতে ব্যর্থ হয়েছে", + "toast.context.noLineSelection.title": "কোন লাইন নির্বাচন নেই", + "toast.context.noLineSelection.description": "প্রথমে একটি ফাইল ট্যাবে একটি লাইন পরিসর নির্বাচন করুন।", + "toast.session.share.copyFailed.title": "ক্লিপবোর্ডে URL অনুলিপি করতে ব্যর্থ হয়েছে৷", + "toast.session.share.success.title": "সেশন শেয়ার করা হয়েছে", + "toast.session.share.success.description": "শেয়ার করুন URL ক্লিপবোর্ডে কপি করা হয়েছে!", + "toast.session.share.failed.title": "সেশন শেয়ার করতে ব্যর্থ হয়েছে", + "toast.session.share.failed.description": "সেশন শেয়ার করার সময় একটি ত্রুটি ঘটেছে৷", + "toast.session.unshare.success.title": "সেশন শেয়ার করা বাদ দেওয়া হয়েছে", + "toast.session.unshare.success.description": "সেশন সফলভাবে মুক্ত করা হয়েছে!", + "toast.session.unshare.failed.title": "সেশন শেয়ার মুক্ত করতে ব্যর্থ হয়েছে", + "toast.session.unshare.failed.description": "সেশনটি শেয়ার না করার সময় একটি ত্রুটি ঘটেছে৷", + "toast.session.export.success.title": "সেশন এক্সপোর্ট করা হয়েছে", + "toast.session.export.success.description": "{{filename}}-এ সেশন সেভ করা হয়েছে", + "toast.session.export.failed.title": "সেশন এক্সপোর্ট করতে ব্যর্থ হয়েছে৷", + "toast.session.export.failed.description": "সেশন এক্সপোর্ট করার সময় একটি ত্রুটি ঘটেছে৷", + "toast.session.listFailed.title": "{{project}} এর জন্য সেশন লোড করতে ব্যর্থ হয়েছে৷", + "toast.project.reloadFailed.title": "{{project}} পুনরায় লোড করতে ব্যর্থ হয়েছে৷", + "toast.update.title": "আপডেট উপলব্ধ", + "toast.update.description": "OpenCode ({{version}}) এর একটি নতুন সংস্করণ এখন ইনস্টল করার জন্য উপলব্ধ৷", + "toast.update.action.installRestart": "ইনস্টল করুন এবং পুনরায় চালু করুন", + "toast.update.action.notYet": "এখনো না", + "error.page.title": "কিছু ভুল হয়েছে", + "error.page.description": "অ্যাপ্লিকেশন লোড করার সময় একটি ত্রুটি ঘটেছে৷", + "error.page.description.localServerStartup": "স্থানীয় সার্ভার শুরু করার সময় একটি ত্রুটি ঘটেছে৷", + "error.page.details.label": "ত্রুটি বিবরণ", + "error.page.action.restart": "রিস্টার্ট করুন", + "error.page.action.report": "রিপোর্ট ত্রুটি", + "error.page.action.reported": "ত্রুটি রিপোর্ট করা হয়েছে", + "error.page.action.exportLogs": "রপ্তানি লগ", + "error.page.action.checking": "পরীক্ষা করা হচ্ছে...", + "error.page.action.checkUpdates": "আপডেটের জন্য চেক করুন", + "error.page.action.updateTo": "{{version}}-এ আপডেট করুন", + "error.page.circular": "[সার্কুলার]", + "error.page.report.prefix": "অনুগ্রহ করে এই ত্রুটিটি OpenCode টিমের কাছে রিপোর্ট করুন", + "error.page.report.discord": "Discord-এ", + "error.page.version": "সংস্করণ: {{version}}", + "error.dev.rootNotFound": + "মূল উপাদান পাওয়া যায়নি. আপনি কি আপনার index.html এ যোগ করতে ভুলে গেছেন? অথবা হয়তো আইডি অ্যাট্রিবিউট ভুল বানান হয়েছে?", + "error.serverSync.connectFailed": "সার্ভারের সাথে সংযোগ করা যায়নি। `{{url}}` এ কি কোনো সার্ভার চলছে?", + "error.serverSDK.noServerAvailable": "কোন সার্ভার উপলব্ধ", + "error.serverSDK.serverNotAvailable": "সার্ভার উপলব্ধ নয়", + "error.childStore.persistedCacheCreateFailed": "স্থায়ী ক্যাশে তৈরি করতে ব্যর্থ হয়েছে৷", + "error.childStore.persistedProjectMetadataCreateFailed": "স্থায়ী প্রকল্প মেটাডেটা তৈরি করতে ব্যর্থ হয়েছে", + "error.childStore.persistedProjectIconCreateFailed": "স্থায়ী প্রকল্প আইকন তৈরি করতে ব্যর্থ হয়েছে৷", + "error.childStore.storeCreateFailed": "স্টোর তৈরি করতে ব্যর্থ হয়েছে৷", + "directory.error.invalidUrl": "URL-এ অবৈধ ডিরেক্টরি।", + "error.chain.unknown": "অজানা ত্রুটি", + "error.server.invalidConfiguration": "অবৈধ কনফিগারেশন", + "error.chain.causedBy": "দ্বারা সৃষ্ট:", + "error.chain.apiError": "API ত্রুটি", + "error.chain.status": "স্থিতি: {{status}}", + "error.chain.retryable": "পুনরায় চেষ্টা করা যায়: {{retryable}}", + "error.chain.responseBody": "প্রতিক্রিয়ার অংশ:\n{{body}}৷", + "error.chain.didYouMean": "আপনি কি বলতে চাইছেন: {{suggestions}}", + "error.chain.modelNotFound": "মডেল পাওয়া যায়নি: {{provider}}/{{model}}", + "error.chain.checkConfig": "আপনার কনফিগারেশন (opencode.json) প্রদানকারী/মডেলের নাম পরীক্ষা করুন", + "error.chain.mcpFailed": + 'MCP সার্ভার "{{name}}" ব্যর্থ হয়েছে৷ মনে রাখবেন, OpenCode এখনও MCP প্রমাণীকরণ সমর্থন করে না।', + "error.chain.providerAuthFailed": "প্রদানকারীর প্রমাণীকরণ ব্যর্থ হয়েছে ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + '"{{provider}}" প্রদানকারী শুরু করতে ব্যর্থ হয়েছে৷ শংসাপত্র এবং কনফিগারেশন চেক করুন.', + "error.chain.configJsonInvalid": "{{path}}-এ কনফিগার করা ফাইলটি বৈধ JSON(C) নয়", + "error.chain.configJsonInvalidWithMessage": "{{path}}-এ কনফিগার ফাইল বৈধ নয় JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + '{{path}}-এ "{{dir}}" ডিরেক্টরিটি বৈধ নয়৷ ডিরেক্টরিটির নাম পরিবর্তন করুন "{{suggestion}}" বা এটি সরান। এটি একটি সাধারণ টাইপো।', + "error.chain.configFrontmatterError": "{{path}} এ ফ্রন্টম্যাটার পার্স করতে ব্যর্থ হয়েছে:\n{{message}}", + "error.chain.configInvalid": "{{path}}-এ কনফিগ ফাইলটি অবৈধ", + "error.chain.configInvalidWithMessage": "{{path}}-এ কনফিগ ফাইলটি অবৈধ: {{message}}", + "notification.permission.title": "অনুমতি প্রয়োজন", + "notification.permission.description": "{{projectName}}-এ {{sessionTitle}} অনুমতি প্রয়োজন", + "notification.question.title": "প্রশ্ন", + "notification.question.description": "{{projectName}}-এ {{sessionTitle}} একটি প্রশ্ন আছে", + "notification.action.goToSession": "সেশনে যান", + "notification.session.responseReady.title": "প্রতিক্রিয়া প্রস্তুত", + "notification.session.error.title": "সেশন ত্রুটি", + "notification.session.error.fallbackDescription": "একটি ত্রুটি ঘটেছে", + "home.recentProjects": "সাম্প্রতিক প্রকল্প", + "home.empty.title": "কোন সাম্প্রতিক প্রকল্প", + "home.empty.description": "একটি স্থানীয় প্রকল্প খোলার মাধ্যমে শুরু করুন", + "home.title": "বাড়ি", + "home.projects": "প্রকল্প", + "home.project.add": "প্রকল্প যোগ করুন", + "home.recentlyClosed": "সম্প্রতি বন্ধ", + "home.server.collapse": "সার্ভার প্রকল্প সঙ্কুচিত করুন", + "home.server.expand": "সার্ভার প্রকল্প প্রসারিত", + "home.sessions.search.placeholder": "অনুসন্ধান সেশন", + "home.sessions.search.placeholder.scoped": "{{scope}}-এ অনুসন্ধান সেশন", + "home.sessions.search.sessions": "সেশন", + "home.sessions.search.noResults": "{{query}}-এর জন্য কোনো সেশন পাওয়া যায়নি", + "home.sessions.empty": "এখানে এখনও কিছুই নেই", + "home.sessions.empty.description": "শুরু করার জন্য একটি সেশন তৈরি করুন", + "home.sessions.group.today": "আজ", + "home.sessions.group.yesterday": "গতকাল", + "home.sessions.group.older": "বয়স্ক", + "home.providerTip": "Claude, GPT, Gemini, ইত্যাদি সহ অন্যান্য মডেল ব্যবহার করতে 75+ প্রদানকারীর সাথে সংযোগ করুন", + "session.tab.session": "সেশন", + "session.tab.review": "পর্যালোচনা", + "session.tab.context": "প্রসঙ্গ", + "session.tab.unknown": "অজানা সেশন", + "session.panel.reviewAndFiles": "পর্যালোচনা এবং ফাইল", + "session.error.notFound": "এই সেশন খুঁজে পাওয়া যাবে না", + "session.error.notFound.description": "এই ট্যাবটি এমন একটি সেশনের দিকে নির্দেশ করে যা এই সার্ভারে আর বিদ্যমান নেই।", + "session.error.notFound.closeTab": "ট্যাব বন্ধ করুন", + "session.error.serverConnection": "এই সার্ভারের সাথে সংযোগ করা যাচ্ছে না৷", + "session.review.filesChanged": "ফাইলগুলি পরিবর্তন করা হয়েছে {{count}}৷", + "session.review.change.one": "পরিবর্তন", + "session.review.change.other": "পরিবর্তন", + "session.review.loadingChanges": "পরিবর্তনগুলি লোড হচ্ছে...", + "session.review.empty": "এই সেশনে এখনও কোন পরিবর্তন নেই", + "session.review.noVcs": "কোন Git সংস্করণ নিয়ন্ত্রণ সিস্টেম সনাক্ত করা যায়নি, পরিবর্তনগুলি প্রদর্শিত হয় না", + "session.review.noVcs.createGit.title": "একটি Git সংগ্রহস্থল তৈরি করুন", + "session.review.noVcs.createGit.description": + "এই প্রকল্পের পরিবর্তনগুলি ট্র্যাক করুন, পর্যালোচনা করুন এবং পূর্বাবস্থায় ফেরান৷", + "session.review.noVcs.createGit.actionLoading": "Git সংগ্রহস্থল তৈরি করা হচ্ছে...", + "session.review.noVcs.createGit.action": "Git সংগ্রহস্থল তৈরি করুন", + "session.review.noSnapshot": "কনফিগারেশনে স্ন্যাপশট ট্র্যাকিং অক্ষম করা হয়েছে, তাই সেশন পরিবর্তনগুলি অনুপলব্ধ৷", + "session.review.noChanges": "কোনো পরিবর্তন নেই", + "session.review.noUncommittedChanges": "এখনও কোন অপ্রতিরোধ্য পরিবর্তন", + "session.review.noBranchChanges": "এখনো কোনো শাখা পরিবর্তন হয়নি", + "session.files.selectToOpen": "খুলতে একটি ফাইল নির্বাচন করুন", + "session.files.all": "সমস্ত ফাইল", + "session.files.empty": "কোনো ফাইল নেই", + "session.files.binaryContent": "বাইনারি ফাইল (সামগ্রী প্রদর্শন করা যাবে না)", + "session.messages.renderEarlier": "আগের বার্তা রেন্ডার করুন", + "session.messages.loadingEarlier": "আগের বার্তা লোড হচ্ছে...", + "session.messages.loadEarlier": "আগের বার্তা লোড করুন", + "session.messages.loading": "বার্তা লোড হচ্ছে...", + "session.messages.jumpToLatest": "সর্বশেষে ঝাঁপ দাও", + "session.context.addToContext": "প্রসঙ্গে {{selection}} যোগ করুন", + "session.todo.title": "টোডোস", + "session.todo.collapse": "সঙ্কুচিত", + "session.todo.expand": "প্রসারিত করুন", + "session.todo.progress": "{{done}} এর মধ্যে {{total}} todos সম্পন্ন হয়েছে", + "session.question.progress": "{{total}} প্রশ্নের {{current}}", + "session.question.minimize": "প্রশ্ন ছোট করুন", + "session.question.restore": "প্রশ্ন পুনরুদ্ধার করুন", + "session.question.pending.one": "{{count}} মুলতুবি প্রশ্ন", + "session.question.pending.other": "{{count}} মুলতুবি প্রশ্ন", + "session.followupDock.summary.one": "{{count}} সারিবদ্ধ বার্তা", + "session.followupDock.summary.other": "{{count}} সারিবদ্ধ বার্তা", + "session.followupDock.sendNow": "এখন পাঠান", + "session.followupDock.edit": "সম্পাদনা করুন", + "session.followupDock.collapse": "সারিবদ্ধ বার্তাগুলি সঙ্কুচিত করুন৷", + "session.followupDock.expand": "সারিবদ্ধ বার্তাগুলি প্রসারিত করুন", + "session.revertDock.summary.one": "{{count}} রোল ব্যাক বার্তা৷", + "session.revertDock.summary.other": "{{count}} রোল ব্যাক বার্তা", + "session.revertDock.collapse": "রোল ব্যাক বার্তাগুলিকে আড়াল করুন৷", + "session.revertDock.expand": "রোল ব্যাক বার্তা প্রসারিত করুন", + "session.revertDock.restore": "বার্তা পুনরুদ্ধার করুন", + "session.new.title": "যে কোনো কিছু তৈরি করুন", + "session.new.project.new": "নতুন প্রকল্প", + "session.new.project.search": "অনুসন্ধান প্রকল্প", + "session.new.project.add": "প্রকল্প যোগ করুন", + "session.new.worktree.main": "প্রধান শাখা", + "session.new.worktree.mainWithBranch": "প্রধান শাখা ({{branch}})", + "session.new.worktree.create": "নতুন ওয়ার্কট্রি তৈরি করুন", + "session.new.workspace.runIn": "সেশন চালান", + "session.new.workspace.triggerLocal": "স্থানীয়", + "session.new.workspace.local": "স্থানীয় সংগ্রহস্থল", + "session.new.workspace.existing": "ওয়ার্কস্পেস…", + "session.new.git.none": "না Git", + "session.new.lastModified": "সর্বশেষ সংশোধন করা হয়েছে", + "session.header.search.placeholder": "অনুসন্ধান করুন {{project}}", + "session.header.searchFiles": "ফাইল অনুসন্ধান করুন", + "session.header.openIn": "খুলুন", + "session.header.open.action": "{{app}} খুলুন", + "session.header.open.ariaLabel": "{{app}}-এ খুলুন", + "session.header.open.menu": "অপশন খুলুন", + "session.header.open.copyPath": "পাথ কপি করুন", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "File Explorer", + "session.header.open.fileManager": "File Manager", + "session.header.reveal.finder": "Finder-এ প্রকাশ করুন", + "session.header.reveal.fileExplorer": "File Explorer-এ প্রকাশ করুন", + "session.header.reveal.containingFolder": "ফোল্ডার ধারণকারী খুলুন", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "টার্মিনাল", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "স্ট্যাটাস", + "status.popover.ariaLabel": "সার্ভার কনফিগারেশন", + "status.popover.tab.servers": "সার্ভার", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "প্লাগইন", + "status.popover.action.manageServers": "সার্ভার পরিচালনা করুন", + "session.share.popover.title": "ওয়েবে প্রকাশ করুন", + "session.share.popover.description.shared": "এই সেশনটি ওয়েবে সর্বজনীন। এটি লিঙ্ক সহ যে কেউ অ্যাক্সেসযোগ্য।", + "session.share.popover.description.unshared": + "ওয়েবে সর্বজনীনভাবে সেশন শেয়ার করুন। এটি লিঙ্ক সহ যে কেউ অ্যাক্সেসযোগ্য হবে।", + "session.share.action.share": "শেয়ার করুন", + "session.share.action.publish": "প্রকাশ করুন", + "session.share.action.publishing": "প্রকাশ করা হচ্ছে...", + "session.share.action.unpublish": "অপ্রকাশিত করুন", + "session.share.action.unpublishing": "অপ্রকাশিত হচ্ছে...", + "session.share.action.view": "দেখুন", + "session.share.copy.copied": "কপি করা হয়েছে", + "session.share.copy.copyLink": "লিঙ্ক কপি করুন", + "lsp.tooltip.none": "কোনো LSP সার্ভার নেই", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "প্রম্পট লোড হচ্ছে...", + "terminal.loading": "টার্মিনাল লোড হচ্ছে...", + "terminal.title": "টার্মিনাল", + "terminal.title.numbered": "টার্মিনাল {{number}}", + "terminal.close": "টার্মিনাল বন্ধ করুন", + "terminal.connectionLost.title": "সংযোগ হারিয়েছে", + "terminal.connectionLost.abnormalClose": "WebSocket অস্বাভাবিকভাবে বন্ধ: {{code}}", + "terminal.connectionLost.description": "টার্মিনাল সংযোগ বিঘ্নিত হয়েছে। সার্ভার পুনরায় চালু হলে এটি ঘটতে পারে।", + "terminal.connectTicket.csrfError": + "PTY সংযোগ টিকিট মূল বা CSRF চেক দ্বারা প্রত্যাখ্যাত। সার্ভার CORS কনফিগারেশন চেক করুন।", + "terminal.connectTicket.statusError": "{{status}}-এর সাথে PTY সংযোগ টিকিট ব্যর্থ হয়েছে", + "titlebar.update": "আপডেট", + "titlebar.updateVersion": "{{version}} আপডেট করুন", + "common.closeTab": "ট্যাব বন্ধ করুন", + "common.dismiss": "খারিজ", + "common.moreCountSuffix": "(+{{count}} আরো)", + "common.requestFailed": "অনুরোধ ব্যর্থ হয়েছে", + "common.moreOptions": "আরও বিকল্প", + "common.learnMore": "আরও জানুন", + "common.rename": "নাম পরিবর্তন করুন", + "common.export": "রপ্তানি", + "common.reset": "রিসেট করুন", + "common.archive": "সংরক্ষণাগার", + "common.delete": "মুছে দিন", + "common.close": "বন্ধ", + "common.edit": "সম্পাদনা করুন", + "common.loadMore": "আরো লোড", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "অজানা", + "common.time.justNow": "এইমাত্র", + "common.time.minutesAgo.short": "{{count}}মি আগে", + "common.time.hoursAgo.short": "{{count}}ঘণ্টা আগে", + "common.time.daysAgo.short": "{{count}}দিন আগে", + "sidebar.menu.toggle": "মেনু টগল করুন", + "sidebar.nav.projectsAndSessions": "প্রকল্প এবং সেশন", + "sidebar.settings": "সেটিংস", + "sidebar.help": "সাহায্য", + "sidebar.workspaces.enable": "ওয়ার্কস্পেস সক্রিয় করুন", + "sidebar.workspaces.disable": "ওয়ার্কস্পেস অক্ষম করুন", + "sidebar.gettingStarted.title": "শুরু হচ্ছে", + "sidebar.gettingStarted.line1": "OpenCode বিনামূল্যে মডেল অন্তর্ভুক্ত করে যাতে আপনি অবিলম্বে শুরু করতে পারেন।", + "sidebar.gettingStarted.line2": + "মডেল, inc ব্যবহার করতে যেকোনো প্রদানকারীকে সংযুক্ত করুন। Claude, GPT, Gemini ইত্যাদি।", + "sidebar.project.recentSessions": "সাম্প্রতিক সেশন", + "sidebar.project.viewAllSessions": "সব সেশন দেখুন", + "sidebar.project.clearNotifications": "বিজ্ঞপ্তিগুলি সাফ করুন", + "sidebar.empty.title": "কোনো প্রকল্প খোলা নেই", + "sidebar.empty.description": "শুরু করতে একটি প্রকল্প খুলুন", + "debugBar.ariaLabel": "উন্নয়ন কর্মক্ষমতা ডায়গনিস্টিক", + "debugBar.na": "n/a", + "debugBar.nav.label": "এনএভি", + "debugBar.nav.tip": + "একটি সেশন পৃষ্ঠা স্পর্শ করে শেষ সম্পন্ন রুট ট্রানজিশন, রাউটার শুরু থেকে এটি স্থির হওয়ার পরে প্রথম পেইন্ট পর্যন্ত পরিমাপ করা হয়।", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "শেষ 5 সেকেন্ডে প্রতি সেকেন্ডে ঘূর্ণায়মান ফ্রেম।", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "গত 5 সেকেন্ডের মধ্যে সবচেয়ে খারাপ ফ্রেম সময়।", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "শেষ 5 সেকেন্ডে 32ms এর বেশি ফ্রেম।", + "debugBar.long.label": "LONG", + "debugBar.long.tip": "শেষ 5 সেকেন্ডে অবরুদ্ধ সময় এবং দীর্ঘ-টাস্ক গণনা। সর্বোচ্চ টাস্ক: {{max}}।", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "গত 5 সেকেন্ডের মধ্যে সবচেয়ে খারাপ পর্যবেক্ষণ করা ইনপুট বিলম্ব।", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": "শেষ 5 সেকেন্ডে আনুমানিক মিথস্ক্রিয়া সময়কাল। এটি INP-এর মতো, অফিসিয়াল ওয়েব ভাইটাল INP নয়।", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "বর্তমান অ্যাপের জীবনকালের জন্য ক্রমবর্ধমান বিন্যাস স্থানান্তর।", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "ব্যবহৃত JS হিপ বনাম হিপ সীমা। শুধুমাত্র Chromium।", + "debugBar.mem.tip": "ব্যবহৃত JS হিপ বনাম হিপ সীমা। {{limit}}-এর {{used}}৷", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "সমস্ত ইন্টারেক্টিভ উপাদানের উপর ফোকাস শৈলী জোর করুন", + "debugBar.focus.on": "চালু", + "debugBar.focus.off": "বন্ধ", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "নির্বাচিত ভাষা পরিবর্তন না করে সম্পূর্ণ অ্যাপ লেআউটের দিকনির্দেশ জোর করে", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode ডেস্কটপ", + "settings.section.desktop": "ডেস্কটপ", + "settings.section.server": "সার্ভার", + "settings.tab.general": "সাধারণ", + "settings.tab.shortcuts": "শর্টকাট", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "WSL ইন্টিগ্রেশন", + "settings.desktop.wsl.description": "Windows-এ WSL-এর ভিতরে OpenCode সার্ভার চালান।", + "settings.general.section.appearance": "চেহারা", + "settings.general.section.advanced": "উন্নত", + "settings.general.section.notifications": "সিস্টেম বিজ্ঞপ্তি", + "settings.general.section.updates": "আপডেট", + "settings.general.section.sounds": "শব্দ প্রভাব", + "settings.general.section.feed": "খাওয়ান", + "settings.general.section.display": "প্রদর্শন", + "settings.general.row.language.title": "ভাষা", + "settings.general.row.language.description": "OpenCode-এর জন্য প্রদর্শনের ভাষা পরিবর্তন করুন", + "settings.general.row.shell.title": "টার্মিনাল শেল", + "settings.general.row.shell.description": "টার্মিনাল এবং এজেন্ট সরঞ্জাম দ্বারা ব্যবহৃত শেল", + "settings.general.row.shell.autoDefault": "স্বয়ংক্রিয় (ডিফল্ট)", + "settings.general.row.shell.terminalOnly": "শুধুমাত্র টার্মিনাল", + "settings.general.row.appearance.title": "চেহারা", + "settings.general.row.appearance.description": "আপনার ডিভাইসে OpenCode কেমন দেখায় তা কাস্টমাইজ করুন", + "settings.general.row.colorScheme.title": "রঙের স্কিম", + "settings.general.row.colorScheme.description": "OpenCode সিস্টেম, হালকা বা অন্ধকার থিম অনুসরণ করে কিনা তা বেছে নিন", + "settings.general.row.theme.title": "থিম", + "settings.general.row.theme.description": "কিভাবে OpenCode থিম করা হয় তা কাস্টমাইজ করুন।", + "settings.general.row.font.title": "কোড ফন্ট", + "settings.general.row.font.description": "কোড ব্লকে ব্যবহৃত ফন্ট কাস্টমাইজ করুন", + "settings.general.row.terminalFont.title": "টার্মিনাল ফন্ট", + "settings.general.row.terminalFont.description": "টার্মিনালে ব্যবহৃত ফন্টটি কাস্টমাইজ করুন", + "settings.general.row.uiFont.title": "UI ফন্ট", + "settings.general.row.uiFont.description": "ইন্টারফেস জুড়ে ব্যবহৃত ফন্ট কাস্টমাইজ করুন", + "settings.general.row.followup.title": "ফলো-আপ আচরণ", + "settings.general.row.followup.description": "ফলো-আপ প্রম্পট অবিলম্বে বাছা বা একটি সারিতে অপেক্ষা করুন চয়ন করুন", + "settings.general.row.followup.option.queue": "সারি", + "settings.general.row.followup.option.steer": "বাহা", + "settings.general.row.showFileTree.title": "ফাইল গাছ", + "settings.general.row.showFileTree.description": "সেশনে ফাইল ট্রি প্যানেল দেখান", + "settings.general.row.showNavigation.title": "নেভিগেশন নিয়ন্ত্রণ", + "settings.general.row.showNavigation.description": "ডেস্কটপ শিরোনাম বারে পিছনে এবং এগিয়ে বোতামগুলি দেখান৷", + "settings.general.row.showSearch.title": "কমান্ড প্যালেট", + "settings.general.row.showSearch.description": "টাইটেল বারে অনুসন্ধান এবং কমান্ড প্যালেট বোতামটি দেখান", + "settings.general.row.showTerminal.title": "টার্মিনাল", + "settings.general.row.showTerminal.description": "ডেস্কটপ শিরোনাম বারে টার্মিনাল বোতামটি দেখান", + "settings.general.row.showStatus.title": "সার্ভারের অবস্থা", + "settings.general.row.showStatus.description": "টাইটেল বারে সার্ভার স্ট্যাটাস বোতামটি দেখান", + "settings.general.row.mobileTitlebarBottom.title": "নীচের নেভিগেশন", + "settings.general.row.mobileTitlebarBottom.description": + "মোবাইলে স্ক্রিনের নীচে শিরোনাম বার এবং সেশন ট্যাবগুলি রাখুন৷", + "settings.general.row.showCustomAgents.title": "এজেন্ট দেখান", + "settings.general.row.showCustomAgents.description": + "কম্পোজারে এজেন্টদের মধ্যে স্যুইচ করুন। লুকানো হলে, বিল্ড এজেন্টে ডিফল্ট।", + "settings.general.row.reasoningSummaries.title": "যুক্তির সারাংশ দেখান", + "settings.general.row.reasoningSummaries.description": "টাইমলাইনে মডেল যুক্তির সারাংশ প্রদর্শন করুন", + "settings.general.row.shellToolPartsExpanded.title": "শেল টুল অংশ প্রসারিত", + "settings.general.row.shellToolPartsExpanded.description": "টাইমলাইনে ডিফল্টরূপে প্রসারিত শেল টুল অংশগুলি দেখান", + "settings.general.row.editToolPartsExpanded.title": "সম্পাদনা টুল অংশ প্রসারিত করুন", + "settings.general.row.editToolPartsExpanded.description": + "টাইমলাইনে ডিফল্টরূপে প্রসারিত সম্পাদনা, লিখুন এবং প্যাচ টুল অংশগুলি দেখান৷", + "settings.general.row.newInterface.title": "নতুন লেআউট", + "settings.general.row.newInterface.badge": "নতুন", + "settings.general.row.newInterface.description": + "নতুন ট্যাব এবং হোম লেআউট ব্যবহার করুন. একটি সীমিত সময়ের জন্য লেআউটগুলির মধ্যে স্যুইচ করুন৷", + "settings.general.row.newInterfaceNotice.title": "আপনি এখন নতুন লেআউট ব্যবহার করছেন", + "settings.general.row.newInterfaceNotice.description": "আগের লেআউট আর উপলব্ধ নেই৷", + "settings.general.row.newInterfaceNotice.dismiss": "খারিজ", + "settings.general.row.pinchZoom.title": "জুম করতে চিমটি করুন", + "settings.general.row.pinchZoom.description": "ট্র্যাকপ্যাড পিঞ্চ এবং Ctrl - স্ক্রোল অঙ্গভঙ্গি জুম করার অনুমতি দিন", + "settings.general.row.wayland.title": "স্থানীয় Wayland ব্যবহার করুন", + "settings.general.row.wayland.description": "Wayland-এ X11 ফলব্যাক অক্ষম করুন। পুনরায় চালু করা প্রয়োজন।", + "settings.general.row.wayland.tooltip": "মিশ্র রিফ্রেশ-রেট মনিটর সহ Linux এ, নেটিভ Wayland আরও স্থিতিশীল হতে পারে।", + "settings.general.row.releaseNotes.title": "রিলিজ নোট", + "settings.general.row.releaseNotes.description": "আপডেটের পর নতুন কি পপআপ দেখান", + "settings.updates.row.startup.title": "স্টার্টআপে আপডেটের জন্য চেক করুন", + "settings.updates.row.startup.description": "OpenCode চালু হলে স্বয়ংক্রিয়ভাবে আপডেটের জন্য চেক করুন", + "settings.updates.row.check.title": "আপডেটের জন্য চেক করুন", + "settings.updates.row.check.description": "আপডেটের জন্য ম্যানুয়ালি পরীক্ষা করুন এবং উপলব্ধ থাকলে ইনস্টল করুন", + "settings.updates.action.checkNow": "এখন পরীক্ষা করুন", + "settings.updates.action.checking": "পরীক্ষা করা হচ্ছে...", + "settings.updates.action.downloading": "ডাউনলোড হচ্ছে...", + "settings.updates.action.installing": "ইনস্টল করা হচ্ছে...", + "settings.updates.toast.latest.title": "আপনি আপ টু ডেট", + "settings.updates.toast.latest.description": "আপনি OpenCode এর সর্বশেষ সংস্করণ চালাচ্ছেন।", + "sound.option.none": "কোনোটিই নয়", + "sound.option.alert01": "Alert 01", + "sound.option.alert02": "Alert 02", + "sound.option.alert03": "Alert 03", + "sound.option.alert04": "Alert 04", + "sound.option.alert05": "Alert 05", + "sound.option.alert06": "Alert 06", + "sound.option.alert07": "Alert 07", + "sound.option.alert08": "Alert 08", + "sound.option.alert09": "Alert 09", + "sound.option.alert10": "Alert 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "Nope 01", + "sound.option.nope02": "Nope 02", + "sound.option.nope03": "Nope 03", + "sound.option.nope04": "Nope 04", + "sound.option.nope05": "Nope 05", + "sound.option.nope06": "Nope 06", + "sound.option.nope07": "Nope 07", + "sound.option.nope08": "Nope 08", + "sound.option.nope09": "Nope 09", + "sound.option.nope10": "Nope 10", + "sound.option.nope11": "Nope 11", + "sound.option.nope12": "Nope 12", + "sound.option.yup01": "Yup 01", + "sound.option.yup02": "Yup 02", + "sound.option.yup03": "Yup 03", + "sound.option.yup04": "Yup 04", + "sound.option.yup05": "Yup 05", + "sound.option.yup06": "Yup 06", + "settings.general.notifications.agent.title": "এজেন্ট", + "settings.general.notifications.agent.description": + "এজেন্ট সম্পূর্ণ হলে বা মনোযোগের প্রয়োজন হলে সিস্টেম বিজ্ঞপ্তি দেখান", + "settings.general.notifications.permissions.title": "অনুমতি", + "settings.general.notifications.permissions.description": "একটি অনুমতি প্রয়োজন হলে সিস্টেম বিজ্ঞপ্তি দেখান", + "settings.general.notifications.errors.title": "ত্রুটি", + "settings.general.notifications.errors.description": "একটি ত্রুটি ঘটলে সিস্টেম বিজ্ঞপ্তি দেখান", + "settings.general.sounds.agent.title": "এজেন্ট", + "settings.general.sounds.agent.description": "এজেন্ট সম্পূর্ণ হলে বা মনোযোগের প্রয়োজন হলে শব্দ বাজান", + "settings.general.sounds.permissions.title": "অনুমতি", + "settings.general.sounds.permissions.description": "অনুমতির প্রয়োজন হলে শব্দ বাজান", + "settings.general.sounds.errors.title": "ত্রুটি", + "settings.general.sounds.errors.description": "একটি ত্রুটি ঘটলে শব্দ বাজান", + "settings.shortcuts.title": "কীবোর্ড শর্টকাট", + "settings.shortcuts.reset.button": "ডিফল্টে রিসেট করুন", + "settings.shortcuts.reset.toast.title": "শর্টকাট রিসেট", + "settings.shortcuts.reset.toast.description": "কীবোর্ড শর্টকাটগুলি ডিফল্টে রিসেট করা হয়েছে৷", + "settings.shortcuts.conflict.title": "শর্টকাট ইতিমধ্যেই ব্যবহার করা হচ্ছে৷", + "settings.shortcuts.conflict.description": "{{keybind}} ইতিমধ্যেই {{titles}} এ বরাদ্দ করা হয়েছে৷", + "settings.shortcuts.unassigned": "আনঅ্যাসাইন করা হয়েছে", + "settings.shortcuts.pressKeys": "কী টিপুন", + "settings.shortcuts.search.placeholder": "শর্টকাট অনুসন্ধান করুন", + "settings.shortcuts.search.empty": "কোন শর্টকাট পাওয়া যায়নি", + "settings.shortcuts.group.general": "সাধারণ", + "settings.shortcuts.group.session": "সেশন", + "settings.shortcuts.group.navigation": "নেভিগেশন", + "settings.shortcuts.group.modelAndAgent": "মডেল এবং এজেন্ট", + "settings.shortcuts.group.terminal": "টার্মিনাল", + "settings.shortcuts.group.prompt": "প্রম্পট", + "settings.providers.title": "প্রদানকারী", + "settings.providers.description": "প্রদানকারী সেটিংস এখানে কনফিগারযোগ্য হবে।", + "settings.providers.section.connected": "সংযুক্ত প্রদানকারী", + "settings.providers.connected.empty": "কোন সংযুক্ত প্রদানকারী", + "settings.providers.connected.environmentDescription": "আপনার পরিবেশ ভেরিয়েবল থেকে সংযুক্ত", + "settings.providers.section.popular": "জনপ্রিয় প্রদানকারী", + "settings.providers.custom.description": "বেস URL দ্বারা একটি OpenAI-সামঞ্জস্যপূর্ণ প্রদানকারী যোগ করুন।", + "settings.providers.tag.environment": "পরিবেশ", + "settings.providers.tag.config": "কনফিগার", + "settings.providers.tag.custom": "কাস্টম", + "settings.providers.tag.other": "অন্যান্য", + "settings.models.title": "মডেল", + "settings.models.description": "মডেল সেটিংস এখানে কনফিগারযোগ্য হবে।", + "settings.agents.title": "এজেন্ট", + "settings.agents.description": "এজেন্ট সেটিংস এখানে কনফিগারযোগ্য হবে।", + "settings.commands.title": "কমান্ড", + "settings.commands.description": "কমান্ড সেটিংস এখানে কনফিগারযোগ্য হবে।", + "settings.mcp.title": "MCP", + "settings.mcp.description": "MCP সেটিংস এখানে কনফিগার করা যাবে।", + "settings.permissions.title": "অনুমতি", + "settings.permissions.description": "সার্ভার ডিফল্টরূপে কোন সরঞ্জামগুলি ব্যবহার করতে পারে তা নিয়ন্ত্রণ করুন।", + "settings.permissions.section.tools": "টুলস", + "settings.permissions.toast.updateFailed.title": "অনুমতি আপডেট করতে ব্যর্থ হয়েছে", + "settings.permissions.action.allow": "অনুমতি দিন", + "settings.permissions.action.ask": "জিজ্ঞাসা করুন", + "settings.permissions.action.deny": "অস্বীকার করুন", + "settings.permissions.tool.read.title": "পড়ুন", + "settings.permissions.tool.read.description": "একটি ফাইল পড়া (ফাইল পাথ মেলে)", + "settings.permissions.tool.edit.title": "সম্পাদনা করুন", + "settings.permissions.tool.edit.description": "সম্পাদনা, লেখা এবং প্যাচ সহ ফাইলগুলি পরিবর্তন করুন", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "গ্লোব প্যাটার্ন ব্যবহার করে ফাইল মেলে", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "রেগুলার এক্সপ্রেশন ব্যবহার করে ফাইলের বিষয়বস্তু অনুসন্ধান করুন", + "settings.permissions.tool.list.title": "তালিকা", + "settings.permissions.tool.list.description": "একটি ডিরেক্টরির মধ্যে ফাইল তালিকা", + "settings.permissions.tool.bash.title": "Bash", + "settings.permissions.tool.bash.description": "শেল কমান্ড চালান", + "settings.permissions.tool.task.title": "টাস্ক", + "settings.permissions.tool.task.description": "সাব-এজেন্ট চালু করুন", + "settings.permissions.tool.skill.title": "দক্ষতা", + "settings.permissions.tool.skill.description": "নাম দ্বারা একটি দক্ষতা লোড", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "ভাষা সার্ভার প্রশ্ন চালান", + "settings.permissions.tool.todowrite.title": "Todo Write", + "settings.permissions.tool.todowrite.description": "করণীয় তালিকা আপডেট করুন", + "settings.permissions.tool.webfetch.title": "Web Fetch", + "settings.permissions.tool.webfetch.description": "একটি URL থেকে সামগ্রী আনুন", + "settings.permissions.tool.websearch.title": "Web Search", + "settings.permissions.tool.websearch.description": "ওয়েব অনুসন্ধান করুন", + "settings.permissions.tool.external_directory.title": "বাহ্যিক ডিরেক্টরি", + "settings.permissions.tool.external_directory.description": "প্রকল্প ডিরেক্টরির বাইরে ফাইল অ্যাক্সেস করুন", + "settings.permissions.tool.doom_loop.title": "Doom Loop", + "settings.permissions.tool.doom_loop.description": "অভিন্ন ইনপুট সহ বারবার টুল কল সনাক্ত করুন", + "session.delete.failed.title": "সেশন মুছে ফেলতে ব্যর্থ হয়েছে৷", + "session.delete.title": "সেশন মুছুন", + "session.delete.confirm": 'সেশন "{{name}}" মুছবেন?', + "session.delete.button": "সেশন মুছুন", + "workspace.new": "নতুন ওয়ার্কস্পেস", + "workspace.type.local": "স্থানীয়", + "workspace.type.sandbox": "স্যান্ডবক্স", + "workspace.create.failed.title": "ওয়ার্কস্পেস তৈরি করতে ব্যর্থ হয়েছে৷", + "workspace.delete.failed.title": "ওয়ার্কস্পেস মুছে ফেলতে ব্যর্থ হয়েছে৷", + "workspace.resetting.title": "ওয়ার্কস্পেস রিসেট করা হচ্ছে", + "workspace.resetting.description": "এতে এক মিনিট সময় লাগতে পারে।", + "workspace.reset.failed.title": "ওয়ার্কস্পেস রিসেট করতে ব্যর্থ হয়েছে৷", + "workspace.reset.success.title": "ওয়ার্কস্পেস রিসেট", + "workspace.reset.success.description": "ওয়ার্কস্পেস এখন ডিফল্ট শাখার সাথে মেলে।", + "workspace.error.stillPreparing": "ওয়ার্কস্পেস এখনও প্রস্তুত করা হয়", + "workspace.status.checking": "একত্রিত না হওয়া পরিবর্তনগুলি পরীক্ষা করা হচ্ছে...", + "workspace.status.error": "গিট স্ট্যাটাস যাচাই করতে অক্ষম।", + "workspace.status.clean": "কোনো একীভূত পরিবর্তন সনাক্ত করা যায়নি.", + "workspace.status.dirty": "এই ওয়ার্কস্পেসে একত্রিত না হওয়া পরিবর্তন শনাক্ত করা হয়েছে।", + "workspace.delete.title": "ওয়ার্কস্পেস মুছুন", + "workspace.delete.confirm": 'ওয়ার্কস্পেস "{{name}}" মুছবেন?', + "workspace.delete.button": "ওয়ার্কস্পেস মুছুন", + "workspace.reset.title": "ওয়ার্কস্পেস রিসেট করুন", + "workspace.reset.confirm": 'ওয়ার্কস্পেস "{{name}}" রিসেট করবেন?', + "workspace.reset.button": "ওয়ার্কস্পেস রিসেট করুন", + "workspace.reset.archived.none": "কোনো সক্রিয় সেশন সংরক্ষণাগারভুক্ত করা হবে না.", + "workspace.reset.archived.one": "1 সেশন আর্কাইভ করা হবে.", + "workspace.reset.archived.many": "{{count}} সেশন আর্কাইভ করা হবে।", + "workspace.reset.note": "এটি ডিফল্ট শাখার সাথে মেলে ওয়ার্কস্পেস রিসেট করবে।", + "dialog.usageExceeded.dontShowAgain": "আবার দেখাবেন না", +} diff --git a/packages/app/src/i18n/br.ts b/packages/app/src/i18n/br.ts index f6e5d8df9df3..09da845ccb53 100644 --- a/packages/app/src/i18n/br.ts +++ b/packages/app/src/i18n/br.ts @@ -1,4 +1,104 @@ export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Arquivo", + "desktop.menu.edit": "Editar", + "desktop.menu.view": "Visualizar", + "desktop.menu.go": "Ir", + "desktop.menu.window": "Janela", + "desktop.menu.help": "Ajuda", + "desktop.menu.checkForUpdates": "Verificar atualizações...", + "desktop.menu.settings": "Configurações", + "desktop.menu.reloadWebview": "Recarregar WebView", + "desktop.menu.restart": "Reiniciar", + "desktop.menu.exportLogs": "Exportar logs...", + "desktop.menu.newSession": "Nova sessão", + "desktop.menu.openProject": "Abrir projeto...", + "desktop.menu.newWindow": "Nova janela", + "desktop.menu.closeWindow": "Fechar janela", + "desktop.menu.undo": "Desfazer", + "desktop.menu.redo": "Refazer", + "desktop.menu.cut": "Recortar", + "desktop.menu.copy": "Copiar", + "desktop.menu.paste": "Colar", + "desktop.menu.delete": "Excluir", + "desktop.menu.selectAll": "Selecionar tudo", + "desktop.menu.toggleSidebar": "Alternar barra lateral", + "desktop.menu.toggleTerminal": "Alternar terminal", + "desktop.menu.toggleFileTree": "Alternar árvore de arquivos", + "desktop.menu.reload": "Recarregar", + "desktop.menu.toggleDeveloperTools": "Alternar ferramentas de desenvolvedor", + "desktop.menu.actualSize": "Tamanho real", + "desktop.menu.zoomIn": "Ampliar", + "desktop.menu.zoomOut": "Reduzir", + "desktop.menu.toggleFullScreen": "Alternar tela inteira", + "desktop.menu.back": "Voltar", + "desktop.menu.forward": "Avançar", + "desktop.menu.previousSession": "Sessão anterior", + "desktop.menu.nextSession": "Próxima sessão", + "desktop.menu.previousProject": "Projeto anterior", + "desktop.menu.nextProject": "Próximo projeto", + "desktop.menu.minimize": "Minimizar", + "desktop.menu.maximize": "Maximizar", + "desktop.menu.documentation": "Documentação do OpenCode", + "desktop.menu.supportForum": "Fórum de suporte", + "desktop.menu.shareFeedback": "Enviar comentários", + "desktop.menu.reportBug": "Relatar um bug", + "desktop.menu.ariaLabel": "Menu do OpenCode", + + "desktop.updater.dialog.checkFailed.message": "Falha ao verificar atualizações.", + "desktop.updater.dialog.checkFailed.title": "Erro de atualização", + "desktop.updater.dialog.upToDate.message": "Você está em dia.", + "desktop.updater.dialog.upToDate.title": "Nenhuma atualização", + "desktop.updater.dialog.ready.message": "A atualização {{version}} foi baixada. Deseja reiniciar agora?", + "desktop.updater.dialog.ready.title": "Atualização pronta", + "desktop.updater.dialog.restart": "Reiniciar", + "desktop.updater.dialog.later": "Mais tarde", + + "desktop.recovery.action.relaunch": "Reabrir", + "desktop.recovery.action.exportLogs": "Exportar logs", + "desktop.recovery.action.keepWaiting": "Continuar aguardando", + "desktop.recovery.action.quit": "Encerrar", + "desktop.recovery.loadFailed": "Falha ao carregar o OpenCode", + "desktop.recovery.terminated": "A janela do OpenCode foi encerrada inesperadamente", + "desktop.recovery.unresponsive": "O OpenCode não está respondendo", + "desktop.recovery.unresponsive.detail": "Você pode reabrir o aplicativo, abrir os logs ou continuar aguardando.", + "desktop.recovery.loadFailed.detail": "Janela: {{window}}\nURL: {{url}}\nErro: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Janela: {{window}}\nMotivo: {{reason}}\nCódigo: {{code}}", + "desktop.recovery.unknown": "", + + "desktop.dialog.chooseFolder": "Escolher uma pasta", + "desktop.dialog.chooseFile": "Escolher um arquivo", + "desktop.dialog.saveFile": "Salvar arquivo", + "desktop.dialog.files": "Arquivos", + "desktop.server.local": "Servidor local", + + "desktop.wsl.error.windowsOnly": "O WSL está disponível somente no Windows", + "desktop.wsl.error.unavailable": "O WSL está indisponível", + "desktop.wsl.error.listInstalled": "Falha ao listar as distribuições WSL instaladas", + "desktop.wsl.error.listOnline": "Falha ao listar as distribuições WSL disponíveis online", + "desktop.wsl.error.executeDistro": "Não é possível executar comandos na distribuição", + "desktop.wsl.error.installWsl": "Falha na instalação do WSL", + "desktop.wsl.error.installDistro": "Falha ao instalar a distribuição: {{distro}}", + "desktop.wsl.error.installOpencode": "Falha na instalação do OpenCode", + "desktop.wsl.error.alreadyAdded": "{{distro}} já foi adicionada", + "desktop.wsl.error.opencodeMissing": "O opencode não está instalado nesta distribuição", + "desktop.wsl.error.opencodeCannotRun": "O opencode está instalado, mas não pôde ser executado", + "desktop.wsl.error.opencodeNotInstalled": "O OpenCode não está instalado em {{distro}}", + "desktop.wsl.error.updateVersion": + "A atualização do OpenCode foi concluída, mas {{distro}} ainda informa a versão {{installed}}; a versão esperada é {{expected}}", + "desktop.wsl.error.noVersion": "sem versão", + "desktop.wsl.error.serverExited": + "O servidor WSL foi encerrado após a inicialização (código={{code}} sinal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "O servidor WSL foi encerrado antes de ficar íntegro (código={{code}} sinal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": + "O tempo limite da verificação de integridade do sidecar de {{distro}} foi excedido após {{timeout}}ms", + "desktop.wsl.error.commandTimeout": "O tempo limite de {{command}} {{args}} foi excedido após {{timeout}}ms", + "desktop.wsl.error.failedPort": "Falha ao obter a porta", + + "desktop.picker.error.notSelected": "O arquivo não foi selecionado pelo seletor", + "desktop.picker.error.sizeLimit": "Os anexos selecionados excedem o limite de {{limit}} MB", + "command.category.suggested": "Sugerido", "command.category.view": "Visualizar", "command.category.project": "Projeto", @@ -16,6 +116,7 @@ export const dict = { "command.category.permissions": "Permissões", "command.category.workspace": "Espaço de trabalho", "command.category.settings": "Configurações", + "command.logs.export": "Exportar logs", "theme.scheme.system": "Sistema", "theme.scheme.light": "Claro", "theme.scheme.dark": "Escuro", @@ -85,6 +186,9 @@ export const dict = { "command.session.share.description": "Compartilhar esta sessão e copiar a URL para a área de transferência", "command.session.unshare": "Parar de compartilhar sessão", "command.session.unshare.description": "Parar de compartilhar esta sessão", + "command.session.export": "Exportar sessão", + "command.session.export.description": "Exportar a transcrição completa da sessão como JSON", + "palette.search.placeholder": "Buscar arquivos, comandos e sessões", "palette.search.placeholder.home": "Buscar comandos e sessões", "palette.empty": "Nenhum resultado encontrado", @@ -94,13 +198,14 @@ export const dict = { "dialog.provider.empty": "Nenhum provedor encontrado", "dialog.provider.group.popular": "Popular", "dialog.provider.group.other": "Outro", + "dialog.provider.custom.label": "Provedor personalizado compatível com OpenAI", "dialog.provider.tag.recommended": "Recomendado", "dialog.provider.opencode.note": "Modelos selecionados incluindo Claude, GPT, Gemini e mais", "dialog.provider.opencode.tagline": "Modelos otimizados e confiáveis", "dialog.provider.opencodeGo.tagline": "Assinatura de baixo custo para todos", - "dialog.provider.anthropic.note": "Conectar com Claude Pro/Max ou chave de API", - "dialog.provider.copilot.note": "Conectar com Copilot ou chave de API", - "dialog.provider.openai.note": "Conectar com ChatGPT Pro/Plus ou chave de API", + "dialog.provider.anthropic.note": "Acesso direto aos modelos Claude, incluindo Pro e Max", + "dialog.provider.copilot.note": "Modelos de IA para auxílio à programação pelo GitHub Copilot", + "dialog.provider.openai.note": "Modelos GPT rápidos e avançados para tarefas gerais de IA", "dialog.provider.google.note": "Modelos Gemini para respostas rápidas e estruturadas", "dialog.provider.openrouter.note": "Acesse todos os modelos suportados de um único provedor", "dialog.provider.vercel.note": "Acesso unificado a modelos de IA com roteamento inteligente", @@ -112,11 +217,14 @@ export const dict = { "dialog.model.manage.provider.toggle": "Alternar todos os modelos {{provider}}", "dialog.model.unpaid.freeModels.title": "Modelos gratuitos fornecidos pelo OpenCode", "dialog.model.unpaid.addMore.title": "Adicionar mais modelos de provedores populares", + "dialog.model.unpaid.viewMoreProviders": "Ver mais de 70 provedores", "dialog.provider.viewAll": "Ver mais provedores", "provider.connect.title": "Conectar {{provider}}", "provider.connect.title.anthropicProMax": "Entrar com Claude Pro/Max", "provider.connect.selectMethod": "Selecionar método de login para {{provider}}.", "provider.connect.method.apiKey": "Chave de API", + "provider.connect.method.browser": "Navegador", + "provider.connect.method.headless": "Sem interface gráfica", "provider.connect.status.inProgress": "Autorização em andamento...", "provider.connect.status.waiting": "Aguardando autorização...", "provider.connect.status.failed": "Autorização falhou: {{error}}", @@ -148,15 +256,16 @@ export const dict = { "provider.connect.toast.connected.title": "{{provider}} conectado", "provider.connect.toast.connected.description": "Modelos do {{provider}} agora estão disponíveis para uso.", "provider.custom.title": "Provedor personalizado", + "provider.custom.unavailable": "Provedores personalizados não estão disponíveis neste servidor", "provider.custom.description.prefix": "Configure um provedor compatível com OpenAI. Veja a ", "provider.custom.description.link": "documentação de configuração do provedor", "provider.custom.description.suffix": ".", - "provider.custom.field.providerID.label": "ID do Provedor", + "provider.custom.field.providerID.label": "ID do provedor", "provider.custom.field.providerID.placeholder": "meuprovedor", "provider.custom.field.providerID.description": "Letras minúsculas, números, hifens ou sublinhados", "provider.custom.field.name.label": "Nome de exibição", - "provider.custom.field.name.placeholder": "Meu Provedor de IA", - "provider.custom.field.baseURL.label": "URL Base", + "provider.custom.field.name.placeholder": "Meu provedor de IA", + "provider.custom.field.baseURL.label": "URL base", "provider.custom.field.baseURL.placeholder": "https://api.meuprovedor.com/v1", "provider.custom.field.apiKey.label": "Chave de API", "provider.custom.field.apiKey.placeholder": "Chave de API", @@ -165,7 +274,7 @@ export const dict = { "provider.custom.models.id.label": "ID", "provider.custom.models.id.placeholder": "id-do-modelo", "provider.custom.models.name.label": "Nome", - "provider.custom.models.name.placeholder": "Nome de Exibição", + "provider.custom.models.name.placeholder": "Nome de exibição", "provider.custom.models.remove": "Remover modelo", "provider.custom.models.add": "Adicionar modelo", "provider.custom.headers.label": "Cabeçalhos (opcional)", @@ -175,11 +284,11 @@ export const dict = { "provider.custom.headers.value.placeholder": "valor", "provider.custom.headers.remove": "Remover cabeçalho", "provider.custom.headers.add": "Adicionar cabeçalho", - "provider.custom.error.providerID.required": "ID do Provedor é obrigatório", + "provider.custom.error.providerID.required": "O ID do provedor é obrigatório", "provider.custom.error.providerID.format": "Use letras minúsculas, números, hifens ou sublinhados", "provider.custom.error.providerID.exists": "Esse ID de provedor já existe", - "provider.custom.error.name.required": "Nome de exibição é obrigatório", - "provider.custom.error.baseURL.required": "URL Base é obrigatória", + "provider.custom.error.name.required": "O nome de exibição é obrigatório", + "provider.custom.error.baseURL.required": "A URL base é obrigatória", "provider.custom.error.baseURL.format": "Deve começar com http:// ou https://", "provider.custom.error.required": "Obrigatório", "provider.custom.error.duplicate": "Duplicado", @@ -215,7 +324,7 @@ export const dict = { "common.clear": "Limpar", "common.connect": "Conectar", "common.disconnect": "Desconectar", - "common.continue": "Enviar", + "common.continue": "Continuar", "common.submit": "Enviar", "common.save": "Salvar", "common.saving": "Salvando...", @@ -267,7 +376,7 @@ export const dict = { "prompt.context.includeActiveFile": "Incluir arquivo ativo", "prompt.context.removeActiveFile": "Remover arquivo ativo do contexto", "prompt.context.removeFile": "Remover arquivo do contexto", - "prompt.action.attachFile": "Anexar arquivo", + "prompt.action.attachFile": "Adicionar arquivos", "prompt.menu.addImagesAndFiles": "Adicionar arquivos e mais", "prompt.menu.imagesAndFiles": "Imagens e arquivos", "prompt.menu.commands": "Comandos", @@ -288,7 +397,7 @@ export const dict = { "prompt.toast.promptSendFailed.title": "Falha ao enviar prompt", "prompt.toast.promptSendFailed.description": "Não foi possível recuperar a sessão", "dialog.mcp.title": "MCPs", - "dialog.mcp.description": "{{enabled}} of {{total}} habilitados", + "dialog.mcp.description": "{{enabled}} de {{total}} ativados", "dialog.mcp.empty": "Nenhum MCP configurado", "dialog.lsp.empty": "LSPs detectados automaticamente pelos tipos de arquivo", "dialog.plugins.empty": "Plugins configurados em opencode.json", @@ -310,11 +419,11 @@ export const dict = { "dialog.server.search.placeholder": "Buscar servidores", "dialog.server.empty": "Nenhum servidor ainda", "dialog.server.add.title": "Adicionar um servidor", - "dialog.server.add.url": "URL do servidor", + "dialog.server.add.url": "Endereço do servidor", "dialog.server.add.placeholder": "http://localhost:4096", "dialog.server.add.error": "Não foi possível conectar ao servidor", "dialog.server.add.checking": "Verificando...", - "dialog.server.add.button": "Adicionar", + "dialog.server.add.button": "Adicionar servidor", "dialog.server.add.name": "Nome do servidor (opcional)", "dialog.server.add.namePlaceholder": "Localhost", "dialog.server.add.username": "Nome de usuário (opcional)", @@ -322,7 +431,7 @@ export const dict = { "dialog.server.edit.title": "Editar servidor", "dialog.server.default.title": "Servidor padrão", "dialog.server.default.description": - "Conectar a este servidor na inicialização do aplicativo ao invés de iniciar um servidor local. Requer reinicialização.", + "Conectar a este servidor na inicialização do aplicativo em vez de iniciar um servidor local. Requer reinicialização.", "dialog.server.default.none": "Nenhum servidor selecionado", "dialog.server.default.set": "Definir servidor atual como padrão", "dialog.server.default.clear": "Limpar", @@ -402,6 +511,21 @@ export const dict = { "wsl.onboarding.desktopVersion": "desktop {{version}}", "wsl.onboarding.versionMismatch": "A versão instalada não corresponde à versão do aplicativo para desktop.", "wsl.onboarding.adding": "Adicionando...", + "help.tabs.toast.ariaLabel": "Apresentamos as abas. Organize seu trabalho e suas sessões ativas com abas", + "help.tabs.toast.dismiss": "Dispensar informações sobre as abas", + "help.tabs.title": "Apresentamos as abas", + "help.tabs.description": "Organize seu trabalho e suas sessões ativas com abas", + "help.tabs.date": "14 de julho", + "help.tabs.introduction": "Agora, o OpenCode Desktop é organizado em abas.", + "help.tabs.sessions": + "Inicie uma nova sessão em uma aba ou abra uma sessão existente de qualquer um dos seus projetos. Abra uma nova aba quando começar algo novo e feche-a quando terminar.", + "help.tabs.organize": + "Manter algumas abas abertas facilita a organização das sessões ativas. Renomeie as abas com nomes fáceis de lembrar se pretende mantê-las abertas.", + "help.tabs.home": + "Você encontrará todas as suas sessões e projetos na nova tela Início. Ao selecionar uma sessão, ela será aberta em uma aba.", + "help.tabs.persistence": "Quando você reabrir o aplicativo, suas abas ainda estarão abertas.", + "help.tabs.worktrees": + "O novo design ainda não oferece suporte a Git Worktrees, mas esse recurso estará disponível em breve. Se preferir continuar usando o layout anterior, você poderá alternar entre os layouts nas Configurações. Lembre-se apenas de que o novo layout se tornará permanente em algumas semanas.", "dialog.project.edit.title": "Editar projeto", "dialog.project.edit.name": "Nome", "dialog.project.edit.icon": "Ícone", @@ -412,33 +536,37 @@ export const dict = { "dialog.project.edit.color.select": "Selecionar cor {{color}}", "dialog.project.edit.worktree.startup": "Script de inicialização do espaço de trabalho", "dialog.project.edit.worktree.startup.description": "Executa após criar um novo espaço de trabalho (worktree).", - "dialog.project.edit.worktree.startup.placeholder": "ex: bun install", - "context.breakdown.title": "Detalhamento do Contexto", + "dialog.project.edit.worktree.startup.placeholder": "Ex.: bun install", + "dialog.usageExceeded.dontShowAgain": "Não mostrar novamente", + + "context.breakdown.title": "Detalhamento do contexto", "context.breakdown.note": - 'Detalhamento aproximado dos tokens de entrada. "Outros" inclui definições de ferramentas e overhead.', + 'Detalhamento aproximado dos tokens de entrada. "Outros" inclui definições de ferramentas e sobrecarga.', "context.breakdown.system": "Sistema", "context.breakdown.user": "Usuário", "context.breakdown.assistant": "Assistente", - "context.breakdown.tool": "Chamadas de Ferramentas", + "context.breakdown.tool": "Chamadas de ferramentas", "context.breakdown.other": "Outros", - "context.systemPrompt.title": "Prompt do Sistema", + "context.systemPrompt.title": "Prompt do sistema", "context.rawMessages.title": "Mensagens brutas", + "context.export.session": "Exportar sessão", + "context.stats.session": "Sessão", "context.stats.messages": "Mensagens", "context.stats.provider": "Provedor", "context.stats.model": "Modelo", - "context.stats.limit": "Limite de Contexto", - "context.stats.totalTokens": "Total de Tokens", + "context.stats.limit": "Limite de contexto", + "context.stats.totalTokens": "Total de tokens", "context.stats.usage": "Uso", - "context.stats.inputTokens": "Tokens de Entrada", - "context.stats.outputTokens": "Tokens de Saída", - "context.stats.reasoningTokens": "Tokens de Raciocínio", - "context.stats.cacheTokens": "Tokens de Cache (leitura/escrita)", - "context.stats.userMessages": "Mensagens de Usuário", - "context.stats.assistantMessages": "Mensagens do Assistente", - "context.stats.totalCost": "Custo Total", - "context.stats.sessionCreated": "Sessão Criada", - "context.stats.lastActivity": "Última Atividade", + "context.stats.inputTokens": "Tokens de entrada", + "context.stats.outputTokens": "Tokens de saída", + "context.stats.reasoningTokens": "Tokens de raciocínio", + "context.stats.cacheTokens": "Tokens de cache (leitura/escrita)", + "context.stats.userMessages": "Mensagens do usuário", + "context.stats.assistantMessages": "Mensagens do assistente", + "context.stats.totalCost": "Custo total", + "context.stats.sessionCreated": "Sessão criada", + "context.stats.lastActivity": "Última atividade", "context.usage.tokens": "Tokens", "context.usage.usage": "Uso", "context.usage.cost": "Custo", @@ -489,6 +617,11 @@ export const dict = { "toast.session.unshare.success.description": "Sessão deixou de ser compartilhada com sucesso!", "toast.session.unshare.failed.title": "Falha ao parar de compartilhar sessão", "toast.session.unshare.failed.description": "Ocorreu um erro ao parar de compartilhar a sessão", + "toast.session.export.success.title": "Sessão exportada", + "toast.session.export.success.description": "Sessão salva em {{filename}}", + "toast.session.export.failed.title": "Falha ao exportar sessão", + "toast.session.export.failed.description": "Ocorreu um erro ao exportar a sessão", + "toast.session.listFailed.title": "Falha ao carregar sessões para {{project}}", "toast.update.title": "Atualização disponível", "toast.update.description": "Uma nova versão do OpenCode ({{version}}) está disponível para instalação.", @@ -497,7 +630,7 @@ export const dict = { "error.page.title": "Algo deu errado", "error.page.description": "Ocorreu um erro ao carregar a aplicação.", "error.page.description.localServerStartup": "Ocorreu um erro ao iniciar o servidor local.", - "error.page.details.label": "Detalhes do Erro", + "error.page.details.label": "Detalhes do erro", "error.page.action.restart": "Reiniciar", "error.page.action.report": "Reportar erro", "error.page.action.reported": "Erro reportado", @@ -570,7 +703,7 @@ export const dict = { "session.error.notFound.description": "Esta aba aponta para uma sessão que não existe mais neste servidor.", "session.error.notFound.closeTab": "Fechar aba", "session.error.serverConnection": "Não é possível conectar a este servidor", - "session.review.filesChanged": "{{count}} Arquivos Alterados", + "session.review.filesChanged": "{{count}} arquivos alterados", "session.review.change.one": "Alteração", "session.review.change.other": "Alterações", "session.review.loadingChanges": "Carregando alterações...", @@ -597,14 +730,17 @@ export const dict = { "session.question.minimize": "Minimizar pergunta", "session.question.restore": "Restaurar pergunta", "session.question.pending.one": "{{count}} pergunta pendente", + "session.question.pending.many": "{{count}} de perguntas pendentes", "session.question.pending.other": "{{count}} perguntas pendentes", "session.followupDock.summary.one": "{{count}} mensagem na fila", + "session.followupDock.summary.many": "{{count}} de mensagens na fila", "session.followupDock.summary.other": "{{count}} mensagens na fila", "session.followupDock.sendNow": "Enviar agora", "session.followupDock.edit": "Editar", "session.followupDock.collapse": "Recolher mensagens na fila", "session.followupDock.expand": "Expandir mensagens na fila", "session.revertDock.summary.one": "{{count}} mensagem revertida", + "session.revertDock.summary.many": "{{count}} de mensagens revertidas", "session.revertDock.summary.other": "{{count}} mensagens revertidas", "session.revertDock.collapse": "Recolher mensagens revertidas", "session.revertDock.expand": "Expandir mensagens revertidas", @@ -656,15 +792,23 @@ export const dict = { "terminal.title": "Terminal", "terminal.title.numbered": "Terminal {{number}}", "terminal.close": "Fechar terminal", - "terminal.connectionLost.title": "Conexão Perdida", + "terminal.connectionLost.title": "Conexão perdida", "terminal.connectionLost.description": "A conexão do terminal foi interrompida. Isso pode acontecer quando o servidor reinicia.", + "terminal.connectTicket.csrfError": + "O tíquete de conexão PTY foi rejeitado pelas verificações de origem ou CSRF. Verifique a configuração de CORS do servidor.", + "terminal.connectTicket.statusError": "O tíquete de conexão PTY falhou com o status {{status}}", + + "titlebar.update": "Atualizar", + "titlebar.updateVersion": "Atualizar {{version}}", + "common.closeTab": "Fechar aba", "common.dismiss": "Descartar", "common.requestFailed": "Requisição falhou", "common.moreOptions": "Mais opções", "common.learnMore": "Saiba mais", "common.rename": "Renomear", + "common.export": "Exportar", "common.reset": "Redefinir", "common.archive": "Arquivar", "common.delete": "Excluir", @@ -706,7 +850,7 @@ export const dict = { "settings.general.row.shell.title": "Shell do terminal", "settings.general.row.shell.description": "Escolha o shell usado no terminal. Os shells compatíveis também são usados nas chamadas de ferramentas do agente.", - "settings.general.row.shell.autoDefault": "Automático (Padrão)", + "settings.general.row.shell.autoDefault": "Automático (padrão)", "settings.general.row.shell.terminalOnly": "somente no terminal", "settings.general.row.appearance.title": "Aparência", "settings.general.row.appearance.description": "Personalize como o OpenCode aparece no seu dispositivo", @@ -739,8 +883,9 @@ export const dict = { "settings.general.row.mobileTitlebarBottom.title": "Navegação inferior", "settings.general.row.mobileTitlebarBottom.description": "Posicionar a barra de título e as abas da sessão na parte inferior da tela em dispositivos móveis", - "settings.general.row.showCustomAgents.title": "Agentes personalizados", - "settings.general.row.showCustomAgents.description": "Mostrar o seletor de agentes na área de composição", + "settings.general.row.showCustomAgents.title": "Mostrar agente", + "settings.general.row.showCustomAgents.description": + "Alternar entre agentes na área de composição. Quando oculto, usa o agente Build como padrão.", "settings.general.row.reasoningSummaries.title": "Mostrar resumos de raciocínio", "settings.general.row.reasoningSummaries.description": "Exibir resumos de raciocínio do modelo na linha do tempo", "settings.general.row.shellToolPartsExpanded.title": "Expandir partes da ferramenta shell", @@ -823,14 +968,15 @@ export const dict = { "sound.option.yup06": "Sim 06", "settings.general.notifications.agent.title": "Agente", "settings.general.notifications.agent.description": - "Mostrar notificação do sistema quando o agente estiver completo ou precisar de atenção", + "Mostrar notificação do sistema quando o agente concluir o trabalho ou precisar de atenção", "settings.general.notifications.permissions.title": "Permissões", "settings.general.notifications.permissions.description": "Mostrar notificação do sistema quando uma permissão for necessária", "settings.general.notifications.errors.title": "Erros", "settings.general.notifications.errors.description": "Mostrar notificação do sistema quando ocorrer um erro", "settings.general.sounds.agent.title": "Agente", - "settings.general.sounds.agent.description": "Reproduzir som quando o agente estiver completo ou precisar de atenção", + "settings.general.sounds.agent.description": + "Reproduzir som quando o agente concluir o trabalho ou precisar de atenção", "settings.general.sounds.permissions.title": "Permissões", "settings.general.sounds.permissions.description": "Reproduzir som quando uma permissão for necessária", "settings.general.sounds.errors.title": "Erros", @@ -878,8 +1024,7 @@ export const dict = { "settings.permissions.tool.read.title": "Ler", "settings.permissions.tool.read.description": "Ler um arquivo (corresponde ao caminho do arquivo)", "settings.permissions.tool.edit.title": "Editar", - "settings.permissions.tool.edit.description": - "Modificar arquivos, incluindo edições, escritas, patches e multi-edições", + "settings.permissions.tool.edit.description": "Modificar arquivos, incluindo edições, escritas e patches", "settings.permissions.tool.glob.title": "Glob", "settings.permissions.tool.glob.description": "Corresponder arquivos usando padrões glob", "settings.permissions.tool.grep.title": "Grep", @@ -889,7 +1034,7 @@ export const dict = { "settings.permissions.tool.bash.title": "Bash", "settings.permissions.tool.bash.description": "Executar comandos shell", "settings.permissions.tool.task.title": "Tarefa", - "settings.permissions.tool.task.description": "Lançar sub-agentes", + "settings.permissions.tool.task.description": "Iniciar subagentes", "settings.permissions.tool.skill.title": "Habilidade", "settings.permissions.tool.skill.description": "Carregar uma habilidade por nome", "settings.permissions.tool.lsp.title": "LSP", @@ -946,7 +1091,7 @@ export const dict = { "common.time.hoursAgo.short": "{{count}}h atrás", "common.time.daysAgo.short": "{{count}}d atrás", "settings.providers.connected.environmentDescription": "Conectado a partir de suas variáveis de ambiente", - "settings.providers.custom.description": "Adicionar um provedor compatível com a OpenAI através do URL base.", + "settings.providers.custom.description": "Adicionar um provedor compatível com OpenAI por meio da URL base.", "app.server.unreachable": "Não foi possível conectar a {{server}}", "app.server.retrying": "Tentando novamente automaticamente...", @@ -962,6 +1107,9 @@ export const dict = { "session.question.progress": "{{current}} de {{total}} perguntas", "session.header.open.finder": "Finder", "session.header.open.fileExplorer": "Explorador de Arquivos", + "session.header.reveal.finder": "Revelar no Finder", + "session.header.reveal.fileExplorer": "Revelar no Explorador de Arquivos", + "session.header.reveal.containingFolder": "Abrir pasta que contém este item", "session.header.open.fileManager": "Gerenciador de Arquivos", "session.header.open.app.vscode": "VS Code", "session.header.open.app.cursor": "Cursor", @@ -999,6 +1147,14 @@ export const dict = { "debugBar.mem.label": "MEM", "debugBar.mem.tipUnavailable": "Heap JS usado vs limite de heap. Apenas Chromium.", "debugBar.mem.tip": "Heap JS usado vs limite de heap. {{used}} de {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Forçar estilos de foco em todos os elementos interativos", + "debugBar.focus.on": "LIGADO", + "debugBar.focus.off": "DESLIGADO", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Forçar a direção do layout de todo o aplicativo sem alterar o idioma selecionado", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", "common.key.ctrl": "Ctrl", "common.key.alt": "Alt", "common.key.shift": "Shift", diff --git a/packages/app/src/i18n/bs.ts b/packages/app/src/i18n/bs.ts index 3343df7a2b55..feb41c651a87 100644 --- a/packages/app/src/i18n/bs.ts +++ b/packages/app/src/i18n/bs.ts @@ -1,4 +1,104 @@ export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Datoteka", + "desktop.menu.edit": "Uredi", + "desktop.menu.view": "Prikaz", + "desktop.menu.go": "Idi", + "desktop.menu.window": "Prozor", + "desktop.menu.help": "Pomoć", + "desktop.menu.checkForUpdates": "Provjeri ima li ažuriranja...", + "desktop.menu.settings": "Postavke", + "desktop.menu.reloadWebview": "Ponovo učitaj Webview", + "desktop.menu.restart": "Ponovo pokreni", + "desktop.menu.exportLogs": "Izvezi zapisnike...", + "desktop.menu.newSession": "Nova sesija", + "desktop.menu.openProject": "Otvori projekat...", + "desktop.menu.newWindow": "Novi prozor", + "desktop.menu.closeWindow": "Zatvori prozor", + "desktop.menu.undo": "Poništi", + "desktop.menu.redo": "Vrati", + "desktop.menu.cut": "Izreži", + "desktop.menu.copy": "Kopiraj", + "desktop.menu.paste": "Zalijepi", + "desktop.menu.delete": "Izbriši", + "desktop.menu.selectAll": "Odaberi sve", + "desktop.menu.toggleSidebar": "Prikaži ili sakrij bočnu traku", + "desktop.menu.toggleTerminal": "Prikaži ili sakrij terminal", + "desktop.menu.toggleFileTree": "Prikaži ili sakrij stablo datoteka", + "desktop.menu.reload": "Ponovo učitaj", + "desktop.menu.toggleDeveloperTools": "Prikaži ili sakrij alate za programere", + "desktop.menu.actualSize": "Stvarna veličina", + "desktop.menu.zoomIn": "Uvećaj", + "desktop.menu.zoomOut": "Umanji", + "desktop.menu.toggleFullScreen": "Prikaži ili sakrij prikaz preko cijelog ekrana", + "desktop.menu.back": "Nazad", + "desktop.menu.forward": "Naprijed", + "desktop.menu.previousSession": "Prethodna sesija", + "desktop.menu.nextSession": "Sljedeća sesija", + "desktop.menu.previousProject": "Prethodni projekat", + "desktop.menu.nextProject": "Sljedeći projekat", + "desktop.menu.minimize": "Minimiziraj", + "desktop.menu.maximize": "Maksimiziraj", + "desktop.menu.documentation": "Dokumentacija za OpenCode", + "desktop.menu.supportForum": "Forum za podršku", + "desktop.menu.shareFeedback": "Pošalji povratne informacije", + "desktop.menu.reportBug": "Prijavi grešku", + "desktop.menu.ariaLabel": "OpenCode meni", + + "desktop.updater.dialog.checkFailed.message": "Provjera ažuriranja nije uspjela.", + "desktop.updater.dialog.checkFailed.title": "Greška pri ažuriranju", + "desktop.updater.dialog.upToDate.message": "Sve je ažurno.", + "desktop.updater.dialog.upToDate.title": "Nema ažuriranja", + "desktop.updater.dialog.ready.message": + "Ažuriranje {{version}} je preuzeto. Želiš li sada ponovo pokrenuti aplikaciju?", + "desktop.updater.dialog.ready.title": "Ažuriranje je spremno", + "desktop.updater.dialog.restart": "Ponovo pokreni", + "desktop.updater.dialog.later": "Kasnije", + + "desktop.recovery.action.relaunch": "Ponovo pokreni", + "desktop.recovery.action.exportLogs": "Izvezi zapisnike", + "desktop.recovery.action.keepWaiting": "Nastavi čekati", + "desktop.recovery.action.quit": "Izađi", + "desktop.recovery.loadFailed": "OpenCode se nije uspio učitati", + "desktop.recovery.terminated": "Prozor OpenCode-a neočekivano je zatvoren", + "desktop.recovery.unresponsive": "OpenCode ne reaguje", + "desktop.recovery.unresponsive.detail": "Možeš ponovo pokrenuti aplikaciju, otvoriti zapisnike ili nastaviti čekati.", + "desktop.recovery.loadFailed.detail": "Prozor: {{window}}\nURL: {{url}}\nGreška: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Prozor: {{window}}\nRazlog: {{reason}}\nKod: {{code}}", + "desktop.recovery.unknown": "", + + "desktop.dialog.chooseFolder": "Odaberi fasciklu", + "desktop.dialog.chooseFile": "Odaberi datoteku", + "desktop.dialog.saveFile": "Sačuvaj datoteku", + "desktop.dialog.files": "Datoteke", + "desktop.server.local": "Lokalni server", + + "desktop.wsl.error.windowsOnly": "WSL je dostupan samo u Windowsu", + "desktop.wsl.error.unavailable": "WSL nije dostupan", + "desktop.wsl.error.listInstalled": "Nije uspjelo prikazivanje instaliranih WSL distribucija", + "desktop.wsl.error.listOnline": "Nije uspjelo prikazivanje dostupnih WSL distribucija", + "desktop.wsl.error.executeDistro": "Nije moguće izvršiti komande u distribuciji", + "desktop.wsl.error.installWsl": "Instalacija WSL-a nije uspjela", + "desktop.wsl.error.installDistro": "Instalacija distribucije nije uspjela: {{distro}}", + "desktop.wsl.error.installOpencode": "Instalacija OpenCode-a nije uspjela", + "desktop.wsl.error.alreadyAdded": "Distribucija {{distro}} je već dodana", + "desktop.wsl.error.opencodeMissing": "opencode nije instaliran u ovoj distribuciji", + "desktop.wsl.error.opencodeCannotRun": "opencode je instaliran, ali se ne može pokrenuti", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode nije instaliran u distribuciji {{distro}}", + "desktop.wsl.error.updateVersion": + "Ažuriranje OpenCode-a je završeno, ali {{distro}} i dalje prijavljuje {{installed}}; očekivano je {{expected}}", + "desktop.wsl.error.noVersion": "nema verzije", + "desktop.wsl.error.serverExited": "WSL server se zatvorio nakon pokretanja (code={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL server se zatvorio prije nego što je postao dostupan (code={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": + "Isteklo je vrijeme provjere dostupnosti komponente Sidecar za {{distro}} nakon {{timeout}} ms", + "desktop.wsl.error.commandTimeout": "Isteklo je vrijeme za {{command}} {{args}} nakon {{timeout}} ms", + "desktop.wsl.error.failedPort": "Nije uspjelo dohvaćanje porta", + + "desktop.picker.error.notSelected": "Datoteka nije odabrana u izborniku", + "desktop.picker.error.sizeLimit": "Odabrani prilozi premašuju ograničenje od {{limit}} MB", + "command.category.suggested": "Predloženo", "command.category.view": "Prikaz", "command.category.project": "Projekat", @@ -16,6 +116,7 @@ export const dict = { "command.category.permissions": "Dozvole", "command.category.workspace": "Radni prostor", "command.category.settings": "Postavke", + "command.logs.export": "Izvezi zapisnike", "theme.scheme.system": "Sistem", "theme.scheme.light": "Svijetlo", @@ -92,6 +193,9 @@ export const dict = { "command.session.unshare": "Ukini dijeljenje sesije", "command.session.unshare.description": "Zaustavi dijeljenje ove sesije", + "command.session.export": "Izvezi sesiju", + "command.session.export.description": "Izvezi cijeli zapis sesije u JSON formatu", + "palette.search.placeholder": "Pretraži datoteke, komande i sesije", "palette.search.placeholder.home": "Pretraži komande i sesije", "palette.empty": "Nema rezultata", @@ -102,6 +206,7 @@ export const dict = { "dialog.provider.empty": "Nema pronađenih provajdera", "dialog.provider.group.popular": "Popularno", "dialog.provider.group.other": "Ostalo", + "dialog.provider.custom.label": "Prilagođeni provajder kompatibilan s OpenAI-jem", "dialog.provider.tag.recommended": "Preporučeno", "dialog.provider.opencode.note": "Kurirani modeli uključujući Claude, GPT, Gemini i druge", "dialog.provider.opencode.tagline": "Pouzdani optimizovani modeli", @@ -122,6 +227,7 @@ export const dict = { "dialog.model.unpaid.freeModels.title": "Besplatni modeli koje obezbjeđuje OpenCode", "dialog.model.unpaid.addMore.title": "Dodaj još modela od popularnih provajdera", + "dialog.model.unpaid.viewMoreProviders": "Pogledaj još više od 70 provajdera", "dialog.provider.viewAll": "Prikaži više provajdera", @@ -129,6 +235,8 @@ export const dict = { "provider.connect.title.anthropicProMax": "Prijavi se putem Claude Pro/Max", "provider.connect.selectMethod": "Odaberi način prijave za {{provider}}.", "provider.connect.method.apiKey": "API ključ", + "provider.connect.method.browser": "Preglednik", + "provider.connect.method.headless": "Bez grafičkog interfejsa", "provider.connect.status.inProgress": "Autorizacija je u toku...", "provider.connect.status.waiting": "Čekanje na autorizaciju...", "provider.connect.status.failed": "Autorizacija nije uspjela: {{error}}", @@ -161,6 +269,7 @@ export const dict = { "provider.connect.toast.connected.description": "{{provider}} modeli su sada dostupni za korištenje.", "provider.custom.title": "Prilagođeni provajder", + "provider.custom.unavailable": "Prilagođeni provajderi nisu dostupni na ovom serveru", "provider.custom.description.prefix": "Konfiguriši OpenAI-kompatibilnog provajdera. Pogledaj ", "provider.custom.description.link": "dokumentaciju za konfiguraciju provajdera", "provider.custom.description.suffix": ".", @@ -232,7 +341,7 @@ export const dict = { "common.clear": "Očisti", "common.connect": "Poveži", "common.disconnect": "Prekini vezu", - "common.continue": "Pošalji", + "common.continue": "Nastavi", "common.submit": "Pošalji", "common.save": "Sačuvaj", "common.saving": "Čuvanje...", @@ -263,7 +372,7 @@ export const dict = { "prompt.example.11": "Optimizuj upite prema bazi podataka", "prompt.example.12": "Dodaj validaciju ulaza", "prompt.example.13": "Napravi novu komponentu za...", - "prompt.example.14": "Kako da deployam ovaj projekat?", + "prompt.example.14": "Kako da postavim ovaj projekat?", "prompt.example.15": "Pregledaj moj kod prema najboljim praksama", "prompt.example.16": "Dodaj obradu grešaka u ovu funkciju", "prompt.example.17": "Objasni ovaj regex obrazac", @@ -271,14 +380,14 @@ export const dict = { "prompt.example.19": "Dodaj logovanje kroz cijelu bazu koda", "prompt.example.20": "Koje su zavisnosti zastarjele?", "prompt.example.21": "Pomozi mi da napišem migracijsku skriptu", - "prompt.example.22": "Implementiraj keširanje za ovaj endpoint", + "prompt.example.22": "Implementiraj keširanje za ovu krajnju tačku", "prompt.example.23": "Dodaj paginaciju u ovu listu", "prompt.example.24": "Napravi CLI komandu za...", "prompt.example.25": "Kako ovdje rade varijable okruženja?", "prompt.popover.emptyResults": "Nema rezultata", "prompt.popover.emptyCommands": "Nema komandi", - "prompt.dropzone.label": "Ovdje prevucite slike, PDF-ove ili tekstualne datoteke", + "prompt.dropzone.label": "Ovdje prevuci slike, PDF-ove ili tekstualne datoteke", "prompt.dropzone.file.label": "Spusti za @spominjanje datoteke", "prompt.slash.badge.custom": "prilagođeno", "prompt.slash.badge.skill": "skill", @@ -287,7 +396,7 @@ export const dict = { "prompt.context.includeActiveFile": "Uključi aktivnu datoteku", "prompt.context.removeActiveFile": "Ukloni aktivnu datoteku iz konteksta", "prompt.context.removeFile": "Ukloni datoteku iz konteksta", - "prompt.action.attachFile": "Priloži datoteku", + "prompt.action.attachFile": "Dodaj datoteke", "prompt.menu.addImagesAndFiles": "Dodaj datoteke i više", "prompt.menu.imagesAndFiles": "Slike i datoteke", "prompt.menu.commands": "Komande", @@ -311,7 +420,7 @@ export const dict = { "dialog.mcp.title": "MCP-ovi", "dialog.mcp.description": "{{enabled}} od {{total}} omogućeno", - "dialog.mcp.empty": "Nema konfigurisnih MCP-ova", + "dialog.mcp.empty": "Nema konfigurisanih MCP-ova", "dialog.lsp.empty": "LSP-ovi se automatski otkrivaju prema tipu datoteke", "dialog.plugins.empty": "Plugini su konfigurisani u opencode.json", @@ -319,18 +428,18 @@ export const dict = { "mcp.status.connected": "povezano", "mcp.status.failed": "neuspjelo", "mcp.status.needs_auth": "potrebna autentifikacija", - "mcp.auth.clickToAuthenticate": "Kliknite za autentifikaciju", + "mcp.auth.clickToAuthenticate": "Klikni za autentifikaciju", "mcp.status.disabled": "onemogućeno", "dialog.fork.empty": "Nema poruka za fork", - "dialog.directory.search.placeholder": "Pretraži foldere", - "dialog.directory.empty": "Nema pronađenih foldera", + "dialog.directory.search.placeholder": "Pretraži fascikle", + "dialog.directory.empty": "Nema pronađenih fascikli", "dialog.directory.action.selectFile": "Odaberi datoteku", - "dialog.directory.action.selectFolder": "Odaberi folder", + "dialog.directory.action.selectFolder": "Odaberi fasciklu", "dialog.directory.root": "Korijen", - "dialog.directory.parent": "Nadređeni folder", - "dialog.directory.readError": "Nije moguće pročitati ovaj folder", + "dialog.directory.parent": "Nadređena fascikla", + "dialog.directory.readError": "Nije moguće pročitati ovu fasciklu", "dialog.server.title": "Serveri", "dialog.server.description": "Promijeni na koji se OpenCode server ova aplikacija povezuje.", @@ -349,7 +458,7 @@ export const dict = { "dialog.server.edit.title": "Uredi server", "dialog.server.default.title": "Podrazumijevani server", "dialog.server.default.description": - "Poveži se na ovaj server pri pokretanju aplikacije umjesto pokretanja lokalnog servera. Potreban je restart.", + "Poveži se na ovaj server pri pokretanju aplikacije umjesto pokretanja lokalnog servera. Potrebno je ponovo pokrenuti aplikaciju.", "dialog.server.default.none": "Nije odabran server", "dialog.server.default.set": "Postavi trenutni server kao podrazumijevani", "dialog.server.default.clear": "Očisti", @@ -431,6 +540,22 @@ export const dict = { "wsl.onboarding.versionMismatch": "Instalirana verzija ne odgovara verziji desktop aplikacije.", "wsl.onboarding.adding": "Dodavanje...", + "help.tabs.toast.ariaLabel": "Predstavljamo kartice. Organizuj svoj rad i aktivne sesije pomoću kartica", + "help.tabs.toast.dismiss": "Odbaci informacije o karticama", + "help.tabs.title": "Predstavljamo kartice", + "help.tabs.description": "Organizuj svoj rad i aktivne sesije pomoću kartica", + "help.tabs.date": "14. juli", + "help.tabs.introduction": "OpenCode Desktop sada je organizovan oko kartica.", + "help.tabs.sessions": + "Započni novu sesiju u kartici ili otvori postojeću sesiju iz bilo kojeg projekta. Otvori novu karticu kada započinješ nešto novo, a zatvori je kada završiš.", + "help.tabs.organize": + "Nekoliko otvorenih kartica olakšava organizovanje aktivnih sesija. Preimenuj kartice tako da ih možeš lako prepoznati ako ih namjeravaš zadržati.", + "help.tabs.home": + "Sve svoje sesije i projekte pronaći ćeš na novom početnom ekranu. Odabirom sesije ona se otvara u kartici.", + "help.tabs.persistence": "Kada ponovo otvoriš aplikaciju, tvoje kartice ostaju otvorene.", + "help.tabs.worktrees": + "Novi dizajn još ne podržava Git Worktrees, ali podrška stiže uskoro. Ako želiš nastaviti koristiti prethodni raspored, možeš mijenjati rasporede u Postavkama. Imaj na umu da će novi raspored za nekoliko sedmica postati trajan.", + "dialog.project.edit.title": "Uredi projekat", "dialog.project.edit.name": "Naziv", "dialog.project.edit.icon": "Ikonica", @@ -443,9 +568,11 @@ export const dict = { "dialog.project.edit.worktree.startup.description": "Pokreće se nakon kreiranja novog radnog prostora (worktree).", "dialog.project.edit.worktree.startup.placeholder": "npr. bun install", + "dialog.usageExceeded.dontShowAgain": "Nemoj više prikazivati", + "context.breakdown.title": "Razlaganje konteksta", "context.breakdown.note": - 'Približna raspodjela ulaznih tokena. "Ostalo" uključuje definicije alata i dodatni overhead.', + 'Približna raspodjela ulaznih tokena. "Ostalo" uključuje definicije alata i dodatno opterećenje.', "context.breakdown.system": "Sistem", "context.breakdown.user": "Korisnik", "context.breakdown.assistant": "Asistent", @@ -455,6 +582,8 @@ export const dict = { "context.systemPrompt.title": "Sistemski prompt", "context.rawMessages.title": "Sirove poruke", + "context.export.session": "Izvezi sesiju", + "context.stats.session": "Sesija", "context.stats.messages": "Poruke", "context.stats.provider": "Provajder", @@ -465,7 +594,7 @@ export const dict = { "context.stats.inputTokens": "Ulazni tokeni", "context.stats.outputTokens": "Izlazni tokeni", "context.stats.reasoningTokens": "Tokeni za rasuđivanje", - "context.stats.cacheTokens": "Cache tokeni (čitanje/pisanje)", + "context.stats.cacheTokens": "Keširani tokeni (čitanje/pisanje)", "context.stats.userMessages": "Korisničke poruke", "context.stats.assistantMessages": "Poruke asistenta", "context.stats.totalCost": "Ukupni trošak", @@ -533,18 +662,23 @@ export const dict = { "toast.session.unshare.failed.title": "Neuspjelo ukidanje dijeljenja", "toast.session.unshare.failed.description": "Došlo je do greške prilikom ukidanja dijeljenja", + "toast.session.export.success.title": "Sesija izvezena", + "toast.session.export.success.description": "Sesija je sačuvana kao {{filename}}", + "toast.session.export.failed.title": "Izvoz sesije nije uspio", + "toast.session.export.failed.description": "Došlo je do greške prilikom izvoza sesije", + "toast.session.listFailed.title": "Neuspjelo učitavanje sesija za {{project}}", "toast.update.title": "Dostupno ažuriranje", "toast.update.description": "Nova verzija OpenCode-a ({{version}}) je dostupna za instalaciju.", - "toast.update.action.installRestart": "Instaliraj i restartuj", + "toast.update.action.installRestart": "Instaliraj i ponovo pokreni", "toast.update.action.notYet": "Ne još", "error.page.title": "Nešto je pošlo po zlu", "error.page.description": "Došlo je do greške prilikom učitavanja aplikacije.", "error.page.description.localServerStartup": "Došlo je do greške pri pokretanju lokalnog servera.", "error.page.details.label": "Detalji greške", - "error.page.action.restart": "Restartuj", + "error.page.action.restart": "Ponovo pokreni", "error.page.action.report": "Prijavi grešku", "error.page.action.reported": "Greška prijavljena", "error.page.action.exportLogs": "Izvezi logove", @@ -569,7 +703,7 @@ export const dict = { "error.chain.responseBody": "Tijelo odgovora:\n{{body}}", "error.chain.didYouMean": "Da li si mislio: {{suggestions}}", "error.chain.modelNotFound": "Model nije pronađen: {{provider}}/{{model}}", - "error.chain.checkConfig": "Provjeri konfiguraciju (opencode.json) provider/model names", + "error.chain.checkConfig": "Provjeri nazive provajdera/modela u konfiguraciji (opencode.json)", "error.chain.mcpFailed": 'MCP server "{{name}}" nije uspio. Napomena: OpenCode još ne podržava MCP autentifikaciju.', "error.chain.providerAuthFailed": "Autentifikacija provajdera nije uspjela ({{provider}}): {{message}}", "error.chain.providerInitFailed": @@ -611,7 +745,7 @@ export const dict = { "home.sessions.group.yesterday": "Jučer", "home.sessions.group.older": "Starije", "home.providerTip": - "Povežite se s više od 75 pružalaca usluga kako biste koristili druge modele, uključujući Claude, GPT, Gemini i druge", + "Poveži se s više od 75 provajdera da koristiš druge modele, uključujući Claude, GPT, Gemini i druge", "session.tab.session": "Sesija", "session.tab.review": "Pregled", @@ -627,11 +761,11 @@ export const dict = { "session.review.change.other": "Izmjene", "session.review.loadingChanges": "Učitavanje izmjena...", "session.review.empty": "Još nema izmjena u ovoj sesiji", - "session.review.noVcs": "Nije detektovan Git sistem kontrole verzija, promjene se ne prikazuju", + "session.review.noVcs": "Nije otkriven Git sistem za kontrolu verzija, pa se promjene ne prikazuju", "session.review.noSnapshot": "Praćenje snimaka (snapshot) je onemogućeno u konfiguraciji, pa promjene sesije nisu dostupne", "session.review.noChanges": "Nema izmjena", - "session.review.noUncommittedChanges": "Još nema nepotvrđenih promjena", + "session.review.noUncommittedChanges": "Još nema promjena koje nisu commitovane", "session.review.noBranchChanges": "Još nema promjena na grani", "session.files.selectToOpen": "Odaberi datoteku za otvaranje", @@ -652,14 +786,17 @@ export const dict = { "session.question.minimize": "Minimiziraj pitanje", "session.question.restore": "Vrati pitanje", "session.question.pending.one": "{{count}} pitanje na čekanju", + "session.question.pending.few": "{{count}} pitanja na čekanju", "session.question.pending.other": "{{count}} pitanja na čekanju", "session.followupDock.summary.one": "{{count}} poruka na čekanju", + "session.followupDock.summary.few": "{{count}} poruke na čekanju", "session.followupDock.summary.other": "{{count}} poruka na čekanju", "session.followupDock.sendNow": "Pošalji sada", "session.followupDock.edit": "Uredi", "session.followupDock.collapse": "Sažmi poruke na čekanju", "session.followupDock.expand": "Proširi poruke na čekanju", "session.revertDock.summary.one": "{{count}} vraćena poruka", + "session.revertDock.summary.few": "{{count}} vraćene poruke", "session.revertDock.summary.other": "{{count}} vraćenih poruka", "session.revertDock.collapse": "Sažmi vraćene poruke", "session.revertDock.expand": "Proširi vraćene poruke", @@ -717,7 +854,13 @@ export const dict = { "terminal.close": "Zatvori terminal", "terminal.connectionLost.title": "Veza prekinuta", "terminal.connectionLost.description": - "Veza s terminalom je prekinuta. Ovo se može desiti kada se server restartuje.", + "Veza s terminalom je prekinuta. Ovo se može desiti kada se server ponovo pokrene.", + "terminal.connectTicket.csrfError": + "PTY tiket za povezivanje odbijen je zbog provjera porijekla ili CSRF-a. Provjeri CORS konfiguraciju servera.", + "terminal.connectTicket.statusError": "PTY tiket za povezivanje nije uspio sa statusom {{status}}", + + "titlebar.update": "Ažuriraj", + "titlebar.updateVersion": "Ažuriraj {{version}}", "common.closeTab": "Zatvori karticu", "common.dismiss": "Odbaci", @@ -725,7 +868,8 @@ export const dict = { "common.moreOptions": "Više opcija", "common.learnMore": "Saznaj više", "common.rename": "Preimenuj", - "common.reset": "Resetuj", + "common.export": "Izvezi", + "common.reset": "Vrati na početno stanje", "common.archive": "Arhiviraj", "common.delete": "Izbriši", "common.close": "Zatvori", @@ -782,7 +926,7 @@ export const dict = { "settings.general.row.font.title": "Font za kod", "settings.general.row.font.description": "Prilagodi font koji se koristi u blokovima koda", "settings.general.row.terminalFont.title": "Font terminala", - "settings.general.row.terminalFont.description": "Prilagodite font koji se koristi u terminalu", + "settings.general.row.terminalFont.description": "Prilagodi font koji se koristi u terminalu", "settings.general.row.uiFont.title": "UI font", "settings.general.row.uiFont.description": "Prilagodi font koji se koristi u cijelom interfejsu", "settings.general.row.followup.title": "Ponašanje nadovezivanja", @@ -817,15 +961,16 @@ export const dict = { "settings.general.row.newInterface.title": "Novi raspored", "settings.general.row.newInterface.badge": "Novo", "settings.general.row.newInterface.description": - "Koristite nove kartice i raspored početne stranice. Ograničeno vrijeme možete se prebacivati između rasporeda.", - "settings.general.row.newInterfaceNotice.title": "Sada koristite novi raspored", + "Koristi nove kartice i raspored početne stranice. Ograničeno vrijeme možeš se prebacivati između rasporeda.", + "settings.general.row.newInterfaceNotice.title": "Sada koristiš novi raspored", "settings.general.row.newInterfaceNotice.description": "Prethodni raspored više nije dostupan", "settings.general.row.newInterfaceNotice.dismiss": "Odbaci", "settings.general.row.pinchZoom.title": "Zumiranje štipanjem", "settings.general.row.pinchZoom.description": "Dozvoli zumiranje gestom štipanja na dodirnoj ploči i pomoću Ctrl-pomjeranja", "settings.general.row.wayland.title": "Koristi nativni Wayland", - "settings.general.row.wayland.description": "Onemogući X11 fallback na Waylandu. Zahtijeva restart.", + "settings.general.row.wayland.description": + "Onemogući rezervni X11 način rada na Waylandu. Zahtijeva ponovno pokretanje.", "settings.general.row.wayland.tooltip": "Na Linuxu sa monitorima miješanih stopa osvježavanja, nativni Wayland može biti stabilniji.", @@ -941,7 +1086,7 @@ export const dict = { "settings.mcp.description": "MCP postavke će se ovdje moći podešavati.", "settings.permissions.title": "Dozvole", - "settings.permissions.description": "Kontroliši koje alate server smije koristiti po defaultu.", + "settings.permissions.description": "Kontroliši koje alate server smije koristiti zadano.", "settings.permissions.section.tools": "Alati", "settings.permissions.toast.updateFailed.title": "Neuspjelo ažuriranje dozvola", @@ -953,7 +1098,7 @@ export const dict = { "settings.permissions.tool.read.description": "Čitanje datoteke (podudara se s putanjom datoteke)", "settings.permissions.tool.edit.title": "Uređivanje", "settings.permissions.tool.edit.description": - "Mijenjanje datoteka, uključujući izmjene, pisanja, patch-eve i multi-izmjene", + "Mijenjanje datoteka, uključujući uređivanje, pisanje, zakrpe i višestruke izmjene", "settings.permissions.tool.glob.title": "Glob", "settings.permissions.tool.glob.description": "Podudaranje datoteka pomoću glob šablona", "settings.permissions.tool.grep.title": "Grep", @@ -989,26 +1134,26 @@ export const dict = { "workspace.type.sandbox": "sandbox", "workspace.create.failed.title": "Neuspješno kreiranje radnog prostora", "workspace.delete.failed.title": "Neuspješno brisanje radnog prostora", - "workspace.resetting.title": "Resetovanje radnog prostora", + "workspace.resetting.title": "Vraćanje radnog prostora na početno stanje", "workspace.resetting.description": "Ovo može potrajati minut.", - "workspace.reset.failed.title": "Neuspješno resetovanje radnog prostora", - "workspace.reset.success.title": "Radni prostor resetovan", + "workspace.reset.failed.title": "Neuspješno vraćanje radnog prostora na početno stanje", + "workspace.reset.success.title": "Radni prostor vraćen na početno stanje", "workspace.reset.success.description": "Radni prostor sada odgovara podrazumijevanoj grani.", "workspace.error.stillPreparing": "Radni prostor se još priprema", - "workspace.status.checking": "Provjera neobjedinjenih promjena...", + "workspace.status.checking": "Provjera promjena koje nisu commitovane...", "workspace.status.error": "Nije moguće provjeriti git status.", - "workspace.status.clean": "Nisu pronađene neobjedinjene promjene.", - "workspace.status.dirty": "Pronađene su neobjedinjene promjene u ovom radnom prostoru.", + "workspace.status.clean": "Nisu pronađene promjene koje nisu commitovane.", + "workspace.status.dirty": "Pronađene su promjene koje nisu commitovane u ovom radnom prostoru.", "workspace.delete.title": "Izbriši radni prostor", "workspace.delete.confirm": 'Izbriši radni prostor "{{name}}"?', "workspace.delete.button": "Izbriši radni prostor", - "workspace.reset.title": "Resetuj radni prostor", - "workspace.reset.confirm": 'Resetuj radni prostor "{{name}}"?', - "workspace.reset.button": "Resetuj radni prostor", + "workspace.reset.title": "Vrati radni prostor na početno stanje", + "workspace.reset.confirm": 'Vrati radni prostor "{{name}}" na početno stanje?', + "workspace.reset.button": "Vrati radni prostor na početno stanje", "workspace.reset.archived.none": "Nijedna aktivna sesija neće biti arhivirana.", "workspace.reset.archived.one": "1 sesija će biti arhivirana.", "workspace.reset.archived.many": "Biće arhivirano {{count}} sesija.", - "workspace.reset.note": "Ovo će resetovati radni prostor da odgovara podrazumijevanoj grani.", + "workspace.reset.note": "Ovo će vratiti radni prostor na stanje podrazumijevane grane.", "common.open": "Otvori", "dialog.releaseNotes.action.getStarted": "Započni", "dialog.releaseNotes.action.next": "Sljedeće", @@ -1021,8 +1166,8 @@ export const dict = { "common.time.minutesAgo.short": "prije {{count}} min", "common.time.hoursAgo.short": "prije {{count}} h", "common.time.daysAgo.short": "prije {{count}} d", - "settings.providers.connected.environmentDescription": "Povezano sa vašim varijablama okruženja", - "settings.providers.custom.description": "Dodajte provajdera kompatibilnog s OpenAI putem osnovnog URL-a.", + "settings.providers.connected.environmentDescription": "Povezano s tvojim varijablama okruženja", + "settings.providers.custom.description": "Dodaj provajdera kompatibilnog s OpenAI putem baznog URL-a.", "app.server.unreachable": "Nije moguće pristupiti {{server}}", "app.server.retrying": "Automatski ponovni pokušaj...", @@ -1031,13 +1176,16 @@ export const dict = { "dialog.server.add.passwordPlaceholder": "lozinka", "server.row.noUsername": "nema korisničkog imena", "session.review.noVcs.createGit.title": "Kreiraj Git repozitorij", - "session.review.noVcs.createGit.description": "Pratite, pregledajte i poništite promjene u ovom projektu", + "session.review.noVcs.createGit.description": "Prati, pregledaj i poništi promjene u ovom projektu", "session.review.noVcs.createGit.actionLoading": "Kreiranje Git repozitorija...", "session.review.noVcs.createGit.action": "Kreiraj Git repozitorij", "session.todo.progress": "{{done}} od {{total}} zadataka završeno", "session.question.progress": "{{current}} od {{total}} pitanja", "session.header.open.finder": "Finder", "session.header.open.fileExplorer": "File Explorer", + "session.header.reveal.finder": "Prikaži u Finderu", + "session.header.reveal.fileExplorer": "Prikaži u File Exploreru", + "session.header.reveal.containingFolder": "Otvori fasciklu koja sadrži ovu stavku", "session.header.open.fileManager": "File Manager", "session.header.open.app.vscode": "VS Code", "session.header.open.app.cursor": "Cursor", @@ -1075,6 +1223,14 @@ export const dict = { "debugBar.mem.label": "MEM", "debugBar.mem.tipUnavailable": "Korišteni JS heap naspram limita heapa. Samo Chromium.", "debugBar.mem.tip": "Korišteni JS heap naspram limita heapa. {{used}} od {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Prisilno primijeni stilove fokusa na sve interaktivne elemente", + "debugBar.focus.on": "UKLJUČENO", + "debugBar.focus.off": "ISKLJUČENO", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Prisilno postavi smjer rasporeda cijele aplikacije bez promjene odabranog jezika", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", "common.key.ctrl": "Ctrl", "common.key.alt": "Alt", "common.key.shift": "Shift", diff --git a/packages/app/src/i18n/ca.ts b/packages/app/src/i18n/ca.ts new file mode 100644 index 000000000000..21ad325607a6 --- /dev/null +++ b/packages/app/src/i18n/ca.ts @@ -0,0 +1,1173 @@ +export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Fitxer", + "desktop.menu.edit": "Edita", + "desktop.menu.view": "Veure", + "desktop.menu.go": "Vés", + "desktop.menu.window": "Finestra", + "desktop.menu.help": "Ajuda", + "desktop.menu.checkForUpdates": "Comproveu si hi ha actualitzacions...", + "desktop.menu.settings": "Configuració", + "desktop.menu.reloadWebview": "Torna a carregar Webview", + "desktop.menu.restart": "Reinicieu", + "desktop.menu.exportLogs": "Exporta registres...", + "desktop.menu.newSession": "Nova sessió", + "desktop.menu.openProject": "Projecte obert...", + "desktop.menu.newWindow": "Finestra nova", + "desktop.menu.closeWindow": "Tanca la finestra", + "desktop.menu.undo": "Desfer", + "desktop.menu.redo": "Refer", + "desktop.menu.cut": "Tallar", + "desktop.menu.copy": "Còpia", + "desktop.menu.paste": "Enganxa", + "desktop.menu.delete": "Suprimeix", + "desktop.menu.selectAll": "Seleccioneu Tot", + "desktop.menu.toggleSidebar": "Commuta la barra lateral", + "desktop.menu.toggleTerminal": "Commuta el terminal", + "desktop.menu.toggleFileTree": "Commuta l'arbre de fitxers", + "desktop.menu.reload": "Torna a carregar", + "desktop.menu.toggleDeveloperTools": "Alterna Eines per a desenvolupadors", + "desktop.menu.actualSize": "Mida real", + "desktop.menu.zoomIn": "Apropa", + "desktop.menu.zoomOut": "Allunya el zoom", + "desktop.menu.toggleFullScreen": "Commuta la pantalla completa", + "desktop.menu.back": "Enrere", + "desktop.menu.forward": "Endavant", + "desktop.menu.previousSession": "Sessió anterior", + "desktop.menu.nextSession": "Propera sessió", + "desktop.menu.previousProject": "Projecte anterior", + "desktop.menu.nextProject": "Projecte següent", + "desktop.menu.minimize": "Minimitzar", + "desktop.menu.maximize": "Maximitzar", + "desktop.menu.documentation": "OpenCode Documentació", + "desktop.menu.supportForum": "Fòrum de suport", + "desktop.menu.shareFeedback": "Comparteix comentaris", + "desktop.menu.reportBug": "Informar d'un error", + "desktop.menu.ariaLabel": "menú OpenCode.", + "desktop.updater.dialog.checkFailed.message": "La comprovació d'actualització ha fallat.", + "desktop.updater.dialog.checkFailed.title": "Error d'actualització", + "desktop.updater.dialog.upToDate.message": "Estàs al dia.", + "desktop.updater.dialog.upToDate.title": "No hi ha actualitzacions", + "desktop.updater.dialog.ready.message": "Actualització {{version}} baixada. Reiniciar ara?", + "desktop.updater.dialog.ready.title": "Actualització llesta", + "desktop.updater.dialog.restart": "Reinicieu", + "desktop.updater.dialog.later": "Més tard", + "desktop.recovery.action.relaunch": "Relançar", + "desktop.recovery.action.exportLogs": "Exporta registres", + "desktop.recovery.action.keepWaiting": "Seguiu esperant", + "desktop.recovery.action.quit": "Surt", + "desktop.recovery.loadFailed": "OpenCode no s'ha pogut carregar", + "desktop.recovery.terminated": "La finestra OpenCode s'ha acabat inesperadament", + "desktop.recovery.unresponsive": "OpenCode no respon", + "desktop.recovery.unresponsive.detail": "Podeu reiniciar l'aplicació, obrir els registres o continuar esperant.", + "desktop.recovery.loadFailed.detail": "Finestra: {{window}}\nURL: {{url}}\nError: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Finestra: {{window}}\nMotiu: {{reason}}\nCodi: {{code}}", + "desktop.recovery.unknown": "", + "desktop.dialog.chooseFolder": "Trieu una carpeta", + "desktop.dialog.chooseFile": "Trieu un fitxer", + "desktop.dialog.saveFile": "Desa el fitxer", + "desktop.dialog.files": "Fitxers", + "desktop.server.local": "Servidor local", + "desktop.wsl.error.windowsOnly": "WSL només està disponible a Windows", + "desktop.wsl.error.unavailable": "WSL no està disponible", + "desktop.wsl.error.listInstalled": "No s'ha pogut llistar les WSL distribucions instal·lades", + "desktop.wsl.error.listOnline": "No s'han pogut enumerar WSL distribucions en línia", + "desktop.wsl.error.executeDistro": "No es poden executar ordres a la distribució", + "desktop.wsl.error.installWsl": "La instal·lació de WSL ha fallat", + "desktop.wsl.error.installDistro": "No s'ha pogut instal·lar la distribució: {{distro}}", + "desktop.wsl.error.installOpencode": "La instal·lació de OpenCode ha fallat", + "desktop.wsl.error.alreadyAdded": "{{distro}} ja està afegit", + "desktop.wsl.error.opencodeMissing": "opencode no està instal·lat en aquesta distribució", + "desktop.wsl.error.opencodeCannotRun": "opencode està instal·lat però no s'ha pogut executar", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode no està instal·lat a {{distro}}", + "desktop.wsl.error.updateVersion": + "OpenCode actualització acabada però {{distro}} encara informa {{installed}}; esperat {{expected}}", + "desktop.wsl.error.noVersion": "cap versió", + "desktop.wsl.error.serverExited": + "El servidor WSL s'ha tancat després d'iniciar-se (code={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "El servidor WSL s'ha tancat abans d'estar operatiu (code={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": + "S'ha esgotat el temps d'espera del sidecar per a {{distro}} comprovació de salut després de {{timeout}}ms", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} s'ha esgotat després de {{timeout}}ms", + "desktop.wsl.error.failedPort": "No s'ha pogut obtenir el port", + "desktop.picker.error.notSelected": "El selector no ha seleccionat el fitxer", + "desktop.picker.error.sizeLimit": "Els fitxers adjunts seleccionats superen el límit de {{limit}} MB", + "command.category.suggested": "Suggerit", + "command.category.view": "Veure", + "command.category.project": "Projecte", + "command.category.provider": "Proveïdor", + "command.category.server": "Servidor", + "command.category.session": "Sessió", + "command.category.theme": "Tema", + "command.category.language": "Llengua", + "command.category.file": "Fitxer", + "command.category.context": "Context", + "command.category.terminal": "Terminal", + "command.category.model": "Model", + "command.category.mcp": "MCP", + "command.category.agent": "Agent", + "command.category.permissions": "Permisos", + "command.category.workspace": "Espai de treball", + "command.category.settings": "Configuració", + "command.logs.export": "Exportar registres", + "theme.scheme.system": "Sistema", + "theme.scheme.light": "Llum", + "theme.scheme.dark": "Fosc", + "command.sidebar.toggle": "Canvia la barra lateral", + "command.project.open": "Projecte obert", + "command.project.previous": "Projecte anterior", + "command.project.next": "Projecte següent", + "command.project.index": "Canvia al projecte {{index}}", + "command.provider.connect": "Connecta el proveïdor", + "command.server.switch": "Canvia de servidor", + "command.settings.open": "Obre la configuració", + "command.session.previous": "Sessió anterior", + "command.session.next": "Sessió següent", + "command.session.previous.unseen": "Sessió anterior sense llegir", + "command.session.next.unseen": "Pròxima sessió sense llegir", + "command.session.archive": "Sessió d'arxiu", + "command.palette": "Paleta de comandaments", + "command.theme.cycle": "Temàtica del cicle", + "command.theme.set": "Utilitza el tema: {{theme}}", + "command.theme.scheme.cycle": "Esquema de colors del cicle", + "command.theme.scheme.set": "Utilitza l'esquema de colors: {{scheme}}", + "command.language.cycle": "Llenguatge de cicle", + "command.language.set": "Utilitza l'idioma: {{language}}", + "command.session.new": "Nova sessió", + "command.file.open": "Obre el fitxer", + "command.tab.close": "Tanca la pestanya", + "command.tab.reopenClosed": "Torneu a obrir la pestanya tancada", + "command.context.addSelection": "Afegeix la selecció al context", + "command.context.addSelection.description": "Afegeix les línies seleccionades del fitxer actual", + "command.input.focus": "Entrada de focus", + "command.terminal.toggle": "Canvia el terminal", + "command.fileTree.toggle": "Commuta l'arbre de fitxers", + "command.review.toggle": "Commuta la revisió", + "command.terminal.new": "Nou terminal", + "command.terminal.new.description": "Creeu una nova pestanya de terminal", + "command.steps.toggle": "Commuta els passos", + "command.steps.toggle.description": "Mostra o amaga els passos del missatge actual", + "command.message.previous": "Missatge anterior", + "command.message.previous.description": "Aneu al missatge anterior de l'usuari", + "command.message.next": "Següent missatge", + "command.message.next.description": "Aneu al següent missatge de l'usuari", + "command.model.choose": "Tria el model", + "command.model.choose.description": "Seleccioneu un model diferent", + "command.mcp.toggle": "Commuta els MCP", + "command.mcp.toggle.description": "Commuta els MCP", + "command.agent.cycle": "Agent de cicle", + "command.agent.cycle.description": "Canvia al següent agent", + "command.agent.cycle.reverse": "Cicle l'agent cap enrere", + "command.agent.cycle.reverse.description": "Canvia a l'agent anterior", + "command.model.variant.cycle": "Esforç de pensar en cicle", + "command.model.variant.cycle.description": "Canvia al següent nivell d'esforç", + "command.prompt.mode.shell": "Shell", + "command.prompt.mode.normal": "Indicació", + "command.permissions.autoaccept.enable": "Permisos d'acceptació automàtica", + "command.permissions.autoaccept.disable": "Atura l'acceptació automàtica de permisos", + "command.workspace.toggle": "Commuta els espais de treball", + "command.workspace.toggle.description": "Activa o desactiva diversos espais de treball a la barra lateral", + "command.session.undo": "Desfer", + "command.session.undo.description": "Desfer l'últim missatge", + "command.session.redo": "Refer", + "command.session.redo.description": "Torna a fer l'últim missatge desfet", + "command.session.compact": "Sessió compacta", + "command.session.compact.description": "Resumeix la sessió per reduir la mida del context", + "command.session.fork": "Bifurcació del missatge", + "command.session.fork.description": "Crea una sessió nova a partir d'un missatge anterior", + "command.session.share": "Compartir sessió", + "command.session.share.description": "Comparteix aquesta sessió i copia el URL al porta-retalls", + "command.session.unshare": "Deixa de compartir la sessió", + "command.session.unshare.description": "Deixa de compartir aquesta sessió", + "command.session.export": "Sessió d'exportació", + "command.session.export.description": "Exporta la transcripció completa de la sessió com a JSON", + "palette.search.placeholder": "Cerca fitxers, ordres i sessions", + "palette.search.placeholder.home": "Cerca ordres i sessions", + "palette.empty": "No s'han trobat resultats", + "palette.group.commands": "Ordres", + "palette.group.files": "Fitxers", + "dialog.provider.search.placeholder": "Cerca proveïdors", + "dialog.provider.empty": "No s'han trobat proveïdors", + "dialog.provider.group.popular": "Popular", + "dialog.provider.group.other": "Altres", + "dialog.provider.custom.label": "Proveïdor personalitzat compatible amb OpenAI.", + "dialog.provider.tag.recommended": "Recomanat", + "dialog.provider.opencode.note": "Models seleccionats que inclouen Claude, GPT, Gemini i més", + "dialog.provider.opencode.tagline": "Models optimitzats fiables", + "dialog.provider.opencodeGo.tagline": "Subscripció de baix cost per a tothom", + "dialog.provider.anthropic.note": "Accés directe a Claude models, inclosos Pro i Max", + "dialog.provider.copilot.note": "Models d'IA per a l'assistència de codificació mitjançant GitHub Copilot", + "dialog.provider.openai.note": "GPT models per a tasques d'IA generals ràpides i capaces", + "dialog.provider.google.note": "Gemini models per a respostes ràpides i estructurades", + "dialog.provider.openrouter.note": "Accediu a tots els models compatibles des d'un proveïdor", + "dialog.provider.vercel.note": "Accés unificat als models d'IA amb enrutament intel·ligent", + "dialog.model.select.title": "Seleccioneu el model", + "dialog.model.search.placeholder": "Cerca models", + "dialog.model.empty": "No hi ha resultats del model", + "dialog.model.manage": "Gestionar models", + "dialog.model.manage.description": "Personalitza quins models apareixen al selector de models.", + "dialog.model.manage.provider.toggle": "Canvia tots els {{provider}} models", + "dialog.model.unpaid.freeModels.title": "Models gratuïts proporcionats per OpenCode", + "dialog.model.unpaid.addMore.title": "Afegiu més models de proveïdors populars", + "dialog.model.unpaid.viewMoreProviders": "Consulta més de 70 proveïdors més", + "dialog.provider.viewAll": "Mostra més proveïdors", + "provider.connect.title": "Connecta {{provider}}", + "provider.connect.title.anthropicProMax": "Inicieu sessió amb Claude Pro/Max", + "provider.connect.selectMethod": "Seleccioneu el mètode d'inici de sessió per a {{provider}}.", + "provider.connect.method.apiKey": "tecla API.", + "provider.connect.method.browser": "Navegador", + "provider.connect.method.headless": "Sense cap", + "provider.connect.status.inProgress": "Autorització en curs...", + "provider.connect.status.waiting": "Esperant l'autorització...", + "provider.connect.status.failed": "L'autorització ha fallat: {{error}}", + "provider.connect.apiKey.description": + "Introduïu la clau API de {{provider}} per connectar el compte i utilitzar els models de {{provider}} a OpenCode.", + "provider.connect.apiKey.label": "Tecla {{provider}} API.", + "provider.connect.apiKey.placeholder": "tecla API.", + "provider.connect.apiKey.required": "La clau API és necessària", + "provider.connect.opencodeZen.line1": + "OpenCode Zen us ofereix accés a un conjunt seleccionat de models optimitzats fiables per a agents de codificació.", + "provider.connect.opencodeZen.line2": + "Amb una sola tecla API tindreu accés a models com ara Claude, GPT, Gemini, GLM i més.", + "provider.connect.opencodeZen.visit.prefix": "Visita ", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": " per recollir la teva clau API.", + "provider.connect.oauth.code.visit.prefix": "Visita ", + "provider.connect.oauth.code.visit.link": "aquest enllaç", + "provider.connect.oauth.code.visit.suffix": + " per recollir el vostre codi d'autorització per connectar el vostre compte i utilitzar {{provider}} models a OpenCode.", + "provider.connect.oauth.code.label": "{{method}} codi d'autorització", + "provider.connect.oauth.code.placeholder": "Codi d'autorització", + "provider.connect.oauth.code.required": "Cal un codi d'autorització", + "provider.connect.oauth.code.invalid": "Codi d'autorització no vàlid", + "provider.connect.oauth.auto.visit.prefix": "Visita ", + "provider.connect.oauth.auto.visit.link": "aquest enllaç", + "provider.connect.oauth.auto.visit.suffix": + " i introduïu el codi següent per connectar el vostre compte i utilitzar {{provider}} models a OpenCode.", + "provider.connect.oauth.auto.confirmationCode": "Codi de confirmació", + "provider.connect.toast.connected.title": "{{provider}} connectat", + "provider.connect.toast.connected.description": "{{provider}} ara es poden utilitzar models.", + "provider.custom.title": "Proveïdor personalitzat", + "provider.custom.unavailable": "Els proveïdors personalitzats no estan disponibles en aquest servidor", + "provider.custom.description.prefix": "Configureu un proveïdor compatible amb OpenAI. Veure el ", + "provider.custom.description.link": "documents de configuració del proveïdor", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "Proveïdor ID", + "provider.custom.field.providerID.placeholder": "myprovider", + "provider.custom.field.providerID.description": "Lletres minúscules, números, guions o guions baixos", + "provider.custom.field.name.label": "Nom de visualització", + "provider.custom.field.name.placeholder": "El meu proveïdor d'IA", + "provider.custom.field.baseURL.label": "URL base", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "tecla API.", + "provider.custom.field.apiKey.placeholder": "tecla API.", + "provider.custom.field.apiKey.description": + "Opcional. Deixeu-lo en blanc si gestioneu l'autenticació mitjançant les capçaleres.", + "provider.custom.models.label": "Models", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "model-id", + "provider.custom.models.name.label": "Nom", + "provider.custom.models.name.placeholder": "Nom de visualització", + "provider.custom.models.remove": "Elimina el model", + "provider.custom.models.add": "Afegeix un model", + "provider.custom.headers.label": "Capçaleres (opcional)", + "provider.custom.headers.key.label": "Capçalera", + "provider.custom.headers.key.placeholder": "Header-Name", + "provider.custom.headers.value.label": "Valor", + "provider.custom.headers.value.placeholder": "value", + "provider.custom.headers.remove": "Elimina la capçalera", + "provider.custom.headers.add": "Afegeix una capçalera", + "provider.custom.error.providerID.required": "Es requereix el proveïdor ID.", + "provider.custom.error.providerID.format": "Utilitzeu lletres minúscules, números, guions o guions baixos", + "provider.custom.error.providerID.exists": "Aquest proveïdor ID ja existeix", + "provider.custom.error.name.required": "El nom de visualització és obligatori", + "provider.custom.error.baseURL.required": "La base URL és necessària", + "provider.custom.error.baseURL.format": "Ha de començar per http:// o https://", + "provider.custom.error.required": "Obligatori", + "provider.custom.error.duplicate": "Duplicat", + "provider.disconnect.toast.disconnected.title": "{{provider}} desconnectat", + "provider.disconnect.toast.disconnected.description": "{{provider}} models ja no estan disponibles.", + "model.tag.free": "Gratuït", + "model.tag.latest": "Última", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "text", + "model.input.image": "imatge", + "model.input.audio": "àudio", + "model.input.video": "vídeo", + "model.input.pdf": "pdf", + "model.tooltip.allows": "Permet: {{inputs}}", + "model.tooltip.context.label": "Context", + "model.tooltip.inputs": "Entrades", + "model.tooltip.model": "Model", + "model.tooltip.provider": "Proveïdor", + "model.tooltip.reasoning": "Raonament", + "model.tooltip.reasoning.allowed": "Permet raonar", + "model.tooltip.reasoning.none": "Sense raonament", + "model.tooltip.context": "Límit de context {{limit}}", + "common.search.placeholder": "Cerca", + "common.goBack": "Navega enrere", + "common.goForward": "Navega cap endavant", + "common.loading": "Carregant", + "common.loading.ellipsis": "...", + "common.cancel": "Cancel·la", + "common.clear": "Clar", + "common.open": "Obert", + "common.connect": "Connecta't", + "common.disconnect": "Desconnecta", + "common.continue": "Continua", + "common.submit": "Envia", + "common.save": "Desa", + "common.saving": "S'està desant...", + "common.default": "Per defecte", + "common.attachment": "adjunt", + "prompt.placeholder.shell": "Introduïu una ordre de l'intèrpret d'ordres... {{example}}", + "prompt.placeholder.normal": 'Pregunta qualsevol cosa... "{{example}}"', + "prompt.placeholder.simple": "Pregunta qualsevol cosa...", + "prompt.placeholder.summarizeComments": "Resum dels comentaris...", + "prompt.placeholder.summarizeComment": "Resumeix el comentari...", + "prompt.mode.shell": "Shell", + "prompt.mode.normal": "Indicació", + "prompt.mode.shell.exit": "esc per sortir", + "session.child.promptDisabled": "No es poden demanar sessions de subagent.", + "session.child.backToParent": "Torna a la sessió principal.", + "prompt.example.1": "Arregleu una TODO a la base de codi", + "prompt.example.2": "Quina és la pila tecnològica d'aquest projecte?", + "prompt.example.3": "Arreglar les proves trencades", + "prompt.example.4": "Explica com funciona l'autenticació", + "prompt.example.5": "Trobeu i solucioneu les vulnerabilitats de seguretat", + "prompt.example.6": "Afegiu proves unitàries per al servei d'usuari", + "prompt.example.7": "Refactoritza aquesta funció per ser més llegible", + "prompt.example.8": "Què significa aquest error?", + "prompt.example.9": "Ajudeu-me a depurar aquest problema", + "prompt.example.10": "Genera API documentació", + "prompt.example.11": "Optimitzar les consultes a la base de dades", + "prompt.example.12": "Afegiu la validació d'entrada", + "prompt.example.13": "Crea un component nou per...", + "prompt.example.14": "Com implemento aquest projecte?", + "prompt.example.15": "Revisa el meu codi per conèixer les pràctiques recomanades", + "prompt.example.16": "Afegiu la gestió d'errors a aquesta funció", + "prompt.example.17": "Expliqueu aquest patró d'expressió regular", + "prompt.example.18": "Converteix això a TypeScript", + "prompt.example.19": "Afegiu registres a tota la base de codi", + "prompt.example.20": "Quines dependències estan obsoletes?", + "prompt.example.21": "Ajudeu-me a escriure un script de migració", + "prompt.example.22": "Implementeu la memòria cau per a aquest punt final", + "prompt.example.23": "Afegeix la paginació a aquesta llista", + "prompt.example.24": "Creeu una ordre CLI per...", + "prompt.example.25": "Com funcionen les variables d'entorn aquí?", + "prompt.popover.emptyResults": "No hi ha resultats coincidents", + "prompt.popover.emptyCommands": "No hi ha ordres coincidents", + "prompt.dropzone.label": "Deixa anar imatges, PDFs o fitxers de text aquí", + "prompt.dropzone.file.label": "Aneu al fitxer @menció", + "prompt.slash.badge.custom": "costum", + "prompt.slash.badge.skill": "habilitat", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "actiu", + "prompt.context.includeActiveFile": "Inclou el fitxer actiu", + "prompt.context.removeActiveFile": "Elimina el fitxer actiu del context", + "prompt.context.removeFile": "Elimina el fitxer del context", + "prompt.action.attachFile": "Afegeix fitxers", + "prompt.menu.addImagesAndFiles": "Afegeix fitxers i més", + "prompt.menu.imagesAndFiles": "Imatges i fitxers", + "prompt.menu.commands": "Ordres", + "prompt.menu.context": "Context", + "prompt.menu.shellCommand": "Ordre de l'intèrpret d'ordres", + "prompt.attachment.remove": "Elimina el fitxer adjunt", + "prompt.action.send": "Enviar", + "prompt.action.stop": "Atureu-vos", + "prompt.toast.pasteUnsupported.title": "Fitxer adjunt no compatible", + "prompt.toast.pasteUnsupported.description": "Aquí només es poden adjuntar imatges, PDFs o fitxers de text.", + "prompt.toast.attachmentDuplicate.title": "Aquest fitxer ja s'ha penjat", + "prompt.toast.modelAgentRequired.title": "Seleccioneu un agent i un model", + "prompt.toast.modelAgentRequired.description": "Trieu un agent i un model abans d'enviar una sol·licitud.", + "prompt.toast.worktreeCreateFailed.title": "No s'ha pogut crear l'arbre de treball", + "prompt.toast.sessionCreateFailed.title": "No s'ha pogut crear la sessió", + "prompt.toast.shellSendFailed.title": "No s'ha pogut enviar l'ordre del shell", + "prompt.toast.commandSendFailed.title": "No s'ha pogut enviar l'ordre", + "prompt.toast.promptSendFailed.title": "No s'ha pogut enviar la sol·licitud", + "prompt.toast.promptSendFailed.description": "No es pot recuperar la sessió", + "dialog.mcp.title": "MCP", + "dialog.mcp.description": "{{enabled}} de {{total}} activat", + "dialog.mcp.empty": "No s'ha configurat cap MCP", + "dialog.lsp.empty": "Els LSP s'han detectat automàticament a partir dels tipus de fitxers", + "dialog.plugins.empty": "Connectors configurats a opencode.json", + "mcp.status.connected": "connectat", + "mcp.status.failed": "fracassat", + "mcp.status.needs_auth": "necessita autenticació", + "mcp.status.disabled": "discapacitat", + "mcp.auth.clickToAuthenticate": "Feu clic per autenticar-vos", + "dialog.fork.empty": "No hi ha missatges per bifurcar", + "dialog.directory.search.placeholder": "Cerca carpetes", + "dialog.directory.empty": "No s'han trobat carpetes", + "dialog.directory.action.selectFile": "Seleccioneu el fitxer", + "dialog.directory.action.selectFolder": "Seleccioneu la carpeta", + "dialog.directory.root": "Arrel", + "dialog.directory.parent": "Pare", + "dialog.directory.readError": "No es pot llegir aquesta carpeta", + "app.server.unreachable": "No s'ha pogut arribar a {{server}}", + "app.server.retrying": "S'està tornant a provar automàticament...", + "app.server.otherServers": "Altres servidors", + "dialog.server.title": "Servidors", + "dialog.server.description": "Canvia a quin OpenCode servidor es connecta aquesta aplicació.", + "dialog.server.search.placeholder": "Servidors de cerca", + "dialog.server.empty": "Encara no hi ha servidors", + "dialog.server.add.title": "Afegeix servidor", + "dialog.server.add.url": "Adreça del servidor", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "No s'ha pogut connectar al servidor", + "dialog.server.add.checking": "S'està comprovant...", + "dialog.server.add.button": "Afegeix servidor", + "dialog.server.add.name": "Nom del servidor (opcional)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "Nom d'usuari (opcional)", + "dialog.server.add.usernamePlaceholder": "nom d'usuari", + "dialog.server.add.password": "Contrasenya (opcional)", + "dialog.server.add.passwordPlaceholder": "contrasenya", + "dialog.server.edit.title": "Edita el servidor", + "dialog.server.default.title": "Servidor per defecte", + "dialog.server.default.description": + "Connecteu-vos a aquest servidor en iniciar l'aplicació en lloc d'iniciar un servidor local. Requereix reinici.", + "dialog.server.default.none": "No s'ha seleccionat cap servidor", + "dialog.server.default.set": "Estableix el servidor actual com a predeterminat", + "dialog.server.default.clear": "Clar", + "dialog.server.action.remove": "Elimina el servidor", + "dialog.server.menu.edit": "Edita", + "dialog.server.menu.default": "Estableix com a predeterminat", + "dialog.server.menu.defaultRemove": "Elimina el valor predeterminat", + "dialog.server.menu.delete": "Suprimeix", + "dialog.server.current": "Servidor actual", + "dialog.server.status.default": "Per defecte", + "wsl.server.add": "Afegeix el servidor WSL.", + "wsl.server.addShort": "Afegeix WSL", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "WSL servidor", + "wsl.server.retryStart": "Torna a intentar començar", + "wsl.server.updating": "S'està actualitzant...", + "wsl.onboarding.step.distro": "Trieu la distribució", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "S'està comprovant WSL...", + "wsl.onboarding.restartRequired": "Windows necessita un reinici per acabar la instal·lació WSL.", + "wsl.onboarding.ready": "WSL està llest.", + "wsl.onboarding.required": "WSL és necessari per continuar.", + "wsl.onboarding.checkingDistros": "S'estan comprovant les distribucions...", + "wsl.onboarding.installingDistro": "S'està instal·lant {{distro}}...", + "wsl.onboarding.checkingDistro": "S'està comprovant {{distro}}...", + "wsl.onboarding.listingDistros": "Llistat de distribucions...", + "wsl.onboarding.distroReady": "{{distro}} està llest.", + "wsl.onboarding.distroNotInstalled": "{{distro}} encara no està instal·lat.", + "wsl.onboarding.openDistroOnce": "Obriu {{distro}} una vegada per acabar la configuració.", + "wsl.onboarding.finishingDistro": "S'està acabant la configuració de {{distro}}.", + "wsl.onboarding.pickDistro": "Trieu una distribució o instal·leu-ne una a continuació.", + "wsl.onboarding.checkingOpencode": "S'està comprovant OpenCode...", + "wsl.onboarding.checkingOpencodeIn": "S'està registrant OpenCode a {{distro}}...", + "wsl.onboarding.updatingOpencode": "S'està actualitzant OpenCode...", + "wsl.onboarding.updatingOpencodeIn": "S'està actualitzant OpenCode a {{distro}}...", + "wsl.onboarding.updateOpencodeIn": "Actualitza OpenCode a {{distro}}.", + "wsl.onboarding.updateOpencode": "Actualització OpenCode", + "wsl.onboarding.opencodeReadyIn": "OpenCode està llest a {{distro}}.", + "wsl.onboarding.opencodeReady": "OpenCode està llest.", + "wsl.onboarding.installOpencodeIn": "Instal·leu OpenCode a {{distro}}.", + "wsl.onboarding.installOpencode": "Instal·la OpenCode", + "wsl.onboarding.chooseDistroFirst": "Trieu primer una distribució.", + "wsl.onboarding.loadFailed": "No s'ha pogut carregar l'estat WSL.", + "wsl.onboarding.loading": "Carregant...", + "wsl.onboarding.installedDistros": "Distribucions instal·lades", + "wsl.onboarding.checkAgain": "Comproveu de nou", + "wsl.onboarding.distroStatus.ready": "A punt", + "wsl.onboarding.distroStatus.checking": "S'està comprovant...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode no instal·lat", + "wsl.onboarding.distroStatus.missingTools": "Falta bash, curl", + "wsl.onboarding.distroStatus.unsupported": "No s'admet · Utilitzeu WSL 2", + "wsl.onboarding.needAnotherDistro": "Necessites una altra distribució?", + "wsl.onboarding.needAnotherDistroHint": "Instal·leu una distribució Linux del catàleg WSL.", + "wsl.onboarding.wslNotInstalled.title": "WSL no instal·lat", + "wsl.onboarding.wslNotInstalled.description": + "WSL (Windows Subsistema per a Linux) és necessari abans que OpenCode pugui afegir un WSL servidor", + "wsl.onboarding.wslUnavailable.title": "WSL no disponible", + "wsl.onboarding.wslUnavailable.description": "OpenCode no ha pogut verificar WSL en aquesta màquina.", + "wsl.onboarding.installWsl": "Instal·la WSL", + "wsl.onboarding.windowsRestartRequired": + "Reinicieu Windows per acabar d'instal·lar WSL i, a continuació, torneu a obrir OpenCode.", + "wsl.onboarding.next": "A continuació", + "wsl.onboarding.refresh": "Actualitza", + "wsl.onboarding.allDistrosAdded": "Totes les distribucions instal·lades ja s'han afegit.", + "wsl.onboarding.noDistros": "Encara no s'ha detectat cap distribució.", + "wsl.onboarding.install": "Instal·lar", + "wsl.onboarding.installing": "S'està instal·lant...", + "wsl.onboarding.installDistro": "Instal·leu la distribució", + "wsl.onboarding.searchDistros": "Cerca distribucions", + "wsl.onboarding.wsl2Required": "WSL Es requereix 2.", + "wsl.onboarding.toolsRequired": "Aquesta distribució necessita bash i curl.", + "wsl.onboarding.openTerminal": "Terminal obert", + "wsl.onboarding.path": "Camí: {{path}}", + "wsl.onboarding.notFound": "no trobat", + "wsl.onboarding.version": "Versió: {{version}}", + "wsl.onboarding.unknown": "desconegut", + "wsl.onboarding.desktopVersion": "escriptori {{version}}", + "wsl.onboarding.versionMismatch": "La versió instal·lada no coincideix amb la versió de l'aplicació d'escriptori.", + "wsl.onboarding.adding": "S'està afegint...", + "help.tabs.toast.ariaLabel": + "Presentació de les pestanyes. Organitza el teu treball i les sessions actives amb pestanyes", + "help.tabs.toast.dismiss": "Ignora la informació de les pestanyes", + "help.tabs.title": "Presentació de les pestanyes", + "help.tabs.description": "Organitza el teu treball i les sessions actives amb pestanyes", + "help.tabs.date": "14 de juliol", + "help.tabs.introduction": "OpenCode L'escriptori ara està construït al voltant de pestanyes.", + "help.tabs.sessions": + "Inicieu una sessió nova en una pestanya o obriu una sessió existent des de qualsevol dels vostres projectes. Obre una pestanya nova quan comencis una cosa nova i tanca-la quan hagis acabat.", + "help.tabs.organize": + "Mantenir unes quantes pestanyes obertes facilita l'organització de les sessions actives. Canvieu el nom de les pestanyes a alguna cosa memorable si teniu previst mantenir-les.", + "help.tabs.home": + "Trobareu totes les sessions i els projectes a la nova pantalla d'inici. En seleccionar una sessió, s'obre en una pestanya.", + "help.tabs.persistence": "Quan torneu a obrir l'aplicació, les vostres pestanyes encara estan obertes.", + "help.tabs.worktrees": + "El nou disseny encara no és compatible amb Git Worktrees, arribarà aviat. Per tant, si preferiu continuar utilitzant el disseny anterior, podeu canviar entre els dissenys a Configuració. Tingueu en compte que el nou disseny esdevindrà permanent d'aquí a unes setmanes.", + "server.row.noUsername": "sense nom d'usuari", + "dialog.project.edit.title": "Edita el projecte", + "dialog.project.edit.name": "Nom", + "dialog.project.edit.icon": "Icona", + "dialog.project.edit.icon.alt": "Icona del projecte", + "dialog.project.edit.icon.hint": "Feu clic o arrossegueu una imatge", + "dialog.project.edit.icon.recommended": "Recomanat: 128x128px", + "dialog.project.edit.color": "Color", + "dialog.project.edit.color.select": "Seleccioneu el color {{color}}.", + "dialog.project.edit.worktree.startup": "Script d'inici de l'espai de treball", + "dialog.project.edit.worktree.startup.description": "S'executa després de crear un nou espai de treball (worktree).", + "dialog.project.edit.worktree.startup.placeholder": "p. ex. bun install", + "dialog.releaseNotes.action.getStarted": "Comença", + "dialog.releaseNotes.action.next": "A continuació", + "dialog.releaseNotes.action.hideFuture": "No mostris aquestes en el futur", + "dialog.releaseNotes.media.alt": "Allibera la vista prèvia", + "context.breakdown.title": "Desglossament del context", + "context.breakdown.note": + "Desglossament aproximat de fitxes d'entrada. \"Altres\" inclou definicions d'eines i despeses generals.", + "context.breakdown.system": "Sistema", + "context.breakdown.user": "Usuari", + "context.breakdown.assistant": "Assistent", + "context.breakdown.tool": "Trucades d'eines", + "context.breakdown.other": "Altres", + "context.systemPrompt.title": "Indicació del sistema", + "context.rawMessages.title": "Missatges crus", + "context.export.session": "Sessió d'exportació", + "context.stats.session": "Sessió", + "context.stats.messages": "Missatges", + "context.stats.provider": "Proveïdor", + "context.stats.model": "Model", + "context.stats.limit": "Límit de context", + "context.stats.totalTokens": "Total de fitxes", + "context.stats.usage": "Ús", + "context.stats.inputTokens": "Fitxes d'entrada", + "context.stats.outputTokens": "Fitxes de sortida", + "context.stats.reasoningTokens": "Fitxes de raonament", + "context.stats.cacheTokens": "Fitxes de memòria cau (lectura/escriptura)", + "context.stats.userMessages": "Missatges d'usuari", + "context.stats.assistantMessages": "Missatges de l'Assistent", + "context.stats.totalCost": "Cost total", + "context.stats.sessionCreated": "Sessió creada", + "context.stats.lastActivity": "Última Activitat", + "context.usage.tokens": "Fitxes", + "context.usage.usage": "Ús", + "context.usage.cost": "Cost", + "context.usage.clickToView": "Feu clic per veure el context", + "context.usage.view": "Veure l'ús del context", + "language.en": "Anglès", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Alemany", + "language.es": "Espanyol", + "language.fr": "Francès", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "Polski", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Norsk", + "language.br": "Portuguès (Brasil)", + "language.bs": "Bosanski", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Türkçe", + "toast.language.title": "Llengua", + "toast.language.description": "S'ha canviat a {{language}}", + "toast.theme.title": "S'ha canviat el tema", + "toast.scheme.title": "Esquema de colors", + "toast.workspace.enabled.title": "Espais de treball habilitats", + "toast.workspace.enabled.description": "Ara es mostren diversos arbres de treball a la barra lateral", + "toast.workspace.disabled.title": "Espais de treball desactivats", + "toast.workspace.disabled.description": "A la barra lateral només es mostra l'arbre de treball principal", + "toast.permissions.autoaccept.on.title": "Permisos d'acceptació automàtica", + "toast.permissions.autoaccept.on.description": "Les sol·licituds de permís s'aprovaran automàticament", + "toast.permissions.autoaccept.off.title": "S'ha aturat l'acceptació automàtica de permisos", + "toast.permissions.autoaccept.off.description": "Les sol·licituds de permís requeriran aprovació", + "toast.model.none.title": "No s'ha seleccionat cap model", + "toast.model.none.description": "Connecteu un proveïdor per resumir aquesta sessió", + "toast.file.loadFailed.title": "No s'ha pogut carregar el fitxer", + "toast.file.listFailed.title": "No s'han pogut llistar els fitxers", + "toast.context.noLineSelection.title": "Sense selecció de línia", + "toast.context.noLineSelection.description": "Seleccioneu primer un interval de línies en una pestanya de fitxer.", + "toast.session.share.copyFailed.title": "No s'ha pogut copiar URL al porta-retalls", + "toast.session.share.success.title": "Sessió compartida", + "toast.session.share.success.description": "Comparteix URL copiat al porta-retalls!", + "toast.session.share.failed.title": "No s'ha pogut compartir la sessió", + "toast.session.share.failed.description": "S'ha produït un error en compartir la sessió", + "toast.session.unshare.success.title": "S'ha deixat de compartir la sessió", + "toast.session.unshare.success.description": "S'ha deixat de compartir la sessió correctament.", + "toast.session.unshare.failed.title": "No s'ha pogut deixar de compartir la sessió", + "toast.session.unshare.failed.description": "S'ha produït un error en deixar de compartir la sessió", + "toast.session.export.success.title": "Sessió exportada", + "toast.session.export.success.description": "Sessió desada a {{filename}}", + "toast.session.export.failed.title": "No s'ha pogut exportar la sessió", + "toast.session.export.failed.description": "S'ha produït un error en exportar la sessió", + "toast.session.listFailed.title": "No s'han pogut carregar les sessions de {{project}}", + "toast.project.reloadFailed.title": "No s'ha pogut tornar a carregar {{project}}", + "toast.update.title": "Actualització disponible", + "toast.update.description": "Una nova versió de OpenCode ({{version}}) ja està disponible per instal·lar-la.", + "toast.update.action.installRestart": "Instal·leu i reinicieu", + "toast.update.action.notYet": "Encara no", + "error.page.title": "Alguna cosa va fallar", + "error.page.description": "S'ha produït un error en carregar l'aplicació.", + "error.page.description.localServerStartup": "S'ha produït un error en iniciar el servidor local.", + "error.page.details.label": "Detalls de l'error", + "error.page.action.restart": "Reinicieu", + "error.page.action.report": "Informa d'un error", + "error.page.action.reported": "S'ha informat d'un error", + "error.page.action.exportLogs": "Exporta registres", + "error.page.action.checking": "S'està comprovant...", + "error.page.action.checkUpdates": "Comproveu si hi ha actualitzacions", + "error.page.action.updateTo": "Actualitza a {{version}}", + "error.page.circular": "[Circular]", + "error.page.report.prefix": "Informeu aquest error a l'equip OpenCode.", + "error.page.report.discord": "a Discord", + "error.page.version": "Versió: {{version}}", + "error.dev.rootNotFound": + "No s'ha trobat l'element arrel. T'has oblidat d'afegir-lo al teu index.html? O potser l'atribut id s'ha escrit malament?", + "error.serverSync.connectFailed": + "No s'ha pogut connectar al servidor. Hi ha un servidor en funcionament a `{{url}}`?", + "error.serverSDK.noServerAvailable": "No hi ha servidor disponible", + "error.serverSDK.serverNotAvailable": "Servidor no disponible", + "error.childStore.persistedCacheCreateFailed": "No s'ha pogut crear la memòria cau persistent", + "error.childStore.persistedProjectMetadataCreateFailed": "No s'han pogut crear metadades del projecte persistents", + "error.childStore.persistedProjectIconCreateFailed": "No s'ha pogut crear la icona del projecte persistent", + "error.childStore.storeCreateFailed": "No s'ha pogut crear la botiga", + "directory.error.invalidUrl": "Directori no vàlid a URL.", + "error.chain.unknown": "Error desconegut", + "error.server.invalidConfiguration": "Configuració no vàlida", + "error.chain.causedBy": "Causat per:", + "error.chain.apiError": "Error de l'API", + "error.chain.status": "Estat: {{status}}", + "error.chain.retryable": "Reintentable: {{retryable}}", + "error.chain.responseBody": "Òrgan de resposta:\n{{body}}", + "error.chain.didYouMean": "Volíeu dir: {{suggestions}}", + "error.chain.modelNotFound": "No s'ha trobat el model: {{provider}}/{{model}}", + "error.chain.checkConfig": "Comproveu els noms del vostre proveïdor/model de configuració (opencode.json).", + "error.chain.mcpFailed": + 'El servidor MCP "{{name}}" ha fallat. Tingueu en compte que OpenCode encara no admet l\'autenticació MCP.', + "error.chain.providerAuthFailed": "L'autenticació del proveïdor ha fallat ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + 'No s\'ha pogut inicialitzar el proveïdor "{{provider}}". Comproveu les credencials i la configuració.', + "error.chain.configJsonInvalid": "El fitxer de configuració a {{path}} no és vàlid JSON(C)", + "error.chain.configJsonInvalidWithMessage": "El fitxer de configuració a {{path}} no és vàlid JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + 'El directori "{{dir}}" a {{path}} no és vàlid. Canvieu el nom del directori a "{{suggestion}}" o suprimiu-lo. Aquest és un error ortogràfic comú.', + "error.chain.configFrontmatterError": "No s'ha pogut analitzar frontmatter a {{path}}:\n{{message}}", + "error.chain.configInvalid": "El fitxer de configuració a {{path}} no és vàlid", + "error.chain.configInvalidWithMessage": "El fitxer de configuració a {{path}} no és vàlid: {{message}}", + "notification.permission.title": "Cal permís", + "notification.permission.description": "{{sessionTitle}} a {{projectName}} necessita permís", + "notification.question.title": "Pregunta", + "notification.question.description": "{{sessionTitle}} a {{projectName}} té una pregunta", + "notification.action.goToSession": "Anar a sessió", + "notification.session.responseReady.title": "Resposta a punt", + "notification.session.error.title": "Error de sessió", + "notification.session.error.fallbackDescription": "S'ha produït un error", + "home.recentProjects": "Projectes recents", + "home.empty.title": "No hi ha projectes recents", + "home.empty.description": "Comenceu obrint un projecte local", + "home.title": "Inici", + "home.projects": "Projectes", + "home.project.add": "Afegeix projecte", + "home.recentlyClosed": "Tancat recentment", + "home.server.collapse": "Col·lapse els projectes del servidor", + "home.server.expand": "Ampliar els projectes del servidor", + "home.sessions.search.placeholder": "Sessions de cerca", + "home.sessions.search.placeholder.scoped": "Cerca sessions a {{scope}}", + "home.sessions.search.sessions": "Sessions", + "home.sessions.search.noResults": "No s'han trobat sessions per a {{query}}", + "home.sessions.empty": "Aquí encara no hi ha res", + "home.sessions.empty.description": "Crea una sessió per començar", + "home.sessions.group.today": "Avui", + "home.sessions.group.yesterday": "Ahir", + "home.sessions.group.older": "Més vell", + "home.providerTip": + "Connecteu-vos a més de 75 proveïdors per utilitzar altres models, inclosos Claude, GPT, Gemini, etc.", + "session.tab.session": "Sessió", + "session.tab.review": "Revisió", + "session.tab.context": "Context", + "session.tab.unknown": "Sessió desconeguda", + "session.panel.reviewAndFiles": "Revisió i arxius", + "session.error.notFound": "No es pot trobar aquesta sessió", + "session.error.notFound.description": "Aquesta pestanya apunta a una sessió que ja no existeix en aquest servidor.", + "session.error.notFound.closeTab": "Tanca la pestanya", + "session.error.serverConnection": "No es pot connectar a aquest servidor", + "session.review.filesChanged": "Fitxers canviats {{count}}", + "session.review.change.one": "Canviar", + "session.review.change.other": "Canvis", + "session.review.loadingChanges": "S'estan carregant els canvis...", + "session.review.empty": "Encara no hi ha canvis en aquesta sessió", + "session.review.noVcs": "No Git S'ha detectat el sistema de control de versions, els canvis no es mostren", + "session.review.noVcs.createGit.title": "Creeu un repositori Git.", + "session.review.noVcs.createGit.description": "Feu un seguiment, reviseu i desfer els canvis en aquest projecte", + "session.review.noVcs.createGit.actionLoading": "S'està creant un repositori Git...", + "session.review.noVcs.createGit.action": "Crea un repositori Git", + "session.review.noSnapshot": + "El seguiment de la instantània està desactivat a la configuració, de manera que els canvis de sessió no estan disponibles", + "session.review.noChanges": "Sense canvis", + "session.review.noUncommittedChanges": "Encara no hi ha canvis no compromesos", + "session.review.noBranchChanges": "Encara no hi ha canvis de branca", + "session.files.selectToOpen": "Seleccioneu un fitxer per obrir", + "session.files.all": "Tots els fitxers", + "session.files.empty": "No hi ha fitxers", + "session.files.binaryContent": "Fitxer binari (el contingut no es pot mostrar)", + "session.messages.renderEarlier": "Mostra missatges anteriors", + "session.messages.loadingEarlier": "S'estan carregant missatges anteriors...", + "session.messages.loadEarlier": "Carregueu missatges anteriors", + "session.messages.loading": "S'estan carregant els missatges...", + "session.messages.jumpToLatest": "Ves a l'últim", + "session.context.addToContext": "Afegeix {{selection}} al context", + "session.todo.title": "Tots", + "session.todo.collapse": "Col·lapse", + "session.todo.expand": "Expandir", + "session.todo.progress": "{{done}} de {{total}} tots completats", + "session.question.progress": "{{current}} de {{total}} preguntes", + "session.question.minimize": "Minimitzar la pregunta", + "session.question.restore": "Pregunta de restauració", + "session.question.pending.one": "{{count}} pregunta pendent", + "session.question.pending.other": "{{count}} preguntes pendents", + "session.question.pending.many": "{{count}} preguntes pendents", + "session.followupDock.summary.one": "{{count}} missatge a la cua", + "session.followupDock.summary.other": "{{count}} missatges a la cua", + "session.followupDock.summary.many": "{{count}} missatges a la cua", + "session.followupDock.sendNow": "Envia ara", + "session.followupDock.edit": "Edita", + "session.followupDock.collapse": "Replega els missatges a la cua", + "session.followupDock.expand": "Amplieu els missatges a la cua", + "session.revertDock.summary.one": "{{count}} missatge revertit", + "session.revertDock.summary.other": "{{count}} missatges revertits", + "session.revertDock.summary.many": "{{count}} missatges revertits", + "session.revertDock.collapse": "Replega els missatges desfets", + "session.revertDock.expand": "Amplieu els missatges revertits", + "session.revertDock.restore": "Restaura el missatge", + "session.new.title": "Construeix qualsevol cosa", + "session.new.project.new": "Nou projecte", + "session.new.project.search": "Cerca projectes", + "session.new.project.add": "Afegeix projecte", + "session.new.worktree.main": "Branca principal", + "session.new.worktree.mainWithBranch": "Sucursal principal ({{branch}})", + "session.new.worktree.create": "Crea un nou arbre de treball", + "session.new.workspace.runIn": "Executeu la sessió", + "session.new.workspace.triggerLocal": "Local", + "session.new.workspace.local": "Repositori local", + "session.new.workspace.existing": "Espai de treball…", + "session.new.git.none": "Sense Git", + "session.new.lastModified": "Última modificació", + "session.header.search.placeholder": "Cerca {{project}}", + "session.header.searchFiles": "Cerca fitxers", + "session.header.openIn": "Obre dins", + "session.header.open.action": "Obre {{app}}", + "session.header.open.ariaLabel": "Obert a {{app}}", + "session.header.open.menu": "Opcions obertes", + "session.header.open.copyPath": "Copia el camí", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "File Explorer", + "session.header.open.fileManager": "Gestor de fitxers", + "session.header.reveal.finder": "Revela a Finder", + "session.header.reveal.fileExplorer": "Revela a File Explorer", + "session.header.reveal.containingFolder": "Obre la carpeta que conté", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Terminal", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "Estat", + "status.popover.ariaLabel": "Configuracions del servidor", + "status.popover.tab.servers": "Servidors", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "Connectors", + "status.popover.action.manageServers": "Gestionar servidors", + "session.share.popover.title": "Publicar a la web", + "session.share.popover.description.shared": + "Aquesta sessió és pública a la web. És accessible per a qualsevol persona que tingui l'enllaç.", + "session.share.popover.description.unshared": + "Comparteix la sessió públicament al web. Serà accessible per a qualsevol persona que tingui l'enllaç.", + "session.share.action.share": "Comparteix", + "session.share.action.publish": "Publicar", + "session.share.action.publishing": "S'està publicant...", + "session.share.action.unpublish": "Despublicar", + "session.share.action.unpublishing": "S'està anul·lant la publicació...", + "session.share.action.view": "Veure", + "session.share.copy.copied": "Copiat", + "session.share.copy.copyLink": "Copia l'enllaç", + "lsp.tooltip.none": "No hi ha LSP servidors", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "S'està carregant el missatge...", + "terminal.loading": "S'està carregant el terminal...", + "terminal.title": "Terminal", + "terminal.title.numbered": "Terminal {{number}}", + "terminal.close": "Tanca la terminal", + "terminal.connectionLost.title": "Connexió perduda", + "terminal.connectionLost.abnormalClose": "WebSocket tancat anormalment: {{code}}", + "terminal.connectionLost.description": + "La connexió del terminal s'ha interromput. Això pot passar quan es reinicia el servidor.", + "terminal.connectTicket.csrfError": + "PTY bitllet de connexió rebutjat per origen o CSRF xecs. Comproveu la configuració del servidor CORS.", + "terminal.connectTicket.statusError": "PTY el bitllet de connexió ha fallat amb {{status}}", + "titlebar.update": "Actualització", + "titlebar.updateVersion": "Actualització {{version}}", + "common.closeTab": "Tanca la pestanya", + "common.dismiss": "Descartar", + "common.moreCountSuffix": " (+{{count}} més)", + "common.requestFailed": "La sol·licitud ha fallat", + "common.moreOptions": "Més opcions", + "common.learnMore": "Més informació", + "common.rename": "Canvia el nom", + "common.export": "Exporta", + "common.reset": "Restableix", + "common.archive": "Arxiu", + "common.delete": "Suprimeix", + "common.close": "Tancar", + "common.edit": "Edita", + "common.loadMore": "Carregueu més", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "desconegut", + "common.time.justNow": "Just ara", + "common.time.minutesAgo.short": "Fa {{count}}m", + "common.time.hoursAgo.short": "Fa {{count}} h", + "common.time.daysAgo.short": "Fa {{count}} dies", + "sidebar.menu.toggle": "Canvia el menú", + "sidebar.nav.projectsAndSessions": "Projectes i sessions", + "sidebar.settings": "Configuració", + "sidebar.help": "Ajuda", + "sidebar.workspaces.enable": "Habilita els espais de treball", + "sidebar.workspaces.disable": "Desactivar els espais de treball", + "sidebar.gettingStarted.title": "Per començar", + "sidebar.gettingStarted.line1": "OpenCode inclou models gratuïts perquè pugueu començar immediatament.", + "sidebar.gettingStarted.line2": "Connecteu qualsevol proveïdor per utilitzar models, inc. Claude, GPT, Gemini etc.", + "sidebar.project.recentSessions": "Sessions recents", + "sidebar.project.viewAllSessions": "Veure totes les sessions", + "sidebar.project.clearNotifications": "Esborra les notificacions", + "sidebar.empty.title": "No hi ha projectes oberts", + "sidebar.empty.description": "Obriu un projecte per començar", + "debugBar.ariaLabel": "Diagnòstic de rendiment del desenvolupament", + "debugBar.na": "n/a", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "L'última transició de ruta completada tocant una pàgina de sessió, mesurada des de l'inici de l'encaminador fins a la primera pintura després que s'instal·li.", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "Fotogrames en moviment per segon durant els darrers 5 segons.", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "El pitjor temps de fotograma dels darrers 5 segons.", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "Fotogrames de més de 32 ms en els últims 5 segons.", + "debugBar.long.label": "LONG", + "debugBar.long.tip": "Temps bloquejat i recompte de tasques llargues en els últims 5 segons. Tasca màxima: {{max}}.", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "El pitjor retard d'entrada observat en els últims 5 segons.", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": + "Durada aproximada de la interacció durant els darrers 5 segons. Això és semblant a INP, no el Web Vitals oficial INP.", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "Canvi de disseny acumulat per a la vida útil actual de l'aplicació.", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "S'ha utilitzat el límit d'emmagatzematge munt JS vs. Chromium només.", + "debugBar.mem.tip": "S'ha utilitzat el límit d'emmagatzematge munt JS vs. {{used}} de {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Força els estils de focus en tots els elements interactius", + "debugBar.focus.on": "ON", + "debugBar.focus.off": "OFF", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Força la direcció completa del disseny de l'aplicació sense canviar l'idioma seleccionat", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode Escriptori", + "settings.section.desktop": "Escriptori", + "settings.section.server": "Servidor", + "settings.tab.general": "General", + "settings.tab.shortcuts": "Dreceres", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "WSL integració", + "settings.desktop.wsl.description": "Executeu el servidor OpenCode dins de WSL a Windows.", + "settings.general.section.appearance": "Aparença", + "settings.general.section.advanced": "Avançat", + "settings.general.section.notifications": "Notificacions del sistema", + "settings.general.section.updates": "Actualitzacions", + "settings.general.section.sounds": "Efectes de so", + "settings.general.section.feed": "Alimentació", + "settings.general.section.display": "Mostra", + "settings.general.row.language.title": "Llengua", + "settings.general.row.language.description": "Canvia l'idioma de visualització per a OpenCode", + "settings.general.row.shell.title": "Carcassa terminal", + "settings.general.row.shell.description": "Shell utilitzat pel terminal i les eines d'agent", + "settings.general.row.shell.autoDefault": "Automàtic (per defecte)", + "settings.general.row.shell.terminalOnly": "només terminal", + "settings.general.row.appearance.title": "Aparença", + "settings.general.row.appearance.description": "Personalitza com es veu OpenCode al teu dispositiu", + "settings.general.row.colorScheme.title": "Esquema de colors", + "settings.general.row.colorScheme.description": "Trieu si OpenCode segueix el tema del sistema, clar o fosc", + "settings.general.row.theme.title": "Tema", + "settings.general.row.theme.description": "Personalitza la temàtica de OpenCode.", + "settings.general.row.font.title": "Font del codi", + "settings.general.row.font.description": "Personalitzeu el tipus de lletra utilitzat als blocs de codi", + "settings.general.row.terminalFont.title": "Tipus de lletra terminal", + "settings.general.row.terminalFont.description": "Personalitzeu el tipus de lletra utilitzat al terminal", + "settings.general.row.uiFont.title": "Tipus de lletra de la interfície", + "settings.general.row.uiFont.description": "Personalitzeu el tipus de lletra utilitzat a tota la interfície", + "settings.general.row.followup.title": "Comportament de seguiment", + "settings.general.row.followup.description": + "Trieu si les indicacions de seguiment es dirigeixen immediatament o esperen en una cua", + "settings.general.row.followup.option.queue": "Cua", + "settings.general.row.followup.option.steer": "Dirigeix", + "settings.general.row.showFileTree.title": "Arbre de fitxers", + "settings.general.row.showFileTree.description": "Mostra el tauler de l'arbre de fitxers a les sessions", + "settings.general.row.showNavigation.title": "Controls de navegació", + "settings.general.row.showNavigation.description": + "Mostra els botons enrere i endavant a la barra de títol de l'escriptori", + "settings.general.row.showSearch.title": "Paleta de comandaments", + "settings.general.row.showSearch.description": "Mostra el botó de cerca i paleta d'ordres a la barra de títol", + "settings.general.row.showTerminal.title": "Terminal", + "settings.general.row.showTerminal.description": "Mostra el botó del terminal a la barra de títol de l'escriptori", + "settings.general.row.showStatus.title": "Estat del servidor", + "settings.general.row.showStatus.description": "Mostra el botó d'estat del servidor a la barra de títol", + "settings.general.row.mobileTitlebarBottom.title": "Navegació inferior", + "settings.general.row.mobileTitlebarBottom.description": + "Col·loqueu la barra de títol i les pestanyes de sessió a la part inferior de la pantalla al mòbil", + "settings.general.row.showCustomAgents.title": "Agent d'espectacles", + "settings.general.row.showCustomAgents.description": + "Canvia entre agents del compositor. Quan s'amaga, el valor predeterminat és Build agent.", + "settings.general.row.reasoningSummaries.title": "Mostra resums de raonament", + "settings.general.row.reasoningSummaries.description": "Mostra els resums de raonament del model a la línia de temps", + "settings.general.row.shellToolPartsExpanded.title": "Amplieu les peces de l'eina de closca", + "settings.general.row.shellToolPartsExpanded.description": + "Mostra les parts de l'eina d'intèrpret d'ordres ampliades per defecte a la línia de temps", + "settings.general.row.editToolPartsExpanded.title": "Amplieu les parts d'eina d'edició", + "settings.general.row.editToolPartsExpanded.description": + "Mostra les parts de l'eina d'edició, escriptura i pedaç ampliades de manera predeterminada a la línia de temps", + "settings.general.row.newInterface.title": "Nou disseny", + "settings.general.row.newInterface.badge": "Nou", + "settings.general.row.newInterface.description": + "Utilitzeu les noves pestanyes i el disseny de la casa. Canvia entre dissenys durant un temps limitat.", + "settings.general.row.newInterfaceNotice.title": "Ara esteu utilitzant un disseny nou", + "settings.general.row.newInterfaceNotice.description": "El disseny anterior ja no està disponible", + "settings.general.row.newInterfaceNotice.dismiss": "Descartar", + "settings.general.row.pinchZoom.title": "Pessigueu per fer zoom", + "settings.general.row.pinchZoom.description": + "Permet que els gestos de pessigar el ratolí tàctil i de desplaçament Ctrl s'ampliïn", + "settings.general.row.wayland.title": "Utilitza el nadiu Wayland", + "settings.general.row.wayland.description": "Desactiveu la alternativa X11 a Wayland. Requereix reinici.", + "settings.general.row.wayland.tooltip": + "A Linux amb monitors de freqüència de refresc mixta, el nadiu Wayland pot ser més estable.", + "settings.general.row.releaseNotes.title": "Notes de publicació", + "settings.general.row.releaseNotes.description": + "Mostra les finestres emergents Novetats després de les actualitzacions", + "settings.updates.row.startup.title": "Comproveu si hi ha actualitzacions a l'inici", + "settings.updates.row.startup.description": + "Comprova automàticament si hi ha actualitzacions quan s'iniciï OpenCode.", + "settings.updates.row.check.title": "Comproveu si hi ha actualitzacions", + "settings.updates.row.check.description": + "Comproveu manualment si hi ha actualitzacions i instal·leu si està disponible", + "settings.updates.action.checkNow": "Comproveu ara", + "settings.updates.action.checking": "S'està comprovant...", + "settings.updates.action.downloading": "S'està baixant...", + "settings.updates.action.installing": "S'està instal·lant...", + "settings.updates.toast.latest.title": "Estàs al dia", + "settings.updates.toast.latest.description": "Esteu executant la darrera versió de OpenCode.", + "sound.option.none": "Cap", + "sound.option.alert01": "Alerta 01", + "sound.option.alert02": "Alerta 02", + "sound.option.alert03": "Alerta 03", + "sound.option.alert04": "Alerta 04", + "sound.option.alert05": "Alerta 05", + "sound.option.alert06": "Alerta 06", + "sound.option.alert07": "Alerta 07", + "sound.option.alert08": "Alerta 08", + "sound.option.alert09": "Alerta 09", + "sound.option.alert10": "Alerta 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "No 01", + "sound.option.nope02": "No 02", + "sound.option.nope03": "No 03", + "sound.option.nope04": "No 04", + "sound.option.nope05": "No 05", + "sound.option.nope06": "No 06", + "sound.option.nope07": "No 07", + "sound.option.nope08": "No 08", + "sound.option.nope09": "No 09", + "sound.option.nope10": "No 10", + "sound.option.nope11": "No 11", + "sound.option.nope12": "No 12", + "sound.option.yup01": "Sí 01", + "sound.option.yup02": "Sí 02", + "sound.option.yup03": "Sí 03", + "sound.option.yup04": "Sí 04", + "sound.option.yup05": "Sí 05", + "sound.option.yup06": "Sí 06", + "settings.general.notifications.agent.title": "Agent", + "settings.general.notifications.agent.description": + "Mostra la notificació del sistema quan l'agent està complet o necessita atenció", + "settings.general.notifications.permissions.title": "Permisos", + "settings.general.notifications.permissions.description": + "Mostra la notificació del sistema quan es requereix un permís", + "settings.general.notifications.errors.title": "Errors", + "settings.general.notifications.errors.description": "Mostra la notificació del sistema quan es produeix un error", + "settings.general.sounds.agent.title": "Agent", + "settings.general.sounds.agent.description": "Reprodueix el so quan l'agent està complet o necessita atenció", + "settings.general.sounds.permissions.title": "Permisos", + "settings.general.sounds.permissions.description": "Reprodueix so quan es requereix un permís", + "settings.general.sounds.errors.title": "Errors", + "settings.general.sounds.errors.description": "Reprodueix el so quan es produeix un error", + "settings.shortcuts.title": "Dreceres de teclat", + "settings.shortcuts.reset.button": "Restableix els valors predeterminats", + "settings.shortcuts.reset.toast.title": "Es restableixen les dreceres", + "settings.shortcuts.reset.toast.description": "Les dreceres de teclat s'han restablert als valors predeterminats.", + "settings.shortcuts.conflict.title": "La drecera ja està en ús", + "settings.shortcuts.conflict.description": "{{keybind}} ja està assignat a {{titles}}.", + "settings.shortcuts.unassigned": "Sense assignar", + "settings.shortcuts.pressKeys": "Premeu les tecles", + "settings.shortcuts.search.placeholder": "Cerca dreceres", + "settings.shortcuts.search.empty": "No s'han trobat dreceres", + "settings.shortcuts.group.general": "General", + "settings.shortcuts.group.session": "Sessió", + "settings.shortcuts.group.navigation": "Navegació", + "settings.shortcuts.group.modelAndAgent": "Model i agent", + "settings.shortcuts.group.terminal": "Terminal", + "settings.shortcuts.group.prompt": "Indicació", + "settings.providers.title": "Proveïdors", + "settings.providers.description": "La configuració del proveïdor es podrà configurar aquí.", + "settings.providers.section.connected": "Proveïdors connectats", + "settings.providers.connected.empty": "No hi ha proveïdors connectats", + "settings.providers.connected.environmentDescription": "Connectat des de les vostres variables d'entorn", + "settings.providers.section.popular": "Proveïdors populars", + "settings.providers.custom.description": "Afegiu un proveïdor compatible amb OpenAI per base URL.", + "settings.providers.tag.environment": "Medi ambient", + "settings.providers.tag.config": "Config", + "settings.providers.tag.custom": "Personalitzat", + "settings.providers.tag.other": "Altres", + "settings.models.title": "Models", + "settings.models.description": "La configuració del model es podrà configurar aquí.", + "settings.agents.title": "Agents", + "settings.agents.description": "La configuració de l'agent es podrà configurar aquí.", + "settings.commands.title": "Ordres", + "settings.commands.description": "La configuració de les ordres es podrà configurar aquí.", + "settings.mcp.title": "MCP", + "settings.mcp.description": "La configuració MCP es podrà configurar aquí.", + "settings.permissions.title": "Permisos", + "settings.permissions.description": "Controleu quines eines pot utilitzar el servidor de manera predeterminada.", + "settings.permissions.section.tools": "Eines", + "settings.permissions.toast.updateFailed.title": "No s'han pogut actualitzar els permisos", + "settings.permissions.action.allow": "Permetre", + "settings.permissions.action.ask": "Pregunta", + "settings.permissions.action.deny": "Negar", + "settings.permissions.tool.read.title": "Llegeix", + "settings.permissions.tool.read.description": "Llegint un fitxer (coincideix amb la ruta del fitxer)", + "settings.permissions.tool.edit.title": "Edita", + "settings.permissions.tool.edit.description": + "Modifiqueu fitxers, incloses les edicions, les escriptures i els pedaços", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "Relaciona fitxers amb patrons globus", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "Cerca continguts de fitxers mitjançant expressions regulars", + "settings.permissions.tool.list.title": "Llista", + "settings.permissions.tool.list.description": "Llista els fitxers dins d'un directori", + "settings.permissions.tool.bash.title": "Bash", + "settings.permissions.tool.bash.description": "Executeu ordres de shell", + "settings.permissions.tool.task.title": "Tasca", + "settings.permissions.tool.task.description": "Llançar subagents", + "settings.permissions.tool.skill.title": "Habilitat", + "settings.permissions.tool.skill.description": "Carregueu una habilitat pel nom", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "Executeu consultes del servidor d'idiomes", + "settings.permissions.tool.todowrite.title": "Tot Escriure", + "settings.permissions.tool.todowrite.description": "Actualitzeu la llista de tasques", + "settings.permissions.tool.webfetch.title": "Recollida web", + "settings.permissions.tool.webfetch.description": "Obteniu contingut d'un URL", + "settings.permissions.tool.websearch.title": "Cerca web", + "settings.permissions.tool.websearch.description": "Cerca al web", + "settings.permissions.tool.external_directory.title": "Directori extern", + "settings.permissions.tool.external_directory.description": "Accediu als fitxers fora del directori del projecte", + "settings.permissions.tool.doom_loop.title": "Doom Loop", + "settings.permissions.tool.doom_loop.description": "Detecteu trucades d'eines repetides amb entrada idèntica", + "session.delete.failed.title": "No s'ha pogut suprimir la sessió", + "session.delete.title": "Suprimeix la sessió", + "session.delete.confirm": 'Voleu suprimir la sessió "{{name}}"?', + "session.delete.button": "Suprimeix la sessió", + "workspace.new": "Nou espai de treball", + "workspace.type.local": "locals", + "workspace.type.sandbox": "caixa de sorra", + "workspace.create.failed.title": "No s'ha pogut crear l'espai de treball", + "workspace.delete.failed.title": "No s'ha pogut suprimir l'espai de treball", + "workspace.resetting.title": "Restabliment de l'espai de treball", + "workspace.resetting.description": "Això pot trigar un minut.", + "workspace.reset.failed.title": "No s'ha pogut restablir l'espai de treball", + "workspace.reset.success.title": "Restabliment de l'espai de treball", + "workspace.reset.success.description": "L'espai de treball ara coincideix amb la branca predeterminada.", + "workspace.error.stillPreparing": "L'espai de treball encara s'està preparant", + "workspace.status.checking": "S'estan comprovant els canvis no combinats...", + "workspace.status.error": "No es pot verificar l'estat de git.", + "workspace.status.clean": "No s'han detectat canvis no combinats.", + "workspace.status.dirty": "S'han detectat canvis no combinats en aquest espai de treball.", + "workspace.delete.title": "Suprimeix l'espai de treball", + "workspace.delete.confirm": 'Voleu suprimir l\'espai de treball "{{name}}"?', + "workspace.delete.button": "Suprimeix l'espai de treball", + "workspace.reset.title": "Restableix l'espai de treball", + "workspace.reset.confirm": 'Restableix l\'espai de treball "{{name}}"?', + "workspace.reset.button": "Restableix l'espai de treball", + "workspace.reset.archived.none": "No s'arxivarà cap sessió activa.", + "workspace.reset.archived.one": "S'arxivarà 1 sessió.", + "workspace.reset.archived.many": "{{count}} sessions s'arxivaran.", + "workspace.reset.note": "Això restablirà l'espai de treball perquè coincideixi amb la branca predeterminada.", + "dialog.usageExceeded.dontShowAgain": "No ho tornis a mostrar", +} diff --git a/packages/app/src/i18n/cs.ts b/packages/app/src/i18n/cs.ts new file mode 100644 index 000000000000..d79d4eb5a7f8 --- /dev/null +++ b/packages/app/src/i18n/cs.ts @@ -0,0 +1,1163 @@ +export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Soubor", + "desktop.menu.edit": "Upravit", + "desktop.menu.view": "Zobrazit", + "desktop.menu.go": "Jdi", + "desktop.menu.window": "okno", + "desktop.menu.help": "Pomoc", + "desktop.menu.checkForUpdates": "Zkontrolovat aktualizace...", + "desktop.menu.settings": "Nastavení", + "desktop.menu.reloadWebview": "Znovu načíst Webview", + "desktop.menu.restart": "Restartujte", + "desktop.menu.exportLogs": "Exportovat protokoly...", + "desktop.menu.newSession": "Nová relace", + "desktop.menu.openProject": "Otevřít projekt...", + "desktop.menu.newWindow": "Nové okno", + "desktop.menu.closeWindow": "Zavřít okno", + "desktop.menu.undo": "Vrátit zpět", + "desktop.menu.redo": "Znovu", + "desktop.menu.cut": "Řez", + "desktop.menu.copy": "Kopírovat", + "desktop.menu.paste": "Vložit", + "desktop.menu.delete": "Odstranit", + "desktop.menu.selectAll": "Vyberte Vše", + "desktop.menu.toggleSidebar": "Přepnout postranní panel", + "desktop.menu.toggleTerminal": "Přepnout terminál", + "desktop.menu.toggleFileTree": "Přepnout strom souborů", + "desktop.menu.reload": "Znovu načíst", + "desktop.menu.toggleDeveloperTools": "Přepnout Vývojářské nástroje", + "desktop.menu.actualSize": "Skutečná velikost", + "desktop.menu.zoomIn": "Přiblížit", + "desktop.menu.zoomOut": "Oddálit", + "desktop.menu.toggleFullScreen": "Přepnout na celou obrazovku", + "desktop.menu.back": "Zpět", + "desktop.menu.forward": "Vpřed", + "desktop.menu.previousSession": "Předchozí relace", + "desktop.menu.nextSession": "Další relace", + "desktop.menu.previousProject": "Předchozí projekt", + "desktop.menu.nextProject": "Další projekt", + "desktop.menu.minimize": "Minimalizovat", + "desktop.menu.maximize": "Maximalizovat", + "desktop.menu.documentation": "OpenCode Dokumentace", + "desktop.menu.supportForum": "Fórum podpory", + "desktop.menu.shareFeedback": "Sdílejte zpětnou vazbu", + "desktop.menu.reportBug": "Nahlásit chybu", + "desktop.menu.ariaLabel": "Nabídka OpenCode", + "desktop.updater.dialog.checkFailed.message": "Kontrola aktualizace se nezdařila.", + "desktop.updater.dialog.checkFailed.title": "Chyba aktualizace", + "desktop.updater.dialog.upToDate.message": "Jste aktuální.", + "desktop.updater.dialog.upToDate.title": "Žádné aktualizace", + "desktop.updater.dialog.ready.message": "Aktualizace {{version}} stažena. Restartovat nyní?", + "desktop.updater.dialog.ready.title": "Aktualizace připravena", + "desktop.updater.dialog.restart": "Restartujte", + "desktop.updater.dialog.later": "Později", + "desktop.recovery.action.relaunch": "Znovu spustit", + "desktop.recovery.action.exportLogs": "Exportovat protokoly", + "desktop.recovery.action.keepWaiting": "Čekej dál", + "desktop.recovery.action.quit": "Konec", + "desktop.recovery.loadFailed": "OpenCode se nepodařilo načíst", + "desktop.recovery.terminated": "OpenCode okno bylo neočekávaně ukončeno", + "desktop.recovery.unresponsive": "OpenCode nereaguje", + "desktop.recovery.unresponsive.detail": "Můžete znovu spustit aplikaci, otevřít protokoly nebo čekat.", + "desktop.recovery.loadFailed.detail": "Okno: {{window}}\nURL: {{url}}\nChyba: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Okno: {{window}}\nDůvod: {{reason}}\nKód: {{code}}", + "desktop.recovery.unknown": "", + "desktop.dialog.chooseFolder": "Vyberte složku", + "desktop.dialog.chooseFile": "Vyberte soubor", + "desktop.dialog.saveFile": "Uložit soubor", + "desktop.dialog.files": "Soubory", + "desktop.server.local": "Místní server", + "desktop.wsl.error.windowsOnly": "WSL je k dispozici pouze na Windows", + "desktop.wsl.error.unavailable": "WSL není k dispozici", + "desktop.wsl.error.listInstalled": "Seznam nainstalovaných WSL distribucí se nezdařil", + "desktop.wsl.error.listOnline": "Seznam online WSL distribucí se nezdařil", + "desktop.wsl.error.executeDistro": "Nelze provádět příkazy v distro", + "desktop.wsl.error.installWsl": "WSL instalace se nezdařila", + "desktop.wsl.error.installDistro": "Nepodařilo se nainstalovat distribuci: {{distro}}", + "desktop.wsl.error.installOpencode": "OpenCode instalace se nezdařila", + "desktop.wsl.error.alreadyAdded": "{{distro}} je již přidáno", + "desktop.wsl.error.opencodeMissing": "opencode není v této distribuci nainstalováno", + "desktop.wsl.error.opencodeCannotRun": "opencode je nainstalován, ale nelze jej spustit", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode není nainstalován v {{distro}}", + "desktop.wsl.error.updateVersion": + "OpenCode aktualizace dokončena, ale {{distro}} stále hlásí {{installed}}; očekává se {{expected}}", + "desktop.wsl.error.noVersion": "žádná verze", + "desktop.wsl.error.serverExited": "Server WSL byl po spuštění ukončen (code={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "Server WSL byl ukončen, než byl připraven (code={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": "Postranní vozík pro {{distro}} kontrolu stavu vypršel po {{timeout}}ms", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} vypršel po {{timeout}}ms", + "desktop.wsl.error.failedPort": "Nepodařilo se získat port", + "desktop.picker.error.notSelected": "Soubor nebyl vybrán nástrojem pro výběr", + "desktop.picker.error.sizeLimit": "Vybrané přílohy překračují limit {{limit}} MB", + "command.category.suggested": "Doporučeno", + "command.category.view": "Zobrazit", + "command.category.project": "Projekt", + "command.category.provider": "Poskytovatel", + "command.category.server": "Server", + "command.category.session": "Relace", + "command.category.theme": "téma", + "command.category.language": "Jazyk", + "command.category.file": "Soubor", + "command.category.context": "Kontext", + "command.category.terminal": "Terminál", + "command.category.model": "Model", + "command.category.mcp": "MCP", + "command.category.agent": "Agent", + "command.category.permissions": "Oprávnění", + "command.category.workspace": "Pracovní prostor", + "command.category.settings": "Nastavení", + "command.logs.export": "Exportovat protokoly", + "theme.scheme.system": "Systém", + "theme.scheme.light": "Světlo", + "theme.scheme.dark": "Tmavý", + "command.sidebar.toggle": "Přepnout postranní panel", + "command.project.open": "Otevřete projekt", + "command.project.previous": "Předchozí projekt", + "command.project.next": "Další projekt", + "command.project.index": "Přepnout na projekt {{index}}", + "command.provider.connect": "Připojte poskytovatele", + "command.server.switch": "Přepnout server", + "command.settings.open": "Otevřete nastavení", + "command.session.previous": "Předchozí relace", + "command.session.next": "Další sezení", + "command.session.previous.unseen": "Předchozí nepřečtená relace", + "command.session.next.unseen": "Další nepřečtená relace", + "command.session.archive": "Archivní relace", + "command.palette": "Paleta příkazů", + "command.theme.cycle": "Téma cyklu", + "command.theme.set": "Použít motiv: {{theme}}", + "command.theme.scheme.cycle": "Barevné schéma cyklu", + "command.theme.scheme.set": "Použít barevné schéma: {{scheme}}", + "command.language.cycle": "Jazyk cyklu", + "command.language.set": "Použít jazyk: {{language}}", + "command.session.new": "Nová relace", + "command.file.open": "Otevřít soubor", + "command.tab.close": "Zavřít kartu", + "command.tab.reopenClosed": "Znovu otevřete zavřenou kartu", + "command.context.addSelection": "Přidejte výběr do kontextu", + "command.context.addSelection.description": "Přidat vybrané řádky z aktuálního souboru", + "command.input.focus": "Zaměření vstupu", + "command.terminal.toggle": "Přepínací terminál", + "command.fileTree.toggle": "Přepnout strom souborů", + "command.review.toggle": "Přepnout recenzi", + "command.terminal.new": "Nový terminál", + "command.terminal.new.description": "Vytvořte novou kartu terminálu", + "command.steps.toggle": "Přepínání kroků", + "command.steps.toggle.description": "Zobrazit nebo skrýt kroky pro aktuální zprávu", + "command.message.previous": "Předchozí zpráva", + "command.message.previous.description": "Přejděte na předchozí zprávu uživatele", + "command.message.next": "Další zpráva", + "command.message.next.description": "Přejděte na další uživatelskou zprávu", + "command.model.choose": "Vyberte model", + "command.model.choose.description": "Vyberte jiný model", + "command.mcp.toggle": "Přepnout MCP", + "command.mcp.toggle.description": "Přepnout MCP", + "command.agent.cycle": "Agent cyklu", + "command.agent.cycle.description": "Přepněte na dalšího agenta", + "command.agent.cycle.reverse": "Cyklujte agenta zpět", + "command.agent.cycle.reverse.description": "Přepnout na předchozího agenta", + "command.model.variant.cycle": "Cyklické myšlení", + "command.model.variant.cycle.description": "Přepněte na další úroveň úsilí", + "command.prompt.mode.shell": "Shell", + "command.prompt.mode.normal": "Prompt", + "command.permissions.autoaccept.enable": "Automaticky přijímat oprávnění", + "command.permissions.autoaccept.disable": "Zastavit automatické přijímání oprávnění", + "command.workspace.toggle": "Přepnout pracovní prostory", + "command.workspace.toggle.description": "Povolit nebo zakázat více pracovních ploch na postranním panelu", + "command.session.undo": "Vrátit zpět", + "command.session.undo.description": "Vrátit zpět poslední zprávu", + "command.session.redo": "Znovu", + "command.session.redo.description": "Opakujte poslední vrácenou zprávu", + "command.session.compact": "Kompaktní relace", + "command.session.compact.description": "Shrňte relaci, abyste snížili velikost kontextu", + "command.session.fork": "Vytvořit větev ze zprávy", + "command.session.fork.description": "Vytvořte novou relaci z předchozí zprávy", + "command.session.share": "Sdílejte relaci", + "command.session.share.description": "Sdílejte tuto relaci a zkopírujte URL do schránky", + "command.session.unshare": "Zrušit sdílení relace", + "command.session.unshare.description": "Přestat sdílet tuto relaci", + "command.session.export": "Export relace", + "command.session.export.description": "Exportovat celý přepis relace jako JSON", + "palette.search.placeholder": "Prohledávejte soubory, příkazy a relace", + "palette.search.placeholder.home": "Hledat příkazy a relace", + "palette.empty": "Nebyly nalezeny žádné výsledky", + "palette.group.commands": "Příkazy", + "palette.group.files": "Soubory", + "dialog.provider.search.placeholder": "Hledat poskytovatele", + "dialog.provider.empty": "Nebyli nalezeni žádní poskytovatelé", + "dialog.provider.group.popular": "Populární", + "dialog.provider.group.other": "Jiné", + "dialog.provider.custom.label": "Vlastní poskytovatel kompatibilní s OpenAI", + "dialog.provider.tag.recommended": "Doporučeno", + "dialog.provider.opencode.note": "Vybrané modely včetně Claude, GPT, Gemini a dalších", + "dialog.provider.opencode.tagline": "Spolehlivé optimalizované modely", + "dialog.provider.opencodeGo.tagline": "Nízkonákladové předplatné pro každého", + "dialog.provider.anthropic.note": "Přímý přístup k modelům Claude, včetně modelů Pro a Max", + "dialog.provider.copilot.note": "Modely umělé inteligence pro pomoc s kódováním prostřednictvím GitHub Copilot", + "dialog.provider.openai.note": "GPT modely pro rychlé a schopné obecné úlohy umělé inteligence", + "dialog.provider.google.note": "Gemini modely pro rychlé, strukturované odpovědi", + "dialog.provider.openrouter.note": "Získejte přístup ke všem podporovaným modelům od jednoho poskytovatele", + "dialog.provider.vercel.note": "Jednotný přístup k modelům AI s chytrým směrováním", + "dialog.model.select.title": "Vyberte model", + "dialog.model.search.placeholder": "Hledat modely", + "dialog.model.empty": "Žádné výsledky modelu", + "dialog.model.manage": "Správa modelů", + "dialog.model.manage.description": "Upravte, které modely se zobrazí ve voliči modelů.", + "dialog.model.manage.provider.toggle": "Přepnout všechny modely {{provider}}", + "dialog.model.unpaid.freeModels.title": "Bezplatné modely poskytované OpenCode", + "dialog.model.unpaid.addMore.title": "Přidejte další modely od oblíbených poskytovatelů", + "dialog.model.unpaid.viewMoreProviders": "Zobrazit více než 70 dalších poskytovatelů", + "dialog.provider.viewAll": "Zobrazit další poskytovatele", + "provider.connect.title": "Připojit {{provider}}", + "provider.connect.title.anthropicProMax": "Přihlaste se pomocí Claude Pro/Max", + "provider.connect.selectMethod": "Vyberte způsob přihlášení pro {{provider}}.", + "provider.connect.method.apiKey": "API klíč", + "provider.connect.method.browser": "Prohlížeč", + "provider.connect.method.headless": "Bezhlavě", + "provider.connect.status.inProgress": "Probíhá autorizace...", + "provider.connect.status.waiting": "Čekání na autorizaci...", + "provider.connect.status.failed": "Autorizace se nezdařila: {{error}}", + "provider.connect.apiKey.description": + "Zadejte klíč API služby {{provider}}, připojte účet a používejte modely {{provider}} v OpenCode.", + "provider.connect.apiKey.label": "{{provider}} API klíč", + "provider.connect.apiKey.placeholder": "API klíč", + "provider.connect.apiKey.required": "Je vyžadováno tlačítko API", + "provider.connect.opencodeZen.line1": + "OpenCode Zen vám poskytuje přístup k upravené sadě spolehlivých optimalizovaných modelů pro kódovací agenty.", + "provider.connect.opencodeZen.line2": + "Pomocí jediného tlačítka API získáte přístup k modelům jako Claude, GPT, Gemini, GLM a dalším.", + "provider.connect.opencodeZen.visit.prefix": "Návštěva ", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": " vyzvedněte svůj klíč API.", + "provider.connect.oauth.code.visit.prefix": "Návštěva ", + "provider.connect.oauth.code.visit.link": "tento odkaz", + "provider.connect.oauth.code.visit.suffix": + " k vyzvednutí autorizačního kódu pro připojení vašeho účtu a používání {{provider}} modelů v OpenCode.", + "provider.connect.oauth.code.label": "{{method}} autorizační kód", + "provider.connect.oauth.code.placeholder": "Autorizační kód", + "provider.connect.oauth.code.required": "Je vyžadován autorizační kód", + "provider.connect.oauth.code.invalid": "Neplatný autorizační kód", + "provider.connect.oauth.auto.visit.prefix": "Návštěva ", + "provider.connect.oauth.auto.visit.link": "tento odkaz", + "provider.connect.oauth.auto.visit.suffix": + " a zadejte níže uvedený kód pro připojení svého účtu a používání {{provider}} modelů v OpenCode.", + "provider.connect.oauth.auto.confirmationCode": "Potvrzovací kód", + "provider.connect.toast.connected.title": "{{provider}} připojeno", + "provider.connect.toast.connected.description": "Nyní jsou k dispozici modely {{provider}}.", + "provider.custom.title": "Vlastní poskytovatel", + "provider.custom.unavailable": "Vlastní poskytovatelé nejsou na tomto serveru k dispozici", + "provider.custom.description.prefix": "Nakonfigurujte poskytovatele kompatibilního s OpenAI. Viz ", + "provider.custom.description.link": "konfigurační dokumenty poskytovatele", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "Poskytovatel ID", + "provider.custom.field.providerID.placeholder": "myprovider", + "provider.custom.field.providerID.description": "Malá písmena, čísla, pomlčky nebo podtržítka", + "provider.custom.field.name.label": "Zobrazovaný název", + "provider.custom.field.name.placeholder": "Můj poskytovatel AI", + "provider.custom.field.baseURL.label": "základ URL", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "API klíč", + "provider.custom.field.apiKey.placeholder": "API klíč", + "provider.custom.field.apiKey.description": + "Volitelné. Pokud autorizaci spravujete pomocí záhlaví, ponechte prázdné.", + "provider.custom.models.label": "Modely", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "model-id", + "provider.custom.models.name.label": "Jméno", + "provider.custom.models.name.placeholder": "Zobrazovaný název", + "provider.custom.models.remove": "Odebrat model", + "provider.custom.models.add": "Přidat model", + "provider.custom.headers.label": "Záhlaví (volitelné)", + "provider.custom.headers.key.label": "Záhlaví", + "provider.custom.headers.key.placeholder": "Header-Name", + "provider.custom.headers.value.label": "Hodnota", + "provider.custom.headers.value.placeholder": "value", + "provider.custom.headers.remove": "Odstraňte záhlaví", + "provider.custom.headers.add": "Přidat záhlaví", + "provider.custom.error.providerID.required": "Poskytovatel ID je povinný", + "provider.custom.error.providerID.format": "Používejte malá písmena, čísla, pomlčky nebo podtržítka", + "provider.custom.error.providerID.exists": "Tento poskytovatel ID již existuje", + "provider.custom.error.name.required": "Zobrazovaný název je povinný", + "provider.custom.error.baseURL.required": "Je vyžadována základna URL", + "provider.custom.error.baseURL.format": "Musí začínat http:// nebo https://", + "provider.custom.error.required": "Povinné", + "provider.custom.error.duplicate": "Duplicitní", + "provider.disconnect.toast.disconnected.title": "{{provider}} odpojeno", + "provider.disconnect.toast.disconnected.description": "{{provider}} modely již nejsou k dispozici.", + "model.tag.free": "Zdarma", + "model.tag.latest": "Nejnovější", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "text", + "model.input.image": "obrázek", + "model.input.audio": "audio", + "model.input.video": "video", + "model.input.pdf": "pdf", + "model.tooltip.allows": "Umožňuje: {{inputs}}", + "model.tooltip.context.label": "Kontext", + "model.tooltip.inputs": "Vstupy", + "model.tooltip.model": "Model", + "model.tooltip.provider": "Poskytovatel", + "model.tooltip.reasoning": "Zdůvodnění", + "model.tooltip.reasoning.allowed": "Umožňuje uvažování", + "model.tooltip.reasoning.none": "Žádné zdůvodnění", + "model.tooltip.context": "Kontextový limit {{limit}}", + "common.search.placeholder": "Hledat", + "common.goBack": "Přejít zpět", + "common.goForward": "Přejděte vpřed", + "common.loading": "Načítání", + "common.loading.ellipsis": "...", + "common.cancel": "Zrušit", + "common.clear": "Jasný", + "common.open": "Otevřít", + "common.connect": "Připojte se", + "common.disconnect": "Odpojit", + "common.continue": "Pokračujte", + "common.submit": "Odeslat", + "common.save": "Uložit", + "common.saving": "Ukládání...", + "common.default": "Výchozí", + "common.attachment": "příloha", + "prompt.placeholder.shell": "Zadejte příkaz shellu... {{example}}", + "prompt.placeholder.normal": 'Zeptejte se na cokoliv... "{{example}}"', + "prompt.placeholder.simple": "Zeptejte se na cokoliv...", + "prompt.placeholder.summarizeComments": "Shrnout komentáře…", + "prompt.placeholder.summarizeComment": "Shrnout komentář…", + "prompt.mode.shell": "Shell", + "prompt.mode.normal": "Prompt", + "prompt.mode.shell.exit": "esc pro ukončení", + "session.child.promptDisabled": "Nelze vyžádat relace podagenta.", + "session.child.backToParent": "Zpět k hlavní relaci.", + "prompt.example.1": "Opravte TODO v kódové základně", + "prompt.example.2": "Jaký je technický stack tohoto projektu?", + "prompt.example.3": "Opravte nefunkční testy", + "prompt.example.4": "Vysvětlete, jak funguje ověřování", + "prompt.example.5": "Najděte a opravte slabá místa zabezpečení", + "prompt.example.6": "Přidejte testy jednotek pro uživatelskou službu", + "prompt.example.7": "Refaktorujte tuto funkci, aby byla čitelnější", + "prompt.example.8": "Co tato chyba znamená?", + "prompt.example.9": "Pomozte mi odladit tento problém", + "prompt.example.10": "Vygenerujte dokumentaci API", + "prompt.example.11": "Optimalizujte databázové dotazy", + "prompt.example.12": "Přidejte ověření vstupu", + "prompt.example.13": "Vytvořit novou komponentu pro...", + "prompt.example.14": "Jak nasadím tento projekt?", + "prompt.example.15": "Osvědčené postupy naleznete v mém kódu", + "prompt.example.16": "Přidejte k této funkci zpracování chyb", + "prompt.example.17": "Vysvětlete tento vzor regulárního výrazu", + "prompt.example.18": "Převést na TypeScript", + "prompt.example.19": "Přidejte protokolování v celé kódové základně", + "prompt.example.20": "Jaké závislosti jsou zastaralé?", + "prompt.example.21": "Pomozte mi napsat migrační skript", + "prompt.example.22": "Implementujte ukládání do mezipaměti pro tento koncový bod", + "prompt.example.23": "Přidejte stránkování do tohoto seznamu", + "prompt.example.24": "Vytvořte příkaz CLI pro...", + "prompt.example.25": "Jak zde fungují proměnné prostředí?", + "prompt.popover.emptyResults": "Žádné odpovídající výsledky", + "prompt.popover.emptyCommands": "Žádné odpovídající příkazy", + "prompt.dropzone.label": "Sem přetáhněte obrázky PDFs nebo textové soubory", + "prompt.dropzone.file.label": "Přesuňte se na soubor @zmínka", + "prompt.slash.badge.custom": "vlastní", + "prompt.slash.badge.skill": "dovednost", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "aktivní", + "prompt.context.includeActiveFile": "Zahrnout aktivní soubor", + "prompt.context.removeActiveFile": "Odebrat aktivní soubor z kontextu", + "prompt.context.removeFile": "Odebrat soubor z kontextu", + "prompt.action.attachFile": "Přidat soubory", + "prompt.menu.addImagesAndFiles": "Přidejte soubory a další", + "prompt.menu.imagesAndFiles": "Obrázky a soubory", + "prompt.menu.commands": "Příkazy", + "prompt.menu.context": "Kontext", + "prompt.menu.shellCommand": "Shell příkaz", + "prompt.attachment.remove": "Odstraňte přílohu", + "prompt.action.send": "Odeslat", + "prompt.action.stop": "Přestaň", + "prompt.toast.pasteUnsupported.title": "Nepodporovaná příloha", + "prompt.toast.pasteUnsupported.description": "Zde lze připojit pouze obrázky, PDFs nebo textové soubory.", + "prompt.toast.attachmentDuplicate.title": "Tento soubor již byl nahrán", + "prompt.toast.modelAgentRequired.title": "Vyberte agenta a model", + "prompt.toast.modelAgentRequired.description": "Před odesláním výzvy vyberte zástupce a model.", + "prompt.toast.worktreeCreateFailed.title": "Vytvoření pracovního stromu se nezdařilo", + "prompt.toast.sessionCreateFailed.title": "Vytvoření relace se nezdařilo", + "prompt.toast.shellSendFailed.title": "Odeslání příkazu shellu se nezdařilo", + "prompt.toast.commandSendFailed.title": "Odeslání příkazu se nezdařilo", + "prompt.toast.promptSendFailed.title": "Odeslání výzvy se nezdařilo", + "prompt.toast.promptSendFailed.description": "Nelze načíst relaci", + "dialog.mcp.title": "MCP", + "dialog.mcp.description": "{{enabled}} z {{total}} povoleno", + "dialog.mcp.empty": "Nejsou nakonfigurovány žádné MCP", + "dialog.lsp.empty": "LSP automaticky detekovány z typů souborů", + "dialog.plugins.empty": "Pluginy nakonfigurované v opencode.json", + "mcp.status.connected": "připojeno", + "mcp.status.failed": "nepodařilo", + "mcp.status.needs_auth": "potřebuje autentizaci", + "mcp.status.disabled": "zakázáno", + "mcp.auth.clickToAuthenticate": "Klikněte pro ověření", + "dialog.fork.empty": "Žádné zprávy k rozvětvení", + "dialog.directory.search.placeholder": "Hledat složky", + "dialog.directory.empty": "Nebyly nalezeny žádné složky", + "dialog.directory.action.selectFile": "Vyberte soubor", + "dialog.directory.action.selectFolder": "Vyberte složku", + "dialog.directory.root": "Kořen", + "dialog.directory.parent": "Rodič", + "dialog.directory.readError": "Tuto složku nelze přečíst", + "app.server.unreachable": "Nelze dosáhnout {{server}}", + "app.server.retrying": "Automaticky opakování...", + "app.server.otherServers": "Jiné servery", + "dialog.server.title": "servery", + "dialog.server.description": "Přepněte, ke kterému OpenCode serveru se tato aplikace připojuje.", + "dialog.server.search.placeholder": "Vyhledávací servery", + "dialog.server.empty": "Zatím žádné servery", + "dialog.server.add.title": "Přidat server", + "dialog.server.add.url": "Adresa serveru", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "Nelze se připojit k serveru", + "dialog.server.add.checking": "Kontrola...", + "dialog.server.add.button": "Přidat server", + "dialog.server.add.name": "Název serveru (volitelné)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "uživatelské jméno (volitelné)", + "dialog.server.add.usernamePlaceholder": "uživatelské jméno", + "dialog.server.add.password": "Heslo (volitelné)", + "dialog.server.add.passwordPlaceholder": "heslo", + "dialog.server.edit.title": "Upravit server", + "dialog.server.default.title": "Výchozí server", + "dialog.server.default.description": + "Připojte se k tomuto serveru při spuštění aplikace namísto spuštění místního serveru. Vyžaduje restart.", + "dialog.server.default.none": "Není vybrán žádný server", + "dialog.server.default.set": "Nastavit aktuální server jako výchozí", + "dialog.server.default.clear": "Jasný", + "dialog.server.action.remove": "Odebrat server", + "dialog.server.menu.edit": "Upravit", + "dialog.server.menu.default": "Nastavit jako výchozí", + "dialog.server.menu.defaultRemove": "Odebrat výchozí", + "dialog.server.menu.delete": "Odstranit", + "dialog.server.current": "Aktuální server", + "dialog.server.status.default": "Výchozí", + "wsl.server.add": "Přidat server WSL", + "wsl.server.addShort": "Přidat WSL", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "WSL server", + "wsl.server.retryStart": "Zkuste spustit znovu", + "wsl.server.updating": "Aktualizace...", + "wsl.onboarding.step.distro": "Vyberte distro", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "Kontrola WSL...", + "wsl.onboarding.restartRequired": "Windows vyžaduje restart k dokončení instalace WSL.", + "wsl.onboarding.ready": "WSL je připraven.", + "wsl.onboarding.required": "Pro pokračování je vyžadováno WSL.", + "wsl.onboarding.checkingDistros": "Kontrola distribucí...", + "wsl.onboarding.installingDistro": "Instalace {{distro}}...", + "wsl.onboarding.checkingDistro": "Kontrola {{distro}}...", + "wsl.onboarding.listingDistros": "Výpis distribucí...", + "wsl.onboarding.distroReady": "{{distro}} je připraven.", + "wsl.onboarding.distroNotInstalled": "{{distro}} ještě není nainstalováno.", + "wsl.onboarding.openDistroOnce": "Pro dokončení nastavení jednou otevřete {{distro}}.", + "wsl.onboarding.finishingDistro": "Dokončování nastavení pro {{distro}}.", + "wsl.onboarding.pickDistro": "Vyberte distribuci nebo ji nainstalujte níže.", + "wsl.onboarding.checkingOpencode": "Kontrola OpenCode...", + "wsl.onboarding.checkingOpencodeIn": "Kontrola OpenCode v {{distro}}...", + "wsl.onboarding.updatingOpencode": "Aktualizace OpenCode...", + "wsl.onboarding.updatingOpencodeIn": "Aktualizace OpenCode v {{distro}}...", + "wsl.onboarding.updateOpencodeIn": "Aktualizace OpenCode v {{distro}}.", + "wsl.onboarding.updateOpencode": "Aktualizovat OpenCode", + "wsl.onboarding.opencodeReadyIn": "OpenCode je připraveno v {{distro}}.", + "wsl.onboarding.opencodeReady": "OpenCode je připraven.", + "wsl.onboarding.installOpencodeIn": "Nainstalujte OpenCode do {{distro}}.", + "wsl.onboarding.installOpencode": "Instalovat OpenCode", + "wsl.onboarding.chooseDistroFirst": "Nejprve si vyberte distro.", + "wsl.onboarding.loadFailed": "Nepodařilo se načíst stav WSL.", + "wsl.onboarding.loading": "Načítání...", + "wsl.onboarding.installedDistros": "Nainstalované distribuce", + "wsl.onboarding.checkAgain": "Zkontrolujte znovu", + "wsl.onboarding.distroStatus.ready": "Připraveno", + "wsl.onboarding.distroStatus.checking": "Kontrola...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode není nainstalováno", + "wsl.onboarding.distroStatus.missingTools": "Chybí bash, curl", + "wsl.onboarding.distroStatus.unsupported": "Nepodporováno · Použijte WSL 2", + "wsl.onboarding.needAnotherDistro": "Potřebujete další distribuci?", + "wsl.onboarding.needAnotherDistroHint": "Nainstalujte distribuci Linux z katalogu WSL", + "wsl.onboarding.wslNotInstalled.title": "WSL není nainstalováno", + "wsl.onboarding.wslNotInstalled.description": + "WSL (Windows Subsystém pro Linux) je vyžadován předtím, než OpenCode může přidat server WSL", + "wsl.onboarding.wslUnavailable.title": "WSL není k dispozici", + "wsl.onboarding.wslUnavailable.description": "OpenCode nemohl ověřit WSL na tomto počítači.", + "wsl.onboarding.installWsl": "Instalovat WSL", + "wsl.onboarding.windowsRestartRequired": + "Restartujte Windows pro dokončení instalace WSL a poté znovu otevřete OpenCode.", + "wsl.onboarding.next": "Další", + "wsl.onboarding.refresh": "Obnovit", + "wsl.onboarding.allDistrosAdded": "Všechny nainstalované distribuce jsou již přidány.", + "wsl.onboarding.noDistros": "Dosud nebyla zjištěna žádná distribuce.", + "wsl.onboarding.install": "Instalovat", + "wsl.onboarding.installing": "Instalace...", + "wsl.onboarding.installDistro": "Nainstalujte distro", + "wsl.onboarding.searchDistros": "Hledat distribuce", + "wsl.onboarding.wsl2Required": "WSL 2 je vyžadováno.", + "wsl.onboarding.toolsRequired": "Toto distro potřebuje bash a curl.", + "wsl.onboarding.openTerminal": "Otevřete terminál", + "wsl.onboarding.path": "Cesta: {{path}}", + "wsl.onboarding.notFound": "nenalezen", + "wsl.onboarding.version": "Verze: {{version}}", + "wsl.onboarding.unknown": "neznámý", + "wsl.onboarding.desktopVersion": "desktop {{version}}", + "wsl.onboarding.versionMismatch": "Nainstalovaná verze neodpovídá verzi aplikace pro stolní počítače.", + "wsl.onboarding.adding": "Přidávání...", + "help.tabs.toast.ariaLabel": "Představujeme karty. Uspořádejte si práci a aktivní relace pomocí karet", + "help.tabs.toast.dismiss": "Zavřít informace o kartách", + "help.tabs.title": "Představujeme karty", + "help.tabs.description": "Uspořádejte si práci a aktivní relace pomocí karet", + "help.tabs.date": "14. července", + "help.tabs.introduction": "OpenCode Plocha je nyní postavena na kartách.", + "help.tabs.sessions": + "Začněte novou relaci na kartě nebo otevřete existující relaci z libovolného z vašich projektů. Když začínáte s něčím novým, otevřete novou kartu a po dokončení ji zavřete.", + "help.tabs.organize": + "Ponechání několika otevřených karet usnadňuje organizaci aktivních relací. Přejmenujte karty na něco zapamatovatelného, ​​pokud si je plánujete ponechat.", + "help.tabs.home": + "Všechny relace a projekty najdete na nové domovské obrazovce. Výběrem relace ji otevřete na kartě.", + "help.tabs.persistence": "Když aplikaci znovu otevřete, vaše karty jsou stále otevřené.", + "help.tabs.worktrees": + "Nový design zatím nepodporuje Git Worktrees, brzy bude k dispozici. Pokud tedy chcete pokračovat v používání předchozího rozložení, můžete mezi rozloženími přepínat v Nastavení. Jen mějte na paměti, že nové rozložení se za několik týdnů stane trvalým.", + "server.row.noUsername": "žádné uživatelské jméno", + "dialog.project.edit.title": "Upravit projekt", + "dialog.project.edit.name": "Jméno", + "dialog.project.edit.icon": "ikona", + "dialog.project.edit.icon.alt": "Ikona projektu", + "dialog.project.edit.icon.hint": "Klikněte nebo přetáhněte obrázek", + "dialog.project.edit.icon.recommended": "Doporučeno: 128x128px", + "dialog.project.edit.color": "Barva", + "dialog.project.edit.color.select": "Vyberte barvu {{color}}", + "dialog.project.edit.worktree.startup": "Spouštěcí skript pracovního prostoru", + "dialog.project.edit.worktree.startup.description": + "Spustí se po vytvoření nového pracovního prostoru (pracovního stromu).", + "dialog.project.edit.worktree.startup.placeholder": "např. bun install", + "dialog.releaseNotes.action.getStarted": "Začněte", + "dialog.releaseNotes.action.next": "Další", + "dialog.releaseNotes.action.hideFuture": "V budoucnu je nezobrazujte", + "dialog.releaseNotes.media.alt": "Náhled vydání", + "context.breakdown.title": "Rozdělení kontextu", + "context.breakdown.note": 'Přibližný rozpis vstupních tokenů. "Jiné" zahrnuje definice nástrojů a režii.', + "context.breakdown.system": "Systém", + "context.breakdown.user": "Uživatel", + "context.breakdown.assistant": "asistent", + "context.breakdown.tool": "Volání nástroje", + "context.breakdown.other": "Jiné", + "context.systemPrompt.title": "Systémový prompt", + "context.rawMessages.title": "Syrové zprávy", + "context.export.session": "Export relace", + "context.stats.session": "Relace", + "context.stats.messages": "Zprávy", + "context.stats.provider": "Poskytovatel", + "context.stats.model": "Model", + "context.stats.limit": "Kontextový limit", + "context.stats.totalTokens": "Celkový počet tokenů", + "context.stats.usage": "Využití", + "context.stats.inputTokens": "Vstupní tokeny", + "context.stats.outputTokens": "Výstupní tokeny", + "context.stats.reasoningTokens": "Tokeny uvažování", + "context.stats.cacheTokens": "Tokeny mezipaměti (čtení/zápis)", + "context.stats.userMessages": "Uživatelské zprávy", + "context.stats.assistantMessages": "Zprávy Asistenta", + "context.stats.totalCost": "Celkové náklady", + "context.stats.sessionCreated": "Relace vytvořena", + "context.stats.lastActivity": "Poslední aktivita", + "context.usage.tokens": "Tokeny", + "context.usage.usage": "Využití", + "context.usage.cost": "náklady", + "context.usage.clickToView": "Kliknutím zobrazíte kontext", + "context.usage.view": "Zobrazit kontextové použití", + "language.en": "anglicky", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "německy", + "language.es": "španělsky", + "language.fr": "Français", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "Polski", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Norsk", + "language.br": "português (Brazílie)", + "language.bs": "Bosanský", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Turecko", + "toast.language.title": "Jazyk", + "toast.language.description": "Přepnuto na {{language}}", + "toast.theme.title": "Téma se změnilo", + "toast.scheme.title": "Barevné schéma", + "toast.workspace.enabled.title": "Pracovní prostory povoleny", + "toast.workspace.enabled.description": "V postranním panelu se nyní zobrazuje více pracovních stromů", + "toast.workspace.disabled.title": "Pracovní prostory jsou zakázány", + "toast.workspace.disabled.description": "Na postranním panelu je zobrazen pouze hlavní pracovní strom", + "toast.permissions.autoaccept.on.title": "Automatické přijímání oprávnění", + "toast.permissions.autoaccept.on.description": "Žádosti o povolení budou automaticky schváleny", + "toast.permissions.autoaccept.off.title": "Zastaveno automatické přijímání oprávnění", + "toast.permissions.autoaccept.off.description": "Žádosti o povolení budou vyžadovat schválení", + "toast.model.none.title": "Není vybrán žádný model", + "toast.model.none.description": "Chcete-li tuto relaci shrnout, připojte poskytovatele", + "toast.file.loadFailed.title": "Soubor se nepodařilo načíst", + "toast.file.listFailed.title": "Seznam souborů se nezdařil", + "toast.context.noLineSelection.title": "Žádný výběr řádku", + "toast.context.noLineSelection.description": "Nejprve vyberte rozsah řádků na kartě souboru.", + "toast.session.share.copyFailed.title": "Zkopírování URL do schránky se nezdařilo", + "toast.session.share.success.title": "Relace sdílena", + "toast.session.share.success.description": "Sdílet URL zkopírováno do schránky!", + "toast.session.share.failed.title": "Sdílení relace se nezdařilo", + "toast.session.share.failed.description": "Při sdílení relace došlo k chybě", + "toast.session.unshare.success.title": "Relace byla zrušena", + "toast.session.unshare.success.description": "Sdílení relace bylo úspěšně zrušeno!", + "toast.session.unshare.failed.title": "Zrušení sdílení relace se nezdařilo", + "toast.session.unshare.failed.description": "Při zrušení sdílení relace došlo k chybě", + "toast.session.export.success.title": "Relace byla exportována", + "toast.session.export.success.description": "Relace byla uložena do {{filename}}", + "toast.session.export.failed.title": "Export relace se nezdařil", + "toast.session.export.failed.description": "Při exportu relace došlo k chybě", + "toast.session.listFailed.title": "Nepodařilo se načíst relace pro {{project}}", + "toast.project.reloadFailed.title": "Nepodařilo se znovu načíst {{project}}", + "toast.update.title": "Aktualizace k dispozici", + "toast.update.description": "Nyní je k dispozici k instalaci nová verze OpenCode ({{version}}).", + "toast.update.action.installRestart": "Nainstalujte a restartujte", + "toast.update.action.notYet": "Ještě ne", + "error.page.title": "Něco se pokazilo", + "error.page.description": "Při načítání aplikace došlo k chybě.", + "error.page.description.localServerStartup": "Při spouštění místního serveru došlo k chybě.", + "error.page.details.label": "Podrobnosti o chybě", + "error.page.action.restart": "Restartujte", + "error.page.action.report": "Nahlásit chybu", + "error.page.action.reported": "Nahlášena chyba", + "error.page.action.exportLogs": "Exportovat protokoly", + "error.page.action.checking": "Kontrola...", + "error.page.action.checkUpdates": "Zkontrolujte aktualizace", + "error.page.action.updateTo": "Aktualizovat na {{version}}", + "error.page.circular": "[Kruhový]", + "error.page.report.prefix": "Nahlaste tuto chybu týmu OpenCode", + "error.page.report.discord": "dne Discord", + "error.page.version": "Verze: {{version}}", + "error.dev.rootNotFound": + "Kořenový prvek nenalezen. Zapomněli jste to přidat do index.html? Nebo je možná chyba v atributu id?", + "error.serverSync.connectFailed": "Nelze se připojit k serveru. Existuje server spuštěný na `{{url}}`?", + "error.serverSDK.noServerAvailable": "Žádný dostupný server", + "error.serverSDK.serverNotAvailable": "Server není dostupný", + "error.childStore.persistedCacheCreateFailed": "Nepodařilo se vytvořit trvalou mezipaměť", + "error.childStore.persistedProjectMetadataCreateFailed": "Nepodařilo se vytvořit trvalá metadata projektu", + "error.childStore.persistedProjectIconCreateFailed": "Nepodařilo se vytvořit trvalou ikonu projektu", + "error.childStore.storeCreateFailed": "Obchod se nepodařilo vytvořit", + "directory.error.invalidUrl": "Neplatný adresář v URL.", + "error.chain.unknown": "Neznámá chyba", + "error.server.invalidConfiguration": "Neplatná konfigurace", + "error.chain.causedBy": "Způsobeno:", + "error.chain.apiError": "API chyba", + "error.chain.status": "Stav: {{status}}", + "error.chain.retryable": "Opakovatelný pokus: {{retryable}}", + "error.chain.responseBody": "Tělo odpovědi:\n{{body}}", + "error.chain.didYouMean": "Měli jste na mysli: {{suggestions}}", + "error.chain.modelNotFound": "Model nenalezen: {{provider}}/{{model}}", + "error.chain.checkConfig": "Zkontrolujte název poskytovatele/modelu konfigurace (opencode.json).", + "error.chain.mcpFailed": 'MCP server "{{name}}" selhal. Poznámka: OpenCode zatím nepodporuje ověřování MCP.', + "error.chain.providerAuthFailed": "Ověření poskytovatele se nezdařilo ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + 'Nepodařilo se inicializovat poskytovatele "{{provider}}". Zkontrolujte přihlašovací údaje a konfiguraci.', + "error.chain.configJsonInvalid": "Konfigurační soubor na {{path}} není platný JSON(C)", + "error.chain.configJsonInvalidWithMessage": "Konfigurační soubor na {{path}} není platný JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + 'Adresář "{{dir}}" v {{path}} není platný. Přejmenujte adresář na "{{suggestion}}" nebo jej odeberte. Toto je běžný překlep.', + "error.chain.configFrontmatterError": "Nepodařilo se analyzovat frontmatter v {{path}}:\n{{message}}", + "error.chain.configInvalid": "Konfigurační soubor na {{path}} je neplatný", + "error.chain.configInvalidWithMessage": "Konfigurační soubor na {{path}} je neplatný: {{message}}", + "notification.permission.title": "Vyžaduje se povolení", + "notification.permission.description": "{{sessionTitle}} v {{projectName}} potřebuje povolení", + "notification.question.title": "Otázka", + "notification.question.description": "{{sessionTitle}} v {{projectName}} má otázku", + "notification.action.goToSession": "Přejít na relaci", + "notification.session.responseReady.title": "Odpověď připravena", + "notification.session.error.title": "Chyba relace", + "notification.session.error.fallbackDescription": "Došlo k chybě", + "home.recentProjects": "Nedávné projekty", + "home.empty.title": "Žádné nedávné projekty", + "home.empty.description": "Začněte otevřením místního projektu", + "home.title": "Domů", + "home.projects": "Projekty", + "home.project.add": "Přidat projekt", + "home.recentlyClosed": "Nedávno zavřeno", + "home.server.collapse": "Sbalit projekty serveru", + "home.server.expand": "Rozbalte projekty serveru", + "home.sessions.search.placeholder": "Vyhledávání relací", + "home.sessions.search.placeholder.scoped": "Hledat relace v {{scope}}", + "home.sessions.search.sessions": "Relace", + "home.sessions.search.noResults": "Pro {{query}} nebyly nalezeny žádné relace", + "home.sessions.empty": "Tady zatím nic", + "home.sessions.empty.description": "Začněte vytvořením relace", + "home.sessions.group.today": "dnes", + "home.sessions.group.yesterday": "včera", + "home.sessions.group.older": "Starší", + "home.providerTip": + "Připojte se k více než 75 poskytovatelům a použijte další modely, včetně Claude, GPT, Gemini atd", + "session.tab.session": "Relace", + "session.tab.review": "Recenze", + "session.tab.context": "Kontext", + "session.tab.unknown": "Neznámá relace", + "session.panel.reviewAndFiles": "Recenze a soubory", + "session.error.notFound": "Tuto relaci nelze najít", + "session.error.notFound.description": "Tato karta ukazuje na relaci, která již na tomto serveru neexistuje.", + "session.error.notFound.closeTab": "Zavřít kartu", + "session.error.serverConnection": "K tomuto serveru se nelze připojit", + "session.review.filesChanged": "Soubory změněny {{count}}", + "session.review.change.one": "Změna", + "session.review.change.other": "Změny", + "session.review.loadingChanges": "Načítání změn...", + "session.review.empty": "V této relaci zatím žádné změny", + "session.review.noVcs": "Ne Git Zjištěn systém správy verzí, změny se nezobrazují", + "session.review.noVcs.createGit.title": "Vytvořte úložiště Git", + "session.review.noVcs.createGit.description": "Sledujte, kontrolujte a vracejte změny v tomto projektu", + "session.review.noVcs.createGit.actionLoading": "Vytváření Git úložiště...", + "session.review.noVcs.createGit.action": "Vytvořit Git úložiště", + "session.review.noSnapshot": "Sledování snímků je v konfiguraci zakázáno, takže změny relace nejsou dostupné", + "session.review.noChanges": "Žádné změny", + "session.review.noUncommittedChanges": "Zatím žádné neprovedené změny", + "session.review.noBranchChanges": "Zatím žádné změny ve větvi", + "session.files.selectToOpen": "Vyberte soubor, který chcete otevřít", + "session.files.all": "Všechny soubory", + "session.files.empty": "Žádné soubory", + "session.files.binaryContent": "Binární soubor (obsah nelze zobrazit)", + "session.messages.renderEarlier": "Vykreslit dřívější zprávy", + "session.messages.loadingEarlier": "Načítání dřívějších zpráv...", + "session.messages.loadEarlier": "Načíst dřívější zprávy", + "session.messages.loading": "Načítání zpráv...", + "session.messages.jumpToLatest": "Přejít na nejnovější", + "session.context.addToContext": "Přidejte {{selection}} do kontextu", + "session.todo.title": "Úkoly", + "session.todo.collapse": "kolaps", + "session.todo.expand": "Rozbalit", + "session.todo.progress": "Dokončeno {{done}} z {{total}} úkolů", + "session.question.progress": "{{current}} z {{total}} otázek", + "session.question.minimize": "Minimalizujte otázku", + "session.question.restore": "Obnovit otázku", + "session.question.pending.one": "{{count}} nevyřízená otázka", + "session.question.pending.other": "{{count}} nevyřízené otázky", + "session.question.pending.few": "{{count}} nevyřízené otázky", + "session.question.pending.many": "{{count}} nevyřízených otázek", + "session.followupDock.summary.one": "{{count}} zpráva ve frontě", + "session.followupDock.summary.other": "{{count}} zpráv ve frontě", + "session.followupDock.summary.few": "{{count}} zprávy ve frontě", + "session.followupDock.summary.many": "{{count}} zprávy ve frontě", + "session.followupDock.sendNow": "Poslat nyní", + "session.followupDock.edit": "Upravit", + "session.followupDock.collapse": "Sbalit zprávy ve frontě", + "session.followupDock.expand": "Rozbalte zprávy ve frontě", + "session.revertDock.summary.one": "{{count}} vrácená zpráva", + "session.revertDock.summary.other": "{{count}} vrátilo zpět zprávy", + "session.revertDock.summary.few": "{{count}} vrácené zprávy", + "session.revertDock.summary.many": "{{count}} vrácené zprávy", + "session.revertDock.collapse": "Sbalit vrácené zprávy", + "session.revertDock.expand": "Rozbalte vrácené zprávy", + "session.revertDock.restore": "Obnovit zprávu", + "session.new.title": "Postavte cokoliv", + "session.new.project.new": "Nový projekt", + "session.new.project.search": "Hledat projekty", + "session.new.project.add": "Přidat projekt", + "session.new.worktree.main": "Hlavní větev", + "session.new.worktree.mainWithBranch": "Hlavní větev ({{branch}})", + "session.new.worktree.create": "Vytvořte nový pracovní strom", + "session.new.workspace.runIn": "Spustit relaci", + "session.new.workspace.triggerLocal": "Místní", + "session.new.workspace.local": "Místní úložiště", + "session.new.workspace.existing": "Pracovní prostor…", + "session.new.git.none": "ne Git", + "session.new.lastModified": "Naposledy upraveno", + "session.header.search.placeholder": "Hledat {{project}}", + "session.header.searchFiles": "Hledat soubory", + "session.header.openIn": "Otevřít v", + "session.header.open.action": "Otevřít {{app}}", + "session.header.open.ariaLabel": "Otevřít v {{app}}", + "session.header.open.menu": "Otevřete možnosti", + "session.header.open.copyPath": "Kopírovat cestu", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "File Explorer", + "session.header.open.fileManager": "Správce souborů", + "session.header.reveal.finder": "Odhalit v Finder", + "session.header.reveal.fileExplorer": "Odhalit v File Explorer", + "session.header.reveal.containingFolder": "Otevřete složku obsahující", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Terminál", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "Stav", + "status.popover.ariaLabel": "Konfigurace serveru", + "status.popover.tab.servers": "servery", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "Pluginy", + "status.popover.action.manageServers": "Správa serverů", + "session.share.popover.title": "Publikovat na webu", + "session.share.popover.description.shared": "Tato relace je veřejná na webu. Je přístupný komukoli s odkazem.", + "session.share.popover.description.unshared": "Sdílejte relaci veřejně na webu. Bude přístupný komukoli s odkazem.", + "session.share.action.share": "Sdílejte", + "session.share.action.publish": "Publikovat", + "session.share.action.publishing": "Publikování...", + "session.share.action.unpublish": "Zrušit publikování", + "session.share.action.unpublishing": "Rušení publikování...", + "session.share.action.view": "Zobrazit", + "session.share.copy.copied": "Zkopírováno", + "session.share.copy.copyLink": "Zkopírujte odkaz", + "lsp.tooltip.none": "Žádné LSP servery", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "Načítání výzvy...", + "terminal.loading": "Načítání terminálu...", + "terminal.title": "Terminál", + "terminal.title.numbered": "Terminál {{number}}", + "terminal.close": "Zavřete terminál", + "terminal.connectionLost.title": "Připojení ztraceno", + "terminal.connectionLost.abnormalClose": "WebSocket abnormálně uzavřeno: {{code}}", + "terminal.connectionLost.description": + "Spojení terminálu bylo přerušeno. To se může stát, když se server restartuje.", + "terminal.connectTicket.csrfError": + "PTY lístek připojení zamítnut původem nebo CSRF kontrolami. Zkontrolujte konfiguraci serveru CORS.", + "terminal.connectTicket.statusError": "PTY lístek připojení se nezdařil s {{status}}", + "titlebar.update": "Aktualizovat", + "titlebar.updateVersion": "Aktualizovat {{version}}", + "common.closeTab": "Zavřít kartu", + "common.dismiss": "Odmítnout", + "common.moreCountSuffix": " (+{{count}} další)", + "common.requestFailed": "Požadavek se nezdařil", + "common.moreOptions": "Více možností", + "common.learnMore": "Zjistěte více", + "common.rename": "Přejmenovat", + "common.export": "Exportovat", + "common.reset": "Resetovat", + "common.archive": "Archiv", + "common.delete": "Odstranit", + "common.close": "Zavřít", + "common.edit": "Upravit", + "common.loadMore": "Načíst více", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "neznámý", + "common.time.justNow": "Právě teď", + "common.time.minutesAgo.short": "před {{count}}min", + "common.time.hoursAgo.short": "před {{count}}h", + "common.time.daysAgo.short": "před {{count}} d", + "sidebar.menu.toggle": "Přepnout nabídku", + "sidebar.nav.projectsAndSessions": "Projekty a relace", + "sidebar.settings": "Nastavení", + "sidebar.help": "Pomoc", + "sidebar.workspaces.enable": "Povolit pracovní prostory", + "sidebar.workspaces.disable": "Zakázat pracovní prostory", + "sidebar.gettingStarted.title": "Začínáme", + "sidebar.gettingStarted.line1": "OpenCode obsahuje bezplatné modely, takže můžete začít okamžitě.", + "sidebar.gettingStarted.line2": + "Připojte libovolného poskytovatele, abyste mohli používat modely, vč. Claude, GPT, Gemini atd.", + "sidebar.project.recentSessions": "Nedávné relace", + "sidebar.project.viewAllSessions": "Zobrazit všechny relace", + "sidebar.project.clearNotifications": "Vymazat oznámení", + "sidebar.empty.title": "Nejsou otevřeny žádné projekty", + "sidebar.empty.description": "Chcete-li začít, otevřete projekt", + "debugBar.ariaLabel": "Diagnostika vývoje výkonnosti", + "debugBar.na": "n/a", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "Poslední dokončený přechod trasy dotykem stránky relace, měřeno od spuštění routeru do prvního nátěru po jeho usazení.", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "Pohyblivé snímky za sekundu za posledních 5 sekund.", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "Nejhorší doba snímku za posledních 5 sekund.", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "Snímky delší než 32 ms za posledních 5 sekund.", + "debugBar.long.label": "LONG", + "debugBar.long.tip": "Blokovaný čas a počet dlouhých úkolů za posledních 5 sekund. Maximální úkol: {{max}}.", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "Nejhorší pozorované zpoždění vstupu za posledních 5 sekund.", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": + "Přibližná doba trvání interakce za posledních 5 sekund. Toto je INP, nikoli oficiální Web Vitals INP.", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "Kumulativní změna rozvržení pro aktuální životnost aplikace.", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "Použitá halda JS vs limit haldy. pouze Chromium.", + "debugBar.mem.tip": "Použitá halda JS vs limit haldy. {{used}} z {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Vynutit styly zaměření na všechny interaktivní prvky", + "debugBar.focus.on": "ON", + "debugBar.focus.off": "VYPNUTO", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Vynutit úplný směr rozvržení aplikace bez změny vybraného jazyka", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode Desktop", + "settings.section.desktop": "Desktop", + "settings.section.server": "Server", + "settings.tab.general": "Generál", + "settings.tab.shortcuts": "Zkratky", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "WSL integrace", + "settings.desktop.wsl.description": "Spusťte server OpenCode uvnitř WSL na Windows.", + "settings.general.section.appearance": "Vzhled", + "settings.general.section.advanced": "Pokročilé", + "settings.general.section.notifications": "Systémová upozornění", + "settings.general.section.updates": "Aktualizace", + "settings.general.section.sounds": "Zvukové efekty", + "settings.general.section.feed": "Krmivo", + "settings.general.section.display": "Displej", + "settings.general.row.language.title": "Jazyk", + "settings.general.row.language.description": "Změnit jazyk zobrazení pro OpenCode", + "settings.general.row.shell.title": "Shell terminálu", + "settings.general.row.shell.description": "Shell používaný terminálem a nástroji agenta", + "settings.general.row.shell.autoDefault": "Auto (výchozí)", + "settings.general.row.shell.terminalOnly": "pouze terminál", + "settings.general.row.appearance.title": "Vzhled", + "settings.general.row.appearance.description": "Přizpůsobte si vzhled OpenCode na vašem zařízení", + "settings.general.row.colorScheme.title": "Barevné schéma", + "settings.general.row.colorScheme.description": + "Zvolte, zda bude OpenCode následovat systémové, světlé nebo tmavé téma", + "settings.general.row.theme.title": "téma", + "settings.general.row.theme.description": "Přizpůsobte, jak je téma OpenCode.", + "settings.general.row.font.title": "Písmo kódu", + "settings.general.row.font.description": "Přizpůsobte písmo používané v blocích kódu", + "settings.general.row.terminalFont.title": "Terminálové písmo", + "settings.general.row.terminalFont.description": "Přizpůsobte písmo použité v terminálu", + "settings.general.row.uiFont.title": "UI Písmo", + "settings.general.row.uiFont.description": "Přizpůsobte písmo používané v celém rozhraní", + "settings.general.row.followup.title": "Následné chování", + "settings.general.row.followup.description": "Zvolte, zda se mají následné výzvy řídit okamžitě nebo čekat ve frontě", + "settings.general.row.followup.option.queue": "Fronta", + "settings.general.row.followup.option.steer": "Řídit", + "settings.general.row.showFileTree.title": "Strom souborů", + "settings.general.row.showFileTree.description": "Zobrazit panel stromu souborů v relacích", + "settings.general.row.showNavigation.title": "Ovládací prvky navigace", + "settings.general.row.showNavigation.description": "Zobrazte tlačítka zpět a vpřed v záhlaví plochy", + "settings.general.row.showSearch.title": "Paleta příkazů", + "settings.general.row.showSearch.description": "Zobrazit tlačítko vyhledávací a příkazové palety v záhlaví", + "settings.general.row.showTerminal.title": "Terminál", + "settings.general.row.showTerminal.description": "Zobrazit tlačítko terminálu v záhlaví plochy", + "settings.general.row.showStatus.title": "Stav serveru", + "settings.general.row.showStatus.description": "Zobrazit tlačítko stavu serveru v záhlaví", + "settings.general.row.mobileTitlebarBottom.title": "Spodní navigace", + "settings.general.row.mobileTitlebarBottom.description": + "Umístěte záhlaví a karty relací do spodní části obrazovky na mobilu", + "settings.general.row.showCustomAgents.title": "Zobrazit agenta", + "settings.general.row.showCustomAgents.description": + "Přepínání mezi agenty ve skladateli. Když je skrytý, výchozí nastavení je Sestavit agenta.", + "settings.general.row.reasoningSummaries.title": "Ukažte shrnutí odůvodnění", + "settings.general.row.reasoningSummaries.description": "Zobrazte souhrny zdůvodnění modelu na časové ose", + "settings.general.row.shellToolPartsExpanded.title": "Rozbalte části nástroje shell", + "settings.general.row.shellToolPartsExpanded.description": + "Ve výchozím nastavení zobrazit na časové ose rozbalené části nástroje shell", + "settings.general.row.editToolPartsExpanded.title": "Rozbalte části nástroje pro úpravy", + "settings.general.row.editToolPartsExpanded.description": + "Ve výchozím nastavení zobrazit na časové ose rozbalené části nástroje pro úpravy, zápis a opravy", + "settings.general.row.newInterface.title": "Nové rozložení", + "settings.general.row.newInterface.badge": "Nové", + "settings.general.row.newInterface.description": + "Použijte nové karty a domovské rozvržení. Přepínejte mezi rozvrženími po omezenou dobu.", + "settings.general.row.newInterfaceNotice.title": "Nyní používáte nové rozvržení", + "settings.general.row.newInterfaceNotice.description": "Předchozí rozložení již není k dispozici", + "settings.general.row.newInterfaceNotice.dismiss": "Odmítnout", + "settings.general.row.pinchZoom.title": "Stažením prstů přiblížíte", + "settings.general.row.pinchZoom.description": "Povolit přiblížení pomocí gest trackpadu a gesta Ctrl posouvání", + "settings.general.row.wayland.title": "Použít nativní Wayland", + "settings.general.row.wayland.description": "Zakázat zálohu X11 na Wayland. Vyžaduje restart.", + "settings.general.row.wayland.tooltip": + "Na Linux s monitory se smíšenou obnovovací frekvencí může být nativní Wayland stabilnější.", + "settings.general.row.releaseNotes.title": "Poznámky k vydání", + "settings.general.row.releaseNotes.description": "Zobrazit vyskakovací okna Co je nového po aktualizacích", + "settings.updates.row.startup.title": "Zkontrolujte aktualizace při spuštění", + "settings.updates.row.startup.description": "Automaticky kontrolovat aktualizace při spuštění OpenCode", + "settings.updates.row.check.title": "Zkontrolujte aktualizace", + "settings.updates.row.check.description": "Ručně zkontrolujte aktualizace a nainstalujte je, pokud jsou k dispozici", + "settings.updates.action.checkNow": "Zkontrolujte nyní", + "settings.updates.action.checking": "Kontrola...", + "settings.updates.action.downloading": "Stahování...", + "settings.updates.action.installing": "Instalace...", + "settings.updates.toast.latest.title": "Jste aktuální", + "settings.updates.toast.latest.description": "Používáte nejnovější verzi OpenCode.", + "sound.option.none": "žádný", + "sound.option.alert01": "Upozornění 01", + "sound.option.alert02": "Upozornění 02", + "sound.option.alert03": "Upozornění 03", + "sound.option.alert04": "Upozornění 04", + "sound.option.alert05": "Upozornění 05", + "sound.option.alert06": "Upozornění 06", + "sound.option.alert07": "Upozornění 07", + "sound.option.alert08": "Upozornění 08", + "sound.option.alert09": "Upozornění 09", + "sound.option.alert10": "Upozornění 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "Ne 01", + "sound.option.nope02": "Ne 02", + "sound.option.nope03": "Ne 03", + "sound.option.nope04": "Ne 04", + "sound.option.nope05": "Ne 05", + "sound.option.nope06": "Ne 06", + "sound.option.nope07": "Ne 07", + "sound.option.nope08": "Ne 08", + "sound.option.nope09": "Ne 09", + "sound.option.nope10": "Ne 10", + "sound.option.nope11": "Ne 11", + "sound.option.nope12": "Ne 12", + "sound.option.yup01": "Ano 01", + "sound.option.yup02": "Ano 02", + "sound.option.yup03": "Ano 03", + "sound.option.yup04": "Ano 04", + "sound.option.yup05": "Ano 05", + "sound.option.yup06": "Ano 06", + "settings.general.notifications.agent.title": "Agent", + "settings.general.notifications.agent.description": + "Zobrazit systémové upozornění, když je agent kompletní nebo vyžaduje pozornost", + "settings.general.notifications.permissions.title": "Oprávnění", + "settings.general.notifications.permissions.description": + "Zobrazit systémové upozornění, když je vyžadováno oprávnění", + "settings.general.notifications.errors.title": "Chyby", + "settings.general.notifications.errors.description": "Zobrazit systémové upozornění, když dojde k chybě", + "settings.general.sounds.agent.title": "Agent", + "settings.general.sounds.agent.description": "Přehrajte zvuk, když je agent kompletní nebo vyžaduje pozornost", + "settings.general.sounds.permissions.title": "Oprávnění", + "settings.general.sounds.permissions.description": "Přehrát zvuk, když je vyžadováno povolení", + "settings.general.sounds.errors.title": "Chyby", + "settings.general.sounds.errors.description": "Přehrát zvuk, když dojde k chybě", + "settings.shortcuts.title": "Klávesové zkratky", + "settings.shortcuts.reset.button": "Obnovit výchozí nastavení", + "settings.shortcuts.reset.toast.title": "Zkratky byly resetovány", + "settings.shortcuts.reset.toast.description": "Klávesové zkratky byly resetovány na výchozí hodnoty.", + "settings.shortcuts.conflict.title": "Zástupce se již používá", + "settings.shortcuts.conflict.description": "{{keybind}} je již přiřazeno {{titles}}.", + "settings.shortcuts.unassigned": "Nepřiřazeno", + "settings.shortcuts.pressKeys": "Stiskněte klávesy", + "settings.shortcuts.search.placeholder": "Vyhledávací zkratky", + "settings.shortcuts.search.empty": "Nebyli nalezeni žádní zástupci", + "settings.shortcuts.group.general": "Generál", + "settings.shortcuts.group.session": "Relace", + "settings.shortcuts.group.navigation": "Navigace", + "settings.shortcuts.group.modelAndAgent": "Model a agent", + "settings.shortcuts.group.terminal": "Terminál", + "settings.shortcuts.group.prompt": "Prompt", + "settings.providers.title": "Poskytovatelé", + "settings.providers.description": "Zde bude možné konfigurovat nastavení poskytovatele.", + "settings.providers.section.connected": "Připojení poskytovatelé", + "settings.providers.connected.empty": "Žádní připojení poskytovatelé", + "settings.providers.connected.environmentDescription": "Připojeno z vašich proměnných prostředí", + "settings.providers.section.popular": "Populární poskytovatelé", + "settings.providers.custom.description": "Přidejte poskytovatele kompatibilního s OpenAI podle základny URL.", + "settings.providers.tag.environment": "Životní prostředí", + "settings.providers.tag.config": "Konfigurace", + "settings.providers.tag.custom": "Vlastní", + "settings.providers.tag.other": "Jiné", + "settings.models.title": "Modely", + "settings.models.description": "Zde bude možné konfigurovat nastavení modelu.", + "settings.agents.title": "Agenti", + "settings.agents.description": "Zde bude možné konfigurovat nastavení agenta.", + "settings.commands.title": "Příkazy", + "settings.commands.description": "Zde bude možné konfigurovat nastavení příkazů.", + "settings.mcp.title": "MCP", + "settings.mcp.description": "Zde bude možné konfigurovat nastavení MCP.", + "settings.permissions.title": "Oprávnění", + "settings.permissions.description": "Určete, jaké nástroje může server ve výchozím nastavení používat.", + "settings.permissions.section.tools": "Nástroje", + "settings.permissions.toast.updateFailed.title": "Aktualizace oprávnění se nezdařila", + "settings.permissions.action.allow": "Povolit", + "settings.permissions.action.ask": "Zeptejte se", + "settings.permissions.action.deny": "Odmítnout", + "settings.permissions.tool.read.title": "Přečtěte si", + "settings.permissions.tool.read.description": "Čtení souboru (odpovídá cestě k souboru)", + "settings.permissions.tool.edit.title": "Upravit", + "settings.permissions.tool.edit.description": "Upravte soubory, včetně úprav, zápisů a oprav", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "Porovnejte soubory pomocí vzorů glob", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "Prohledávejte obsah souboru pomocí regulárních výrazů", + "settings.permissions.tool.list.title": "Seznam", + "settings.permissions.tool.list.description": "Seznam souborů v adresáři", + "settings.permissions.tool.bash.title": "Bash", + "settings.permissions.tool.bash.description": "Spusťte příkazy shellu", + "settings.permissions.tool.task.title": "Úkol", + "settings.permissions.tool.task.description": "Spusťte dílčí agenty", + "settings.permissions.tool.skill.title": "Dovednost", + "settings.permissions.tool.skill.description": "Načtěte dovednost podle názvu", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "Spusťte dotazy na jazykový server", + "settings.permissions.tool.todowrite.title": "Todo Napište", + "settings.permissions.tool.todowrite.description": "Aktualizujte seznam úkolů", + "settings.permissions.tool.webfetch.title": "Web Fetch", + "settings.permissions.tool.webfetch.description": "Načíst obsah z URL", + "settings.permissions.tool.websearch.title": "Vyhledávání na webu", + "settings.permissions.tool.websearch.description": "Hledejte na webu", + "settings.permissions.tool.external_directory.title": "Externí adresář", + "settings.permissions.tool.external_directory.description": "Přístup k souborům mimo adresář projektu", + "settings.permissions.tool.doom_loop.title": "Doom Loop", + "settings.permissions.tool.doom_loop.description": "Detekce opakovaných volání nástrojů se stejným zadáním", + "session.delete.failed.title": "Smazání relace se nezdařilo", + "session.delete.title": "Odstranit relaci", + "session.delete.confirm": 'Odstranit relaci "{{name}}"?', + "session.delete.button": "Odstranit relaci", + "workspace.new": "Nový pracovní prostor", + "workspace.type.local": "místní", + "workspace.type.sandbox": "pískoviště", + "workspace.create.failed.title": "Vytvoření pracovního prostoru se nezdařilo", + "workspace.delete.failed.title": "Smazání pracovního prostoru se nezdařilo", + "workspace.resetting.title": "Resetování pracovního prostoru", + "workspace.resetting.description": "Může to chvíli trvat.", + "workspace.reset.failed.title": "Obnovení pracovního prostoru se nezdařilo", + "workspace.reset.success.title": "Obnovení pracovního prostoru", + "workspace.reset.success.description": "Pracovní prostor nyní odpovídá výchozí větvi.", + "workspace.error.stillPreparing": "Pracovní plocha se stále připravuje", + "workspace.status.checking": "Kontrola nesloučených změn...", + "workspace.status.error": "Nelze ověřit stav git.", + "workspace.status.clean": "Nebyly zjištěny žádné nesloučené změny.", + "workspace.status.dirty": "V tomto pracovním prostoru byly zjištěny nesloučené změny.", + "workspace.delete.title": "Odstranit pracovní prostor", + "workspace.delete.confirm": 'Odstranit pracovní prostor "{{name}}"?', + "workspace.delete.button": "Odstranit pracovní prostor", + "workspace.reset.title": "Obnovit pracovní prostor", + "workspace.reset.confirm": "Resetovat pracovní prostor „{{name}}“?", + "workspace.reset.button": "Obnovit pracovní prostor", + "workspace.reset.archived.none": "Žádné aktivní relace nebudou archivovány.", + "workspace.reset.archived.one": "1 relace bude archivována.", + "workspace.reset.archived.many": "{{count}} relací bude archivováno.", + "workspace.reset.note": "Tím se pracovní prostor resetuje tak, aby odpovídal výchozí větvi.", + "dialog.usageExceeded.dontShowAgain": "Znovu nezobrazovat", +} diff --git a/packages/app/src/i18n/da.ts b/packages/app/src/i18n/da.ts index 52bfb642c3cb..87737b094240 100644 --- a/packages/app/src/i18n/da.ts +++ b/packages/app/src/i18n/da.ts @@ -92,6 +92,9 @@ export const dict = { "command.session.unshare": "Stop deling af session", "command.session.unshare.description": "Stop med at dele denne session", + "command.session.export": "Eksportér session", + "command.session.export.description": "Eksportér hele sessionsudskriften som JSON", + "palette.search.placeholder": "Søg i filer, kommandoer og sessioner", "palette.search.placeholder.home": "Søg i kommandoer og sessioner", "palette.empty": "Ingen resultater fundet", @@ -102,6 +105,7 @@ export const dict = { "dialog.provider.empty": "Ingen udbydere fundet", "dialog.provider.group.popular": "Populære", "dialog.provider.group.other": "Andre", + "dialog.provider.custom.label": "Brugerdefineret OpenAI-kompatibel udbyder", "dialog.provider.tag.recommended": "Anbefalet", "dialog.provider.opencode.note": "Udvalgte modeller inklusive Claude, GPT, Gemini og flere", "dialog.provider.opencode.tagline": "Pålidelige optimerede modeller", @@ -122,6 +126,7 @@ export const dict = { "dialog.model.unpaid.freeModels.title": "Gratis modeller leveret af OpenCode", "dialog.model.unpaid.addMore.title": "Tilføj flere modeller fra populære udbydere", + "dialog.model.unpaid.viewMoreProviders": "Se mere end 70 yderligere udbydere", "dialog.provider.viewAll": "Vis flere udbydere", @@ -129,12 +134,14 @@ export const dict = { "provider.connect.title.anthropicProMax": "Log ind med Claude Pro/Max", "provider.connect.selectMethod": "Vælg loginmetode for {{provider}}.", "provider.connect.method.apiKey": "API-nøgle", + "provider.connect.method.browser": "Browser", + "provider.connect.method.headless": "Browserløs", "provider.connect.status.inProgress": "Godkendelse i gang...", "provider.connect.status.waiting": "Venter på godkendelse...", "provider.connect.status.failed": "Godkendelse mislykkedes: {{error}}", "provider.connect.apiKey.description": - "Indtast din {{provider}} API-nøgle for at forbinde din konto og bruge {{provider}} modeller i OpenCode.", - "provider.connect.apiKey.label": "{{provider}} API-nøgle", + "Indtast din API-nøgle til {{provider}} for at forbinde din konto og bruge modeller fra {{provider}} i OpenCode.", + "provider.connect.apiKey.label": "API-nøgle til {{provider}}", "provider.connect.apiKey.placeholder": "API-nøgle", "provider.connect.apiKey.required": "API-nøgle er påkrævet", "provider.connect.opencodeZen.line1": @@ -147,7 +154,7 @@ export const dict = { "provider.connect.oauth.code.visit.prefix": "Besøg ", "provider.connect.oauth.code.visit.link": "dette link", "provider.connect.oauth.code.visit.suffix": - " for at hente din godkendelseskode for at forbinde din konto og bruge {{provider}} modeller i OpenCode.", + " for at hente din godkendelseskode, forbinde din konto og bruge modeller fra {{provider}} i OpenCode.", "provider.connect.oauth.code.label": "{{method}} godkendelseskode", "provider.connect.oauth.code.placeholder": "Godkendelseskode", "provider.connect.oauth.code.required": "Godkendelseskode er påkrævet", @@ -155,12 +162,13 @@ export const dict = { "provider.connect.oauth.auto.visit.prefix": "Besøg ", "provider.connect.oauth.auto.visit.link": "dette link", "provider.connect.oauth.auto.visit.suffix": - " og indtast koden nedenfor for at forbinde din konto og bruge {{provider}} modeller i OpenCode.", + " og indtast koden nedenfor for at forbinde din konto og bruge modeller fra {{provider}} i OpenCode.", "provider.connect.oauth.auto.confirmationCode": "Bekræftelseskode", "provider.connect.toast.connected.title": "{{provider}} forbundet", - "provider.connect.toast.connected.description": "{{provider}} modeller er nu tilgængelige.", + "provider.connect.toast.connected.description": "Modeller fra {{provider}} er nu tilgængelige.", "provider.custom.title": "Brugerdefineret udbyder", + "provider.custom.unavailable": "Brugerdefinerede udbydere er ikke tilgængelige på denne server", "provider.custom.description.prefix": "Konfigurer en OpenAI-kompatibel udbyder. Se ", "provider.custom.description.link": "dokumentation for udbyderkonfiguration", "provider.custom.description.suffix": ".", @@ -217,9 +225,9 @@ export const dict = { "model.tooltip.inputs": "Input", "model.tooltip.model": "Model", "model.tooltip.provider": "Udbyder", - "model.tooltip.reasoning": "Tænkning", - "model.tooltip.reasoning.allowed": "Tillader tænkning", - "model.tooltip.reasoning.none": "Ingen tænkning", + "model.tooltip.reasoning": "Ræsonnering", + "model.tooltip.reasoning.allowed": "Tillader ræsonnering", + "model.tooltip.reasoning.none": "Ingen ræsonnering", "model.tooltip.context": "Kontekstgrænse {{limit}}", "common.search.placeholder": "Søg", "common.goBack": "Gå tilbage", @@ -230,7 +238,7 @@ export const dict = { "common.clear": "Ryd", "common.connect": "Forbind", "common.disconnect": "Frakobl", - "common.continue": "Indsend", + "common.continue": "Fortsæt", "common.submit": "Indsend", "common.save": "Gem", "common.saving": "Gemmer...", @@ -253,7 +261,7 @@ export const dict = { "prompt.example.3": "Ret ødelagte tests", "prompt.example.4": "Forklar hvordan godkendelse fungerer", "prompt.example.5": "Find og ret sikkerhedshuller", - "prompt.example.6": "Tilføj enhedstests for brugerservice", + "prompt.example.6": "Tilføj enhedstests for brugertjenesten", "prompt.example.7": "Refaktorer denne funktion så den er mere læsbar", "prompt.example.8": "Hvad betyder denne fejl?", "prompt.example.9": "Hjælp mig med at debugge dette problem", @@ -335,7 +343,7 @@ export const dict = { "dialog.server.search.placeholder": "Søg servere", "dialog.server.empty": "Ingen servere endnu", "dialog.server.add.title": "Tilføj en server", - "dialog.server.add.url": "Server URL", + "dialog.server.add.url": "Serveradresse", "dialog.server.add.placeholder": "http://localhost:4096", "dialog.server.add.error": "Kunne ikke forbinde til server", "dialog.server.add.checking": "Tjekker...", @@ -347,7 +355,7 @@ export const dict = { "dialog.server.edit.title": "Rediger server", "dialog.server.default.title": "Standardserver", "dialog.server.default.description": - "Forbind til denne server ved start af app i stedet for at starte en lokal server. Kræver genstart.", + "Opret forbindelse til denne server, når appen starter, i stedet for at starte en lokal server. Kræver genstart.", "dialog.server.default.none": "Ingen server valgt", "dialog.server.default.set": "Sæt nuværende server som standard", "dialog.server.default.clear": "Ryd", @@ -441,6 +449,8 @@ export const dict = { "dialog.project.edit.worktree.startup": "Opstartsscript for arbejdsområde", "dialog.project.edit.worktree.startup.description": "Køres efter oprettelse af et nyt arbejdsområde (worktree).", "dialog.project.edit.worktree.startup.placeholder": "f.eks. bun install", + "dialog.usageExceeded.dontShowAgain": "Vis ikke igen", + "context.breakdown.title": "Kontekstfordeling", "context.breakdown.note": 'Omtrentlig fordeling af input-tokens. "Andre" inkluderer værktøjsdefinitioner og overhead.', @@ -453,6 +463,8 @@ export const dict = { "context.systemPrompt.title": "Systemprompt", "context.rawMessages.title": "Rå beskeder", + "context.export.session": "Eksportér session", + "context.stats.session": "Session", "context.stats.messages": "Beskeder", "context.stats.provider": "Udbyder", @@ -462,8 +474,8 @@ export const dict = { "context.stats.usage": "Forbrug", "context.stats.inputTokens": "Input-tokens", "context.stats.outputTokens": "Output-tokens", - "context.stats.reasoningTokens": "Tænke Tokens", - "context.stats.cacheTokens": "Cache Tokens (læs/skriv)", + "context.stats.reasoningTokens": "Ræsonneringstokens", + "context.stats.cacheTokens": "Cachetokens (læsning/skrivning)", "context.stats.userMessages": "Brugerbeskeder", "context.stats.assistantMessages": "Assistentbeskeder", "context.stats.totalCost": "Samlede omkostninger", @@ -530,6 +542,11 @@ export const dict = { "toast.session.unshare.failed.title": "Kunne ikke stoppe deling af session", "toast.session.unshare.failed.description": "Der opstod en fejl under stop af sessionsdeling", + "toast.session.export.success.title": "Session eksporteret", + "toast.session.export.success.description": "Sessionen blev gemt i {{filename}}", + "toast.session.export.failed.title": "Kunne ikke eksportere session", + "toast.session.export.failed.description": "Der opstod en fejl under eksport af sessionen", + "toast.session.listFailed.title": "Kunne ikke indlæse sessioner for {{project}}", "toast.update.title": "Opdatering tilgængelig", @@ -566,7 +583,7 @@ export const dict = { "error.chain.responseBody": "Svarindhold:\n{{body}}", "error.chain.didYouMean": "Mente du: {{suggestions}}", "error.chain.modelNotFound": "Model ikke fundet: {{provider}}/{{model}}", - "error.chain.checkConfig": "Tjek dine konfigurations (opencode.json) udbyder/modelnavne", + "error.chain.checkConfig": "Kontrollér udbyder- og modelnavnene i din konfiguration (opencode.json)", "error.chain.mcpFailed": 'MCP-server "{{name}}" fejlede. Bemærk, OpenCode understøtter ikke MCP-godkendelse endnu.', "error.chain.providerAuthFailed": "Udbydergodkendelse mislykkedes ({{provider}}): {{message}}", "error.chain.providerInitFailed": @@ -619,12 +636,12 @@ export const dict = { "session.error.notFound.description": "Denne fane henviser til en session, der ikke længere findes på denne server.", "session.error.notFound.closeTab": "Luk fane", "session.error.serverConnection": "Kan ikke oprette forbindelse til denne server", - "session.review.filesChanged": "{{count}} Filer ændret", + "session.review.filesChanged": "{{count}} ændrede filer", "session.review.change.one": "Ændring", "session.review.change.other": "Ændringer", "session.review.loadingChanges": "Indlæser ændringer...", "session.review.empty": "Ingen ændringer i denne session endnu", - "session.review.noVcs": "Intet Git versionsstyringssystem fundet, ændringer vises ikke", + "session.review.noVcs": "Intet Git-versionsstyringssystem fundet, så ændringer vises ikke", "session.review.noSnapshot": "Snapshot-sporing er deaktiveret i konfigurationen, så sessionsændringer er ikke tilgængelige", "session.review.noChanges": "Ingen ændringer", @@ -715,12 +732,20 @@ export const dict = { "terminal.connectionLost.title": "Forbindelse mistet", "terminal.connectionLost.description": "Terminalforbindelsen blev afbrudt. Dette kan ske, når serveren genstarter.", + "terminal.connectTicket.csrfError": + "PTY-forbindelsesticket blev afvist ved kontrollen af oprindelse eller CSRF. Kontrollér serverens CORS-konfiguration.", + "terminal.connectTicket.statusError": "PTY-forbindelsesticket mislykkedes med {{status}}", + + "titlebar.update": "Opdater", + "titlebar.updateVersion": "Opdater {{version}}", + "common.closeTab": "Luk fane", "common.dismiss": "Afvis", "common.requestFailed": "Forespørgsel mislykkedes", "common.moreOptions": "Flere muligheder", "common.learnMore": "Lær mere", "common.rename": "Omdøb", + "common.export": "Eksportér", "common.reset": "Nulstil", "common.archive": "Arkivér", "common.delete": "Slet", @@ -750,7 +775,7 @@ export const dict = { "settings.tab.general": "Generelt", "settings.tab.shortcuts": "Genveje", "settings.desktop.section.wsl": "WSL", - "settings.desktop.wsl.title": "WSL integration", + "settings.desktop.wsl.title": "WSL-integration", "settings.desktop.wsl.description": "Kør OpenCode-serveren inde i WSL på Windows.", "settings.general.section.appearance": "Udseende", @@ -771,15 +796,16 @@ export const dict = { "settings.general.row.appearance.title": "Udseende", "settings.general.row.appearance.description": "Tilpas hvordan OpenCode ser ud på din enhed", "settings.general.row.colorScheme.title": "Farveskema", - "settings.general.row.colorScheme.description": "Vælg om OpenCode følger systemets, lyst eller mørkt tema", + "settings.general.row.colorScheme.description": + "Vælg, om OpenCode skal følge systemtemaet eller bruge et lyst eller mørkt tema", "settings.general.row.theme.title": "Tema", - "settings.general.row.theme.description": "Tilpas hvordan OpenCode er temabestemt.", + "settings.general.row.theme.description": "Tilpas OpenCodes tema.", "settings.general.row.font.title": "Kode-skrifttype", "settings.general.row.font.description": "Tilpas skrifttypen, der bruges i kodeblokke", "settings.general.row.terminalFont.title": "Terminalskrifttype", "settings.general.row.terminalFont.description": "Tilpas den skrifttype, der bruges i terminalen", "settings.general.row.uiFont.title": "UI-skrifttype", - "settings.general.row.uiFont.description": "Tilpas skrifttypen, der bruges i hele brugerfladen", + "settings.general.row.uiFont.description": "Tilpas skrifttypen, der bruges i hele brugergrænsefladen", "settings.general.row.followup.title": "Opfølgningsadfærd", "settings.general.row.followup.description": "Vælg om opfølgende forespørgsler skal styre straks eller vente i kø", "settings.general.row.followup.option.queue": "Kø", @@ -797,10 +823,11 @@ export const dict = { "settings.general.row.mobileTitlebarBottom.title": "Navigation nederst", "settings.general.row.mobileTitlebarBottom.description": "Placer titellinjen og sessionsfanerne nederst på skærmen på mobilenheder", - "settings.general.row.showCustomAgents.title": "Brugerdefinerede agenter", - "settings.general.row.showCustomAgents.description": "Vis agentvælgeren i promptfeltet", - "settings.general.row.reasoningSummaries.title": "Vis tænkeoversigter", - "settings.general.row.reasoningSummaries.description": "Vis model tænkeoversigter i tidslinjen", + "settings.general.row.showCustomAgents.title": "Vis agent", + "settings.general.row.showCustomAgents.description": + "Skift mellem agenter i promptfeltet. Når vælgeren er skjult, bruges Build-agenten som standard.", + "settings.general.row.reasoningSummaries.title": "Vis ræsonneringsoversigter", + "settings.general.row.reasoningSummaries.description": "Vis oversigter over modellens ræsonnering på tidslinjen", "settings.general.row.shellToolPartsExpanded.title": "Udvid shell-værktøjsdele", "settings.general.row.shellToolPartsExpanded.description": "Vis shell-værktøjsdele udvidet som standard i tidslinjen", @@ -816,13 +843,13 @@ export const dict = { "settings.general.row.newInterfaceNotice.dismiss": "Afvis", "settings.general.row.pinchZoom.title": "Knib for at zoome", "settings.general.row.pinchZoom.description": "Tillad knibebevægelser på pegefeltet og Ctrl-rulning for at zoome", - "settings.general.row.wayland.title": "Brug native Wayland", + "settings.general.row.wayland.title": "Brug indbygget Wayland", "settings.general.row.wayland.description": "Deaktiver X11-fallback på Wayland. Kræver genstart.", "settings.general.row.wayland.tooltip": - "På Linux med skærme med blandet opdateringshastighed kan native Wayland være mere stabilt.", + "På Linux med skærme med forskellige opdateringshastigheder kan indbygget Wayland være mere stabilt.", "settings.general.row.releaseNotes.title": "Udgivelsesnoter", - "settings.general.row.releaseNotes.description": 'Vis "Hvad er nyt"-popups efter opdateringer', + "settings.general.row.releaseNotes.description": 'Vis pop op-vinduer med "Hvad er nyt" efter opdateringer', "settings.updates.row.startup.title": "Tjek for opdateringer ved opstart", "settings.updates.row.startup.description": "Tjek automatisk for opdateringer, når OpenCode starter", @@ -945,9 +972,9 @@ export const dict = { "settings.permissions.tool.read.description": "Læsning af en fil (matcher filstien)", "settings.permissions.tool.edit.title": "Rediger", "settings.permissions.tool.edit.description": - "Ændre filer, herunder redigeringer, skrivninger, patches og multi-redigeringer", + "Rediger filer, herunder med redigeringer, skrivning, patches og multiredigeringer", "settings.permissions.tool.glob.title": "Glob", - "settings.permissions.tool.glob.description": "Match filer ved hjælp af glob-mønstre", + "settings.permissions.tool.glob.description": "Find filer ved hjælp af globmønstre", "settings.permissions.tool.grep.title": "Grep", "settings.permissions.tool.grep.description": "Søg i filindhold ved hjælp af regulære udtryk", "settings.permissions.tool.list.title": "Liste", @@ -960,8 +987,8 @@ export const dict = { "settings.permissions.tool.skill.description": "Indlæs en færdighed efter navn", "settings.permissions.tool.lsp.title": "LSP", "settings.permissions.tool.lsp.description": "Kør sprogserverforespørgsler", - "settings.permissions.tool.todowrite.title": "Skriv To-do", - "settings.permissions.tool.todowrite.description": "Opdater to-do listen", + "settings.permissions.tool.todowrite.title": "Skriv to-do", + "settings.permissions.tool.todowrite.description": "Opdater to-do-listen", "settings.permissions.tool.webfetch.title": "Webhentning", "settings.permissions.tool.webfetch.description": "Hent indhold fra en URL", "settings.permissions.tool.websearch.title": "Websøgning", @@ -988,7 +1015,7 @@ export const dict = { "workspace.reset.success.description": "Arbejdsområdet matcher nu hovedgrenen.", "workspace.error.stillPreparing": "Arbejdsområdet er stadig ved at blive klargjort", "workspace.status.checking": "Tjekker for uflettede ændringer...", - "workspace.status.error": "Kunne ikke bekræfte git-status.", + "workspace.status.error": "Kunne ikke bekræfte Git-status.", "workspace.status.clean": "Ingen uflettede ændringer fundet.", "workspace.status.dirty": "Uflettede ændringer fundet i dette arbejdsområde.", "workspace.delete.title": "Slet arbejdsområde", @@ -1030,6 +1057,9 @@ export const dict = { "session.question.progress": "{{current}} af {{total}} spørgsmål", "session.header.open.finder": "Finder", "session.header.open.fileExplorer": "Stifinder", + "session.header.reveal.finder": "Vis i Finder", + "session.header.reveal.fileExplorer": "Vis i Stifinder", + "session.header.reveal.containingFolder": "Åbn den overordnede mappe", "session.header.open.fileManager": "Filhåndtering", "session.header.open.app.vscode": "VS Code", "session.header.open.app.cursor": "Cursor", @@ -1050,11 +1080,11 @@ export const dict = { "debugBar.nav.tip": "Sidste gennemførte ruteovergang, der berører en sessionsside, målt fra routerstart til den første optegning efter den falder til ro.", "debugBar.fps.label": "FPS", - "debugBar.fps.tip": "Rullende billeder pr. sekund over de sidste 5 sekunder.", + "debugBar.fps.tip": "Rullende antal billedrammer pr. sekund over de sidste 5 sekunder.", "debugBar.frame.label": "FRAME", - "debugBar.frame.tip": "Værste billedtid over de sidste 5 sekunder.", + "debugBar.frame.tip": "Længste billedrammetid over de sidste 5 sekunder.", "debugBar.jank.label": "JANK", - "debugBar.jank.tip": "Billeder over 32ms i de sidste 5 sekunder.", + "debugBar.jank.tip": "Billedrammer over 32 ms i de sidste 5 sekunder.", "debugBar.long.label": "LONG", "debugBar.long.tip": "Blokeret tid og antal lange opgaver i de sidste 5 sekunder. Maks opgave: {{max}}.", "debugBar.delay.label": "DELAY", @@ -1065,8 +1095,16 @@ export const dict = { "debugBar.cls.label": "CLS", "debugBar.cls.tip": "Kumulativt layoutskift for den nuværende app-levetid.", "debugBar.mem.label": "MEM", - "debugBar.mem.tipUnavailable": "Brugt JS-heap vs heap-grænse. Kun Chromium.", - "debugBar.mem.tip": "Brugt JS-heap vs heap-grænse. {{used}} af {{limit}}.", + "debugBar.mem.tipUnavailable": "Brugt JS-heap sammenholdt med heapgrænsen. Kun Chromium.", + "debugBar.mem.tip": "Brugt JS-heap sammenholdt med heapgrænsen. {{used}} af {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Gennemtving fokusstile for alle interaktive elementer", + "debugBar.focus.on": "TIL", + "debugBar.focus.off": "FRA", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Gennemtving layoutretningen for hele appen uden at ændre det valgte sprog", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", "common.key.ctrl": "Ctrl", "common.key.alt": "Alt", "common.key.shift": "Shift", @@ -1090,4 +1128,121 @@ export const dict = { "error.childStore.persistedProjectIconCreateFailed": "Kunne ikke oprette vedvarende projektikon", "error.childStore.storeCreateFailed": "Kunne ikke oprette lager", "terminal.connectionLost.abnormalClose": "WebSocket lukkede unormalt: {{code}}", + + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Arkiv", + "desktop.menu.edit": "Rediger", + "desktop.menu.view": "Oversigt", + "desktop.menu.go": "Gå", + "desktop.menu.window": "Vindue", + "desktop.menu.help": "Hjælp", + "desktop.menu.checkForUpdates": "Søg efter opdateringer...", + "desktop.menu.settings": "Indstillinger", + "desktop.menu.reloadWebview": "Genindlæs webvisning", + "desktop.menu.restart": "Genstart", + "desktop.menu.exportLogs": "Eksportér logfiler...", + "desktop.menu.newSession": "Ny session", + "desktop.menu.openProject": "Åbn projekt...", + "desktop.menu.newWindow": "Nyt vindue", + "desktop.menu.closeWindow": "Luk vindue", + "desktop.menu.undo": "Fortryd", + "desktop.menu.redo": "Gentag", + "desktop.menu.cut": "Klip", + "desktop.menu.copy": "Kopier", + "desktop.menu.paste": "Sæt ind", + "desktop.menu.delete": "Slet", + "desktop.menu.selectAll": "Vælg alt", + "desktop.menu.toggleSidebar": "Vis eller skjul indholdsoversigt", + "desktop.menu.toggleTerminal": "Vis eller skjul terminal", + "desktop.menu.toggleFileTree": "Vis eller skjul filtræ", + "desktop.menu.reload": "Genindlæs", + "desktop.menu.toggleDeveloperTools": "Vis eller skjul udviklerværktøjer", + "desktop.menu.actualSize": "Faktisk størrelse", + "desktop.menu.zoomIn": "Zoom ind", + "desktop.menu.zoomOut": "Zoom ud", + "desktop.menu.toggleFullScreen": "Slå fuldskærmsvisning til eller fra", + "desktop.menu.back": "Tilbage", + "desktop.menu.forward": "Frem", + "desktop.menu.previousSession": "Forrige session", + "desktop.menu.nextSession": "Næste session", + "desktop.menu.previousProject": "Forrige projekt", + "desktop.menu.nextProject": "Næste projekt", + "desktop.menu.minimize": "Minimer", + "desktop.menu.maximize": "Maksimer", + "desktop.menu.documentation": "OpenCode-dokumentation", + "desktop.menu.supportForum": "Supportforum", + "desktop.menu.shareFeedback": "Giv feedback", + "desktop.menu.reportBug": "Rapportér en fejl", + "desktop.menu.ariaLabel": "OpenCode-menu", + + "desktop.updater.dialog.checkFailed.message": "Søgningen efter opdateringer mislykkedes.", + "desktop.updater.dialog.checkFailed.title": "Opdateringsfejl", + "desktop.updater.dialog.upToDate.message": "Du er opdateret.", + "desktop.updater.dialog.upToDate.title": "Ingen opdateringer", + "desktop.updater.dialog.ready.message": "Opdatering {{version}} er downloadet. Vil du genstarte nu?", + "desktop.updater.dialog.ready.title": "Opdateringen er klar", + "desktop.updater.dialog.restart": "Genstart", + "desktop.updater.dialog.later": "Senere", + + "desktop.recovery.action.relaunch": "Start igen", + "desktop.recovery.action.exportLogs": "Eksportér logfiler", + "desktop.recovery.action.keepWaiting": "Vent fortsat", + "desktop.recovery.action.quit": "Afslut", + "desktop.recovery.loadFailed": "OpenCode kunne ikke indlæses", + "desktop.recovery.terminated": "OpenCode-vinduet blev uventet afsluttet", + "desktop.recovery.unresponsive": "OpenCode svarer ikke", + "desktop.recovery.unresponsive.detail": "Du kan starte appen igen, åbne logfilerne eller fortsætte med at vente.", + "desktop.recovery.loadFailed.detail": "Vindue: {{window}}\nURL: {{url}}\nFejl: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Vindue: {{window}}\nÅrsag: {{reason}}\nKode: {{code}}", + "desktop.recovery.unknown": "", + + "desktop.dialog.chooseFolder": "Vælg en mappe", + "desktop.dialog.chooseFile": "Vælg en fil", + "desktop.dialog.saveFile": "Gem fil", + "desktop.dialog.files": "Filer", + "desktop.server.local": "Lokal server", + + "desktop.wsl.error.windowsOnly": "WSL er kun tilgængelig i Windows", + "desktop.wsl.error.unavailable": "WSL er ikke tilgængelig", + "desktop.wsl.error.listInstalled": "Kunne ikke vise installerede WSL-distributioner", + "desktop.wsl.error.listOnline": "Kunne ikke vise WSL-distributioner på nettet", + "desktop.wsl.error.executeDistro": "Kan ikke udføre kommandoer i distributionen", + "desktop.wsl.error.installWsl": "Installationen af WSL mislykkedes", + "desktop.wsl.error.installDistro": "Kunne ikke installere distributionen: {{distro}}", + "desktop.wsl.error.installOpencode": "Installationen af OpenCode mislykkedes", + "desktop.wsl.error.alreadyAdded": "{{distro}} er allerede tilføjet", + "desktop.wsl.error.opencodeMissing": "opencode er ikke installeret i denne distribution", + "desktop.wsl.error.opencodeCannotRun": "opencode er installeret, men kunne ikke køre", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode er ikke installeret i {{distro}}", + "desktop.wsl.error.updateVersion": + "Opdateringen af OpenCode er fuldført, men {{distro}} rapporterer stadig {{installed}}. Forventet: {{expected}}", + "desktop.wsl.error.noVersion": "ingen version", + "desktop.wsl.error.serverExited": "WSL-serveren blev afsluttet efter opstart (code={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL-serveren blev afsluttet, før den var klar (code={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": + "Tilstandskontrollen af sidecar-processen for {{distro}} fik timeout efter {{timeout}} ms", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} fik timeout efter {{timeout}} ms", + "desktop.wsl.error.failedPort": "Kunne ikke hente porten", + + "desktop.picker.error.notSelected": "Filen blev ikke valgt i filvælgeren", + "desktop.picker.error.sizeLimit": "De valgte vedhæftede filer overskrider grænsen på {{limit}} MB", + + "command.logs.export": "Eksportér logfiler", + + "help.tabs.toast.ariaLabel": "Introduktion til faner. Organiser dit arbejde og dine aktive sessioner med faner", + "help.tabs.toast.dismiss": "Luk oplysninger om faner", + "help.tabs.title": "Introduktion til faner", + "help.tabs.description": "Organiser dit arbejde og dine aktive sessioner med faner", + "help.tabs.date": "14. juli", + "help.tabs.introduction": "OpenCode Desktop er nu bygget op omkring faner.", + "help.tabs.sessions": + "Start en ny session i en fane, eller åbn en eksisterende session fra et af dine projekter. Åbn en ny fane, når du går i gang med noget nyt, og luk den, når du er færdig.", + "help.tabs.organize": + "Når du holder nogle få faner åbne, er det nemmere at organisere dine aktive sessioner. Giv fanerne navne, der er nemme at huske, hvis du vil beholde dem.", + "help.tabs.home": + "Du finder alle dine sessioner og projekter på den nye startskærm. Når du vælger en session, åbnes den i en fane.", + "help.tabs.persistence": "Dine faner er stadig åbne, når du åbner appen igen.", + "help.tabs.worktrees": + "Det nye design understøtter endnu ikke Git Worktrees, men understøttelsen kommer snart. Hvis du foretrækker at fortsætte med det tidligere layout, kan du skifte mellem layoutene under Indstillinger. Bemærk, at det nye layout bliver permanent om nogle få uger.", } diff --git a/packages/app/src/i18n/de.ts b/packages/app/src/i18n/de.ts index 86195460790a..00849598c5c5 100644 --- a/packages/app/src/i18n/de.ts +++ b/packages/app/src/i18n/de.ts @@ -89,6 +89,9 @@ export const dict = { "command.session.share.description": "Diese Sitzung teilen und URL in die Zwischenablage kopieren", "command.session.unshare": "Teilen der Sitzung aufheben", "command.session.unshare.description": "Teilen dieser Sitzung beenden", + "command.session.export": "Sitzung exportieren", + "command.session.export.description": "Das vollständige Transkript der Sitzung als JSON exportieren", + "palette.search.placeholder": "Dateien, Befehle und Sitzungen durchsuchen", "palette.search.placeholder.home": "Befehle und Sitzungen durchsuchen", "palette.empty": "Keine Ergebnisse gefunden", @@ -98,13 +101,14 @@ export const dict = { "dialog.provider.empty": "Keine Anbieter gefunden", "dialog.provider.group.popular": "Beliebt", "dialog.provider.group.other": "Andere", + "dialog.provider.custom.label": "Benutzerdefinierter OpenAI-kompatibler Anbieter", "dialog.provider.tag.recommended": "Empfohlen", "dialog.provider.opencode.note": "Kuratierte Modelle inklusive Claude, GPT, Gemini und mehr", "dialog.provider.opencode.tagline": "Zuverlässige, optimierte Modelle", "dialog.provider.opencodeGo.tagline": "Kostengünstiges Abo für alle", - "dialog.provider.anthropic.note": "Mit Claude Pro/Max oder API-Schlüssel verbinden", - "dialog.provider.copilot.note": "Mit Copilot oder API-Schlüssel verbinden", - "dialog.provider.openai.note": "Mit ChatGPT Pro/Plus oder API-Schlüssel verbinden", + "dialog.provider.anthropic.note": "Direkter Zugriff auf Claude-Modelle, einschließlich Pro und Max", + "dialog.provider.copilot.note": "KI-Modelle zur Programmierunterstützung über GitHub Copilot", + "dialog.provider.openai.note": "GPT-Modelle für schnelle, leistungsfähige allgemeine KI-Aufgaben", "dialog.provider.google.note": "Gemini-Modelle für schnelle, strukturierte Antworten", "dialog.provider.openrouter.note": "Zugriff auf alle unterstützten Modelle über einen Anbieter", "dialog.provider.vercel.note": "Einheitlicher Zugriff auf KI-Modelle mit intelligentem Routing", @@ -116,17 +120,20 @@ export const dict = { "dialog.model.manage.provider.toggle": "Alle {{provider}}-Modelle umschalten", "dialog.model.unpaid.freeModels.title": "Kostenlose Modelle von OpenCode", "dialog.model.unpaid.addMore.title": "Weitere Modelle von beliebten Anbietern hinzufügen", + "dialog.model.unpaid.viewMoreProviders": "Über 70 weitere Anbieter anzeigen", "dialog.provider.viewAll": "Mehr Anbieter anzeigen", "provider.connect.title": "{{provider}} verbinden", "provider.connect.title.anthropicProMax": "Mit Claude Pro/Max anmelden", "provider.connect.selectMethod": "Anmeldemethode für {{provider}} auswählen.", "provider.connect.method.apiKey": "API-Schlüssel", - "provider.connect.status.inProgress": "Autorisierung läuft...", - "provider.connect.status.waiting": "Warten auf Autorisierung...", + "provider.connect.method.browser": "Browser", + "provider.connect.method.headless": "Browserlos", + "provider.connect.status.inProgress": "Autorisierung läuft…", + "provider.connect.status.waiting": "Warten auf Autorisierung…", "provider.connect.status.failed": "Autorisierung fehlgeschlagen: {{error}}", "provider.connect.apiKey.description": - "Geben Sie Ihren {{provider}} API-Schlüssel ein, um Ihr Konto zu verbinden und {{provider}} Modelle in OpenCode zu nutzen.", - "provider.connect.apiKey.label": "{{provider}} API-Schlüssel", + "Geben Sie Ihren API-Schlüssel für {{provider}} ein, um Ihr Konto zu verbinden und {{provider}}-Modelle in OpenCode zu nutzen.", + "provider.connect.apiKey.label": "API-Schlüssel für {{provider}}", "provider.connect.apiKey.placeholder": "API-Schlüssel", "provider.connect.apiKey.required": "API-Schlüssel ist erforderlich", "provider.connect.opencodeZen.line1": @@ -139,21 +146,22 @@ export const dict = { "provider.connect.oauth.code.visit.prefix": "Besuchen Sie ", "provider.connect.oauth.code.visit.link": "diesen Link", "provider.connect.oauth.code.visit.suffix": - ", um Ihren Autorisierungscode zu erhalten, Ihr Konto zu verbinden und {{provider}} Modelle in OpenCode zu nutzen.", - "provider.connect.oauth.code.label": "{{method}} Autorisierungscode", + ", um Ihren Autorisierungscode zu erhalten, Ihr Konto zu verbinden und {{provider}}-Modelle in OpenCode zu nutzen.", + "provider.connect.oauth.code.label": "{{method}}-Autorisierungscode", "provider.connect.oauth.code.placeholder": "Autorisierungscode", "provider.connect.oauth.code.required": "Autorisierungscode ist erforderlich", "provider.connect.oauth.code.invalid": "Ungültiger Autorisierungscode", "provider.connect.oauth.auto.visit.prefix": "Besuchen Sie ", "provider.connect.oauth.auto.visit.link": "diesen Link", "provider.connect.oauth.auto.visit.suffix": - " und geben Sie den untenstehenden Code ein, um Ihr Konto zu verbinden und {{provider}} Modelle in OpenCode zu nutzen.", + " und geben Sie den untenstehenden Code ein, um Ihr Konto zu verbinden und {{provider}}-Modelle in OpenCode zu nutzen.", "provider.connect.oauth.auto.confirmationCode": "Bestätigungscode", "provider.connect.toast.connected.title": "{{provider}} verbunden", - "provider.connect.toast.connected.description": "{{provider}} Modelle sind jetzt verfügbar.", + "provider.connect.toast.connected.description": "{{provider}}-Modelle sind jetzt verfügbar.", "provider.custom.title": "Benutzerdefinierter Anbieter", + "provider.custom.unavailable": "Benutzerdefinierte Anbieter sind auf diesem Server nicht verfügbar", "provider.custom.description.prefix": "Konfigurieren Sie einen OpenAI-kompatiblen Anbieter. Siehe die ", - "provider.custom.description.link": "Anbieter-Konfigurationsdokumente", + "provider.custom.description.link": "Dokumentation zur Anbieterkonfiguration", "provider.custom.description.suffix": ".", "provider.custom.field.providerID.label": "Anbieter-ID", "provider.custom.field.providerID.placeholder": "myprovider", @@ -208,32 +216,32 @@ export const dict = { "model.tooltip.model": "Modell", "model.tooltip.provider": "Anbieter", "model.tooltip.reasoning": "Reasoning", - "model.tooltip.reasoning.allowed": "Erlaubt Reasoning", + "model.tooltip.reasoning.allowed": "Reasoning möglich", "model.tooltip.reasoning.none": "Kein Reasoning", "model.tooltip.context": "Kontextlimit {{limit}}", "common.search.placeholder": "Suchen", "common.goBack": "Zurück", "common.goForward": "Vorwärts navigieren", - "common.loading": "Laden", - "common.loading.ellipsis": "...", + "common.loading": "Wird geladen", + "common.loading.ellipsis": "…", "common.cancel": "Abbrechen", "common.clear": "Leeren", "common.connect": "Verbinden", "common.disconnect": "Trennen", - "common.continue": "Absenden", + "common.continue": "Weiter", "common.submit": "Absenden", "common.save": "Speichern", - "common.saving": "Speichert...", + "common.saving": "Wird gespeichert…", "common.default": "Standard", "common.attachment": "Anhang", - "prompt.placeholder.shell": "Shell-Befehl eingeben... {{example}}", - "prompt.placeholder.normal": 'Fragen Sie alles... "{{example}}"', - "prompt.placeholder.simple": "Fragen Sie alles...", + "prompt.placeholder.shell": "Shell-Befehl eingeben… {{example}}", + "prompt.placeholder.normal": 'Beliebige Frage stellen… "{{example}}"', + "prompt.placeholder.simple": "Beliebige Frage stellen…", "prompt.placeholder.summarizeComments": "Kommentare zusammenfassen…", "prompt.placeholder.summarizeComment": "Kommentar zusammenfassen…", "prompt.mode.shell": "Shell", "prompt.mode.normal": "Prompt", - "prompt.mode.shell.exit": "esc zum Verlassen", + "prompt.mode.shell.exit": "Esc zum Verlassen", "session.child.promptDisabled": "Unteragenten-Sitzungen können keine Prompts erhalten.", "session.child.backToParent": "Zurück zur Hauptsitzung.", "prompt.example.1": "Ein TODO in der Codebasis beheben", @@ -248,8 +256,8 @@ export const dict = { "prompt.example.10": "API-Dokumentation generieren", "prompt.example.11": "Datenbankabfragen optimieren", "prompt.example.12": "Eingabevalidierung hinzufügen", - "prompt.example.13": "Neue Komponente erstellen für...", - "prompt.example.14": "Wie deploye ich dieses Projekt?", + "prompt.example.13": "Neue Komponente erstellen für…", + "prompt.example.14": "Wie stelle ich dieses Projekt bereit?", "prompt.example.15": "Meinen Code auf Best Practices überprüfen", "prompt.example.16": "Fehlerbehandlung zu dieser Funktion hinzufügen", "prompt.example.17": "Erkläre dieses Regex-Muster", @@ -259,12 +267,12 @@ export const dict = { "prompt.example.21": "Hilf mir, ein Migrationsskript zu schreiben", "prompt.example.22": "Caching für diesen Endpunkt implementieren", "prompt.example.23": "Paginierung zu dieser Liste hinzufügen", - "prompt.example.24": "CLI-Befehl erstellen für...", + "prompt.example.24": "CLI-Befehl erstellen für…", "prompt.example.25": "Wie funktionieren Umgebungsvariablen hier?", "prompt.popover.emptyResults": "Keine passenden Ergebnisse", "prompt.popover.emptyCommands": "Keine passenden Befehle", "prompt.dropzone.label": "Bilder, PDFs oder Textdateien hier ablegen", - "prompt.dropzone.file.label": "Ablegen zum @Erwähnen der Datei", + "prompt.dropzone.file.label": "Ablegen, um die Datei mit @ zu erwähnen", "prompt.slash.badge.custom": "benutzerdefiniert", "prompt.slash.badge.skill": "Skill", "prompt.slash.badge.mcp": "MCP", @@ -280,14 +288,14 @@ export const dict = { "prompt.menu.shellCommand": "Shell-Befehl", "prompt.attachment.remove": "Anhang entfernen", "prompt.action.send": "Senden", - "prompt.action.stop": "Stopp", + "prompt.action.stop": "Stoppen", "prompt.toast.pasteUnsupported.title": "Nicht unterstützter Anhang", "prompt.toast.attachmentDuplicate.title": "Diese Datei wurde bereits hochgeladen", "prompt.toast.pasteUnsupported.description": "Hier können nur Bilder, PDFs oder Textdateien angehängt werden.", "prompt.toast.modelAgentRequired.title": "Wählen Sie einen Agenten und ein Modell", "prompt.toast.modelAgentRequired.description": "Wählen Sie einen Agenten und ein Modell, bevor Sie eine Eingabe senden.", - "prompt.toast.worktreeCreateFailed.title": "Worktree konnte nicht erstellt werden", + "prompt.toast.worktreeCreateFailed.title": "Der Worktree konnte nicht erstellt werden", "prompt.toast.sessionCreateFailed.title": "Sitzung konnte nicht erstellt werden", "prompt.toast.shellSendFailed.title": "Shell-Befehl konnte nicht gesendet werden", "prompt.toast.commandSendFailed.title": "Befehl konnte nicht gesendet werden", @@ -300,7 +308,7 @@ export const dict = { "dialog.plugins.empty": "In opencode.json konfigurierte Plugins", "mcp.status.connected": "verbunden", "mcp.status.failed": "fehlgeschlagen", - "mcp.status.needs_auth": "benötigt Authentifizierung", + "mcp.status.needs_auth": "Authentifizierung erforderlich", "mcp.auth.clickToAuthenticate": "Zum Authentifizieren klicken", "mcp.status.disabled": "deaktiviert", "dialog.fork.empty": "Keine Nachrichten zum Abzweigen vorhanden", @@ -316,10 +324,10 @@ export const dict = { "dialog.server.search.placeholder": "Server durchsuchen", "dialog.server.empty": "Noch keine Server", "dialog.server.add.title": "Server hinzufügen", - "dialog.server.add.url": "Server-URL", + "dialog.server.add.url": "Serveradresse", "dialog.server.add.placeholder": "http://localhost:4096", "dialog.server.add.error": "Verbindung zum Server fehlgeschlagen", - "dialog.server.add.checking": "Prüfen...", + "dialog.server.add.checking": "Prüfen…", "dialog.server.add.button": "Server hinzufügen", "dialog.server.add.name": "Servername (optional)", "dialog.server.add.namePlaceholder": "Localhost", @@ -328,7 +336,7 @@ export const dict = { "dialog.server.edit.title": "Server bearbeiten", "dialog.server.default.title": "Standardserver", "dialog.server.default.description": - "Beim App-Start mit diesem Server verbinden, anstatt einen lokalen Server zu starten. Erfordert Neustart.", + "Beim App-Start mit diesem Server verbinden, anstatt einen lokalen Server zu starten. Ein Neustart ist erforderlich.", "dialog.server.default.none": "Kein Server ausgewählt", "dialog.server.default.set": "Aktuellen Server als Standard setzen", "dialog.server.default.clear": "Löschen", @@ -344,26 +352,26 @@ export const dict = { "wsl.server.label": "WSL", "wsl.server.menu.label": "WSL-Server", "wsl.server.retryStart": "Start erneut versuchen", - "wsl.server.updating": "Wird aktualisiert...", + "wsl.server.updating": "Wird aktualisiert…", "wsl.onboarding.step.distro": "Distribution auswählen", "wsl.onboarding.step.opencode": "OpenCode", - "wsl.onboarding.checkingRuntime": "WSL wird geprüft...", + "wsl.onboarding.checkingRuntime": "WSL wird geprüft…", "wsl.onboarding.restartRequired": "Windows muss neu gestartet werden, um die WSL-Installation abzuschließen.", "wsl.onboarding.ready": "WSL ist bereit.", "wsl.onboarding.required": "WSL ist erforderlich, um fortzufahren.", - "wsl.onboarding.checkingDistros": "Distributionen werden geprüft...", - "wsl.onboarding.installingDistro": "{{distro}} wird installiert...", - "wsl.onboarding.checkingDistro": "{{distro}} wird geprüft...", - "wsl.onboarding.listingDistros": "Distributionen werden aufgelistet...", + "wsl.onboarding.checkingDistros": "Distributionen werden geprüft…", + "wsl.onboarding.installingDistro": "{{distro}} wird installiert…", + "wsl.onboarding.checkingDistro": "{{distro}} wird geprüft…", + "wsl.onboarding.listingDistros": "Distributionen werden aufgelistet…", "wsl.onboarding.distroReady": "{{distro}} ist bereit.", "wsl.onboarding.distroNotInstalled": "{{distro}} ist noch nicht installiert.", "wsl.onboarding.openDistroOnce": "Öffnen Sie {{distro}} einmal, um die Einrichtung abzuschließen.", "wsl.onboarding.finishingDistro": "Einrichtung von {{distro}} wird abgeschlossen.", "wsl.onboarding.pickDistro": "Wählen Sie eine Distribution aus oder installieren Sie unten eine.", - "wsl.onboarding.checkingOpencode": "OpenCode wird geprüft...", - "wsl.onboarding.checkingOpencodeIn": "OpenCode in {{distro}} wird geprüft...", - "wsl.onboarding.updatingOpencode": "OpenCode wird aktualisiert...", - "wsl.onboarding.updatingOpencodeIn": "OpenCode in {{distro}} wird aktualisiert...", + "wsl.onboarding.checkingOpencode": "OpenCode wird geprüft…", + "wsl.onboarding.checkingOpencodeIn": "OpenCode in {{distro}} wird geprüft…", + "wsl.onboarding.updatingOpencode": "OpenCode wird aktualisiert…", + "wsl.onboarding.updatingOpencodeIn": "OpenCode in {{distro}} wird aktualisiert…", "wsl.onboarding.updateOpencodeIn": "Aktualisieren Sie OpenCode in {{distro}}.", "wsl.onboarding.updateOpencode": "OpenCode aktualisieren", "wsl.onboarding.opencodeReadyIn": "OpenCode ist in {{distro}} bereit.", @@ -372,11 +380,11 @@ export const dict = { "wsl.onboarding.installOpencode": "OpenCode installieren", "wsl.onboarding.chooseDistroFirst": "Wählen Sie zuerst eine Distribution aus.", "wsl.onboarding.loadFailed": "WSL-Status konnte nicht geladen werden.", - "wsl.onboarding.loading": "Wird geladen...", + "wsl.onboarding.loading": "Wird geladen…", "wsl.onboarding.installedDistros": "Installierte Distributionen", "wsl.onboarding.checkAgain": "Erneut prüfen", "wsl.onboarding.distroStatus.ready": "Bereit", - "wsl.onboarding.distroStatus.checking": "Wird geprüft...", + "wsl.onboarding.distroStatus.checking": "Wird geprüft…", "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode nicht installiert", "wsl.onboarding.distroStatus.missingTools": "Fehlend: bash, curl", "wsl.onboarding.distroStatus.unsupported": "Nicht unterstützt · WSL 2 verwenden", @@ -395,7 +403,7 @@ export const dict = { "wsl.onboarding.allDistrosAdded": "Alle installierten Distributionen wurden bereits hinzugefügt.", "wsl.onboarding.noDistros": "Noch keine Distributionen erkannt.", "wsl.onboarding.install": "Installieren", - "wsl.onboarding.installing": "Wird installiert...", + "wsl.onboarding.installing": "Wird installiert…", "wsl.onboarding.installDistro": "Distribution installieren", "wsl.onboarding.searchDistros": "Distributionen durchsuchen", "wsl.onboarding.wsl2Required": "WSL 2 ist erforderlich.", @@ -407,19 +415,21 @@ export const dict = { "wsl.onboarding.unknown": "unbekannt", "wsl.onboarding.desktopVersion": "Desktop {{version}}", "wsl.onboarding.versionMismatch": "Die installierte Version entspricht nicht der Version der Desktop-App.", - "wsl.onboarding.adding": "Wird hinzugefügt...", + "wsl.onboarding.adding": "Wird hinzugefügt…", "dialog.project.edit.title": "Projekt bearbeiten", "dialog.project.edit.name": "Name", - "dialog.project.edit.icon": "Icon", - "dialog.project.edit.icon.alt": "Projekt-Icon", + "dialog.project.edit.icon": "Symbol", + "dialog.project.edit.icon.alt": "Projektsymbol", "dialog.project.edit.icon.hint": "Klicken oder Bild ziehen", - "dialog.project.edit.icon.recommended": "Empfohlen: 128x128px", + "dialog.project.edit.icon.recommended": "Empfohlen: 128 × 128 px", "dialog.project.edit.color": "Farbe", "dialog.project.edit.color.select": "{{color}}-Farbe auswählen", "dialog.project.edit.worktree.startup": "Startup-Skript für Arbeitsbereich", "dialog.project.edit.worktree.startup.description": "Wird nach dem Erstellen eines neuen Arbeitsbereichs (Worktree) ausgeführt.", "dialog.project.edit.worktree.startup.placeholder": "z. B. bun install", + "dialog.usageExceeded.dontShowAgain": "Nicht mehr anzeigen", + "context.breakdown.title": "Kontext-Aufschlüsselung", "context.breakdown.note": 'Ungefähre Aufschlüsselung der Eingabe-Token. "Andere" beinhaltet Werkzeugdefinitionen und Overhead.', @@ -430,6 +440,8 @@ export const dict = { "context.breakdown.other": "Andere", "context.systemPrompt.title": "System-Prompt", "context.rawMessages.title": "Rohdaten der Nachrichten", + "context.export.session": "Sitzung exportieren", + "context.stats.session": "Sitzung", "context.stats.messages": "Nachrichten", "context.stats.provider": "Anbieter", @@ -489,13 +501,18 @@ export const dict = { "toast.context.noLineSelection.description": "Wählen Sie zuerst einen Zeilenbereich in einem Datei-Tab aus.", "toast.session.share.copyFailed.title": "URL konnte nicht in die Zwischenablage kopiert werden", "toast.session.share.success.title": "Sitzung geteilt", - "toast.session.share.success.description": "Teilen-URL in die Zwischenablage kopiert!", + "toast.session.share.success.description": "URL zum Teilen in die Zwischenablage kopiert!", "toast.session.share.failed.title": "Sitzung konnte nicht geteilt werden", "toast.session.share.failed.description": "Beim Teilen der Sitzung ist ein Fehler aufgetreten", "toast.session.unshare.success.title": "Teilen der Sitzung aufgehoben", "toast.session.unshare.success.description": "Teilen der Sitzung erfolgreich aufgehoben!", "toast.session.unshare.failed.title": "Aufheben des Teilens fehlgeschlagen", "toast.session.unshare.failed.description": "Beim Aufheben des Teilens ist ein Fehler aufgetreten", + "toast.session.export.success.title": "Sitzung exportiert", + "toast.session.export.success.description": "Sitzung unter {{filename}} gespeichert", + "toast.session.export.failed.title": "Sitzung konnte nicht exportiert werden", + "toast.session.export.failed.description": "Beim Exportieren der Sitzung ist ein Fehler aufgetreten", + "toast.session.listFailed.title": "Sitzungen für {{project}} konnten nicht geladen werden", "toast.update.title": "Update verfügbar", "toast.update.description": "Eine neue Version von OpenCode ({{version}}) ist zur Installation verfügbar.", @@ -509,14 +526,14 @@ export const dict = { "error.page.action.report": "Fehler melden", "error.page.action.reported": "Fehler gemeldet", "error.page.action.exportLogs": "Protokolle exportieren", - "error.page.action.checking": "Prüfen...", + "error.page.action.checking": "Prüfen…", "error.page.action.checkUpdates": "Nach Updates suchen", "error.page.action.updateTo": "Auf {{version}} aktualisieren", "error.page.report.prefix": "Bitte melden Sie diesen Fehler dem OpenCode-Team", "error.page.report.discord": "auf Discord", "error.page.version": "Version: {{version}}", "error.dev.rootNotFound": - "Wurzelelement nicht gefunden. Haben Sie vergessen, es in Ihre index.html aufzunehmen? Oder wurde das id-Attribut falsch geschrieben?", + "Wurzelelement nicht gefunden. Haben Sie vergessen, es in Ihre index.html aufzunehmen? Oder wurde das ID-Attribut falsch geschrieben?", "error.serverSync.connectFailed": "Verbindung zum Server fehlgeschlagen. Läuft ein Server unter `{{url}}`?", "directory.error.invalidUrl": "Ungültiges Verzeichnis in der URL.", "error.chain.unknown": "Unbekannter Fehler", @@ -524,10 +541,10 @@ export const dict = { "error.chain.apiError": "API-Fehler", "error.chain.status": "Status: {{status}}", "error.chain.retryable": "Wiederholbar: {{retryable}}", - "error.chain.responseBody": "Antwort-Body:\n{{body}}", + "error.chain.responseBody": "Antwortinhalt:\n{{body}}", "error.chain.didYouMean": "Meinten Sie: {{suggestions}}", "error.chain.modelNotFound": "Modell nicht gefunden: {{provider}}/{{model}}", - "error.chain.checkConfig": "Überprüfen Sie Ihre Konfiguration (opencode.json) auf Anbieter-/Modellnamen", + "error.chain.checkConfig": "Überprüfen Sie die Anbieter- und Modellnamen in Ihrer Konfiguration (opencode.json)", "error.chain.mcpFailed": 'MCP-Server "{{name}}" fehlgeschlagen. Hinweis: OpenCode unterstützt noch keine MCP-Authentifizierung.', "error.chain.providerAuthFailed": "Anbieter-Authentifizierung fehlgeschlagen ({{provider}}): {{message}}", @@ -568,7 +585,7 @@ export const dict = { "home.sessions.group.yesterday": "Gestern", "home.sessions.group.older": "Älter", "home.providerTip": - "Verbinde dich mit über 75 Anbietern, um weitere Modelle wie Claude, GPT, Gemini und andere zu nutzen", + "OpenCode mit über 75 Anbietern verbinden, um weitere Modelle wie Claude, GPT, Gemini und andere zu nutzen", "session.tab.session": "Sitzung", "session.tab.review": "Überprüfung", "session.tab.context": "Kontext", @@ -579,12 +596,12 @@ export const dict = { "Dieser Tab verweist auf eine Sitzung, die auf diesem Server nicht mehr existiert.", "session.error.notFound.closeTab": "Tab schließen", "session.error.serverConnection": "Verbindung zu diesem Server nicht möglich", - "session.review.filesChanged": "{{count}} Dateien geändert", + "session.review.filesChanged": "Geänderte Dateien: {{count}}", "session.review.change.one": "Änderung", "session.review.change.other": "Änderungen", - "session.review.loadingChanges": "Lade Änderungen...", + "session.review.loadingChanges": "Änderungen werden geladen…", "session.review.empty": "Noch keine Änderungen in dieser Sitzung", - "session.review.noVcs": "Kein Git-Versionskontrollsystem erkannt, Änderungen werden nicht angezeigt", + "session.review.noVcs": "Kein Git-Versionskontrollsystem erkannt. Änderungen werden nicht angezeigt", "session.review.noSnapshot": "Snapshot-Tracking ist in der Konfiguration deaktiviert, daher sind Sitzungsänderungen nicht verfügbar", "session.review.noChanges": "Keine Änderungen", @@ -595,10 +612,10 @@ export const dict = { "session.files.empty": "Keine Dateien", "session.files.binaryContent": "Binärdatei (Inhalt kann nicht angezeigt werden)", "session.messages.renderEarlier": "Frühere Nachrichten rendern", - "session.messages.loadingEarlier": "Lade frühere Nachrichten...", + "session.messages.loadingEarlier": "Frühere Nachrichten werden geladen…", "session.messages.loadEarlier": "Frühere Nachrichten laden", - "session.messages.loading": "Lade Nachrichten...", - "session.messages.jumpToLatest": "Zum neuesten springen", + "session.messages.loading": "Nachrichten werden geladen…", + "session.messages.jumpToLatest": "Zur neuesten Nachricht springen", "session.context.addToContext": "{{selection}} zum Kontext hinzufügen", "session.todo.title": "Aufgaben", "session.todo.collapse": "Einklappen", @@ -618,7 +635,7 @@ export const dict = { "session.revertDock.collapse": "Zurückgesetzte Nachrichten einklappen", "session.revertDock.expand": "Zurückgesetzte Nachrichten ausklappen", "session.revertDock.restore": "Nachricht wiederherstellen", - "session.new.title": "Baue, was du willst", + "session.new.title": "Alles entwickeln", "session.new.project.new": "Neues Projekt", "session.new.project.search": "Projekte durchsuchen", "session.new.project.add": "Projekt hinzufügen", @@ -652,28 +669,36 @@ export const dict = { "Sitzung öffentlich im Web teilen. Sie wird für jeden mit dem Link zugänglich sein.", "session.share.action.share": "Teilen", "session.share.action.publish": "Veröffentlichen", - "session.share.action.publishing": "Veröffentliche...", + "session.share.action.publishing": "Wird veröffentlicht…", "session.share.action.unpublish": "Veröffentlichung aufheben", - "session.share.action.unpublishing": "Hebe Veröffentlichung auf...", + "session.share.action.unpublishing": "Veröffentlichung wird aufgehoben…", "session.share.action.view": "Ansehen", "session.share.copy.copied": "Kopiert", "session.share.copy.copyLink": "Link kopieren", "lsp.tooltip.none": "Keine LSP-Server", "lsp.label.connected": "{{count}} LSP", - "prompt.loading": "Lade Prompt...", - "terminal.loading": "Lade Terminal...", + "prompt.loading": "Prompt wird geladen…", + "terminal.loading": "Terminal wird geladen…", "terminal.title": "Terminal", "terminal.title.numbered": "Terminal {{number}}", "terminal.close": "Terminal schließen", "terminal.connectionLost.title": "Verbindung verloren", "terminal.connectionLost.description": "Die Terminalverbindung wurde unterbrochen. Das kann passieren, wenn der Server neu startet.", + "terminal.connectTicket.csrfError": + "Das PTY-Verbindungsticket wurde bei der Ursprungs- oder CSRF-Prüfung abgelehnt. Überprüfen Sie die CORS-Konfiguration des Servers.", + "terminal.connectTicket.statusError": "Das PTY-Verbindungsticket ist mit {{status}} fehlgeschlagen", + + "titlebar.update": "Aktualisieren", + "titlebar.updateVersion": "Aktualisieren {{version}}", + "common.closeTab": "Tab schließen", "common.dismiss": "Verwerfen", "common.requestFailed": "Anfrage fehlgeschlagen", "common.moreOptions": "Weitere Optionen", "common.learnMore": "Mehr erfahren", "common.rename": "Umbenennen", + "common.export": "Exportieren", "common.reset": "Zurücksetzen", "common.archive": "Archivieren", "common.delete": "Löschen", @@ -728,12 +753,12 @@ export const dict = { "settings.general.row.font.title": "Code-Schriftart", "settings.general.row.font.description": "Die in Codeblöcken verwendete Schriftart anpassen", "settings.general.row.terminalFont.title": "Terminalschriftart", - "settings.general.row.terminalFont.description": "Passe die im Terminal verwendete Schriftart an", + "settings.general.row.terminalFont.description": "Die im Terminal verwendete Schriftart anpassen", "settings.general.row.uiFont.title": "UI-Schriftart", - "settings.general.row.uiFont.description": "Die im gesamten Interface verwendete Schriftart anpassen", - "settings.general.row.followup.title": "Verhalten bei Folgefragen", + "settings.general.row.uiFont.description": "Die in der gesamten Benutzeroberfläche verwendete Schriftart anpassen", + "settings.general.row.followup.title": "Verhalten bei Folgeeingaben", "settings.general.row.followup.description": - "Wählen Sie, ob Folgefragen sofort steuern oder in einer Warteschlange warten", + "Wählen Sie, ob Folgeeingaben die laufende Sitzung sofort steuern oder in einer Warteschlange warten", "settings.general.row.followup.option.queue": "Warteschlange", "settings.general.row.followup.option.steer": "Steuern", "settings.general.row.showFileTree.title": "Dateibaum", @@ -751,8 +776,9 @@ export const dict = { "settings.general.row.mobileTitlebarBottom.title": "Navigation unten", "settings.general.row.mobileTitlebarBottom.description": "Titelleiste und Sitzungs-Tabs auf Mobilgeräten am unteren Bildschirmrand platzieren", - "settings.general.row.showCustomAgents.title": "Benutzerdefinierte Agenten", - "settings.general.row.showCustomAgents.description": "Agentenauswahl im Eingabebereich anzeigen", + "settings.general.row.showCustomAgents.title": "Agent anzeigen", + "settings.general.row.showCustomAgents.description": + "Im Eingabebereich zwischen Agenten wechseln. Ist die Auswahl ausgeblendet, wird standardmäßig der Build-Agent verwendet.", "settings.general.row.reasoningSummaries.title": "Reasoning-Zusammenfassungen anzeigen", "settings.general.row.reasoningSummaries.description": "Zusammenfassungen des Modell-Reasonings in der Timeline anzeigen", @@ -772,7 +798,7 @@ export const dict = { "settings.general.row.pinchZoom.title": "Zoom per Fingergeste", "settings.general.row.pinchZoom.description": "Zoomen per Zwei-Finger- und Ctrl-Scroll-Geste erlauben", "settings.general.row.wayland.title": "Natives Wayland verwenden", - "settings.general.row.wayland.description": "X11-Fallback unter Wayland deaktivieren. Erfordert Neustart.", + "settings.general.row.wayland.description": "X11-Fallback unter Wayland deaktivieren. Ein Neustart ist erforderlich.", "settings.general.row.wayland.tooltip": "Unter Linux mit Monitoren unterschiedlicher Bildwiederholraten kann natives Wayland stabiler sein.", "settings.general.row.releaseNotes.title": "Versionshinweise", @@ -782,11 +808,11 @@ export const dict = { "settings.updates.row.check.title": "Nach Updates suchen", "settings.updates.row.check.description": "Manuell nach Updates suchen und installieren, wenn verfügbar", "settings.updates.action.checkNow": "Jetzt prüfen", - "settings.updates.action.checking": "Wird geprüft...", - "settings.updates.action.downloading": "Wird heruntergeladen...", - "settings.updates.action.installing": "Wird installiert...", - "settings.updates.toast.latest.title": "Du bist auf dem neuesten Stand", - "settings.updates.toast.latest.description": "Du verwendest die aktuelle Version von OpenCode.", + "settings.updates.action.checking": "Wird geprüft…", + "settings.updates.action.downloading": "Wird heruntergeladen…", + "settings.updates.action.installing": "Wird installiert…", + "settings.updates.toast.latest.title": "OpenCode ist auf dem neuesten Stand", + "settings.updates.toast.latest.description": "Die aktuelle Version von OpenCode wird verwendet.", "sound.option.none": "Keine", "sound.option.alert01": "Alarm 01", "sound.option.alert02": "Alarm 02", @@ -902,8 +928,8 @@ export const dict = { "settings.permissions.tool.bash.description": "Shell-Befehle ausführen", "settings.permissions.tool.task.title": "Aufgabe", "settings.permissions.tool.task.description": "Unteragenten starten", - "settings.permissions.tool.skill.title": "Fähigkeit", - "settings.permissions.tool.skill.description": "Eine Fähigkeit nach Namen laden", + "settings.permissions.tool.skill.title": "Skill", + "settings.permissions.tool.skill.description": "Einen Skill anhand des Namens laden", "settings.permissions.tool.lsp.title": "LSP", "settings.permissions.tool.lsp.description": "Language-Server-Abfragen ausführen", "settings.permissions.tool.todowrite.title": "Todo schreiben", @@ -931,7 +957,7 @@ export const dict = { "workspace.reset.success.title": "Arbeitsbereich zurückgesetzt", "workspace.reset.success.description": "Der Arbeitsbereich entspricht jetzt dem Standard-Branch.", "workspace.error.stillPreparing": "Arbeitsbereich wird noch vorbereitet", - "workspace.status.checking": "Suche nach nicht zusammengeführten Änderungen...", + "workspace.status.checking": "Suche nach nicht zusammengeführten Änderungen…", "workspace.status.error": "Git-Status konnte nicht überprüft werden.", "workspace.status.clean": "Keine nicht zusammengeführten Änderungen erkannt.", "workspace.status.dirty": "Nicht zusammengeführte Änderungen in diesem Arbeitsbereich erkannt.", @@ -961,7 +987,7 @@ export const dict = { "settings.providers.custom.description": "Fügen Sie einen OpenAI-kompatiblen Anbieter per Basis-URL hinzu.", "app.server.unreachable": "Konnte {{server}} nicht erreichen", - "app.server.retrying": "Automatische erneute Verbindung...", + "app.server.retrying": "Verbindung wird automatisch erneut hergestellt…", "app.server.otherServers": "Andere Server", "dialog.server.add.usernamePlaceholder": "Benutzername", "dialog.server.add.passwordPlaceholder": "Passwort", @@ -969,12 +995,15 @@ export const dict = { "session.review.noVcs.createGit.title": "Git-Repository erstellen", "session.review.noVcs.createGit.description": "Änderungen in diesem Projekt verfolgen, überprüfen und rückgängig machen", - "session.review.noVcs.createGit.actionLoading": "Git-Repository wird erstellt...", + "session.review.noVcs.createGit.actionLoading": "Git-Repository wird erstellt…", "session.review.noVcs.createGit.action": "Git-Repository erstellen", "session.todo.progress": "{{done}} von {{total}} Aufgaben erledigt", "session.question.progress": "{{current}} von {{total}} Fragen", "session.header.open.finder": "Finder", "session.header.open.fileExplorer": "Datei-Explorer", + "session.header.reveal.finder": "Im Finder anzeigen", + "session.header.reveal.fileExplorer": "Im Datei-Explorer anzeigen", + "session.header.reveal.containingFolder": "Übergeordneten Ordner öffnen", "session.header.open.fileManager": "Dateimanager", "session.header.open.app.vscode": "VS Code", "session.header.open.app.cursor": "Cursor", @@ -989,29 +1018,38 @@ export const dict = { "session.header.open.app.androidStudio": "Android Studio", "session.header.open.app.powershell": "PowerShell", "session.header.open.app.sublimeText": "Sublime Text", - "debugBar.ariaLabel": "Entwicklungs-Leistungsdiagnose", + "debugBar.ariaLabel": "Leistungsdiagnose für die Entwicklung", "debugBar.na": "n.v.", "debugBar.nav.label": "NAV", "debugBar.nav.tip": - "Letzter abgeschlossener Routenübergang, der eine Sitzungsseite berührt, gemessen vom Start des Routers bis zum ersten Rendern nach dem Einschwingen.", + "Letzter abgeschlossener Routenübergang zu einer Sitzungsseite, gemessen vom Start des Routers bis zum ersten Rendering nach Abschluss des Übergangs.", "debugBar.fps.label": "FPS", - "debugBar.fps.tip": "Gleitende Bilder pro Sekunde in den letzten 5 Sekunden.", + "debugBar.fps.tip": "Gleitender Mittelwert der Frames pro Sekunde in den letzten 5 Sekunden.", "debugBar.frame.label": "FRAME", - "debugBar.frame.tip": "Schlechteste Frame-Zeit in den letzten 5 Sekunden.", + "debugBar.frame.tip": "Längste Framedauer in den letzten 5 Sekunden.", "debugBar.jank.label": "JANK", - "debugBar.jank.tip": "Frames über 32ms in den letzten 5 Sekunden.", + "debugBar.jank.tip": "Frames über 32 ms in den letzten 5 Sekunden.", "debugBar.long.label": "LONG", - "debugBar.long.tip": "Blockierte Zeit und Anzahl langer Aufgaben in den letzten 5 Sekunden. Max Aufgabe: {{max}}.", + "debugBar.long.tip": + "Blockierte Zeit und Anzahl langer Aufgaben in den letzten 5 Sekunden. Längste Aufgabe: {{max}}.", "debugBar.delay.label": "DELAY", "debugBar.delay.tip": "Schlechteste beobachtete Eingabeverzögerung in den letzten 5 Sekunden.", "debugBar.inp.label": "INP", "debugBar.inp.tip": - "Ungefähre Interaktionsdauer in den letzten 5 Sekunden. Dies ist INP-ähnlich, nicht das offizielle Web Vitals INP.", + "Ungefähre Interaktionsdauer in den letzten 5 Sekunden. Dies ist INP-ähnlich, nicht das offizielle Web-Vitals-INP.", "debugBar.cls.label": "CLS", - "debugBar.cls.tip": "Kumulative Layoutverschiebung für die aktuelle App-Lebensdauer.", + "debugBar.cls.tip": "Kumulative Layoutverschiebung während der aktuellen App-Laufzeit.", "debugBar.mem.label": "MEM", - "debugBar.mem.tipUnavailable": "Verwendeter JS-Heap vs Heap-Limit. Nur Chromium.", - "debugBar.mem.tip": "Verwendeter JS-Heap vs Heap-Limit. {{used}} von {{limit}}.", + "debugBar.mem.tipUnavailable": "Belegter JS-Heap im Verhältnis zum Heap-Limit. Nur Chromium.", + "debugBar.mem.tip": "Belegter JS-Heap im Verhältnis zum Heap-Limit. {{used}} von {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Fokusstile für alle interaktiven Elemente erzwingen", + "debugBar.focus.on": "EIN", + "debugBar.focus.off": "AUS", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Layoutrichtung für die gesamte App erzwingen, ohne die ausgewählte Sprache zu ändern", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", "common.key.ctrl": "Strg", "common.key.alt": "Alt", "common.key.shift": "Umschalt", @@ -1032,7 +1070,116 @@ export const dict = { "error.serverSDK.serverNotAvailable": "Server nicht verfügbar", "error.childStore.persistedCacheCreateFailed": "Dauerhafter Cache konnte nicht erstellt werden", "error.childStore.persistedProjectMetadataCreateFailed": "Dauerhafte Projektmetadaten konnten nicht erstellt werden", - "error.childStore.persistedProjectIconCreateFailed": "Dauerhaftes Projekticon konnte nicht erstellt werden", + "error.childStore.persistedProjectIconCreateFailed": "Dauerhaftes Projektsymbol konnte nicht erstellt werden", "error.childStore.storeCreateFailed": "Speicher konnte nicht erstellt werden", - "terminal.connectionLost.abnormalClose": "WebSocket abnormal geschlossen: {{code}}", + "terminal.connectionLost.abnormalClose": "WebSocket unerwartet geschlossen: {{code}}", + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Datei", + "desktop.menu.edit": "Bearbeiten", + "desktop.menu.view": "Ansicht", + "desktop.menu.go": "Gehe zu", + "desktop.menu.window": "Fenster", + "desktop.menu.help": "Hilfe", + "desktop.menu.checkForUpdates": "Nach Updates suchen…", + "desktop.menu.settings": "Einstellungen", + "desktop.menu.reloadWebview": "Webview neu laden", + "desktop.menu.restart": "Neu starten", + "desktop.menu.exportLogs": "Protokolle exportieren…", + "desktop.menu.newSession": "Neue Sitzung", + "desktop.menu.openProject": "Projekt öffnen…", + "desktop.menu.newWindow": "Neues Fenster", + "desktop.menu.closeWindow": "Fenster schließen", + "desktop.menu.undo": "Rückgängig", + "desktop.menu.redo": "Wiederholen", + "desktop.menu.cut": "Ausschneiden", + "desktop.menu.copy": "Kopieren", + "desktop.menu.paste": "Einfügen", + "desktop.menu.delete": "Löschen", + "desktop.menu.selectAll": "Alles auswählen", + "desktop.menu.toggleSidebar": "Seitenleiste umschalten", + "desktop.menu.toggleTerminal": "Terminal umschalten", + "desktop.menu.toggleFileTree": "Dateibaum umschalten", + "desktop.menu.reload": "Neu laden", + "desktop.menu.toggleDeveloperTools": "Entwicklertools umschalten", + "desktop.menu.actualSize": "Tatsächliche Größe", + "desktop.menu.zoomIn": "Vergrößern", + "desktop.menu.zoomOut": "Verkleinern", + "desktop.menu.toggleFullScreen": "Vollbildmodus umschalten", + "desktop.menu.back": "Zurück", + "desktop.menu.forward": "Vorwärts", + "desktop.menu.previousSession": "Vorherige Sitzung", + "desktop.menu.nextSession": "Nächste Sitzung", + "desktop.menu.previousProject": "Vorheriges Projekt", + "desktop.menu.nextProject": "Nächstes Projekt", + "desktop.menu.minimize": "Minimieren", + "desktop.menu.maximize": "Maximieren", + "desktop.menu.documentation": "OpenCode-Dokumentation", + "desktop.menu.supportForum": "Supportforum", + "desktop.menu.shareFeedback": "Feedback senden", + "desktop.menu.reportBug": "Fehler melden", + "desktop.menu.ariaLabel": "OpenCode-Menü", + "desktop.updater.dialog.checkFailed.message": "Die Suche nach Updates ist fehlgeschlagen.", + "desktop.updater.dialog.checkFailed.title": "Updatefehler", + "desktop.updater.dialog.upToDate.message": "Sie sind auf dem neuesten Stand.", + "desktop.updater.dialog.upToDate.title": "Keine Updates", + "desktop.updater.dialog.ready.message": "Update {{version}} wurde heruntergeladen. Jetzt neu starten?", + "desktop.updater.dialog.ready.title": "Update bereit", + "desktop.updater.dialog.restart": "Neu starten", + "desktop.updater.dialog.later": "Später", + "desktop.recovery.action.relaunch": "Neu starten", + "desktop.recovery.action.exportLogs": "Protokolle exportieren", + "desktop.recovery.action.keepWaiting": "Weiter warten", + "desktop.recovery.action.quit": "Beenden", + "desktop.recovery.loadFailed": "OpenCode konnte nicht geladen werden", + "desktop.recovery.terminated": "Das OpenCode-Fenster wurde unerwartet beendet", + "desktop.recovery.unresponsive": "OpenCode reagiert nicht", + "desktop.recovery.unresponsive.detail": "Sie können die App neu starten, die Protokolle öffnen oder weiter warten.", + "desktop.recovery.loadFailed.detail": "Fenster: {{window}}\nURL: {{url}}\nFehler: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Fenster: {{window}}\nGrund: {{reason}}\nCode: {{code}}", + "desktop.recovery.unknown": "", + "desktop.dialog.chooseFolder": "Ordner auswählen", + "desktop.dialog.chooseFile": "Datei auswählen", + "desktop.dialog.saveFile": "Datei speichern", + "desktop.dialog.files": "Dateien", + "desktop.server.local": "Lokaler Server", + "desktop.wsl.error.windowsOnly": "WSL ist nur unter Windows verfügbar", + "desktop.wsl.error.unavailable": "WSL ist nicht verfügbar", + "desktop.wsl.error.listInstalled": "Installierte WSL-Distributionen konnten nicht aufgelistet werden", + "desktop.wsl.error.listOnline": "Verfügbare WSL-Distributionen konnten nicht aufgelistet werden", + "desktop.wsl.error.executeDistro": "In der Distribution können keine Befehle ausgeführt werden", + "desktop.wsl.error.installWsl": "WSL-Installation fehlgeschlagen", + "desktop.wsl.error.installDistro": "Distribution konnte nicht installiert werden: {{distro}}", + "desktop.wsl.error.installOpencode": "OpenCode-Installation fehlgeschlagen", + "desktop.wsl.error.alreadyAdded": "{{distro}} wurde bereits hinzugefügt", + "desktop.wsl.error.opencodeMissing": "opencode ist in dieser Distribution nicht installiert", + "desktop.wsl.error.opencodeCannotRun": "opencode ist installiert, konnte aber nicht ausgeführt werden", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode ist in {{distro}} nicht installiert", + "desktop.wsl.error.updateVersion": + "Das OpenCode-Update wurde abgeschlossen, aber {{distro}} meldet weiterhin {{installed}}; erwartet wurde {{expected}}", + "desktop.wsl.error.noVersion": "keine Version", + "desktop.wsl.error.serverExited": "WSL-Server wurde nach dem Start beendet (code={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL-Server wurde beendet, bevor er betriebsbereit war (code={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": + "Zeitüberschreitung bei der Integritätsprüfung des Sidecars für {{distro}} nach {{timeout}} ms", + "desktop.wsl.error.commandTimeout": "Zeitüberschreitung bei {{command}} {{args}} nach {{timeout}} ms", + "desktop.wsl.error.failedPort": "Port konnte nicht abgerufen werden", + "desktop.picker.error.notSelected": "Im Auswahldialog wurde keine Datei ausgewählt", + "desktop.picker.error.sizeLimit": "Die ausgewählten Anhänge überschreiten das Limit von {{limit}} MB", + "command.logs.export": "Protokolle exportieren", + "help.tabs.toast.ariaLabel": "Neu: Tabs. Organisieren Sie Ihre Arbeit und aktiven Sitzungen mithilfe von Tabs", + "help.tabs.toast.dismiss": "Informationen zu Tabs schließen", + "help.tabs.title": "Neu: Tabs", + "help.tabs.description": "Organisieren Sie Ihre Arbeit und aktiven Sitzungen mithilfe von Tabs", + "help.tabs.date": "14. Juli", + "help.tabs.introduction": "OpenCode Desktop basiert jetzt auf Tabs.", + "help.tabs.sessions": + "Starten Sie eine neue Sitzung in einem Tab oder öffnen Sie eine vorhandene Sitzung aus einem Ihrer Projekte. Öffnen Sie einen neuen Tab, wenn Sie etwas Neues beginnen, und schließen Sie ihn, wenn Sie fertig sind.", + "help.tabs.organize": + "Wenn Sie einige Tabs geöffnet lassen, können Sie Ihre aktiven Sitzungen leichter organisieren. Benennen Sie Tabs einprägsam, wenn Sie sie länger behalten möchten.", + "help.tabs.home": + "Auf der neuen Startseite finden Sie alle Ihre Sitzungen und Projekte. Wenn Sie eine Sitzung auswählen, wird sie in einem Tab geöffnet.", + "help.tabs.persistence": "Wenn Sie die App erneut öffnen, sind Ihre Tabs weiterhin geöffnet.", + "help.tabs.worktrees": + "Das neue Design unterstützt Git-Worktrees noch nicht. Diese Funktion folgt in Kürze. Wenn Sie das bisherige Layout vorerst weiterverwenden möchten, können Sie in den Einstellungen zwischen den Layouts wechseln. Beachten Sie jedoch, dass das neue Layout in einigen Wochen dauerhaft verwendet wird.", } satisfies Partial> diff --git a/packages/app/src/i18n/desktop-native.test.ts b/packages/app/src/i18n/desktop-native.test.ts new file mode 100644 index 000000000000..6fc8660cced5 --- /dev/null +++ b/packages/app/src/i18n/desktop-native.test.ts @@ -0,0 +1,151 @@ +import { describe, expect, test } from "bun:test" +import { + createDesktopNativeBundle, + DESKTOP_NATIVE_ENGLISH, + DESKTOP_NATIVE_KEYS, + DESKTOP_NATIVE_LABELS, + DESKTOP_NATIVE_LOCALES, + DESKTOP_NATIVE_LOCALE_TAGS, + detectDesktopNativeLocale, + DESKTOP_NATIVE_MAX_PAYLOAD_BYTES, + formatDesktopNativeMessage, + parseDesktopNativeBundle, +} from "./desktop-native" + +describe("desktop native translations", () => { + test("uses native language names independent of the active locale", () => { + expect(DESKTOP_NATIVE_LOCALES.map((locale) => DESKTOP_NATIVE_LABELS[locale])).toEqual([ + "English", + "简体中文", + "繁體中文", + "한국어", + "Deutsch", + "Español", + "Français", + "Dansk", + "日本語", + "Polski", + "Русский", + "Українська", + "Bosanski", + "العربية", + "Norsk", + "Português (Brasil)", + "ไทย", + "Türkçe", + "हिन्दी", + "Nederlands", + "Bahasa Indonesia", + "Tiếng Việt", + "Italiano", + "اردو", + "پنجابی", + "Azərbaycanca", + "Suomi", + "Svenska", + "አማርኛ", + "Български", + "বাংলা", + "Català", + "Čeština", + "ދިވެހި", + "རྫོང་ཁ", + "Ελληνικά", + "Eesti", + "فارسی", + "Føroyskt", + "Hrvatski", + "Magyar", + "Հայերեն", + "Íslenska", + "ქართული", + "ខ្មែរ", + "ລາວ", + "Lietuvių", + "Latviešu", + "Македонски", + "Монгол", + "Bahasa Melayu", + "မြန်မာ", + "नेपाली", + "Română", + "සිංහල", + "Slovenčina", + "Slovenščina", + "Shqip", + "Српски", + "Тоҷикӣ", + "Türkmençe", + "Oʻzbekcha", + ]) + }) + + test("accepts the exact typed bundle", () => { + const bundle = createDesktopNativeBundle("en", (key) => DESKTOP_NATIVE_ENGLISH[key]) + expect(parseDesktopNativeBundle(bundle)).toEqual(bundle) + }) + + test("rejects unsupported locales and mismatched key sets", () => { + const bundle = createDesktopNativeBundle("en", (key) => DESKTOP_NATIVE_ENGLISH[key]) + expect(parseDesktopNativeBundle({ ...bundle, locale: "en-US" })).toBeUndefined() + expect( + parseDesktopNativeBundle({ + ...bundle, + messages: Object.fromEntries(DESKTOP_NATIVE_KEYS.slice(1).map((key) => [key, bundle.messages[key]])), + }), + ).toBeUndefined() + expect(parseDesktopNativeBundle({ ...bundle, messages: { ...bundle.messages, extra: "no" } })).toBeUndefined() + expect( + parseDesktopNativeBundle({ + ...bundle, + messages: { ...bundle.messages, [DESKTOP_NATIVE_KEYS[0]]: "x".repeat(DESKTOP_NATIVE_MAX_PAYLOAD_BYTES) }, + }), + ).toBeUndefined() + expect( + parseDesktopNativeBundle({ ...bundle, messages: { ...bundle.messages, [DESKTOP_NATIVE_KEYS[0]]: 1 } }), + ).toBeUndefined() + }) + + test("interpolates native templates without changing unknown placeholders", () => { + expect(formatDesktopNativeMessage("{{known}} {{unknown}}", { known: "yes" })).toBe("yes {{unknown}}") + }) +}) + +describe("desktop native locale detection", () => { + test("follows preference order and skips invalid or unsupported tags", () => { + expect(detectDesktopNativeLocale(["not_a_locale", "fr-FR"])).toBe("fr") + expect(detectDesktopNativeLocale(["eo", "de-DE"])).toBe("de") + }) + + test("uses Unicode likely subtags for script-sensitive bundles", () => { + expect(detectDesktopNativeLocale(["zh-TW"])).toBe("zht") + expect(detectDesktopNativeLocale(["zh-SG"])).toBe("zh") + expect(detectDesktopNativeLocale(["pa-PK"])).toBe("pa") + expect(detectDesktopNativeLocale(["pa-IN", "fr"])).toBe("fr") + expect(detectDesktopNativeLocale(["az-Cyrl", "de"])).toBe("de") + expect(detectDesktopNativeLocale(["sr-Cyrl"])).toBe("sr") + expect(detectDesktopNativeLocale(["sr-Latn", "en"])).toBe("en") + expect(detectDesktopNativeLocale(["uz-Latn"])).toBe("uz") + }) + + test("recognizes Norwegian language tags", () => { + expect(detectDesktopNativeLocale(["no"])).toBe("no") + expect(detectDesktopNativeLocale(["nb-NO"])).toBe("no") + expect(detectDesktopNativeLocale(["nn-NO"])).toBe("no") + }) +}) + +describe("desktop native ICU data", () => { + test("accepts every locale in standard Intl formatters", () => { + for (const locale of DESKTOP_NATIVE_LOCALES) { + const tag = DESKTOP_NATIVE_LOCALE_TAGS[locale] + expect(() => new Intl.Locale(tag), `${locale} locale`).not.toThrow() + expect(() => new Intl.NumberFormat(tag), `${locale} number`).not.toThrow() + expect(() => new Intl.DateTimeFormat(tag), `${locale} date`).not.toThrow() + expect(() => new Intl.PluralRules(tag), `${locale} plural`).not.toThrow() + expect(() => new Intl.ListFormat(tag), `${locale} list`).not.toThrow() + expect(() => new Intl.DisplayNames(tag, { type: "language" }), `${locale} names`).not.toThrow() + expect(() => new Intl.Segmenter(tag), `${locale} segmenter`).not.toThrow() + } + }) +}) diff --git a/packages/app/src/i18n/desktop-native.ts b/packages/app/src/i18n/desktop-native.ts new file mode 100644 index 000000000000..1aa9bd39f76e --- /dev/null +++ b/packages/app/src/i18n/desktop-native.ts @@ -0,0 +1,365 @@ +export const DESKTOP_NATIVE_LOCALES = [ + "en", + "zh", + "zht", + "ko", + "de", + "es", + "fr", + "da", + "ja", + "pl", + "ru", + "uk", + "bs", + "ar", + "no", + "br", + "th", + "tr", + "hi", + "nl", + "id", + "vi", + "it", + "ur", + "pa", + "az", + "fi", + "sv", + "am", + "bg", + "bn", + "ca", + "cs", + "dv", + "dz", + "el", + "et", + "fa", + "fo", + "hr", + "hu", + "hy", + "is", + "ka", + "km", + "lo", + "lt", + "lv", + "mk", + "mn", + "ms", + "my", + "ne", + "ro", + "si", + "sk", + "sl", + "sq", + "sr", + "tg", + "tk", + "uz", +] as const + +export type DesktopNativeLocale = (typeof DESKTOP_NATIVE_LOCALES)[number] + +export const DESKTOP_NATIVE_LABELS: Record = { + en: "English", + zh: "简体中文", + zht: "繁體中文", + ko: "한국어", + de: "Deutsch", + es: "Español", + fr: "Français", + da: "Dansk", + ja: "日本語", + pl: "Polski", + ru: "Русский", + uk: "Українська", + bs: "Bosanski", + ar: "العربية", + no: "Norsk", + br: "Português (Brasil)", + th: "ไทย", + tr: "Türkçe", + hi: "हिन्दी", + nl: "Nederlands", + id: "Bahasa Indonesia", + vi: "Tiếng Việt", + it: "Italiano", + ur: "اردو", + pa: "پنجابی", + az: "Azərbaycanca", + fi: "Suomi", + sv: "Svenska", + am: "አማርኛ", + bg: "Български", + bn: "বাংলা", + ca: "Català", + cs: "Čeština", + dv: "ދިވެހި", + dz: "རྫོང་ཁ", + el: "Ελληνικά", + et: "Eesti", + fa: "فارسی", + fo: "Føroyskt", + hr: "Hrvatski", + hu: "Magyar", + hy: "Հայերեն", + is: "Íslenska", + ka: "ქართული", + km: "ខ្មែរ", + lo: "ລາວ", + lt: "Lietuvių", + lv: "Latviešu", + mk: "Македонски", + mn: "Монгол", + ms: "Bahasa Melayu", + my: "မြန်မာ", + ne: "नेपाली", + ro: "Română", + si: "සිංහල", + sk: "Slovenčina", + sl: "Slovenščina", + sq: "Shqip", + sr: "Српски", + tg: "Тоҷикӣ", + tk: "Türkmençe", + uz: "Oʻzbekcha", +} + +export const DESKTOP_NATIVE_LOCALE_TAGS: Record = { + en: "en", + zh: "zh-Hans", + zht: "zh-Hant", + ko: "ko", + de: "de", + es: "es", + fr: "fr", + da: "da", + ja: "ja", + pl: "pl", + ru: "ru", + uk: "uk", + bs: "bs", + ar: "ar", + no: "nb-NO", + br: "pt-BR", + th: "th", + tr: "tr", + hi: "hi-IN", + nl: "nl-NL", + id: "id-ID", + vi: "vi-VN", + it: "it-IT", + ur: "ur-PK", + pa: "pa-Arab-PK", + az: "az-Latn-AZ", + fi: "fi-FI", + sv: "sv-SE", + am: "am-ET", + bg: "bg-BG", + bn: "bn-BD", + ca: "ca-AD", + cs: "cs-CZ", + dv: "dv-MV", + dz: "dz-BT", + el: "el-GR", + et: "et-EE", + fa: "fa-IR", + fo: "fo-FO", + hr: "hr-HR", + hu: "hu-HU", + hy: "hy-AM", + is: "is-IS", + ka: "ka-GE", + km: "km-KH", + lo: "lo-LA", + lt: "lt-LT", + lv: "lv-LV", + mk: "mk-MK", + mn: "mn-MN", + ms: "ms-MY", + my: "my-MM", + ne: "ne-NP", + ro: "ro-RO", + si: "si-LK", + sk: "sk-SK", + sl: "sl-SI", + sq: "sq-AL", + sr: "sr-Cyrl-RS", + tg: "tg-Cyrl-TJ", + tk: "tk-Latn-TM", + uz: "uz-Latn-UZ", +} + +export function detectDesktopNativeLocale(languages: readonly string[]): DesktopNativeLocale { + for (const language of languages) { + const source = locale(language) + if (!source) continue + if (["no", "nb", "nn"].includes(source.language)) return "no" + const match = DESKTOP_NATIVE_LOCALES.find((candidate) => { + const target = locale(DESKTOP_NATIVE_LOCALE_TAGS[candidate]) + return target?.language === source.language && target.script === source.script + }) + if (match) return match + } + return "en" +} + +export function desktopNativePluralCategories(locale: DesktopNativeLocale) { + return new Intl.PluralRules(DESKTOP_NATIVE_LOCALE_TAGS[locale]).resolvedOptions().pluralCategories +} + +function locale(value: string) { + try { + return new Intl.Locale(value).maximize() + } catch { + return undefined + } +} + +export const DESKTOP_NATIVE_ENGLISH = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "File", + "desktop.menu.edit": "Edit", + "desktop.menu.view": "View", + "desktop.menu.go": "Go", + "desktop.menu.window": "Window", + "desktop.menu.help": "Help", + "desktop.menu.checkForUpdates": "Check for Updates...", + "desktop.menu.settings": "Settings", + "desktop.menu.reloadWebview": "Reload Webview", + "desktop.menu.restart": "Restart", + "desktop.menu.exportLogs": "Export Logs...", + "desktop.menu.newSession": "New Session", + "desktop.menu.openProject": "Open Project...", + "desktop.menu.newWindow": "New Window", + "desktop.menu.closeWindow": "Close Window", + "desktop.menu.undo": "Undo", + "desktop.menu.redo": "Redo", + "desktop.menu.cut": "Cut", + "desktop.menu.copy": "Copy", + "desktop.menu.paste": "Paste", + "desktop.menu.delete": "Delete", + "desktop.menu.selectAll": "Select All", + "desktop.menu.toggleSidebar": "Toggle Sidebar", + "desktop.menu.toggleTerminal": "Toggle Terminal", + "desktop.menu.toggleFileTree": "Toggle File Tree", + "desktop.menu.reload": "Reload", + "desktop.menu.toggleDeveloperTools": "Toggle Developer Tools", + "desktop.menu.actualSize": "Actual Size", + "desktop.menu.zoomIn": "Zoom In", + "desktop.menu.zoomOut": "Zoom Out", + "desktop.menu.toggleFullScreen": "Toggle Full Screen", + "desktop.menu.back": "Back", + "desktop.menu.forward": "Forward", + "desktop.menu.previousSession": "Previous Session", + "desktop.menu.nextSession": "Next Session", + "desktop.menu.previousProject": "Previous Project", + "desktop.menu.nextProject": "Next Project", + "desktop.menu.minimize": "Minimize", + "desktop.menu.maximize": "Maximize", + "desktop.menu.documentation": "OpenCode Documentation", + "desktop.menu.supportForum": "Support Forum", + "desktop.menu.shareFeedback": "Share Feedback", + "desktop.menu.reportBug": "Report a Bug", + "desktop.menu.ariaLabel": "OpenCode menu", + + "desktop.updater.dialog.checkFailed.message": "Update check failed.", + "desktop.updater.dialog.checkFailed.title": "Update Error", + "desktop.updater.dialog.upToDate.message": "You're up to date.", + "desktop.updater.dialog.upToDate.title": "No Updates", + "desktop.updater.dialog.ready.message": "Update {{version}} downloaded. Restart now?", + "desktop.updater.dialog.ready.title": "Update Ready", + "desktop.updater.dialog.restart": "Restart", + "desktop.updater.dialog.later": "Later", + + "desktop.recovery.action.relaunch": "Relaunch", + "desktop.recovery.action.exportLogs": "Export Logs", + "desktop.recovery.action.keepWaiting": "Keep Waiting", + "desktop.recovery.action.quit": "Quit", + "desktop.recovery.loadFailed": "OpenCode failed to load", + "desktop.recovery.terminated": "OpenCode window terminated unexpectedly", + "desktop.recovery.unresponsive": "OpenCode is not responding", + "desktop.recovery.unresponsive.detail": "You can relaunch the app, open the logs, or keep waiting.", + "desktop.recovery.loadFailed.detail": "Window: {{window}}\nURL: {{url}}\nError: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Window: {{window}}\nReason: {{reason}}\nCode: {{code}}", + "desktop.recovery.unknown": "", + + "desktop.dialog.chooseFolder": "Choose a folder", + "desktop.dialog.chooseFile": "Choose a file", + "desktop.dialog.saveFile": "Save file", + "desktop.dialog.files": "Files", + "desktop.server.local": "Local Server", + + "desktop.wsl.error.windowsOnly": "WSL is only available on Windows", + "desktop.wsl.error.unavailable": "WSL is unavailable", + "desktop.wsl.error.listInstalled": "Failed to list installed WSL distros", + "desktop.wsl.error.listOnline": "Failed to list online WSL distros", + "desktop.wsl.error.executeDistro": "Cannot execute commands in distro", + "desktop.wsl.error.installWsl": "WSL installation failed", + "desktop.wsl.error.installDistro": "Failed to install distro: {{distro}}", + "desktop.wsl.error.installOpencode": "OpenCode installation failed", + "desktop.wsl.error.alreadyAdded": "{{distro}} is already added", + "desktop.wsl.error.opencodeMissing": "opencode is not installed in this distro", + "desktop.wsl.error.opencodeCannotRun": "opencode is installed but could not run", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode is not installed in {{distro}}", + "desktop.wsl.error.updateVersion": + "OpenCode update finished but {{distro}} still reports {{installed}}; expected {{expected}}", + "desktop.wsl.error.noVersion": "no version", + "desktop.wsl.error.serverExited": "WSL server exited after startup (code={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL server exited before becoming healthy (code={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": "Sidecar for {{distro}} health check timed out after {{timeout}}ms", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} timed out after {{timeout}}ms", + "desktop.wsl.error.failedPort": "Failed to get port", + + "desktop.picker.error.notSelected": "File was not selected by the picker", + "desktop.picker.error.sizeLimit": "Selected attachments exceed the {{limit}} MB limit", +} as const + +export type DesktopNativeKey = keyof typeof DESKTOP_NATIVE_ENGLISH +export type DesktopNativeMessages = Record +export type DesktopNativeBundle = { locale: DesktopNativeLocale; messages: DesktopNativeMessages } + +export const DESKTOP_NATIVE_KEYS = Object.keys(DESKTOP_NATIVE_ENGLISH) as DesktopNativeKey[] +export const DESKTOP_NATIVE_MAX_PAYLOAD_BYTES = 64 * 1024 + +export function createDesktopNativeBundle( + locale: DesktopNativeLocale, + translate: (key: DesktopNativeKey) => string, +): DesktopNativeBundle { + return { + locale, + messages: Object.fromEntries(DESKTOP_NATIVE_KEYS.map((key) => [key, translate(key)])) as DesktopNativeMessages, + } +} + +export function parseDesktopNativeBundle(value: unknown): DesktopNativeBundle | undefined { + if (!value || typeof value !== "object" || Array.isArray(value)) return undefined + try { + if (new TextEncoder().encode(JSON.stringify(value)).byteLength > DESKTOP_NATIVE_MAX_PAYLOAD_BYTES) return undefined + } catch { + return undefined + } + const bundle = value as { locale?: unknown; messages?: unknown } + if (!DESKTOP_NATIVE_LOCALES.some((locale) => locale === bundle.locale)) return undefined + if (!bundle.messages || typeof bundle.messages !== "object" || Array.isArray(bundle.messages)) return undefined + const messages = bundle.messages as Record + const keys = Object.keys(messages) + if (keys.length !== DESKTOP_NATIVE_KEYS.length) return undefined + if (!DESKTOP_NATIVE_KEYS.every((key) => typeof messages[key] === "string")) return undefined + if (!keys.every((key) => key in DESKTOP_NATIVE_ENGLISH)) return undefined + return bundle as DesktopNativeBundle +} + +export function formatDesktopNativeMessage(message: string, params?: Record) { + if (!params) return message + return message.replace(/\{\{([^{}]+)\}\}/g, (match, key: string) => { + const value = params[key] + return value === undefined ? match : String(value) + }) +} diff --git a/packages/app/src/i18n/dv.ts b/packages/app/src/i18n/dv.ts new file mode 100644 index 000000000000..27b5fea86999 --- /dev/null +++ b/packages/app/src/i18n/dv.ts @@ -0,0 +1,1177 @@ +export const dict = { + "desktop.menu.app": "OpenCode އެވެ", + "desktop.menu.file": "ފައިލް", + "desktop.menu.edit": "ބަދަލު ގެނައުން", + "desktop.menu.view": "މަންޒަރު", + "desktop.menu.go": "ދޭ", + "desktop.menu.window": "ކުޑަދޮރު", + "desktop.menu.help": "އެހީވުން", + "desktop.menu.checkForUpdates": "އަޕްޑޭޓްސް އަށް ޗެކް ކޮށްލައްވާ...", + "desktop.menu.settings": "ސެޓިންގސް", + "desktop.menu.reloadWebview": "ވެބްވިއު ރީލޯޑް ކުރާށެވެ", + "desktop.menu.restart": "އަލުން ފަށާށެވެ", + "desktop.menu.exportLogs": "އެކްސްޕޯޓް ލޮގްސް...", + "desktop.menu.newSession": "އައު ސެޝަން", + "desktop.menu.openProject": "އޯޕަން ޕްރޮޖެކްޓް...", + "desktop.menu.newWindow": "ނިއު ވިންޑޯ", + "desktop.menu.closeWindow": "ވިންޑޯ ބަންދުކުރުން", + "desktop.menu.undo": "އަންޑޯ", + "desktop.menu.redo": "ރީޑޯ", + "desktop.menu.cut": "ކެފުން", + "desktop.menu.copy": "ކޮޕީ", + "desktop.menu.paste": "ޕޭސްޓް ކޮށްލާށެވެ", + "desktop.menu.delete": "ފުހެލުން", + "desktop.menu.selectAll": "ހުރިހާ އެއްޗެއް ހޮވާށެވެ", + "desktop.menu.toggleSidebar": "ޓޮގްލް ސައިޑްބާރ", + "desktop.menu.toggleTerminal": "ޓާމިނަލް ޓޮގްލް ކުރުން", + "desktop.menu.toggleFileTree": "ޓޮގްލް ފައިލް ޓްރީ", + "desktop.menu.reload": "ރީލޯޑް", + "desktop.menu.toggleDeveloperTools": "ޑިވެލޮޕަރ ޓޫލްސް ޓޮގްލް ކުރުން", + "desktop.menu.actualSize": "އަސްލު ސައިޒެވެ", + "desktop.menu.zoomIn": "ޒޫމް އިން", + "desktop.menu.zoomOut": "ޒޫމް އައުޓް", + "desktop.menu.toggleFullScreen": "ފުލް ސްކްރީން ޓޮގްލް ކުރާށެވެ", + "desktop.menu.back": "ފަހަތް", + "desktop.menu.forward": "ކުރިޔަށް", + "desktop.menu.previousSession": "ކުރީ ސެޝަން", + "desktop.menu.nextSession": "ދެން އޮންނަ ސެޝަން", + "desktop.menu.previousProject": "ކުރީގެ މަޝްރޫޢު", + "desktop.menu.nextProject": "ދެން އޮތް މަޝްރޫޢު", + "desktop.menu.minimize": "އެންމެ ކުޑަކުރުން", + "desktop.menu.maximize": "މެކްސިމަޒް ކުރުން", + "desktop.menu.documentation": "OpenCode ޑޮކިއުމަންޓޭޝަން", + "desktop.menu.supportForum": "ސަޕޯޓް ފޯރަމް", + "desktop.menu.shareFeedback": "ޝެއާ ފީޑްބެކް", + "desktop.menu.reportBug": "ބަގެއް ރިޕޯޓްކުރުން", + "desktop.menu.ariaLabel": "OpenCode މެނޫ", + "desktop.updater.dialog.checkFailed.message": "އަޕްޑޭޓް ޗެކް ފެއިލްވެއްޖެއެވެ.", + "desktop.updater.dialog.checkFailed.title": "އަޕްޑޭޓް އެރަރ", + "desktop.updater.dialog.upToDate.message": "ޔޫ އާ އަޕް ޓު ޑޭޓް.", + "desktop.updater.dialog.upToDate.title": "ނޯ އަޕްޑޭޓްސް", + "desktop.updater.dialog.ready.message": "އަޕްޑޭޓް {{version}} ޑައުންލޯޑް ކޮށްފިއެވެ. މިހާރު ރީސްޓާޓް ކުރަންތަ؟", + "desktop.updater.dialog.ready.title": "އަޕްޑޭޓް ރެޑީ", + "desktop.updater.dialog.restart": "އަލުން ފަށާށެވެ", + "desktop.updater.dialog.later": "ފަހުން", + "desktop.recovery.action.relaunch": "ރީލޯންޗް ކުރުން", + "desktop.recovery.action.exportLogs": "އެކްސްޕޯޓް ލޮގްސް", + "desktop.recovery.action.keepWaiting": "އިންތިޒާރު ކުރަމުން ގެންދާށެވެ", + "desktop.recovery.action.quit": "ދޫކޮށްލުން", + "desktop.recovery.loadFailed": "OpenCode ލޯޑް ނުކުރެވިއްޖެއެވެ", + "desktop.recovery.terminated": "OpenCode ވިންޑޯ ހީވެސް ނުކުރާ ގޮތަކަށް ނިމުނީއެވެ", + "desktop.recovery.unresponsive": "OpenCode އިން ޖަވާބެއް ނުދެއެވެ", + "desktop.recovery.unresponsive.detail": + "އެޕް އަލުން ލޯންޗްކޮށް، ލޮގްތައް ހުޅުވައި، ނުވަތަ މަޑުކޮށްގެން ތިބެވޭނެ އެވެ.", + "desktop.recovery.loadFailed.detail": "ވިންޑޯ: {{window}}\nURL: {{url}}\nއެރަރ: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "ވިންޑޯ: {{window}}\nސަބަބު: {{reason}}\nކޯޑް: {{code}}", + "desktop.recovery.unknown": "<ނޭނގޭ>", + "desktop.dialog.chooseFolder": "ފޯލްޑަރެއް ހޮވާށެވެ", + "desktop.dialog.chooseFile": "ފައިލެއް ހޮވާށެވެ", + "desktop.dialog.saveFile": "ފައިލް ސޭވްކުރުން", + "desktop.dialog.files": "ފައިލްތައް", + "desktop.server.local": "ލޯކަލް ސަރވަރ އެވެ", + "desktop.wsl.error.windowsOnly": "WSL ލިބެން ހުރީ ހަމައެކަނި Windows އިންނެވެ", + "desktop.wsl.error.unavailable": "WSL އެއް ނުލިބެއެވެ", + "desktop.wsl.error.listInstalled": "އިންސްޓޯލްކޮށްފައިވާ WSL ޑިސްޓްރޯތައް ލިސްޓް ނުކުރެވިއްޖެއެވެ", + "desktop.wsl.error.listOnline": "އޮންލައިންކޮށް WSL ޑިސްޓްރޯސް ލިސްޓް ނުކުރެވިއްޖެއެވެ", + "desktop.wsl.error.executeDistro": "ޑިސްޓްރޯގައި ކޮމާންޑްތައް އެގްޒެކެޓް ނުކުރެވޭނެއެވެ", + "desktop.wsl.error.installWsl": "WSL އިންސްޓޯލް ކުރުން ނާކާމިޔާބުވެއްޖެ", + "desktop.wsl.error.installDistro": "ޑިސްޓްރޯ: {{distro}} އިންސްޓޯލް ކުރަން ނާކާމިޔާބު", + "desktop.wsl.error.installOpencode": "OpenCode އިންސްޓޯލް ކުރުން ނާކާމިޔާބުވެއްޖެ", + "desktop.wsl.error.alreadyAdded": "{{distro}} މިހާރުވެސް އިތުރުކޮށްފައިވެއެވެ", + "desktop.wsl.error.opencodeMissing": "މި ޑިސްޓްރޯގައި opencode އިންސްޓޯލްކޮށްފައެއް ނުވެއެވެ", + "desktop.wsl.error.opencodeCannotRun": "opencode އިންސްޓޯލް ކޮށްފައި އޮތް ނަމަވެސް ހިންގޭ ގޮތެއް ނުވިއެވެ", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode އަކީ {{distro}} ގައި އިންސްޓޯލް ކުރެވިފައިވާ އެއްޗެއް ނޫނެވެ", + "desktop.wsl.error.updateVersion": + "OpenCode އަޕްޑޭޓް ނިމުނު ނަމަވެސް {{distro}} އަދިވެސް ރިޕޯޓް ކުރަނީ {{installed}}؛ ލަފާކުރެވޭ ގޮތުގައި {{expected}}", + "desktop.wsl.error.noVersion": "އެއްވެސް ވަރޝަނެއް ނެތެވެ", + "desktop.wsl.error.serverExited": + "ސްޓާޓްއަޕް ކުރުމަށްފަހު WSL ސަރވަރ އިން ނުކުމެއްޖެ (code={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL ސަރވަރ އިން ނުކުތީ ދުޅަހެޔޮ ސިއްހަތެއްގައި ހުރުމުގެ ކުރިން (code={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": + "{{distro}} ހެލްތު ޗެކް ކުރުމަށް ސައިޑްކާރ ޓައިމް އައުޓް ކޮށްފައިވަނީ {{timeout}}ms އަށް ފަހުގައެވެ", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} ޓައިމް އައުޓް ކޮށްފައިވަނީ {{timeout}}ms އަށް ފަހުގައެވެ", + "desktop.wsl.error.failedPort": "ބަނދަރު ހޯދުމަށް ނާކާމިޔާބުވިއެވެ", + "desktop.picker.error.notSelected": "ފައިލް ހޮވާފައިވަނީ ޕިކަރ އިން ނޫނެވެ", + "desktop.picker.error.sizeLimit": "ހޮވާލެވޭ އެޓޭޗްމަންޓްތައް {{limit}} MB ލިމިޓަށްވުރެ މަތިވެއެވެ", + "command.category.suggested": "ލަފާދީފިއެވެ", + "command.category.view": "މަންޒަރު", + "command.category.project": "ޕްރޮޖެކްޓް", + "command.category.provider": "ޕްރޮވައިޑަރެވެ", + "command.category.server": "ސަރވަރ އެވެ", + "command.category.session": "ސެޝަން", + "command.category.theme": "ތީމް", + "command.category.language": "ބަސް", + "command.category.file": "ފައިލް", + "command.category.context": "ކޮންޓެކްސްޓް", + "command.category.terminal": "ޓާމިނަލް އެވެ", + "command.category.model": "މޮޑެލް", + "command.category.mcp": "MCP އެވެ", + "command.category.agent": "އޭޖެންޓު", + "command.category.permissions": "ހުއްދަތައް", + "command.category.workspace": "ވޯކްސްޕޭސް", + "command.category.settings": "ސެޓިންގސް", + "command.logs.export": "އެކްސްޕޯޓް ލޮގްސް", + "theme.scheme.system": "ސިސްޓަމް", + "theme.scheme.light": "އަލި", + "theme.scheme.dark": "އަނދިރި", + "command.sidebar.toggle": "ސައިޑްބާ ޓޮގްލް ކުރާށެވެ", + "command.project.open": "އޯޕަން ޕްރޮޖެކްޓް", + "command.project.previous": "ކުރީގެ މަޝްރޫޢު", + "command.project.next": "ދެން އޮތް މަޝްރޫޢެވެ", + "command.project.index": "ޕްރޮޖެކްޓް {{index}} އަށް ބަދަލުވާށެވެ", + "command.provider.connect": "ޕްރޮވައިޑަރ ގުޅުވާށެވެ", + "command.server.switch": "ސަރވަރ ބަދަލުކުރުން", + "command.settings.open": "ސެޓިންގސް ހުޅުވާލާށެވެ", + "command.session.previous": "ކުރީ ސެޝަން", + "command.session.next": "ދެން އޮންނަ ސެޝަން", + "command.session.previous.unseen": "ކުރީގެ ނުކިޔާ ސެޝަން", + "command.session.next.unseen": "ދެން ނުކިޔާ ސެޝަން", + "command.session.archive": "އަރުޝީފް ސެޝަން", + "command.palette": "ކޮމާންޑް ޕެލެޓް", + "command.theme.cycle": "ސައިކަލް ތީމް", + "command.theme.set": "ތީމް ބޭނުންކުރުން: {{theme}}", + "command.theme.scheme.cycle": "ސައިކަލް ކުލަ ސްކީމް", + "command.theme.scheme.set": "ކުލަ ސްކީމް ބޭނުންކުރުން: {{scheme}}", + "command.language.cycle": "ސައިކަލް ބަސް", + "command.language.set": "ބަސް ބޭނުންކުރުން: {{language}}", + "command.session.new": "އާ ޖަލްސާއެއް", + "command.file.open": "ފައިލް ހުޅުވާލާށެވެ", + "command.tab.close": "ޓެބް ބަންދުކުރުން", + "command.tab.reopenClosed": "ބަންދުކޮށްފައިވާ ޓެބް އަލުން ހުޅުވާލާށެވެ", + "command.context.addSelection": "ކޮންޓެކްސްޓަށް ސެލެކްޝަން އިތުރުކުރުން", + "command.context.addSelection.description": "މިހާރު ހުރި ފައިލް އިން ހޮވާފައިވާ ލައިންތައް އިތުރުކުރުން", + "command.input.focus": "ފޯކަސް އިންޕުޓް", + "command.terminal.toggle": "ޓޮގްލް ޓާމިނަލް", + "command.fileTree.toggle": "ޓޮގްލް ފައިލް ޓްރީ", + "command.review.toggle": "ރިވިއު ޓޮގްލް ކުރާށެވެ", + "command.terminal.new": "އައު ޓާމިނަލް", + "command.terminal.new.description": "އާ ޓާރމިނަލް ޓެބެއް އުފެއްދުން", + "command.steps.toggle": "ޓޮގްލް ސްޓެޕްސް", + "command.steps.toggle.description": "މިހާރު ބޭނުންކުރާ މެސެޖަށް ފިޔަވަޅުތައް ދައްކާ ނުވަތަ ފޮރުވުން", + "command.message.previous": "ކުރީގެ މެސެޖެވެ", + "command.message.previous.description": "ކުރީގެ ޔޫޒަރ މެސެޖަށް ދާށެވެ", + "command.message.next": "ދެން އޮތް މެސެޖެވެ", + "command.message.next.description": "ދެން އަންނަ ޔޫޒަރ މެސެޖަށް ދާށެވެ", + "command.model.choose": "މޮޑެލް ހޮވާށެވެ", + "command.model.choose.description": "ތަފާތު މޮޑެލްއެއް ހޮވާށެވެ", + "command.mcp.toggle": "MCPs ޓޮގްލް ކުރާށެވެ", + "command.mcp.toggle.description": "MCPs ޓޮގްލް ކުރާށެވެ", + "command.agent.cycle": "ސައިކަލް އޭޖެންޓެވެ", + "command.agent.cycle.description": "ދެން ހުރި އޭޖެންޓަކަށް ބަދަލުވާށެވެ", + "command.agent.cycle.reverse": "ސައިކަލް އޭޖެންޓް ފަހަތަށް", + "command.agent.cycle.reverse.description": "ކުރީގެ އޭޖެންޓަށް ބަދަލުވާށެވެ", + "command.model.variant.cycle": "ސައިކަލް ވިސްނުމުގެ މަސައްކަތެވެ", + "command.model.variant.cycle.description": "ދެން އޮންނަ މަސައްކަތުގެ ފެންވަރަށް ބަދަލުވާށެވެ", + "command.prompt.mode.shell": "ޝެލް", + "command.prompt.mode.normal": "ޕްރޮމްޕްޓް", + "command.permissions.autoaccept.enable": "އޮޓޯ އެކްސެޕްޓް ހުއްދަތައް", + "command.permissions.autoaccept.disable": "ހުއްދަތައް އޮޓޯ އެކްސެޕްޓްކުރުން ހުއްޓާލާށެވެ", + "command.workspace.toggle": "ވޯކްސްޕޭސްތައް ޓޮގްލްކުރުން", + "command.workspace.toggle.description": "ސައިޑްބާރ ގައި ގިނަ ވޯކްސްޕޭސްތައް އެނެބަލް ނުވަތަ ޑިސެބަލް ކުރުން", + "command.session.undo": "އަންޑޯ", + "command.session.undo.description": "އެންމެ ފަހު މެސެޖު އަންޑޯ ކުރާށެވެ", + "command.session.redo": "ރީޑޯ", + "command.session.redo.description": "އެންމެ ފަހުން އަންޑޯން މެސެޖު އަލުން ކުރާށެވެ", + "command.session.compact": "ކޮމްޕެކްޓް ސެޝަން", + "command.session.compact.description": "ކޮންޓެކްސްޓް ސައިޒު ކުޑަކުރުމަށްޓަކައި ސެޝަން ޚުލާޞާކުރުން", + "command.session.fork": "މެސެޖުން ފޯކް", + "command.session.fork.description": "ކުރީގެ މެސެޖަކުން އާ ސެޝަނެއް އުފެއްދުން", + "command.session.share": "ޝެއާ ސެޝަން", + "command.session.share.description": "މި ސެޝަން ހިއްސާކޮށް، URL ކްލިޕްބޯޑަށް ކޮޕީކޮށްލާށެވެ", + "command.session.unshare": "އަންޝެއާ ސެޝަން", + "command.session.unshare.description": "މި ސެޝަން ހިއްސާކުރުން ހުއްޓާލާށެވެ", + "command.session.export": "އެކްސްޕޯޓް ސެޝަން", + "command.session.export.description": "ފުލް ސެޝަން ޓްރާންސްކްރިޕްޓް JSON ގެ ގޮތުގައި އެކްސްޕޯޓްކުރުން", + "palette.search.placeholder": "ފައިލްތަކާއި، ކޮމާންޑްތަކާއި، ސެޝަންތައް ހޯދުން", + "palette.search.placeholder.home": "ކޮމާންޑްތަކާއި ސެޝަންތައް ހޯދުން", + "palette.empty": "އެއްވެސް ނަތީޖާއެއް ނުފެނެއެވެ", + "palette.group.commands": "އަމުރުތަކެވެ", + "palette.group.files": "ފައިލްތައް", + "dialog.provider.search.placeholder": "ޕްރޮވައިޑަރުން ހޯދުން", + "dialog.provider.empty": "އެއްވެސް ޕްރޮވައިޑަރެއް ނުފެނެއެވެ", + "dialog.provider.group.popular": "މަޝްހޫރު", + "dialog.provider.group.other": "އެހެން", + "dialog.provider.custom.label": "ކަސްޓަމް OpenAI އާއި އެއްގޮތްވާ ޕްރޮވައިޑަރެއް", + "dialog.provider.tag.recommended": "ލަފާދެވިފައިވުން", + "dialog.provider.opencode.note": + "ކިއުރެޓް ކުރެވިފައިވާ މޮޑެލްތަކުގެ ތެރޭގައި Claude، GPT، Gemini އަދި އެހެނިހެން މޮޑެލްތައް ހިމެނެއެވެ", + "dialog.provider.opencode.tagline": "އިތުބާރު ހުރި އޮޕްޓިމައިޒްޑް މޮޑެލްތަކެވެ", + "dialog.provider.opencodeGo.tagline": "އެންމެންނަށް ކުޑަ އަގެއްގައި ސަބްސްކްރިޕްޝަން ދިނުމެވެ", + "dialog.provider.anthropic.note": "ޕްރޯ އަދި މެކްސް ހިމެނޭ ގޮތަށް Claude މޮޑެލްތަކަށް ސީދާ އެކްސެސް ލިބޭނެ އެވެ", + "dialog.provider.copilot.note": "GitHub Copilot މެދުވެރިކޮށް ކޯޑިންގ އެހީތެރިވުމަށް AI މޮޑެލްތައް", + "dialog.provider.openai.note": "އަވަސް، ގާބިލް އާންމު AI ޓާސްކްތަކަށް GPT މޮޑެލްތަކެވެ", + "dialog.provider.google.note": "އަވަސް، ސްޓްރަކްޗަރޑް ރެސްޕޮންސްތަކަށް Gemini މޮޑެލްތަކެވެ", + "dialog.provider.openrouter.note": "އެއް ޕްރޮވައިޑަރަކުން ސަޕޯޓްކުރާ ހުރިހާ މޮޑެލްތަކަށް އެކްސެސްވުން", + "dialog.provider.vercel.note": "ސްމާޓް ރޫޓިންގ އާއި އެކު AI މޮޑެލްތަކަށް ޔުނިފައިޑް އެކްސެސް", + "dialog.model.select.title": "މޮޑެލް ހޮވުން", + "dialog.model.search.placeholder": "ސަރޗް މޮޑެލްސް", + "dialog.model.empty": "މޮޑެލް ނަތީޖާއެއް ނެތެވެ", + "dialog.model.manage": "މޮޑެލްތައް މެނޭޖްކުރުން", + "dialog.model.manage.description": "މޮޑެލް ސެލެކްޓަރގައި ފެންނަނީ ކޮން މޮޑެލްތަކެއްކަން ކަސްޓަމައިޒް ކުރުން.", + "dialog.model.manage.provider.toggle": "ހުރިހާ {{provider}} މޮޑެލްތަކެއް ޓޮގްލް ކުރާށެވެ", + "dialog.model.unpaid.freeModels.title": "ހިލޭ މޮޑެލްތައް ފޯރުކޮށްދެނީ OpenCode އިންނެވެ", + "dialog.model.unpaid.addMore.title": "މަޝްހޫރު ޕްރޮވައިޑަރުންގެ އިތުރު މޮޑެލްތައް އިތުރުކުރުން", + "dialog.model.unpaid.viewMoreProviders": "އިތުރު 70+ ޕްރޮވައިޑަރުން ބައްލަވާށެވެ", + "dialog.provider.viewAll": "އިތުރު ޕްރޮވައިޑަރުން ދައްކާށެވެ", + "provider.connect.title": "{{provider}} ގުޅުވާށެވެ", + "provider.connect.title.anthropicProMax": "Claude ޕްރޯ/މެކްސް އިން ލޮގިން ވާނެއެވެ", + "provider.connect.selectMethod": "{{provider}} އަށް ލޮގިން މެތޯޑް ހޮވާށެވެ.", + "provider.connect.method.apiKey": "API ކީ އެވެ", + "provider.connect.method.browser": "ބްރައުޒާ އެވެ", + "provider.connect.method.headless": "އިންޓަފޭސް ނެތި", + "provider.connect.status.inProgress": "ހުއްދަ ދިނުމުގެ މަސައްކަތް ކުރިއަށްދާ...", + "provider.connect.status.waiting": "ހުއްދައަށް އިންތިޒާރު ކުރަމުން...", + "provider.connect.status.failed": "ހުއްދަ ދިނުން ނާކާމިޔާބު: {{error}}", + "provider.connect.apiKey.description": + "ތިބާގެ އެކައުންޓް ގުޅުވައި، OpenCode ގައި {{provider}} މޮޑެލްތައް ބޭނުންކުރުމަށް {{provider}} API ކީ ލިޔުއްވާ.", + "provider.connect.apiKey.label": "{{provider}} API ކީ އެވެ", + "provider.connect.apiKey.placeholder": "API ކީ އެވެ", + "provider.connect.apiKey.required": "API ކީ ބޭނުންވެއެވެ", + "provider.connect.opencodeZen.line1": + "OpenCode Zen އިން ކޯޑިންގ އޭޖެންޓުންނަށް އިތުބާރު ހުރި އޮޕްޓިމައިޒްޑް މޮޑެލްތަކުގެ ކިއުރެޓެޑް ސެޓަކަށް އެކްސެސް ލިބިގެންދެއެވެ.", + "provider.connect.opencodeZen.line2": + "އެއް API ކީ އާއެކު Claude، GPT، Gemini، GLM އަދި އެހެނިހެން މޮޑެލްތަކަށް އެކްސެސް ލިބިގެންދާނެއެވެ.", + "provider.connect.opencodeZen.visit.prefix": "ޒިޔާރަތްކުރުން ", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen އެވެ", + "provider.connect.opencodeZen.visit.suffix": " ތިބާގެ API ކީ އެއްކުރުމަށްޓަކައެވެ.", + "provider.connect.oauth.code.visit.prefix": "ޒިޔާރަތްކުރުން ", + "provider.connect.oauth.code.visit.link": "މި ލިންކެވެ", + "provider.connect.oauth.code.visit.suffix": + " އެކައުންޓް ގުޅުވައިދިނުމަށާއި OpenCode ގައި {{provider}} މޮޑެލްތައް ބޭނުންކުރުމަށް އޮތޯރައިޒޭޝަން ކޯޑް އެއްކުރުމަށްޓަކައެވެ.", + "provider.connect.oauth.code.label": "{{method}} ހުއްދަ ކޯޑް", + "provider.connect.oauth.code.placeholder": "ހުއްދަ ކޯޑް", + "provider.connect.oauth.code.required": "އޮތޯރިޒޭޝަން ކޯޑް ބޭނުންވެއެވެ", + "provider.connect.oauth.code.invalid": "ސައްހަ ނޫން އޮތޯރިޒޭޝަން ކޯޑެކެވެ", + "provider.connect.oauth.auto.visit.prefix": "ޒިޔާރަތްކުރުން ", + "provider.connect.oauth.auto.visit.link": "މި ލިންކެވެ", + "provider.connect.oauth.auto.visit.suffix": + " އަދި ތިރީގައިވާ ކޯޑް ޖައްސަވައިގެން އެކައުންޓް ގުޅުވައި، OpenCode ގައި {{provider}} މޮޑެލްތައް ބޭނުން ކުރައްވާށެވެ.", + "provider.connect.oauth.auto.confirmationCode": "ކޮންފަރމަންސް ކޯޑް", + "provider.connect.toast.connected.title": "{{provider}} ގުޅިފައިވެއެވެ", + "provider.connect.toast.connected.description": "{{provider}} މޮޑެލްތައް މިހާރު ބޭނުންކުރެވޭނެ އެވެ.", + "provider.custom.title": "ކަސްޓަމް ޕްރޮވައިޑަރެވެ", + "provider.custom.unavailable": "މި ސަރވަރގައި ކަސްޓަމް ޕްރޮވައިޑަރުން ނުލިބެއެވެ", + "provider.custom.description.prefix": "OpenAI އާއި އެއްގޮތްވާ ޕްރޮވައިޑަރެއް ކޮންފިގްރޭޓްކުރުން. ބަލާށެވެ ", + "provider.custom.description.link": "ޕްރޮވައިޑަރ ކޮންފިގް ޑޮކްސް", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "ޕްރޮވައިޑަރ ID", + "provider.custom.field.providerID.placeholder": "myprovider އެވެ", + "provider.custom.field.providerID.description": "ކުދި އަކުރުތަކާއި، ނަންބަރުތަކާއި، ހައިފެން ނުވަތަ އަންޑަރސްކޯރސް", + "provider.custom.field.name.label": "ނަން ދައްކާށެވެ", + "provider.custom.field.name.placeholder": "އަހަރެންގެ AI ޕްރޮވައިޑަރ", + "provider.custom.field.baseURL.label": "ބޭސް URL", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1 އެވެ", + "provider.custom.field.apiKey.label": "API ކީ އެވެ", + "provider.custom.field.apiKey.placeholder": "API ކީ އެވެ", + "provider.custom.field.apiKey.description": + "އިޚްތިޔާރީ. ހެޑަރސް މެދުވެރިކޮށް އޮތު މެނޭޖް ކުރާނަމަ ހުސްކޮށް ދޫކޮށްލާށެވެ.", + "provider.custom.models.label": "މޮޑެލްތަކެވެ", + "provider.custom.models.id.label": "ID އެވެ", + "provider.custom.models.id.placeholder": "model-id އެވެ", + "provider.custom.models.name.label": "ނަން", + "provider.custom.models.name.placeholder": "ޑިސްޕްލޭ ނަން", + "provider.custom.models.remove": "މޮޑެލް ނައްތާލާށެވެ", + "provider.custom.models.add": "މޮޑެލް އިތުރުކުރުން", + "provider.custom.headers.label": "ހެޑަރސް (އިޚްތިޔާރީ)", + "provider.custom.headers.key.label": "ހެޑަރ", + "provider.custom.headers.key.placeholder": "Header-Name އެވެ", + "provider.custom.headers.value.label": "އަގު", + "provider.custom.headers.value.placeholder": "އަގު", + "provider.custom.headers.remove": "ހެޑަރ ނައްތާލާށެވެ", + "provider.custom.headers.add": "ހެޑަރ އިތުރުކުރުން", + "provider.custom.error.providerID.required": "ޕްރޮވައިޑަރ ID ބޭނުންވެއެވެ", + "provider.custom.error.providerID.format": + "ކުދި އަކުރުތަކާއި، ނަންބަރުތަކާއި، ހައިފެންސް ނުވަތަ އަންޑަރސްކޯރ ބޭނުންކުރުން", + "provider.custom.error.providerID.exists": "އެ ޕްރޮވައިޑަރ ID މިހާރުވެސް އެބަހުއްޓެވެ", + "provider.custom.error.name.required": "ޑިސްޕްލޭ ނަން ބޭނުންވެއެވެ", + "provider.custom.error.baseURL.required": "ބޭސް URL ބޭނުންވެއެވެ", + "provider.custom.error.baseURL.format": "ފަށަން ޖެހޭނީ http:// ނުވަތަ https:// އިންނެވެ.", + "provider.custom.error.required": "ބޭނުންވާ", + "provider.custom.error.duplicate": "ޑަބިލިކޭޓް ކުރުން", + "provider.disconnect.toast.disconnected.title": "{{provider}} ކަނެކްޓް ވެއްޖެއެވެ", + "provider.disconnect.toast.disconnected.description": "{{provider}} މޮޑެލްތައް މިހާރު ލިބެން ނެތެވެ.", + "model.tag.free": "ހިލޭ", + "model.tag.latest": "އެންމެފަހުގެ", + "model.provider.anthropic": "Anthropic އެވެ", + "model.provider.openai": "OpenAI އެވެ", + "model.provider.google": "Google އެވެ", + "model.provider.xai": "xAI އެވެ", + "model.provider.meta": "Meta އެވެ", + "model.input.text": "ލިޔުންކޮޅު", + "model.input.image": "ފޮޓޯ", + "model.input.audio": "އޯޑިއޯ އެވެ", + "model.input.video": "ވިޑިއޯ", + "model.input.pdf": "ޕީޑީއެފް", + "model.tooltip.allows": "ހުއްދަ ދެނީ: {{inputs}}", + "model.tooltip.context.label": "ކޮންޓެކްސްޓް", + "model.tooltip.inputs": "އިންޕުޓްސް", + "model.tooltip.model": "މޮޑެލް", + "model.tooltip.provider": "ޕްރޮވައިޑަރެވެ", + "model.tooltip.reasoning": "ރިޒަނިންގ އެވެ", + "model.tooltip.reasoning.allowed": "ރިޒަނިންގ އަށް ހުއްދަދެއެވެ", + "model.tooltip.reasoning.none": "އެއްވެސް ވިސްނުމެއް ނެތެވެ", + "model.tooltip.context": "ކޮންޓެކްސްޓް ލިމިޓް {{limit}}", + "common.search.placeholder": "ހޯދުން", + "common.goBack": "ފަހަތަށް ދަތުރުކޮށްލާށެވެ", + "common.goForward": "ކުރިއަށް ދަތުރުކޮށްލާށެވެ", + "common.loading": "ލޯޑިންގ", + "common.loading.ellipsis": "...", + "common.cancel": "ކެންސަލް", + "common.clear": "ސާފުކޮށް", + "common.open": "ހުޅުވުން", + "common.connect": "ގުޅުވުން", + "common.disconnect": "ގުޅުން ކަނޑާލާށެވެ", + "common.continue": "ކުރިއަށްގެންދިޔުން", + "common.submit": "ހުށަހެޅުން", + "common.save": "ރައްކާކުރުން", + "common.saving": "ސޭވިންގ...", + "common.default": "ޑީފޯލްޓް", + "common.attachment": "އެކުލެވުން", + "prompt.placeholder.shell": "ޝެލް ކޮމާންޑް ލިޔުއްވާ... {{example}}", + "prompt.placeholder.normal": 'ކޮންމެ އެއްޗަކާ އަހާލަން... "{{example}}".', + "prompt.placeholder.simple": "ކޮންމެ އެއްޗެއް އަހާލަން...", + "prompt.placeholder.summarizeComments": "ކޮމެންޓްތައް ޚުލާޞާކޮށްލައްވާ...", + "prompt.placeholder.summarizeComment": "ކޮމެންޓް ޚުލާޞާކޮށްލައްވާ...", + "prompt.mode.shell": "ޝެލް", + "prompt.mode.normal": "ޕްރޮމްޕްޓް", + "prompt.mode.shell.exit": "esc އިން ނުކުތުމަށްޓަކައެވެ", + "session.child.promptDisabled": "ސަބްއޭޖެންޓް ސެޝަންތަކަށް ޕްރޮމްޕްޓް ނުކުރެވޭނެއެވެ.", + "session.child.backToParent": "އަނބުރާ މައި ސެޝަނަށް.", + "prompt.example.1": "ކޯޑްބޭސްގައި ޓޯޑޯއެއް ރަނގަޅުކުރުން", + "prompt.example.2": "މި މަޝްރޫއުގެ ޓެކް ސްޓޭކަކީ ކޮބައި ހެއްޔެވެ؟", + "prompt.example.3": "ފަޅައިގެން ގޮސްފައިވާ ޓެސްޓްތައް ރަނގަޅުކުރުން", + "prompt.example.4": "އޮތެންޓިކޭޝަން މަސައްކަތްކުރާ ގޮތް ބަޔާންކުރުން", + "prompt.example.5": "ސެކިއުރިޓީ ވަލްނަރެބިލިޓީސް ހޯދައި ރަނގަޅުކުރުން", + "prompt.example.6": "ޔޫޒަރ ސާވިސްއަށް ޔުނިޓް ޓެސްޓްތައް އިތުރުކުރުން", + "prompt.example.7": "މި ފަންކްޝަން ކިޔަން ފަސޭހަ ކުރުމަށްޓަކައި ރީފެކްޓަރ ކުރާށެވެ", + "prompt.example.8": "މި ގޯހުގެ ​​މާނައަކީ ކޮބައި ހެއްޔެވެ؟", + "prompt.example.9": "މި މައްސަލަ ޑިބަގް ކުރުމަށް އެހީތެރިވެދެއްވާށެވެ", + "prompt.example.10": "API ޑޮކިއުމަންޓޭޝަން ޖެނެރޭޓްކުރުން", + "prompt.example.11": "ޑޭޓާބޭސް ކިއުއަރީތައް އޮޕްޓިމައިޒް ކުރުން", + "prompt.example.12": "އިންޕުޓް ވެލިޑޭޝަން އިތުރުކުރުން", + "prompt.example.13": "އަށް އާ ކޮމްޕޮނެންޓެއް އުފެއްދުން...", + "prompt.example.14": "މި ޕްރޮޖެކްޓް ޑިޕްލޮއި ކުރާނީ ކިހިނެއް ހެއްޔެވެ؟", + "prompt.example.15": "އެންމެ ރަނގަޅު އުސޫލުތަކަށް އަހަރެންގެ ކޯޑް ރިވިއުކުރުން", + "prompt.example.16": "މި ފަންކްޝަނަށް އެރަރ ހެންޑްލިންގ އިތުރުކުރުން", + "prompt.example.17": "މި ރެޖެކްސް ޕެޓަރން ކިޔައިދީބަލަ", + "prompt.example.18": "މިކަން TypeScript އަށް ބަދަލުކުރުން", + "prompt.example.19": "މުޅި ކޯޑްބޭސްގައި ލޮގިން އިތުރުކުރުން", + "prompt.example.20": "މުއްދަތު ހަމަނުވާ ޑިޕެންޑެންސީތަކަކީ ކޮބައި ހެއްޔެވެ؟", + "prompt.example.21": "މައިގްރޭޝަން ސްކްރިޕްޓެއް ލިޔުމުގައި އެހީތެރިވެދެއްވާށެވެ", + "prompt.example.22": "މި އެންޑްޕޮއިންޓަށް ކެޝިންގ ތަންފީޒުކުރުން", + "prompt.example.23": "މި ލިސްޓަށް ޕޭޖިނޭޝަން އިތުރުކުރުން", + "prompt.example.24": "އަށް CLI ކޮމާންޑެއް އުފައްދާށެވެ.", + "prompt.example.25": "މިތަނުގައި ތިމާވެށީގެ ބަދަލުތައް މަސައްކަތް ކުރަނީ ކިހިނެއް ހެއްޔެވެ؟", + "prompt.popover.emptyResults": "އެއްގޮތް ނަތީޖާއެއް ނެތެވެ", + "prompt.popover.emptyCommands": "އެއްވެސް މެޗިން ކޮމާންޑެއް ނެތެވެ", + "prompt.dropzone.label": "މިތަނަށް ތަސްވީރު، PDFs، ނުވަތަ ޓެކްސްޓް ފައިލްތައް ވައްޓާލާށެވެ", + "prompt.dropzone.file.label": "@mention ފައިލަށް ވައްޓާލާށެވެ", + "prompt.slash.badge.custom": "ސަޤާފަތް", + "prompt.slash.badge.skill": "ހުނަރު", + "prompt.slash.badge.mcp": "އެމްސީޕީ އެވެ", + "prompt.context.active": "އެކްޓިވް", + "prompt.context.includeActiveFile": "އެކްޓިވް ފައިލް ހިމަނާށެވެ", + "prompt.context.removeActiveFile": "ކޮންޓެކްސްޓުން އެކްޓިވް ފައިލް ނައްތާލުން", + "prompt.context.removeFile": "ކޮންޓެކްސްޓުން ފައިލް ނައްތާލުން", + "prompt.action.attachFile": "ފައިލްތައް އިތުރުކުރުން", + "prompt.menu.addImagesAndFiles": "ފައިލްތަކާއި އަދިވެސް އެތައް ކަމެއް އިތުރުކުރުން", + "prompt.menu.imagesAndFiles": "ތަސްވީރުތަކާއި ފައިލްތައް", + "prompt.menu.commands": "އަމުރުތަކެވެ", + "prompt.menu.context": "ކޮންޓެކްސްޓް", + "prompt.menu.shellCommand": "ޝެލް ކޮމާންޑެވެ", + "prompt.attachment.remove": "އެޓޭޗްމަންޓް ނަގާށެވެ", + "prompt.action.send": "ފޮނުވުން", + "prompt.action.stop": "ހުއްޓުން", + "prompt.toast.pasteUnsupported.title": "ސަޕޯޓް ނުކުރާ އެޓޭޗްމަންޓެވެ", + "prompt.toast.pasteUnsupported.description": + "މިތަނުގައި އެޓޭޗް ކުރެވޭނީ ހަމައެކަނި ތަސްވީރު، PDFs، ނުވަތަ ޓެކްސްޓް ފައިލްތަކެވެ.", + "prompt.toast.attachmentDuplicate.title": "މި ފައިލް މިހާރު ވަނީ އަޕްލޯޑްކޮށްފައެވެ", + "prompt.toast.modelAgentRequired.title": "އޭޖެންޓަކާއި މޮޑެލްއެއް ހޮވުން", + "prompt.toast.modelAgentRequired.description": "ޕްރޮމްޕްޓެއް ފޮނުވުމުގެ ކުރިން އޭޖެންޓަކާއި މޮޑެލްއެއް ހޮވުން.", + "prompt.toast.worktreeCreateFailed.title": "ވޯކްޓްރީ އުފެއްދުމަށް ނާކާމިޔާބުވިއެވެ", + "prompt.toast.sessionCreateFailed.title": "ސެޝަން އުފެއްދުމަށް ނާކާމިޔާބުވިއެވެ", + "prompt.toast.shellSendFailed.title": "ޝެލް ކޮމާންޑް ފޮނުވަން ނާކާމިޔާބުވިއެވެ", + "prompt.toast.commandSendFailed.title": "ކޮމާންޑް ފޮނުވަން ނާކާމިޔާބުވިއެވެ", + "prompt.toast.promptSendFailed.title": "ޕްރޮމްޕްޓް ފޮނުވަން ނާކާމިޔާބުވިއެވެ", + "prompt.toast.promptSendFailed.description": "ސެޝަން ހޯދުމަށް ނުކުޅެދިއްޖެއެވެ", + "dialog.mcp.title": "MCPs އެވެ", + "dialog.mcp.description": "{{enabled}} ގެ {{total}} އެނެބަލްކޮށްފައިވެއެވެ", + "dialog.mcp.empty": "އެއްވެސް MCPs ކޮންފިގްރޭޓް ކުރެވިފައެއް ނުވެއެވެ", + "dialog.lsp.empty": "LSPs ފައިލް ވައްތަރުތަކުން އޮޓޯ ޑިޓެކްޓް ކުރެވިފައިވެއެވެ", + "dialog.plugins.empty": "opencode.json ގައި ކޮންފިގްރޭޓް ކުރެވިފައިވާ ޕްލަގިންސް", + "mcp.status.connected": "ގުޅިއްޖެއެވެ", + "mcp.status.failed": "ފެއިލްވުން", + "mcp.status.needs_auth": "ބޭނުންވަނީ އޮތޯއެވެ", + "mcp.status.disabled": "ނުކުޅެދޭ", + "mcp.auth.clickToAuthenticate": "ސައްހަ ކުރުމަށް ކްލިކް ކުރާށެވެ", + "dialog.fork.empty": "ފޯކް ކުރާނެ މެސެޖެއް ނެތެވެ", + "dialog.directory.search.placeholder": "ފޯލްޑަރުތައް ހޯދުން", + "dialog.directory.empty": "ފޯލްޑަރެއް ނުފެނެއެވެ", + "dialog.directory.action.selectFile": "ފައިލް ހޮވާށެވެ", + "dialog.directory.action.selectFolder": "ފޯލްޑަރ ހޮވާށެވެ", + "dialog.directory.root": "މޫ", + "dialog.directory.parent": "ބެލެނިވެރިޔާއެވެ", + "dialog.directory.readError": "މި ފޯލްޑަރ ކިޔަން ނުކުޅެދިއްޖެއެވެ", + "app.server.unreachable": "{{server}} އަށް ވާސިލްވެވޭ ގޮތެއް ނުވިއެވެ", + "app.server.retrying": "އޮޓޮމެޓިކުން އަލުން މަސައްކަތް ކުރަނީ...", + "app.server.otherServers": "އެހެން ސަރވަރތަކެވެ", + "dialog.server.title": "ސަރވަރސް", + "dialog.server.description": "މި އެޕް ގުޅޭނީ ކޮން OpenCode ސަރވަރަކާ ބަދަލުކޮށްލާށެވެ.", + "dialog.server.search.placeholder": "ސަރވަރތައް ހޯދުން", + "dialog.server.empty": "އަދި ސާވަރެއް ނެތެވެ", + "dialog.server.add.title": "ސަރވަރ އިތުރުކުރުން", + "dialog.server.add.url": "ސަރވަރ އެޑްރެސް", + "dialog.server.add.placeholder": "http://localhost:4096 އެވެ", + "dialog.server.add.error": "ސަރވަރ އާއި ގުޅެވޭ ގޮތެއް ނުވިއެވެ", + "dialog.server.add.checking": "ޗެކް ކުރަމުން...", + "dialog.server.add.button": "ސަރވަރ އިތުރުކުރުން", + "dialog.server.add.name": "ސަރވަރ ނަން (އިޚްތިޔާރީ)", + "dialog.server.add.namePlaceholder": "Localhost އެވެ", + "dialog.server.add.username": "ޔޫޒަރނޭމް (އިޚްތިޔާރީ)", + "dialog.server.add.usernamePlaceholder": "ޔޫޒަރނޭމް", + "dialog.server.add.password": "ޕާސްވޯޑް (އިޚްތިޔާރީ)", + "dialog.server.add.passwordPlaceholder": "ޕާސްވަރޑް", + "dialog.server.edit.title": "އެޑިޓް ސަރވަރ", + "dialog.server.default.title": "ޑިފޯލްޓް ސަރވަރ އެވެ", + "dialog.server.default.description": + "ލޯކަލް ސަރވަރ އެއް ސްޓާޓް ކުރުމުގެ ބަދަލުގައި އެޕް ލޯންޗް ކުރުމުން މި ސަރވަރ އާއި ގުޅާށެވެ. ރީސްޓާޓް ކުރަން ޖެހެއެވެ.", + "dialog.server.default.none": "އެއްވެސް ސަރވަރެއް ހޮވާފައެއް ނުވެއެވެ", + "dialog.server.default.set": "މިހާރު ހުރި ސަރވަރ ޑިފޯލްޓް ގޮތުގައި ސެޓްކުރުން", + "dialog.server.default.clear": "ސާފުކޮށް", + "dialog.server.action.remove": "ސަރވަރ ނައްތާލާށެވެ", + "dialog.server.menu.edit": "ބަދަލު ގެނައުން", + "dialog.server.menu.default": "ޑިފޯލްޓް ގޮތުގައި ސެޓްކުރުން", + "dialog.server.menu.defaultRemove": "ޑިފޯލްޓް ނައްތާލާށެވެ", + "dialog.server.menu.delete": "ފުހެލުން", + "dialog.server.current": "މިހާރުގެ ސަރވަރ", + "dialog.server.status.default": "ޑީފޯލްޓް", + "wsl.server.add": "WSL ސަރވަރ އިތުރުކުރުން", + "wsl.server.addShort": "WSL އިތުރުކުރުން", + "wsl.server.label": "WSL އެވެ", + "wsl.server.menu.label": "WSL ސަރވަރ އެވެ", + "wsl.server.retryStart": "އަލުން ފަށަން މަސައްކަތް ކުރާށެވެ", + "wsl.server.updating": "އަޕްޑޭޓް ކުރަމުން...", + "wsl.onboarding.step.distro": "ޑިސްޓްރޯ ހޮވާށެވެ", + "wsl.onboarding.step.opencode": "OpenCode އެވެ", + "wsl.onboarding.checkingRuntime": "ޗެކް ކުރަމުންދަނީ WSL...", + "wsl.onboarding.restartRequired": "Windows އިންސްޓޯލް ކުރުން ނިންމުމަށް ރީސްޓާޓް އެއް ބޭނުންވެއެވެ.", + "wsl.onboarding.ready": "WSL ތައްޔާރުވެއްޖެއެވެ.", + "wsl.onboarding.required": "WSL ކުރިއަށް ގެންދަން ޖެހެ އެވެ.", + "wsl.onboarding.checkingDistros": "ޗެކިންގ ޑިސްޓްރޯސް...", + "wsl.onboarding.installingDistro": "{{distro}} އިންސްޓޯލް ކުރަމުން...", + "wsl.onboarding.checkingDistro": "ޗެކް ކުރަމުންދަނީ {{distro}}...", + "wsl.onboarding.listingDistros": "ލިސްޓިން ޑިސްޓްރޯސް...", + "wsl.onboarding.distroReady": "{{distro}} ތައްޔާރުވެއްޖެއެވެ.", + "wsl.onboarding.distroNotInstalled": "{{distro}} އަދި އިންސްޓޯލްކޮށްފައެއް ނުވެއެވެ.", + "wsl.onboarding.openDistroOnce": "ސެޓަޕް ނިންމާލުމަށްޓަކައި {{distro}} އެއްފަހަރު ހުޅުވާލާށެވެ.", + "wsl.onboarding.finishingDistro": "{{distro}} އަށް ފިނިޝިންގ ސެޓަޕް.", + "wsl.onboarding.pickDistro": "ޑިސްޓްރޯއެއް ހޮވާ ނުވަތަ ތިރީގައިވާ ޑިސްޓްރޯއެއް އިންސްޓޯލް ކުރާށެވެ.", + "wsl.onboarding.checkingOpencode": "ޗެކް ކުރަމުންދަނީ OpenCode...", + "wsl.onboarding.checkingOpencodeIn": "{{distro}} ގައި OpenCode ޗެކްކުރަނީ...", + "wsl.onboarding.updatingOpencode": "އަޕްޑޭޓް ކުރަމުންދަނީ OpenCode...", + "wsl.onboarding.updatingOpencodeIn": "{{distro}} ގައި OpenCode އަޕްޑޭޓް ކުރަމުންދާ...", + "wsl.onboarding.updateOpencodeIn": "{{distro}} ގައި OpenCode އަޕްޑޭޓް ކުރާށެވެ.", + "wsl.onboarding.updateOpencode": "OpenCode އަޕްޑޭޓް ކުރާށެވެ", + "wsl.onboarding.opencodeReadyIn": "OpenCode ތައްޔާރުކޮށްފައިވަނީ {{distro}} ގައެވެ.", + "wsl.onboarding.opencodeReady": "OpenCode ތައްޔާރުވެއްޖެއެވެ.", + "wsl.onboarding.installOpencodeIn": "{{distro}} ގައި OpenCode އިންސްޓޯލް ކުރާށެވެ.", + "wsl.onboarding.installOpencode": "OpenCode އިންސްޓޯލް ކުރާށެވެ", + "wsl.onboarding.chooseDistroFirst": "ފުރަތަމަ ޑިސްޓްރޯއެއް ހޮވާށެވެ.", + "wsl.onboarding.loadFailed": "WSL ސްޓޭޓް ލޯޑް ނުކުރެވިއްޖެއެވެ.", + "wsl.onboarding.loading": "ލޯޑިންގ...", + "wsl.onboarding.installedDistros": "އިންސްޓޯލް ކޮށްފައިވާ ޑިސްޓްރޯސް", + "wsl.onboarding.checkAgain": "އަނެއްކާވެސް ޗެކް ކުރާށެވެ", + "wsl.onboarding.distroStatus.ready": "ތައްޔާރު", + "wsl.onboarding.distroStatus.checking": "ޗެކް ކުރަމުން...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode އިންސްޓޯލްކޮށްފައެއް ނުވެއެވެ", + "wsl.onboarding.distroStatus.missingTools": "ގެއްލިފައިވަނީ bash، curl އެވެ", + "wsl.onboarding.distroStatus.unsupported": "ސަޕޯޓް ނުކުރެވޭ · WSL ބޭނުންކުރުން 2", + "wsl.onboarding.needAnotherDistro": "އަނެއްކާވެސް ޑިސްޓްރޯއެއް ބޭނުންތަ؟", + "wsl.onboarding.needAnotherDistroHint": "WSL ކެޓަލަގުން Linux ޑިސްޓްރިބިއުޝަނެއް އިންސްޓޯލް ކުރުން", + "wsl.onboarding.wslNotInstalled.title": "WSL އިންސްޓޯލްކޮށްފައެއް ނުވެއެވެ", + "wsl.onboarding.wslNotInstalled.description": + "WSL އަށް WSL ސަރވަރ އެއް އިތުރު ކުރުމުގެ ކުރިން WSL (Windows Subsystem for Linux) ބޭނުންވެއެވެ", + "wsl.onboarding.wslUnavailable.title": "WSL ލިބެން ނެތް", + "wsl.onboarding.wslUnavailable.description": "މި މެޝިނުގައި OpenCode އަށް WSL ޔަގީން ނުކުރެވުނެވެ.", + "wsl.onboarding.installWsl": "WSL އިންސްޓޯލް ކުރާށެވެ", + "wsl.onboarding.windowsRestartRequired": + "WSL އިންސްޓޯލް ކުރުން ނިންމުމަށް Windows އަލުން ސްޓާޓްކޮށް، ދެން OpenCode އަލުން ހުޅުވާށެވެ.", + "wsl.onboarding.next": "ދެން", + "wsl.onboarding.refresh": "ރިފްރެޝް ކޮށްލާށެވެ", + "wsl.onboarding.allDistrosAdded": "އިންސްޓޯލްކޮށްފައިވާ ހުރިހާ ޑިސްޓްރޯތަކެއް މިހާރުވެސް އިތުރުކޮށްފައިވެއެވެ.", + "wsl.onboarding.noDistros": "އަދި ޑިސްޓްރޯއެއް ހޯދިފައެއް ނުވެއެވެ.", + "wsl.onboarding.install": "އެޅުން", + "wsl.onboarding.installing": "އިންސްޓޯލް ކުރަމުން...", + "wsl.onboarding.installDistro": "ޑިސްޓްރޯ އިންސްޓޯލް ކުރާށެވެ", + "wsl.onboarding.searchDistros": "ޑިސްޓްރޯސް ހޯދުން", + "wsl.onboarding.wsl2Required": "WSL 2 ބޭނުންވެއެވެ.", + "wsl.onboarding.toolsRequired": "މި ޑިސްޓްރޯއަށް ބޭނުންވަނީ bash އަދި curl އެވެ.", + "wsl.onboarding.openTerminal": "އޯޕަން ޓާމިނަލް", + "wsl.onboarding.path": "މަގު: {{path}}", + "wsl.onboarding.notFound": "ނުފެނެއެވެ", + "wsl.onboarding.version": "ވަރޝަން: {{version}}", + "wsl.onboarding.unknown": "ނޭނގޭ އެއްޗެއް", + "wsl.onboarding.desktopVersion": "ޑެސްކްޓޮޕް {{version}} އެވެ", + "wsl.onboarding.versionMismatch": "އިންސްޓޯލް ކޮށްފައިވާ ވަރޝަން ޑެސްކްޓޮޕް އެޕް ވަރޝަން އާއި އެއްގޮތެއް ނުވެއެވެ.", + "wsl.onboarding.adding": "އިތުރުކުރަނީ...", + "help.tabs.toast.ariaLabel": + "Tabs ތަޢާރަފްކުރުން. ޓެބްތަކާއެކު ތިމާގެ މަސައްކަތާއި އެކްޓިވް ސެޝަންތައް އިންތިޒާމުކުރުން", + "help.tabs.toast.dismiss": "Tabs ގެ މައުލޫމާތު ބާތިލްކުރުން", + "help.tabs.title": "Tabs ތަޢާރަފްކުރުން", + "help.tabs.description": "ޓެބްތަކާއެކު ތިމާގެ މަސައްކަތާއި އެކްޓިވް ސެޝަންތައް އިންތިޒާމުކުރުން", + "help.tabs.date": "ޖުލައި 14", + "help.tabs.introduction": "OpenCode Desktop މިހާރު ބިނާކޮށްފައިވަނީ ޓެބްތަކުގެ ވަށައިގެންނެވެ.", + "help.tabs.sessions": + "ޓެބެއްގައި އާ ސެޝަނެއް ފަށާ، ނުވަތަ ތިމާގެ އެއްވެސް ޕްރޮޖެކްޓަކުން މިހާރު ހުރި ސެޝަނެއް ހުޅުވާށެވެ. އާ ކަމެއް ފެށުމުން އާ ޓެބެއް ހުޅުވާ، އަދި ނިމުމުން ބަންދު ކުރާށެވެ.", + "help.tabs.organize": + "މަދު ޓެބްތަކެއް ހުޅުވާފައި ބެހެއްޓުމުން އެކްޓިވް ސެޝަންތައް އިންތިޒާމު ކުރުމަށް ފަސޭހަވެގެންދެއެވެ. ޓެބްތައް ވަށައިގެން ބެހެއްޓުމަށް ރާވާނަމަ ހަނދާން އާވާ އެއްޗަކަށް ބަދަލުކޮށްލާށެވެ.", + "help.tabs.home": + "ތިބާގެ ހުރިހާ ސެޝަންތަކާއި ޕްރޮޖެކްޓްތައް އާ Home ސްކްރީނުން ފެންނާނެއެވެ. ސެޝަނެއް ހޮވުމުން ޓެބެއްގައި ހުޅުވޭނެއެވެ.", + "help.tabs.persistence": "އެޕް އަލުން ހުޅުވާލުމުން އަދިވެސް ޓެބްތައް ހުޅުވާފައި ހުރެއެވެ.", + "help.tabs.worktrees": + "އާ ޑިޒައިން އިން އަދި Git ވޯކްޓްރީސް އަށް ސަޕޯޓް ނުކުރާއިރު، ވަރަށް އަވަހަށް އަންނާނެ އެވެ. އެހެންކަމުން ކުރީގެ ލޭއައުޓް ބޭނުންކުރުން ކުރިއަށް ގެންދަން ބޭނުންނަމަ ސެޓިންގްސްގައިވާ ލޭއައުޓްތަކުގެ މެދުގައި ބަދަލުވެވޭނެއެވެ. ހަމައެކަނި ހަނދާނުގައި ބަހައްޓަންވީ އާ ލޭއައުޓް ދެތިން ހަފްތާއެއްހާ ދުވަހުގެ ތެރޭގައި ދާއިމީ ވެގެންދާނެ ކަމެވެ.", + "server.row.noUsername": "ޔޫޒަރނޭމް އެއް ނެތެވެ", + "dialog.project.edit.title": "އެޑިޓް ޕްރޮޖެކްޓް", + "dialog.project.edit.name": "ނަން", + "dialog.project.edit.icon": "އައިކޮން", + "dialog.project.edit.icon.alt": "ޕްރޮޖެކްޓް އައިކޮން", + "dialog.project.edit.icon.hint": "ތަސްވީރަކަށް ކްލިކް ނުވަތަ ދަމާލާށެވެ", + "dialog.project.edit.icon.recommended": "ލަފާދެނީ: 128x128px", + "dialog.project.edit.color": "ކުލަ", + "dialog.project.edit.color.select": "{{color}} ކުލަ ހޮވާށެވެ", + "dialog.project.edit.worktree.startup": "ވޯކްސްޕޭސް ސްޓާޓްއަޕް ސްކްރިޕްޓް", + "dialog.project.edit.worktree.startup.description": "އާ ވޯކްސްޕޭސް (ވޯކްޓްރީ) އުފެއްދުމަށްފަހު ހިނގައެވެ.", + "dialog.project.edit.worktree.startup.placeholder": "މ. bun install އެވެ", + "dialog.releaseNotes.action.getStarted": "ފަށާށެވެ", + "dialog.releaseNotes.action.next": "ދެން", + "dialog.releaseNotes.action.hideFuture": "ކުރިއަށް އޮތްތަނުގައި މިކަންކަން ނުދައްކާށެވެ", + "dialog.releaseNotes.media.alt": "ރިލީޒް ޕްރިވިއު", + "context.breakdown.title": "ކޮންޓެކްސްޓް ބްރޭކްޑައުން", + "context.breakdown.note": + 'އިންޕުޓް ޓޯކަންތަކުގެ ގާތްގަނޑަކަށް ބްރޭކްޑައުން. "އެހެން" ގައި ހިމެނެނީ ޓޫލް ޑެފިނިޝަންސް އާއި އޯވަހެޑް އެވެ.', + "context.breakdown.system": "ސިސްޓަމް", + "context.breakdown.user": "ޔޫޒަރ", + "context.breakdown.assistant": "އެސިސްޓަންޓް", + "context.breakdown.tool": "ޓޫލް ކޯލްސް", + "context.breakdown.other": "އެހެން", + "context.systemPrompt.title": "ސިސްޓަމް ޕްރޮމްޕްޓް", + "context.rawMessages.title": "ރޯ މެސެޖުތަކެވެ", + "context.export.session": "އެކްސްޕޯޓް ސެޝަން", + "context.stats.session": "ސެޝަން", + "context.stats.messages": "މެސެޖުތައް", + "context.stats.provider": "ޕްރޮވައިޑަރެވެ", + "context.stats.model": "މޮޑެލް", + "context.stats.limit": "ކޮންޓެކްސްޓް ލިމިޓް", + "context.stats.totalTokens": "ޖުމްލަ ޓޯކަންސް", + "context.stats.usage": "ބޭނުންކުރުން", + "context.stats.inputTokens": "އިންޕުޓް ޓޯކަންސް", + "context.stats.outputTokens": "އައުޓްޕުޓް ޓޯކަންސް", + "context.stats.reasoningTokens": "ރީޒަނިންގ ޓޯކަންސް", + "context.stats.cacheTokens": "ކެޝް ޓޯކަންސް (ކިޔުން/ލިޔުން)", + "context.stats.userMessages": "ޔޫޒަރ މެސެޖްސް", + "context.stats.assistantMessages": "އެސިސްޓެންޓް މެސެޖްތައް", + "context.stats.totalCost": "ޖުމްލަ ހަރަދު", + "context.stats.sessionCreated": "ސެޝަން އުފެދިއްޖެއެވެ", + "context.stats.lastActivity": "އެންމެ ފަހުގެ ހަރަކާތް", + "context.usage.tokens": "ޓޯކަންސް އެވެ", + "context.usage.usage": "ބޭނުންކުރުން", + "context.usage.cost": "ހަރަދު", + "context.usage.clickToView": "ކޮންޓެކްސްޓް ބަލާލުމަށް ކްލިކް ކުރާށެވެ", + "context.usage.view": "ކޮންޓެކްސްޓް ބޭނުންކުރުން ބަލާށެވެ", + "language.en": "އިނގިރޭސި", + "language.zh": "简体中文 ގެ ވާހަކައެވެ", + "language.zht": "繁體中文 ގެ ވާހަކައެވެ", + "language.ko": "한국어 ގެ ފަރާތުންނެވެ", + "language.de": "ޑޮއިޗް އެވެ", + "language.es": "Español", + "language.fr": "ފްރާންސެއިސް އެވެ", + "language.da": "ޑަންސްކް އެވެ", + "language.ja": "日本語 އެވެ", + "language.pl": "ޕޮލްސްކީ އެވެ", + "language.ru": "Русский އެވެ", + "language.ar": "العربية އެވެ", + "language.no": "ނޯސްކް އެވެ", + "language.br": "ޕޯޗުގަލްސް (ބްރެސިލް)", + "language.bs": "ބޮސަންސްކީ އެވެ", + "language.uk": "Українська ގެ ވާހަކައެވެ", + "language.th": "ไทย", + "language.tr": "ތުރުކްޗޭ އެވެ", + "toast.language.title": "ބަސް", + "toast.language.description": "{{language}} އަށް ބަދަލުވެއްޖެއެވެ", + "toast.theme.title": "ތީމް ބަދަލުވިއެވެ", + "toast.scheme.title": "ކުލަ ސްކީމް", + "toast.workspace.enabled.title": "ވޯކްސްޕޭސްތައް އެނެބަލްކޮށްފައިވެއެވެ", + "toast.workspace.enabled.description": "މިހާރު ސައިޑްބާރގައި އެތައް ވޯކްޓްރީއެއް ފެނެއެވެ", + "toast.workspace.disabled.title": "ވޯކްސްޕޭސްތައް ޑިސެބިލްކޮށްފައި", + "toast.workspace.disabled.description": "ސައިޑްބާރގައި ދައްކާފައިވަނީ ހަމައެކަނި މައިގަނޑު ވޯކްޓްރީއެވެ", + "toast.permissions.autoaccept.on.title": "އޮޓޯ އެކްސެޕްޓިންގ ހުއްދަތައް", + "toast.permissions.autoaccept.on.description": "ހުއްދައަށް އެދޭ ފަރާތްތަކުން އޮޓޮމެޓިކުން ފާސްކުރެވޭނެއެވެ", + "toast.permissions.autoaccept.off.title": "ހުއްދަތައް އޮޓޯ އެކްސެޕްޓްކުރުން ހުއްޓާލިއެވެ", + "toast.permissions.autoaccept.off.description": "ހުއްދައަށް އެދޭ ފަރާތްތަކަށް ރުހުން ހޯދަން ޖެހޭނެއެވެ", + "toast.model.none.title": "އެއްވެސް މޮޑެލްއެއް ހޮވިފައެއް ނުވެއެވެ", + "toast.model.none.description": "މި ސެޝަން ޚުލާޞާ ކުރުމަށް ޕްރޮވައިޑަރަކާ ގުޅުވާށެވެ", + "toast.file.loadFailed.title": "ފައިލް ލޯޑް ނުކުރެވުނެވެ", + "toast.file.listFailed.title": "ފައިލްތައް ލިސްޓް ނުކުރެވުނެވެ", + "toast.context.noLineSelection.title": "ލައިން ސެލެކްޝަނެއް ނެތެވެ", + "toast.context.noLineSelection.description": "ފުރަތަމަ ފައިލް ޓެބެއްގައި ލައިން ރޭންޖެއް ހޮވާށެވެ.", + "toast.session.share.copyFailed.title": "URL ކްލިޕްބޯޑަށް ކޮޕީ ނުކުރެވުނެވެ", + "toast.session.share.success.title": "ސެޝަން ޝެއާ ކުރިއެވެ", + "toast.session.share.success.description": "ޝެއާ URL ކްލިޕްބޯޑަށް ކޮޕީކޮށްފައި!", + "toast.session.share.failed.title": "ޝެއާ ސެޝަން ނާކާމިޔާބުވި", + "toast.session.share.failed.description": "ސެޝަން ހިއްސާ ކުރަމުން ދިޔައިރު ގޯހެއް ދިމާވިއެވެ", + "toast.session.unshare.success.title": "ސެޝަން އަންޝެއަރޑް", + "toast.session.unshare.success.description": "ސެޝަން އަންޝެއަރ ކާމިޔާބުކަމާއެކު!", + "toast.session.unshare.failed.title": "ސެޝަން އަންޝެއާ ކުރަން ފެއިލްވެއްޖެ", + "toast.session.unshare.failed.description": "ސެޝަން އަންޝެއަރ ކުރަމުން ދިޔައިރު ގޯހެއް ދިމާވިއެވެ", + "toast.session.export.success.title": "ސެޝަން އެކްސްޕޯޓް ކޮށްފި", + "toast.session.export.success.description": "ސެޝަން ސޭވްކޮށްފައިވަނީ {{filename}} އަށެވެ", + "toast.session.export.failed.title": "އެކްސްޕޯޓް ސެޝަން ނާކާމިޔާބުވެއްޖެ", + "toast.session.export.failed.description": "ސެޝަން އެކްސްޕޯޓް ކުރަމުން ދިޔައިރު ގޯހެއް ދިމާވިއެވެ", + "toast.session.listFailed.title": "{{project}} އަށް ސެޝަންތައް ލޯޑް ނުކުރެވިއްޖެއެވެ", + "toast.project.reloadFailed.title": "{{project}} ރީލޯޑް ނުކުރެވިއްޖެއެވެ", + "toast.update.title": "އަޕްޑޭޓް ލިބެން ހުރެއެވެ", + "toast.update.description": "OpenCode ({{version}}) ގެ އާ ވަރޝަނެއް މިހާރު އިންސްޓޯލް ކުރެވޭނެއެވެ.", + "toast.update.action.installRestart": "އިންސްޓޯލްކޮށް އަލުން ސްޓާޓްކުރުން", + "toast.update.action.notYet": "އަދި ނޫން", + "error.page.title": "ކަމެއް ގޯސްވީއެވެ", + "error.page.description": "އެޕްލިކޭޝަން ލޯޑް ކުރަމުން ދިޔައިރު ގޯހެއް ދިމާވިއެވެ.", + "error.page.description.localServerStartup": "ލޯކަލް ސަރވަރ ސްޓާޓް ކުރަމުން ދިޔައިރު ގޯހެއް ދިމާވިއެވެ.", + "error.page.details.label": "އެރަރ ޑީޓެއިލްސް", + "error.page.action.restart": "އަލުން ފަށާށެވެ", + "error.page.action.report": "ރިޕޯޓް އެރަރ", + "error.page.action.reported": "އެރަރ ރިޕޯޓް ކުރެވިއްޖެއެވެ", + "error.page.action.exportLogs": "އެކްސްޕޯޓް ލޮގްސް", + "error.page.action.checking": "ޗެކް ކުރަމުން...", + "error.page.action.checkUpdates": "އަޕްޑޭޓްތައް ހުރިތޯ ބަލާށެވެ", + "error.page.action.updateTo": "{{version}} އަށް އަޕްޑޭޓް ކުރާށެވެ", + "error.page.circular": "[ސާކިއުލާ]", + "error.page.report.prefix": "މި އެރަރ OpenCode ޓީމަށް ރިޕޯޓް ކުރައްވާށެވެ", + "error.page.report.discord": "Discord ގައި", + "error.page.version": "ވަރޝަން: {{version}}", + "error.dev.rootNotFound": + "ރޫޓް އެލިމެންޓް ނުފެނެއެވެ. ތިބާގެ index.html އަށް އެޑް ކުރަން ހަނދާން ނެތުނީ ހެއްޔެވެ؟ ނުވަތަ id އެޓްރިބިއުޓް ގޯސްކޮށް އިމްތިހާނު ވެދާނެ ހެއްޔެވެ؟", + "error.serverSync.connectFailed": + "ސަރވަރ އާއި ގުޅެވޭ ގޮތެއް ނުވިއެވެ. `{{url}}` ގައި ސަރވަރެއް ހިނގަމުންދާ ހެއްޔެވެ؟", + "error.serverSDK.noServerAvailable": "ސަރވަރެއް ނުލިބެއެވެ", + "error.serverSDK.serverNotAvailable": "ސަރވަރ ނުލިބޭ", + "error.childStore.persistedCacheCreateFailed": "ޕަރސިސްޓެޑް ކެޝް އުފެއްދުމަށް ނާކާމިޔާބުވިއެވެ", + "error.childStore.persistedProjectMetadataCreateFailed": + "ޕަރސިސްޓެޑް ޕްރޮޖެކްޓް މެޓަޑޭޓާ އުފެއްދުމަށް ނާކާމިޔާބުވިއެވެ", + "error.childStore.persistedProjectIconCreateFailed": "ޕަރސިސްޓެޑް ޕްރޮޖެކްޓް އައިކޮން އުފެއްދުމަށް ނާކާމިޔާބުވިއެވެ", + "error.childStore.storeCreateFailed": "ސްޓޯރ އުފެއްދުމަށް ނާކާމިޔާބުވިއެވެ", + "directory.error.invalidUrl": "URL ގައި ސައްހަ ނޫން ޑައިރެކްޓަރީއެއް.", + "error.chain.unknown": "ނޭނގޭ ގޯހެއް", + "error.server.invalidConfiguration": "ސައްހަ ނޫން ކޮންފިގްރޭޝަން", + "error.chain.causedBy": "ސަބަބަކީ:", + "error.chain.apiError": "API ގެ ގޯހެއް", + "error.chain.status": "ސްޓޭޓަސް: {{status}}", + "error.chain.retryable": "އަލުން ޓްރައި ކުރެވޭނީ: {{retryable}}", + "error.chain.responseBody": "ޖަވާބުދާރީވާ ހަށިގަނޑު:\n{{body}} އެވެ", + "error.chain.didYouMean": "ތިޔަ މާނަކުރީ: {{suggestions}} ހެއްޔެވެ", + "error.chain.modelNotFound": "މޮޑެލް ނުފެނޭ: {{provider}}/{{model}}", + "error.chain.checkConfig": "ތިބާގެ ކޮންފިގް (opencode.json) ޕްރޮވައިޑަރ/މޮޑެލް ނަންތައް ޗެކްކުރުން", + "error.chain.mcpFailed": + 'MCP ސަރވަރ "{{name}}" ފޭލްވެއްޖެއެވެ. ނޯޓް، OpenCode އިން އަދި MCP އޮތެންޓިކޭޝަން އަށް ސަޕޯޓް ނުކުރެއެވެ.', + "error.chain.providerAuthFailed": "ޕްރޮވައިޑަރ އޮތެންޓިކޭޝަން ފެއިލްވެއްޖެ ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + 'ޕްރޮވައިޑަރ "{{provider}}" އިނިޝިއަލައިޒް ނުކުރެވުނެވެ. ކްރެޑެންޝިއަލްސް އަދި ކޮންފިގްރޭޝަން ޗެކްކުރުން.', + "error.chain.configJsonInvalid": "{{path}} ގައި ކޮންފިގް ފައިލަކީ ސައްހަ JSON(C) އެއް ނޫނެވެ", + "error.chain.configJsonInvalidWithMessage": + "{{path}} ގައި ކޮންފިގް ފައިލަކީ ސައްހަ ފައިލެއް ނޫން JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + '{{path}} ގައިވާ ޑައިރެކްޓަރީ "{{dir}}" އަކީ ސައްހަ އެއްޗެއް ނޫނެވެ. ޑައިރެކްޓަރީގެ ނަން "{{suggestion}}" އަށް ބަދަލުކޮށް ނުވަތަ ނައްތާލާށެވެ. މިއީ އާންމު ޓައިޕޯއެކެވެ.', + "error.chain.configFrontmatterError": "{{path}} ގައި ފްރޮންޓްމެޓަރ ޕާރސް ކުރަން ނާކާމިޔާބު:\n{{message}}", + "error.chain.configInvalid": "{{path}} ގައި ކޮންފިގް ފައިލް އަކީ ސައްހަ ފައިލްއެކެވެ", + "error.chain.configInvalidWithMessage": "{{path}} ގައި ކޮންފިގް ފައިލް ސައްހަ ނޫން: {{message}}", + "notification.permission.title": "ހުއްދަ ބޭނުންވެއެވެ", + "notification.permission.description": "{{sessionTitle}} އިން {{projectName}} އަށް ހުއްދަ ބޭނުންވެއެވެ", + "notification.question.title": "ސުވާލު", + "notification.question.description": "{{sessionTitle}} އިން {{projectName}} ގައި ސުވާލެއް އެބައޮތެވެ", + "notification.action.goToSession": "ސެޝަނަށް ދާށެވެ", + "notification.session.responseReady.title": "ޖަވާބުދާރީވާން ތައްޔާރު", + "notification.session.error.title": "ސެޝަން އެރަރ", + "notification.session.error.fallbackDescription": "ގޯހެއް ދިމާވިއެވެ", + "home.recentProjects": "ފަހުގެ މަޝްރޫއުތަކެވެ", + "home.empty.title": "ފަހުގެ މަޝްރޫއެއް ނުހިނގާ", + "home.empty.description": "ލޯކަލް ޕްރޮޖެކްޓެއް ހުޅުވައިގެން ފަށާށެވެ", + "home.title": "މައި ޞަފްޙާ", + "home.projects": "މަޝްރޫއުތައް", + "home.project.add": "ޕްރޮޖެކްޓް އިތުރުކުރުން", + "home.recentlyClosed": "ދާދިފަހުން ބަންދުކުރިއެވެ", + "home.server.collapse": "ސަރވަރ ޕްރޮޖެކްޓްތައް ކޮލަޕްސް ކުރުން", + "home.server.expand": "ސަރވަރ ޕްރޮޖެކްޓްތައް ފުޅާކުރުން", + "home.sessions.search.placeholder": "ސަރޗް ސެޝަންތަކެވެ", + "home.sessions.search.placeholder.scoped": "{{scope}} ގައި ސަރޗް ސެޝަންތައް", + "home.sessions.search.sessions": "ސެޝަންތައް", + "home.sessions.search.noResults": "{{query}} އަށް އެއްވެސް ސެޝަނެއް ނުފެނެއެވެ", + "home.sessions.empty": "މިތާ އަދި އެއްވެސް ކަމެއް ނެތެވެ", + "home.sessions.empty.description": "ފެށުމަށްޓަކައި ސެޝަނެއް އުފެއްދުން", + "home.sessions.group.today": "މިއަދު", + "home.sessions.group.yesterday": "އިއްޔެ", + "home.sessions.group.older": "އުމުރުން ދުވަސްވީއެވެ", + "home.providerTip": + "75+ ޕްރޮވައިޑަރުންނާ ގުޅިގެން އެހެން މޮޑެލްތައް ބޭނުންކުރުން، އޭގެ ތެރޭގައި Claude، GPT، Gemini ފަދަ މޮޑެލްތައް ހިމެނެއެވެ", + "session.tab.session": "ސެޝަން", + "session.tab.review": "ރިވިއު", + "session.tab.context": "ކޮންޓެކްސްޓް", + "session.tab.unknown": "ނޭނގޭ ސެޝަނެއް", + "session.panel.reviewAndFiles": "ރިވިއުކޮށް ފައިލްކުރުން", + "session.error.notFound": "މި ސެޝަން ހޯދިފައެއް ނުވެއެވެ", + "session.error.notFound.description": "މި ޓެބުން އިޝާރާތް ކުރަނީ މި ސަރވަރގައި މިހާރު ނެތް ސެޝަނަކަށެވެ.", + "session.error.notFound.closeTab": "Tab ބަންދުކުރުން", + "session.error.serverConnection": "މި ސަރވަރ އާއި ގުޅެވޭކަށް ނެތެވެ", + "session.review.filesChanged": "ފައިލްތައް ބަދަލުވެއްޖެ {{count}}", + "session.review.change.one": "ބަދަލު", + "session.review.change.other": "ބަދަލުތައް", + "session.review.loadingChanges": "ބަދަލުތައް ލޯޑް ކުރަނީ...", + "session.review.empty": "މި ޖަލްސާއަށް އަދި ބަދަލެއް ނާދެއެވެ", + "session.review.noVcs": "Git ވަރޝަން ކޮންޓްރޯލް ސިސްޓަމެއް ނުފެނި، ބަދަލުތައް ނުފެނެއެވެ", + "session.review.noVcs.createGit.title": "Git ރިޕޮޒިޓަރީއެއް އުފެއްދުން", + "session.review.noVcs.createGit.description": "މި މަޝްރޫޢަށް އަންނަ ބަދަލުތައް ޓްރެކްކޮށް، ރިވިއުކޮށް، އަންޑޯކުރުން", + "session.review.noVcs.createGit.actionLoading": "Git ރިޕޮޒިޓަރީ އުފެއްދުމުގެ މަސައްކަތް...", + "session.review.noVcs.createGit.action": "Git ރިޕޮޒިޓަރީ އުފެއްދުން", + "session.review.noSnapshot": + "ކޮންފިގްގައި ސްނެޕްޝޮޓް ޓްރެކިންގ ޑިސެބިލް ކޮށްފައި ހުރުމުން ސެޝަން ބަދަލުތައް ނުލިބެއެވެ", + "session.review.noChanges": "އެއްވެސް ބަދަލެއް ނާދެއެވެ", + "session.review.noUncommittedChanges": "އަދި ކޮމިޓް ނުކުރާ ބަދަލެއް ނާދެއެވެ", + "session.review.noBranchChanges": "އަދި އެއްވެސް ބްރާންޗަކަށް ބަދަލެއް ނާދެއެވެ", + "session.files.selectToOpen": "ހުޅުވަން ބޭނުންވާ ފައިލެއް ހޮވާށެވެ", + "session.files.all": "ހުރިހާ ފައިލްއެކެވެ", + "session.files.empty": "ފައިލްތަކެއް ނެތެވެ", + "session.files.binaryContent": "ބައިނަރީ ފައިލް (ކޮންޓެންޓް ނުދެއްކޭނެ)", + "session.messages.renderEarlier": "ކުރީގެ މެސެޖުތައް ރެންޑަރ ކުރާށެވެ", + "session.messages.loadingEarlier": "ކުރީގެ މެސެޖުތައް ލޯޑް ކުރަނީ...", + "session.messages.loadEarlier": "ކުރީގެ މެސެޖުތައް ލޯޑް ކުރާށެވެ", + "session.messages.loading": "މެސެޖުތައް ލޯޑް ކުރަނީ...", + "session.messages.jumpToLatest": "އެންމެ ފަހުގެ ވާހަކައަށް ފުންމާލާށެވެ", + "session.context.addToContext": "ކޮންޓެކްސްޓަށް {{selection}} އިތުރުކުރުން", + "session.todo.title": "ޓޮޑޯސް އެވެ", + "session.todo.collapse": "ހޭނެތިގެން ވެއްޓުން", + "session.todo.expand": "އިތުރުކުރުން", + "session.todo.progress": "{{done}} ގެ {{total}} ޓޯޑޯސް ނިމިއްޖެއެވެ", + "session.question.progress": "{{current}} ގެ {{total}} ސުވާލުތަކެވެ", + "session.question.minimize": "ސުވާލު އެންމެ ކުޑަކުރުން", + "session.question.restore": "ސުވާލު އަލުން އާލާކުރުން", + "session.question.pending.one": "{{count}} ކުރިއަށް އޮތް ސުވާލު", + "session.question.pending.other": "{{count}} ކުރިއަށް އޮތް ސުވާލުތައް", + "session.followupDock.summary.one": "{{count}} ކިއު ކޮށްފައިވާ މެސެޖެކެވެ", + "session.followupDock.summary.other": "{{count}} ކިއު ކުރެވިފައިވާ މެސެޖުތައް", + "session.followupDock.sendNow": "މިހާރު ފޮނުއްވާ", + "session.followupDock.edit": "ބަދަލު ގެނައުން", + "session.followupDock.collapse": "ކިއު ޖަހާފައިވާ މެސެޖުތައް ކޮލަޕްސް ކޮށްލާށެވެ", + "session.followupDock.expand": "ކިއު ކުރެވިފައިވާ މެސެޖުތައް ފުޅާކުރުން", + "session.revertDock.summary.one": "{{count}} ރޯލް ބެކް މެސެޖެއް", + "session.revertDock.summary.other": "{{count}} ރޯލްބެކް މެސެޖުތައް", + "session.revertDock.collapse": "ކޮލަޕްސް ރޯލް ބެކް މެސެޖުތަކެވެ", + "session.revertDock.expand": "ރޯލް ބެކް މެސެޖުތައް ފުޅާކުރުން", + "session.revertDock.restore": "މެސެޖު ރިސްޓޯރ ކުރާށެވެ", + "session.new.title": "ކޮންމެ އެއްޗެއް ބިނާކުރާށެވެ", + "session.new.project.new": "އާ މަޝްރޫއެއް", + "session.new.project.search": "ޕްރޮޖެކްޓްތައް ހޯދުން", + "session.new.project.add": "ޕްރޮޖެކްޓް އިތުރުކުރުން", + "session.new.worktree.main": "މައި ބްރާންޗް", + "session.new.worktree.mainWithBranch": "މައި ގޮފި ({{branch}})", + "session.new.worktree.create": "އާ ވޯކްޓްރީ އުފެއްދުން", + "session.new.workspace.runIn": "ރަން ސެޝަން އިން", + "session.new.workspace.triggerLocal": "ލޯކަލް", + "session.new.workspace.local": "ލޯކަލް ރިޕޮޒިޓަރީ", + "session.new.workspace.existing": "ވޯކްސްޕޭސް...", + "session.new.git.none": "އެއްވެސް Git އެއް ނެތެވެ", + "session.new.lastModified": "އެންމެ ފަހުން ބަދަލުކުރީ", + "session.header.search.placeholder": "{{project}} ހޯދުން", + "session.header.searchFiles": "ފައިލްތައް ހޯދުން", + "session.header.openIn": "ހުޅުވާފައި އިން", + "session.header.open.action": "{{app}} ހުޅުވާލާށެވެ", + "session.header.open.ariaLabel": "{{app}} ގައި ހުޅުވާފައި ހުރެއެވެ", + "session.header.open.menu": "އޮޕްޝަންސް ހުޅުވާލާށެވެ", + "session.header.open.copyPath": "ކޮޕީ މަގު", + "session.header.open.finder": "Finder އެވެ", + "session.header.open.fileExplorer": "File Explorer އެވެ", + "session.header.open.fileManager": "ފައިލް މެނޭޖަރ އެވެ", + "session.header.reveal.finder": "Finder ގައި ހާމަކުރުން", + "session.header.reveal.fileExplorer": "File Explorer ގައި ހާމަކުރުން", + "session.header.reveal.containingFolder": "ކޮންޓެއިން ފޯލްޑަރ ހުޅުވާށެވެ", + "session.header.open.app.vscode": "VS Code އެވެ", + "session.header.open.app.cursor": "Cursor އެވެ", + "session.header.open.app.zed": "Zed އެވެ", + "session.header.open.app.textmate": "TextMate އެވެ", + "session.header.open.app.antigravity": "Antigravity އެވެ", + "session.header.open.app.terminal": "ޓާމިނަލް އެވެ", + "session.header.open.app.iterm2": "iTerm2 އެވެ", + "session.header.open.app.ghostty": "Ghostty އެވެ", + "session.header.open.app.warp": "Warp އެވެ", + "session.header.open.app.xcode": "Xcode އެވެ", + "session.header.open.app.androidStudio": "Android Studio އެވެ", + "session.header.open.app.powershell": "PowerShell އެވެ", + "session.header.open.app.sublimeText": "Sublime Text އެވެ", + "status.popover.trigger": "ޙާލަތު", + "status.popover.ariaLabel": "ސަރވަރ ކޮންފިގްރޭޝަންސް", + "status.popover.tab.servers": "ސަރވަރސް", + "status.popover.tab.mcp": "MCP އެވެ", + "status.popover.tab.lsp": "LSP އެވެ", + "status.popover.tab.plugins": "ޕްލަގިންސް އެވެ", + "status.popover.action.manageServers": "ސަރވަރތައް މެނޭޖްކުރުން", + "session.share.popover.title": "ވެބްގައި ޝާއިއުކުރުން", + "session.share.popover.description.shared": + "މި ސެޝަން ވެބްގައި އާންމުކޮށް ކުރިއަށް ގެންދެވޭނެއެވެ. އެއީ ލިންކް އާއި އެކު ކޮންމެ މީހަކަށް ވެސް އެކްސެސް ކުރެވޭނެ އެއްޗެކެވެ.", + "session.share.popover.description.unshared": + "ސެޝަން އާންމުކޮށް ވެބްގައި ހިއްސާކުރުން. އަދި ލިންކް ހުރި ކޮންމެ މީހަކަށްވެސް އެތަނަށް ވަދެވޭނެއެވެ.", + "session.share.action.share": "ޙިއްސާ", + "session.share.action.publish": "ޝާއިއުކުރުން", + "session.share.action.publishing": "ޕަބްލިޝިންގ...", + "session.share.action.unpublish": "އަންޕަބްލިޝް ކުރުން", + "session.share.action.unpublishing": "އަންޕަބްލިޝް ކުރަމުންދާ...", + "session.share.action.view": "މަންޒަރު", + "session.share.copy.copied": "ކޮޕީކޮށްފައި", + "session.share.copy.copyLink": "ކޮޕީ ލިންކް", + "lsp.tooltip.none": "LSP ސަރވަރެއް ނެތެވެ", + "lsp.label.connected": "{{count}} LSP އެވެ", + "prompt.loading": "ލޯޑިންގ ޕްރޮމްޕްޓް...", + "terminal.loading": "ލޯޑިންގ ޓާމިނަލް...", + "terminal.title": "ޓާމިނަލް އެވެ", + "terminal.title.numbered": "ޓާމިނަލް {{number}} އެވެ", + "terminal.close": "ޓާމިނަލް ބަންދުކުރުން", + "terminal.connectionLost.title": "ގުޅުން ގެއްލިއްޖެއެވެ", + "terminal.connectionLost.abnormalClose": "WebSocket އާދަޔާ ހިލާފަށް ބަންދުވެފައި: {{code}}", + "terminal.connectionLost.description": + "ޓާމިނަލް ކަނެކްޝަން މެދުކެނޑުނެވެ. މިއީ ސަރވަރ އަލުން ސްޓާޓް ކުރުމުން ދިމާވެދާނެ ކަމެކެވެ.", + "terminal.connectTicket.csrfError": + "PTY ކަނެކްޓް ޓިކެޓް ރިޖެކްޓް ކޮށްފައިވަނީ އޮރިޖިން ނުވަތަ CSRF ޗެކްތަކުންނެވެ. ސަރވަރ CORS ކޮންފިގް ޗެކްކުރުން.", + "terminal.connectTicket.statusError": "PTY ކަނެކްޓް ޓިކެޓް {{status}} އާއެކު ފެއިލްވެއްޖެއެވެ", + "titlebar.update": "އަޕްޑޭޓް", + "titlebar.updateVersion": "{{version}} އަޕްޑޭޓް ކުރާށެވެ", + "common.closeTab": "ޓެބް ބަންދުކުރުން", + "common.dismiss": "ދުރުކޮށްލުން", + "common.moreCountSuffix": " (+{{count}} އިތުރަށް)", + "common.requestFailed": "ރިކުއެސްޓް ފެއިލްވިއެވެ", + "common.moreOptions": "އިތުރު އިޚްތިޔާރުތަކެކެވެ", + "common.learnMore": "އިތުރަށް ދަސްކުރައްވާށެވެ", + "common.rename": "ނަން ބަދަލުކޮށްލާށެވެ", + "common.export": "އެކްސްޕޯޓް", + "common.reset": "ރީސެޓް ކުރުން", + "common.archive": "އާކައިވް", + "common.delete": "ފުހެލުން", + "common.close": "ލެއްޕުން", + "common.edit": "ބަދަލު ގެނައުން", + "common.loadMore": "އިތުރަށް ލޯޑް ކުރާށެވެ", + "common.key.esc": "ESC އެވެ", + "common.key.ctrl": "Ctrl އެވެ", + "common.key.alt": "Alt އެވެ", + "common.key.shift": "Shift އެވެ", + "common.key.meta": "Meta އެވެ", + "common.key.space": "Space އެވެ", + "common.key.backspace": "Backspace އެވެ", + "common.key.enter": "Enter", + "common.key.tab": "Tab އެވެ", + "common.key.delete": "Delete އެވެ", + "common.key.home": "Home އެވެ", + "common.key.end": "End އެވެ", + "common.key.pageUp": "Page Up އެވެ", + "common.key.pageDown": "Page Down އެވެ", + "common.key.insert": "Insert އެވެ", + "common.unknown": "ނޭނގޭ އެއްޗެއް", + "common.time.justNow": "ހަމަ މިހާރު", + "common.time.minutesAgo.short": "{{count}}m މީގެ ކުރިން", + "common.time.hoursAgo.short": "{{count}}h މީގެ ކުރިން", + "common.time.daysAgo.short": "{{count}}d ކުރިން", + "sidebar.menu.toggle": "ޓޮގްލް މެނޫ", + "sidebar.nav.projectsAndSessions": "ޕްރޮޖެކްޓްތަކާއި ސެޝަންތައް", + "sidebar.settings": "ސެޓިންގސް", + "sidebar.help": "އެހީވުން", + "sidebar.workspaces.enable": "ވޯކްސްޕޭސްތައް އެނެބަލްކުރުން", + "sidebar.workspaces.disable": "ވޯކްސްޕޭސްތައް ޑިސެބަލްކުރުން", + "sidebar.gettingStarted.title": "ފަށަނީ", + "sidebar.gettingStarted.line1": "OpenCode ގައި ހިލޭ މޮޑެލްތައް ހިމެނޭތީ ވަގުތުން ފަށައިގަނެވޭނެ އެވެ.", + "sidebar.gettingStarted.line2": + "މޮޑެލްތައް ބޭނުން ކުރުމަށް އެއްވެސް ޕްރޮވައިޑަރެއް ގުޅުވާލުން، inc. Claude، GPT، Gemini ފަދަ ކަންކަމެވެ.", + "sidebar.project.recentSessions": "ފަހުގެ ސެޝަންތަކެވެ", + "sidebar.project.viewAllSessions": "ހުރިހާ ސެޝަންތަކެއް ބަލާށެވެ", + "sidebar.project.clearNotifications": "ނޮޓިފިކޭޝަންތައް ސާފުކުރުން", + "sidebar.empty.title": "އެއްވެސް މަޝްރޫއެއް ނުހުޅުވޭ", + "sidebar.empty.description": "ފަށަން ޕްރޮޖެކްޓެއް ހުޅުވާށެވެ", + "debugBar.ariaLabel": "ޑިވެލޮޕްމަންޓް ޕާފޯމަންސް ޑައިގްނޯސްޓިކްސް", + "debugBar.na": "n/a", + "debugBar.nav.label": "NAV އެވެ", + "debugBar.nav.tip": + "އެންމެ ފަހުން ފުރިހަމަ ކުރެވުނު ރޫޓް ޓްރާންސިޝަން ސެޝަން ޕޭޖެއްގައި އަތްލުމުން، ރައުޓަރ ފެށުނީއްސުރެ ސެޓްލްވުމަށްފަހު ފުރަތަމަ ކުލަ ޖެހުމާ ހަމައަށް މިންކުރެވެއެވެ.", + "debugBar.fps.label": "FPS އެވެ", + "debugBar.fps.tip": "ފަހު 5 ސިކުންތުގެ ތެރޭގައި ސިކުންތަކަށް ރޯލް ފްރޭމްތައް.", + "debugBar.frame.label": "FRAME އެވެ", + "debugBar.frame.tip": "އެންމެ ގޯސް ފްރޭމް ޓައިމް ފާއިތުވި 5 ސިކުންތުގެ ތެރޭގައި.", + "debugBar.jank.label": "JANK އެވެ", + "debugBar.jank.tip": "ފަހު 5 ސިކުންތުގައި 32ms އަށް ވުރެ ގިނަ ވަގުތު ފްރޭމް ކުރެއެވެ.", + "debugBar.long.label": "LONG އެވެ", + "debugBar.long.tip": + "އެންމެ ފަހު 5 ސިކުންތުގައި ބްލޮކް ކުރެވިފައިވާ ވަގުތާއި ލޯންގް-ޓާސްކް ކައުންޓް. މެކްސް ޓާސްކް: {{max}}.", + "debugBar.delay.label": "DELAY އެވެ", + "debugBar.delay.tip": "އެންމެ ގޯސްކޮށް ފެނުނު އިންޕުޓް ޑިލޭ ވޭތުވެދިޔަ 5 ސިކުންތުގެ ތެރޭގައި.", + "debugBar.inp.label": "INP އެވެ", + "debugBar.inp.tip": + "ފާއިތުވި 5 ސިކުންތުގެ ތެރޭގައި ގާތްގަނޑަކަށް މުޢާމަލާތްކުރާ މުއްދަތު. މިއީ INP ކަހަލަ އެއްޗެއް، ރަސްމީ ވެބް ވައިޓަލްސް INP އެއް ނޫނެވެ.", + "debugBar.cls.label": "CLS އެވެ", + "debugBar.cls.tip": "މިހާރު ބޭނުންކުރާ އެޕް ލައިފްޓައިމް އަށް ކިއުމިއުލެޓިވް ލޭއައުޓް ޝިފްޓް.", + "debugBar.mem.label": "MEM އެވެ", + "debugBar.mem.tipUnavailable": "ބޭނުންކޮށްފައިވަނީ ޖޭއެސް ހީޕް އާއި ހީޕް ލިމިޓެވެ. Chromium އެކަނި.", + "debugBar.mem.tip": "ބޭނުންކޮށްފައިވަނީ ޖޭއެސް ހީޕް އާއި ހީޕް ލިމިޓެވެ. {{used}} ގެ {{limit}} އެވެ.", + "debugBar.focus.label": "FOCUS އެވެ", + "debugBar.focus.tip": "ފޯސް ފޯކަސް ސްޓައިލްސް ހުރިހާ އިންޓަރެކްޓިވް އެލިމެންޓްތަކަށް", + "debugBar.focus.on": "ON އެވެ", + "debugBar.focus.off": "OFF އެވެ", + "debugBar.direction.label": "ޑރ", + "debugBar.direction.tip": "ހޮވާފައިވާ ބަހަށް ބަދަލެއް ނުގެނެސް ފުލް އެޕް ލޭއައުޓް ޑިރެކްޝަން ފޯސް ކުރާށެވެ", + "debugBar.direction.ltr": "LTR އެވެ", + "debugBar.direction.rtl": "RTL އެވެ", + "app.name.desktop": "OpenCode Desktop އެވެ", + "settings.section.desktop": "ޑެސްކްޓޮޕް", + "settings.section.server": "ސަރވަރ އެވެ", + "settings.tab.general": "އާންމު", + "settings.tab.shortcuts": "ޝޯޓްކާޓްސް", + "settings.desktop.section.wsl": "WSL އެވެ", + "settings.desktop.wsl.title": "WSL އިންޓަގްރޭޝަން", + "settings.desktop.wsl.description": "Windows ގައި WSL ގެ ތެރޭގައި OpenCode ސަރވަރ ހިންގާށެވެ.", + "settings.general.section.appearance": "މަލަމަތި", + "settings.general.section.advanced": "އެޑްވާންސްޑް", + "settings.general.section.notifications": "ސިސްޓަމް ނޮޓިފިކޭޝަންސް", + "settings.general.section.updates": "އަޕްޑޭޓްސް", + "settings.general.section.sounds": "އަޑު އިފެކްޓްސް", + "settings.general.section.feed": "ކާންދިނުން", + "settings.general.section.display": "ޑިސްޕްލޭ", + "settings.general.row.language.title": "ބަސް", + "settings.general.row.language.description": "OpenCode އަށް ޑިސްޕްލޭ ލޭންގުއޭޖް ބަދަލުކުރުން", + "settings.general.row.shell.title": "ޓާމިނަލް ޝެލް އެވެ", + "settings.general.row.shell.description": "ޓާމިނަލް އާއި އޭޖެންޓް ޓޫލްސް އިން ބޭނުންކުރާ ޝެލް", + "settings.general.row.shell.autoDefault": "އޮޓޯ (ޑިފޯލްޓް)", + "settings.general.row.shell.terminalOnly": "ޓާމިނަލް އެކަނި", + "settings.general.row.appearance.title": "މަލަމަތި", + "settings.general.row.appearance.description": "ޑިވައިސްގައި OpenCode ފެންނަ ގޮތް ކަސްޓަމައިޒް ކުރާށެވެ", + "settings.general.row.colorScheme.title": "ކުލަ ސްކީމް", + "settings.general.row.colorScheme.description": + "OpenCode އިން ސިސްޓަމް، ލައިޓް، ނުވަތަ ޑާކް ތީމް އަށް ތަބާވާތޯ ހޮވާށެވެ", + "settings.general.row.theme.title": "ތީމް", + "settings.general.row.theme.description": "OpenCode ތީމް ކުރެވިފައިވާ ގޮތް ކަސްޓަމައިޒް ކުރުން.", + "settings.general.row.font.title": "ކޯޑް ފޮންޓެވެ", + "settings.general.row.font.description": "ކޯޑް ބްލޮކްތަކުގައި ބޭނުންކުރާ ފޮންޓް ކަސްޓަމައިޒް ކުރުން", + "settings.general.row.terminalFont.title": "ޓާމިނަލް ފޮންޓެވެ", + "settings.general.row.terminalFont.description": "ޓާމިނަލްގައި ބޭނުންކުރާ ފޮންޓް ކަސްޓަމައިޒް ކުރުން", + "settings.general.row.uiFont.title": "UI ފޮންޓް", + "settings.general.row.uiFont.description": "މުޅި އިންޓަރފޭސްގައި ބޭނުންކުރާ ފޮންޓް ކަސްޓަމައިޒް ކުރުން", + "settings.general.row.followup.title": "ފޮލޯއަޕް ސުލޫކު", + "settings.general.row.followup.description": + "ފޮލޯއަޕް ޕްރޮމްޕްޓްސް ވަގުތުން ސްޓިއަރ ކުރުން ނުވަތަ ކިއުއެއްގައި މަޑުކުރުންތޯ ހޮވާށެވެ", + "settings.general.row.followup.option.queue": "ކިއު", + "settings.general.row.followup.option.steer": "ސްޓީއާ އެވެ", + "settings.general.row.showFileTree.title": "ފައިލް ގަހެވެ", + "settings.general.row.showFileTree.description": "ސެޝަންތަކުގައި ފައިލް ޓްރީ ޕެނަލް ދައްކާށެވެ", + "settings.general.row.showNavigation.title": "ނޭވިގޭޝަން ކޮންޓްރޯލްތައް", + "settings.general.row.showNavigation.description": "ޑެސްކްޓޮޕް ޓައިޓަލް ބާރ ގައި ފަހަތާއި ކުރިއަށް ބަޓަން ދައްކާށެވެ", + "settings.general.row.showSearch.title": "ކޮމާންޑް ޕެލެޓް", + "settings.general.row.showSearch.description": "ޓައިޓަލް ބާރ އިން ސަރޗް އެންޑް ކޮމާންޑް ޕެލެޓް ބަޓަން ދައްކާށެވެ", + "settings.general.row.showTerminal.title": "ޓާމިނަލް އެވެ", + "settings.general.row.showTerminal.description": "ޑެސްކްޓޮޕް ޓައިޓަލް ބާރ އިން ޓާރމިނަލް ބަޓަން ދައްކާށެވެ", + "settings.general.row.showStatus.title": "ސަރވަރ ސްޓޭޓަސް", + "settings.general.row.showStatus.description": "ޓައިޓަލް ބާރ ގައި ސަރވަރ ސްޓޭޓަސް ބަޓަން ދައްކާށެވެ", + "settings.general.row.mobileTitlebarBottom.title": "ތިރީގައި ދަތުރުކުރުން", + "settings.general.row.mobileTitlebarBottom.description": + "މޯބައިލްގައި ސްކްރީންގެ ތިރީގައި ޓައިޓަލް ބާރ އާއި ސެޝަން ޓެބްތައް ބަހައްޓާށެވެ", + "settings.general.row.showCustomAgents.title": "ޝޯ އޭޖެންޓް", + "settings.general.row.showCustomAgents.description": + "ކޮމްޕޯސަރުގައި ތިބި އޭޖެންޓުންގެ މެދުގައި ބަދަލުވުން. ފޮރުވާއިރު، ޑިފޯލްޓް ވާނީ ބިލްޑް އޭޖެންޓަށެވެ.", + "settings.general.row.reasoningSummaries.title": "ރިޒަނިންގ ސުމާރީސް ދައްކާށެވެ", + "settings.general.row.reasoningSummaries.description": "ޓައިމްލައިންގައި މޮޑެލް ރިޒަނިންގ ސުމާރީތައް ދައްކާލުން", + "settings.general.row.shellToolPartsExpanded.title": "ޝެލް ޓޫލް ބައިތައް ފުޅާކުރުން", + "settings.general.row.shellToolPartsExpanded.description": + "ޓައިމްލައިންގައި ޑިފޯލްޓްކޮށް ފުޅާކޮށްފައިވާ ޝެލް ޓޫލް ބައިތައް ދައްކާށެވެ", + "settings.general.row.editToolPartsExpanded.title": "އެޑިޓް ޓޫލްގެ ބައިތައް ފުޅާކުރުން", + "settings.general.row.editToolPartsExpanded.description": + "ޓައިމްލައިންގައި ޑިފޯލްޓްކޮށް ފުޅާކޮށްފައިވާ އެޑިޓް، ރައިޓް، އަދި ޕެޗް ޓޫލް ބައިތައް ދައްކާށެވެ", + "settings.general.row.newInterface.title": "އާ ލޭއައުޓެއް", + "settings.general.row.newInterface.badge": "އާ", + "settings.general.row.newInterface.description": + "އާ ޓެބްތަކާއި ހޯމް ލޭއައުޓް ބޭނުން ކުރާށެވެ. ލޭއައުޓްތަކުގެ މެދުގައި ވަކި މުއްދަތަކަށް ބަދަލުވުން.", + "settings.general.row.newInterfaceNotice.title": "މިހާރު ތިޔަ ބޭނުން ކުރަނީ އާ ލޭއައުޓެކެވެ", + "settings.general.row.newInterfaceNotice.description": "ކުރީގެ ލޭއައުޓް މިހާރު ނުލިބެއެވެ", + "settings.general.row.newInterfaceNotice.dismiss": "ދުރުކޮށްލުން", + "settings.general.row.pinchZoom.title": "ޒޫމް ކުރަން ޕިންޗް ކޮށްލާށެވެ", + "settings.general.row.pinchZoom.description": + "ޓްރެކްޕެޑް ޕިންޗް އަދި Ctrl-ސްކްރޯލް ޖެޝަރސް ޒޫމް ކުރުމަށް ހުއްދަ ދިނުން", + "settings.general.row.wayland.title": "ނެޓިވް Wayland ބޭނުން ކުރާށެވެ", + "settings.general.row.wayland.description": "Wayland ގައި X11 ފޯލްބެކް ޑިސެބަލް ކުރާށެވެ. ރީސްޓާޓް ކުރަން ޖެހެއެވެ.", + "settings.general.row.wayland.tooltip": + "މިކްސްޑް ރިފްރެޝް-ރޭޓް މޮނިޓަރުތަކާއެކު Linux ގައި ނެޓިވް Wayland އަށް ވުރެ ސްޓޭބަލް ވެދާނެއެވެ.", + "settings.general.row.releaseNotes.title": "ރިލީޒް ނޯޓްސް", + "settings.general.row.releaseNotes.description": "އަޕްޑޭޓްތަކަށްފަހު އައު ޕޮޕްއަޕްތައް ދައްކާށެވެ", + "settings.updates.row.startup.title": "ސްޓާޓްއަޕް ކުރުމުގައި އަޕްޑޭޓްތައް ހުރިތޯ ބަލާށެވެ", + "settings.updates.row.startup.description": "OpenCode ލޯންޗް ކުރާއިރު އޮޓޮމެޓިކުން އަޕްޑޭޓްތައް ހުރިތޯ ބަލާށެވެ", + "settings.updates.row.check.title": "އަޕްޑޭޓްތައް ހުރިތޯ ބަލާށެވެ", + "settings.updates.row.check.description": "އަޕްޑޭޓްތައް މެނުއަލްކޮށް ޗެކްކޮށް، ލިބޭނަމަ އިންސްޓޯލް ކުރާށެވެ", + "settings.updates.action.checkNow": "މިހާރު ޗެކް ކޮށްލައްވާ", + "settings.updates.action.checking": "ޗެކް ކުރަމުން...", + "settings.updates.action.downloading": "ޑައުންލޯޑް ކުރަމުން...", + "settings.updates.action.installing": "އިންސްޓޯލް ކުރަމުން...", + "settings.updates.toast.latest.title": "ޔޫ އާ އަޕް ޓު ޑޭޓް", + "settings.updates.toast.latest.description": "ތިޔަ ހިންގަނީ OpenCode ގެ އެންމެ ފަހުގެ ވަރޝަން އެވެ.", + "sound.option.none": "އެއްޗެއްނޫން", + "sound.option.alert01": "އެލާޓް 01", + "sound.option.alert02": "އެލާޓް 02", + "sound.option.alert03": "އެލާޓް 03", + "sound.option.alert04": "އެލާޓް 04", + "sound.option.alert05": "އެލާޓް 05", + "sound.option.alert06": "އެލާޓް 06", + "sound.option.alert07": "އެލާޓް 07", + "sound.option.alert08": "އެލާޓް 08", + "sound.option.alert09": "އެލާޓް 09", + "sound.option.alert10": "އެލާޓް 10", + "sound.option.bipbop01": "ބިޕް-ބޮޕް 01", + "sound.option.bipbop02": "ބިޕް-ބޮޕް 02", + "sound.option.bipbop03": "ބިޕް-ބޮޕް 03", + "sound.option.bipbop04": "ބިޕް-ބޮޕް 04", + "sound.option.bipbop05": "ބިޕް-ބޮޕް 05", + "sound.option.bipbop06": "ބިޕް-ބޮޕް 06", + "sound.option.bipbop07": "ބިޕް-ބޮޕް 07", + "sound.option.bipbop08": "ބިޕް-ބޮޕް 08", + "sound.option.bipbop09": "ބިޕް-ބޮޕް 09", + "sound.option.bipbop10": "ބިޕް-ބޮޕް 10", + "sound.option.staplebops01": "ސްޓޭޕްލްބޮޕްސް 01", + "sound.option.staplebops02": "ސްޓޭޕްލްބޮޕްސް 02", + "sound.option.staplebops03": "ސްޓޭޕްލްބޮޕްސް 03", + "sound.option.staplebops04": "ސްޓޭޕްލްބޮޕްސް 04", + "sound.option.staplebops05": "ސްޓޭޕްލްބޮޕްސް 05", + "sound.option.staplebops06": "ސްޓޭޕްލްބޮޕްސް 06", + "sound.option.staplebops07": "ސްޓޭޕްލްބޮޕްސް 07", + "sound.option.nope01": "ނޫން 01", + "sound.option.nope02": "ނޫން 02", + "sound.option.nope03": "ނޫން 03", + "sound.option.nope04": "ނޫން 04", + "sound.option.nope05": "ނޫން 05", + "sound.option.nope06": "ނޫން 06", + "sound.option.nope07": "ނޫން 07", + "sound.option.nope08": "ނޫން 08", + "sound.option.nope09": "ނޫން 09", + "sound.option.nope10": "ނޫން 10", + "sound.option.nope11": "ނޫން 11", + "sound.option.nope12": "ނޫން 12", + "sound.option.yup01": "ޔޫޕް 01", + "sound.option.yup02": "ޔޫޕް 02", + "sound.option.yup03": "ޔޫޕް 03", + "sound.option.yup04": "ޔޫޕް 04", + "sound.option.yup05": "ޔޫޕް 05", + "sound.option.yup06": "ޔޫޕް 06", + "settings.general.notifications.agent.title": "އޭޖެންޓު", + "settings.general.notifications.agent.description": + "އޭޖެންޓް ފުރިހަމަވެފައި ނުވަތަ ސަމާލުކަން ބޭނުންވާ ވަގުތުތަކުގައި ސިސްޓަމް ނޮޓިފިކޭޝަން ދައްކާށެވެ", + "settings.general.notifications.permissions.title": "ހުއްދަތައް", + "settings.general.notifications.permissions.description": + "ހުއްދައެއް ބޭނުންވާ ވަގުތު ސިސްޓަމް ނޮޓިފިކޭޝަން ދައްކާށެވެ", + "settings.general.notifications.errors.title": "ގޯސްތައް", + "settings.general.notifications.errors.description": "ގޯހެއް ދިމާވުމުން ސިސްޓަމް ނޮޓިފިކޭޝަން ދައްކާށެވެ", + "settings.general.sounds.agent.title": "އޭޖެންޓު", + "settings.general.sounds.agent.description": + "އޭޖެންޓް ފުރިހަމަވެފައި ނުވަތަ ސަމާލުކަން ބޭނުންވާ ވަގުތުތަކުގައި އަޑު ކުޅެން", + "settings.general.sounds.permissions.title": "ހުއްދަތައް", + "settings.general.sounds.permissions.description": "ހުއްދައެއް ބޭނުންވާ ވަގުތުތަކުގައި އަޑު ކުޅެން", + "settings.general.sounds.errors.title": "ގޯސްތައް", + "settings.general.sounds.errors.description": "ގޯހެއް ދިމާވުމުން އަޑު ކުޅެން", + "settings.shortcuts.title": "ކީބޯޑް ޝޯޓްކަޓްސް", + "settings.shortcuts.reset.button": "ޑިފޯލްޓްތަކަށް ރީސެޓްކުރުން", + "settings.shortcuts.reset.toast.title": "ޝޯޓްކަޓްސް ރީސެޓް ކުރުން", + "settings.shortcuts.reset.toast.description": "ކީބޯޑް ޝޯޓްކަޓްތައް ޑިފޯލްޓްތަކަށް ރީސެޓްކޮށްފައިވެއެވެ.", + "settings.shortcuts.conflict.title": "މިހާރުވެސް ބޭނުން ކުރަމުންދާ ޝޯޓްކަޓެވެ", + "settings.shortcuts.conflict.description": "{{keybind}} މިހާރުވެސް ޙަވާލުކުރެވިފައިވަނީ {{titles}} އަށެވެ.", + "settings.shortcuts.unassigned": "ޙަވާލުނުކުރެވިގެންނެވެ", + "settings.shortcuts.pressKeys": "ކީސް އަށް ފިތާލާށެވެ", + "settings.shortcuts.search.placeholder": "ސަރޗް ޝޯޓްކަޓްސް", + "settings.shortcuts.search.empty": "ޝޯޓްކަޓެއް ނުފެނެއެވެ", + "settings.shortcuts.group.general": "އާންމު", + "settings.shortcuts.group.session": "ސެޝަން", + "settings.shortcuts.group.navigation": "ނޭވިގޭޝަން", + "settings.shortcuts.group.modelAndAgent": "މޮޑެލް އަދި އޭޖެންޓެވެ", + "settings.shortcuts.group.terminal": "ޓާމިނަލް އެވެ", + "settings.shortcuts.group.prompt": "ޕްރޮމްޕްޓް", + "settings.providers.title": "ޕްރޮވައިޑަރުން", + "settings.providers.description": "ޕްރޮވައިޑަރ ސެޓިންގސް މިތަނުގައި ކޮންފިގްރޭޓް ކުރެވޭނެއެވެ.", + "settings.providers.section.connected": "ގުޅިފައިވާ ޕްރޮވައިޑަރުންނެވެ", + "settings.providers.connected.empty": "ގުޅިފައިވާ ޕްރޮވައިޑަރުންތަކެއް ނެތެވެ", + "settings.providers.connected.environmentDescription": "ތިބާގެ މާހައުލުގެ ވެރިއޭބަލްތަކުން ގުޅިފައިވެއެވެ", + "settings.providers.section.popular": "މަޝްހޫރު ޕްރޮވައިޑަރުންނެވެ", + "settings.providers.custom.description": "ބޭސް URL އިން OpenAI އާއި އެއްގޮތްވާ ޕްރޮވައިޑަރެއް އިތުރުކުރުން.", + "settings.providers.tag.environment": "މާޙައުލު", + "settings.providers.tag.config": "ކޮންފިގް", + "settings.providers.tag.custom": "ސަޤާފަތް", + "settings.providers.tag.other": "އެހެން", + "settings.models.title": "މޮޑެލްތަކެވެ", + "settings.models.description": "މޮޑެލް ސެޓިންގސް މިތަނުގައި ކޮންފިގްރޭޓް ކުރެވޭނެއެވެ.", + "settings.agents.title": "އޭޖެންޓުންނެވެ", + "settings.agents.description": "އޭޖެންޓް ސެޓިންގސް މިތަނުގައި ކޮންފިގްރޭޓް ކުރެވޭނެއެވެ.", + "settings.commands.title": "އަމުރުތަކެވެ", + "settings.commands.description": "ކޮމާންޑް ސެޓިންގސް މިތަނުގައި ކޮންފިގްރޭޓް ކުރެވޭނެއެވެ.", + "settings.mcp.title": "MCP އެވެ", + "settings.mcp.description": "MCP ސެޓިންގސް މިތަނުގައި ކޮންފިގްރޭޓް ކުރެވޭނެއެވެ.", + "settings.permissions.title": "ހުއްދަތައް", + "settings.permissions.description": "ސަރވަރ އަށް ޑިފޯލްޓްކޮށް ބޭނުންކުރެވޭނީ ކޮން ޓޫލްތަކެއްކަން ކޮންޓްރޯލްކުރުން.", + "settings.permissions.section.tools": "ސާމާނުތައް", + "settings.permissions.toast.updateFailed.title": "ހުއްދަތައް އަޕްޑޭޓް ނުކުރެވުނެވެ", + "settings.permissions.action.allow": "ހުއްދަ ދިނުން", + "settings.permissions.action.ask": "އެހުން", + "settings.permissions.action.deny": "ދޮގުކުރުން", + "settings.permissions.tool.read.title": "ކިޔުން", + "settings.permissions.tool.read.description": "ފައިލެއް ކިޔުން (ފައިލް މަގާއި އެއްގޮތްވާ)", + "settings.permissions.tool.edit.title": "ބަދަލު ގެނައުން", + "settings.permissions.tool.edit.description": + "އެޑިޓްކުރުމާއި، ލިޔުންތަކާއި، ޕެޗްތައް ހިމެނޭ ގޮތަށް ފައިލްތައް ބަދަލުކުރުން", + "settings.permissions.tool.glob.title": "ގްލޯބް އެވެ", + "settings.permissions.tool.glob.description": "ގްލޯބް ޕެޓަރންސް ބޭނުންކޮށްގެން ފައިލްތައް މެޗްކުރުން", + "settings.permissions.tool.grep.title": "ގްރެޕް އެވެ", + "settings.permissions.tool.grep.description": "ރެގިއުލާ އެކްސްޕްރެޝަންސް ބޭނުންކޮށްގެން ފައިލް ކޮންޓެންޓްސް ހޯދުން", + "settings.permissions.tool.list.title": "ލިސްޓް", + "settings.permissions.tool.list.description": "ޑައިރެކްޓަރީއެއްގެ ތެރޭގައި ފައިލްތައް ލިސްޓްކުރުން", + "settings.permissions.tool.bash.title": "ބާޝް", + "settings.permissions.tool.bash.description": "ޝެލް ކޮމާންޑްތައް ހިންގާށެވެ", + "settings.permissions.tool.task.title": "މަސައްކަތެއް", + "settings.permissions.tool.task.description": "ސަބް އޭޖެންޓުން ލޯންޗުކުރުން", + "settings.permissions.tool.skill.title": "ހުނަރު", + "settings.permissions.tool.skill.description": "ނަމުން ހުނަރެއް ލޯޑް ކުރާށެވެ", + "settings.permissions.tool.lsp.title": "LSP އެވެ", + "settings.permissions.tool.lsp.description": "ލޭންގުއޭޖް ސަރވަރ ކިއުއަރީތައް ހިންގުން", + "settings.permissions.tool.todowrite.title": "ޓޯޑޯ ރައިޓް", + "settings.permissions.tool.todowrite.description": "ޓޯޑޯ ލިސްޓް އަޕްޑޭޓް ކުރާށެވެ", + "settings.permissions.tool.webfetch.title": "ވެބް ފެޗް", + "settings.permissions.tool.webfetch.description": "URL އިން ކޮންޓެންޓް ހޯދުން", + "settings.permissions.tool.websearch.title": "ވެބް ސަރޗް", + "settings.permissions.tool.websearch.description": "ވެބްގައި ހޯދާށެވެ", + "settings.permissions.tool.external_directory.title": "އެކްސްޓަރނަލް ޑައިރެކްޓަރީ", + "settings.permissions.tool.external_directory.description": + "ޕްރޮޖެކްޓް ޑައިރެކްޓަރީން ބޭރުގައި ހުންނަ ފައިލްތަކަށް ވަދެވޭނެއެވެ", + "settings.permissions.tool.doom_loop.title": "ޑޫމް ލޫޕް އެވެ", + "settings.permissions.tool.doom_loop.description": "އެއްގޮތް އިންޕުޓެއް އެކުލެވޭ ތަކުރާރުކޮށް ޓޫލް ކޯލްތައް ހޯދުން", + "session.delete.failed.title": "ސެޝަން ޑިލީޓް ކުރަން ނާކާމިޔާބުވިއެވެ", + "session.delete.title": "ސެޝަން ފުހެލުން", + "session.delete.confirm": 'ސެޝަން "{{name}}" ފުހެލަންތަ؟', + "session.delete.button": "ސެޝަން ފުހެލުން", + "workspace.new": "އާ ވޯކްސްޕޭސް", + "workspace.type.local": "ލޯކަލް", + "workspace.type.sandbox": "ސޭންޑްބޮކްސް އެވެ", + "workspace.create.failed.title": "ވޯކްސްޕޭސް އުފެއްދުމަށް ނާކާމިޔާބުވިއެވެ", + "workspace.delete.failed.title": "ވޯކްސްޕޭސް ޑިލީޓް ނުކުރެވުނެވެ", + "workspace.resetting.title": "ވޯކްސްޕޭސް ރީސެޓްކުރުން", + "workspace.resetting.description": "މިކަމަށް މިނިޓެއް ނަގާފާނެއެވެ.", + "workspace.reset.failed.title": "ވޯކްސްޕޭސް ރީސެޓް ނުކުރެވުނެވެ", + "workspace.reset.success.title": "ވޯކްސްޕޭސް ރީސެޓް ކުރުން", + "workspace.reset.success.description": "ވޯކްސްޕޭސް މިހާރު ޑިފޯލްޓް ބްރާންޗާ ދިމާވެއެވެ.", + "workspace.error.stillPreparing": "ވޯކްސްޕޭސް އަދިވެސް ދަނީ ތައްޔާރުވަމުންނެވެ", + "workspace.status.checking": "އެއް ނުކުރެވި ހުރި ބަދަލުތައް ޗެކް ކުރަމުން...", + "workspace.status.error": "ގިޓް ސްޓޭޓަސް ޔަގީން ނުކުރެވެއެވެ.", + "workspace.status.clean": "އެއްނުވާ ބަދަލެއް ފާހަގަކުރެވިފައެއް ނުވެއެވެ.", + "workspace.status.dirty": "މި ވޯކްސްޕޭސްގައި ފާހަގަ ނުކުރެވި ހުރި ބަދަލުތައް.", + "workspace.delete.title": "ވޯކްސްޕޭސް ފުހެލުން", + "workspace.delete.confirm": 'ވޯކްސްޕޭސް "{{name}}" ފުހެލަންތަ؟', + "workspace.delete.button": "ވޯކްސްޕޭސް ފުހެލުން", + "workspace.reset.title": "ވޯކްސްޕޭސް ރީސެޓްކުރުން", + "workspace.reset.confirm": 'ވޯކްސްޕޭސް "{{name}}" ރީސެޓްކުރުން؟', + "workspace.reset.button": "ވޯކްސްޕޭސް ރީސެޓްކުރުން", + "workspace.reset.archived.none": "އެއްވެސް އެކްޓިވް ސެޝަނެއް އަރުޝީފް ނުކުރެވޭނެއެވެ.", + "workspace.reset.archived.one": "1 ސެޝަން އަރުޝީފް ކުރެވޭނެއެވެ.", + "workspace.reset.archived.many": "{{count}} ސެޝަންތައް އަރުޝީފް ކުރެވޭނެއެވެ.", + "workspace.reset.note": "މިއީ ޑިފޯލްޓް ބްރާންޗާ އެއްގޮތްވާ ގޮތަށް ވޯކްސްޕޭސް ރީސެޓް ކުރާނެ ކަމެކެވެ.", + "dialog.usageExceeded.dontShowAgain": "އަލުން ނުދައްކާ", +} diff --git a/packages/app/src/i18n/dz.ts b/packages/app/src/i18n/dz.ts new file mode 100644 index 000000000000..3b2ad46ca304 --- /dev/null +++ b/packages/app/src/i18n/dz.ts @@ -0,0 +1,1181 @@ +export const dict: Record = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "ཡིག༌སྣོད", + "desktop.menu.edit": "ཞུན༌དག", + "desktop.menu.view": "བསམ༌འཆར", + "desktop.menu.go": "འགྱོ", + "desktop.menu.window": "སྒོང༌སྒྲིག", + "desktop.menu.help": "ཆ་རོགས་འབད་ནི", + "desktop.menu.checkForUpdates": "དུས་མཐུན་ཚུ་གི་དོན་ལུ་ཞིབ་དཔྱད་འབད།", + "desktop.menu.settings": "སྒྲིག་སྟངས་ཚུ།", + "desktop.menu.reloadWebview": "ཡང་བསྐྱར་མངོན་གསལ་ Webview།", + "desktop.menu.restart": "ལོག་འགོ་བཙུགས།", + "desktop.menu.exportLogs": "ཕྱིར་འདྲེན་དྲན་ཐོ་...", + "desktop.menu.newSession": "ལཱ་ཡུན་གསརཔ།", + "desktop.menu.openProject": "ལས་འགུལ་ཁ་ཕྱེ།...", + "desktop.menu.newWindow": "སྒོ་སྒྲིག་གསརཔ།", + "desktop.menu.closeWindow": "སྒོ་སྒྲིག་ཁ་བསྡམས།", + "desktop.menu.undo": "འབད་བཤོལ་འབད།", + "desktop.menu.redo": "ཡང་བསྐྱར་འབད།", + "desktop.menu.cut": "བཏོག་ནི", + "desktop.menu.copy": "འདྲ་བཤུས།", + "desktop.menu.paste": "སྦྱར།", + "desktop.menu.delete": "བཏོན༌གཏང༌བ", + "desktop.menu.selectAll": "ཆ་མཉམ་སེལ་འཐུ་འབད།", + "desktop.menu.toggleSidebar": "ཟུར་ཁའི་ཕྲ་རིང་སོར་སྟོན་འབད།", + "desktop.menu.toggleTerminal": "ཊར་མི་ནཱལ་སོར་སྟོན་འབད།", + "desktop.menu.toggleFileTree": "ཡིག་སྣོད་ཤིང་སོར་སྟོན་འབད།", + "desktop.menu.reload": "ཡང་བསྐྱར་མངོན་གསལ།", + "desktop.menu.toggleDeveloperTools": "གོང་འཕེལ་གཏང་མིའི་ལག་ཆས་ཚུ་ སོར་སྟོན་འབད།", + "desktop.menu.actualSize": "ཚད་ངོ་མ།", + "desktop.menu.zoomIn": "རྒྱས་ཟུམ།", + "desktop.menu.zoomOut": "རྒྱས་ཟུམ།", + "desktop.menu.toggleFullScreen": "གསལ་གཞི་ཆ་ཚང་སོར་བསྒྱུར་འབད།", + "desktop.menu.back": "ལོག་འོང་ནི", + "desktop.menu.forward": "གྲོགས༌རམ༌འབད༌ནི", + "desktop.menu.previousSession": "ཧེ་མའི་ལཱ་ཡུན།", + "desktop.menu.nextSession": "ལཱ་ཡུན་ཤུལ་མམ།", + "desktop.menu.previousProject": "ལས་གཞི་སྔོན་མ།", + "desktop.menu.nextProject": "ལས་གཞི་རྗེས་མ།", + "desktop.menu.minimize": "ཉུང་ཉུང་བཟོ།", + "desktop.menu.maximize": "ཆེར་བསྐྱེད་འབད།", + "desktop.menu.documentation": "OpenCode ཡིག་ཆ།", + "desktop.menu.supportForum": "རྒྱབ་སྐྱོར་གླེང་སྟེགས།", + "desktop.menu.shareFeedback": "བསམ་འཆར་བརྗེ་རེས།", + "desktop.menu.reportBug": "རྐྱེན་ཅིག་སྙན་ཞུ་འབད།", + "desktop.menu.ariaLabel": "OpenCode དཀར་ཆག།", + "desktop.updater.dialog.checkFailed.message": "དུས་མཐུན་ཞིབ་དཔྱད་འཐུས་ཤོར་འབྱུང་ཡོདཔ།", + "desktop.updater.dialog.checkFailed.title": "དུས་མཐུན་འཛོལ་བ།", + "desktop.updater.dialog.upToDate.message": "ཁྱོད་དུས་དང་བསྟུན།", + "desktop.updater.dialog.upToDate.title": "དུས་མཐུན་མེད།", + "desktop.updater.dialog.ready.message": "དུས་མཐུན་ {{version}} ཕབ་ལེན་འབད་ཡོདཔ། ད་ལྟོ་ལོག་འགོ་བཙུགས?", + "desktop.updater.dialog.ready.title": "དུས་མཐུན་བཟོ་ནི་གྲ་སྒྲིག།", + "desktop.updater.dialog.restart": "ལོག་འགོ་བཙུགས།", + "desktop.updater.dialog.later": "ཤུལ་ལས", + "desktop.recovery.action.relaunch": "བསྐྱར་འགོ་བཙུགས།", + "desktop.recovery.action.exportLogs": "ཕྱིར་འདྲེན་དྲན་དེབ་ཚུ།", + "desktop.recovery.action.keepWaiting": "བསྒུག་སྡོད།", + "desktop.recovery.action.quit": "བཞག༌ནི", + "desktop.recovery.loadFailed": "OpenCode མངོན་གསལ་འབད་ནི་ལུ་འཐུས་ཤོར་བྱུང་ཡོདཔ།", + "desktop.recovery.terminated": "OpenCode སྒོ་སྒྲིག་འདི་ རེ་བ་མེད་པར་ མཇུག་བསྡུ་ཡོདཔ།", + "desktop.recovery.unresponsive": "OpenCodeགིས་ ལན་གསལ་འབད་མི་བཏུབ།", + "desktop.recovery.unresponsive.detail": + "ཁྱོད་ཀྱིས་གློག་རིམ་འདི་ལོག་སྟེ་འགོ་བཙུགས་ཚུགས། དྲན་ཐོ་ཚུ་ཁ་ཕྱེ་ཚུགས། ཡང་ན་བསྒུག་སྡོད་ཚུགས།", + "desktop.recovery.loadFailed.detail": "སྒོ་སྒྲིག་: {{window}}\nURL: {{url}}\nའཛོལ་བ་: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "སྒོ་སྒྲིག་: {{window}}\nརྒྱུ་མཚན་: {{reason}}\nཨང་རྟགས་: {{code}}", + "desktop.recovery.unknown": "<མ་ཤེས་པ>", + "desktop.dialog.chooseFolder": "སྣོད་འཛིན་ཅིག་གདམ་ཁ་རྐྱབས།", + "desktop.dialog.chooseFile": "ཡིག་སྣོད་གདམ་ཁ་རྐྱབས།", + "desktop.dialog.saveFile": "ཡིག་སྣོད་སྲུངས།", + "desktop.dialog.files": "ཡིག་སྣོད་ཚུ།", + "desktop.server.local": "ཉེ་གནས་སར་བར།", + "desktop.wsl.error.windowsOnly": "WSLའདི་ Windowsནང་རྐྱངམ་ཅིག་འཐོབ་ཚུགས།", + "desktop.wsl.error.unavailable": "WSL ཐོབ་མི་ཚུགས།", + "desktop.wsl.error.listInstalled": "གཞི་བཙུགས་འབད་ཡོད་མི་ WSL ཌིསི་ཊོ་ཚུ་ཐོ་ཡིག་འབད་ནི་ལུ་འཐུས་ཤོར་འབྱུང་ཡོདཔ།", + "desktop.wsl.error.listOnline": "ཡོངས་འབྲེལ་ཐོག་ལས་ WSL ཌིསི་ཊོ་ཚུ་ཐོ་བཀོད་འབད་ནི་ལུ་འཐུས་ཤོར་འབྱུང་ཡོདཔ།", + "desktop.wsl.error.executeDistro": "ཌིསི་ཊོ་ནང་བརྡ་བཀོད་ཚུ་ལག་ལེན་འཐབ་མི་ཚུགས།", + "desktop.wsl.error.installWsl": "WSLགཞི་བཙུགས་འཐུས་ཤོར་བྱུང་ཡོདཔ།", + "desktop.wsl.error.installDistro": "ཌིསི་ཊོ་གཞི་བཙུགས་འབད་ནི་ལུ་འཐུས་ཤོར་བྱུང་ཡོདཔ།: {{distro}}", + "desktop.wsl.error.installOpencode": "OpenCodeགཞི་བཙུགས་འཐུས་ཤོར་འབྱུང་ཡོདཔ།", + "desktop.wsl.error.alreadyAdded": "{{distro}} འདི་ ཧེ་མ་ལས་རང་ཁ་སྐོང་བརྐྱབ་ཟིན།", + "desktop.wsl.error.opencodeMissing": "ཌིསི་ཊོ་འདི་ནང་ opencode གཞི་བཙུགས་མ་འབད་བས།", + "desktop.wsl.error.opencodeCannotRun": "opencode འདི་གཞི་བཙུགས་འབད་ཡོད་རུང་ གཡོག་བཀོལ་མ་ཚུགས།", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode འདི་ {{distro}} ནང་གཞི་བཙུགས་མ་འབད་བས།", + "desktop.wsl.error.updateVersion": + "OpenCode དུས་མཐུན་བཟོ་ཚར་ཡི་ དེ་འབདཝ་ད་ {{distro}}གིས་ ད་ལྟོ་ཡང་ {{installed}} སྙན་ཞུ་འབདཝ་ཨིན། རེ་བ་བསྐྱེད་པའི་ {{expected}}", + "desktop.wsl.error.noVersion": "ཐོན་རིམ་མེད།", + "desktop.wsl.error.serverExited": + "WSL སར་བར་འདི་ འགོ་བཙུགས་པའི་ཤུལ་ལས་ ཕྱིར་འཐོན་འབད་ཡོདཔ་ཨིན་ (ཨང་རྟགས་={{code}} བརྡ་རྟགས་={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL སར་བར་འདི་ གསོ་བའི་ཧེ་མ་ ཕྱིར་འཐོན་འབད་ཡོདཔ་ཨིན་ (ཨང་རྟགས་={{code}} བརྡ་རྟགས་={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": + "{{timeout}}ms གི་ཤུལ་ལས་ {{distro}} གི་དོན་ལུ་ ཟུར་འཁོར་འདི་ གསོ་བའི་བརྟག་དཔྱད་དུས་ཚོད་རྫོགས་སོངཔ་ཨིན།", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} {{timeout}}ms གི་ཤུལ་ལས་ དུས་ཚོད་རྫོགས་སོང།", + "desktop.wsl.error.failedPort": "འདྲེན་ལམ་ཐོབ་ནི་ལུ་འཐུས་ཤོར་འབྱུང་ཡོདཔ།", + "desktop.picker.error.notSelected": "ཡིག་སྣོད་འདི་ སེལ་འཐུ་འབད་མི་གིས་ སེལ་འཐུ་མ་འབད་བས།", + "desktop.picker.error.sizeLimit": "སེལ་འཐུ་འབད་ཡོད་པའི་མཉམ་སྦྲགས་ཚུ་གིས་ {{limit}} ཨེམ་བི་ཚད་ལས་བརྒལཝ་ཨིན།", + "command.category.suggested": "བསམ་འཆར།", + "command.category.view": "བསམ༌འཆར", + "command.category.project": "ལས༌འགུལ", + "command.category.provider": "བྱིན་མི།", + "command.category.server": "སར་བར།", + "command.category.session": "ལཱ་ཡུན།", + "command.category.theme": "བརྗོད༌དོན", + "command.category.language": "སྐད༌ཡིག", + "command.category.file": "ཡིག༌སྣོད", + "command.category.context": "སྐབས་དོན།", + "command.category.terminal": "ཊར་མི་ནཱལ།", + "command.category.model": "དཔེ་ཚད།", + "command.category.mcp": "MCP།", + "command.category.agent": "ལས་ཚབ།", + "command.category.permissions": "གནང་བ་ཚུ།", + "command.category.workspace": "ལཱ་གི་ས་སྒོ།", + "command.category.settings": "སྒྲིག་སྟངས་ཚུ།", + "command.logs.export": "ཕྱིར་འདྲེན་དྲན་དེབ་ཚུ།", + "theme.scheme.system": "ལམ༌ལུགས", + "theme.scheme.light": "ཡང་འཕྲོས་འཕྲོས", + "theme.scheme.dark": "གནག་དུང་དུ", + "command.sidebar.toggle": "ཟུར་ཁའི་ཕྲ་རིང་སོར་སྟོན་འབད།", + "command.project.open": "ལས་གཞི་ཁ་ཕྱེ།", + "command.project.previous": "ལས་གཞི་སྔོན་མ།", + "command.project.next": "ལས་གཞི་རྗེས་མ།", + "command.project.index": "ལས་འགུལ་ {{index}} ལུ་སོར་བསྒྱུར་འབད།", + "command.provider.connect": "བྱིན་མི་མཐུད།", + "command.server.switch": "སར་བར་སོར་བསྒྱུར་འབད།", + "command.settings.open": "སྒྲིག་སྟངས་ཁ་ཕྱེ།", + "command.session.previous": "ཧེ་མའི་ལཱ་ཐེངས།", + "command.session.next": "ལཱ་ཡུན་ཤུལ་མམ།", + "command.session.previous.unseen": "ཧེ་མའི་མ་ལྷག་པའི་ལཱ་ཡུན།", + "command.session.next.unseen": "ལྷག་མ་ཚར་བའི་ལཱ་ཡུན་ཤུལ་མམ།", + "command.session.archive": "ཡིག་མཛོད་ལཱ་ཡན།", + "command.palette": "བརྡ་བཀོད་པེ་ལེཊི།", + "command.theme.cycle": "འཁོར་བའི་བརྗོད་གཞི།", + "command.theme.set": "བརྗོད་དོན་ལག་ལེན་འཐབ།: {{theme}}", + "command.theme.scheme.cycle": "འཁོར་བའི་ཚོས་གཞིའི་འཆར་གཞི།", + "command.theme.scheme.set": "ཚོས་གཞིའི་ལས་འཆར་ལག་ལེན་འཐབ།: {{scheme}}", + "command.language.cycle": "འཁོར་བའི་སྐད་ཡིག།", + "command.language.set": "སྐད་ཡིག་ལག་ལེན་འཐབ།: {{language}}", + "command.session.new": "ལཱ་ཡུན་གསརཔ།", + "command.file.open": "ཡིག་སྣོད་ཁ་ཕྱེ།", + "command.tab.close": "མཆོང་ལྡེ་ཁ་བསྡམས།", + "command.tab.reopenClosed": "ཁ་བསྡམས་ཡོད་པའི་མཆོང་ལྡེ་ལོག་ཁ་ཕྱེ།", + "command.context.addSelection": "སྐབས་དོན་ལུ་སེལ་འཐུ་ཁ་སྐོང་རྐྱབས།", + "command.context.addSelection.description": "ད་ལྟོའི་ཡིག་སྣོད་ལས་སེལ་འཐུ་འབད་ཡོད་པའི་གྲལ་ཐིག་ཚུ་ཁ་སྐོང་རྐྱབས།", + "command.input.focus": "ཆེད་དམིགས་ཨིན་པུཊི།", + "command.terminal.toggle": "ཊར་མི་ནཱལ་སོར་བསྒྱུར་འབད།", + "command.fileTree.toggle": "ཡིག་སྣོད་ཤིང་སོར་སྟོན་འབད།", + "command.review.toggle": "བསྐྱར་ཞིབ་སོར་སྟོན་འབད།", + "command.terminal.new": "ཊར་མི་ནཱལ་གསརཔ།", + "command.terminal.new.description": "ཊར་མི་ནཱལ་མཆོང་ལྡེ་གསརཔ་ཅིག་གསར་བསྐྲུན་འབད།", + "command.steps.toggle": "གོམ་པ་སོར་བསྒྱུར་འབད།", + "command.steps.toggle.description": "ད་ལྟོའི་འཕྲིན་དོན་གྱི་དོན་ལུ་ གོམ་པ་སྟོན་ཡང་ན་སྦ།", + "command.message.previous": "ཧེ་མའི་བརྡ་འཕྲིན།", + "command.message.previous.description": "ཧེ་མའི་ལག་ལེན་པའི་འཕྲིན་དོན་ལུ་འགྱོ།", + "command.message.next": "འཕྲིན་དོན།", + "command.message.next.description": "ལག་ལེན་པའི་འཕྲིན་དོན་ཤུལ་མམ་ལུ་འགྱོ།", + "command.model.choose": "དཔེ་ཚད་གདམ་ཁ་རྐྱབས།", + "command.model.choose.description": "དཔེ་ཚད་སོ་སོ་ཅིག་སེལ་འཐུ་འབད།", + "command.mcp.toggle": "MCPsསོར་སྟོན་འབད།", + "command.mcp.toggle.description": "MCPsསོར་སྟོན་འབད།", + "command.agent.cycle": "ལས་ཚབ་ཤུལ་མམ།", + "command.agent.cycle.description": "ཤུལ་མམ་གྱི་ལས་ཚབ་ལུ་སོར་བསྒྱུར་འབད།", + "command.agent.cycle.reverse": "རྐང་འཁོར་ལས་ཚབ་རྒྱབ་ལུ་བསྒྱུར།", + "command.agent.cycle.reverse.description": "ཧེ་མའི་ལས་ཚབ་ལུ་སོར་བསྒྱུར་འབད།", + "command.model.variant.cycle": "འཁོར་སྐྱོད་བསམ་བློའི་འབད་བརྩོན།", + "command.model.variant.cycle.description": "འབད་བརྩོན་གནས་རིམ་ཤུལ་མམ་ལུ་སོར་བསྒྱུར་འབད།", + "command.prompt.mode.shell": "Shell", + "command.prompt.mode.normal": "འདི་འཕྲོ་ལས", + "command.permissions.autoaccept.enable": "རང་བཞིན་ངོས་ལེན་གནང་བ་ཚུ།", + "command.permissions.autoaccept.disable": "རང་བཞིན་དང་ལེན་གནང་བ་ཚུ་བཀག།", + "command.workspace.toggle": "ལཱ་གི་ས་སྒོ་ཚུ་སོར་སྟོན་འབད།", + "command.workspace.toggle.description": "ཟུར་ཁའི་ཕྲ་རིང་ནང་ལཱ་གི་ས་སྒོ་སྣ་མང་ལྕོགས་ཅན་ཡང་ན་ལྕོགས་མིན་བཟོ།", + "command.session.undo": "འབད་བཤོལ་འབད།", + "command.session.undo.description": "མཇུག་གི་འཕྲིན་དོན་ རྒྱབ་བཤུད་འབད།", + "command.session.redo": "ཡང་བསྐྱར་འབད།", + "command.session.redo.description": "མཐའ་མཇུག་གི་འབད་བཤོལ་འབད་ཡོད་པའི་འཕྲིན་དོན་འདི་ལོག་འབད།", + "command.session.compact": "ལཱ་ཡུན་བསྡུ་སྒྲིག་འབད་ནི།", + "command.session.compact.description": "སྐབས་དོན་གྱི་ཚད་མར་ཕབ་འབད་ནིའི་དོན་ལུ་ ལཱ་ཡུན་བཅུད་བསྡུས།", + "command.session.fork": "འཕྲིན་དོན་ལས་ཕོརཀ།", + "command.session.fork.description": "ཧེ་མའི་འཕྲིན་དོན་ལས་ ལཱ་ཡུན་གསརཔ་ཅིག་གསར་བསྐྲུན་འབད།", + "command.session.share": "བརྗེ་སོར་གྱི་ལཱ་ཡུན།", + "command.session.share.description": "ལཱ་ཡུན་འདི་རུབ་སྤྱོད་འབད་ཞིནམ་ལས་ URLའདི་འཛིན་པང་ལུ་འདྲ་བཤུས་རྐྱབས།", + "command.session.unshare": "ལཱ་ཡུན་བགོ་བཤའ་རྐྱབ།", + "command.session.unshare.description": "ལཱ་ཡུན་འདི་བརྗེ་སོར་འབད་ནི་འདི་བཀག།", + "command.session.export": "ལཱ་ཡུན་ཕྱིར་འདྲེན་འབད་ནི།", + "command.session.export.description": "ལཱ་ཡུན་ཡིག་བསྒྱུར་ཆ་ཚང་འདི་ JSON སྦེ་ཕྱིར་འདྲེན་འབད།", + "palette.search.placeholder": "ཡིག་སྣོད་དང་བརྡ་བཀོད་ དེ་ལས་ལཱ་ཡུན་ཚུ་འཚོལ་ཞིབ་འབད།", + "palette.search.placeholder.home": "བརྡ་བཀོད་དང་ལཱ་ཡུན་ཚུ་འཚོལ་ཞིབ་འབད།", + "palette.empty": "གྲུབ་འབྲས་གང་ཡང་མ་ཐོབ།", + "palette.group.commands": "བརྡ་བཀོད་ཚུ།", + "palette.group.files": "ཡིག་སྣོད་ཚུ།", + "dialog.provider.search.placeholder": "འཚོལ་ཞིབ་བྱིན་མི་ཚུ།", + "dialog.provider.empty": "བྱིན་མི་འཚོལ་མ་ཐོབ།", + "dialog.provider.group.popular": "ཡོངས༌གྲགས", + "dialog.provider.group.other": "གཞན", + "dialog.provider.custom.label": "སྲོལ་སྒྲིག OpenAI-མཐུན་འགྱུར་སྤྲོད་མཁན།", + "dialog.provider.tag.recommended": "རྒྱབ་སྣོན་འབད་ཡི", + "dialog.provider.opencode.note": "Claude དང་ GPT དེ་ལས་ Gemini དང་དེ་ལས་ལྷག་སྟེ་ བཀོད་སྒྲིག་འབད་ཡོད་པའི་དཔེ་ཚད།", + "dialog.provider.opencode.tagline": "བློ་གཏད་ཅན་གྱི་ཡར་རྒྱས་ཅན་གྱི་དཔེ་ཚད་ཚུ།", + "dialog.provider.opencodeGo.tagline": "མི་ཚང་མའི་དོན་ལུ་ གོང་ཚད་དམའ་བའི་ མཁོ་མངགས་འབད་ནི།", + "dialog.provider.anthropic.note": "པྲོ་དང་མེགསི་ཚུ་རྩིས་ཏེ་ Claudeདཔེ་ཚད་ཚུ་ལུ་ཐད་ཀར་དུ་འཛུལ་སྤྱོད།", + "dialog.provider.copilot.note": "GitHub Copilot བརྒྱུད་དེ་ ཀོ་ཌིང་གྲོགས་རམ་གྱི་དོན་ལུ་ AI དཔེ་ཚད།", + "dialog.provider.openai.note": "GPT མགྱོགས་དྲགས་དང་ལྕོགས་གྲུབ་ཅན་གྱི་སྤྱིར་བཏང་ཨེ་ཨའི་ལས་འགན་ཚུ་གི་དོན་ལུ་དཔེ་ཚད།", + "dialog.provider.google.note": "Gemini མགྱོགས་དྲགས་དང་སྒྲིག་བཀོད་ཅན་གྱི་ལན་འདེབས་ཀྱི་དཔེ་ཚད།", + "dialog.provider.openrouter.note": "བྱིན་མི་གཅིག་ལས་ རྒྱབ་སྐྱོར་འབད་ཡོད་པའི་དཔེ་ཚད་ཚུ་ཆ་མཉམ་འཛུལ་སྤྱོད་འབད།", + "dialog.provider.vercel.note": + "རིག་རྩལ་ཅན་གྱི་འགྲུལ་ལམ་དང་གཅིག་ཁར་ བཅོས་མའི་བློ་རིག་དཔེ་ཚད་ཚུ་ལུ་ མཉམ་བསྡོམས་འཛུལ་སྤྱོད་འབད་ནི།", + "dialog.model.select.title": "དཔེ་ཚད་སེལ་འཐུ་འབད།", + "dialog.model.search.placeholder": "དཔེ་ཚད་འཚོལ་ཞིབ་འབད།", + "dialog.model.empty": "དཔེ་ཚད་གྲུབ་འབྲས་མེད།", + "dialog.model.manage": "དཔེ་ཚད་ཚུ་འཛིན་སྐྱོང་འཐབ།", + "dialog.model.manage.description": "དཔེ་ཚད་སེལ་འཐུ་འབད་མི་ནང་ དཔེ་ཚད་ག་འདི་འབྱུངམ་ཨིན་ན་ སྲོལ་སྒྲིག་འབད།", + "dialog.model.manage.provider.toggle": "{{provider}} དཔེ་ཚད་ཚུ་ཆ་མཉམ་སོར་སྟོན་འབད།", + "dialog.model.unpaid.freeModels.title": "OpenCodeགིས་བྱིན་མི་རིན་མེད་དཔེ་ཚད་ཚུ།", + "dialog.model.unpaid.addMore.title": "ཡོངས་གྲགས་ཅན་གྱི་བྱིན་མི་ཚུ་ལས་ དཔེ་ཚད་མངམ་ཁ་སྐོང་བརྐྱབ།", + "dialog.model.unpaid.viewMoreProviders": "70+ མཁོ་སྤྲོད་འབད་མི་ཚུ་བལྟ།", + "dialog.provider.viewAll": "བྱིན་མི་མངམ་སྟོན།", + "provider.connect.title": "{{provider}}མཐུད།", + "provider.connect.title.anthropicProMax": "Claude Pro/Max དང་ཅིག་ཁར་ནང་བསྐྱོན།", + "provider.connect.selectMethod": "{{provider}}གི་དོན་ལུ་ ནང་བསྐྱོད་ཐབས་ལམ་སེལ་འཐུ་འབད།", + "provider.connect.method.apiKey": "APIལྡེ་མིག།", + "provider.connect.method.browser": "བརའུ་ཟར།", + "provider.connect.method.headless": "མགོ་མེད་པ།", + "provider.connect.status.inProgress": "དབང་སྤྲོད་འབད་བའི་བསྒང་ཡོད།", + "provider.connect.status.waiting": "གནང་བ་ལུ་སྒུག་སྡོདཔ་ཨིན།", + "provider.connect.status.failed": "དབང་སྤྲོད་འཐུས་ཤོར་བྱུང་ཡོདཔ།: {{error}}", + "provider.connect.apiKey.description": + "ཁྱོད་རའི་རྩིས་ཐོ་མཐུད་ནིའི་དོན་ལུ་ ཁྱོད་རའི་ {{provider}} API ལྡེ་མིག་བཙུགས་ཞིནམ་ལས་ OpenCode ནང་ལུ་ {{provider}} དཔེ་ཚད་ཚུ་ལག་ལེན་འཐབ།", + "provider.connect.apiKey.label": "{{provider}} APIལྡེ་མིག།", + "provider.connect.apiKey.placeholder": "APIལྡེ་མིག།", + "provider.connect.apiKey.required": "APIལྡེ་མིག་དགོས་མཁོ་ཡོད།", + "provider.connect.opencodeZen.line1": + "OpenCode ཟེན་གྱིས་ཁྱོད་ལུ་ གསང་ཡིག་ལས་ཚབ་ཚུ་གི་དོན་ལུ་ བློ་གཏད་ཅན་གྱི་ཡར་འཕེལ་ཅན་གྱི་དཔེ་ཚད་ཚུ་གི་ བཀོད་སྒྲིག་འབད་ཡོད་པའི་ཆ་ཚན་ཅིག་ལུ་འཛུལ་སྤྱོད་བྱིནམ་ཨིན།", + "provider.connect.opencodeZen.line2": + "API ལྡེ་མིག་རྐྱང་པ་གཅིག་གིས་ ཁྱོད་ཀྱིས་ Claude དང་ GPT དེ་ལས་ Gemini དང་ GLM དེ་ལས་མངམ་བཟུམ་གྱི་དཔེ་ཚད་ཚུ་ལུ་འཛུལ་སྤྱོད་འབད་ཚུགས།", + "provider.connect.opencodeZen.visit.prefix": "འགྱོ་ནི", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": "ཁྱོད་རའི་ API ལྡེ་མིག་བསྡུ་ལེན་འབད་ནིའི་དོན་ལུ།", + "provider.connect.oauth.code.visit.prefix": "འགྱོ་ནི", + "provider.connect.oauth.code.visit.link": "འབྲེལ་མཐུད་འདི།", + "provider.connect.oauth.code.visit.suffix": + "ཁྱོད་རའི་རྩིས་ཐོ་མཐུད་ནིའི་དོན་ལུ་ ཁྱོད་རའི་གནང་བ་ཨང་རྟགས་བསྡུ་ལེན་འབད་ནི་དང་ OpenCode ནང་ལུ་ {{provider}} དཔེ་ཚད་ཚུ་ལག་ལེན་འཐབ་ནི།", + "provider.connect.oauth.code.label": "{{method}} དབང་སྤྲོད་ཨང་རྟགས།", + "provider.connect.oauth.code.placeholder": "དབང་སྤྲོད་ཨང་རྟགས།", + "provider.connect.oauth.code.required": "དབང་སྤྲོད་ཨང་རྟགས་དགོཔ་ཨིན།", + "provider.connect.oauth.code.invalid": "ནུས་མེད་དབང་སྤྲོད་ཨང་རྟགས།", + "provider.connect.oauth.auto.visit.prefix": "འགྱོ་ནི", + "provider.connect.oauth.auto.visit.link": "འབྲེལ་མཐུད་འདི།", + "provider.connect.oauth.auto.visit.suffix": + "དེ་ལས་ ཁྱོད་རའི་རྩིས་ཐོ་མཐུད་ནི་དང་ OpenCode ནང་ལུ་ {{provider}} དཔེ་ཚད་ཚུ་ལག་ལེན་འཐབ།", + "provider.connect.oauth.auto.confirmationCode": "ངེས་གཏན་ཨང་རྟགས།", + "provider.connect.toast.connected.title": "{{provider}}མཐུད་ཡོད།", + "provider.connect.toast.connected.description": "{{provider}} དཔེ་ཚད་ཚུ་ད་ལག་ལེན་འཐབ་བཏུབ་ཨིན།", + "provider.custom.title": "སྲོལ་སྒྲིག་བྱིན་མི།", + "provider.custom.unavailable": "སྲོལ་སྒྲིག་བྱིན་མི་ཚུ་ སར་བར་འདི་གུ་འཐོབ་མི་ཚུགས།", + "provider.custom.description.prefix": "OpenAI-མཐུན་འགྱུར་ཅན་གྱི་བྱིན་མི་ཅིག་རིམ་སྒྲིག་འབད། བལྟ།", + "provider.custom.description.link": "བྱིན་མི་རིམ་སྒྲིག་ཡིག་ཆ།", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "བྱིན་མི་ཨའི་ཌི།", + "provider.custom.field.providerID.placeholder": "ངེ་གི་བྱིན་མི།", + "provider.custom.field.providerID.description": "ཆུང་ཡིག་གི་ཡི་གུ་ ཨང་གྲངས་ སྦྲེལ་རྟགས་ ཡང་ན་ འོག་ཐིག་ཚུ།", + "provider.custom.field.name.label": "བཀྲམ་སྟོན་མིང་།", + "provider.custom.field.name.placeholder": "ངའི་ཨེ་ཨའི་སྤྲོད་མཁན།", + "provider.custom.field.baseURL.label": "གཞི་རྟེན་ URL།", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "APIལྡེ་མིག།", + "provider.custom.field.apiKey.placeholder": "APIལྡེ་མིག།", + "provider.custom.field.apiKey.description": + "གདམ་ཁ་ཅན། ཁྱོད་ཀྱིས་མགོ་ཡིག་ཚུ་བརྒྱུད་དེ་ བདེན་བཤད་འཛིན་སྐྱོང་འཐབ་པ་ཅིན་ སྟོངམ་བཞག།", + "provider.custom.models.label": "དཔེ་ཚད།", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "དཔེ་ཚད་-ཨའི་ཌི།", + "provider.custom.models.name.label": "མིང", + "provider.custom.models.name.placeholder": "བཀྲམ་སྟོན་མིང་།", + "provider.custom.models.remove": "དཔེ་ཚད་རྩ་བསྐྲད་གཏང་།", + "provider.custom.models.add": "དཔེ་ཚད་ཁ་སྐོང་འབད།", + "provider.custom.headers.label": "མགོ་ཡིག་ཚུ་ (གདམ་ཁ་ཅན་)།", + "provider.custom.headers.key.label": "མགོ་ཡིག།", + "provider.custom.headers.key.placeholder": "མགོ་ཡིག་-མིང་།", + "provider.custom.headers.value.label": "རིན་གོང", + "provider.custom.headers.value.placeholder": "རིན་གོང་", + "provider.custom.headers.remove": "མགོ་ཡིག་རྩ་བསྐྲད་གཏང་།", + "provider.custom.headers.add": "མགོ་ཡིག་ཁ་སྐོང་འབད།", + "provider.custom.error.providerID.required": "བྱིན་མི་ཨའི་ཌི་དགོཔ་ཨིན།", + "provider.custom.error.providerID.format": "ཆུང་ཡིག་ཡི་གུ་ ཨང་གྲངས་ སྦྲེལ་རྟགས་ ཡང་ན་ འོག་ཐིག་ཚུ་ལག་ལེན་འཐབ།", + "provider.custom.error.providerID.exists": "བྱིན་མི་ཨའི་ཌི་དེ་ཧེ་མ་ལས་རང་ཡོདཔ་ཨིན།", + "provider.custom.error.name.required": "བཀྲམ་སྟོན་མིང་དགོཔ་ཨིན།", + "provider.custom.error.baseURL.required": "གཞི་རྟེན་ URLའདི་དགོཔ་ཨིན།", + "provider.custom.error.baseURL.format": "http:// ཡང་ན་ https:// ལས་འགོ་བཙུགས་དགོ།", + "provider.custom.error.required": "དགོས་མཁོ", + "provider.custom.error.duplicate": "འདྲ་བཤུས།", + "provider.disconnect.toast.disconnected.title": "{{provider}} མཐུད་ལམ་ཆད་ཡོདཔ།", + "provider.disconnect.toast.disconnected.description": "{{provider}} དཔེ་ཚད་ཚུ་ད་ལས་ཕར་འཐོབ་མི་ཚུགས།", + "model.tag.free": "རིན་མེད་སྟོང་པ", + "model.tag.latest": "ད༌རེས༌ནངས༌པ", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI།", + "model.provider.meta": "Meta།", + "model.input.text": "ཡིག༌གུ༌", + "model.input.image": "པར་", + "model.input.audio": "སྒྲ།", + "model.input.video": "གློག༌བརྙན༌", + "model.input.pdf": "pdf .", + "model.tooltip.allows": "འབད་བཅུགཔ་ཨིན་: {{inputs}}", + "model.tooltip.context.label": "སྐབས་དོན།", + "model.tooltip.inputs": "ཨིན་པུཊི་ཚུ།", + "model.tooltip.model": "དཔེ་ཚད།", + "model.tooltip.provider": "བྱིན་མི།", + "model.tooltip.reasoning": "རྒྱུ་མཚན།", + "model.tooltip.reasoning.allowed": "རྒྱུ་མཚན་བཀོད་བཅུགཔ་ཨིན།", + "model.tooltip.reasoning.none": "རྒྱུ་མཚན་མེད།", + "model.tooltip.context": "སྐབས་དོན་ཚད་ {{limit}}", + "common.search.placeholder": "འཚོལ༌ནི", + "common.goBack": "ལོག་འགྲུལ་བསྐྱོད་འབད།", + "common.goForward": "གདོང་ཕྱོགས་ལུ་འགྲུལ་བསྐྱོད་འབད།", + "common.loading": "མངོན་གསལ་འབད་དོ།", + "common.loading.ellipsis": "...", + "common.cancel": "ཆ་མེད་བཏང་པ་", + "common.clear": "གསལ་ཏོག་ཏོ", + "common.open": "ཕྱེ་ཕྱེཝ", + "common.connect": "འབྲེལ༌མཐུད", + "common.disconnect": "མཐུད་ལམ་བཏོག་གཏང་།", + "common.continue": "འཕྲོ༌མཐུད", + "common.submit": "སྤྲོད་ནི", + "common.save": "སྲུང༌སྐྱོབས༌འབད༌བ", + "common.saving": "གསོག་འཇོག་འབད་དོ།", + "common.default": "འཐུས་ཤོར", + "common.attachment": "མཉམ༌སྦྲགས༌", + "prompt.placeholder.shell": "Shell བརྡ་བཀོད་བཙུགས།... {{example}}", + "prompt.placeholder.normal": 'ག་ཅི་ཡང་དྲིས... "{{example}}"', + "prompt.placeholder.simple": "ག་ཅི་ཡང་དྲིས།", + "prompt.placeholder.summarizeComments": "བསམ་འཆར་ཚུ་བཅུད་བསྡུས་འབད།", + "prompt.placeholder.summarizeComment": "བསམ་འཆར་བཅུད་བསྡུས།...", + "prompt.mode.shell": "Shell", + "prompt.mode.normal": "འདི་འཕྲོ་ལས", + "prompt.mode.shell.exit": "esc ཕྱིར་འཐོན་འབད་ནི།", + "session.child.promptDisabled": "ཡན་ལག་ལས་ཚབ་ལཱ་ཡུན་ཚུ་ བརྡ་སྟོན་འབད་མི་བཏུབ།", + "session.child.backToParent": "ལཱ་ཡུན་ངོ་མ་ལུ་ལོག་འགྱོ།", + "prompt.example.1": "གསང་གྲངས་གཞི་རྟེན་ནང་ ཊོ་ཌོ་ཅིག་ བདེ་སྒྲིག་འབད།", + "prompt.example.2": "ལས་འགུལ་འདི་གི་འཕྲུལ་རིག་བང་རིམ་ག་ཅི་སྨོ?", + "prompt.example.3": "ཆད་པའི་བརྟག་ཞིབ་ཚུ་བཅོ་ཁ་རྐྱབ་ནི།", + "prompt.example.4": "བདེན་བཤད་ག་དེ་སྦེ་འབདཝ་ཨིན་ན་ འགྲེལ་བཤད་རྐྱབ།", + "prompt.example.5": "ཉེན་སྲུང་གི་ཉེན་ཁ་ཚུ་འཚོལ་ཞིབ་འབད་དེ་བཅོ་ཁ་རྐྱབས།", + "prompt.example.6": "ལག་ལེན་པའི་ཞབས་ཏོག་དོན་ལུ་ ཡུ་ནིཊི་བརྟག་ཞིབ་ཚུ་ཁ་སྐོང་བརྐྱབ།", + "prompt.example.7": "ལས་འགན་འདི་ལྷག་ཚུགསཔ་སྦེ་ རི་ཕེག་ཊོར།", + "prompt.example.8": "འཛོལ་བ་འདི་གིས་ག་ཅི་སྟོན་སྨོ?", + "prompt.example.9": "གནད་དོན་འདི་རྐྱེན་སེལ་འབད་ནི་ལུ་རོགས་རམ་འབད།", + "prompt.example.10": "APIཡིག་ཆ་བཟོ་བཏོན་འབད།", + "prompt.example.11": "གནད་སྡུད་གཞི་རྟེན་གྱི་འདྲི་དཔྱད་ཚུ་ལེགས་བཅོས་འབད།", + "prompt.example.12": "ཨིན་པུཊི་བདེན་དཔྱད་ཁ་སྐོང་བརྐྱབ།", + "prompt.example.13": "གི་དོན་ལུ་ ཆ་ཤས་གསརཔ་ཅིག་གསར་བསྐྲུན་འབད།", + "prompt.example.14": "ལས་འགུལ་འདི་ག་དེ་སྦེ་བཀྲམ་སྤེལ་འབད་ནི་སྨོ?", + "prompt.example.15": "ལག་ལེན་ཡག་ཤོས་ཀྱི་དོན་ལུ་ ངེ་གི་ཨང་རྟགས་བསྐྱར་ཞིབ་འབད།", + "prompt.example.16": "ལས་འགན་འདི་ལུ་འཛོལ་བ་ལེགས་སྐྱོང་འབད་ནི་ཁ་སྐོང་བརྐྱབ།", + "prompt.example.17": "རི་ཇེགསི་དཔེ་རིས་འདི་འགྲེལ་བཤད་རྐྱབ།", + "prompt.example.18": "འདི་ TypeScript ལུ་གཞི་བསྒྱུར་འབད།", + "prompt.example.19": "གསང་གྲངས་གཞི་རྟེན་ཆ་མཉམ་ནང་དྲན་ཐོ་ཁ་སྐོང་བརྐྱབ།", + "prompt.example.20": "བརྟེན་པ་ག་ཅི་ཚུ་དུས་ཚོད་རྫོགས་ཡོདཔ་སྨོ?", + "prompt.example.21": "ང་ལུ་གནས་སོར་ཡིག་ཚུགས་ཅིག་འབྲི་ནི་ལུ་གྲོགས་རམ་འབད།", + "prompt.example.22": "མཇུག་སྣོད་འདི་གི་དོན་ལུ་འདྲ་མཛོད་ལག་ལེན་འཐབ།", + "prompt.example.23": "ཐོ་ཡིག་འདི་ལུ་ཤོག་ལེབ་ཁ་སྐོང་འབད།", + "prompt.example.24": "གི་དོན་ལུ་ CLI བརྡ་བཀོད་ཅིག་གསར་བསྐྲུན་འབད།", + "prompt.example.25": "མཐའ་འཁོར་འགྱུར་ཅན་ཚུ་ནཱ་ལུ་ག་དེ་སྦེ་ལཱ་འབདཝ་ཨིན་ན།", + "prompt.popover.emptyResults": "མཐུན་པའི་གྲུབ་འབྲས་མེད།", + "prompt.popover.emptyCommands": "མཐུན་སྒྲིག་བརྡ་བཀོད་མེད།", + "prompt.dropzone.label": "པར་རིས་ཚུ་དང་ པི་ཌི་ཨེཕ་ཚུ་ ཡང་ན་ ཚིག་ཡིག་ཡིག་སྣོད་ཚུ་ ནཱ་ལུ་བཀོག་བཞག།", + "prompt.dropzone.file.label": "@mention ཡིག་སྣོད་ལུ་བཀོག་བཞག།", + "prompt.slash.badge.custom": "ལུགས་སྲོལ་", + "prompt.slash.badge.skill": "རིག་རྩལ་", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "ངར་ཡེང་ཡེ་", + "prompt.context.includeActiveFile": "ཤུགས་ལྡན་ཡིག་སྣོད་གྲངས་སུ་བཙུགས།", + "prompt.context.removeActiveFile": "སྐབས་དོན་ལས་ཤུགས་ལྡན་ཡིག་སྣོད་རྩ་བསྐྲད་གཏང་།", + "prompt.context.removeFile": "སྐབས་དོན་ལས་ཡིག་སྣོད་རྩ་བསྐྲད་གཏང་།", + "prompt.action.attachFile": "ཡིག་སྣོད་ཚུ་ཁ་སྐོང་རྐྱབས།", + "prompt.menu.addImagesAndFiles": "ཡིག་སྣོད་ཚུ་དང་དེ་ལས་ལྷག་སྟེ་ཁ་སྐོང་རྐྱབས།", + "prompt.menu.imagesAndFiles": "གཟུགས་བརྙན་དང་ཡིག་སྣོད།", + "prompt.menu.commands": "བརྡ་བཀོད་ཚུ།", + "prompt.menu.context": "སྐབས་དོན།", + "prompt.menu.shellCommand": "Shell བརྡ་བཀོད།", + "prompt.attachment.remove": "མཉམ་སྦྲགས་རྩ་བསྐྲད་གཏང་།", + "prompt.action.send": "བཏང༌ནི", + "prompt.action.stop": "བཀག་པ", + "prompt.toast.pasteUnsupported.title": "རྒྱབ་སྐྱོར་མེད་པའི་མཉམ་སྦྲགས།", + "prompt.toast.pasteUnsupported.description": + "པར་རིས་དང་པི་ཌི་ཨེཕ་ ཡང་ན་ ཚིག་ཡིག་ཡིག་སྣོད་ཚུ་རྐྱངམ་ཅིག་ ནཱ་ལུ་མཉམ་སྦྲགས་འབད་བཏུབ།", + "prompt.toast.attachmentDuplicate.title": "ཡིག་སྣོད་འདི་ཧེ་མ་ལས་སྐྱེལ་བཙུགས་འབད་ཡི།", + "prompt.toast.modelAgentRequired.title": "ལས་ཚབ་དང་དཔེ་ཚད་ཅིག་སེལ་འཐུ་འབད།", + "prompt.toast.modelAgentRequired.description": "བརྡ་སྟོན་མ་གཏང་པའི་ཧེ་མ་ ལས་ཚབ་དང་དཔེ་ཚད་གདམ་ཁ་རྐྱབས།", + "prompt.toast.worktreeCreateFailed.title": "Git worktree གསར་བསྐྲུན་འབད་མ་ཚུགས།", + "prompt.toast.sessionCreateFailed.title": "ལཱ་ཡུན་གསར་བསྐྲུན་འབད་ནི་ལུ་འཐུས་ཤོར་འབྱུང་ཡོདཔ།", + "prompt.toast.shellSendFailed.title": "Shell བརྡ་བཀོད་གཏང་མ་ཚུགས།", + "prompt.toast.commandSendFailed.title": "བརྡ་བཀོད་གཏང་ནི་ལུ་འཐུས་ཤོར་འབྱུང་ཡོདཔ།", + "prompt.toast.promptSendFailed.title": "བརྡ་སྟོན་གཏང་ནི་ལུ་འཐུས་ཤོར་འབྱུང་ཡོདཔ།", + "prompt.toast.promptSendFailed.description": "ལཱ་ཡུན་སླར་འདྲེན་འབད་མ་ཚུགས།", + "dialog.mcp.title": "MCPs།", + "dialog.mcp.description": "{{enabled}} གི་ {{total}} ལྕོགས་ཅན་བཟོ་ཡོདཔ།", + "dialog.mcp.empty": "MCPsརིམ་སྒྲིག་མ་འབད་བས།", + "dialog.lsp.empty": "LSPs ཡིག་སྣོད་དབྱེ་བ་ཚུ་ལས་རང་བཞིན་སྐྱོན་འཛིན་འབད་ཡོདཔ།", + "dialog.plugins.empty": "opencode.json ནང་རིམ་སྒྲིག་འབད་ཡོད་པའི་པ་ལག་ཨིན་ཚུ།", + "mcp.status.connected": "མཐུད་ཡོད།", + "mcp.status.failed": "མཐར་མ་འཁྱོལ་བ་", + "mcp.status.needs_auth": "auth དགོཔ་ཨིན།", + "mcp.status.disabled": "དབང༌པོ༌སྐྱོན༌ཅན༌", + "mcp.auth.clickToAuthenticate": "བདེན་བཤད་འབད་ནི་ལུ་ཨེབ་གཏང་།", + "dialog.fork.empty": "ལས་ཕོརཀ་འབད་ནི་ལུ་འཕྲིན་དོན་མེད།", + "dialog.directory.search.placeholder": "སྣོད་འཛིན་ཚུ་འཚོལ།", + "dialog.directory.empty": "སྣོད་འཛིན་འཚོལ་མ་ཐོབ།", + "dialog.directory.action.selectFile": "ཡིག་སྣོད་སེལ་འཐུ་འབད།", + "dialog.directory.action.selectFolder": "སྣོད་འཛིན་སེལ་འཐུ་འབད།", + "dialog.directory.root": "ར༌ཏོག", + "dialog.directory.parent": "ཕ་མ།", + "dialog.directory.readError": "སྣོད་འཛིན་འདི་ལྷག་མི་ཚུགས།", + "app.server.unreachable": "{{server}} ལུ་ལྷོད་མ་ཚུགས།", + "app.server.retrying": "རང་བཞིན་གྱིས་ལོག་འབད་རྩོལ་བསྐྱེད་དོ།", + "app.server.otherServers": "སར་བར་གཞན་ཚུ།", + "dialog.server.title": "སར་བར་ཚུ།", + "dialog.server.description": "གློག་རིམ་འདི་གིས་OpenCodeསར་བར་ག་ལུ་མཐུདཔ་ཨིན་ན་སོར་བསྒྱུར་འབད།", + "dialog.server.search.placeholder": "སར་བར་ཚུ་འཚོལ་ཞིབ་འབད།", + "dialog.server.empty": "ད་ལྟོ་སར་བར་ཚུ་མེད།", + "dialog.server.add.title": "སར་བར་ཁ་སྐོང་འབད།", + "dialog.server.add.url": "སར་བར་ཁ་བྱང་།", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "སར་བར་ལུ་མཐུད་མ་ཚུགས།", + "dialog.server.add.checking": "ཞིབ་དཔྱད་འབད་དོ།", + "dialog.server.add.button": "སར་བར་ཁ་སྐོང་འབད།", + "dialog.server.add.name": "སར་བར་གྱི་མིང་ (གདམ་ཁ་ཅན།)", + "dialog.server.add.namePlaceholder": "Localhost།", + "dialog.server.add.username": "ལག་ལེན་པའི་མིང་ (གདམ་ཁ་ཅན་)།", + "dialog.server.add.usernamePlaceholder": "ལག་ལེན་པའི་མིང་།", + "dialog.server.add.password": "ཆོག་ཡིག་ (གདམ་ཁ་ཅན།)", + "dialog.server.add.passwordPlaceholder": "གསང༌ཨང", + "dialog.server.edit.title": "སར་བར་ཞུན་དག་འབད།", + "dialog.server.default.title": "སྔོན་སྒྲིག་སར་བར།", + "dialog.server.default.description": + "ཉེ་གནས་སར་བར་འགོ་བཙུགས་ནིའི་ཚབ་ལུ་ གློག་རིམ་འགོ་བཙུགས་པའི་སྐབས་ སར་བར་འདི་ལུ་མཐུད། ལོག་འགོ་བཙུགས་དགོཔ་ཨིན།", + "dialog.server.default.none": "སར་བར་སེལ་འཐུ་མ་འབད་བས།", + "dialog.server.default.set": "ད་ལྟོའི་སར་བར་འདི་སྔོན་སྒྲིག་སྦེ་གཞི་སྒྲིག་འབད།", + "dialog.server.default.clear": "གསལ་ཏོག་ཏོ", + "dialog.server.action.remove": "སར་བར་རྩ་བསྐྲད་གཏང་།", + "dialog.server.menu.edit": "ཞུན༌དག", + "dialog.server.menu.default": "སྔོན་སྒྲིག་སྦེ་གཞི་སྒྲིག་འབད།", + "dialog.server.menu.defaultRemove": "སྔོན་སྒྲིག་རྩ་བསྐྲད་གཏང་།", + "dialog.server.menu.delete": "བཏོན༌གཏང༌བ", + "dialog.server.current": "ད་ལྟོའི་སར་བར།", + "dialog.server.status.default": "འཐུས་ཤོར", + "wsl.server.add": "WSLསར་བར་ཁ་སྐོང་འབད།", + "wsl.server.addShort": "WSLཁ་སྐོང་བརྐྱབ།", + "wsl.server.label": "WSL།", + "wsl.server.menu.label": "WSL སར་བར།", + "wsl.server.retryStart": "འགོ་བཙུགས་བསྐྱར་འབད་འབད་རྩོལ་བསྐྱེད།", + "wsl.server.updating": "དུས་མཐུན་བཟོ་དོ།", + "wsl.onboarding.step.distro": "བཀྲམ་སྤེལ་གདམ་ཁ་རྐྱབས།", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "ཞིབ་དཔྱད་འབད་དོ WSL...", + "wsl.onboarding.restartRequired": "Windowsལུ་ WSLགཞི་བཙུགས་མཇུག་བསྡུ་ནིའི་དོན་ལུ་ ལོག་འགོ་བཙུགས་དགོཔ་ཨིན།", + "wsl.onboarding.ready": "WSL གྲ་སྒྲིག་ཡོད།", + "wsl.onboarding.required": "WSL འདི་འཕྲོ་མཐུད་འབད་དགོཔ་ཨིན།", + "wsl.onboarding.checkingDistros": "བཀྲམ་སྤེལ་ཚུ་ཞིབ་དཔྱད་འབད་དོ།", + "wsl.onboarding.installingDistro": "{{distro}}གཞི་བཙུགས་འབད་དོ།...", + "wsl.onboarding.checkingDistro": "ཞིབ་དཔྱད་འབད་དོ་ {{distro}}...", + "wsl.onboarding.listingDistros": "ཐོ་བཀོད་འབད་ནི།", + "wsl.onboarding.distroReady": "{{distro}} གྲ་སྒྲིག་ཡོད།", + "wsl.onboarding.distroNotInstalled": "{{distro}} ད་ལྟོ་གཞི་བཙུགས་མ་འབད་བས།", + "wsl.onboarding.openDistroOnce": "གཞི་སྒྲིག་མཇུག་བསྡུ་ནིའི་དོན་ལུ་ {{distro}} ཚར་གཅིག་ཁ་ཕྱེ།", + "wsl.onboarding.finishingDistro": "{{distro}}གི་དོན་ལུ་གཞི་སྒྲིག་མཇུག་བསྡུ་དོ།", + "wsl.onboarding.pickDistro": "ཌིསི་ཊོ་ཅིག་གདམ་ཁ་རྐྱབ་ནི་ཡང་ན་ འོག་ལུ་གཅིག་གཞི་བཙུགས་འབད།", + "wsl.onboarding.checkingOpencode": "OpenCodeཞིབ་དཔྱད་འབད་དོ།...", + "wsl.onboarding.checkingOpencodeIn": "{{distro}}ནང་ OpenCode ཞིབ་དཔྱད་འབད་དོ།...", + "wsl.onboarding.updatingOpencode": "OpenCodeདུས་མཐུན་བཟོ་དོ།...", + "wsl.onboarding.updatingOpencodeIn": "{{distro}}ནང་ OpenCodeདུས་མཐུན་བཟོ་དོ།...", + "wsl.onboarding.updateOpencodeIn": "OpenCodeའདི་ {{distro}}ནང་དུས་མཐུན་བཟོ།", + "wsl.onboarding.updateOpencode": "OpenCodeདུས་མཐུན་བཟོ།", + "wsl.onboarding.opencodeReadyIn": "OpenCode འདི་ {{distro}} ནང་ལུ་གྲ་སྒྲིག་ཡོདཔ་ཨིན།", + "wsl.onboarding.opencodeReady": "OpenCode གྲ་སྒྲིག་ཡོད།", + "wsl.onboarding.installOpencodeIn": "OpenCode འདི་ {{distro}} ནང་ལུ་གཞི་བཙུགས་འབད།", + "wsl.onboarding.installOpencode": "OpenCodeགཞི་བཙུགས་འབད།", + "wsl.onboarding.chooseDistroFirst": "དང་པ་ བཀྲམ་སྤེལ་ཅིག་གདམ་ཁ་རྐྱབས།", + "wsl.onboarding.loadFailed": "WSL གནས་སྟངས་མངོན་གསལ་འབད་ནི་ལུ་འཐུས་ཤོར་བྱུང་ཡོདཔ།", + "wsl.onboarding.loading": "མངོན་གསལ་འབད་དོ།", + "wsl.onboarding.installedDistros": "ཌིསི་ཊོ་ཚུ་གཞི་བཙུགས་འབད་ཡོདཔ།", + "wsl.onboarding.checkAgain": "ལོག་སྟེ་ཞིབ་དཔྱད་འབད།", + "wsl.onboarding.distroStatus.ready": "གྲ་སྒྲིག་ཚུད་ཡོདཔ", + "wsl.onboarding.distroStatus.checking": "ཞིབ་དཔྱད་འབད་དོ།", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode གཞི་བཙུགས་མ་འབད་བས།", + "wsl.onboarding.distroStatus.missingTools": "བཱཤ་, ཀརལ་བརླག་སྟོར་ཞུགསཔ་ཨིན།", + "wsl.onboarding.distroStatus.unsupported": "རྒྱབ་སྐྱོར་མ་འབད་བ · WSL 2 ལག་ལེན་འཐབ།", + "wsl.onboarding.needAnotherDistro": "གཞན་མི་ཌི་སི་ཊོ་དགོཔ་ཨིན་ན?", + "wsl.onboarding.needAnotherDistroHint": "WSL ཐོ་གཞུང་ལས་ Linux བགོ་བཀྲམ་ཅིག་གཞི་བཙུགས་འབད།", + "wsl.onboarding.wslNotInstalled.title": "WSL གཞི་བཙུགས་མ་འབད་བས།", + "wsl.onboarding.wslNotInstalled.description": + "WSL (WindowsLinuxཡན་ལག་རིམ་ལུགས་)འདི་ OpenCodeགིས་ WSLསར་བར་ཁ་སྐོང་མ་འབད་བའི་ཧེ་མ་དགོཔ་ཨིན།", + "wsl.onboarding.wslUnavailable.title": "WSL ཐོབ་མི་ཚུགས།", + "wsl.onboarding.wslUnavailable.description": "OpenCodeགིས་ འཕྲུལ་ཆས་འདི་གུ་ WSL བདེན་སྦྱོར་འབད་མ་ཚུགས།", + "wsl.onboarding.installWsl": "WSLགཞི་བཙུགས་འབད།", + "wsl.onboarding.windowsRestartRequired": + "WSL གཞི་བཙུགས་འབད་ནི་མཇུག་བསྡུ་ནིའི་དོན་ལུ་ Windows ལོག་འགོ་བཙུགསཔ་དང་ དེ་ལས་ OpenCode ལོག་ཁ་ཕྱེ།", + "wsl.onboarding.next": "ཤུལ༌མའི", + "wsl.onboarding.refresh": "གསརཔ་བཟོ།", + "wsl.onboarding.allDistrosAdded": "གཞི་བཙུགས་འབད་ཡོད་པའི་ཌིསི་ཊོ་ཚུ་ཆ་མཉམ་ཧེ་མ་ལས་ཁ་སྐོང་བརྐྱབ་ཡོདཔ་ཨིན།", + "wsl.onboarding.noDistros": "ད་ལྟོ་ཡང་ བཀྲམ་སྤེལ་འབད་མི་ཚུ་ ཤེས་རྟོགས་མ་བྱུང་པས།", + "wsl.onboarding.install": "བཙུགས་ནི", + "wsl.onboarding.installing": "གཞི་བཙུགས་འབད་དོ།", + "wsl.onboarding.installDistro": "ཌི་སི་ཊོ་གཞི་བཙུགས་འབད།", + "wsl.onboarding.searchDistros": "བཀྲམ་སྤེལ་ཚུ་འཚོལ་ཞིབ་འབད།", + "wsl.onboarding.wsl2Required": "WSL ༢ དགོས་མཁོ་ཡོད།", + "wsl.onboarding.toolsRequired": "བཀྲམ་སྤེལ་འདི་ལུ་ bash དང་ curl དགོཔ་ཨིན།", + "wsl.onboarding.openTerminal": "ཊར་མི་ནཱལ་ཁ་ཕྱེ།", + "wsl.onboarding.path": "འགྲུལ་ལམ་: {{path}}", + "wsl.onboarding.notFound": "མ་རྙེད།", + "wsl.onboarding.version": "ཐོན་རིམ: {{version}}", + "wsl.onboarding.unknown": "མ་ཤེསཔ་", + "wsl.onboarding.desktopVersion": "ཌེཀསི་ཊོཔ་ {{version}}", + "wsl.onboarding.versionMismatch": "གཞི་བཙུགས་འབད་ཡོད་པའི་ཐོན་རིམ་འདི་ ཌེཀསི་ཊོཔ་ཨེཔ་ཐོན་རིམ་དང་མཐུན་སྒྲིག་མི་འབད།", + "wsl.onboarding.adding": "ཁ་སྐོང་བརྐྱབ་དོ།", + "help.tabs.toast.ariaLabel": + "མཆོང་ལྡེ་ཚུ་ངོ་སྤྲོད་འབད་དོ། མཆོང་ལྡེ་ཚུ་དང་གཅིག་ཁར་ ཁྱོད་རའི་ལཱ་དང་ ཤུགས་ལྡན་ལཱ་ཡུན་ཚུ་ གོ་སྒྲིག་འབད།", + "help.tabs.toast.dismiss": "མཆོང་ལྡེ་བརྡ་དོན་བཏོན་གཏང་།", + "help.tabs.title": "མཆོང་ལྡེ་ངོ་སྤྲོད་འབད་དོ།", + "help.tabs.description": "མཆོང་ལྡེ་ཚུ་དང་གཅིག་ཁར་ ཁྱོད་རའི་ལཱ་དང་ ཤུགས་ལྡན་ལཱ་ཡུན་ཚུ་ གོ་སྒྲིག་འབད།", + "help.tabs.date": "སྤྱི་ཟླ་༧ པའི་ཚེས་༡༤།", + "help.tabs.introduction": "OpenCode ཌེཀསི་ཊོཔ་འདི་ད་ལྟོ་མཆོང་ལྡེ་ཚུ་གི་མཐའ་འཁོར་ལུ་བཟོ་བསྐྲུན་འབད་ཡོདཔ་ཨིན།", + "help.tabs.sessions": + "མཆོང་ལྡེ་ཅིག་ནང་ལཱ་ཡུན་གསརཔ་འགོ་བཙུགས་ ཡང་ན་ ཁྱོད་རའི་ལས་འགུལ་གང་རུང་ཅིག་ལས་ ད་ལྟོ་ཡོད་པའི་ལཱ་ཡུན་ཅིག་ཁ་ཕྱེ། ཁྱོད་ཀྱིས་ག་ཅི་ཡང་གསརཔ་འགོ་བཙུགས་པའི་སྐབས་ མཆོང་ལྡེ་གསརཔ་ཅིག་ཁ་ཕྱེ་ཞིནམ་ལས་ ཁྱོད་ཀྱིས་འབད་ཚརཝ་ད་ ཁ་བསྡམས།", + "help.tabs.organize": + "མཆོང་ལྡེ་དག་པ་ཅིག་ཁ་ཕྱེ་བཞག་མི་འདི་གིས་ ཁྱོད་རའི་ཤུགས་ལྡན་ལཱ་ཡུན་ཚུ་གོ་རིམ་སྒྲིག་ནི་ལུ་འཇམ་ཏོང་ཏོ་བཟོཝ་ཨིན། ཁྱོད་ཀྱིས་ མཆོང་ལྡེ་ཚུ་ མཐའ་འཁོར་ལུ་བཞག་ནི་གི་འཆར་གཞི་བརྩམས་ཏེ་ཡོད་པ་ཅིན་ དྲན་འཛིན་ཅན་གྱི་ཅ་ལ་ཅིག་ལུ་ མིང་བསྒྱུར་འབད།", + "help.tabs.home": + "ཁྱོད་ཀྱིས་ ཁྱོད་རའི་ལཱ་ཡུན་དང་ལས་འགུལ་ཚུ་ཆ་མཉམ་ ཁྱིམ་གྱི་གསལ་གཞི་གསརཔ་གུ་མཐོང་ཚུགས། ལཱ་ཡུན་ཅིག་སེལ་འཐུ་འབད་མི་འདི་གིས་ མཆོང་ལྡེ་ཅིག་ནང་ཁ་ཕྱེཝ་ཨིན།", + "help.tabs.persistence": + "ཁྱོད་ཀྱིས་གློག་རིམ་འདི་ལོག་ཁ་ཕྱེ་བའི་སྐབས་ ཁྱོད་ཀྱི་མཆོང་ལྡེ་ཚུ་ད་ལྟོ་ཡང་ཁ་ཕྱེ་སྟེ་ཡོདཔ་ཨིན།", + "help.tabs.worktrees": + "བཟོ་བཀོད་གསརཔ་འདི་གིས་ ད་ལྟོ་ཡང་ Git Worktrees ལུ་རྒྱབ་སྐྱོར་མི་འབད་ འདི་མགྱོགས་པ་རང་འོང་ནི་ཨིན། དེ་འབདཝ་ལས་ ཁྱོད་ཀྱིས་ ཧེ་མའི་སྒྲིག་བཀོད་འདི་འཕྲོ་མཐུད་ལག་ལེན་འཐབ་དགོ་པ་ཅིན་ ཁྱོད་ཀྱིས་ སྒྲིག་སྟངས་ཚུ་ནང་ སྒྲིག་བཀོད་ཚུ་གི་བར་ན་ སོར་བསྒྱུར་འབད་ཚུགས། བདུན་ཕྲག་དག་པ་ཅིག་གི་ནང་འཁོད་ལུ་ བཀོད་སྒྲིག་གསརཔ་འདི་ གཏན་འཇགས་འགྱོ་འོང་ཟེར་ སེམས་ཁར་བཞག་དགོ།", + "server.row.noUsername": "སྤྱོད་མིང་མེད།", + "dialog.project.edit.title": "ཞུན་དག་ལས་གཞི།", + "dialog.project.edit.name": "མིང", + "dialog.project.edit.icon": "ངོས་དཔར།", + "dialog.project.edit.icon.alt": "ལས་འགུལ་ངོས་དཔར།", + "dialog.project.edit.icon.hint": "གཟུགས་བརྙན་ཅིག་ཨེབ་གཏང་ཡང་ན་འདྲུད།", + "dialog.project.edit.icon.recommended": "འོས་སྦྱོར་འབད་ཡོདཔ།: ༡༢༨x༡༢༨px", + "dialog.project.edit.color": "ཚོས་གཞི", + "dialog.project.edit.color.select": "{{color}}ཚོས་གཞི་སེལ་འཐུ་འབད།", + "dialog.project.edit.worktree.startup": "ལཱ་གི་ས་སྒོ་འགོ་བཙུགས་ཡིག་ཚུགས་ཚུ།", + "dialog.project.edit.worktree.startup.description": + "ལཱ་གི་ས་སྒོ་གསརཔ་ (Git worktree) ཅིག་གསར་བསྐྲུན་འབད་བའི་ཤུལ་ལས་གཡོག་བཀོལཝ་ཨིན།", + "dialog.project.edit.worktree.startup.placeholder": "e.g. bun བཙུགས།", + "dialog.releaseNotes.action.getStarted": "འགོ་བཙུགས།", + "dialog.releaseNotes.action.next": "ཤུལ༌མའི", + "dialog.releaseNotes.action.hideFuture": "མ་འོངས་པར་འདི་དག་མ་སྟོན།", + "dialog.releaseNotes.media.alt": "སྔོན་ལྟ་གསར་བཏོན་འབད།", + "context.breakdown.title": "སྐབས་དོན་བགོ་བཤའ་རྐྱབ་ནི།", + "context.breakdown.note": + 'ཨིན་པུཊི་ཊོ་ཀེན་ཚུ་གི་ ཚོད་དཔག་བགོ་བཀྲམ། "Other" གིས་ ལག་ཆས་ངེས་ཚིག་དང་ མགོ་ཡིག་ཚུ་ཚུདཔ་ཨིན།', + "context.breakdown.system": "ལམ༌ལུགས", + "context.breakdown.user": "ལག་ལེན་པ།", + "context.breakdown.assistant": "ཞིབ༌རོགས", + "context.breakdown.tool": "ལག་ཆས་འབོད་བརྡ་ཚུ།", + "context.breakdown.other": "གཞན", + "context.systemPrompt.title": "རིམ་ལུགས་བརྡ་སྟོན།", + "context.rawMessages.title": "འཕྲིན་དོན་སྔོ་མོ།", + "context.export.session": "ལཱ་ཡུན་ཕྱིར་འདྲེན་འབད་ནི།", + "context.stats.session": "ལཱ་ཡུན།", + "context.stats.messages": "བརྡ་འཕྲིན།", + "context.stats.provider": "བྱིན་མི།", + "context.stats.model": "དཔེ་ཚད།", + "context.stats.limit": "སྐབས་དོན་ཚད་གཞི།", + "context.stats.totalTokens": "ཊོ་ཀེན་ཡོངས་བསྡོམས།", + "context.stats.usage": "བེད་སྤྱོད།", + "context.stats.inputTokens": "ཨིན་པུཊི་ཊོ་ཀེན་ཚུ།", + "context.stats.outputTokens": "ཨའུཊི་པུཊི་རྟགས་མཚན།", + "context.stats.reasoningTokens": "རྒྱུ་མཚན་བརྡ་རྟགས།", + "context.stats.cacheTokens": "འདྲ་མཛོད་ཊོ་ཀེན་ཚུ་ (ལྷག/བྲིས)", + "context.stats.userMessages": "ལག་ལེན་པའི་འཕྲིན་དོན།", + "context.stats.assistantMessages": "ལས་རོགས་འཕྲིན་དོན།", + "context.stats.totalCost": "འགྲོ་སོང་ཡོངས་བསྡོམས།", + "context.stats.sessionCreated": "ལཱ་ཡུན་གསར་བསྐྲུན་འབད་ཡོདཔ།", + "context.stats.lastActivity": "ལས་རིམ།", + "context.usage.tokens": "ཊོ་ཀེན་ཚུ།", + "context.usage.usage": "བེད་སྤྱོད།", + "context.usage.cost": "གོང་ཚད", + "context.usage.clickToView": "སྐབས་དོན་བལྟ་ནི་ལུ་ཨེབ་གཏང་།", + "context.usage.view": "སྐབས་དོན་ལག་ལེན་བལྟ།", + "language.en": "English", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Deutsch", + "language.es": "Español", + "language.fr": "Français", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "Polski", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Norsk", + "language.br": "Português (Brasil)", + "language.bs": "Bosanski", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Türkçe", + "toast.language.title": "སྐད༌ཡིག", + "toast.language.description": "{{language}}ལུ་ སོར་བསྒྱུར་འབད་ཡོདཔ།", + "toast.theme.title": "བརྗོད་དོན་སོར་བསྒྱུར་འབད་ཡོདཔ།", + "toast.scheme.title": "ཚོས་གཞིའི་འཆར་གཞི།", + "toast.workspace.enabled.title": "ལཱ་གི་ས་སྒོ་ཚུ་ལྕོགས་ཅན་བཟོ་ཡོདཔ།", + "toast.workspace.enabled.description": "Git worktree སྣ་མང་ད་ལྟོ་ཟུར་ཁའི་ཕྲ་རིང་ནང་སྟོནམ་ཨིན།", + "toast.workspace.disabled.title": "ལཱ་གི་ས་སྒོ་ཚུ་ ལྕོགས་མིན་བཟོ་ཡོདཔ།", + "toast.workspace.disabled.description": "ཟུར་ཁའི་ཕྲ་རིང་ནང་ Git worktree ངོ་མ་རྐྱངམ་ཅིག་སྟོནམ་ཨིན།", + "toast.permissions.autoaccept.on.title": "རང་བཞིན་དང་ལེན་གནང་བ་ཚུ།", + "toast.permissions.autoaccept.on.description": "གནང་བ་ཞུ་བ་ཚུ་ རང་བཞིན་གྱིས་ ཆ་འཇོག་འབད་འོང་།", + "toast.permissions.autoaccept.off.title": "རང་བཞིན་དང་ལེན་གནང་བ་ཚུ་ བཀག་བཞག་ཡོདཔ།", + "toast.permissions.autoaccept.off.description": "གནང་བ་ཞུ་བ་ཚུ་ལུ་ ཆ་འཇོག་དགོཔ་ཨིན།", + "toast.model.none.title": "དཔེ་ཚད་སེལ་འཐུ་མ་འབད་བས།", + "toast.model.none.description": "ལཱ་ཡུན་འདི་བཅུད་བསྡུས་འབད་ནིའི་དོན་ལུ་ བྱིན་མི་ཅིག་མཐུད།", + "toast.file.loadFailed.title": "ཡིག་སྣོད་མངོན་གསལ་འབད་ནི་འཐུས་ཤོར་འབྱུང་ཡོདཔ།", + "toast.file.listFailed.title": "ཡིག་སྣོད་ཚུ་ཐོ་བཀོད་འབད་ནི་ལུ་འཐུས་ཤོར་འབྱུང་ཡོདཔ།", + "toast.context.noLineSelection.title": "གྲལ་ཐིག་སེལ་འཐུ་མེད།", + "toast.context.noLineSelection.description": "དང་པ་རང་ ཡིག་སྣོད་མཆོང་ལྡེ་ཅིག་ནང་གྲལ་ཐིག་ཁྱབ་ཚད་ཅིག་སེལ་འཐུ་འབད།", + "toast.session.share.copyFailed.title": "URLའདི་འཛིན་པང་ལུ་འདྲ་བཤུས་རྐྱབ་ནི་ལུ་འཐུས་ཤོར་འབྱུང་ཡོདཔ།", + "toast.session.share.success.title": "ལཱ་ཡུན་བརྗེ་སོར་འབད་ཡོདཔ།", + "toast.session.share.success.description": "བརྗེ་སོར་ URLའཛིན་པང་ལུ་འདྲ་བཤུས་རྐྱབས་ནུག་!", + "toast.session.share.failed.title": "ལཱ་ཡུན་རུབ་སྤྱོད་འབད་ནི་ལུ་འཐུས་ཤོར་འབྱུང་ཡོདཔ།", + "toast.session.share.failed.description": "ལཱ་ཡུན་བརྗེ་སོར་འབད་བའི་སྐབས་ འཛོལ་བ་ཅིག་བྱུང་ཡོདཔ།", + "toast.session.unshare.success.title": "ལཱ་ཡུན་བརྗེ་སོར་མ་འབད་བ།", + "toast.session.unshare.success.description": "ལཱ་ཡུན་འདི་ མཐར་འཁྱོལ་ཅན་སྦེ་ བརྗེ་སོར་མ་འབད་བས།", + "toast.session.unshare.failed.title": "ལཱ་ཡུན་བགོ་བཤའ་རྐྱབ་ནི་འཐུས་ཤོར་འབྱུང་ཡོདཔ།", + "toast.session.unshare.failed.description": "ལཱ་ཡུན་བརྗེ་སོར་བཤོལ་བའི་སྐབས་ འཛོལ་བ་ཅིག་བྱུང་ཡོདཔ།", + "toast.session.export.success.title": "ལཱ་ཡུན་ཕྱིར་འདྲེན་འབད་ཡོདཔ།", + "toast.session.export.success.description": "{{filename}} ལུ་སྲུང་བཞག་འབད་ཡོད་པའི་ལཱ་ཡུན་འདི་ཨིན།", + "toast.session.export.failed.title": "ལཱ་ཡུན་ཕྱིར་འདྲེན་འབད་ནི་ལུ་འཐུས་ཤོར་འབྱུང་ཡོདཔ།", + "toast.session.export.failed.description": "ལཱ་ཡུན་ཕྱིར་འདྲེན་འབད་བའི་སྐབས་འཛོལ་བ་བྱུང་ཡོདཔ།", + "toast.session.listFailed.title": "{{project}}གི་དོན་ལུ་ལཱ་ཡུན་ཚུ་མངོན་གསལ་འབད་ནི་ལུ་འཐུས་ཤོར་འབྱུང་ཡོདཔ།", + "toast.project.reloadFailed.title": "{{project}}ཡང་བསྐྱར་མངོན་གསལ་འབད་ནི་ལུ་འཐུས་ཤོར་འབྱུང་ཡོདཔ།", + "toast.update.title": "དུས་མཐུན་བཟོ་ཚུགས།", + "toast.update.description": "OpenCode ({{version}}) གི་ཐོན་རིམ་གསརཔ་ཅིག་ ད་ལྟོ་གཞི་བཙུགས་འབད་ནི་ལུ་འཐོབ་ཚུགས།", + "toast.update.action.installRestart": "གཞི་བཙུགས་དང་ལོག་འགོ་བཙུགས།", + "toast.update.action.notYet": "ད༌ལྟོ༌མེན༌པའི", + "error.page.title": "ག་ཅི་ཅིག་འཛོལ་སོང་ནུག།", + "error.page.description": "གློག་རིམ་མངོན་གསལ་འབད་བའི་སྐབས་ འཛོལ་བ་ཅིག་བྱུང་ནུག།", + "error.page.description.localServerStartup": "ཉེ་གནས་སར་བར་ འགོ་བཙུགས་པའི་སྐབས་ འཛོལ་བ་ཅིག་བྱུང་ནུག།", + "error.page.details.label": "འཛོལ་བའི་ཁ་གསལ།", + "error.page.action.restart": "ལོག་འགོ་བཙུགས།", + "error.page.action.report": "འཛོལ་བ་སྙན་ཞུ།", + "error.page.action.reported": "འཛོལ་བ་སྙན་ཞུ་འབད་ཡོདཔ།", + "error.page.action.exportLogs": "ཕྱིར་འདྲེན་དྲན་དེབ་ཚུ།", + "error.page.action.checking": "ཞིབ་དཔྱད་འབད་དོ།", + "error.page.action.checkUpdates": "དུས་མཐུན་ཚུ་ཞིབ་དཔྱད་འབད།", + "error.page.action.updateTo": "{{version}} ལུ་དུས་མཐུན་བཟོ།", + "error.page.circular": "[སྒོར་ཐིག་] .", + "error.page.report.prefix": "འཛོལ་བ་འདི་OpenCodeསྡེ་ཚན་ལུ་སྙན་ཞུ་འབད་གནང་།", + "error.page.report.discord": "on Discordལུ།", + "error.page.version": "ཐོན་རིམ: {{version}}", + "error.dev.rootNotFound": + "རྩ་བའི་ཆ་ཤས་འཚོལ་མ་ཐོབ། ཁྱོད་ཀྱི་ index.html ལུ་ཁ་སྐོང་འབད་ནི་བརྗེད་སོང་ག? ཡང་ན་ id ཁྱད་ཆོས་འདི་ཡིག་སྡེབ་འཛོལ་བ་འོང་ག?", + "error.serverSync.connectFailed": "སར་བར་ལུ་མཐུད་མ་ཚུགས། `{{url}}`ལུ་ སར་བར་གཡོག་བཀོལ་དོ་ཡོདཔ་ཨིན་ན?", + "error.serverSDK.noServerAvailable": "སར་བར་ཐོབ་མི་ཚུགས།", + "error.serverSDK.serverNotAvailable": "སར་བར་འཐོབ་མི་ཚུགས།", + "error.childStore.persistedCacheCreateFailed": "རྟག་བརྟན་འདྲ་མཛོད་གསར་བསྐྲུན་འབད་ནི་ལུ་འཐུས་ཤོར་འབྱུང་ཡོདཔ།", + "error.childStore.persistedProjectMetadataCreateFailed": + "ཡུན་བརྟན་ལས་འགུལ་མེ་ཊ་གནད་སྡུད་གསར་བསྐྲུན་འབད་ནི་ལུ་འཐུས་ཤོར་འབྱུང་ཡོདཔ།", + "error.childStore.persistedProjectIconCreateFailed": + "རྟག་བརྟན་ལས་འགུལ་གྱི་ངོས་དཔར་གསར་བསྐྲུན་འབད་ནི་ལུ་འཐུས་ཤོར་འབྱུང་ཡོདཔ།", + "error.childStore.storeCreateFailed": "མཛོད་ཁང་གསར་བསྐྲུན་འབད་ནི་ལུ་འཐུས་ཤོར་འབྱུང་ཡོདཔ།", + "directory.error.invalidUrl": "URLནང་གི་སྣོད་ཐོ་ནུས་མེད་ཨིན།", + "error.chain.unknown": "མ་ཤེས་པའི་འཛོལ་བ།", + "error.server.invalidConfiguration": "ནུས་མེད་རིམ་སྒྲིག།", + "error.chain.causedBy": "རྒྱུ་རྐྱེན་གྱིས་:", + "error.chain.apiError": "API འཛོལ་བ།", + "error.chain.status": "གནས་ཚད།: {{status}}", + "error.chain.retryable": "ཡང་བསྐྱར་འབད་བཏུབ་: {{retryable}}", + "error.chain.responseBody": "ལན་འདེབས་ཕུང་པོ།:\n{{body}}", + "error.chain.didYouMean": "ཁྱོད་ཀྱིས་: {{suggestions}} ཟེར་སླབ་དགོཔ་ཨིན་ན?", + "error.chain.modelNotFound": "དཔེ་ཚད་འཚོལ་མ་ཐོབ།: {{provider}}/{{model}}", + "error.chain.checkConfig": "ཁྱོད་ཀྱི་རིམ་སྒྲིག་ (opencode.json) བྱིན་མི་/དཔེ་ཚད་མིང་ཚུ་ཞིབ་དཔྱད་འབད།", + "error.chain.mcpFailed": + 'MCP སར་བར་ "{{name}}" འཐུས་ཤོར་བྱུང་ཡོདཔ། དྲན་འཛིན་ OpenCode གིས་ ད་ལྟོ་ཡང་ MCP བདེན་བཤད་ལུ་རྒྱབ་སྐྱོར་མི་འབད།', + "error.chain.providerAuthFailed": "བྱིན་མི་བདེན་བཤད་འཐུས་ཤོར་བྱུང་ཡོདཔ།({{provider}}): {{message}}", + "error.chain.providerInitFailed": + 'བྱིན་མི་ "{{provider}}" འགོ་བཙུགས་ནི་ལུ་འཐུས་ཤོར་འབྱུང་ཡོདཔ། ངོ་རྟགས་དང་རིམ་སྒྲིག་ཞིབ་དཔྱད་འབད།', + "error.chain.configJsonInvalid": "{{path}} ལུ་ཡོད་པའི་རིམ་སྒྲིག་ཡིག་སྣོད་འདི་ JSON(C)ནུས་ཅན་མེན།", + "error.chain.configJsonInvalidWithMessage": + "{{path}} ལུ་ཡོད་པའི་རིམ་སྒྲིག་ཡིག་སྣོད་འདི་ JSON(C): {{message}} ལུ་ནུས་ཅན་མེན།", + "error.chain.configDirectoryTypo": + '{{path}} ནང་གི་སྣོད་ཐོ་ "{{dir}}" ནུས་ཅན་མིན་འདུག། སྣོད་ཐོ་འདི་ "{{suggestion}}" ལུ་བསྐྱར་མིང་བཏགས་ ཡང་ན་ རྩ་བསྐྲད་གཏང་། འདི་སྤྱིར་བཏང་གི་ཡིག་ནོར་ཅིག་ཨིན།', + "error.chain.configFrontmatterError": "{{path}}:\n{{message}} ནང་གདོང་དོན་མིང་དཔྱད་འབད་ནི་ལུ་འཐུས་ཤོར་འབྱུང་ཡོདཔ།", + "error.chain.configInvalid": "{{path}}ལུ་ཡོད་པའི་རིམ་སྒྲིག་ཡིག་སྣོད་འདི་ནུས་མེད་ཨིན།", + "error.chain.configInvalidWithMessage": "{{path}} ལུ་ཡོད་པའི་རིམ་སྒྲིག་ཡིག་སྣོད་འདི་ནུས་མེད་ཨིན་: {{message}}", + "notification.permission.title": "གནང་བ་དགོཔ།", + "notification.permission.description": "{{sessionTitle}}ནང་ {{projectName}}ལུ་གནང་བ་དགོཔ་ཨིན།", + "notification.question.title": "དྲི་བ", + "notification.question.description": "{{sessionTitle}} ནང་{{projectName}}ནང་དྲི་བ་ཅིག་ཡོད།", + "notification.action.goToSession": "ལཱ་ཡུན་ལུ་འགྱོ།", + "notification.session.responseReady.title": "ལན་འདེབས་གྲ་སྒྲིག།", + "notification.session.error.title": "ལཱ་ཡུན་འཛོལ་བ།", + "notification.session.error.fallbackDescription": "འཛོལ་བ་བྱུང་ཡོདཔ།", + "home.recentProjects": "འཕྲལ་གྱི་ལས་གཞི།", + "home.empty.title": "འཕྲལ་གྱི་ལས་གཞི་མེད།", + "home.empty.description": "ས་གནས་ཀྱི་ལས་འགུལ་ཅིག་ཁ་ཕྱེ་སྟེ་འགོ་བཙུགས།", + "home.title": "ཁྱིམ", + "home.projects": "ལས་གཞི།", + "home.project.add": "ལས་འགུལ་ཁ་སྐོང་རྐྱབས།", + "home.recentlyClosed": "འཕྲལ་ཁམས་ཅིག་ཁར་ སྒོ་བསྡམས་ཡོདཔ།", + "home.server.collapse": "སར་བར་ལས་འགུལ་ཚུ་ བརྡབ་གཏང་།", + "home.server.expand": "སར་བར་ལས་འགུལ་ཚུ་རྒྱ་བསྐྱེད་འབད།", + "home.sessions.search.placeholder": "འཚོལ་ཞིབ་ལཱ་ཡུན་ཚུ།", + "home.sessions.search.placeholder.scoped": "{{scope}}ནང་འཚོལ་ཞིབ་ལཱ་ཡུན་ཚུ།", + "home.sessions.search.sessions": "ལཱ་ཡུན་ཚུ།", + "home.sessions.search.noResults": "{{query}}གི་དོན་ལུ་ལཱ་ཡུན་འཚོལ་མ་ཐོབ།", + "home.sessions.empty": "ད་དུང་འདིར་གང་ཡང་མེད།", + "home.sessions.empty.description": "འགོ་བཙུགས་ནིའི་དོན་ལུ་ ལཱ་ཡུན་ཅིག་གསར་བསྐྲུན་འབད།", + "home.sessions.group.today": "ད་རེས", + "home.sessions.group.yesterday": "ཁ༌ཙ", + "home.sessions.group.older": "རྒས་ཤོས།", + "home.providerTip": "Claude, GPT, Gemini, ལ་སོགས་པ་ཚུ་རྩིས་ཏེ་ དཔེ་ཚད་གཞན་ལག་ལེན་འཐབ་ནི་ལུ་ ༧༥+ བྱིན་མི་ལུ་མཐུད།", + "session.tab.session": "ལཱ་ཡུན།", + "session.tab.review": "བསྐྱར་ཞིབ", + "session.tab.context": "སྐབས་དོན།", + "session.tab.unknown": "མ་ཤེས་པའི་ལཱ་ཡུན།", + "session.panel.reviewAndFiles": "བསྐྱར་ཞིབ་དང་ཡིག་སྣོད།", + "session.error.notFound": "ལཱ་ཡུན་འདི་འཚོལ་མ་ཐོབ།", + "session.error.notFound.description": "མཆོང་ལྡེ་འདི་གིས་ སར་བར་འདི་གུ་ད་ལས་ཕར་མེད་པའི་ལཱ་ཡུན་ཅིག་ལུ་དཔག་འབདཝ་ཨིན།", + "session.error.notFound.closeTab": "མཆོང་ལྡེ་ཁ་བསྡམས།", + "session.error.serverConnection": "སར་བར་འདི་ལུ་མཐུད་མི་ཚུགས།", + "session.review.filesChanged": "ཡིག་སྣོད་ཚུ་བསྒྱུར་བཅོས་འབད་ཡོདཔ། {{count}}", + "session.review.change.one": "འགྱུར་བ", + "session.review.change.other": "བསྒྱུར་བཅོས་ཚུ།", + "session.review.loadingChanges": "བསྒྱུར་བཅོས་ཚུ་མངོན་གསལ་འབད་དོ...", + "session.review.empty": "ལཱ་ཡུན་འདི་ནང་ བསྒྱུར་བཅོས་ག་ནི་ཡང་མེདཔ།", + "session.review.noVcs": "མེན་ Git ཐོན་རིམ་ཚད་འཛིན་རིམ་ལུགས་སྐྱོན་འཛིན་འབད་ནུག བསྒྱུར་བཅོས་ཚུ་བཀྲམ་སྟོན་མ་འབད་བས།", + "session.review.noVcs.createGit.title": "Gitམཛོད་ཅིག་གསར་བསྐྲུན་འབད།", + "session.review.noVcs.createGit.description": + "ལས་འགུལ་འདི་ནང་ བསྒྱུར་བཅོས་ཚུ་ བརྟག་ཞིབ་འབད་ནི་དང་ བསྐྱར་ཞིབ་འབད་ནི་ དེ་ལས་ འབད་བཤོལ་འབད་ནི།", + "session.review.noVcs.createGit.actionLoading": "Git མཛོད་ཁང་གསར་བསྐྲུན་འབད་དོ།...", + "session.review.noVcs.createGit.action": "Gitམཛོད་ཁང་གསར་བསྐྲུན་འབད།", + "session.review.noSnapshot": + "རིམ་སྒྲིག་ནང་ལུ་ པར་རིས་རྗེས་འདེད་འབད་ནི་འདི་ལྕོགས་མིན་བཟོ་ཡོདཔ་ལས་ ལཱ་ཡུན་བསྒྱུར་བཅོས་ཚུ་འཐོབ་མི་ཚུགས།", + "session.review.noChanges": "བསྒྱུར་བཅོས་མེད།", + "session.review.noUncommittedChanges": "ཁས་ལེན་མ་འབད་བའི་བསྒྱུར་བཅོས་ཚུ་ད་ལྟོ་མེད།", + "session.review.noBranchChanges": "ཡན་ལག་བསྒྱུར་བཅོས་ད་ལྟོ་མེད།", + "session.files.selectToOpen": "ཁ་ཕྱེ་ནི་ལུ་ཡིག་སྣོད་ཅིག་སེལ་འཐུ་འབད།", + "session.files.all": "ཡིག་སྣོད་ཆ་མཉམ།", + "session.files.empty": "ཡིག་སྣོད་ཚུ་མེད།", + "session.files.binaryContent": "ཟུང་ལྡན་ཡིག་སྣོད་ (ནང་དོན་བཀྲམ་སྟོན་འབད་མི་བཏུབ།)", + "session.messages.renderEarlier": "ཧེ་མའི་འཕྲིན་དོན་ཚུ་བཀྲམ་སྟོན་འབད།", + "session.messages.loadingEarlier": "ཧེ་མའི་འཕྲིན་དོན་ཚུ་མངོན་གསལ་འབད་དོ།...", + "session.messages.loadEarlier": "ཧེ་མའི་འཕྲིན་དོན་ཚུ་མངོན་གསལ་འབད།", + "session.messages.loading": "འཕྲིན་དོན་ཚུ་མངོན་གསལ་འབད་དོ།...", + "session.messages.jumpToLatest": "གསར་ཤོས་ལུ་མཆོངས།", + "session.context.addToContext": "{{selection}} སྐབས་དོན་ལུ་ཁ་སྐོང་བརྐྱབ།", + "session.todo.title": "ཊོ་ཌོས།", + "session.todo.collapse": "རམ་པ", + "session.todo.expand": "རྒྱ་སྐྱེད་གཏང་ནི", + "session.todo.progress": "{{done}} གི་ {{total}} ཊོ་ཌོས་མཇུག་བསྡུ་ཡོདཔ།", + "session.question.progress": "{{current}}གི་{{total}}དྲི་བ།", + "session.question.minimize": "དྲི་བ་ཉུང་སུ་བཟོ།", + "session.question.restore": "དྲི་བ་སླར་གསོ་འབད།", + "session.question.pending.one": "{{count}} བསྒུག་པའི་དྲི་བ།", + "session.question.pending.other": "{{count}} སྒུག་པའི་དྲི་བ།", + "session.followupDock.summary.one": "{{count}} གྲལ་ཐིག་ཅན་གྱི་འཕྲིན་འཕྲིན།", + "session.followupDock.summary.other": "{{count}} གྲལ་སྒྲིག་ཡོད་པའི་འཕྲིན་འཕྲིན།", + "session.followupDock.sendNow": "ད་ལྟོ་གཏང་།", + "session.followupDock.edit": "ཞུན༌དག", + "session.followupDock.collapse": "གྲལ་ཐིག་ནང་བཙུགས་ཡོད་པའི་འཕྲིན་དོན་ཚུ་མར་བསྡམས།", + "session.followupDock.expand": "གྲལ་ཐིག་ནང་ཡོད་པའི་འཕྲིན་དོན་ཚུ་རྒྱ་བསྐྱེད་འབད།", + "session.revertDock.summary.one": "{{count}} ཕྱིར་ལོག་འཕྲིན་ཡིག།", + "session.revertDock.summary.other": "{{count}} ཕྱིར་ལོག་འབད་ཡོད་པའི་འཕྲིན་ཡིག།", + "session.revertDock.collapse": "ལོག་བཤུད་འབད་ཡོད་པའི་འཕྲིན་དོན་ཚུ་ མར་བསྡམས།", + "session.revertDock.expand": "ཕྱིར་ལོག་འབད་ཡོད་པའི་འཕྲིན་དོན་ཚུ་རྒྱ་བསྐྱེད་འབད།", + "session.revertDock.restore": "འཕྲིན་དོན་སླར་གསོ་འབད།", + "session.new.title": "ག་ཅི་ཡང་བཟོ་བསྐྲུན།", + "session.new.project.new": "ལས་འགུལ་གསརཔ།", + "session.new.project.search": "ལས་གཞི་འཚོལ་ཞིབ།", + "session.new.project.add": "ལས་འགུལ་ཁ་སྐོང་རྐྱབས།", + "session.new.worktree.main": "ཡན་ལག་གཙོ་བོ།", + "session.new.worktree.mainWithBranch": "ཡན་ལག་གཙོ་བོ་ ({{branch}})།", + "session.new.worktree.create": "Git worktree གསརཔ་གསར་བསྐྲུན་འབད།", + "session.new.workspace.runIn": "ནང་ལཱ་ཡུན་གཡོག་བཀོལ།", + "session.new.workspace.triggerLocal": "ས་གནས་ཀྱི", + "session.new.workspace.local": "ས་གནས་ཀྱི་མཛོད་ཁང་།", + "session.new.workspace.existing": "ལཱ་གི་ས་སྒོ...", + "session.new.git.none": "མེད། Git།", + "session.new.lastModified": "མཐའ་མའི་བཟོ་བཅོས་འབད་ཡོདཔ།", + "session.header.search.placeholder": "འཚོལ་ཞིབ་ {{project}}།", + "session.header.searchFiles": "ཡིག་སྣོད་ཚུ་འཚོལ་ཞིབ་འབད།", + "session.header.openIn": "ནང་ཁ་ཕྱེ།", + "session.header.open.action": "{{app}}ཁ་ཕྱེ།", + "session.header.open.ariaLabel": "{{app}}ནང་ཁ་ཕྱེ།", + "session.header.open.menu": "གདམ་ཁ་ཁ་ཕྱེ།", + "session.header.open.copyPath": "འདྲ་བཤུས་འགྲུལ་ལམ།", + "session.header.open.finder": "Finder།", + "session.header.open.fileExplorer": "File Explorer།", + "session.header.open.fileManager": "File Manager", + "session.header.reveal.finder": "Finderནང་གསལ་སྟོན་འབད།", + "session.header.reveal.fileExplorer": "File Explorerནང་གསལ་སྟོན་འབད།", + "session.header.reveal.containingFolder": "སྣོད་འཛིན་ཡོད་པའི་ཁ་ཕྱེ།", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor།", + "session.header.open.app.zed": "Zed།", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity།", + "session.header.open.app.terminal": "ཊར་མི་ནཱལ།", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty།", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode།", + "session.header.open.app.androidStudio": "Android Studio།", + "session.header.open.app.powershell": "PowerShell།", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "གནས་ཚད", + "status.popover.ariaLabel": "སར་བར་རིམ་སྒྲིག་ཚུ།", + "status.popover.tab.servers": "སར་བར་ཚུ།", + "status.popover.tab.mcp": "MCP།", + "status.popover.tab.lsp": "LSP།", + "status.popover.tab.plugins": "པ་ལག་ཨིན་ཚུ།", + "status.popover.action.manageServers": "སར་བར་ཚུ་འཛིན་སྐྱོང་འཐབ།", + "session.share.popover.title": "ཝེབ་ནང་དཔར་བསྐྲུན་འབད།", + "session.share.popover.description.shared": + "ལཱ་ཡུན་འདི་ ཝེབ་ནང་ མི་མང་ཨིན། འབྲེལ་ལམ་ཡོད་མི་ག་ར་གིས་ འཛུལ་སྤྱོད་འབད་ཚུགས།", + "session.share.popover.description.unshared": + "ཡོངས་འབྲེལ་ནང་ལུ་ མི་མང་ལུ་ ལཱ་ཡུན་བརྗེ་སོར་འབད། འབྲེལ་ལམ་ཡོད་མི་ག་ར་གིས་ འཛུལ་སྤྱོད་འབད་ཚུགས།", + "session.share.action.share": "བགོ་བཤའ", + "session.share.action.publish": "དཔར་སྐྲུན།", + "session.share.action.publishing": "དཔར་བསྐྲུན་འབད་དོ།...", + "session.share.action.unpublish": "དཔར་བསྐྲུན་བཤོལ།", + "session.share.action.unpublishing": "དཔར་བསྐྲུན་མ་འབད་བའི་...", + "session.share.action.view": "བསམ༌འཆར", + "session.share.copy.copied": "འདྲ་བཤུས་འབད་ཡོདཔ།", + "session.share.copy.copyLink": "འབྲེལ་མཐུད་འདྲ་བཤུས།", + "lsp.tooltip.none": "LSP སར་བར་ཚུ་མེད།", + "lsp.label.connected": "{{count}} LSP།", + "prompt.loading": "མངོན་གསལ་འབད་དོ།", + "terminal.loading": "ཊར་མི་ནཱལ་མངོན་གསལ་འབད་དོ་...", + "terminal.title": "ཊར་མི་ནཱལ།", + "terminal.title.numbered": "ཊར་མི་ནཱལ་ {{number}}།", + "terminal.close": "ཊར་མི་ནཱལ་ཁ་བསྡམས།", + "terminal.connectionLost.title": "མཐུད་ལམ་བརླག་སྟོར་ཞུགས་ཡོདཔ།", + "terminal.connectionLost.abnormalClose": "WebSocket སྤྱིར་བཏང་མེན་པར་ཁ་བསྡམས: {{code}}", + "terminal.connectionLost.description": + "ཊར་མི་ནཱལ་མཐུད་ལམ་འདི་ བར་ཆད་བྱུང་ནུག། སར་བར་འདི་ལོག་འགོ་བཙུགས་པའི་སྐབས་ལུ་འདི་འབྱུང་འོང་།", + "terminal.connectTicket.csrfError": + "PTY མཐུད་ལམ་ཤོག་བྱང་འདི་ འབྱུང་ཁུངས་དང་ ཡང་ན་ CSRF ཞིབ་དཔྱད་ཚུ་གིས་ ངོས་ལེན་མ་འབད་བས། སར་བར་ CORS རིམ་སྒྲིག་ཞིབ་དཔྱད་འབད།", + "terminal.connectTicket.statusError": "PTY མཐུད་ལམ་ཤོག་བྱང་འདི་ {{status}}དང་གཅིག་ཁར་འཐུས་ཤོར་འབྱུང་ཡོདཔ།", + "titlebar.update": "དུས༌མཐུན༌བཟོ༌ནི", + "titlebar.updateVersion": "{{version}} དུས་མཐུན་བཟོ།", + "common.closeTab": "མཆོང་ལྡེ་ཁ་བསྡམས།", + "common.dismiss": "ཁུངས༌མེད༌བརྩི༌ནི", + "common.moreCountSuffix": "(+{{count}} མང་།", + "common.requestFailed": "ཞུ་བ་འཐུས་ཤོར་འབྱུང་ཡོདཔ།", + "common.moreOptions": "གདམ་ཁ་མང་བ།", + "common.learnMore": "ཁ་གསལ་ཤེས།", + "common.rename": "མིང་བསྒྱུར།", + "common.export": "ཕྱིར་བཙོང", + "common.reset": "སླར་སྒྲིག་འབད།", + "common.archive": "གཏན་མཛོད", + "common.delete": "བཏོན༌གཏང༌བ", + "common.close": "སྒོ་བསྡམ", + "common.edit": "ཞུན༌དག", + "common.loadMore": "མངམ་མངོན་གསལ་འབད།", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "མ་ཤེསཔ་", + "common.time.justNow": "ད་ལྟོ་རང་།", + "common.time.minutesAgo.short": "{{count}}m གོང་།", + "common.time.hoursAgo.short": "{{count}}ཆུ་ཚོད་གོང་།", + "common.time.daysAgo.short": "{{count}}d གོང་།", + "sidebar.menu.toggle": "དཀར་ཆག་སོར་བསྒྱུར་འབད།", + "sidebar.nav.projectsAndSessions": "ལས་གཞི་དང་ཚོགས་ཚན།", + "sidebar.settings": "སྒྲིག་སྟངས་ཚུ།", + "sidebar.help": "ཆ་རོགས་འབད་ནི", + "sidebar.workspaces.enable": "ལཱ་གི་ས་སྒོ་ཚུ་ལྕོགས་ཅན་བཟོ།", + "sidebar.workspaces.disable": "ལཱ་གི་ས་སྒོ་ཚུ་ལྕོགས་མིན་བཟོ།", + "sidebar.gettingStarted.title": "འགོ་བཙུགས་དོ།", + "sidebar.gettingStarted.line1": "OpenCode ནང་རིན་མེད་དཔེ་ཚད་ཚུ་ཚུད་དེ་ཡོདཔ་ལས་ཁྱོད་ཀྱིས་དེ་འཕྲལ་ལས་འགོ་བཙུགས་བཏུབ།", + "sidebar.gettingStarted.line2": + "དཔེ་ཚད་ཚུ་ལག་ལེན་འཐབ་ནི་ལུ་ བྱིན་མི་གང་རུང་ཅིག་མཐུད།, inc. Claude དང་ GPT Gemini སོགས།", + "sidebar.project.recentSessions": "འཕྲལ་གྱི་ལཱ་ཡུན་ཚུ།", + "sidebar.project.viewAllSessions": "ལཱ་ཡུན་ཆ་མཉམ་བལྟ།", + "sidebar.project.clearNotifications": "བརྡ་བསྐུལ་ཚུ་གསལ་བཟོ།", + "sidebar.empty.title": "ལས་འགུལ་ཁ་ཕྱེ་མེད།", + "sidebar.empty.description": "འགོ་བཙུགས་ནིའི་དོན་ལུ་ལས་འགུལ་ཅིག་ཁ་ཕྱེ།", + "debugBar.ariaLabel": "གོང་འཕེལ་གྱི་ལས་དོན་བརྟག་དཔྱད།", + "debugBar.na": "ན/ཨེ།", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "མཐའ་མཇུག་མཇུག་བསྡུ་ཡོད་པའི་འགྲུལ་ལམ་འགྱུར་བ་འདི་ ལཱ་ཡུན་ཤོག་ལེབ་ཅིག་ལུ་ལགཔ་བརྐྱབ་སྟེ་ རའུ་ཊར་འགོ་བཙུགས་ལས་ དེ་གཞི་ཆགས་པའི་ཤུལ་ལས་ ཚོས་གཞི་འགོ་དང་པ་ཚུན་ཚོད་ འཇལ་ཡོདཔ་ཨིན།", + "debugBar.fps.label": "FPS།", + "debugBar.fps.tip": "མཇུག་གི་སྐར་ཆ་༥ ལས་ སྐར་ཆ་རེ་ལུ་ གཞི་ཁྲམ་ཚུ་བསྒྱིར་དོ།", + "debugBar.frame.label": "FRAME།", + "debugBar.frame.tip": "འདས་པའི་སྐར་ཆ་༥ ལས་ གཞི་ཁྲམ་གྱི་དུས་ཚོད་སྡུག་ཤོས།", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "མཇུག་གི་སྐར་ཆ་༥ ནང་ ༣༢ཨེམ་ཨེསི་ལས་ལྷག་སྟེ་ གཞི་ཁྲམ་ཚུ།", + "debugBar.long.label": "LONG།", + "debugBar.long.tip": "མཇུག་གི་སྐར་ཆ་༥ ནང་ བཀག་ཆ་འབད་ཡོད་པའི་དུས་ཚོད་དང་ ལས་འགན་རིངམོ་གྱངས་ཁ། མཐོ་ཤོས་ལས་ཀ: {{max}}.", + "debugBar.delay.label": "DELAY།", + "debugBar.delay.tip": "མཇུག་གི་སྐར་ཆ་༥ ནང་ བལྟ་རྟོག་འབད་མི་ ཨིན་པུཊི་ཕྱིར་འགྱངས་སྡུག་ཤོས།", + "debugBar.inp.label": "INP།", + "debugBar.inp.tip": + "འདས་པའི་སྐར་ཆ་༥ གི་རིང་ལུ་ འབྲེལ་བ་འཐབ་པའི་དུས་ཡུན་ཚོད་དཔག། འདི་ INP-དང་འདྲ་བ་ཨིན་ གཞུང་འབྲེལ་ཝེབ་ཝི་ཊ་ལསི་ INP མེན།", + "debugBar.cls.label": "CLS།", + "debugBar.cls.tip": "ད་ལྟོའི་གློག་རིམ་གྱི་མི་ཚེ་གི་དོན་ལུ་ བསྡོམས་རྩིས་སྒྲིག་བཀོད་སོར་བསྒྱུར་འབད།", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "ལག་ལེན་འཐབ་ཡོད་པའི་ JS བང་རིམ་ vs བང་རིམ་ཚད་གཞི། Chromium རྐྱངམ་གཅིག།", + "debugBar.mem.tip": "ལག་ལེན་འཐབ་ཡོད་པའི་ JS བང་རིམ་ vs བང་རིམ་ཚད་གཞི། {{used}} གི་ {{limit}} གི་ཨིན།", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "ཕན་ཚུན་འབྲེལ་བའི་ཆ་ཤས་ཚུ་ཆ་མཉམ་ལུ་ ཆེད་དམིགས་བཟོ་རྣམ་ཚུ་ བཙན་ཤུགས་འབད།", + "debugBar.focus.on": "ཐོག༌ཁར", + "debugBar.focus.off": "ཡལ་བ", + "debugBar.direction.label": "DIR།", + "debugBar.direction.tip": + "སེལ་འཐུ་འབད་ཡོད་པའི་སྐད་ཡིག་བསྒྱུར་བཅོས་མ་འབད་བར་ གློག་རིམ་ཆ་ཚང་སྒྲིག་བཀོད་ཁ་ཕྱོགས་བང་བཙོང་འབད།", + "debugBar.direction.ltr": "LTR།", + "debugBar.direction.rtl": "RTL།", + "app.name.desktop": "OpenCode ཌེཀསི་ཊོཔ།", + "settings.section.desktop": "ཌེཀསི་ཊོཔ།", + "settings.section.server": "སར་བར།", + "settings.tab.general": "སྤྱིར༌བཏང", + "settings.tab.shortcuts": "མགྱོགས་ཐབས།", + "settings.desktop.section.wsl": "WSL།", + "settings.desktop.wsl.title": "WSL མཉམ་སྡེབ།", + "settings.desktop.wsl.description": "Windowsགུ་ WSLནང་ན་ OpenCodeསར་བར་གཡོག་བཀོལ།", + "settings.general.section.appearance": "བཟོ་དབྱིབས", + "settings.general.section.advanced": "ཡར་རྒྱས་འགྱོ་ཡོདཔ", + "settings.general.section.notifications": "རིམ་ལུགས་བརྡ་བསྐུལ་ཚུ།", + "settings.general.section.updates": "དུས་མཐུན།", + "settings.general.section.sounds": "སྒྲའི་ནུས་པ།", + "settings.general.section.feed": "བྱིན་ནི", + "settings.general.section.display": "གསལ༌སྟོན", + "settings.general.row.language.title": "སྐད༌ཡིག", + "settings.general.row.language.description": "OpenCodeགི་དོན་ལུ་ བཀྲམ་སྟོན་སྐད་ཡིག་བསྒྱུར་བཅོས་འབད།", + "settings.general.row.shell.title": "ཊར་མི་ནཱལ་ Shell", + "settings.general.row.shell.description": "ཊར་མི་ནཱལ་དང་ལས་ཚབ་ལག་ཆས་ཚུ་གིས་ལག་ལེན་འཐབ་མི་ Shell", + "settings.general.row.shell.autoDefault": "རང་བཞིན་ (སྔོན་སྒྲིག)", + "settings.general.row.shell.terminalOnly": "ཊར་མི་ནཱལ་རྐྱངམ་ཅིག།", + "settings.general.row.appearance.title": "བཟོ་དབྱིབས", + "settings.general.row.appearance.description": + "OpenCodeའདི་ཁྱོད་རའི་ཐབས་འཕྲུལ་གུ་ག་དེ་སྦེ་མཐོངམ་ཨིན་ན་སྲོལ་སྒྲིག་འབད།", + "settings.general.row.colorScheme.title": "ཚོས་གཞིའི་འཆར་གཞི།", + "settings.general.row.colorScheme.description": + "OpenCode གིས་ རིམ་ལུགས་དང་ འོད་ ཡང་ན་ གནགཔོ་གི་བརྗོད་དོན་ལུ་ རྗེས་སུ་འཇུག་ནི་ཨིན་ན་ གདམ་ཁ་རྐྱབས།", + "settings.general.row.theme.title": "བརྗོད༌དོན", + "settings.general.row.theme.description": "OpenCodeའདི་བརྗོད་དོན་ག་དེ་སྦེ་ཡོདཔ་ཨིན་ན་སྲོལ་སྒྲིག་འབད།", + "settings.general.row.font.title": "ཨང་རྟགས་ཡིག་གཟུགས།", + "settings.general.row.font.description": "གསང་གྲངས་སྡེབ་ཚན་ཚུ་ནང་ལག་ལེན་འཐབ་མི་ཡིག་གཟུགས་སྲོལ་སྒྲིག་འབད།", + "settings.general.row.terminalFont.title": "ཊར་མི་ནཱལ་ཡིག་གཟུགས།", + "settings.general.row.terminalFont.description": "ཊར་མི་ནཱལ་ནང་ལག་ལེན་འཐབ་ཡོད་པའི་ཡིག་གཟུགས་སྲོལ་སྒྲིག་འབད།", + "settings.general.row.uiFont.title": "ཡུ་ཨའི་ཡིག་གཟུགས།", + "settings.general.row.uiFont.description": "ངོས་འདྲ་བ་ཆ་མཉམ་ལུ་ལག་ལེན་འཐབ་ཡོད་པའི་ཡིག་གཟུགས་སྲོལ་སྒྲིག་འབད།", + "settings.general.row.followup.title": "རྗེས་སུ་འབྲངས་པའི་སྤྱོད་ལམ།", + "settings.general.row.followup.description": + "རྗེས་འཇུག་འབོད་བརྡ་ཚུ་ དེ་འཕྲོ་ལས་ སྒུལ་ནི་ཨིན་ན་ ཡང་ན་ གྱལ་ནང་བསྒུག་སྡོད་ནི་ཨིན་ན་ གདམ་ཁ་རྐྱབས།", + "settings.general.row.followup.option.queue": "གྱལ", + "settings.general.row.followup.option.steer": "སྒུལ་ཤུགས།", + "settings.general.row.showFileTree.title": "ཡིག་སྣོད་ཤིང་།", + "settings.general.row.showFileTree.description": "ལཱ་ཡུན་ཚུ་ནང་ཡིག་སྣོད་ཤིང་གི་པེ་ནཱལ་སྟོན།", + "settings.general.row.showNavigation.title": "འགྲུལ་བསྐྱོད་ཚད་འཛིན་ཚུ།", + "settings.general.row.showNavigation.description": + "ཌེཀསི་ཊོཔ་ཁ་ཡིག་ཕྲ་རིང་ནང་ རྒྱབ་བསྐྱོད་དང་གདོང་བསྐྱོད་ཨེབ་རྟ་ཚུ་སྟོན།", + "settings.general.row.showSearch.title": "བརྡ་བཀོད་པེ་ལེཊི།", + "settings.general.row.showSearch.description": "ཁ་ཡིག་ཕྲ་རིང་ནང་ འཚོལ་ཞིབ་དང་བརྡ་བཀོད་པེ་ལེཊི་ཨེབ་རྟ་སྟོན།", + "settings.general.row.showTerminal.title": "ཊར་མི་ནཱལ།", + "settings.general.row.showTerminal.description": "ཌེཀསི་ཊོཔ་མགོ་མིང་ཕྲ་རིང་ནང་ ཊར་མི་ནཱལ་ཨེབ་རྟ་སྟོན།", + "settings.general.row.showStatus.title": "སར་བར་གནས་ཚད།", + "settings.general.row.showStatus.description": "མགོ་མིང་ཕྲ་རིང་ནང་ སར་བར་གནས་ཚད་ཨེབ་རྟ་སྟོན།", + "settings.general.row.mobileTitlebarBottom.title": "འོག་གི་འགྲུལ་བསྐྱོད།", + "settings.general.row.mobileTitlebarBottom.description": + "མོ་བཱ་ཡེལ་གུ་ གསལ་གཞི་གི་མཇུག་ལུ་ མགོ་མིང་ཕྲ་རིང་དང་ ལཱ་ཡུན་མཆོང་ལྡེ་ཚུ་བཙུགས།", + "settings.general.row.showCustomAgents.title": "ལས་ཚབ་སྟོན།", + "settings.general.row.showCustomAgents.description": + "བརྩམ་མི་ནང་ལུ་ ལས་ཚབ་ཚུ་གི་བར་ན་ སོར་བསྒྱུར་འབད། སྦ་བཞག་པའི་སྐབས་ བཟོ་བསྐྲུན་ལས་ཚབ་ལུ་སྔོན་སྒྲིག་འབདཝ་ཨིན།", + "settings.general.row.reasoningSummaries.title": "རྒྱུ་མཚན་བཅུད་བསྡུས་ཚུ་སྟོན།", + "settings.general.row.reasoningSummaries.description": + "དུས་ཚོད་གྲལ་ཐིག་ནང་དཔེ་ཚད་དོན་དག་བཅུད་བསྡུས་ཚུ་བཀྲམ་སྟོན་འབད།", + "settings.general.row.shellToolPartsExpanded.title": "Shell ལག་ཆས་ཆ་ཤས་ཚུ་རྒྱ་བསྐྱེད་འབད།", + "settings.general.row.shellToolPartsExpanded.description": + "དུས་ཚོད་གྲལ་ཐིག་ནང་སྔོན་སྒྲིག་གིས་རྒྱ་བསྐྱེད་འབད་ཡོད་མི་ Shell ལག་ཆས་ཆ་ཤས་ཚུ་སྟོན།", + "settings.general.row.editToolPartsExpanded.title": "ཞུན་དག་ལག་ཆས་ཆ་ཤས་ཚུ་རྒྱ་བསྐྱེད་འབད།", + "settings.general.row.editToolPartsExpanded.description": + "དུས་ཚོད་གྲལ་ཐིག་ནང་སྔོན་སྒྲིག་གིས་རྒྱ་བསྐྱེད་འབད་ཡོད་པའི་ཞུན་དག་དང་འབྲི་ནི་ དེ་ལས་ཐབས་འཕྲུལ་གྱི་ལག་ཆས་ཆ་ཤས་ཚུ་སྟོན།", + "settings.general.row.newInterface.title": "བཀོད་སྒྲིག་གསརཔ།", + "settings.general.row.newInterface.badge": "གསརཔ", + "settings.general.row.newInterface.description": + "མཆོང་ལྡེ་གསརཔ་ཚུ་དང་ཁྱིམ་སྒྲིག་བཀོད་ཚུ་ལག་ལེན་འཐབ། དུས་ཚོད་ཚད་ཅིག་གི་དོན་ལུ་ སྒྲིག་བཀོད་ཚུ་གི་བར་ན་ སོར་བསྒྱུར་འབད།", + "settings.general.row.newInterfaceNotice.title": "ད་ཁྱོད་ཀྱིས་སྒྲིག་བཀོད་གསརཔ་ལག་ལེན་འཐབ་དོ།", + "settings.general.row.newInterfaceNotice.description": "ཧེ་མའི་སྒྲིག་བཀོད་འདི་ ད་ལས་ཕར་འཐོབ་མི་ཚུགས།", + "settings.general.row.newInterfaceNotice.dismiss": "ཁུངས༌མེད༌བརྩི༌ནི", + "settings.general.row.pinchZoom.title": "རྒྱས་ཟུམ་འབད་ནི་ལུ་ ཨེབ་གཏང་།", + "settings.general.row.pinchZoom.description": "ཊེག་པེཌི་པིནཆི་དང་ Ctrl-བཤུད་སྒྲིལ་བརྡ་མཚོན་ཚུ་རྒྱས་ཟུམ་འབད་བཅུག།", + "settings.general.row.wayland.title": "ས་གནས་ཀྱི་ Waylandལག་ལེན་འཐབ།", + "settings.general.row.wayland.description": "Waylandགུ་ཨེགསི་༡༡ ཕོལབེཀ་ལྕོགས་མིན་བཟོ། ལོག་འགོ་བཙུགས་དགོཔ་ཨིན།", + "settings.general.row.wayland.tooltip": + "Linuxགུ་ སླ་བསྲེ་གསར་བསྐྲུན་-ཚད་བལྟ་རྟོག་པ་ཚུ་དང་གཅིག་ཁར་ ནེ་ཊིབ་ Wayland འདི་ཧེང་སྐལ་བརྟན་ཏོག་ཏོ་འོང་།", + "settings.general.row.releaseNotes.title": "འགྲེམ་སྤེལ་དྲན་ཐོ།", + "settings.general.row.releaseNotes.description": "དུས་མཐུན་བཟོ་ཚར་བའི་ཤུལ་ལས་ པོཔ་ཨཔ་གསརཔ་ག་ཅི་ཡོདཔ་ཨིན་ན་སྟོན།", + "settings.updates.row.startup.title": "འགོ་བཙུགས་གུ་དུས་མཐུན་ཚུ་ཞིབ་དཔྱད་འབད།", + "settings.updates.row.startup.description": "OpenCode འགོ་བཙུགསཔ་ད་ རང་བཞིན་གྱིས་དུས་མཐུན་ཚུ་ཞིབ་དཔྱད་འབད།", + "settings.updates.row.check.title": "དུས་མཐུན་ཚུ་ཞིབ་དཔྱད་འབད།", + "settings.updates.row.check.description": + "ལག་ཐོག་ལས་དུས་མཐུན་ཚུ་ཞིབ་དཔྱད་འབད་ཞིནམ་ལས་ འཐོབ་ཚུགས་པ་ཅིན་གཞི་བཙུགས་འབད།", + "settings.updates.action.checkNow": "ད་ལྟོ་ཞིབ་དཔྱད་འབད།", + "settings.updates.action.checking": "ཞིབ་དཔྱད་འབད་དོ།", + "settings.updates.action.downloading": "ཕབ་ལེན་འབད་དོ།", + "settings.updates.action.installing": "གཞི་བཙུགས་འབད་དོ།", + "settings.updates.toast.latest.title": "ཁྱོད་དུས་དང་བསྟུན།", + "settings.updates.toast.latest.description": "ཁྱོད་ཀྱིས་ OpenCodeགི་ཐོན་རིམ་གསརཔ་འདི་གཡོག་བཀོལ་དོ།", + "sound.option.none": "ག་ནི་ཡང་མེདཔ།", + "sound.option.alert01": "Alert 01", + "sound.option.alert02": "Alert 02", + "sound.option.alert03": "Alert 03", + "sound.option.alert04": "Alert 04", + "sound.option.alert05": "Alert 05", + "sound.option.alert06": "Alert 06", + "sound.option.alert07": "Alert 07", + "sound.option.alert08": "Alert 08", + "sound.option.alert09": "Alert 09", + "sound.option.alert10": "Alert 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "Nope 01", + "sound.option.nope02": "Nope 02", + "sound.option.nope03": "Nope 03", + "sound.option.nope04": "Nope 04", + "sound.option.nope05": "Nope 05", + "sound.option.nope06": "Nope 06", + "sound.option.nope07": "Nope 07", + "sound.option.nope08": "Nope 08", + "sound.option.nope09": "Nope 09", + "sound.option.nope10": "Nope 10", + "sound.option.nope11": "Nope 11", + "sound.option.nope12": "Nope 12", + "sound.option.yup01": "Yup 01", + "sound.option.yup02": "Yup 02", + "sound.option.yup03": "Yup 03", + "sound.option.yup04": "Yup 04", + "sound.option.yup05": "Yup 05", + "sound.option.yup06": "Yup 06", + "settings.general.notifications.agent.title": "ལས་ཚབ།", + "settings.general.notifications.agent.description": + "ལས་ཚབ་འདི་མཇུག་བསྡུ་ཡོདཔ་ ཡང་ན་ དོ་སྣང་དགོཔ་ད་ རིམ་ལུགས་བརྡ་བསྐུལ་སྟོན།", + "settings.general.notifications.permissions.title": "གནང་བ་ཚུ།", + "settings.general.notifications.permissions.description": "གནང་བ་ཅིག་དགོ་པའི་སྐབས་ རིམ་ལུགས་བརྡ་བསྐུལ་སྟོན།", + "settings.general.notifications.errors.title": "འཛོལ་བ།", + "settings.general.notifications.errors.description": "འཛོལ་བ་བྱུངམ་ད་ རིམ་ལུགས་བརྡ་བསྐུལ་སྟོན།", + "settings.general.sounds.agent.title": "ལས་ཚབ།", + "settings.general.sounds.agent.description": "ལས་ཚབ་འདི་མཇུག་བསྡུ་བའི་སྐབས་ཡང་ན་དོ་སྣང་དགོ་པའི་སྐབས་སྒྲ་གཏང་།", + "settings.general.sounds.permissions.title": "གནང་བ་ཚུ།", + "settings.general.sounds.permissions.description": "གནང་བ་དགོཔ་ད་ སྒྲ་སྐད་གཏང་ནི།", + "settings.general.sounds.errors.title": "འཛོལ་བ།", + "settings.general.sounds.errors.description": "འཛོལ་བ་བྱུངམ་ད་སྒྲ་སྐད་གཏང་།", + "settings.shortcuts.title": "ལྡེ་སྒྲོམ་གྱི་མགྱོགས་ཐབས།", + "settings.shortcuts.reset.button": "སྔོན་སྒྲིག་ཚུ་ལུ་སླར་སྒྲིག་འབད།", + "settings.shortcuts.reset.toast.title": "མགྱོགས་ཐབས་སླར་སྒྲིག་འབད།", + "settings.shortcuts.reset.toast.description": + "ལྡེ་སྒྲོམ་གྱི་མགྱོགས་ཐབས་ཚུ་ སྔོན་སྒྲིག་ཚུ་ལུ་ སླར་སྒྲིག་འབད་ཡོདཔ་ཨིན།", + "settings.shortcuts.conflict.title": "མགྱོགས་ཐབས་ཧེ་མ་ལས་ལག་ལེན་འཐབ་དོ།", + "settings.shortcuts.conflict.description": "{{keybind}} འདི་ ཧེ་མ་ལས་རང་ {{titles}} ལུ་འགན་སྤྲོད་འབད་ཡོདཔ་ཨིན།", + "settings.shortcuts.unassigned": "འགན་སྤྲོད་མ་འབད་བ།", + "settings.shortcuts.pressKeys": "ལྡེ་མིག་ཨེབ།", + "settings.shortcuts.search.placeholder": "འཚོལ་ཞིབ་མགྱོགས་ཐབས་ཚུ།", + "settings.shortcuts.search.empty": "མགྱོགས་ཐབས་འཚོལ་མ་ཐོབ།", + "settings.shortcuts.group.general": "སྤྱིར༌བཏང", + "settings.shortcuts.group.session": "ལཱ་ཡུན།", + "settings.shortcuts.group.navigation": "འགྲུལ་བསྐྱོད།", + "settings.shortcuts.group.modelAndAgent": "དཔེ་ཚད་དང་ལས་ཚབ།", + "settings.shortcuts.group.terminal": "ཊར་མི་ནཱལ།", + "settings.shortcuts.group.prompt": "འདི་འཕྲོ་ལས", + "settings.providers.title": "བྱིན་མི་ཚུ།", + "settings.providers.description": "བྱིན་མི་སྒྲིག་སྟངས་ཚུ་ ནཱ་ལུ་རིམ་སྒྲིག་འབད་བཏུབ།", + "settings.providers.section.connected": "མཐུད་ཡོད་པའི་བྱིན་མི་ཚུ།", + "settings.providers.connected.empty": "མཐུད་ཡོད་པའི་བྱིན་མི་མེད།", + "settings.providers.connected.environmentDescription": "ཁྱོད་ཀྱི་མཐའ་འཁོར་འགྱུར་ཅན་ཚུ་ལས་མཐུད་ཡོདཔ།", + "settings.providers.section.popular": "ཡོངས་གྲགས་ཅན་གྱི་བྱིན་མི་ཚུ།", + "settings.providers.custom.description": "གཞི་རྟེན་ URLགིས་ OpenAI-མཐུན་འགྱུར་བྱིན་མི་ཅིག་ཁ་སྐོང་བརྐྱབ།", + "settings.providers.tag.environment": "མཐའ་འཁོར", + "settings.providers.tag.config": "རིམ་སྒྲིག།", + "settings.providers.tag.custom": "ལུགས་སྲོལ", + "settings.providers.tag.other": "གཞན", + "settings.models.title": "དཔེ་ཚད།", + "settings.models.description": "དཔེ་ཚད་སྒྲིག་སྟངས་ཚུ་ནཱ་ལུ་རིམ་སྒྲིག་འབད་བཏུབ་འོང་།", + "settings.agents.title": "ལས་ཚབ་ཚུ།", + "settings.agents.description": "ལས་ཚབ་སྒྲིག་སྟངས་ཚུ་ནཱ་ལུ་རིམ་སྒྲིག་འབད་བཏུབ་འོང་།", + "settings.commands.title": "བརྡ་བཀོད་ཚུ།", + "settings.commands.description": "བརྡ་བཀོད་སྒྲིག་སྟངས་ཚུ་ ནཱ་ལུ་རིམ་སྒྲིག་འབད་བཏུབ་འོང་།", + "settings.mcp.title": "MCP།", + "settings.mcp.description": "MCP སྒྲིག་སྟངས་ཚུ་ ནཱ་ལུ་རིམ་སྒྲིག་འབད་བཏུབ་འོང་།", + "settings.permissions.title": "གནང་བ་ཚུ།", + "settings.permissions.description": "སར་བར་གྱིས་སྔོན་སྒྲིག་གིས་ལག་ཆས་ག་ཅི་ལག་ལེན་འཐབ་ཚུགསཔ་ཨིན་ན་ཚད་འཛིན་འབད།", + "settings.permissions.section.tools": "ཐབས༌ཤེས", + "settings.permissions.toast.updateFailed.title": "གནང་བ་ཚུ་དུས་མཐུན་བཟོ་ནི་འཐུས་ཤོར་འབྱུང་ཡོདཔ།", + "settings.permissions.action.allow": "བྱིན་ནི", + "settings.permissions.action.ask": "དྲི་ནི", + "settings.permissions.action.deny": "ཁས༌མི༌ལེན", + "settings.permissions.tool.read.title": "ལྸག་ནི", + "settings.permissions.tool.read.description": "ཡིག་སྣོད་ཅིག་ལྷག་དོ(ཡིག་སྣོད་འགྲུལ་ལམ་མཐུན་སྒྲིག་འབདཝ་ཨིན།)", + "settings.permissions.tool.edit.title": "ཞུན༌དག", + "settings.permissions.tool.edit.description": + "ཞུན་དག་དང་འབྲི་ནི་ དེ་ལས་ཐབས་འཕྲུལ་ཚུ་གྲངས་སུ་བཙུགས་ཏེ་ཡིག་སྣོད་ཚུ་ལེགས་བཅོས་འབད།", + "settings.permissions.tool.glob.title": "Glob།", + "settings.permissions.tool.glob.description": "གོ་ལོབ་དཔེ་གཞི་ཚུ་ལག་ལེན་འཐབ་ཐོག་ལས་ཡིག་སྣོད་ཚུ་མཐུན་སྒྲིག་འབད།", + "settings.permissions.tool.grep.title": "Grep།", + "settings.permissions.tool.grep.description": + "དུས་རྒྱུན་གསལ་བརྗོད་ཚུ་ལག་ལེན་འཐབ་ཐོག་ཡིག་སྣོད་ནང་དོན་ཚུ་འཚོལ་ཞིབ་འབད།", + "settings.permissions.tool.list.title": "ཐོ", + "settings.permissions.tool.list.description": "སྣོད་ཐོ་ཅིག་གི་ནང་འཁོད་ཡིག་སྣོད་ཚུ་ཐོ་བཀོད་འབད།", + "settings.permissions.tool.bash.title": "Bash།", + "settings.permissions.tool.bash.description": "ཤལ་བརྡ་བཀོད་ཚུ་གཡོག་བཀོལ།", + "settings.permissions.tool.task.title": "ལཱ", + "settings.permissions.tool.task.description": "ཡན་ལག་ལས་ཚབ་ཚུ་འགོ་བཙུགས།", + "settings.permissions.tool.skill.title": "རིག་རྩལ", + "settings.permissions.tool.skill.description": "མིང་གིས་རིག་རྩལ་ཅིག་མངོན་གསལ་འབད།", + "settings.permissions.tool.lsp.title": "LSP།", + "settings.permissions.tool.lsp.description": "སྐད་ཡིག་སར་བར་གྱི་འདྲི་དཔྱད་ཚུ་གཡོག་བཀོལ།", + "settings.permissions.tool.todowrite.title": "Todo Write།", + "settings.permissions.tool.todowrite.description": "འབད་དགོ་པའི་ཐོ་ཡིག་དུས་མཐུན་བཟོ།", + "settings.permissions.tool.webfetch.title": "Web Fetch།", + "settings.permissions.tool.webfetch.description": "URLནང་ལས་ནང་དོན་ལེན།", + "settings.permissions.tool.websearch.title": "Web Search", + "settings.permissions.tool.websearch.description": "ཝེབ་འཚོལ་ཞིབ།", + "settings.permissions.tool.external_directory.title": "ཕྱིའི་སྣོད་ཐོ།", + "settings.permissions.tool.external_directory.description": "ལས་འགུལ་སྣོད་ཐོའི་ཕྱི་ཁར་ཡིག་སྣོད་ཚུ་འཛུལ་སྤྱོད་འབད།", + "settings.permissions.tool.doom_loop.title": "Doom Loop།", + "settings.permissions.tool.doom_loop.description": + "ཅོག་འཐདཔ་ཨིན་པུཊི་གཅིག་ཁར་ ལག་ཆས་འབོད་བརྡ་ཚུ་ཡང་བསྐྱར་སྐྱོན་འཛིན་འབད།", + "session.delete.failed.title": "ལཱ་ཡུན་བཏོན་གཏང་ནི་ལུ་འཐུས་ཤོར་འབྱུང་ཡོདཔ།", + "session.delete.title": "ལཱ་ཡུན་བཏོན་གཏང་།", + "session.delete.confirm": 'ལཱ་ཡུན་ "{{name}}" བཏོན་གཏང་ནི་ཨིན་ན?', + "session.delete.button": "ལཱ་ཡུན་བཏོན་གཏང་།", + "workspace.new": "ལཱ་གི་ས་སྒོ་གསརཔ།", + "workspace.type.local": "ས་གནས་ཀྱི", + "workspace.type.sandbox": "བྱེ་སྒམ།", + "workspace.create.failed.title": "ལཱ་གི་ས་སྒོ་གསར་བསྐྲུན་འབད་ནི་ལུ་འཐུས་ཤོར་འབྱུང་ཡོདཔ།", + "workspace.delete.failed.title": "ལཱ་གི་ས་སྒོ་བཏོན་གཏང་ནི་ལུ་འཐུས་ཤོར་འབྱུང་ཡོདཔ།", + "workspace.resetting.title": "ལཱ་གི་ས་སྒོ་སླར་སྒྲིག་འབད་དོ།", + "workspace.resetting.description": "འདི་སྐར་མ་གཅིག་འགོར་འོང་།", + "workspace.reset.failed.title": "ལཱ་གི་ས་སྒོ་སླར་སྒྲིག་འབད་ནི་ལུ་འཐུས་ཤོར་འབྱུང་ཡོདཔ།", + "workspace.reset.success.title": "ལཱ་གི་ས་སྒོ་སླར་སྒྲིག་འབད།", + "workspace.reset.success.description": "ལཱ་གི་ས་སྒོ་འདི་ད་ལྟོ་སྔོན་སྒྲིག་ཡན་ལག་ལུ་མཐུན་སྒྲིག་འབདཝ་ཨིན།", + "workspace.error.stillPreparing": "ལཱ་གི་ས་སྒོ་འདི་ ད་ལྟོ་ཡང་གྲ་སྒྲིག་འབད་དོ།", + "workspace.status.checking": "མཉམ་བསྡོམས་མ་འབད་བའི་བསྒྱུར་བཅོས་ཚུ་ཞིབ་དཔྱད་འབད་དོ...", + "workspace.status.error": "ཇིཊི་གནས་ཚད་བདེན་སྦྱོར་འབད་མ་ཚུགས།", + "workspace.status.clean": "མཉམ་བསྡོམས་མ་འབད་བའི་བསྒྱུར་བཅོས་ཚུ་ སྐྱོན་འཛིན་མ་འབད་བས།", + "workspace.status.dirty": "ལཱ་གི་ས་སྒོ་འདི་ནང་མཉམ་བསྡོམས་མ་འབད་བའི་བསྒྱུར་བཅོས་ཚུ་སྐྱོན་འཛིན་འབད་ཡོདཔ།", + "workspace.delete.title": "ལཱ་གི་ས་སྒོ་བཏོན་གཏང་།", + "workspace.delete.confirm": 'ལཱ་གི་ས་སྒོ་ "{{name}}" བཏོན་གཏང་ནི་ཨིན་ན?', + "workspace.delete.button": "ལཱ་གི་ས་སྒོ་བཏོན་གཏང་།", + "workspace.reset.title": "ལཱ་གི་ས་སྒོ་སླར་སྒྲིག་འབད།", + "workspace.reset.confirm": 'ལཱ་གི་ས་སྒོ་ "{{name}}" སླར་སྒྲིག་འབད་ནི་ཨིན་ན?', + "workspace.reset.button": "ལཱ་གི་ས་སྒོ་སླར་སྒྲིག་འབད།", + "workspace.reset.archived.none": "ཤུགས་ལྡན་ལཱ་ཡུན་ཚུ་གཏན་མཛོད་མི་འབད།", + "workspace.reset.archived.one": "ལཱ་ཡུན་ ༡ གཏན་མཛོད་ནང་བཞག་འོང་།", + "workspace.reset.archived.many": "{{count}} ལཱ་ཡུན་ཚུ་ཡིག་མཛོད་ནང་བཞག་འོང་།", + "workspace.reset.note": "འདི་གིས་ སྔོན་སྒྲིག་ཡན་ལག་མཐུན་སྒྲིག་འབད་ནི་ལུ་ ལཱ་གི་ས་སྒོ་འདི་སླར་སྒྲིག་འབད་འོང་།", + "dialog.usageExceeded.dontShowAgain": "ལོག་སྟེ་མ་སྟོན།", +} diff --git a/packages/app/src/i18n/el.ts b/packages/app/src/i18n/el.ts new file mode 100644 index 000000000000..8f91b46af010 --- /dev/null +++ b/packages/app/src/i18n/el.ts @@ -0,0 +1,1173 @@ +export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Αρχείο", + "desktop.menu.edit": "Επεξεργασία", + "desktop.menu.view": "Προβολή", + "desktop.menu.go": "Μετάβαση", + "desktop.menu.window": "Παράθυρο", + "desktop.menu.help": "Βοήθεια", + "desktop.menu.checkForUpdates": "Έλεγχος για ενημερώσεις...", + "desktop.menu.settings": "Ρυθμίσεις", + "desktop.menu.reloadWebview": "Επανάληψη φόρτωσης Webview", + "desktop.menu.restart": "Επανεκκίνηση", + "desktop.menu.exportLogs": "Εξαγωγή αρχείων καταγραφής...", + "desktop.menu.newSession": "Νέα συνεδρία", + "desktop.menu.openProject": "Άνοιγμα έργου...", + "desktop.menu.newWindow": "Νέο παράθυρο", + "desktop.menu.closeWindow": "Κλείσιμο παραθύρου", + "desktop.menu.undo": "Αναίρεση", + "desktop.menu.redo": "Επανάληψη", + "desktop.menu.cut": "Αποκοπή", + "desktop.menu.copy": "Αντιγραφή", + "desktop.menu.paste": "Επικόλληση", + "desktop.menu.delete": "Διαγραφή", + "desktop.menu.selectAll": "Επιλογή όλων", + "desktop.menu.toggleSidebar": "Εναλλαγή πλευρικής γραμμής", + "desktop.menu.toggleTerminal": "Εναλλαγή τερματικού", + "desktop.menu.toggleFileTree": "Εναλλαγή δέντρου αρχείου", + "desktop.menu.reload": "Επανάληψη φόρτωσης", + "desktop.menu.toggleDeveloperTools": "Εναλλαγή εργαλείων προγραμματιστή", + "desktop.menu.actualSize": "Πραγματικό μέγεθος", + "desktop.menu.zoomIn": "Μεγέθυνση", + "desktop.menu.zoomOut": "Σμίκρυνση", + "desktop.menu.toggleFullScreen": "Εναλλαγή πλήρους οθόνης", + "desktop.menu.back": "Πίσω", + "desktop.menu.forward": "Προώθηση", + "desktop.menu.previousSession": "Προηγούμενη συνεδρία", + "desktop.menu.nextSession": "Επόμενη συνεδρία", + "desktop.menu.previousProject": "Προηγούμενο έργο", + "desktop.menu.nextProject": "Επόμενο έργο", + "desktop.menu.minimize": "Ελαχιστοποίηση", + "desktop.menu.maximize": "Μεγιστοποίηση", + "desktop.menu.documentation": "OpenCode Τεκμηρίωση", + "desktop.menu.supportForum": "Φόρουμ υποστήριξης", + "desktop.menu.shareFeedback": "Κοινή χρήση σχολίων", + "desktop.menu.reportBug": "Αναφορά σφάλματος", + "desktop.menu.ariaLabel": "OpenCode μενού", + "desktop.updater.dialog.checkFailed.message": "Ο έλεγχος ενημέρωσης απέτυχε.", + "desktop.updater.dialog.checkFailed.title": "Σφάλμα ενημέρωσης", + "desktop.updater.dialog.upToDate.message": "Είστε ενημερωμένοι.", + "desktop.updater.dialog.upToDate.title": "Χωρίς ενημερώσεις", + "desktop.updater.dialog.ready.message": "Η ενημέρωση {{version}} λήφθηκε. Επανεκκίνηση τώρα;", + "desktop.updater.dialog.ready.title": "Έτοιμη ενημέρωση", + "desktop.updater.dialog.restart": "Επανεκκίνηση", + "desktop.updater.dialog.later": "Αργότερα", + "desktop.recovery.action.relaunch": "Επανεκκίνηση", + "desktop.recovery.action.exportLogs": "Εξαγωγή αρχείων καταγραφής", + "desktop.recovery.action.keepWaiting": "Συνεχίστε την αναμονή", + "desktop.recovery.action.quit": "Τερματισμός", + "desktop.recovery.loadFailed": "OpenCode απέτυχε η φόρτωση", + "desktop.recovery.terminated": "OpenCode το παράθυρο τερματίστηκε απροσδόκητα", + "desktop.recovery.unresponsive": "OpenCode δεν αποκρίνεται", + "desktop.recovery.unresponsive.detail": + "Μπορείτε να επανεκκινήσετε την εφαρμογή, να ανοίξετε τα αρχεία καταγραφής ή να συνεχίσετε να περιμένετε.", + "desktop.recovery.loadFailed.detail": "Παράθυρο: {{window}}\nURL: {{url}}\nΣφάλμα: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Παράθυρο: {{window}}\nΑιτία: {{reason}}\nΚωδικός: {{code}}", + "desktop.recovery.unknown": "", + "desktop.dialog.chooseFolder": "Επιλογή φακέλου", + "desktop.dialog.chooseFile": "Επιλογή αρχείου", + "desktop.dialog.saveFile": "Αποθήκευση αρχείου", + "desktop.dialog.files": "Αρχεία", + "desktop.server.local": "Τοπικός διακομιστής", + "desktop.wsl.error.windowsOnly": "WSL είναι διαθέσιμο μόνο στις Windows", + "desktop.wsl.error.unavailable": "WSL δεν είναι διαθέσιμο", + "desktop.wsl.error.listInstalled": "Απέτυχε η λίστα εγκατεστημένων WSL διανομών", + "desktop.wsl.error.listOnline": "Απέτυχε η λίστα με τις διαδικτυακές διανομές WSL", + "desktop.wsl.error.executeDistro": "Δεν είναι δυνατή η εκτέλεση εντολών στη διανομή", + "desktop.wsl.error.installWsl": "WSL η εγκατάσταση απέτυχε", + "desktop.wsl.error.installDistro": "Αποτυχία εγκατάστασης διανομής: {{distro}}", + "desktop.wsl.error.installOpencode": "OpenCode η εγκατάσταση απέτυχε", + "desktop.wsl.error.alreadyAdded": "{{distro}} έχει ήδη προστεθεί", + "desktop.wsl.error.opencodeMissing": "ο ανοιχτός κώδικας δεν είναι εγκατεστημένος σε αυτήν τη διανομή", + "desktop.wsl.error.opencodeCannotRun": "ο ανοιχτός κώδικας είναι εγκατεστημένος αλλά δεν ήταν δυνατή η εκτέλεση", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode δεν είναι εγκατεστημένο στο {{distro}}", + "desktop.wsl.error.updateVersion": + "OpenCode η ενημέρωση ολοκληρώθηκε αλλά το {{distro}} εξακολουθεί να αναφέρει {{installed}}; αναμενόμενο {{expected}}", + "desktop.wsl.error.noVersion": "χωρίς έκδοση", + "desktop.wsl.error.serverExited": "WSL έξοδος διακομιστή μετά την εκκίνηση (code={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL ο διακομιστής εξήλθε πριν γίνει υγιής (code={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": "Το πλευρικό καρότσι για έλεγχο υγείας {{distro}} έληξε μετά από {{timeout}}ms", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} έληξε μετά από {{timeout}}ms", + "desktop.wsl.error.failedPort": "Αποτυχία λήψης θύρας", + "desktop.picker.error.notSelected": "Το αρχείο δεν επιλέχθηκε από τον επιλογέα", + "desktop.picker.error.sizeLimit": "Τα επιλεγμένα συνημμένα υπερβαίνουν το όριο των {{limit}} MB", + "command.category.suggested": "Προτεινόμενο", + "command.category.view": "Προβολή", + "command.category.project": "Έργο", + "command.category.provider": "Πάροχος", + "command.category.server": "Διακομιστής", + "command.category.session": "Συνεδρία", + "command.category.theme": "Θέμα", + "command.category.language": "Γλώσσα", + "command.category.file": "Αρχείο", + "command.category.context": "Πλαίσιο", + "command.category.terminal": "Τερματικό", + "command.category.model": "Μοντέλο", + "command.category.mcp": "MCP", + "command.category.agent": "Πράκτορας", + "command.category.permissions": "Δικαιώματα", + "command.category.workspace": "Χώρος εργασίας", + "command.category.settings": "Ρυθμίσεις", + "command.logs.export": "Εξαγωγή αρχείων καταγραφής", + "theme.scheme.system": "Σύστημα", + "theme.scheme.light": "Φωτεινό", + "theme.scheme.dark": "Σκούρο", + "command.sidebar.toggle": "Εναλλαγή πλαϊνής γραμμής", + "command.project.open": "Άνοιγμα έργου", + "command.project.previous": "Προηγούμενο έργο", + "command.project.next": "Επόμενο έργο", + "command.project.index": "Εναλλαγή στο έργο {{index}}", + "command.provider.connect": "Σύνδεση παρόχου", + "command.server.switch": "Εναλλαγή διακομιστή", + "command.settings.open": "Άνοιγμα ρυθμίσεων", + "command.session.previous": "Προηγούμενη συνεδρία", + "command.session.next": "Επόμενη συνεδρία", + "command.session.previous.unseen": "Προηγούμενη μη αναγνωσμένη συνεδρία", + "command.session.next.unseen": "Επόμενη μη αναγνωσμένη συνεδρία", + "command.session.archive": "Αρχειοθέτηση συνεδρίας", + "command.palette": "Παλέτα εντολών", + "command.theme.cycle": "Θέμα κύκλου", + "command.theme.set": "Χρήση θέματος: {{theme}}", + "command.theme.scheme.cycle": "Χρωματικός συνδυασμός κύκλου", + "command.theme.scheme.set": "Χρήση συνδυασμού χρωμάτων: {{scheme}}", + "command.language.cycle": "Γλώσσα κύκλου", + "command.language.set": "Γλώσσα χρήσης: {{language}}", + "command.session.new": "Νέα συνεδρία", + "command.file.open": "Άνοιγμα αρχείου", + "command.tab.close": "Κλείσιμο καρτέλας", + "command.tab.reopenClosed": "Άνοιγμα ξανά κλειστής καρτέλας", + "command.context.addSelection": "Προσθήκη επιλογής στο πλαίσιο", + "command.context.addSelection.description": "Προσθήκη επιλεγμένων γραμμών από το τρέχον αρχείο", + "command.input.focus": "Εισαγωγή εστίασης", + "command.terminal.toggle": "Εναλλαγή τερματικού", + "command.fileTree.toggle": "Εναλλαγή δέντρου αρχείου", + "command.review.toggle": "Εναλλαγή αναθεώρησης", + "command.terminal.new": "Νέο τερματικό", + "command.terminal.new.description": "Δημιουργία νέας καρτέλας τερματικού", + "command.steps.toggle": "Εναλλαγή βημάτων", + "command.steps.toggle.description": "Εμφάνιση ή απόκρυψη βημάτων για το τρέχον μήνυμα", + "command.message.previous": "Προηγούμενο μήνυμα", + "command.message.previous.description": "Μετάβαση στο προηγούμενο μήνυμα χρήστη", + "command.message.next": "Επόμενο μήνυμα", + "command.message.next.description": "Μετάβαση στο επόμενο μήνυμα χρήστη", + "command.model.choose": "Επιλογή μοντέλου", + "command.model.choose.description": "Επιλέξτε διαφορετικό μοντέλο", + "command.mcp.toggle": "Εναλλαγή MCPs", + "command.mcp.toggle.description": "Εναλλαγή MCPs", + "command.agent.cycle": "Εναλλαγή πράκτορα", + "command.agent.cycle.description": "Μετάβαση στον επόμενο πράκτορα", + "command.agent.cycle.reverse": "Μετάβαση στον προηγούμενο πράκτορα", + "command.agent.cycle.reverse.description": "Εναλλαγή στον προηγούμενο πράκτορα", + "command.model.variant.cycle": "Εναλλαγή επιπέδου συλλογιστικής", + "command.model.variant.cycle.description": "Μετάβαση στο επόμενο επίπεδο προσπάθειας", + "command.prompt.mode.shell": "Shell", + "command.prompt.mode.normal": "Προτροπή", + "command.permissions.autoaccept.enable": "Αυτόματη αποδοχή δικαιωμάτων", + "command.permissions.autoaccept.disable": "Διακοπή αυτόματης αποδοχής δικαιωμάτων", + "command.workspace.toggle": "Εναλλαγή χώρων εργασίας", + "command.workspace.toggle.description": "Ενεργοποίηση ή απενεργοποίηση πολλών χώρων εργασίας στην πλαϊνή γραμμή", + "command.session.undo": "Αναίρεση", + "command.session.undo.description": "Αναίρεση του τελευταίου μηνύματος", + "command.session.redo": "Επανάληψη", + "command.session.redo.description": "Επανάληψη του τελευταίου μηνύματος που αναιρέθηκε", + "command.session.compact": "Συμπαγής συνεδρία", + "command.session.compact.description": "Συνοψήστε τη συνεδρία για να μειώσετε το μέγεθος του περιβάλλοντος", + "command.session.fork": "Διακλάδωση από μήνυμα", + "command.session.fork.description": "Δημιουργία νέας συνεδρίας από προηγούμενο μήνυμα", + "command.session.share": "Κοινή χρήση συνεδρίας", + "command.session.share.description": "Κοινή χρήση αυτής της συνεδρίας και αντιγράψτε το URL στο πρόχειρο", + "command.session.unshare": "Κατάργηση κοινής χρήσης συνεδρίας", + "command.session.unshare.description": "Διακοπή κοινής χρήσης αυτής της συνεδρίας", + "command.session.export": "Εξαγωγή συνεδρίας", + "command.session.export.description": "Εξαγωγή της πλήρους μεταγραφής της συνεδρίας ως JSON", + "palette.search.placeholder": "Αναζήτηση αρχείων, εντολών και συνεδριών", + "palette.search.placeholder.home": "Αναζήτηση εντολών και συνεδρίες", + "palette.empty": "Δεν βρέθηκαν αποτελέσματα", + "palette.group.commands": "Εντολές", + "palette.group.files": "Αρχεία", + "dialog.provider.search.placeholder": "Αναζήτηση παρόχων", + "dialog.provider.empty": "Δεν βρέθηκαν πάροχοι", + "dialog.provider.group.popular": "Δημοφιλή", + "dialog.provider.group.other": "Άλλο", + "dialog.provider.custom.label": "Προσαρμοσμένη OpenAI-συμβατός πάροχος", + "dialog.provider.tag.recommended": "Συνιστάται", + "dialog.provider.opencode.note": "Επιμελημένα μοντέλα συμπεριλαμβανομένων των Claude, GPT, Gemini και άλλων", + "dialog.provider.opencode.tagline": "Αξιόπιστα βελτιστοποιημένα μοντέλα", + "dialog.provider.opencodeGo.tagline": "Συνδρομή χαμηλού κόστους για όλους", + "dialog.provider.anthropic.note": "Άμεση πρόσβαση σε Claude μοντέλα, συμπεριλαμβανομένων των Pro και Max", + "dialog.provider.copilot.note": "Μοντέλα AI για βοήθεια κωδικοποίησης μέσω GitHub Copilot", + "dialog.provider.openai.note": "GPT μοντέλα για γρήγορες, ικανές εργασίες γενικής τεχνητής νοημοσύνης", + "dialog.provider.google.note": "Gemini μοντέλα για γρήγορες, δομημένες απαντήσεις", + "dialog.provider.openrouter.note": "Πρόσβαση σε όλα τα υποστηριζόμενα μοντέλα από έναν πάροχο", + "dialog.provider.vercel.note": "Ενοποιημένη πρόσβαση σε μοντέλα τεχνητής νοημοσύνης με έξυπνη δρομολόγηση", + "dialog.model.select.title": "Επιλογή μοντέλου", + "dialog.model.search.placeholder": "Αναζήτηση μοντέλων", + "dialog.model.empty": "Δεν υπάρχουν αποτελέσματα μοντέλου", + "dialog.model.manage": "Διαχείριση μοντέλων", + "dialog.model.manage.description": "Προσαρμογή των μοντέλων που εμφανίζονται στον επιλογέα μοντέλων.", + "dialog.model.manage.provider.toggle": "Εναλλαγή όλων των {{provider}} μοντέλων", + "dialog.model.unpaid.freeModels.title": "Δωρεάν μοντέλα παρέχονται από OpenCode", + "dialog.model.unpaid.addMore.title": "Προσθήκη περισσότερων μοντέλων από δημοφιλείς παρόχους", + "dialog.model.unpaid.viewMoreProviders": "Δείτε 70+ ακόμη παρόχους", + "dialog.provider.viewAll": "Εμφάνιση περισσότερων παρόχων", + "provider.connect.title": "Σύνδεση {{provider}}", + "provider.connect.title.anthropicProMax": "Σύνδεση με Claude Pro/Max", + "provider.connect.selectMethod": "Επιλογή μεθόδου σύνδεσης για {{provider}}.", + "provider.connect.method.apiKey": "API κλειδί", + "provider.connect.method.browser": "Πρόγραμμα περιήγησης", + "provider.connect.method.headless": "Χωρίς γραφικό περιβάλλον", + "provider.connect.status.inProgress": "Εξουσιοδότηση σε εξέλιξη...", + "provider.connect.status.waiting": "Αναμονή για εξουσιοδότηση...", + "provider.connect.status.failed": "Η εξουσιοδότηση απέτυχε: {{error}}", + "provider.connect.apiKey.description": + "Εισαγάγετε το κλειδί {{provider}} API για να συνδέσετε τον λογαριασμό σας και χρησιμοποιήστε μοντέλα {{provider}} στο OpenCode.", + "provider.connect.apiKey.label": "{{provider}} API κλειδί", + "provider.connect.apiKey.placeholder": "API κλειδί", + "provider.connect.apiKey.required": "API απαιτείται κλειδί", + "provider.connect.opencodeZen.line1": + "OpenCode Το Zen σάς δίνει πρόσβαση σε ένα επιμελημένο σύνολο αξιόπιστων βελτιστοποιημένων μοντέλων για πράκτορες κωδικοποίησης.", + "provider.connect.opencodeZen.line2": + "Με ένα μόνο κλειδί API θα έχετε πρόσβαση σε μοντέλα όπως Claude, GPT, Gemini, GLM και άλλα.", + "provider.connect.opencodeZen.visit.prefix": "Επίσκεψη ", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": " για τη συλλογή του κλειδιού σας API.", + "provider.connect.oauth.code.visit.prefix": "Επίσκεψη ", + "provider.connect.oauth.code.visit.link": "αυτός ο σύνδεσμος", + "provider.connect.oauth.code.visit.suffix": + " για να συλλέξετε τον κωδικό εξουσιοδότησης για να συνδέσετε τον λογαριασμό σας και να χρησιμοποιήσετε {{provider}} μοντέλα στο OpenCode.", + "provider.connect.oauth.code.label": "{{method}} κωδικός εξουσιοδότησης", + "provider.connect.oauth.code.placeholder": "Κωδικός εξουσιοδότησης", + "provider.connect.oauth.code.required": "Απαιτείται κωδικός εξουσιοδότησης", + "provider.connect.oauth.code.invalid": "Μη έγκυρος κωδικός εξουσιοδότησης", + "provider.connect.oauth.auto.visit.prefix": "Επίσκεψη ", + "provider.connect.oauth.auto.visit.link": "αυτός ο σύνδεσμος", + "provider.connect.oauth.auto.visit.suffix": + " και εισαγάγετε τον παρακάτω κωδικό για να συνδέσετε τον λογαριασμό σας και να χρησιμοποιήσετε {{provider}} μοντέλα στο OpenCode.", + "provider.connect.oauth.auto.confirmationCode": "Κωδικός επιβεβαίωσης", + "provider.connect.toast.connected.title": "{{provider}} συνδεδεμένο", + "provider.connect.toast.connected.description": "{{provider}} μοντέλα είναι πλέον διαθέσιμα για χρήση.", + "provider.custom.title": "Προσαρμοσμένος πάροχος", + "provider.custom.unavailable": "Οι προσαρμοσμένοι πάροχοι δεν είναι διαθέσιμοι σε αυτόν τον διακομιστή", + "provider.custom.description.prefix": "Διαμορφώστε έναν πάροχο συμβατό με OpenAI. Δείτε το ", + "provider.custom.description.link": "έγγραφα διαμόρφωσης παρόχου", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "Αναγνωριστικό παρόχου", + "provider.custom.field.providerID.placeholder": "myprovider", + "provider.custom.field.providerID.description": "Πεζά γράμματα, αριθμοί, παύλες ή κάτω παύλες", + "provider.custom.field.name.label": "Εμφανιζόμενο όνομα", + "provider.custom.field.name.placeholder": "Ο πάροχος τεχνητής νοημοσύνης μου", + "provider.custom.field.baseURL.label": "Βάση URL", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "API κλειδί", + "provider.custom.field.apiKey.placeholder": "API κλειδί", + "provider.custom.field.apiKey.description": + "Προαιρετικό. Αφήστε κενό εάν διαχειρίζεστε την ταυτότητα μέσω κεφαλίδων.", + "provider.custom.models.label": "Μοντέλα", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "model-id", + "provider.custom.models.name.label": "Όνομα", + "provider.custom.models.name.placeholder": "Εμφανιζόμενο όνομα", + "provider.custom.models.remove": "Κατάργηση μοντέλου", + "provider.custom.models.add": "Προσθήκη μοντέλου", + "provider.custom.headers.label": "Κεφαλίδες (προαιρετικά)", + "provider.custom.headers.key.label": "Κεφαλίδα", + "provider.custom.headers.key.placeholder": "Header-Name", + "provider.custom.headers.value.label": "Τιμή", + "provider.custom.headers.value.placeholder": "τιμή", + "provider.custom.headers.remove": "Κατάργηση κεφαλίδας", + "provider.custom.headers.add": "Προσθήκη κεφαλίδας", + "provider.custom.error.providerID.required": "Απαιτείται αναγνωριστικό παρόχου", + "provider.custom.error.providerID.format": "Χρησιμοποιήστε πεζά γράμματα, αριθμούς, παύλες ή κάτω παύλες", + "provider.custom.error.providerID.exists": "Αυτό το αναγνωριστικό παρόχου υπάρχει ήδη", + "provider.custom.error.name.required": "Απαιτείται το εμφανιζόμενο όνομα", + "provider.custom.error.baseURL.required": "Η βάση URL απαιτείται", + "provider.custom.error.baseURL.format": "Πρέπει να ξεκινά με http:// ή https://", + "provider.custom.error.required": "Απαιτείται", + "provider.custom.error.duplicate": "Διπλότυπο", + "provider.disconnect.toast.disconnected.title": "{{provider}} αποσυνδέθηκε", + "provider.disconnect.toast.disconnected.description": "{{provider}} μοντέλα δεν είναι πλέον διαθέσιμα.", + "model.tag.free": "Δωρεάν", + "model.tag.latest": "Τελευταία", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "κείμενο", + "model.input.image": "εικόνα", + "model.input.audio": "ήχος", + "model.input.video": "βίντεο", + "model.input.pdf": "pdf", + "model.tooltip.allows": "Επιτρέπει: {{inputs}}", + "model.tooltip.context.label": "Πλαίσιο", + "model.tooltip.inputs": "Είσοδοι", + "model.tooltip.model": "Μοντέλο", + "model.tooltip.provider": "Πάροχος", + "model.tooltip.reasoning": "Συλλογισμός", + "model.tooltip.reasoning.allowed": "Επιτρέπει τη συλλογιστική", + "model.tooltip.reasoning.none": "Χωρίς αιτιολογία", + "model.tooltip.context": "Όριο περιβάλλοντος {{limit}}", + "common.search.placeholder": "Αναζήτηση", + "common.goBack": "Πλοήγηση πίσω", + "common.goForward": "Πλοήγηση προς τα εμπρός", + "common.loading": "Φόρτωση", + "common.loading.ellipsis": "...", + "common.cancel": "Ακύρωση", + "common.clear": "Διαγραφή", + "common.open": "Άνοιγμα", + "common.connect": "Σύνδεση", + "common.disconnect": "Αποσύνδεση", + "common.continue": "Συνέχεια", + "common.submit": "Υποβολή", + "common.save": "Αποθήκευση", + "common.saving": "Αποθήκευση...", + "common.default": "Προεπιλογή", + "common.attachment": "συνημμένο", + "prompt.placeholder.shell": "Εισαγωγή εντολής κελύφους... {{example}}", + "prompt.placeholder.normal": 'Ρωτήστε οτιδήποτε... "{{example}}"', + "prompt.placeholder.simple": "Ρωτήστε οτιδήποτε...", + "prompt.placeholder.summarizeComments": "Σύνοψη σχολίων…", + "prompt.placeholder.summarizeComment": "Σύνοψη σχολίου…", + "prompt.mode.shell": "Shell", + "prompt.mode.normal": "Προτροπή", + "prompt.mode.shell.exit": "esc για έξοδο", + "session.child.promptDisabled": "Δεν είναι δυνατή η αποστολή προτροπών σε συνεδρίες υποπρακτόρων.", + "session.child.backToParent": "Επιστροφή στην κύρια συνεδρία.", + "prompt.example.1": "Διόρθωση TODO στη βάση κώδικα", + "prompt.example.2": "Ποια είναι η τεχνική στοίβα αυτού του έργου;", + "prompt.example.3": "Διόρθωση σπασμένων δοκιμών", + "prompt.example.4": "Εξηγήστε πώς λειτουργεί ο έλεγχος ταυτότητας", + "prompt.example.5": "Εύρεση και διόρθωση ευπαθειών ασφαλείας", + "prompt.example.6": "Προσθήκη δοκιμών μονάδας για την υπηρεσία χρήστη", + "prompt.example.7": "Επανασκευάστε αυτήν τη λειτουργία για να είναι πιο ευανάγνωστη", + "prompt.example.8": "Τι σημαίνει αυτό το σφάλμα;", + "prompt.example.9": "Βοηθήστε με να διορθώσω αυτό το ζήτημα", + "prompt.example.10": "Δημιουργία API τεκμηρίωσης", + "prompt.example.11": "Βελτιστοποίηση ερωτημάτων βάσης δεδομένων", + "prompt.example.12": "Προσθήκη επικύρωσης εισόδου", + "prompt.example.13": "Δημιουργία νέου στοιχείου για...", + "prompt.example.14": "Πώς μπορώ να αναπτύξω αυτό το έργο;", + "prompt.example.15": "Ελέγξτε τον κώδικά μου για βέλτιστες πρακτικές", + "prompt.example.16": "Προσθήκη χειρισμού σφαλμάτων σε αυτήν τη λειτουργία", + "prompt.example.17": "Εξηγήστε αυτό το regex μοτίβο", + "prompt.example.18": "Μετατροπή αυτού σε TypeScript", + "prompt.example.19": "Προσθήκη καταγραφής σε όλη τη βάση κώδικα", + "prompt.example.20": "Ποιες εξαρτήσεις είναι ξεπερασμένες;", + "prompt.example.21": "Βοηθήστε με να γράψω ένα σενάριο μετεγκατάστασης", + "prompt.example.22": "Εφαρμογή προσωρινής αποθήκευσης για αυτό το τελικό σημείο", + "prompt.example.23": "Προσθήκη σελιδοποίησης σε αυτήν τη λίστα", + "prompt.example.24": "Δημιουργία εντολής CLI για...", + "prompt.example.25": "Πώς λειτουργούν οι μεταβλητές περιβάλλοντος εδώ;", + "prompt.popover.emptyResults": "Δεν υπάρχουν αποτελέσματα", + "prompt.popover.emptyCommands": "Δεν ταιριάζουν εντολές", + "prompt.dropzone.label": "Αποθέστε εικόνες, αρχεία PDF ή αρχεία κειμένου εδώ", + "prompt.dropzone.file.label": "Αποβίβαση στο αρχείο @mention", + "prompt.slash.badge.custom": "προσαρμοσμένο", + "prompt.slash.badge.skill": "ικανότητα", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "ενεργό", + "prompt.context.includeActiveFile": "Συμπεριλάβετε ενεργό αρχείο", + "prompt.context.removeActiveFile": "Κατάργηση ενεργού αρχείου από το περιβάλλον", + "prompt.context.removeFile": "Κατάργηση αρχείου από το περιβάλλον", + "prompt.action.attachFile": "Προσθήκη αρχείων", + "prompt.menu.addImagesAndFiles": "Προσθήκη αρχείων και άλλα", + "prompt.menu.imagesAndFiles": "Εικόνες και αρχεία", + "prompt.menu.commands": "Εντολές", + "prompt.menu.context": "Πλαίσιο", + "prompt.menu.shellCommand": "εντολή Shell", + "prompt.attachment.remove": "Κατάργηση συνημμένου", + "prompt.action.send": "Αποστολή", + "prompt.action.stop": "Διακοπή", + "prompt.toast.pasteUnsupported.title": "Μη υποστηριζόμενο συνημμένο", + "prompt.toast.pasteUnsupported.description": "Εδώ επισυνάπτονται μόνο εικόνες, αρχεία PDF ή αρχεία κειμένου.", + "prompt.toast.attachmentDuplicate.title": "Αυτό το αρχείο έχει ήδη μεταφορτωθεί", + "prompt.toast.modelAgentRequired.title": "Επιλέξτε έναν πράκτορα και μοντέλο", + "prompt.toast.modelAgentRequired.description": + "Επιλέξτε έναν πράκτορα και ένα μοντέλο πριν στείλετε ένα μήνυμα προτροπής.", + "prompt.toast.worktreeCreateFailed.title": "Αποτυχία δημιουργίας δέντρου εργασίας", + "prompt.toast.sessionCreateFailed.title": "Αποτυχία δημιουργίας συνεδρίας", + "prompt.toast.shellSendFailed.title": "Αποτυχία αποστολής εντολής κελύφους", + "prompt.toast.commandSendFailed.title": "Αποτυχία αποστολής εντολής", + "prompt.toast.promptSendFailed.title": "Αποτυχία αποστολής προτροπής", + "prompt.toast.promptSendFailed.description": "Δεν είναι δυνατή η ανάκτηση της συνεδρίας", + "dialog.mcp.title": "MCPs", + "dialog.mcp.description": "{{enabled}} από {{total}} ενεργοποιημένα", + "dialog.mcp.empty": "Δεν έχει διαμορφωθεί το MCPs", + "dialog.lsp.empty": "LSPs ανιχνεύεται αυτόματα από τύπους αρχείων", + "dialog.plugins.empty": "Προσθήκες ρυθμισμένες στο opencode.json", + "mcp.status.connected": "συνδεδεμένος", + "mcp.status.failed": "απέτυχε", + "mcp.status.needs_auth": "χρειάζεται εξουσιοδότηση", + "mcp.status.disabled": "απενεργοποιημένο", + "mcp.auth.clickToAuthenticate": "Κάντε κλικ για έλεγχο ταυτότητας", + "dialog.fork.empty": "Δεν υπάρχουν μηνύματα για διακλάδωση", + "dialog.directory.search.placeholder": "Αναζήτηση φακέλων", + "dialog.directory.empty": "Δεν βρέθηκαν φάκελοι", + "dialog.directory.action.selectFile": "Επιλογή αρχείου", + "dialog.directory.action.selectFolder": "Επιλογή φακέλου", + "dialog.directory.root": "Ρίζα", + "dialog.directory.parent": "Γονικός", + "dialog.directory.readError": "Δεν είναι δυνατή η ανάγνωση αυτού του φακέλου", + "app.server.unreachable": "Δεν ήταν δυνατή η πρόσβαση στο {{server}}", + "app.server.retrying": "Αυτόματη προσπάθεια επανάληψης...", + "app.server.otherServers": "Άλλοι διακομιστές", + "dialog.server.title": "Διακομιστές", + "dialog.server.description": "Αλλαγή σε ποιον διακομιστή OpenCode συνδέεται αυτή η εφαρμογή.", + "dialog.server.search.placeholder": "Αναζήτηση διακομιστών", + "dialog.server.empty": "Δεν υπάρχουν ακόμη διακομιστές", + "dialog.server.add.title": "Προσθήκη διακομιστή", + "dialog.server.add.url": "Διεύθυνση διακομιστή", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "Δεν ήταν δυνατή η σύνδεση με τον διακομιστή", + "dialog.server.add.checking": "Έλεγχος...", + "dialog.server.add.button": "Προσθήκη διακομιστή", + "dialog.server.add.name": "Όνομα διακομιστή (προαιρετικό)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "Όνομα χρήστη (προαιρετικό)", + "dialog.server.add.usernamePlaceholder": "όνομα χρήστη", + "dialog.server.add.password": "Κωδικός πρόσβασης (προαιρετικό)", + "dialog.server.add.passwordPlaceholder": "κωδικός πρόσβασης", + "dialog.server.edit.title": "Επεξεργασία διακομιστή", + "dialog.server.default.title": "Προεπιλεγμένος διακομιστής", + "dialog.server.default.description": + "Συνδεθείτε σε αυτόν τον διακομιστή κατά την εκκίνηση της εφαρμογής αντί να ξεκινήσετε έναν τοπικό διακομιστή. Απαιτείται επανεκκίνηση.", + "dialog.server.default.none": "Δεν έχει επιλεγεί διακομιστής", + "dialog.server.default.set": "Ορισμός τρέχοντος διακομιστή ως προεπιλογής", + "dialog.server.default.clear": "Διαγραφή", + "dialog.server.action.remove": "Κατάργηση διακομιστή", + "dialog.server.menu.edit": "Επεξεργασία", + "dialog.server.menu.default": "Ορισμός ως προεπιλογή", + "dialog.server.menu.defaultRemove": "Κατάργηση προεπιλογής", + "dialog.server.menu.delete": "Διαγραφή", + "dialog.server.current": "Τρέχον διακομιστής", + "dialog.server.status.default": "Προεπιλογή", + "wsl.server.add": "Προσθήκη διακομιστή WSL", + "wsl.server.addShort": "Προσθήκη WSL", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "WSL διακομιστής", + "wsl.server.retryStart": "Επανάληψη έναρξης", + "wsl.server.updating": "Ενημέρωση...", + "wsl.onboarding.step.distro": "Επιλογή διανομής", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "Έλεγχος WSL...", + "wsl.onboarding.restartRequired": "Windows χρειάζεται επανεκκίνηση για να ολοκληρωθεί η εγκατάσταση του WSL.", + "wsl.onboarding.ready": "WSL είναι έτοιμο.", + "wsl.onboarding.required": "WSL απαιτείται για να συνεχίσετε.", + "wsl.onboarding.checkingDistros": "Έλεγχος διανομών...", + "wsl.onboarding.installingDistro": "Εγκατάσταση του {{distro}}...", + "wsl.onboarding.checkingDistro": "Έλεγχος {{distro}}...", + "wsl.onboarding.listingDistros": "Διανομές λίστας...", + "wsl.onboarding.distroReady": "{{distro}} είναι έτοιμο.", + "wsl.onboarding.distroNotInstalled": "{{distro}} δεν έχει εγκατασταθεί ακόμα.", + "wsl.onboarding.openDistroOnce": "Ανοίξτε το {{distro}} μία φορά για να ολοκληρώσετε τη ρύθμιση.", + "wsl.onboarding.finishingDistro": "Ολοκλήρωση της ρύθμισης για το {{distro}}.", + "wsl.onboarding.pickDistro": "Επιλέξτε μια διανομή ή εγκαταστήστε μία παρακάτω.", + "wsl.onboarding.checkingOpencode": "Έλεγχος OpenCode...", + "wsl.onboarding.checkingOpencodeIn": "Έλεγχος OpenCode σε {{distro}}...", + "wsl.onboarding.updatingOpencode": "Ενημέρωση OpenCode...", + "wsl.onboarding.updatingOpencodeIn": "Ενημέρωση OpenCode σε {{distro}}...", + "wsl.onboarding.updateOpencodeIn": "Ενημέρωση OpenCode σε {{distro}}.", + "wsl.onboarding.updateOpencode": "Ενημέρωση OpenCode", + "wsl.onboarding.opencodeReadyIn": "OpenCode είναι έτοιμο στο {{distro}}.", + "wsl.onboarding.opencodeReady": "OpenCode είναι έτοιμο.", + "wsl.onboarding.installOpencodeIn": "Εγκατάσταση του OpenCode στο {{distro}}.", + "wsl.onboarding.installOpencode": "Εγκατάσταση OpenCode", + "wsl.onboarding.chooseDistroFirst": "Επιλέξτε πρώτα μια διανομή.", + "wsl.onboarding.loadFailed": "Απέτυχε η φόρτωση της κατάστασης WSL.", + "wsl.onboarding.loading": "Φόρτωση...", + "wsl.onboarding.installedDistros": "Εγκατεστημένες διανομές", + "wsl.onboarding.checkAgain": "Έλεγχος ξανά", + "wsl.onboarding.distroStatus.ready": "Έτοιμο", + "wsl.onboarding.distroStatus.checking": "Έλεγχος...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode δεν έχει εγκατασταθεί", + "wsl.onboarding.distroStatus.missingTools": "Λείπει το bash, curl", + "wsl.onboarding.distroStatus.unsupported": "Δεν υποστηρίζεται · Χρήση WSL 2", + "wsl.onboarding.needAnotherDistro": "Χρειάζεστε άλλη διανομή;", + "wsl.onboarding.needAnotherDistroHint": "Εγκαταστήστε μια διανομή Linux από τον κατάλογο WSL", + "wsl.onboarding.wslNotInstalled.title": "WSL δεν έχει εγκατασταθεί", + "wsl.onboarding.wslNotInstalled.description": + "WSL (Windows Υποσύστημα για Linux) απαιτείται για να μπορέσει ο OpenCode να προσθέσει έναν διακομιστή WSL", + "wsl.onboarding.wslUnavailable.title": "WSL μη διαθέσιμο", + "wsl.onboarding.wslUnavailable.description": "OpenCode δεν μπόρεσε να επαληθεύσει το WSL σε αυτό το μηχάνημα.", + "wsl.onboarding.installWsl": "Εγκατάσταση WSL", + "wsl.onboarding.windowsRestartRequired": + "Επανεκκινήστε το Windows για να ολοκληρώσετε την εγκατάσταση του WSL και μετά ανοίξτε ξανά το OpenCode.", + "wsl.onboarding.next": "Επόμενο", + "wsl.onboarding.refresh": "Ανανέωση", + "wsl.onboarding.allDistrosAdded": "Όλες οι εγκατεστημένες διανομές έχουν ήδη προστεθεί.", + "wsl.onboarding.noDistros": "Δεν έχουν εντοπιστεί ακόμη διανομές.", + "wsl.onboarding.install": "Εγκατάσταση", + "wsl.onboarding.installing": "Εγκατάσταση...", + "wsl.onboarding.installDistro": "Εγκατάσταση διανομής", + "wsl.onboarding.searchDistros": "Αναζήτηση διανομών", + "wsl.onboarding.wsl2Required": "WSL 2 απαιτείται.", + "wsl.onboarding.toolsRequired": "Αυτή η διανομή χρειάζεται bash και curl.", + "wsl.onboarding.openTerminal": "Άνοιγμα τερματικού", + "wsl.onboarding.path": "Διαδρομή: {{path}}", + "wsl.onboarding.notFound": "δεν βρέθηκε", + "wsl.onboarding.version": "Έκδοση: {{version}}", + "wsl.onboarding.unknown": "άγνωστο", + "wsl.onboarding.desktopVersion": "επιτραπέζιος υπολογιστής {{version}}", + "wsl.onboarding.versionMismatch": "Η εγκατεστημένη έκδοση δεν ταιριάζει με την έκδοση της εφαρμογής για υπολογιστές.", + "wsl.onboarding.adding": "Προσθήκη...", + "help.tabs.toast.ariaLabel": "Εισαγωγή καρτελών. Οργανώστε την εργασία και τις ενεργές συνεδρίες σας με καρτέλες", + "help.tabs.toast.dismiss": "Παράβλεψη πληροφοριών καρτελών", + "help.tabs.title": "Εισαγωγή καρτελών", + "help.tabs.description": "Οργανώστε την εργασία και τις ενεργές συνεδρίες σας με καρτέλες", + "help.tabs.date": "14 Ιουλίου", + "help.tabs.introduction": "OpenCode Η επιφάνεια εργασίας είναι πλέον χτισμένη γύρω από καρτέλες.", + "help.tabs.sessions": + "Ξεκινήστε μια νέα συνεδρία σε μια καρτέλα ή ανοίξτε μια υπάρχουσα περίοδο λειτουργίας από οποιοδήποτε από τα έργα σας. Ανοίξτε μια νέα καρτέλα όταν ξεκινάτε κάτι νέο και κλείστε την όταν τελειώσετε.", + "help.tabs.organize": + "Διατηρώντας μερικές καρτέλες ανοιχτές διευκολύνετε την οργάνωση των ενεργών συνεδριών σας. Μετονομάστε τις καρτέλες σε κάτι αξιομνημόνευτο, αν σκοπεύετε να τις διατηρήσετε.", + "help.tabs.home": + "Θα βρείτε όλες τις συνεδρίες και τα έργα σας στη νέα Αρχική οθόνη. Η επιλογή μιας συνεδρίας ανοίγει σε μια καρτέλα.", + "help.tabs.persistence": "Όταν ανοίγετε ξανά την εφαρμογή, οι καρτέλες σας είναι ακόμα ανοιχτές.", + "help.tabs.worktrees": + "Η νέα σχεδίαση δεν υποστηρίζει ακόμα Git Worktrees, θα είναι σύντομα διαθέσιμη. Επομένως, εάν προτιμάτε να συνεχίσετε να χρησιμοποιείτε την προηγούμενη διάταξη, μπορείτε να κάνετε εναλλαγή μεταξύ των διατάξεων στις Ρυθμίσεις. Απλώς έχετε κατά νου ότι η νέα διάταξη θα γίνει μόνιμη σε λίγες εβδομάδες.", + "server.row.noUsername": "χωρίς όνομα χρήστη", + "dialog.project.edit.title": "Επεξεργασία έργου", + "dialog.project.edit.name": "Όνομα", + "dialog.project.edit.icon": "Εικονίδιο", + "dialog.project.edit.icon.alt": "Εικονίδιο έργου", + "dialog.project.edit.icon.hint": "Κάντε κλικ ή σύρετε μια εικόνα", + "dialog.project.edit.icon.recommended": "Συνιστάται: 128x128px", + "dialog.project.edit.color": "Χρώμα", + "dialog.project.edit.color.select": "Επιλογή {{color}} χρώματος", + "dialog.project.edit.worktree.startup": "Σενάριο εκκίνησης χώρου εργασίας", + "dialog.project.edit.worktree.startup.description": + "Εκτελείται μετά τη δημιουργία νέου χώρου εργασίας (δέντρου εργασίας).", + "dialog.project.edit.worktree.startup.placeholder": "π.χ. εγκατάσταση bun", + "dialog.releaseNotes.action.getStarted": "Ξεκινήστε", + "dialog.releaseNotes.action.next": "Επόμενο", + "dialog.releaseNotes.action.hideFuture": "Να μην εμφανίζονται αυτά στο μέλλον", + "dialog.releaseNotes.media.alt": "Προεπισκόπηση έκδοσης", + "context.breakdown.title": "Ανάλυση περιβάλλοντος", + "context.breakdown.note": + 'Κατά προσέγγιση ανάλυση των διακριτικών εισόδου. Το "Άλλο" περιλαμβάνει ορισμούς εργαλείων και γενικά έξοδα.', + "context.breakdown.system": "Σύστημα", + "context.breakdown.user": "Χρήστης", + "context.breakdown.assistant": "Βοηθός", + "context.breakdown.tool": "Κλήσεις εργαλείου", + "context.breakdown.other": "Άλλο", + "context.systemPrompt.title": "Προτροπή συστήματος", + "context.rawMessages.title": "Ακατέργαστα μηνύματα", + "context.export.session": "Εξαγωγή συνεδρίας", + "context.stats.session": "Συνεδρία", + "context.stats.messages": "Μηνύματα", + "context.stats.provider": "Πάροχος", + "context.stats.model": "Μοντέλο", + "context.stats.limit": "Όριο περιβάλλοντος", + "context.stats.totalTokens": "Σύνολο διακριτικών", + "context.stats.usage": "Χρήση", + "context.stats.inputTokens": "Εισαγωγή διακριτικών", + "context.stats.outputTokens": "Διακριτικά εξόδου", + "context.stats.reasoningTokens": "Διακριτικά συλλογιστικής", + "context.stats.cacheTokens": "Διακριτικά κρυφής μνήμης (ανάγνωση/εγγραφή)", + "context.stats.userMessages": "Μηνύματα χρήστη", + "context.stats.assistantMessages": "Μηνύματα Βοηθού", + "context.stats.totalCost": "Συνολικό κόστος", + "context.stats.sessionCreated": "Η συνεδρία δημιουργήθηκε", + "context.stats.lastActivity": "Τελευταία δραστηριότητα", + "context.usage.tokens": "Διακριτικά", + "context.usage.usage": "Χρήση", + "context.usage.cost": "Κόστος", + "context.usage.clickToView": "Κάντε κλικ για προβολή του περιβάλλοντος", + "context.usage.view": "Προβολή χρήσης περιβάλλοντος", + "language.en": "Αγγλικά", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Deutsch", + "language.es": "Español", + "language.fr": "Français", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "Polski", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Νορβηγικά", + "language.br": "Πορτογαλία (Βραζιλία)", + "language.bs": "Bosanski", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Türkçe", + "toast.language.title": "Γλώσσα", + "toast.language.description": "Μετάβαση σε {{language}}", + "toast.theme.title": "Εναλλαγή θέματος", + "toast.scheme.title": "Χρωματικός συνδυασμός", + "toast.workspace.enabled.title": "Οι χώροι εργασίας ενεργοποιημένοι", + "toast.workspace.enabled.description": "Πολλά δέντρα εργασίας εμφανίζονται τώρα στην πλαϊνή γραμμή", + "toast.workspace.disabled.title": "Οι χώροι εργασίας είναι απενεργοποιημένοι", + "toast.workspace.disabled.description": "Μόνο το κύριο δέντρο εργασίας εμφανίζεται στην πλαϊνή γραμμή", + "toast.permissions.autoaccept.on.title": "Αυτόματη αποδοχή δικαιωμάτων", + "toast.permissions.autoaccept.on.description": "Τα αιτήματα άδειας θα εγκρίνονται αυτόματα", + "toast.permissions.autoaccept.off.title": "Διακοπή αυτόματης αποδοχής δικαιωμάτων", + "toast.permissions.autoaccept.off.description": "Τα αιτήματα άδειας απαιτούν έγκριση", + "toast.model.none.title": "Δεν έχει επιλεγεί μοντέλο", + "toast.model.none.description": "Συνδέστε έναν πάροχο για να συνοψίσετε αυτήν τη συνεδρία", + "toast.file.loadFailed.title": "Αποτυχία φόρτωσης αρχείου", + "toast.file.listFailed.title": "Απέτυχε η λίστα αρχείων", + "toast.context.noLineSelection.title": "Χωρίς επιλογή γραμμής", + "toast.context.noLineSelection.description": "Επιλέξτε ένα εύρος γραμμής σε μια καρτέλα αρχείου πρώτα.", + "toast.session.share.copyFailed.title": "Αποτυχία αντιγραφής του URL στο πρόχειρο", + "toast.session.share.success.title": "Η συνεδρία κοινοποιήθηκε", + "toast.session.share.success.description": "Κοινή χρήση του URL αντιγράφηκε στο πρόχειρο!", + "toast.session.share.failed.title": "Αποτυχία κοινής χρήσης συνεδρίας", + "toast.session.share.failed.description": "Παρουσιάστηκε σφάλμα κατά την κοινή χρήση της συνεδρίας", + "toast.session.unshare.success.title": "Καταργήθηκε η κοινή χρήση της συνεδρίας", + "toast.session.unshare.success.description": "Η κοινή χρήση της συνεδρίας καταργήθηκε με επιτυχία!", + "toast.session.unshare.failed.title": "Αποτυχία κατάργησης κοινής χρήσης συνεδρίας", + "toast.session.unshare.failed.description": "Παρουσιάστηκε σφάλμα κατά την κατάργηση κοινής χρήσης της συνεδρίας", + "toast.session.export.success.title": "Εξαγωγή συνεδρίας", + "toast.session.export.success.description": "Η συνεδρία αποθηκεύτηκε στο {{filename}}", + "toast.session.export.failed.title": "Αποτυχία εξαγωγής συνεδρίας", + "toast.session.export.failed.description": "Παρουσιάστηκε σφάλμα κατά την εξαγωγή της συνεδρίας", + "toast.session.listFailed.title": "Αποτυχία φόρτωσης συνεδριών για {{project}}", + "toast.project.reloadFailed.title": "Αποτυχία επαναφόρτωσης του {{project}}", + "toast.update.title": "Διαθέσιμη ενημέρωση", + "toast.update.description": "Μια νέα έκδοση του OpenCode ({{version}}) είναι τώρα διαθέσιμη για εγκατάσταση.", + "toast.update.action.installRestart": "Εγκατάσταση και επανεκκίνηση", + "toast.update.action.notYet": "Όχι ακόμη", + "error.page.title": "Κάτι πήγε στραβά", + "error.page.description": "Παρουσιάστηκε σφάλμα κατά τη φόρτωση της εφαρμογής.", + "error.page.description.localServerStartup": "Παρουσιάστηκε σφάλμα κατά την εκκίνηση του τοπικού διακομιστή.", + "error.page.details.label": "Λεπτομέρειες σφάλματος", + "error.page.action.restart": "Επανεκκίνηση", + "error.page.action.report": "Αναφορά σφάλματος", + "error.page.action.reported": "Αναφέρθηκε σφάλμα", + "error.page.action.exportLogs": "Εξαγωγή αρχείων καταγραφής", + "error.page.action.checking": "Έλεγχος...", + "error.page.action.checkUpdates": "Έλεγχος για ενημερώσεις", + "error.page.action.updateTo": "Ενημέρωση σε {{version}}", + "error.page.circular": "[Circular]", + "error.page.report.prefix": "Αναφέρετε αυτό το σφάλμα στην ομάδα OpenCode", + "error.page.report.discord": "στο Discord", + "error.page.version": "Έκδοση: {{version}}", + "error.dev.rootNotFound": + "Το στοιχείο ρίζας δεν βρέθηκε. Ξεχάσατε να το προσθέσετε στο index.html; Ή μήπως το χαρακτηριστικό id γράφτηκε λάθος;", + "error.serverSync.connectFailed": + "Δεν ήταν δυνατή η σύνδεση με τον διακομιστή. Υπάρχει διακομιστής που εκτελείται στο `{{url}}`;", + "error.serverSDK.noServerAvailable": "Δεν υπάρχει διαθέσιμος διακομιστής", + "error.serverSDK.serverNotAvailable": "Ο διακομιστής δεν είναι διαθέσιμος", + "error.childStore.persistedCacheCreateFailed": "Αποτυχία δημιουργίας διαρκούς κρυφής μνήμης", + "error.childStore.persistedProjectMetadataCreateFailed": "Αποτυχία δημιουργίας συνεχιζόμενων μεταδεδομένων έργου", + "error.childStore.persistedProjectIconCreateFailed": "Αποτυχία δημιουργίας εικονιδίου συνεχούς έργου", + "error.childStore.storeCreateFailed": "Αποτυχία δημιουργίας καταστήματος", + "directory.error.invalidUrl": "Μη έγκυρος κατάλογος στο URL.", + "error.chain.unknown": "Άγνωστο σφάλμα", + "error.server.invalidConfiguration": "Μη έγκυρη διαμόρφωση", + "error.chain.causedBy": "Προκλήθηκε από:", + "error.chain.apiError": "API σφάλμα", + "error.chain.status": "Κατάσταση: {{status}}", + "error.chain.retryable": "Επανάληψη δοκιμής: {{retryable}}", + "error.chain.responseBody": "Σώμα απόκρισης:\n{{body}}", + "error.chain.didYouMean": "Μήπως εννοείτε: {{suggestions}}", + "error.chain.modelNotFound": "Το μοντέλο δεν βρέθηκε: {{provider}}/{{model}}", + "error.chain.checkConfig": "Ελέγξτε τη διαμόρφωση (opencode.json) ονόματα παρόχου/μοντέλων", + "error.chain.mcpFailed": + 'MCP διακομιστής "{{name}}" απέτυχε. Σημείωση, το OpenCode δεν υποστηρίζει ακόμη έλεγχο ταυτότητας MCP.', + "error.chain.providerAuthFailed": "Ο έλεγχος ταυτότητας παρόχου απέτυχε ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + 'Απέτυχε η προετοιμασία του παρόχου "{{provider}}". Ελέγξτε τα διαπιστευτήρια και τη διαμόρφωση.', + "error.chain.configJsonInvalid": "Το αρχείο διαμόρφωσης στο {{path}} δεν είναι έγκυρο JSON(C)", + "error.chain.configJsonInvalidWithMessage": + "Το αρχείο διαμόρφωσης στο {{path}} δεν είναι έγκυρο JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + 'Ο κατάλογος "{{dir}}" στο {{path}} δεν είναι έγκυρος. Μετονομάστε τον κατάλογο σε "{{suggestion}}" ή καταργήστε τον. Αυτό είναι ένα συνηθισμένο τυπογραφικό λάθος.', + "error.chain.configFrontmatterError": "Απέτυχε η ανάλυση του frontmatter στο {{path}}:\n{{message}}", + "error.chain.configInvalid": "Το αρχείο διαμόρφωσης στο {{path}} δεν είναι έγκυρο", + "error.chain.configInvalidWithMessage": "Το αρχείο διαμόρφωσης στο {{path}} δεν είναι έγκυρο: {{message}}", + "notification.permission.title": "Απαιτείται άδεια", + "notification.permission.description": "{{sessionTitle}} στο {{projectName}} χρειάζεται άδεια", + "notification.question.title": "Ερώτηση", + "notification.question.description": "{{sessionTitle}} στο {{projectName}} έχει μια ερώτηση", + "notification.action.goToSession": "Μετάβαση στην περίοδο λειτουργίας", + "notification.session.responseReady.title": "Έτοιμη απάντηση", + "notification.session.error.title": "Σφάλμα συνεδρίας", + "notification.session.error.fallbackDescription": "Παρουσιάστηκε σφάλμα", + "home.recentProjects": "Πρόσφατα έργα", + "home.empty.title": "Δεν υπάρχουν πρόσφατα έργα", + "home.empty.description": "Ξεκινήστε ανοίγοντας ένα τοπικό έργο", + "home.title": "Αρχική", + "home.projects": "Έργα", + "home.project.add": "Προσθήκη έργου", + "home.recentlyClosed": "Πρόσφατα έκλεισε", + "home.server.collapse": "Σύμπτυξη έργων διακομιστή", + "home.server.expand": "Ανάπτυξη έργων διακομιστή", + "home.sessions.search.placeholder": "Συνεδρίες αναζήτησης", + "home.sessions.search.placeholder.scoped": "Περιόδους αναζήτησης σε {{scope}}", + "home.sessions.search.sessions": "Συνεδρίες", + "home.sessions.search.noResults": "Δεν βρέθηκαν περίοδοι σύνδεσης για {{query}}", + "home.sessions.empty": "Τίποτα εδώ ακόμα", + "home.sessions.empty.description": "Δημιουργήστε μια περίοδο λειτουργίας για να ξεκινήσετε", + "home.sessions.group.today": "Σήμερα", + "home.sessions.group.yesterday": "Χθες", + "home.sessions.group.older": "Παλαιότερο", + "home.providerTip": + "Συνδεθείτε σε 75+ παρόχους για να χρησιμοποιήσετε άλλα μοντέλα, συμπεριλαμβανομένων των Claude, GPT, Gemini, κ.λπ.", + "session.tab.session": "Συνεδρία", + "session.tab.review": "Επισκόπηση", + "session.tab.context": "Πλαίσιο", + "session.tab.unknown": "Άγνωστη συνεδρία", + "session.panel.reviewAndFiles": "Επισκόπηση και αρχεία", + "session.error.notFound": "Δεν μπορεί να βρεθεί αυτή η συνεδρία", + "session.error.notFound.description": + "Αυτή η καρτέλα δείχνει μια περίοδο λειτουργίας που δεν υπάρχει πλέον σε αυτόν τον διακομιστή.", + "session.error.notFound.closeTab": "Κλείσιμο καρτέλας", + "session.error.serverConnection": "Δεν είναι δυνατή η σύνδεση σε αυτόν τον διακομιστή", + "session.review.filesChanged": "Τα αρχεία άλλαξαν {{count}}", + "session.review.change.one": "Αλλαγή", + "session.review.change.other": "Αλλαγές", + "session.review.loadingChanges": "Φόρτωση αλλαγών...", + "session.review.empty": "Δεν υπάρχουν ακόμη αλλαγές σε αυτήν τη συνεδρία", + "session.review.noVcs": "Δεν εντοπίστηκε σύστημα ελέγχου έκδοσης Git, οι αλλαγές δεν εμφανίζονται", + "session.review.noVcs.createGit.title": "Δημιουργία αποθετηρίου Git", + "session.review.noVcs.createGit.description": "Παρακολούθηση, έλεγχος και αναίρεση αλλαγών σε αυτό το έργο", + "session.review.noVcs.createGit.actionLoading": "Δημιουργία αποθετηρίου Git...", + "session.review.noVcs.createGit.action": "Δημιουργία αποθετηρίου Git", + "session.review.noSnapshot": + "Η παρακολούθηση στιγμιότυπου είναι απενεργοποιημένη στις ρυθμίσεις παραμέτρων, επομένως οι αλλαγές περιόδου λειτουργίας δεν είναι διαθέσιμες", + "session.review.noChanges": "Χωρίς αλλαγές", + "session.review.noUncommittedChanges": "Δεν υπάρχουν ακόμη μη δεσμευμένες αλλαγές", + "session.review.noBranchChanges": "Δεν υπάρχουν ακόμη αλλαγές κλάδου", + "session.files.selectToOpen": "Επιλέξτε ένα αρχείο για άνοιγμα", + "session.files.all": "Όλα τα αρχεία", + "session.files.empty": "Δεν υπάρχουν αρχεία", + "session.files.binaryContent": "Δυαδικό αρχείο (το περιεχόμενο δεν μπορεί να εμφανιστεί)", + "session.messages.renderEarlier": "Απόδοση προηγούμενων μηνυμάτων", + "session.messages.loadingEarlier": "Φόρτωση προηγούμενων μηνυμάτων...", + "session.messages.loadEarlier": "Φόρτωση προηγούμενων μηνυμάτων", + "session.messages.loading": "Φόρτωση μηνυμάτων...", + "session.messages.jumpToLatest": "Μετάβαση στο πιο πρόσφατο", + "session.context.addToContext": "Προσθήκη {{selection}} στο περιβάλλον", + "session.todo.title": "Εκκρεμότητες", + "session.todo.collapse": "Σύμπτυξη", + "session.todo.expand": "Ανάπτυξη", + "session.todo.progress": "{{done}} από {{total}} εργασίες ολοκληρώθηκαν", + "session.question.progress": "{{current}} από {{total}} ερωτήσεις", + "session.question.minimize": "Ελαχιστοποίηση ερώτησης", + "session.question.restore": "Ερώτηση επαναφοράς", + "session.question.pending.one": "{{count}} ερώτηση σε εκκρεμότητα", + "session.question.pending.other": "{{count}} ερωτήσεις σε εκκρεμότητα", + "session.followupDock.summary.one": "{{count}} μήνυμα στην ουρά", + "session.followupDock.summary.other": "{{count}} μηνύματα στην ουρά", + "session.followupDock.sendNow": "Αποστολή τώρα", + "session.followupDock.edit": "Επεξεργασία", + "session.followupDock.collapse": "Σύμπτυξη μηνυμάτων στην ουρά", + "session.followupDock.expand": "Ανάπτυξη μηνυμάτων στην ουρά", + "session.revertDock.summary.one": "{{count}} ανανεωμένο μήνυμα", + "session.revertDock.summary.other": "{{count}} επαναλαμβανόμενα μηνύματα", + "session.revertDock.collapse": "Σύμπτυξη επαναλαμβανόμενων μηνυμάτων", + "session.revertDock.expand": "Ανάπτυξη επαναλαμβανόμενων μηνυμάτων", + "session.revertDock.restore": "Επαναφορά μηνύματος", + "session.new.title": "Δημιουργία οτιδήποτε", + "session.new.project.new": "Νέο έργο", + "session.new.project.search": "Αναζήτηση έργων", + "session.new.project.add": "Προσθήκη έργου", + "session.new.worktree.main": "Κύριος κλάδος", + "session.new.worktree.mainWithBranch": "Κύριος κλάδος ({{branch}})", + "session.new.worktree.create": "Δημιουργία νέου δέντρου εργασίας", + "session.new.workspace.runIn": "Εκτέλεση συνεδρίας σε", + "session.new.workspace.triggerLocal": "Τοπική", + "session.new.workspace.local": "Τοπικό αποθετήριο", + "session.new.workspace.existing": "Χώρος εργασίας…", + "session.new.git.none": "Χωρίς Git", + "session.new.lastModified": "Τελευταία τροποποίηση", + "session.header.search.placeholder": "Αναζήτηση {{project}}", + "session.header.searchFiles": "Αναζήτηση αρχείων", + "session.header.openIn": "Άνοιγμα σε", + "session.header.open.action": "Άνοιγμα {{app}}", + "session.header.open.ariaLabel": "Άνοιγμα σε {{app}}", + "session.header.open.menu": "Άνοιγμα επιλογών", + "session.header.open.copyPath": "Διαδρομή αντιγραφής", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "Εξερεύνηση αρχείων", + "session.header.open.fileManager": "Διαχείριση αρχείων", + "session.header.reveal.finder": "Αποκάλυψη σε Finder", + "session.header.reveal.fileExplorer": "Αποκάλυψη στην Εξερεύνηση αρχείων", + "session.header.reveal.containingFolder": "Άνοιγμα που περιέχει φάκελο", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Τερματικό", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "Κατάσταση", + "status.popover.ariaLabel": "Διαμορφώσεις διακομιστή", + "status.popover.tab.servers": "Διακομιστές", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "Προσθήκες", + "status.popover.action.manageServers": "Διαχείριση διακομιστών", + "session.share.popover.title": "Δημοσίευση στον Ιστό", + "session.share.popover.description.shared": + "Αυτή η συνεδρία είναι δημόσια στον Ιστό. Είναι προσβάσιμο σε οποιονδήποτε έχει τον σύνδεσμο.", + "session.share.popover.description.unshared": + "Κοινή χρήση συνεδρίας δημόσια στον ιστό. Θα είναι προσβάσιμο σε οποιονδήποτε έχει τον σύνδεσμο.", + "session.share.action.share": "Κοινή χρήση", + "session.share.action.publish": "Δημοσίευση", + "session.share.action.publishing": "Δημοσίευση...", + "session.share.action.unpublish": "Κατάργηση δημοσίευσης", + "session.share.action.unpublishing": "Κατάργηση δημοσίευσης...", + "session.share.action.view": "Προβολή", + "session.share.copy.copied": "Αντιγράφηκε", + "session.share.copy.copyLink": "Αντιγραφή συνδέσμου", + "lsp.tooltip.none": "Δεν υπάρχουν LSP διακομιστές", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "Φόρτωση προτροπής...", + "terminal.loading": "Φόρτωση τερματικού...", + "terminal.title": "Τερματικό", + "terminal.title.numbered": "Τερματικό {{number}}", + "terminal.close": "Κλείσιμο τερματικού", + "terminal.connectionLost.title": "Η σύνδεση χάθηκε", + "terminal.connectionLost.abnormalClose": "WebSocket έκλεισε ασυνήθιστα: {{code}}", + "terminal.connectionLost.description": + "Η σύνδεση τερματικού διακόπηκε. Αυτό μπορεί να συμβεί κατά την επανεκκίνηση του διακομιστή.", + "terminal.connectTicket.csrfError": + "PTY εισιτήριο σύνδεσης απορρίφθηκε από την προέλευση ή CSRF επιταγές. Ελέγξτε τη διαμόρφωση του διακομιστή CORS.", + "terminal.connectTicket.statusError": "PTY η σύνδεση εισιτηρίου απέτυχε με {{status}}", + "titlebar.update": "Ενημέρωση", + "titlebar.updateVersion": "Ενημέρωση {{version}}", + "common.closeTab": "Κλείσιμο καρτέλας", + "common.dismiss": "Παράβλεψη", + "common.moreCountSuffix": " (+{{count}} περισσότερα)", + "common.requestFailed": "Το αίτημα απέτυχε", + "common.moreOptions": "Περισσότερες επιλογές", + "common.learnMore": "Μάθετε περισσότερα", + "common.rename": "Μετονομασία", + "common.export": "Εξαγωγή", + "common.reset": "Επαναφορά", + "common.archive": "Αρχείο", + "common.delete": "Διαγραφή", + "common.close": "Κλείσιμο", + "common.edit": "Επεξεργασία", + "common.loadMore": "Φόρτωση περισσότερων", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "άγνωστο", + "common.time.justNow": "Μόλις τώρα", + "common.time.minutesAgo.short": "{{count}}λ. πριν", + "common.time.hoursAgo.short": "{{count}}h πριν", + "common.time.daysAgo.short": "{{count}}ημέρα πριν", + "sidebar.menu.toggle": "Εναλλαγή μενού", + "sidebar.nav.projectsAndSessions": "Έργα και συνεδρίες", + "sidebar.settings": "Ρυθμίσεις", + "sidebar.help": "Βοήθεια", + "sidebar.workspaces.enable": "Ενεργοποίηση χώρων εργασίας", + "sidebar.workspaces.disable": "Απενεργοποίηση χώρων εργασίας", + "sidebar.gettingStarted.title": "Ξεκινώντας", + "sidebar.gettingStarted.line1": "OpenCode περιλαμβάνει δωρεάν μοντέλα, ώστε να μπορείτε να ξεκινήσετε αμέσως.", + "sidebar.gettingStarted.line2": "Συνδέστε οποιονδήποτε πάροχο για χρήση μοντέλων, inc. Claude, GPT, Gemini κ.λπ.", + "sidebar.project.recentSessions": "Πρόσφατες συνεδρίες", + "sidebar.project.viewAllSessions": "Προβολή όλων των συνεδριών", + "sidebar.project.clearNotifications": "Διαγραφή ειδοποιήσεων", + "sidebar.empty.title": "Δεν υπάρχουν ανοιχτά έργα", + "sidebar.empty.description": "Ανοίξτε ένα έργο για να ξεκινήσετε", + "debugBar.ariaLabel": "Διαγνωστικά απόδοσης ανάπτυξης", + "debugBar.na": "n/a", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "Τελευταία ολοκληρωμένη μετάβαση διαδρομής που αγγίζει μια σελίδα συνεδρίας, μετρημένη από την έναρξη του δρομολογητή μέχρι την πρώτη βαφή μετά την καθίζηση.", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "Κυλιόμενα καρέ ανά δευτερόλεπτο τα τελευταία 5 δευτερόλεπτα.", + "debugBar.frame.label": "ΚΑΡΕ", + "debugBar.frame.tip": "Χειρότερος χρόνος καρέ τα τελευταία 5 δευτερόλεπτα.", + "debugBar.jank.label": "ΕΜΠΛΟΚΗ", + "debugBar.jank.tip": "Καρέ πάνω από 32 ms τα τελευταία 5 δευτερόλεπτα.", + "debugBar.long.label": "ΜΑΚΡΟ", + "debugBar.long.tip": + "Αποκλεισμένος χρόνος και πλήθος εργασιών μεγάλης διάρκειας τα τελευταία 5 δευτερόλεπτα. Μέγιστη εργασία: {{max}}.", + "debugBar.delay.label": "ΚΑΘΥΣΤΕΡΗΣΗ", + "debugBar.delay.tip": "Η χειρότερη καθυστέρηση εισόδου που παρατηρήθηκε τα τελευταία 5 δευτερόλεπτα.", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": + "Κατά προσέγγιση διάρκεια αλληλεπίδρασης τα τελευταία 5 δευτερόλεπτα. Αυτό είναι INPόπως, όχι το επίσημο Web Vitals INP.", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "Σωρευτική αλλαγή διάταξης για την τρέχουσα διάρκεια ζωής της εφαρμογής.", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "Χρησιμοποιημένο σωρό JS έναντι ορίου σωρού. Chromium μόνο.", + "debugBar.mem.tip": "Χρησιμοποιημένο σωρό JS έναντι ορίου σωρού. {{used}} από {{limit}}.", + "debugBar.focus.label": "ΕΣΤΙΑΣΗ", + "debugBar.focus.tip": "Επιβολή στυλ εστίασης σε όλα τα διαδραστικά στοιχεία", + "debugBar.focus.on": "ΕΝΕΡΓΟ", + "debugBar.focus.off": "ΑΝΕΝΕΡΓΟ", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": + "Επιβολή της κατεύθυνσης της πλήρους διάταξης εφαρμογής χωρίς αλλαγή της επιλεγμένης γλώσσας", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode Επιτραπέζιος υπολογιστής", + "settings.section.desktop": "Επιτραπέζιος", + "settings.section.server": "Διακομιστής", + "settings.tab.general": "Γενικά", + "settings.tab.shortcuts": "Συντομεύσεις", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "WSL ενσωμάτωση", + "settings.desktop.wsl.description": "Εκτέλεση του διακομιστή OpenCode μέσα στο WSL στο Windows.", + "settings.general.section.appearance": "Εμφάνιση", + "settings.general.section.advanced": "Για προχωρημένους", + "settings.general.section.notifications": "Ειδοποιήσεις συστήματος", + "settings.general.section.updates": "Ενημέρωση", + "settings.general.section.sounds": "Ηχητικά εφέ", + "settings.general.section.feed": "Ροή", + "settings.general.section.display": "Εμφάνιση", + "settings.general.row.language.title": "Γλώσσα", + "settings.general.row.language.description": "Αλλαγή της γλώσσας εμφάνισης για το OpenCode", + "settings.general.row.shell.title": "Τερματικό κέλυφος", + "settings.general.row.shell.description": "Κέλυφος που χρησιμοποιείται από το τερματικό και τα εργαλεία του πράκτορα", + "settings.general.row.shell.autoDefault": "Αυτόματο (Προεπιλογή)", + "settings.general.row.shell.terminalOnly": "μόνο τερματικό", + "settings.general.row.appearance.title": "Εμφάνιση", + "settings.general.row.appearance.description": "Προσαρμογή της εμφάνισης του OpenCode στη συσκευή σας", + "settings.general.row.colorScheme.title": "Χρωματικός συνδυασμός", + "settings.general.row.colorScheme.description": + "Επιλέξτε εάν το OpenCode ακολουθεί το σύστημα, το ανοιχτό ή το σκοτεινό θέμα", + "settings.general.row.theme.title": "Θέμα", + "settings.general.row.theme.description": "Προσαρμογή του τρόπου με τον οποίο έχει θέμα το OpenCode.", + "settings.general.row.font.title": "Γραμματοσειρά κώδικα", + "settings.general.row.font.description": "Προσαρμογή της γραμματοσειράς που χρησιμοποιείται στα μπλοκ κώδικα", + "settings.general.row.terminalFont.title": "Τερματική γραμματοσειρά", + "settings.general.row.terminalFont.description": "Προσαρμογή της γραμματοσειράς που χρησιμοποιείται στο τερματικό", + "settings.general.row.uiFont.title": "Γραμματοσειρά UI", + "settings.general.row.uiFont.description": "Προσαρμογή της γραμματοσειράς που χρησιμοποιείται σε όλη τη διεπαφή", + "settings.general.row.followup.title": "Συμπεριφορά παρακολούθησης", + "settings.general.row.followup.description": + "Επιλέξτε εάν οι επακόλουθες προτροπές κατευθύνονται αμέσως ή περιμένετε σε μια ουρά", + "settings.general.row.followup.option.queue": "Ουρά", + "settings.general.row.followup.option.steer": "Καθοδήγηση", + "settings.general.row.showFileTree.title": "Δέντρο αρχείων", + "settings.general.row.showFileTree.description": "Εμφάνιση του πίνακα δέντρου αρχείων σε περιόδους λειτουργίας", + "settings.general.row.showNavigation.title": "Στοιχεία ελέγχου πλοήγησης", + "settings.general.row.showNavigation.description": + "Εμφάνιση των κουμπιών πίσω και εμπρός στη γραμμή τίτλου της επιφάνειας εργασίας", + "settings.general.row.showSearch.title": "Παλέτα εντολών", + "settings.general.row.showSearch.description": + "Εμφάνιση του κουμπιού παλέτας αναζήτησης και εντολών στη γραμμή τίτλου", + "settings.general.row.showTerminal.title": "Τερματικό", + "settings.general.row.showTerminal.description": + "Εμφάνιση του κουμπιού τερματικού στη γραμμή τίτλου της επιφάνειας εργασίας", + "settings.general.row.showStatus.title": "Κατάσταση διακομιστή", + "settings.general.row.showStatus.description": "Εμφάνιση του κουμπιού κατάστασης διακομιστή στη γραμμή τίτλου", + "settings.general.row.mobileTitlebarBottom.title": "Κάτω πλοήγηση", + "settings.general.row.mobileTitlebarBottom.description": + "Τοποθετήστε τη γραμμή τίτλου και τις καρτέλες περιόδου λειτουργίας στο κάτω μέρος της οθόνης στο κινητό", + "settings.general.row.showCustomAgents.title": "Εμφάνιση πράκτορα", + "settings.general.row.showCustomAgents.description": + "Εναλλαγή μεταξύ πρακτόρων στον συνθέτη. Όταν είναι κρυφό, ορίζεται από προεπιλογή Build agent.", + "settings.general.row.reasoningSummaries.title": "Εμφάνιση περιλήψεων συλλογισμών", + "settings.general.row.reasoningSummaries.description": "Εμφάνιση περιλήψεων συλλογισμών μοντέλων στη γραμμή χρόνου", + "settings.general.row.shellToolPartsExpanded.title": "Ανάπτυξη εξαρτημάτων εργαλείου κελύφους", + "settings.general.row.shellToolPartsExpanded.description": + "Εμφάνιση εξαρτημάτων εργαλείου κελύφους που έχουν αναπτυχθεί από προεπιλογή στη γραμμή χρόνου", + "settings.general.row.editToolPartsExpanded.title": "Ανάπτυξη τμημάτων εργαλείου επεξεργασίας", + "settings.general.row.editToolPartsExpanded.description": + "Εμφάνιση τμημάτων του εργαλείου επεξεργασίας, εγγραφής και ενημέρωσης κώδικα που έχουν αναπτυχθεί από προεπιλογή στη γραμμή χρόνου", + "settings.general.row.newInterface.title": "Νέα διάταξη", + "settings.general.row.newInterface.badge": "Νέο", + "settings.general.row.newInterface.description": + "Χρησιμοποιήστε τις νέες καρτέλες και τη διάταξη του σπιτιού. Εναλλαγή μεταξύ των διατάξεων για περιορισμένο χρονικό διάστημα.", + "settings.general.row.newInterfaceNotice.title": "Χρησιμοποιείτε τώρα νέα διάταξη", + "settings.general.row.newInterfaceNotice.description": "Η προηγούμενη διάταξη δεν είναι πλέον διαθέσιμη", + "settings.general.row.newInterfaceNotice.dismiss": "Παράβλεψη", + "settings.general.row.pinchZoom.title": "Τσιμπήστε για μεγέθυνση", + "settings.general.row.pinchZoom.description": + "Να επιτρέπεται η μεγέθυνση των χειρονομιών τσιμπήματος και κύλισης Ctrl", + "settings.general.row.wayland.title": "Χρήση εγγενούς Wayland", + "settings.general.row.wayland.description": "Απενεργοποίηση εναλλακτικού X11 στο Wayland. Απαιτείται επανεκκίνηση.", + "settings.general.row.wayland.tooltip": + "Σε Linux με μικτές οθόνες ρυθμού ανανέωσης, το εγγενές Wayland μπορεί να είναι πιο σταθερό.", + "settings.general.row.releaseNotes.title": "Σημειώσεις έκδοσης", + "settings.general.row.releaseNotes.description": "Εμφάνιση αναδυόμενων παραθύρων για τα νέα μετά από ενημερώσεις", + "settings.updates.row.startup.title": "Έλεγχος για ενημερώσεις κατά την εκκίνηση", + "settings.updates.row.startup.description": "Αυτόματος έλεγχος για ενημερώσεις κατά την εκκίνηση του OpenCode", + "settings.updates.row.check.title": "Έλεγχος για ενημερώσεις", + "settings.updates.row.check.description": "Ελέγξτε μη αυτόματα για ενημερώσεις και εγκαταστήστε εάν είναι διαθέσιμες", + "settings.updates.action.checkNow": "Έλεγχος τώρα", + "settings.updates.action.checking": "Έλεγχος...", + "settings.updates.action.downloading": "Λήψη...", + "settings.updates.action.installing": "Εγκατάσταση...", + "settings.updates.toast.latest.title": "Είστε ενημερωμένοι", + "settings.updates.toast.latest.description": "Εκτελείτε την πιο πρόσφατη έκδοση του OpenCode.", + "sound.option.none": "Κανένα", + "sound.option.alert01": "Alert 01", + "sound.option.alert02": "Alert 02", + "sound.option.alert03": "Alert 03", + "sound.option.alert04": "Alert 04", + "sound.option.alert05": "Alert 05", + "sound.option.alert06": "Alert 06", + "sound.option.alert07": "Alert 07", + "sound.option.alert08": "Alert 08", + "sound.option.alert09": "Alert 09", + "sound.option.alert10": "Alert 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "Nope 01", + "sound.option.nope02": "Nope 02", + "sound.option.nope03": "Nope 03", + "sound.option.nope04": "Nope 04", + "sound.option.nope05": "Nope 05", + "sound.option.nope06": "Nope 06", + "sound.option.nope07": "Nope 07", + "sound.option.nope08": "Nope 08", + "sound.option.nope09": "Nope 09", + "sound.option.nope10": "Nope 10", + "sound.option.nope11": "Nope 11", + "sound.option.nope12": "Nope 12", + "sound.option.yup01": "Yup 01", + "sound.option.yup02": "Yup 02", + "sound.option.yup03": "Yup 03", + "sound.option.yup04": "Yup 04", + "sound.option.yup05": "Yup 05", + "sound.option.yup06": "Yup 06", + "settings.general.notifications.agent.title": "Πράκτορας", + "settings.general.notifications.agent.description": + "Εμφάνιση ειδοποίησης συστήματος όταν ο πράκτορας είναι πλήρης ή χρειάζεται προσοχή", + "settings.general.notifications.permissions.title": "Δικαιώματα", + "settings.general.notifications.permissions.description": "Εμφάνιση ειδοποίησης συστήματος όταν απαιτείται άδεια", + "settings.general.notifications.errors.title": "Σφάλματα", + "settings.general.notifications.errors.description": "Εμφάνιση ειδοποίησης συστήματος όταν παρουσιαστεί σφάλμα", + "settings.general.sounds.agent.title": "Πράκτορας", + "settings.general.sounds.agent.description": "Αναπαραγωγή ήχου όταν ο πράκτορας είναι πλήρης ή χρειάζεται προσοχή", + "settings.general.sounds.permissions.title": "Δικαιώματα", + "settings.general.sounds.permissions.description": "Αναπαραγωγή ήχου όταν απαιτείται άδεια", + "settings.general.sounds.errors.title": "Σφάλματα", + "settings.general.sounds.errors.description": "Αναπαραγωγή ήχου όταν παρουσιαστεί σφάλμα", + "settings.shortcuts.title": "Συντομεύσεις πληκτρολογίου", + "settings.shortcuts.reset.button": "Επαναφορά στις προεπιλογές", + "settings.shortcuts.reset.toast.title": "Επαναφορά συντομεύσεων", + "settings.shortcuts.reset.toast.description": "Οι συντομεύσεις πληκτρολογίου έχουν επαναφερθεί στις προεπιλογές.", + "settings.shortcuts.conflict.title": "Η συντόμευση χρησιμοποιείται ήδη", + "settings.shortcuts.conflict.description": "{{keybind}} έχει ήδη εκχωρηθεί στο {{titles}}.", + "settings.shortcuts.unassigned": "Μη εκχωρημένο", + "settings.shortcuts.pressKeys": "Πατήστε τα πλήκτρα", + "settings.shortcuts.search.placeholder": "Συντομεύσεις αναζήτησης", + "settings.shortcuts.search.empty": "Δεν βρέθηκαν συντομεύσεις", + "settings.shortcuts.group.general": "Γενικά", + "settings.shortcuts.group.session": "Συνεδρία", + "settings.shortcuts.group.navigation": "Πλοήγηση", + "settings.shortcuts.group.modelAndAgent": "Μοντέλο και πράκτορας", + "settings.shortcuts.group.terminal": "Τερματικό", + "settings.shortcuts.group.prompt": "Προτροπή", + "settings.providers.title": "Παρόχοι", + "settings.providers.description": "Οι ρυθμίσεις παρόχου θα μπορούν να διαμορφωθούν εδώ.", + "settings.providers.section.connected": "Συνδεδεμένοι πάροχοι", + "settings.providers.connected.empty": "Δεν υπάρχουν συνδεδεμένοι πάροχοι", + "settings.providers.connected.environmentDescription": "Συνδέθηκε από τις μεταβλητές περιβάλλοντος", + "settings.providers.section.popular": "Δημοφιλείς πάροχοι", + "settings.providers.custom.description": "Προσθήκη παρόχου συμβατού με OpenAI κατά βάση URL.", + "settings.providers.tag.environment": "Περιβάλλον", + "settings.providers.tag.config": "Ρύθμιση", + "settings.providers.tag.custom": "Προσαρμοσμένο", + "settings.providers.tag.other": "Άλλο", + "settings.models.title": "Μοντέλα", + "settings.models.description": "Οι ρυθμίσεις μοντέλου μπορούν να διαμορφωθούν εδώ.", + "settings.agents.title": "Πράκτορες", + "settings.agents.description": "Οι ρυθμίσεις πρακτόρων μπορούν να διαμορφωθούν εδώ.", + "settings.commands.title": "Εντολές", + "settings.commands.description": "Οι ρυθμίσεις εντολών θα μπορούν να διαμορφωθούν εδώ.", + "settings.mcp.title": "MCP", + "settings.mcp.description": "MCP οι ρυθμίσεις θα μπορούν να διαμορφωθούν εδώ.", + "settings.permissions.title": "Δικαιώματα", + "settings.permissions.description": "Ελέγξτε ποια εργαλεία μπορεί να χρησιμοποιήσει ο διακομιστής από προεπιλογή.", + "settings.permissions.section.tools": "Εργαλεία", + "settings.permissions.toast.updateFailed.title": "Αποτυχία ενημέρωσης δικαιωμάτων", + "settings.permissions.action.allow": "Να επιτρέπεται", + "settings.permissions.action.ask": "Ρωτήστε", + "settings.permissions.action.deny": "Απόρριψη", + "settings.permissions.tool.read.title": "Διαβάστε", + "settings.permissions.tool.read.description": "Ανάγνωση αρχείου (ταιριάζει με τη διαδρομή αρχείου)", + "settings.permissions.tool.edit.title": "Επεξεργασία", + "settings.permissions.tool.edit.description": + "Τροποποίηση αρχείων, συμπεριλαμβανομένων επεξεργασιών, εγγραφών και ενημερώσεων κώδικα", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "Αντιστοιχία αρχείων με χρήση μοτίβων σφαιρών", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "Αναζήτηση περιεχομένων αρχείου με χρήση κανονικών εκφράσεων", + "settings.permissions.tool.list.title": "Λίστα", + "settings.permissions.tool.list.description": "Λίστα αρχείων σε έναν κατάλογο", + "settings.permissions.tool.bash.title": "Bash", + "settings.permissions.tool.bash.description": "Εκτέλεση εντολών κελύφους", + "settings.permissions.tool.task.title": "Εργασία", + "settings.permissions.tool.task.description": "Εκκίνηση υπο-πρακτόρων", + "settings.permissions.tool.skill.title": "Ικανότητα", + "settings.permissions.tool.skill.description": "Φόρτωση δεξιότητας με όνομα", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "Ερωτήματα διακομιστή γλώσσας εκτέλεσης", + "settings.permissions.tool.todowrite.title": "Todo Write", + "settings.permissions.tool.todowrite.description": "Ενημέρωση της λίστας εργασιών", + "settings.permissions.tool.webfetch.title": "Λήψη Ιστού", + "settings.permissions.tool.webfetch.description": "Λήψη περιεχομένου από ένα URL", + "settings.permissions.tool.websearch.title": "Αναζήτηση Ιστού", + "settings.permissions.tool.websearch.description": "Αναζήτηση στον Ιστό", + "settings.permissions.tool.external_directory.title": "Εξωτερικός κατάλογος", + "settings.permissions.tool.external_directory.description": "Πρόσβαση σε αρχεία εκτός του καταλόγου του έργου", + "settings.permissions.tool.doom_loop.title": "Doom Loop", + "settings.permissions.tool.doom_loop.description": "Εντοπισμός επαναλαμβανόμενων κλήσεων εργαλείου με ίδια είσοδο", + "session.delete.failed.title": "Αποτυχία διαγραφής συνεδρίας", + "session.delete.title": "Διαγραφή συνεδρίας", + "session.delete.confirm": 'Διαγραφή συνεδρίας "{{name}}";', + "session.delete.button": "Διαγραφή συνεδρίας", + "workspace.new": "Νέος χώρος εργασίας", + "workspace.type.local": "τοπικό", + "workspace.type.sandbox": "απομονωμένο περιβάλλον", + "workspace.create.failed.title": "Αποτυχία δημιουργίας χώρου εργασίας", + "workspace.delete.failed.title": "Αποτυχία διαγραφής χώρου εργασίας", + "workspace.resetting.title": "Επαναφορά χώρου εργασίας", + "workspace.resetting.description": "Αυτό μπορεί να διαρκέσει ένα λεπτό.", + "workspace.reset.failed.title": "Αποτυχία επαναφοράς του χώρου εργασίας", + "workspace.reset.success.title": "Επαναφορά χώρου εργασίας", + "workspace.reset.success.description": "Ο χώρος εργασίας αντιστοιχεί πλέον στον προεπιλεγμένο κλάδο.", + "workspace.error.stillPreparing": "Ο χώρος εργασίας προετοιμάζεται ακόμη", + "workspace.status.checking": "Έλεγχος για μη συγχωνευμένες αλλαγές...", + "workspace.status.error": "Δεν είναι δυνατή η επαλήθευση της κατάστασης git.", + "workspace.status.clean": "Δεν εντοπίστηκαν μη συγχωνευμένες αλλαγές.", + "workspace.status.dirty": "Εντοπίστηκαν μη συγχωνευμένες αλλαγές σε αυτόν τον χώρο εργασίας.", + "workspace.delete.title": "Διαγραφή χώρου εργασίας", + "workspace.delete.confirm": 'Διαγραφή χώρου εργασίας "{{name}}";', + "workspace.delete.button": "Διαγραφή χώρου εργασίας", + "workspace.reset.title": "Επαναφορά χώρου εργασίας", + "workspace.reset.confirm": 'Επαναφορά χώρου εργασίας "{{name}}";', + "workspace.reset.button": "Επαναφορά χώρου εργασίας", + "workspace.reset.archived.none": "Δεν θα αρχειοθετηθούν ενεργές συνεδρίες.", + "workspace.reset.archived.one": "Θα αρχειοθετηθεί 1 συνεδρία.", + "workspace.reset.archived.many": "{{count}} θα αρχειοθετηθούν οι περίοδοι σύνδεσης.", + "workspace.reset.note": "Αυτό θα επαναφέρει τον χώρο εργασίας ώστε να ταιριάζει με τον προεπιλεγμένο κλάδο.", + "dialog.usageExceeded.dontShowAgain": "Να μην εμφανιστεί ξανά", +} diff --git a/packages/app/src/i18n/en.ts b/packages/app/src/i18n/en.ts index 76623f44685f..62d4dc1ae6e9 100644 --- a/packages/app/src/i18n/en.ts +++ b/packages/app/src/i18n/en.ts @@ -1,4 +1,7 @@ +import { DESKTOP_NATIVE_ENGLISH } from "./desktop-native" + export const dict = { + ...DESKTOP_NATIVE_ENGLISH, "command.category.suggested": "Suggested", "command.category.view": "View", "command.category.project": "Project", @@ -16,6 +19,7 @@ export const dict = { "command.category.permissions": "Permissions", "command.category.workspace": "Workspace", "command.category.settings": "Settings", + "command.logs.export": "Export logs", "theme.scheme.system": "System", "theme.scheme.light": "Light", @@ -91,6 +95,8 @@ export const dict = { "command.session.share.description": "Share this session and copy the URL to clipboard", "command.session.unshare": "Unshare session", "command.session.unshare.description": "Stop sharing this session", + "command.session.export": "Export session", + "command.session.export.description": "Export the full session transcript as JSON", "palette.search.placeholder": "Search files, commands, and sessions", "palette.search.placeholder.home": "Search commands and sessions", @@ -131,6 +137,8 @@ export const dict = { "provider.connect.title.anthropicProMax": "Login with Claude Pro/Max", "provider.connect.selectMethod": "Select login method for {{provider}}.", "provider.connect.method.apiKey": "API key", + "provider.connect.method.browser": "Browser", + "provider.connect.method.headless": "Headless", "provider.connect.status.inProgress": "Authorization in progress...", "provider.connect.status.waiting": "Waiting for authorization...", "provider.connect.status.failed": "Authorization failed: {{error}}", @@ -163,6 +171,7 @@ export const dict = { "provider.connect.toast.connected.description": "{{provider}} models are now available to use.", "provider.custom.title": "Custom provider", + "provider.custom.unavailable": "Custom providers are unavailable on this server", "provider.custom.description.prefix": "Configure an OpenAI-compatible provider. See the ", "provider.custom.description.link": "provider config docs", "provider.custom.description.suffix": ".", @@ -437,6 +446,22 @@ export const dict = { "wsl.onboarding.desktopVersion": "desktop {{version}}", "wsl.onboarding.versionMismatch": "Installed version does not match the desktop app version.", "wsl.onboarding.adding": "Adding...", + + "help.tabs.toast.ariaLabel": "Introducing Tabs. Organize your work and active sessions with tabs", + "help.tabs.toast.dismiss": "Dismiss Tabs information", + "help.tabs.title": "Introducing Tabs", + "help.tabs.description": "Organize your work and active sessions with tabs", + "help.tabs.date": "July 14", + "help.tabs.introduction": "OpenCode Desktop is now built around tabs.", + "help.tabs.sessions": + "Start a new session in a tab, or open an existing session from any of your projects. Open a new tab when you're starting something new, and close it when you're done.", + "help.tabs.organize": + "Keeping a few tabs open makes it easier to organize your active sessions. Rename tabs to something memorable if you plan to keep them around.", + "help.tabs.home": + "You'll find all your sessions and projects on the new Home screen. Selecting a session opens it in a tab.", + "help.tabs.persistence": "When you reopen the app, your tabs are still open.", + "help.tabs.worktrees": + "The new design does not support Git Worktrees yet, it's coming soon. So if you'd prefer to continue using the previous layout, you can switch between layouts in Settings. Just keep in mind that the new layout will become permanent in a few weeks.", "server.row.noUsername": "no username", "dialog.project.edit.title": "Edit project", @@ -455,6 +480,7 @@ export const dict = { "dialog.releaseNotes.action.next": "Next", "dialog.releaseNotes.action.hideFuture": "Don't show these in the future", "dialog.releaseNotes.media.alt": "Release preview", + "dialog.usageExceeded.dontShowAgain": "Don't show again", "context.breakdown.title": "Context Breakdown", "context.breakdown.note": 'Approximate breakdown of input tokens. "Other" includes tool definitions and overhead.', @@ -466,6 +492,7 @@ export const dict = { "context.systemPrompt.title": "System Prompt", "context.rawMessages.title": "Raw messages", + "context.export.session": "Export session", "context.stats.session": "Session", "context.stats.messages": "Messages", @@ -545,6 +572,11 @@ export const dict = { "toast.session.unshare.failed.title": "Failed to unshare session", "toast.session.unshare.failed.description": "An error occurred while unsharing the session", + "toast.session.export.success.title": "Session exported", + "toast.session.export.success.description": "Saved session to {{filename}}", + "toast.session.export.failed.title": "Failed to export session", + "toast.session.export.failed.description": "An error occurred while exporting the session", + "toast.session.listFailed.title": "Failed to load sessions for {{project}}", "toast.project.reloadFailed.title": "Failed to reload {{project}}", @@ -765,6 +797,12 @@ export const dict = { "terminal.connectionLost.abnormalClose": "WebSocket closed abnormally: {{code}}", "terminal.connectionLost.description": "The terminal connection was interrupted. This can happen when the server restarts.", + "terminal.connectTicket.csrfError": + "PTY connect ticket rejected by origin or CSRF checks. Check the server CORS config.", + "terminal.connectTicket.statusError": "PTY connect ticket failed with {{status}}", + + "titlebar.update": "Update", + "titlebar.updateVersion": "Update {{version}}", "common.closeTab": "Close tab", "common.dismiss": "Dismiss", @@ -773,6 +811,7 @@ export const dict = { "common.moreOptions": "More options", "common.learnMore": "Learn more", "common.rename": "Rename", + "common.export": "Export", "common.reset": "Reset", "common.archive": "Archive", "common.delete": "Delete", @@ -839,6 +878,14 @@ export const dict = { "debugBar.mem.label": "MEM", "debugBar.mem.tipUnavailable": "Used JS heap vs heap limit. Chromium only.", "debugBar.mem.tip": "Used JS heap vs heap limit. {{used}} of {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Force focus styles on all interactive elements", + "debugBar.focus.on": "ON", + "debugBar.focus.off": "OFF", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Force the full app layout direction without changing the selected language", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", "app.name.desktop": "OpenCode Desktop", diff --git a/packages/app/src/i18n/es.ts b/packages/app/src/i18n/es.ts index 043c997c0454..9e9ff2c36750 100644 --- a/packages/app/src/i18n/es.ts +++ b/packages/app/src/i18n/es.ts @@ -1,4 +1,104 @@ export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Archivo", + "desktop.menu.edit": "Editar", + "desktop.menu.view": "Ver", + "desktop.menu.go": "Ir", + "desktop.menu.window": "Ventana", + "desktop.menu.help": "Ayuda", + "desktop.menu.checkForUpdates": "Buscar actualizaciones...", + "desktop.menu.settings": "Ajustes", + "desktop.menu.reloadWebview": "Volver a cargar la vista web", + "desktop.menu.restart": "Reiniciar", + "desktop.menu.exportLogs": "Exportar registros...", + "desktop.menu.newSession": "Nueva sesión", + "desktop.menu.openProject": "Abrir proyecto...", + "desktop.menu.newWindow": "Nueva ventana", + "desktop.menu.closeWindow": "Cerrar ventana", + "desktop.menu.undo": "Deshacer", + "desktop.menu.redo": "Rehacer", + "desktop.menu.cut": "Cortar", + "desktop.menu.copy": "Copiar", + "desktop.menu.paste": "Pegar", + "desktop.menu.delete": "Eliminar", + "desktop.menu.selectAll": "Seleccionar todo", + "desktop.menu.toggleSidebar": "Mostrar u ocultar barra lateral", + "desktop.menu.toggleTerminal": "Mostrar u ocultar terminal", + "desktop.menu.toggleFileTree": "Mostrar u ocultar árbol de archivos", + "desktop.menu.reload": "Volver a cargar", + "desktop.menu.toggleDeveloperTools": "Mostrar u ocultar herramientas para desarrolladores", + "desktop.menu.actualSize": "Tamaño real", + "desktop.menu.zoomIn": "Ampliar", + "desktop.menu.zoomOut": "Reducir", + "desktop.menu.toggleFullScreen": "Mostrar u ocultar pantalla completa", + "desktop.menu.back": "Atrás", + "desktop.menu.forward": "Adelante", + "desktop.menu.previousSession": "Sesión anterior", + "desktop.menu.nextSession": "Siguiente sesión", + "desktop.menu.previousProject": "Proyecto anterior", + "desktop.menu.nextProject": "Siguiente proyecto", + "desktop.menu.minimize": "Minimizar", + "desktop.menu.maximize": "Maximizar", + "desktop.menu.documentation": "Documentación de OpenCode", + "desktop.menu.supportForum": "Foro de asistencia", + "desktop.menu.shareFeedback": "Enviar comentarios", + "desktop.menu.reportBug": "Informar de un error", + "desktop.menu.ariaLabel": "Menú de OpenCode", + + "desktop.updater.dialog.checkFailed.message": "No se pudo buscar actualizaciones.", + "desktop.updater.dialog.checkFailed.title": "Error de actualización", + "desktop.updater.dialog.upToDate.message": "Estás al día.", + "desktop.updater.dialog.upToDate.title": "No hay actualizaciones", + "desktop.updater.dialog.ready.message": "Se ha descargado la actualización {{version}}. ¿Quieres reiniciar ahora?", + "desktop.updater.dialog.ready.title": "Actualización lista", + "desktop.updater.dialog.restart": "Reiniciar", + "desktop.updater.dialog.later": "Más tarde", + + "desktop.recovery.action.relaunch": "Volver a iniciar", + "desktop.recovery.action.exportLogs": "Exportar registros", + "desktop.recovery.action.keepWaiting": "Seguir esperando", + "desktop.recovery.action.quit": "Salir", + "desktop.recovery.loadFailed": "No se pudo cargar OpenCode", + "desktop.recovery.terminated": "La ventana de OpenCode se cerró de forma inesperada", + "desktop.recovery.unresponsive": "OpenCode no responde", + "desktop.recovery.unresponsive.detail": + "Puedes volver a iniciar la aplicación, abrir los registros o seguir esperando.", + "desktop.recovery.loadFailed.detail": "Ventana: {{window}}\nURL: {{url}}\nError: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Ventana: {{window}}\nMotivo: {{reason}}\nCódigo: {{code}}", + "desktop.recovery.unknown": "", + + "desktop.dialog.chooseFolder": "Elegir una carpeta", + "desktop.dialog.chooseFile": "Elegir un archivo", + "desktop.dialog.saveFile": "Guardar archivo", + "desktop.dialog.files": "Archivos", + "desktop.server.local": "Servidor local", + + "desktop.wsl.error.windowsOnly": "WSL solo está disponible en Windows", + "desktop.wsl.error.unavailable": "WSL no está disponible", + "desktop.wsl.error.listInstalled": "No se pudieron listar las distribuciones WSL instaladas", + "desktop.wsl.error.listOnline": "No se pudieron listar las distribuciones WSL en línea", + "desktop.wsl.error.executeDistro": "No se pueden ejecutar comandos en la distribución", + "desktop.wsl.error.installWsl": "No se pudo instalar WSL", + "desktop.wsl.error.installDistro": "No se pudo instalar la distribución: {{distro}}", + "desktop.wsl.error.installOpencode": "No se pudo instalar OpenCode", + "desktop.wsl.error.alreadyAdded": "Ya se ha añadido {{distro}}", + "desktop.wsl.error.opencodeMissing": "opencode no está instalado en esta distribución", + "desktop.wsl.error.opencodeCannotRun": "opencode está instalado, pero no se pudo ejecutar", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode no está instalado en {{distro}}", + "desktop.wsl.error.updateVersion": + "La actualización de OpenCode finalizó, pero {{distro}} sigue indicando {{installed}}; se esperaba {{expected}}", + "desktop.wsl.error.noVersion": "sin versión", + "desktop.wsl.error.serverExited": "El servidor WSL se cerró después de iniciarse (código={{code}} señal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "El servidor WSL se cerró antes de estar operativo (código={{code}} señal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": + "Se agotó el tiempo de espera de la comprobación de estado del sidecar de {{distro}} tras {{timeout}} ms", + "desktop.wsl.error.commandTimeout": "Se agotó el tiempo de espera de {{command}} {{args}} tras {{timeout}} ms", + "desktop.wsl.error.failedPort": "No se pudo obtener el puerto", + + "desktop.picker.error.notSelected": "No se seleccionó ningún archivo en el selector", + "desktop.picker.error.sizeLimit": "Los adjuntos seleccionados superan el límite de {{limit}} MB", + "command.category.suggested": "Sugerido", "command.category.view": "Ver", "command.category.project": "Proyecto", @@ -16,12 +116,13 @@ export const dict = { "command.category.permissions": "Permisos", "command.category.workspace": "Espacio de trabajo", "command.category.settings": "Ajustes", + "command.logs.export": "Exportar registros", "theme.scheme.system": "Sistema", "theme.scheme.light": "Claro", "theme.scheme.dark": "Oscuro", - "command.sidebar.toggle": "Alternar barra lateral", + "command.sidebar.toggle": "Mostrar u ocultar barra lateral", "command.project.open": "Abrir proyecto", "command.project.previous": "Proyecto anterior", "command.project.next": "Siguiente proyecto", @@ -37,12 +138,12 @@ export const dict = { "command.palette": "Paleta de comandos", - "command.theme.cycle": "Alternar tema", + "command.theme.cycle": "Cambiar tema", "command.theme.set": "Usar tema: {{theme}}", - "command.theme.scheme.cycle": "Alternar esquema de color", + "command.theme.scheme.cycle": "Cambiar esquema de color", "command.theme.scheme.set": "Usar esquema de color: {{scheme}}", - "command.language.cycle": "Alternar idioma", + "command.language.cycle": "Cambiar idioma", "command.language.set": "Usar idioma: {{language}}", "command.session.new": "Nueva sesión", @@ -52,12 +153,12 @@ export const dict = { "command.context.addSelection": "Añadir selección al contexto", "command.context.addSelection.description": "Añadir las líneas seleccionadas del archivo actual", "command.input.focus": "Enfocar entrada", - "command.terminal.toggle": "Alternar terminal", - "command.fileTree.toggle": "Alternar árbol de archivos", - "command.review.toggle": "Alternar revisión", + "command.terminal.toggle": "Mostrar u ocultar terminal", + "command.fileTree.toggle": "Mostrar u ocultar árbol de archivos", + "command.review.toggle": "Mostrar u ocultar revisión", "command.terminal.new": "Nueva terminal", "command.terminal.new.description": "Crear una nueva pestaña de terminal", - "command.steps.toggle": "Alternar pasos", + "command.steps.toggle": "Mostrar u ocultar pasos", "command.steps.toggle.description": "Mostrar u ocultar pasos para el mensaje actual", "command.message.previous": "Mensaje anterior", "command.message.previous.description": "Ir al mensaje de usuario anterior", @@ -65,19 +166,19 @@ export const dict = { "command.message.next.description": "Ir al siguiente mensaje de usuario", "command.model.choose": "Elegir modelo", "command.model.choose.description": "Seleccionar un modelo diferente", - "command.mcp.toggle": "Alternar MCPs", - "command.mcp.toggle.description": "Alternar MCPs", - "command.agent.cycle": "Alternar agente", + "command.mcp.toggle": "Activar o desactivar servidores MCP", + "command.mcp.toggle.description": "Activar o desactivar servidores MCP", + "command.agent.cycle": "Cambiar de agente", "command.agent.cycle.description": "Cambiar al siguiente agente", - "command.agent.cycle.reverse": "Alternar agente hacia atrás", + "command.agent.cycle.reverse": "Cambiar al agente anterior", "command.agent.cycle.reverse.description": "Cambiar al agente anterior", - "command.model.variant.cycle": "Alternar esfuerzo de pensamiento", + "command.model.variant.cycle": "Cambiar esfuerzo de razonamiento", "command.model.variant.cycle.description": "Cambiar al siguiente nivel de esfuerzo", "command.prompt.mode.shell": "Shell", "command.prompt.mode.normal": "Prompt", "command.permissions.autoaccept.enable": "Aceptar permisos automáticamente", "command.permissions.autoaccept.disable": "Dejar de aceptar permisos automáticamente", - "command.workspace.toggle": "Alternar espacios de trabajo", + "command.workspace.toggle": "Activar o desactivar espacios de trabajo", "command.workspace.toggle.description": "Habilitar o deshabilitar múltiples espacios de trabajo en la barra lateral", "command.session.undo": "Deshacer", "command.session.undo.description": "Deshacer el último mensaje", @@ -92,6 +193,9 @@ export const dict = { "command.session.unshare": "Dejar de compartir sesión", "command.session.unshare.description": "Dejar de compartir esta sesión", + "command.session.export": "Exportar sesión", + "command.session.export.description": "Exportar la transcripción completa de la sesión como JSON", + "palette.search.placeholder": "Buscar archivos, comandos y sesiones", "palette.search.placeholder.home": "Buscar comandos y sesiones", "palette.empty": "No se encontraron resultados", @@ -100,17 +204,18 @@ export const dict = { "dialog.provider.search.placeholder": "Buscar proveedores", "dialog.provider.empty": "No se encontraron proveedores", - "dialog.provider.group.popular": "Popular", - "dialog.provider.group.other": "Otro", + "dialog.provider.group.popular": "Populares", + "dialog.provider.group.other": "Otros", + "dialog.provider.custom.label": "Proveedor personalizado compatible con OpenAI", "dialog.provider.tag.recommended": "Recomendado", - "dialog.provider.opencode.note": "Modelos seleccionados incluyendo Claude, GPT, Gemini y más", + "dialog.provider.opencode.note": "Selección de modelos como Claude, GPT, Gemini y otros", "dialog.provider.opencode.tagline": "Modelos optimizados y fiables", "dialog.provider.opencodeGo.tagline": "Suscripción económica para todos", - "dialog.provider.anthropic.note": "Acceso directo a modelos Claude, incluyendo Pro y Max", + "dialog.provider.anthropic.note": "Acceso directo a modelos Claude, incluidos Pro y Max", "dialog.provider.copilot.note": "Modelos de IA para asistencia de codificación a través de GitHub Copilot", "dialog.provider.openai.note": "Modelos GPT para tareas de IA generales rápidas y capaces", "dialog.provider.google.note": "Modelos Gemini para respuestas rápidas y estructuradas", - "dialog.provider.openrouter.note": "Accede a todos los modelos soportados desde un solo proveedor", + "dialog.provider.openrouter.note": "Accede a todos los modelos compatibles desde un solo proveedor", "dialog.provider.vercel.note": "Acceso unificado a modelos de IA con enrutamiento inteligente", "dialog.model.select.title": "Seleccionar modelo", @@ -118,10 +223,11 @@ export const dict = { "dialog.model.empty": "Sin resultados de modelos", "dialog.model.manage": "Gestionar modelos", "dialog.model.manage.description": "Personalizar qué modelos aparecen en el selector de modelos.", - "dialog.model.manage.provider.toggle": "Alternar todos los modelos de {{provider}}", + "dialog.model.manage.provider.toggle": "Mostrar u ocultar todos los modelos de {{provider}}", "dialog.model.unpaid.freeModels.title": "Modelos gratuitos proporcionados por OpenCode", "dialog.model.unpaid.addMore.title": "Añadir más modelos de proveedores populares", + "dialog.model.unpaid.viewMoreProviders": "Ver más de 70 proveedores", "dialog.provider.viewAll": "Ver más proveedores", @@ -129,6 +235,8 @@ export const dict = { "provider.connect.title.anthropicProMax": "Iniciar sesión con Claude Pro/Max", "provider.connect.selectMethod": "Seleccionar método de inicio de sesión para {{provider}}.", "provider.connect.method.apiKey": "Clave API", + "provider.connect.method.browser": "Navegador", + "provider.connect.method.headless": "Sin navegador", "provider.connect.status.inProgress": "Autorización en progreso...", "provider.connect.status.waiting": "Esperando autorización...", "provider.connect.status.failed": "Autorización fallida: {{error}}", @@ -161,6 +269,7 @@ export const dict = { "provider.connect.toast.connected.description": "Los modelos de {{provider}} ahora están disponibles para usar.", "provider.custom.title": "Proveedor personalizado", + "provider.custom.unavailable": "Los proveedores personalizados no están disponibles en este servidor", "provider.custom.description.prefix": "Configurar un proveedor compatible con OpenAI. Ver la ", "provider.custom.description.link": "documentación de configuración del proveedor", "provider.custom.description.suffix": ".", @@ -173,7 +282,8 @@ export const dict = { "provider.custom.field.baseURL.placeholder": "https://api.miproveedor.com/v1", "provider.custom.field.apiKey.label": "Clave API", "provider.custom.field.apiKey.placeholder": "Clave API", - "provider.custom.field.apiKey.description": "Opcional. Dejar vacío si gestionas la autenticación mediante cabeceras.", + "provider.custom.field.apiKey.description": + "Opcional. Déjalo vacío si gestionas la autenticación mediante encabezados.", "provider.custom.models.label": "Modelos", "provider.custom.models.id.label": "ID", "provider.custom.models.id.placeholder": "id-modelo", @@ -181,13 +291,13 @@ export const dict = { "provider.custom.models.name.placeholder": "Nombre para mostrar", "provider.custom.models.remove": "Eliminar modelo", "provider.custom.models.add": "Añadir modelo", - "provider.custom.headers.label": "Cabeceras (opcional)", - "provider.custom.headers.key.label": "Cabecera", - "provider.custom.headers.key.placeholder": "Nombre-Cabecera", + "provider.custom.headers.label": "Encabezados (opcional)", + "provider.custom.headers.key.label": "Encabezado", + "provider.custom.headers.key.placeholder": "Nombre-Encabezado", "provider.custom.headers.value.label": "Valor", "provider.custom.headers.value.placeholder": "valor", - "provider.custom.headers.remove": "Eliminar cabecera", - "provider.custom.headers.add": "Añadir cabecera", + "provider.custom.headers.remove": "Eliminar encabezado", + "provider.custom.headers.add": "Añadir encabezado", "provider.custom.error.providerID.required": "El ID del proveedor es obligatorio", "provider.custom.error.providerID.format": "Usa letras minúsculas, números, guiones o guiones bajos", "provider.custom.error.providerID.exists": "Ese ID de proveedor ya existe", @@ -201,7 +311,7 @@ export const dict = { "provider.disconnect.toast.disconnected.description": "Los modelos de {{provider}} ya no están disponibles.", "model.tag.free": "Gratis", - "model.tag.latest": "Último", + "model.tag.latest": "Más reciente", "model.provider.anthropic": "Anthropic", "model.provider.openai": "OpenAI", "model.provider.google": "Google", @@ -211,7 +321,7 @@ export const dict = { "model.input.image": "imagen", "model.input.audio": "audio", "model.input.video": "video", - "model.input.pdf": "pdf", + "model.input.pdf": "PDF", "model.tooltip.allows": "Permite: {{inputs}}", "model.tooltip.context.label": "Contexto", "model.tooltip.inputs": "Entradas", @@ -231,7 +341,7 @@ export const dict = { "common.clear": "Limpiar", "common.connect": "Conectar", "common.disconnect": "Desconectar", - "common.continue": "Enviar", + "common.continue": "Continuar", "common.submit": "Enviar", "common.save": "Guardar", "common.saving": "Guardando...", @@ -250,7 +360,7 @@ export const dict = { "session.child.backToParent": "Volver a la sesión principal.", "prompt.example.1": "Arreglar un TODO en el código", - "prompt.example.2": "¿Cuál es el stack tecnológico de este proyecto?", + "prompt.example.2": "¿Qué tecnologías usa este proyecto?", "prompt.example.3": "Arreglar pruebas rotas", "prompt.example.4": "Explicar cómo funciona la autenticación", "prompt.example.5": "Encontrar y arreglar vulnerabilidades de seguridad", @@ -263,22 +373,22 @@ export const dict = { "prompt.example.12": "Añadir validación de entrada", "prompt.example.13": "Crear un nuevo componente para...", "prompt.example.14": "¿Cómo despliego este proyecto?", - "prompt.example.15": "Revisar mi código para mejores prácticas", - "prompt.example.16": "Añadir manejo de errores a esta función", - "prompt.example.17": "Explicar este patrón de regex", + "prompt.example.15": "Revisar si mi código sigue las prácticas recomendadas", + "prompt.example.16": "Añadir gestión de errores a esta función", + "prompt.example.17": "Explicar este patrón de expresión regular", "prompt.example.18": "Convertir esto a TypeScript", - "prompt.example.19": "Añadir logging en todo el código", + "prompt.example.19": "Añadir registros en todo el código", "prompt.example.20": "¿Qué dependencias están desactualizadas?", "prompt.example.21": "Ayúdame a escribir un script de migración", - "prompt.example.22": "Implementar caché para este endpoint", + "prompt.example.22": "Implementar caché para este punto de conexión", "prompt.example.23": "Añadir paginación a esta lista", "prompt.example.24": "Crear un comando CLI para...", "prompt.example.25": "¿Cómo funcionan las variables de entorno aquí?", "prompt.popover.emptyResults": "Sin resultados coincidentes", "prompt.popover.emptyCommands": "Sin comandos coincidentes", - "prompt.dropzone.label": "Suelta imágenes, PDFs o archivos de texto aquí", - "prompt.dropzone.file.label": "Suelta para @mencionar archivo", + "prompt.dropzone.label": "Suelta aquí imágenes, archivos PDF o archivos de texto", + "prompt.dropzone.file.label": "Suelta para @mencionar el archivo", "prompt.slash.badge.custom": "personalizado", "prompt.slash.badge.skill": "skill", "prompt.slash.badge.mcp": "mcp", @@ -286,7 +396,7 @@ export const dict = { "prompt.context.includeActiveFile": "Incluir archivo activo", "prompt.context.removeActiveFile": "Eliminar archivo activo del contexto", "prompt.context.removeFile": "Eliminar archivo del contexto", - "prompt.action.attachFile": "Adjuntar archivo", + "prompt.action.attachFile": "Añadir archivos", "prompt.menu.addImagesAndFiles": "Añadir archivos y más", "prompt.menu.imagesAndFiles": "Imágenes y archivos", "prompt.menu.commands": "Comandos", @@ -298,7 +408,8 @@ export const dict = { "prompt.toast.pasteUnsupported.title": "Adjunto no compatible", "prompt.toast.attachmentDuplicate.title": "Este archivo ya se ha subido", - "prompt.toast.pasteUnsupported.description": "Solo se pueden adjuntar imágenes, PDFs o archivos de texto aquí.", + "prompt.toast.pasteUnsupported.description": + "Aquí solo se pueden adjuntar imágenes, archivos PDF o archivos de texto.", "prompt.toast.modelAgentRequired.title": "Selecciona un agente y modelo", "prompt.toast.modelAgentRequired.description": "Elige un agente y modelo antes de enviar un prompt.", "prompt.toast.worktreeCreateFailed.title": "Fallo al crear el árbol de trabajo", @@ -308,16 +419,16 @@ export const dict = { "prompt.toast.promptSendFailed.title": "Fallo al enviar prompt", "prompt.toast.promptSendFailed.description": "No se pudo recuperar la sesión", - "dialog.mcp.title": "MCPs", + "dialog.mcp.title": "Servidores MCP", "dialog.mcp.description": "{{enabled}} de {{total}} habilitados", - "dialog.mcp.empty": "No hay MCPs configurados", + "dialog.mcp.empty": "No hay servidores MCP configurados", - "dialog.lsp.empty": "LSPs detectados automáticamente por tipo de archivo", + "dialog.lsp.empty": "Servidores LSP detectados automáticamente por tipo de archivo", "dialog.plugins.empty": "Plugins configurados en opencode.json", "mcp.status.connected": "conectado", "mcp.status.failed": "fallido", - "mcp.status.needs_auth": "necesita auth", + "mcp.status.needs_auth": "requiere autenticación", "mcp.auth.clickToAuthenticate": "Haz clic para autenticar", "mcp.status.disabled": "deshabilitado", @@ -328,13 +439,13 @@ export const dict = { "dialog.directory.action.selectFile": "Seleccionar archivo", "dialog.directory.action.selectFolder": "Seleccionar carpeta", "dialog.directory.root": "Raíz", - "dialog.directory.parent": "Superior", + "dialog.directory.parent": "Carpeta superior", "dialog.directory.readError": "No se puede leer esta carpeta", "dialog.server.title": "Servidores", - "dialog.server.description": "Cambiar a qué servidor de OpenCode se conecta esta app.", + "dialog.server.description": "Cambiar el servidor de OpenCode al que se conecta esta aplicación.", "dialog.server.search.placeholder": "Buscar servidores", - "dialog.server.empty": "No hay servidores aún", + "dialog.server.empty": "Aún no hay servidores", "dialog.server.add.title": "Añadir un servidor", "dialog.server.add.url": "URL del servidor", "dialog.server.add.placeholder": "http://localhost:4096", @@ -348,7 +459,7 @@ export const dict = { "dialog.server.edit.title": "Editar servidor", "dialog.server.default.title": "Servidor predeterminado", "dialog.server.default.description": - "Conectar a este servidor al iniciar la app en lugar de iniciar un servidor local. Requiere reinicio.", + "Conectar a este servidor al iniciar la aplicación en lugar de iniciar un servidor local. Requiere reiniciar.", "dialog.server.default.none": "Ningún servidor seleccionado", "dialog.server.default.set": "Establecer servidor actual como predeterminado", "dialog.server.default.clear": "Limpiar", @@ -356,7 +467,7 @@ export const dict = { "dialog.server.menu.edit": "Editar", "dialog.server.menu.default": "Establecer como predeterminado", - "dialog.server.menu.defaultRemove": "Quitar predeterminado", + "dialog.server.menu.defaultRemove": "Quitar como predeterminado", "dialog.server.menu.delete": "Eliminar", "dialog.server.current": "Servidor actual", "dialog.server.status.default": "Predeterminado", @@ -430,6 +541,22 @@ export const dict = { "wsl.onboarding.versionMismatch": "La versión instalada no coincide con la versión de la aplicación de escritorio.", "wsl.onboarding.adding": "Añadiendo...", + "help.tabs.toast.ariaLabel": "Presentamos las pestañas. Organiza tu trabajo y las sesiones activas con pestañas", + "help.tabs.toast.dismiss": "Descartar información sobre las pestañas", + "help.tabs.title": "Presentamos las pestañas", + "help.tabs.description": "Organiza tu trabajo y las sesiones activas con pestañas", + "help.tabs.date": "14 de julio", + "help.tabs.introduction": "OpenCode Desktop ahora se organiza en torno a pestañas.", + "help.tabs.sessions": + "Inicia una nueva sesión en una pestaña o abre una sesión existente de cualquiera de tus proyectos. Abre una pestaña nueva cuando empieces algo nuevo y ciérrala cuando termines.", + "help.tabs.organize": + "Mantener algunas pestañas abiertas facilita la organización de las sesiones activas. Cambia el nombre de las pestañas por uno fácil de recordar si piensas conservarlas.", + "help.tabs.home": + "Encontrarás todas tus sesiones y proyectos en la nueva pantalla Inicio. Al seleccionar una sesión, se abre en una pestaña.", + "help.tabs.persistence": "Cuando vuelvas a abrir la aplicación, las pestañas seguirán abiertas.", + "help.tabs.worktrees": + "El nuevo diseño aún no admite Git Worktrees, pero estarán disponibles pronto. Si prefieres seguir usando el diseño anterior, puedes cambiar de diseño en Ajustes. Ten en cuenta que el nuevo diseño será permanente dentro de unas semanas.", + "dialog.project.edit.title": "Editar proyecto", "dialog.project.edit.name": "Nombre", "dialog.project.edit.icon": "Icono", @@ -443,7 +570,9 @@ export const dict = { "Se ejecuta después de crear un nuevo espacio de trabajo (árbol de trabajo).", "dialog.project.edit.worktree.startup.placeholder": "p. ej. bun install", - "context.breakdown.title": "Desglose de Contexto", + "dialog.usageExceeded.dontShowAgain": "No volver a mostrar", + + "context.breakdown.title": "Desglose del contexto", "context.breakdown.note": 'Desglose aproximado de tokens de entrada. "Otro" incluye definiciones de herramientas y sobrecarga.', "context.breakdown.system": "Sistema", @@ -452,25 +581,27 @@ export const dict = { "context.breakdown.tool": "Llamadas a herramientas", "context.breakdown.other": "Otro", - "context.systemPrompt.title": "Prompt del Sistema", + "context.systemPrompt.title": "Prompt del sistema", "context.rawMessages.title": "Mensajes en bruto", + "context.export.session": "Exportar sesión", + "context.stats.session": "Sesión", "context.stats.messages": "Mensajes", "context.stats.provider": "Proveedor", "context.stats.model": "Modelo", - "context.stats.limit": "Límite de Contexto", - "context.stats.totalTokens": "Tokens Totales", + "context.stats.limit": "Límite de contexto", + "context.stats.totalTokens": "Tokens totales", "context.stats.usage": "Uso", - "context.stats.inputTokens": "Tokens de Entrada", - "context.stats.outputTokens": "Tokens de Salida", - "context.stats.reasoningTokens": "Tokens de Razonamiento", - "context.stats.cacheTokens": "Tokens de Caché (lectura/escritura)", - "context.stats.userMessages": "Mensajes de Usuario", - "context.stats.assistantMessages": "Mensajes de Asistente", - "context.stats.totalCost": "Costo Total", - "context.stats.sessionCreated": "Sesión Creada", - "context.stats.lastActivity": "Última Actividad", + "context.stats.inputTokens": "Tokens de entrada", + "context.stats.outputTokens": "Tokens de salida", + "context.stats.reasoningTokens": "Tokens de razonamiento", + "context.stats.cacheTokens": "Tokens de caché (lectura/escritura)", + "context.stats.userMessages": "Mensajes de usuario", + "context.stats.assistantMessages": "Mensajes de asistente", + "context.stats.totalCost": "Costo total", + "context.stats.sessionCreated": "Sesión creada", + "context.stats.lastActivity": "Última actividad", "context.usage.tokens": "Tokens", "context.usage.usage": "Uso", @@ -524,15 +655,20 @@ export const dict = { "toast.session.share.copyFailed.title": "Fallo al copiar URL al portapapeles", "toast.session.share.success.title": "Sesión compartida", - "toast.session.share.success.description": "¡URL compartida copiada al portapapeles!", + "toast.session.share.success.description": "Enlace para compartir copiado al portapapeles.", "toast.session.share.failed.title": "Fallo al compartir sesión", "toast.session.share.failed.description": "Ocurrió un error al compartir la sesión", - "toast.session.unshare.success.title": "Sesión dejó de compartirse", - "toast.session.unshare.success.description": "¡La sesión dejó de compartirse exitosamente!", + "toast.session.unshare.success.title": "La sesión dejó de compartirse", + "toast.session.unshare.success.description": "La sesión dejó de compartirse correctamente.", "toast.session.unshare.failed.title": "Fallo al dejar de compartir sesión", "toast.session.unshare.failed.description": "Ocurrió un error al dejar de compartir la sesión", + "toast.session.export.success.title": "Sesión exportada", + "toast.session.export.success.description": "Sesión guardada en {{filename}}", + "toast.session.export.failed.title": "No se pudo exportar la sesión", + "toast.session.export.failed.description": "Se produjo un error al exportar la sesión", + "toast.session.listFailed.title": "Fallo al cargar sesiones para {{project}}", "toast.update.title": "Actualización disponible", @@ -545,13 +681,13 @@ export const dict = { "error.page.description.localServerStartup": "Ocurrió un error al iniciar el servidor local.", "error.page.details.label": "Detalles del error", "error.page.action.restart": "Reiniciar", - "error.page.action.report": "Informar error", - "error.page.action.reported": "Error informado", + "error.page.action.report": "Informar del error", + "error.page.action.reported": "Error notificado", "error.page.action.exportLogs": "Exportar registros", "error.page.action.checking": "Comprobando...", "error.page.action.checkUpdates": "Buscar actualizaciones", "error.page.action.updateTo": "Actualizar a {{version}}", - "error.page.report.prefix": "Por favor reporta este error al equipo de OpenCode", + "error.page.report.prefix": "Informa de este error al equipo de OpenCode", "error.page.report.discord": "en Discord", "error.page.version": "Versión: {{version}}", @@ -567,10 +703,10 @@ export const dict = { "error.chain.status": "Estado: {{status}}", "error.chain.retryable": "Reintentable: {{retryable}}", "error.chain.responseBody": "Cuerpo de la respuesta:\n{{body}}", - "error.chain.didYouMean": "¿Quisiste decir: {{suggestions}}", + "error.chain.didYouMean": "¿Quizá quisiste decir {{suggestions}}?", "error.chain.modelNotFound": "Modelo no encontrado: {{provider}}/{{model}}", "error.chain.checkConfig": "Comprueba los nombres de proveedor/modelo en tu configuración (opencode.json)", - "error.chain.mcpFailed": 'El servidor MCP "{{name}}" falló. Nota, OpenCode no soporta autenticación MCP todavía.', + "error.chain.mcpFailed": 'El servidor MCP "{{name}}" falló. Nota: OpenCode aún no admite la autenticación MCP.', "error.chain.providerAuthFailed": "Autenticación de proveedor fallida ({{provider}}): {{message}}", "error.chain.providerInitFailed": 'Fallo al inicializar proveedor "{{provider}}". Comprueba credenciales y configuración.', @@ -623,12 +759,12 @@ export const dict = { "session.error.notFound.description": "Esta pestaña apunta a una sesión que ya no existe en este servidor.", "session.error.notFound.closeTab": "Cerrar pestaña", "session.error.serverConnection": "No se puede conectar a este servidor", - "session.review.filesChanged": "{{count}} Archivos Cambiados", + "session.review.filesChanged": "Archivos modificados: {{count}}", "session.review.change.one": "Cambio", "session.review.change.other": "Cambios", "session.review.loadingChanges": "Cargando cambios...", - "session.review.empty": "No hay cambios en esta sesión aún", - "session.review.noVcs": "No se detectó Sistema de Control de Versiones Git, los cambios no se muestran", + "session.review.empty": "Aún no hay cambios en esta sesión", + "session.review.noVcs": "No se detectó ningún sistema de control de versiones Git; no se muestran los cambios", "session.review.noSnapshot": "El seguimiento de instantáneas está deshabilitado en la configuración, por lo que los cambios de sesión no están disponibles", "session.review.noChanges": "Sin cambios", @@ -638,13 +774,13 @@ export const dict = { "session.files.selectToOpen": "Selecciona un archivo para abrir", "session.files.all": "Todos los archivos", "session.files.empty": "Sin archivos", - "session.files.binaryContent": "Archivo binario (el contenido no puede ser mostrado)", + "session.files.binaryContent": "Archivo binario (no se puede mostrar el contenido)", - "session.messages.renderEarlier": "Renderizar mensajes anteriores", + "session.messages.renderEarlier": "Mostrar mensajes anteriores", "session.messages.loadingEarlier": "Cargando mensajes anteriores...", "session.messages.loadEarlier": "Cargar mensajes anteriores", "session.messages.loading": "Cargando mensajes...", - "session.messages.jumpToLatest": "Ir al último", + "session.messages.jumpToLatest": "Ir al mensaje más reciente", "session.context.addToContext": "Añadir {{selection}} al contexto", "session.todo.title": "Tareas", @@ -653,14 +789,17 @@ export const dict = { "session.question.minimize": "Minimizar pregunta", "session.question.restore": "Restaurar pregunta", "session.question.pending.one": "{{count}} pregunta pendiente", + "session.question.pending.many": "{{count}} de preguntas pendientes", "session.question.pending.other": "{{count}} preguntas pendientes", "session.followupDock.summary.one": "{{count}} mensaje en cola", + "session.followupDock.summary.many": "{{count}} de mensajes en cola", "session.followupDock.summary.other": "{{count}} mensajes en cola", "session.followupDock.sendNow": "Enviar ahora", "session.followupDock.edit": "Editar", "session.followupDock.collapse": "Contraer mensajes en cola", "session.followupDock.expand": "Expandir mensajes en cola", "session.revertDock.summary.one": "{{count}} mensaje revertido", + "session.revertDock.summary.many": "{{count}} de mensajes revertidos", "session.revertDock.summary.other": "{{count}} mensajes revertidos", "session.revertDock.collapse": "Contraer mensajes revertidos", "session.revertDock.expand": "Expandir mensajes revertidos", @@ -694,9 +833,9 @@ export const dict = { "status.popover.tab.mcp": "MCP", "status.popover.tab.lsp": "LSP", "status.popover.tab.plugins": "Plugins", - "status.popover.action.manageServers": "Administrar servidores", + "status.popover.action.manageServers": "Gestionar servidores", - "session.share.popover.title": "Publicar en web", + "session.share.popover.title": "Publicar en la web", "session.share.popover.description.shared": "Esta sesión es pública en la web. Es accesible para cualquiera con el enlace.", "session.share.popover.description.unshared": @@ -721,13 +860,20 @@ export const dict = { "terminal.connectionLost.title": "Conexión perdida", "terminal.connectionLost.description": "La conexión del terminal se interrumpió. Esto puede ocurrir cuando el servidor se reinicia.", + "terminal.connectTicket.csrfError": + "El ticket de conexión PTY fue rechazado por las comprobaciones de origen o CSRF. Comprueba la configuración CORS del servidor.", + "terminal.connectTicket.statusError": "El ticket de conexión PTY falló con {{status}}", + + "titlebar.update": "Actualizar", + "titlebar.updateVersion": "Actualizar {{version}}", "common.closeTab": "Cerrar pestaña", "common.dismiss": "Descartar", "common.requestFailed": "Solicitud fallida", "common.moreOptions": "Más opciones", - "common.learnMore": "Saber más", + "common.learnMore": "Más información", "common.rename": "Renombrar", + "common.export": "Exportar", "common.reset": "Restablecer", "common.archive": "Archivar", "common.delete": "Eliminar", @@ -736,15 +882,15 @@ export const dict = { "common.loadMore": "Cargar más", "common.key.esc": "ESC", - "sidebar.menu.toggle": "Alternar menú", + "sidebar.menu.toggle": "Mostrar u ocultar menú", "sidebar.nav.projectsAndSessions": "Proyectos y sesiones", "sidebar.settings": "Ajustes", "sidebar.help": "Ayuda", "sidebar.workspaces.enable": "Habilitar espacios de trabajo", "sidebar.workspaces.disable": "Deshabilitar espacios de trabajo", - "sidebar.gettingStarted.title": "Empezando", + "sidebar.gettingStarted.title": "Primeros pasos", "sidebar.gettingStarted.line1": "OpenCode incluye modelos gratuitos para que puedas empezar inmediatamente.", - "sidebar.gettingStarted.line2": "Conecta cualquier proveedor para usar modelos, inc. Claude, GPT, Gemini etc.", + "sidebar.gettingStarted.line2": "Conecta cualquier proveedor para usar modelos como Claude, GPT o Gemini.", "sidebar.project.recentSessions": "Sesiones recientes", "sidebar.project.viewAllSessions": "Ver todas las sesiones", "sidebar.project.clearNotifications": "Borrar notificaciones", @@ -772,9 +918,8 @@ export const dict = { "settings.general.row.language.title": "Idioma", "settings.general.row.language.description": "Cambiar el idioma de visualización para OpenCode", "settings.general.row.shell.title": "Shell del terminal", - "settings.general.row.shell.description": - "Elige el shell que se usará en el terminal. Los shells compatibles también se usarán para las llamadas a herramientas del agente.", - "settings.general.row.shell.autoDefault": "Automático (Predeterminado)", + "settings.general.row.shell.description": "Shell que usan el terminal y las herramientas del agente", + "settings.general.row.shell.autoDefault": "Automático (predeterminado)", "settings.general.row.shell.terminalOnly": "solo en el terminal", "settings.general.row.appearance.title": "Apariencia", "settings.general.row.appearance.description": "Personaliza cómo se ve OpenCode en tu dispositivo", @@ -808,8 +953,9 @@ export const dict = { "settings.general.row.mobileTitlebarBottom.title": "Navegación inferior", "settings.general.row.mobileTitlebarBottom.description": "Colocar la barra de título y las pestañas de sesión en la parte inferior de la pantalla en dispositivos móviles", - "settings.general.row.showCustomAgents.title": "Agentes personalizados", - "settings.general.row.showCustomAgents.description": "Mostrar el selector de agentes en el editor", + "settings.general.row.showCustomAgents.title": "Mostrar agente", + "settings.general.row.showCustomAgents.description": + "Cambiar de agente en el editor. Si se oculta, se usa el agente Build de forma predeterminada.", "settings.general.row.reasoningSummaries.title": "Mostrar resúmenes de razonamiento", "settings.general.row.reasoningSummaries.description": "Mostrar resúmenes del razonamiento del modelo en la línea de tiempo", @@ -828,9 +974,9 @@ export const dict = { "settings.general.row.newInterfaceNotice.dismiss": "Descartar", "settings.general.row.pinchZoom.title": "Pellizcar para ampliar", "settings.general.row.pinchZoom.description": - "Permitir ampliar con el gesto de pellizco del panel táctil y con Ctrl-scroll", + "Permitir ampliar con el gesto de pellizco del panel táctil y con Ctrl + desplazamiento", "settings.general.row.wayland.title": "Usar Wayland nativo", - "settings.general.row.wayland.description": "Deshabilitar fallback a X11 en Wayland. Requiere reinicio.", + "settings.general.row.wayland.description": "Deshabilitar el uso alternativo de X11 en Wayland. Requiere reiniciar.", "settings.general.row.wayland.tooltip": "En Linux con monitores de frecuencia de actualización mixta, Wayland nativo puede ser más estable.", @@ -960,8 +1106,7 @@ export const dict = { "settings.permissions.tool.read.title": "Leer", "settings.permissions.tool.read.description": "Leer un archivo (coincide con la ruta del archivo)", "settings.permissions.tool.edit.title": "Editar", - "settings.permissions.tool.edit.description": - "Modificar archivos, incluyendo ediciones, escrituras, parches y multi-ediciones", + "settings.permissions.tool.edit.description": "Modificar archivos mediante ediciones, escrituras y parches", "settings.permissions.tool.glob.title": "Glob", "settings.permissions.tool.glob.description": "Coincidir archivos usando patrones glob", "settings.permissions.tool.grep.title": "Grep", @@ -971,20 +1116,20 @@ export const dict = { "settings.permissions.tool.bash.title": "Bash", "settings.permissions.tool.bash.description": "Ejecutar comandos de shell", "settings.permissions.tool.task.title": "Tarea", - "settings.permissions.tool.task.description": "Lanzar sub-agentes", + "settings.permissions.tool.task.description": "Iniciar subagentes", "settings.permissions.tool.skill.title": "Habilidad", "settings.permissions.tool.skill.description": "Cargar una habilidad por nombre", "settings.permissions.tool.lsp.title": "LSP", "settings.permissions.tool.lsp.description": "Ejecutar consultas de servidor de lenguaje", - "settings.permissions.tool.todowrite.title": "Escribir Todo", + "settings.permissions.tool.todowrite.title": "Escribir tareas", "settings.permissions.tool.todowrite.description": "Actualizar la lista de tareas", - "settings.permissions.tool.webfetch.title": "Web Fetch", + "settings.permissions.tool.webfetch.title": "Obtener contenido web", "settings.permissions.tool.webfetch.description": "Obtener contenido de una URL", - "settings.permissions.tool.websearch.title": "Búsqueda Web", + "settings.permissions.tool.websearch.title": "Búsqueda web", "settings.permissions.tool.websearch.description": "Buscar en la web", - "settings.permissions.tool.external_directory.title": "Directorio Externo", + "settings.permissions.tool.external_directory.title": "Directorio externo", "settings.permissions.tool.external_directory.description": "Acceder a archivos fuera del directorio del proyecto", - "settings.permissions.tool.doom_loop.title": "Bucle Infinito", + "settings.permissions.tool.doom_loop.title": "Bucle infinito", "settings.permissions.tool.doom_loop.description": "Detectar llamadas a herramientas repetidas con entrada idéntica", "session.delete.failed.title": "Fallo al eliminar sesión", @@ -998,13 +1143,13 @@ export const dict = { "workspace.create.failed.title": "Fallo al crear espacio de trabajo", "workspace.delete.failed.title": "Fallo al eliminar espacio de trabajo", "workspace.resetting.title": "Restableciendo espacio de trabajo", - "workspace.resetting.description": "Esto puede tomar un minuto.", + "workspace.resetting.description": "Esto puede tardar un minuto.", "workspace.reset.failed.title": "Fallo al restablecer espacio de trabajo", "workspace.reset.success.title": "Espacio de trabajo restablecido", "workspace.reset.success.description": "El espacio de trabajo ahora coincide con la rama predeterminada.", "workspace.error.stillPreparing": "El espacio de trabajo aún se está preparando", "workspace.status.checking": "Comprobando cambios no fusionados...", - "workspace.status.error": "No se pudo verificar el estado de git.", + "workspace.status.error": "No se pudo verificar el estado de Git.", "workspace.status.clean": "No se detectaron cambios no fusionados.", "workspace.status.dirty": "Cambios no fusionados detectados en este espacio de trabajo.", "workspace.delete.title": "Eliminar espacio de trabajo", @@ -1046,6 +1191,9 @@ export const dict = { "session.question.progress": "{{current}} de {{total}} preguntas", "session.header.open.finder": "Finder", "session.header.open.fileExplorer": "Explorador de archivos", + "session.header.reveal.finder": "Mostrar en Finder", + "session.header.reveal.fileExplorer": "Mostrar en el Explorador de archivos", + "session.header.reveal.containingFolder": "Abrir carpeta contenedora", "session.header.open.fileManager": "Gestor de archivos", "session.header.open.app.vscode": "VS Code", "session.header.open.app.cursor": "Cursor", @@ -1064,13 +1212,13 @@ export const dict = { "debugBar.na": "n/d", "debugBar.nav.label": "NAV", "debugBar.nav.tip": - "Última transición de ruta completada tocando una página de sesión, medida desde el inicio del router hasta el primer pintado después de asentarse.", + "Última transición de ruta completada que afecta a una página de sesión, medida desde el inicio del enrutador hasta el primer renderizado tras estabilizarse.", "debugBar.fps.label": "FPS", "debugBar.fps.tip": "Cuadros por segundo en los últimos 5 segundos.", "debugBar.frame.label": "FRAME", "debugBar.frame.tip": "Peor tiempo de cuadro en los últimos 5 segundos.", "debugBar.jank.label": "JANK", - "debugBar.jank.tip": "Cuadros superiores a 32ms en los últimos 5 segundos.", + "debugBar.jank.tip": "Cuadros superiores a 32 ms en los últimos 5 segundos.", "debugBar.long.label": "LONG", "debugBar.long.tip": "Tiempo bloqueado y recuento de tareas largas en los últimos 5 segundos. Tarea máx: {{max}}.", "debugBar.delay.label": "DELAY", @@ -1079,10 +1227,18 @@ export const dict = { "debugBar.inp.tip": "Duración aproximada de la interacción en los últimos 5 segundos. Esto es similar a INP, no el INP oficial de Web Vitals.", "debugBar.cls.label": "CLS", - "debugBar.cls.tip": "Cambio de diseño acumulativo para la vida útil actual de la aplicación.", + "debugBar.cls.tip": "Cambio de diseño acumulativo durante la ejecución actual de la aplicación.", "debugBar.mem.label": "MEM", "debugBar.mem.tipUnavailable": "Heap JS usado vs límite de heap. Solo Chromium.", "debugBar.mem.tip": "Heap JS usado vs límite de heap. {{used}} de {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Forzar los estilos de foco en todos los elementos interactivos", + "debugBar.focus.on": "SÍ", + "debugBar.focus.off": "NO", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Forzar la dirección del diseño de toda la aplicación sin cambiar el idioma seleccionado", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", "common.key.ctrl": "Ctrl", "common.key.alt": "Alt", "common.key.shift": "Mayús", diff --git a/packages/app/src/i18n/et.ts b/packages/app/src/i18n/et.ts new file mode 100644 index 000000000000..d78296675e3d --- /dev/null +++ b/packages/app/src/i18n/et.ts @@ -0,0 +1,1151 @@ +export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Fail", + "desktop.menu.edit": "Muuda", + "desktop.menu.view": "Vaade", + "desktop.menu.go": "Mine", + "desktop.menu.window": "Aken", + "desktop.menu.help": "Abi", + "desktop.menu.checkForUpdates": "Otsige värskendusi...", + "desktop.menu.settings": "Seaded", + "desktop.menu.reloadWebview": "Laadige Webview uuesti", + "desktop.menu.restart": "Taaskäivitage", + "desktop.menu.exportLogs": "Ekspordi logid...", + "desktop.menu.newSession": "Uus sessioon", + "desktop.menu.openProject": "Ava projekt...", + "desktop.menu.newWindow": "Uus aken", + "desktop.menu.closeWindow": "Sule aken", + "desktop.menu.undo": "Võta tagasi", + "desktop.menu.redo": "Tee uuesti", + "desktop.menu.cut": "Lõika", + "desktop.menu.copy": "Kopeeri", + "desktop.menu.paste": "Kleebi", + "desktop.menu.delete": "Kustuta", + "desktop.menu.selectAll": "Valige Kõik", + "desktop.menu.toggleSidebar": "Külgriba sisse- ja väljalülitamine", + "desktop.menu.toggleTerminal": "Lülitage terminal", + "desktop.menu.toggleFileTree": "Failipuu sisse- ja väljalülitamine", + "desktop.menu.reload": "Laadi uuesti", + "desktop.menu.toggleDeveloperTools": "Lülitage välja arendaja tööriistad", + "desktop.menu.actualSize": "Tegelik suurus", + "desktop.menu.zoomIn": "Suumi sisse", + "desktop.menu.zoomOut": "Suumi välja", + "desktop.menu.toggleFullScreen": "Lülitage täisekraan sisse", + "desktop.menu.back": "Tagasi", + "desktop.menu.forward": "Edasi", + "desktop.menu.previousSession": "Eelmine seanss", + "desktop.menu.nextSession": "Järgmine seanss", + "desktop.menu.previousProject": "Eelmine projekt", + "desktop.menu.nextProject": "Järgmine projekt", + "desktop.menu.minimize": "Minimeeri", + "desktop.menu.maximize": "Maksimeerida", + "desktop.menu.documentation": "OpenCode Dokumentatsioon", + "desktop.menu.supportForum": "Tugifoorum", + "desktop.menu.shareFeedback": "Jaga tagasisidet", + "desktop.menu.reportBug": "Teatage veast", + "desktop.menu.ariaLabel": "OpenCode menüü", + "desktop.updater.dialog.checkFailed.message": "Värskenduskontroll ebaõnnestus.", + "desktop.updater.dialog.checkFailed.title": "Värskendusviga", + "desktop.updater.dialog.upToDate.message": "Oled kursis.", + "desktop.updater.dialog.upToDate.title": "Värskendusi pole", + "desktop.updater.dialog.ready.message": "Värskendus {{version}} on alla laaditud. Kas alustada kohe uuesti?", + "desktop.updater.dialog.ready.title": "Värskendus valmis", + "desktop.updater.dialog.restart": "Taaskäivitage", + "desktop.updater.dialog.later": "Hiljem", + "desktop.recovery.action.relaunch": "Taaskäivitage", + "desktop.recovery.action.exportLogs": "Ekspordi logid", + "desktop.recovery.action.keepWaiting": "Jätkake ootamist", + "desktop.recovery.action.quit": "Lõpeta", + "desktop.recovery.loadFailed": "OpenCode laadimine ebaõnnestus", + "desktop.recovery.terminated": "OpenCode aken suleti ootamatult", + "desktop.recovery.unresponsive": "OpenCode ei vasta", + "desktop.recovery.unresponsive.detail": "Saate rakenduse uuesti käivitada, logid avada või oodata.", + "desktop.recovery.loadFailed.detail": "Aken: {{window}}\nURL: {{url}}\nViga: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Aken: {{window}}\nPõhjus: {{reason}}\nKood: {{code}}", + "desktop.recovery.unknown": "", + "desktop.dialog.chooseFolder": "Valige kaust", + "desktop.dialog.chooseFile": "Valige fail", + "desktop.dialog.saveFile": "Salvesta fail", + "desktop.dialog.files": "Failid", + "desktop.server.local": "Kohalik server", + "desktop.wsl.error.windowsOnly": "WSL on saadaval ainult Windows", + "desktop.wsl.error.unavailable": "WSL pole saadaval", + "desktop.wsl.error.listInstalled": "Installitud WSL distributsioonide loendisse lisamine nurjus", + "desktop.wsl.error.listOnline": "Internetis WSL distributsioonide loendisse lisamine ebaõnnestus", + "desktop.wsl.error.executeDistro": "Distros ei saa käske täita", + "desktop.wsl.error.installWsl": "WSL installimine ebaõnnestus", + "desktop.wsl.error.installDistro": "Distro installimine ebaõnnestus: {{distro}}", + "desktop.wsl.error.installOpencode": "OpenCode installimine ebaõnnestus", + "desktop.wsl.error.alreadyAdded": "{{distro}} on juba lisatud", + "desktop.wsl.error.opencodeMissing": "opencode pole sellesse distrosse installitud", + "desktop.wsl.error.opencodeCannotRun": "opencode on installitud, kuid seda ei saa käivitada", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode pole installitud asukohta {{distro}}", + "desktop.wsl.error.updateVersion": + "OpenCode värskendus on lõpetatud, kuid {{distro}} teatab endiselt {{installed}}; oodata {{expected}}", + "desktop.wsl.error.noVersion": "versiooni pole", + "desktop.wsl.error.serverExited": "WSL-server sulgus pärast käivitamist (code={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL server väljus enne tervenemist (code={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": "{{distro}} tervisekontrolli külgkorv aegus {{timeout}} ms pärast", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} aegus {{timeout}} ms pärast", + "desktop.wsl.error.failedPort": "Pordi hankimine ebaõnnestus", + "desktop.picker.error.notSelected": "Valija ei valinud faili", + "desktop.picker.error.sizeLimit": "Valitud manused ületavad {{limit}} MB piirangut", + "command.category.suggested": "Soovitatud", + "command.category.view": "Vaade", + "command.category.project": "Projekt", + "command.category.provider": "Pakkuja", + "command.category.server": "Server", + "command.category.session": "Seanss", + "command.category.theme": "Teema", + "command.category.language": "Keel", + "command.category.file": "Fail", + "command.category.context": "Kontekst", + "command.category.terminal": "Terminal", + "command.category.model": "Mudel", + "command.category.mcp": "MCP", + "command.category.agent": "Agent", + "command.category.permissions": "load", + "command.category.workspace": "Tööruum", + "command.category.settings": "Seaded", + "command.logs.export": "Ekspordi logid", + "theme.scheme.system": "Süsteem", + "theme.scheme.light": "Valgus", + "theme.scheme.dark": "Tume", + "command.sidebar.toggle": "Lülita külgriba sisse", + "command.project.open": "Avatud projekt", + "command.project.previous": "Eelmine projekt", + "command.project.next": "Järgmine projekt", + "command.project.index": "Lülitu projektile {{index}}", + "command.provider.connect": "Ühendage pakkuja", + "command.server.switch": "Vaheta serverit", + "command.settings.open": "Ava seaded", + "command.session.previous": "Eelmine seanss", + "command.session.next": "Järgmine seanss", + "command.session.previous.unseen": "Eelmine lugemata seanss", + "command.session.next.unseen": "Järgmine lugemata seanss", + "command.session.archive": "Arhiivi seanss", + "command.palette": "Käsupalett", + "command.theme.cycle": "Tsükli teema", + "command.theme.set": "Kasuta teemat: {{theme}}", + "command.theme.scheme.cycle": "Tsükli värviskeem", + "command.theme.scheme.set": "Kasuta värviskeemi: {{scheme}}", + "command.language.cycle": "Tsükli keel", + "command.language.set": "Kasuta keelt: {{language}}", + "command.session.new": "Uus seanss", + "command.file.open": "Ava fail", + "command.tab.close": "Sule vahekaart", + "command.tab.reopenClosed": "Ava suletud vaheleht uuesti", + "command.context.addSelection": "Lisage valik konteksti", + "command.context.addSelection.description": "Lisa valitud read aktiivsest failist", + "command.input.focus": "Fookuse sisend", + "command.terminal.toggle": "Lülita terminali sisse", + "command.fileTree.toggle": "Failipuu sisse- ja väljalülitamine", + "command.review.toggle": "Lülita ülevaatus sisse", + "command.terminal.new": "Uus terminal", + "command.terminal.new.description": "Looge uus terminali vahekaart", + "command.steps.toggle": "Lülitage samme sisse", + "command.steps.toggle.description": "Näita või peida praeguse sõnumi samme", + "command.message.previous": "Eelmine sõnum", + "command.message.previous.description": "Minge eelmise kasutaja sõnumi juurde", + "command.message.next": "Järgmine sõnum", + "command.message.next.description": "Minge järgmise kasutajateate juurde", + "command.model.choose": "Valige mudel", + "command.model.choose.description": "Valige mõni muu mudel", + "command.mcp.toggle": "MCP-de sisse- ja väljalülitamine", + "command.mcp.toggle.description": "MCP-de sisse- ja väljalülitamine", + "command.agent.cycle": "Tsükli agent", + "command.agent.cycle.description": "Lülituge järgmisele agendile", + "command.agent.cycle.reverse": "Tsükli agent tagurpidi", + "command.agent.cycle.reverse.description": "Lülituge eelmisele agendile", + "command.model.variant.cycle": "Tsükli mõtlemise pingutus", + "command.model.variant.cycle.description": "Lülituge järgmisele pingutustasemele", + "command.prompt.mode.shell": "Shell", + "command.prompt.mode.normal": "Viip", + "command.permissions.autoaccept.enable": "Lubade automaatne aktsepteerimine", + "command.permissions.autoaccept.disable": "Peatage lubade automaatne vastuvõtmine", + "command.workspace.toggle": "Tööruumide sisse- ja väljalülitamine", + "command.workspace.toggle.description": "Lubage või keelake külgribal mitu tööruumi", + "command.session.undo": "Võta tagasi", + "command.session.undo.description": "Võta viimane sõnum tagasi", + "command.session.redo": "Tee uuesti", + "command.session.redo.description": "Korrake viimane tühistatud sõnum", + "command.session.compact": "Kompaktne seanss", + "command.session.compact.description": "Konteksti suuruse vähendamiseks tehke seansist kokkuvõte", + "command.session.fork": "Sõnumi kahvel", + "command.session.fork.description": "Looge eelmisest sõnumist uus seanss", + "command.session.share": "Jaga seanssi", + "command.session.share.description": "Jagage seda seanssi ja kopeerige URL lõikelauale", + "command.session.unshare": "Tühista seansi jagamine", + "command.session.unshare.description": "Lõpetage selle seansi jagamine", + "command.session.export": "Ekspordiseanss", + "command.session.export.description": "Ekspordi kogu seansi transkriptsioon kui JSON", + "palette.search.placeholder": "Otsige faile, käske ja seansse", + "palette.search.placeholder.home": "Otsige käske ja seansse", + "palette.empty": "Tulemusi ei leitud", + "palette.group.commands": "Käsud", + "palette.group.files": "Failid", + "dialog.provider.search.placeholder": "Otsi pakkujaid", + "dialog.provider.empty": "Pakkujaid ei leitud", + "dialog.provider.group.popular": "Populaarne", + "dialog.provider.group.other": "muud", + "dialog.provider.custom.label": "Kohandatud OpenAI-ga ühilduv pakkuja", + "dialog.provider.tag.recommended": "Soovitatav", + "dialog.provider.opencode.note": "Kureeritud mudelid, sealhulgas Claude, GPT, Gemini ja palju muud", + "dialog.provider.opencode.tagline": "Usaldusväärsed optimeeritud mudelid", + "dialog.provider.opencodeGo.tagline": "Madala hinnaga tellimus kõigile", + "dialog.provider.anthropic.note": "Otsene juurdepääs Claude mudelile, sealhulgas Pro ja Max", + "dialog.provider.copilot.note": "AI mudelid kodeerimisabiks GitHub Copilot kaudu", + "dialog.provider.openai.note": "GPT mudelid kiirete ja võimekate üldiste AI-ülesannete jaoks", + "dialog.provider.google.note": "Gemini mudelid kiirete ja struktureeritud vastuste jaoks", + "dialog.provider.openrouter.note": "Juurdepääs kõigile ühe pakkuja toetatud mudelitele", + "dialog.provider.vercel.note": "Ühtne juurdepääs AI mudelitele nutika marsruutimisega", + "dialog.model.select.title": "Valige mudel", + "dialog.model.search.placeholder": "Otsige mudeleid", + "dialog.model.empty": "Mudelitulemusi pole", + "dialog.model.manage": "Hallake mudeleid", + "dialog.model.manage.description": "Kohandage, millised mudelid mudelivalijas kuvatakse.", + "dialog.model.manage.provider.toggle": "Lülitab kõik {{provider}} mudelid sisse", + "dialog.model.unpaid.freeModels.title": "Tasuta mudeleid pakub OpenCode", + "dialog.model.unpaid.addMore.title": "Lisage populaarsete pakkujate mudeleid", + "dialog.model.unpaid.viewMoreProviders": "Vaadake veel 70+ pakkujat", + "dialog.provider.viewAll": "Kuva rohkem teenusepakkujaid", + "provider.connect.title": "Ühenda {{provider}}", + "provider.connect.title.anthropicProMax": "Logi sisse Claude Pro/Max", + "provider.connect.selectMethod": "Valige {{provider}} jaoks sisselogimisviis.", + "provider.connect.method.apiKey": "API klahv", + "provider.connect.method.browser": "Brauser", + "provider.connect.method.headless": "Peata", + "provider.connect.status.inProgress": "Autoriseerimine on pooleli...", + "provider.connect.status.waiting": "Autoriseerimise ootel...", + "provider.connect.status.failed": "Autoriseerimine ebaõnnestus: {{error}}", + "provider.connect.apiKey.description": + "Sisestage {{provider}} API võti, et ühendada konto ja kasutada {{provider}} mudeleid OpenCode'is.", + "provider.connect.apiKey.label": "{{provider}} API klahv", + "provider.connect.apiKey.placeholder": "API klahv", + "provider.connect.apiKey.required": "Klahv API on nõutav", + "provider.connect.opencodeZen.line1": + "OpenCode Zen annab teile juurdepääsu kodeerimisagentide usaldusväärsete optimeeritud mudelite kureeritud komplektile.", + "provider.connect.opencodeZen.line2": + "Ühe klahviga API pääsete juurde sellistele mudelitele nagu Claude, GPT, Gemini, GLM ja palju muud.", + "provider.connect.opencodeZen.visit.prefix": "Külastage ", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": " API võtme kättesaamiseks.", + "provider.connect.oauth.code.visit.prefix": "Külastage ", + "provider.connect.oauth.code.visit.link": "see link", + "provider.connect.oauth.code.visit.suffix": + " konto ühendamiseks autoriseerimiskoodi kogumiseks ja {{provider}} mudeli kasutamiseks jaotises OpenCode.", + "provider.connect.oauth.code.label": "{{method}} autoriseerimiskood", + "provider.connect.oauth.code.placeholder": "Autoriseerimiskood", + "provider.connect.oauth.code.required": "Vaja on autoriseerimiskoodi", + "provider.connect.oauth.code.invalid": "Vale autoriseerimiskood", + "provider.connect.oauth.auto.visit.prefix": "Külastage ", + "provider.connect.oauth.auto.visit.link": "see link", + "provider.connect.oauth.auto.visit.suffix": + " ja sisestage allolev kood, et ühendada oma konto ja kasutada {{provider}} mudelit jaotises OpenCode.", + "provider.connect.oauth.auto.confirmationCode": "Kinnituskood", + "provider.connect.toast.connected.title": "{{provider}} ühendatud", + "provider.connect.toast.connected.description": "{{provider}} mudelit on nüüd kasutamiseks saadaval.", + "provider.custom.title": "Kohandatud pakkuja", + "provider.custom.unavailable": "Kohandatud pakkujad pole selles serveris saadaval", + "provider.custom.description.prefix": "Konfigureerige OpenAI-ga ühilduv pakkuja. Vaadake ", + "provider.custom.description.link": "pakkuja konfiguratsioonidokumendid", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "Pakkuja ID", + "provider.custom.field.providerID.placeholder": "myprovider", + "provider.custom.field.providerID.description": "Väikesed tähed, numbrid, sidekriipsud või allkriipsud", + "provider.custom.field.name.label": "Kuvatav nimi", + "provider.custom.field.name.placeholder": "Minu AI pakkuja", + "provider.custom.field.baseURL.label": "Baas URL", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "API klahv", + "provider.custom.field.apiKey.placeholder": "API klahv", + "provider.custom.field.apiKey.description": "Valikuline. Jätke tühjaks, kui haldate autentimist päiste kaudu.", + "provider.custom.models.label": "Mudelid", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "model-id", + "provider.custom.models.name.label": "Nimi", + "provider.custom.models.name.placeholder": "Kuvatav nimi", + "provider.custom.models.remove": "Eemalda mudel", + "provider.custom.models.add": "Lisa mudel", + "provider.custom.headers.label": "Päised (valikuline)", + "provider.custom.headers.key.label": "Päis", + "provider.custom.headers.key.placeholder": "Header-Name", + "provider.custom.headers.value.label": "Väärtus", + "provider.custom.headers.value.placeholder": "value", + "provider.custom.headers.remove": "Eemalda päis", + "provider.custom.headers.add": "Lisa päis", + "provider.custom.error.providerID.required": "Pakkuja ID on nõutav", + "provider.custom.error.providerID.format": "Kasutage väiketähti, numbreid, sidekriipse või allkriipse", + "provider.custom.error.providerID.exists": "See pakkuja ID on juba olemas", + "provider.custom.error.name.required": "Kuvatav nimi on kohustuslik", + "provider.custom.error.baseURL.required": "Alus URL on nõutav", + "provider.custom.error.baseURL.format": "Peab algama http:// või https://", + "provider.custom.error.required": "Nõutav", + "provider.custom.error.duplicate": "Duplikaat", + "provider.disconnect.toast.disconnected.title": "{{provider}} on katkestatud", + "provider.disconnect.toast.disconnected.description": "{{provider}} mudelit pole enam saadaval.", + "model.tag.free": "Tasuta", + "model.tag.latest": "Viimased", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "tekst", + "model.input.image": "pilt", + "model.input.audio": "heli", + "model.input.video": "video", + "model.input.pdf": "pdf", + "model.tooltip.allows": "Lubab: {{inputs}}", + "model.tooltip.context.label": "Kontekst", + "model.tooltip.inputs": "Sisendid", + "model.tooltip.model": "Mudel", + "model.tooltip.provider": "Pakkuja", + "model.tooltip.reasoning": "Arutluskäik", + "model.tooltip.reasoning.allowed": "Võimaldab arutleda", + "model.tooltip.reasoning.none": "Ei mingit põhjendust", + "model.tooltip.context": "Kontekstipiirang {{limit}}", + "common.search.placeholder": "Otsi", + "common.goBack": "Navigeerige tagasi", + "common.goForward": "Liikuge edasi", + "common.loading": "Laadimine", + "common.loading.ellipsis": "...", + "common.cancel": "Tühista", + "common.clear": "Selge", + "common.open": "Avatud", + "common.connect": "Ühendage", + "common.disconnect": "Katkesta ühendus", + "common.continue": "Jätka", + "common.submit": "Esita", + "common.save": "Salvesta", + "common.saving": "Salvestamine...", + "common.default": "Vaikimisi", + "common.attachment": "manus", + "prompt.placeholder.shell": "Sisestage shellikäsk... {{example}}", + "prompt.placeholder.normal": 'Küsige mida tahes... "{{example}}"', + "prompt.placeholder.simple": "Küsi midagi...", + "prompt.placeholder.summarizeComments": "Tee kommentaaridest kokkuvõte…", + "prompt.placeholder.summarizeComment": "Kommentaari kokkuvõte…", + "prompt.mode.shell": "Shell", + "prompt.mode.normal": "Viip", + "prompt.mode.shell.exit": "esc väljumiseks", + "session.child.promptDisabled": "Alamagendi seansse ei saa küsida.", + "session.child.backToParent": "Tagasi põhiseansse.", + "prompt.example.1": "Parandage koodibaasis TODO", + "prompt.example.2": "Mis on selle projekti tehniline stack?", + "prompt.example.3": "Parandage katkised testid", + "prompt.example.4": "Selgitage, kuidas autentimine töötab", + "prompt.example.5": "Otsige ja parandage turvaauke", + "prompt.example.6": "Lisage kasutajateenuse ühikutestid", + "prompt.example.7": "Muutke see funktsioon loetavamaks", + "prompt.example.8": "Mida see viga tähendab?", + "prompt.example.9": "Aidake mul seda probleemi siluda", + "prompt.example.10": "Loo API dokumentatsioon", + "prompt.example.11": "Optimeerige andmebaasi päringuid", + "prompt.example.12": "Lisage sisendi valideerimine", + "prompt.example.13": "Looge uus komponent ...", + "prompt.example.14": "Kuidas seda projekti juurutada?", + "prompt.example.15": "Heade tavade saamiseks vaadake üle minu kood", + "prompt.example.16": "Lisage sellele funktsioonile veakäsitlus", + "prompt.example.17": "Selgitage seda regex-mustrit", + "prompt.example.18": "Teisenda see väärtuseks TypeScript", + "prompt.example.19": "Lisage logimine kogu koodibaasi", + "prompt.example.20": "Millised sõltuvused on aegunud?", + "prompt.example.21": "Aidake mul migratsiooniskripti kirjutada", + "prompt.example.22": "Rakendage selle lõpp-punkti vahemälu", + "prompt.example.23": "Lisage sellele loendile lehekülgede arv", + "prompt.example.24": "Looge CLI käsk...", + "prompt.example.25": "Kuidas keskkonnamuutujad siin töötavad?", + "prompt.popover.emptyResults": "Vastavaid tulemusi pole", + "prompt.popover.emptyCommands": "Ühtegi sobivat käsku pole", + "prompt.dropzone.label": "Pukseerige siia pildid, PDFs või tekstifailid", + "prompt.dropzone.file.label": "Pukseerige @mainimisfaili", + "prompt.slash.badge.custom": "kohandatud", + "prompt.slash.badge.skill": "oskus", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "aktiivne", + "prompt.context.includeActiveFile": "Kaasa aktiivne fail", + "prompt.context.removeActiveFile": "Eemaldage aktiivne fail kontekstist", + "prompt.context.removeFile": "Eemaldage fail kontekstist", + "prompt.action.attachFile": "Lisa faile", + "prompt.menu.addImagesAndFiles": "Lisage faile ja palju muud", + "prompt.menu.imagesAndFiles": "Pildid ja failid", + "prompt.menu.commands": "Käsud", + "prompt.menu.context": "Kontekst", + "prompt.menu.shellCommand": "Shelli käsk", + "prompt.attachment.remove": "Eemalda manus", + "prompt.action.send": "Saada", + "prompt.action.stop": "Peatus", + "prompt.toast.pasteUnsupported.title": "Toetamata manus", + "prompt.toast.pasteUnsupported.description": "Siia saab lisada ainult pilte, PDFs või tekstifaile.", + "prompt.toast.attachmentDuplicate.title": "See fail on juba üles laaditud", + "prompt.toast.modelAgentRequired.title": "Valige agent ja mudel", + "prompt.toast.modelAgentRequired.description": "Enne viipa saatmist valige agent ja mudel.", + "prompt.toast.worktreeCreateFailed.title": "Tööpuu loomine ebaõnnestus", + "prompt.toast.sessionCreateFailed.title": "Seansi loomine ebaõnnestus", + "prompt.toast.shellSendFailed.title": "Shelli käsu saatmine ebaõnnestus", + "prompt.toast.commandSendFailed.title": "Käsu saatmine ebaõnnestus", + "prompt.toast.promptSendFailed.title": "Viipa saatmine ebaõnnestus", + "prompt.toast.promptSendFailed.description": "Seanssi ei saa tuua", + "dialog.mcp.title": "MCP-d", + "dialog.mcp.description": "{{enabled}} / {{total}} on lubatud", + "dialog.mcp.empty": "MCP-sid pole konfigureeritud", + "dialog.lsp.empty": "LSP-d tuvastatakse failitüüpide järgi automaatselt", + "dialog.plugins.empty": "Pluginad on konfigureeritud failis opencode.json", + "mcp.status.connected": "ühendatud", + "mcp.status.failed": "ebaõnnestunud", + "mcp.status.needs_auth": "vajab autentimist", + "mcp.status.disabled": "puudega", + "mcp.auth.clickToAuthenticate": "Klõpsake autentimiseks", + "dialog.fork.empty": "Ühtegi sõnumit pole", + "dialog.directory.search.placeholder": "Otsi kaustadest", + "dialog.directory.empty": "Ühtegi kausta ei leitud", + "dialog.directory.action.selectFile": "Valige fail", + "dialog.directory.action.selectFolder": "Valige kaust", + "dialog.directory.root": "Juur", + "dialog.directory.parent": "Lapsevanem", + "dialog.directory.readError": "Seda kausta ei saa lugeda", + "app.server.unreachable": "Ei saanud ühendust {{server}}", + "app.server.retrying": "Automaatne uuesti proovimine...", + "app.server.otherServers": "Muud serverid", + "dialog.server.title": "Serverid", + "dialog.server.description": "Lülitage, millise OpenCode serveriga see rakendus ühenduse loob.", + "dialog.server.search.placeholder": "Otsi serveritest", + "dialog.server.empty": "Servereid veel pole", + "dialog.server.add.title": "Lisa server", + "dialog.server.add.url": "Serveri aadress", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "Serveriga ei õnnestunud ühendust luua", + "dialog.server.add.checking": "Kontrollimine...", + "dialog.server.add.button": "Lisa server", + "dialog.server.add.name": "Serveri nimi (valikuline)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "Kasutajanimi (valikuline)", + "dialog.server.add.usernamePlaceholder": "kasutajanimi", + "dialog.server.add.password": "Parool (valikuline)", + "dialog.server.add.passwordPlaceholder": "parool", + "dialog.server.edit.title": "Muuda serverit", + "dialog.server.default.title": "Vaikimisi server", + "dialog.server.default.description": + "Ühendage selle serveriga rakenduse käivitamisel kohaliku serveri käivitamise asemel. Nõuab taaskäivitamist.", + "dialog.server.default.none": "Serverit pole valitud", + "dialog.server.default.set": "Määra praegune server vaikeväärtuseks", + "dialog.server.default.clear": "Selge", + "dialog.server.action.remove": "Eemalda server", + "dialog.server.menu.edit": "Muuda", + "dialog.server.menu.default": "Määra vaikeväärtuseks", + "dialog.server.menu.defaultRemove": "Eemalda vaikeseade", + "dialog.server.menu.delete": "Kustuta", + "dialog.server.current": "Praegune server", + "dialog.server.status.default": "Vaikimisi", + "wsl.server.add": "Lisa WSL server", + "wsl.server.addShort": "Lisa WSL", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "WSL server", + "wsl.server.retryStart": "Proovi uuesti alustada", + "wsl.server.updating": "Värskendamine...", + "wsl.onboarding.step.distro": "Valige distro", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "WSL kontrollimine...", + "wsl.onboarding.restartRequired": "Windows vajab installimise WSL lõpetamiseks taaskäivitamist.", + "wsl.onboarding.ready": "WSL on valmis.", + "wsl.onboarding.required": "Jätkamiseks on vaja WSL.", + "wsl.onboarding.checkingDistros": "Distrode kontrollimine...", + "wsl.onboarding.installingDistro": "{{distro}} installimine...", + "wsl.onboarding.checkingDistro": "{{distro}} kontrollimine...", + "wsl.onboarding.listingDistros": "Distrode loend...", + "wsl.onboarding.distroReady": "{{distro}} on valmis.", + "wsl.onboarding.distroNotInstalled": "{{distro}} pole veel installitud.", + "wsl.onboarding.openDistroOnce": "Seadistamise lõpetamiseks avage üks kord {{distro}}.", + "wsl.onboarding.finishingDistro": "Seadistuse lõpetamine {{distro}} jaoks.", + "wsl.onboarding.pickDistro": "Valige distro või installige see allpool.", + "wsl.onboarding.checkingOpencode": "OpenCode kontrollimine...", + "wsl.onboarding.checkingOpencodeIn": "OpenCode kontrollimine asukohas {{distro}}...", + "wsl.onboarding.updatingOpencode": "OpenCode värskendamine...", + "wsl.onboarding.updatingOpencodeIn": "OpenCode värskendamine asukohas {{distro}}...", + "wsl.onboarding.updateOpencodeIn": "Värskenda OpenCode jaotises {{distro}}.", + "wsl.onboarding.updateOpencode": "Värskenda OpenCode", + "wsl.onboarding.opencodeReadyIn": "OpenCode on valmis {{distro}}.", + "wsl.onboarding.opencodeReady": "OpenCode on valmis.", + "wsl.onboarding.installOpencodeIn": "Installige OpenCode asukohta {{distro}}.", + "wsl.onboarding.installOpencode": "Installige OpenCode", + "wsl.onboarding.chooseDistroFirst": "Valige esmalt distro.", + "wsl.onboarding.loadFailed": "Oleku WSL laadimine ebaõnnestus.", + "wsl.onboarding.loading": "Laadimine...", + "wsl.onboarding.installedDistros": "Installitud distrood", + "wsl.onboarding.checkAgain": "Kontrollige uuesti", + "wsl.onboarding.distroStatus.ready": "Valmis", + "wsl.onboarding.distroStatus.checking": "Kontrollimine...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode pole installitud", + "wsl.onboarding.distroStatus.missingTools": "Puuduvad bash, curl", + "wsl.onboarding.distroStatus.unsupported": "Toetamata · Kasutage WSL 2", + "wsl.onboarding.needAnotherDistro": "Kas vajate teist distrot?", + "wsl.onboarding.needAnotherDistroHint": "Installige Linux distributsioon kataloogist WSL", + "wsl.onboarding.wslNotInstalled.title": "WSL pole installitud", + "wsl.onboarding.wslNotInstalled.description": + "WSL (Windows alamsüsteem Linux jaoks) on nõutav, enne kui OpenCode saab lisada WSL serveri", + "wsl.onboarding.wslUnavailable.title": "WSL pole saadaval", + "wsl.onboarding.wslUnavailable.description": "OpenCode ei saanud selles masinas kontrollida WSL.", + "wsl.onboarding.installWsl": "Installige WSL", + "wsl.onboarding.windowsRestartRequired": "Taaskäivitage Windows, et installida WSL, seejärel avage uuesti OpenCode.", + "wsl.onboarding.next": "Edasi", + "wsl.onboarding.refresh": "Värskenda", + "wsl.onboarding.allDistrosAdded": "Kõik installitud distrood on juba lisatud.", + "wsl.onboarding.noDistros": "Ühtegi distrosid pole veel tuvastatud.", + "wsl.onboarding.install": "Installige", + "wsl.onboarding.installing": "Installimine...", + "wsl.onboarding.installDistro": "Installige distro", + "wsl.onboarding.searchDistros": "Otsige distrosid", + "wsl.onboarding.wsl2Required": "WSL 2 on nõutav.", + "wsl.onboarding.toolsRequired": "See distro vajab bash ja curl.", + "wsl.onboarding.openTerminal": "Avage terminal", + "wsl.onboarding.path": "Tee: {{path}}", + "wsl.onboarding.notFound": "ei leitud", + "wsl.onboarding.version": "Versioon: {{version}}", + "wsl.onboarding.unknown": "teadmata", + "wsl.onboarding.desktopVersion": "töölaud {{version}}", + "wsl.onboarding.versionMismatch": "Installitud versioon ei ühti töölauarakenduse versiooniga.", + "wsl.onboarding.adding": "Lisamine...", + "help.tabs.toast.ariaLabel": "Tutvustame vahekaarte. Korraldage oma tööd ja aktiivseid seansse vahekaartide abil", + "help.tabs.toast.dismiss": "Loobu vahelehtede teabest", + "help.tabs.title": "Tutvustame vahekaarte", + "help.tabs.description": "Korraldage oma tööd ja aktiivseid seansse vahekaartide abil", + "help.tabs.date": "14. juuli", + "help.tabs.introduction": "OpenCode Töölaud on nüüd üles ehitatud vahekaartide ümber.", + "help.tabs.sessions": + "Alustage vahekaardil uut seanssi või avage mis tahes projektist olemasolev seanss. Kui alustate midagi uut, avage uus vaheleht ja sulgege see, kui olete lõpetanud.", + "help.tabs.organize": + "Mõne vahelehe avatuna hoidmine muudab aktiivsete seansside korraldamise lihtsamaks. Nimetage vahekaardid ümber millekski meeldejäävaks, kui kavatsete need alles jätta.", + "help.tabs.home": "Kõik seansid ja projektid leiate uuelt avalehelt. Seansi valimine avab selle vahekaardil.", + "help.tabs.persistence": "Kui avate rakenduse uuesti, on teie vahelehed endiselt avatud.", + "help.tabs.worktrees": + "Uus disain ei toeta veel Git tööpuud, see on peagi saadaval. Seega, kui eelistate jätkata eelmise paigutuse kasutamist, saate seadetes küljendusi vahetada. Pidage vaid meeles, et uus paigutus muutub mõne nädala pärast püsivaks.", + "server.row.noUsername": "kasutajanime pole", + "dialog.project.edit.title": "Redigeeri projekti", + "dialog.project.edit.name": "Nimi", + "dialog.project.edit.icon": "Ikoon", + "dialog.project.edit.icon.alt": "Projekti ikoon", + "dialog.project.edit.icon.hint": "Klõpsake või lohistage pilti", + "dialog.project.edit.icon.recommended": "Soovitatav: 128 x 128 pikslit", + "dialog.project.edit.color": "Värv", + "dialog.project.edit.color.select": "Valige {{color}} värv", + "dialog.project.edit.worktree.startup": "Tööruumi käivitusskript", + "dialog.project.edit.worktree.startup.description": "Käivitatakse pärast uue tööruumi (tööpuu) loomist.", + "dialog.project.edit.worktree.startup.placeholder": "nt. bun install", + "dialog.releaseNotes.action.getStarted": "Alustage", + "dialog.releaseNotes.action.next": "Edasi", + "dialog.releaseNotes.action.hideFuture": "Ärge näidake neid tulevikus", + "dialog.releaseNotes.media.alt": "Väljalase eelvaade", + "context.breakdown.title": "Konteksti jaotus", + "context.breakdown.note": 'Sisendmärkide ligikaudne jaotus. "Muu" hõlmab tööriistade määratlusi ja üldkulusid.', + "context.breakdown.system": "Süsteem", + "context.breakdown.user": "Kasutaja", + "context.breakdown.assistant": "Assistent", + "context.breakdown.tool": "Tööriistakõned", + "context.breakdown.other": "muud", + "context.systemPrompt.title": "Süsteemi viip", + "context.rawMessages.title": "Toores sõnumid", + "context.export.session": "Ekspordiseanss", + "context.stats.session": "Seanss", + "context.stats.messages": "Sõnumid", + "context.stats.provider": "Pakkuja", + "context.stats.model": "Mudel", + "context.stats.limit": "Konteksti piirang", + "context.stats.totalTokens": "Märke kokku", + "context.stats.usage": "Kasutamine", + "context.stats.inputTokens": "Sisestusmärgid", + "context.stats.outputTokens": "Väljundmärgid", + "context.stats.reasoningTokens": "Arutlusmärgid", + "context.stats.cacheTokens": "Vahemälu märgid (lugemine/kirjutamine)", + "context.stats.userMessages": "Kasutaja sõnumid", + "context.stats.assistantMessages": "Assistendi sõnumid", + "context.stats.totalCost": "Kogukulu", + "context.stats.sessionCreated": "Seanss loodud", + "context.stats.lastActivity": "Viimane tegevus", + "context.usage.tokens": "Tokenid", + "context.usage.usage": "Kasutamine", + "context.usage.cost": "Maksumus", + "context.usage.clickToView": "Klõpsake konteksti vaatamiseks", + "context.usage.view": "Vaadake kontekstikasutust", + "language.en": "inglise keel", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Deutsch", + "language.es": "Español", + "language.fr": "Français", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "Polski", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Norsk", + "language.br": "portugali keel (Brasiilia)", + "language.bs": "Bosanski", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Türkçe", + "toast.language.title": "Keel", + "toast.language.description": "Lülitati numbrile {{language}}", + "toast.theme.title": "Teema vahetatud", + "toast.scheme.title": "Värvilahendus", + "toast.workspace.enabled.title": "Tööruumid on lubatud", + "toast.workspace.enabled.description": "Nüüd kuvatakse külgribal mitu tööpuud", + "toast.workspace.disabled.title": "Tööruumid on keelatud", + "toast.workspace.disabled.description": "Külgribal kuvatakse ainult peamine tööpuud", + "toast.permissions.autoaccept.on.title": "Lubade automaatne aktsepteerimine", + "toast.permissions.autoaccept.on.description": "Loataotlused kinnitatakse automaatselt", + "toast.permissions.autoaccept.off.title": "Lubade automaatne vastuvõtmine on peatatud", + "toast.permissions.autoaccept.off.description": "Loataotlused nõuavad kinnitust", + "toast.model.none.title": "Ühtegi mudelit pole valitud", + "toast.model.none.description": "Seansi kokkuvõtte tegemiseks ühendage teenusepakkuja", + "toast.file.loadFailed.title": "Faili laadimine ebaõnnestus", + "toast.file.listFailed.title": "Failide loetlemine ebaõnnestus", + "toast.context.noLineSelection.title": "Rea valikut pole", + "toast.context.noLineSelection.description": "Valige faili vahekaardilt esmalt reavahemik.", + "toast.session.share.copyFailed.title": "URL lõikelauale kopeerimine ebaõnnestus", + "toast.session.share.success.title": "Seanss jagatud", + "toast.session.share.success.description": "Jaga URL kopeeriti lõikelauale!", + "toast.session.share.failed.title": "Seansi jagamine ebaõnnestus", + "toast.session.share.failed.description": "Seansi jagamisel ilmnes viga", + "toast.session.unshare.success.title": "Seansi jagamine tühistati", + "toast.session.unshare.success.description": "Seansi jagamise tühistamine õnnestus!", + "toast.session.unshare.failed.title": "Seansi jagamise tühistamine ebaõnnestus", + "toast.session.unshare.failed.description": "Seansi jagamise tühistamisel ilmnes viga", + "toast.session.export.success.title": "Seanss eksporditud", + "toast.session.export.success.description": "Seanss salvestatud asukohta {{filename}}", + "toast.session.export.failed.title": "Seansi eksportimine ebaõnnestus", + "toast.session.export.failed.description": "Seansi eksportimisel ilmnes viga", + "toast.session.listFailed.title": "{{project}} seansside laadimine ebaõnnestus", + "toast.project.reloadFailed.title": "{{project}} uuesti laadimine ebaõnnestus", + "toast.update.title": "Värskendus saadaval", + "toast.update.description": "Rakenduse OpenCode ({{version}}) uus versioon on nüüd installimiseks saadaval.", + "toast.update.action.installRestart": "Installige ja taaskäivitage", + "toast.update.action.notYet": "Veel mitte", + "error.page.title": "Midagi läks valesti", + "error.page.description": "Rakenduse laadimisel ilmnes viga.", + "error.page.description.localServerStartup": "Kohaliku serveri käivitamisel ilmnes viga.", + "error.page.details.label": "Vea üksikasjad", + "error.page.action.restart": "Taaskäivitage", + "error.page.action.report": "Teata veast", + "error.page.action.reported": "Teatatud viga", + "error.page.action.exportLogs": "Ekspordi logid", + "error.page.action.checking": "Kontrollimine...", + "error.page.action.checkUpdates": "Kontrollige värskendusi", + "error.page.action.updateTo": "Värskenda väärtusele {{version}}", + "error.page.circular": "[Ringkiri]", + "error.page.report.prefix": "Teatage sellest veast OpenCode meeskonnale", + "error.page.report.discord": "kuupäeval Discord", + "error.page.version": "Versioon: {{version}}", + "error.dev.rootNotFound": + "Juurelementi ei leitud. Kas unustasite selle lisada oma loendisse index.html? Või äkki on id-atribuut valesti kirjutatud?", + "error.serverSync.connectFailed": "Serveriga ei õnnestunud ühendust luua. Kas aadressil `{{url}}` töötab server?", + "error.serverSDK.noServerAvailable": "Serverit pole saadaval", + "error.serverSDK.serverNotAvailable": "Server pole saadaval", + "error.childStore.persistedCacheCreateFailed": "Püsiva vahemälu loomine ebaõnnestus", + "error.childStore.persistedProjectMetadataCreateFailed": "Püsiva projekti metaandmete loomine ebaõnnestus", + "error.childStore.persistedProjectIconCreateFailed": "Püsiva projekti ikooni loomine ebaõnnestus", + "error.childStore.storeCreateFailed": "Poe loomine ebaõnnestus", + "directory.error.invalidUrl": "Kehtetu kataloog asukohas URL.", + "error.chain.unknown": "Tundmatu viga", + "error.server.invalidConfiguration": "Kehtetu konfiguratsioon", + "error.chain.causedBy": "Põhjustatud:", + "error.chain.apiError": "API viga", + "error.chain.status": "Olek: {{status}}", + "error.chain.retryable": "Uuesti proovitav: {{retryable}}", + "error.chain.responseBody": "Vastuse keha:\n{{body}}", + "error.chain.didYouMean": "Kas mõtlesite: {{suggestions}}", + "error.chain.modelNotFound": "Mudelit ei leitud: {{provider}}/{{model}}", + "error.chain.checkConfig": "Kontrollige oma konfiguratsiooni (opencode.json) pakkuja/mudeli nimesid", + "error.chain.mcpFailed": 'MCP server "{{name}}" ebaõnnestus. Pange tähele, OpenCode ei toeta veel MCP autentimist.', + "error.chain.providerAuthFailed": "Pakkuja autentimine ebaõnnestus ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + 'Teenusepakkuja "{{provider}}" lähtestamine ebaõnnestus. Kontrollige mandaate ja konfiguratsiooni.', + "error.chain.configJsonInvalid": "Konfiguratsioonifail asukohas {{path}} ei kehti JSON (C)", + "error.chain.configJsonInvalidWithMessage": "Konfiguratsioonifail asukohas {{path}} ei kehti JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + 'Kataloog "{{dir}}" asukohas {{path}} ei kehti. Nimetage kataloog ümber "{{suggestion}}" või eemaldage see. See on tavaline kirjaviga.', + "error.chain.configFrontmatterError": "Frontmatteri sõelumine failis {{path}} ebaõnnestus:\n{{message}}", + "error.chain.configInvalid": "Konfiguratsioonifail aadressil {{path}} on kehtetu", + "error.chain.configInvalidWithMessage": "Konfiguratsioonifail aadressil {{path}} on kehtetu: {{message}}", + "notification.permission.title": "Nõutav luba", + "notification.permission.description": "{{sessionTitle}} asukohas {{projectName}} vajab luba", + "notification.question.title": "küsimus", + "notification.question.description": "{{sessionTitle}} kasutajal {{projectName}} on küsimus", + "notification.action.goToSession": "Mine seansile", + "notification.session.responseReady.title": "Vastus valmis", + "notification.session.error.title": "Seansi viga", + "notification.session.error.fallbackDescription": "Ilmnes viga", + "home.recentProjects": "Viimased projektid", + "home.empty.title": "Viimaseid projekte pole", + "home.empty.description": "Alustage kohaliku projekti avamisega", + "home.title": "Avaleht", + "home.projects": "Projektid", + "home.project.add": "Lisa projekt", + "home.recentlyClosed": "Hiljuti suletud", + "home.server.collapse": "Ahenda serveriprojektid", + "home.server.expand": "Laiendage serveriprojekte", + "home.sessions.search.placeholder": "Otsi seansse", + "home.sessions.search.placeholder.scoped": "Otsige seansse asukohas {{scope}}", + "home.sessions.search.sessions": "Seansid", + "home.sessions.search.noResults": "{{query}} jaoks ei leitud seansse", + "home.sessions.empty": "Siin pole veel midagi", + "home.sessions.empty.description": "Alustamiseks looge seanss", + "home.sessions.group.today": "Täna", + "home.sessions.group.yesterday": "eile", + "home.sessions.group.older": "Vanemad", + "home.providerTip": "Ühendage 75+ teenusepakkujaga, et kasutada muid mudeleid, sealhulgas Claude, GPT, Gemini jne", + "session.tab.session": "Seanss", + "session.tab.review": "Ülevaade", + "session.tab.context": "Kontekst", + "session.tab.unknown": "Tundmatu seanss", + "session.panel.reviewAndFiles": "Ülevaatus ja failid", + "session.error.notFound": "Seda seanssi ei leitud", + "session.error.notFound.description": "See vahekaart osutab seansile, mida selles serveris enam ei eksisteeri.", + "session.error.notFound.closeTab": "Sule vahekaart", + "session.error.serverConnection": "Selle serveriga ei saa ühendust", + "session.review.filesChanged": "Muudetud failid {{count}}", + "session.review.change.one": "Muuda", + "session.review.change.other": "Muudatused", + "session.review.loadingChanges": "Muudatuste laadimine...", + "session.review.empty": "Sellel seansil pole veel muudatusi", + "session.review.noVcs": "Ei tuvastatud Git Versioonikontrollisüsteemi, muudatusi ei kuvata", + "session.review.noVcs.createGit.title": "Loo Git hoidla", + "session.review.noVcs.createGit.description": "Selle projekti muudatuste jälgimine, ülevaatamine ja tagasivõtmine", + "session.review.noVcs.createGit.actionLoading": "Git hoidla loomine...", + "session.review.noVcs.createGit.action": "Loo Git hoidla", + "session.review.noSnapshot": + "Hetketõmmise jälgimine on konfiguratsioonis keelatud, seega pole seansi muudatused saadaval", + "session.review.noChanges": "Muudatusi pole", + "session.review.noUncommittedChanges": "Tehmata muudatusi pole veel tehtud", + "session.review.noBranchChanges": "Filiaali muudatusi veel pole", + "session.files.selectToOpen": "Valige avamiseks fail", + "session.files.all": "Kõik failid", + "session.files.empty": "Faile pole", + "session.files.binaryContent": "Binaarfail (sisu ei saa kuvada)", + "session.messages.renderEarlier": "Renderda varasemaid sõnumeid", + "session.messages.loadingEarlier": "Varasemate sõnumite laadimine...", + "session.messages.loadEarlier": "Laadige varasemad sõnumid", + "session.messages.loading": "Sõnumite laadimine...", + "session.messages.jumpToLatest": "Hüppa uusimale", + "session.context.addToContext": "Lisage konteksti {{selection}}", + "session.todo.title": "Ülesanded", + "session.todo.collapse": "Ahenda", + "session.todo.expand": "Laienda", + "session.todo.progress": "{{done}} ülesannet {{total}}-st lõpetatud", + "session.question.progress": "{{current}} küsimust {{total}}-st", + "session.question.minimize": "Minimeerige küsimus", + "session.question.restore": "Taasta küsimus", + "session.question.pending.one": "{{count}} ootel küsimus", + "session.question.pending.other": "{{count}} ootel küsimust", + "session.followupDock.summary.one": "{{count}} järjekorda pandud sõnum", + "session.followupDock.summary.other": "{{count}} järjekorras olevat sõnumit", + "session.followupDock.sendNow": "Saada kohe", + "session.followupDock.edit": "Muuda", + "session.followupDock.collapse": "Ahenda järjekorda pandud kirjad", + "session.followupDock.expand": "Laiendage järjekorras olevaid sõnumeid", + "session.revertDock.summary.one": "{{count}} tagasikeeratud sõnum", + "session.revertDock.summary.other": "{{count}} tagasipööratud sõnumit", + "session.revertDock.collapse": "Ahenda tagasi keritud sõnumid", + "session.revertDock.expand": "Laienda tagasipööratud sõnumeid", + "session.revertDock.restore": "Taasta sõnum", + "session.new.title": "Ehitage midagi", + "session.new.project.new": "Uus projekt", + "session.new.project.search": "Otsige projekte", + "session.new.project.add": "Lisa projekt", + "session.new.worktree.main": "Peaharu", + "session.new.worktree.mainWithBranch": "Põhiharu ({{branch}})", + "session.new.worktree.create": "Loo uus tööpuu", + "session.new.workspace.runIn": "Käivitage seanss", + "session.new.workspace.triggerLocal": "Kohalik", + "session.new.workspace.local": "Kohalik hoidla", + "session.new.workspace.existing": "Tööruum…", + "session.new.git.none": "Ei Git", + "session.new.lastModified": "Viimati muudetud", + "session.header.search.placeholder": "Otsi {{project}}", + "session.header.searchFiles": "Otsige faile", + "session.header.openIn": "Ava sisse", + "session.header.open.action": "Ava {{app}}", + "session.header.open.ariaLabel": "Avatud kohas {{app}}", + "session.header.open.menu": "Avage valikud", + "session.header.open.copyPath": "Kopeeri tee", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "File Explorer", + "session.header.open.fileManager": "Failihaldur", + "session.header.reveal.finder": "Avalda Finder", + "session.header.reveal.fileExplorer": "Avalda File Explorer", + "session.header.reveal.containingFolder": "Ava sisaldav kaust", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Terminal", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "Olek", + "status.popover.ariaLabel": "Serveri konfiguratsioonid", + "status.popover.tab.servers": "Serverid", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "Pluginad", + "status.popover.action.manageServers": "Hallake servereid", + "session.share.popover.title": "Avalda veebis", + "session.share.popover.description.shared": + "See seanss on veebis avalik. See on juurdepääsetav kõigile, kellel on link.", + "session.share.popover.description.unshared": + "Jagage seanssi avalikult veebis. See on juurdepääsetav kõigile, kellel on link.", + "session.share.action.share": "Jaga", + "session.share.action.publish": "Avalda", + "session.share.action.publishing": "Avaldamine...", + "session.share.action.unpublish": "Tühista avaldamine", + "session.share.action.unpublishing": "Avaldamise tühistamine...", + "session.share.action.view": "Vaade", + "session.share.copy.copied": "Kopeeritud", + "session.share.copy.copyLink": "Kopeeri link", + "lsp.tooltip.none": "LSP serverit pole", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "Viipa laadimine...", + "terminal.loading": "Terminali laadimine...", + "terminal.title": "Terminal", + "terminal.title.numbered": "Terminal {{number}}", + "terminal.close": "Sulgege terminal", + "terminal.connectionLost.title": "Ühendus katkes", + "terminal.connectionLost.abnormalClose": "WebSocket on ebatavaliselt suletud: {{code}}", + "terminal.connectionLost.description": "Terminali ühendus katkes. See võib juhtuda serveri taaskäivitamisel.", + "terminal.connectTicket.csrfError": + "PTY ühenduse pilet lükati tagasi päritolu või CSRF kontrolli tõttu. Kontrollige serveri CORS konfiguratsiooni.", + "terminal.connectTicket.statusError": "PTY ühenduspilet ebaõnnestus kasutajaga {{status}}", + "titlebar.update": "Värskenda", + "titlebar.updateVersion": "Värskenda {{version}}", + "common.closeTab": "Sule vahekaart", + "common.dismiss": "Loobu", + "common.moreCountSuffix": " (+{{count}} veel)", + "common.requestFailed": "Taotlus ebaõnnestus", + "common.moreOptions": "Rohkem valikuid", + "common.learnMore": "Lisateavet", + "common.rename": "Nimeta ümber", + "common.export": "Ekspordi", + "common.reset": "Lähtesta", + "common.archive": "Arhiiv", + "common.delete": "Kustuta", + "common.close": "Sule", + "common.edit": "Muuda", + "common.loadMore": "Laadige rohkem", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "teadmata", + "common.time.justNow": "Just praegu", + "common.time.minutesAgo.short": "{{count}} min tagasi", + "common.time.hoursAgo.short": "{{count}} h tagasi", + "common.time.daysAgo.short": "{{count}}p tagasi", + "sidebar.menu.toggle": "Lülitage menüü", + "sidebar.nav.projectsAndSessions": "Projektid ja istungid", + "sidebar.settings": "Seaded", + "sidebar.help": "Abi", + "sidebar.workspaces.enable": "Luba tööruumid", + "sidebar.workspaces.disable": "Keela tööruumid", + "sidebar.gettingStarted.title": "Alustamine", + "sidebar.gettingStarted.line1": "OpenCode sisaldab tasuta mudeleid, nii et saate kohe alustada.", + "sidebar.gettingStarted.line2": "Mudelite kasutamiseks ühendage mis tahes pakkuja, sh. Claude, GPT, Gemini jne.", + "sidebar.project.recentSessions": "Viimased istungid", + "sidebar.project.viewAllSessions": "Vaadake kõiki seansse", + "sidebar.project.clearNotifications": "Tühjenda märguanded", + "sidebar.empty.title": "Avatud projekte pole", + "sidebar.empty.description": "Alustamiseks avage projekt", + "debugBar.ariaLabel": "Arendustegevuse diagnostika", + "debugBar.na": "n/a", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "Viimane lõpetatud marsruudi üleminek, mis puudutab seansi lehte, mõõdetuna ruuteri algusest kuni esimese värvimiseni pärast selle settimist.", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "Veerevad kaadrid sekundis viimase 5 sekundi jooksul.", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "Halvim kaadriaeg viimase 5 sekundi jooksul.", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "Kaadrid üle 32 ms viimase 5 sekundi jooksul.", + "debugBar.long.label": "LONG", + "debugBar.long.tip": + "Blokeeritud aeg ja pikkade ülesannete arv viimase 5 sekundi jooksul. Maksimaalne ülesanne: {{max}}.", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "Halvim täheldatud sisendi viivitus viimase 5 sekundi jooksul.", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": + "Ligikaudne interaktsiooni kestus viimase 5 sekundi jooksul. See on INP-sarnane, mitte ametlik Web Vitals INP.", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "Kumulatiivne paigutuse nihe praeguse rakenduse kasutusaja jooksul.", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "Kasutatud JS kuhja vs hunniku limiit. Chromium ainult.", + "debugBar.mem.tip": "Kasutatud JS kuhja vs hunniku limiit. {{used}} / {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Sundige fookusstiilid kõigile interaktiivsetele elementidele", + "debugBar.focus.on": "SEES", + "debugBar.focus.off": "VÄLJAS", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Sunnige kogu rakenduse paigutuse suund valitud keelt muutmata", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode Töölaud", + "settings.section.desktop": "Töölaud", + "settings.section.server": "Server", + "settings.tab.general": "Kindral", + "settings.tab.shortcuts": "Otseteed", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "WSL integratsioon", + "settings.desktop.wsl.description": "Käivitage OpenCode server sees WSL saidil Windows.", + "settings.general.section.appearance": "Välimus", + "settings.general.section.advanced": "Täpsemalt", + "settings.general.section.notifications": "Süsteemi teatised", + "settings.general.section.updates": "Värskendused", + "settings.general.section.sounds": "Heliefektid", + "settings.general.section.feed": "Sööda", + "settings.general.section.display": "Ekraan", + "settings.general.row.language.title": "Keel", + "settings.general.row.language.description": "Muutke OpenCode kuvakeelt", + "settings.general.row.shell.title": "Terminali shell", + "settings.general.row.shell.description": "Terminali ja agenditööriistade kasutatav shell", + "settings.general.row.shell.autoDefault": "Automaatne (vaikimisi)", + "settings.general.row.shell.terminalOnly": "ainult terminal", + "settings.general.row.appearance.title": "Välimus", + "settings.general.row.appearance.description": "Kohandage, kuidas OpenCode teie seadmes välja näeb", + "settings.general.row.colorScheme.title": "Värvilahendus", + "settings.general.row.colorScheme.description": "Valige, kas OpenCode järgib süsteemi, heledat või tumedat teemat", + "settings.general.row.theme.title": "Teema", + "settings.general.row.theme.description": "Kohandage, kuidas OpenCode on teemastatud.", + "settings.general.row.font.title": "Koodi font", + "settings.general.row.font.description": "Kohandage koodiplokkides kasutatavat fonti", + "settings.general.row.terminalFont.title": "Terminali font", + "settings.general.row.terminalFont.description": "Kohandage terminalis kasutatavat fonti", + "settings.general.row.uiFont.title": "Kasutajaliidese font", + "settings.general.row.uiFont.description": "Kohandage kogu liideses kasutatavat fonti", + "settings.general.row.followup.title": "Järelkäitumine", + "settings.general.row.followup.description": "Valige, kas järelviibad juhivad kohe või oodake järjekorras", + "settings.general.row.followup.option.queue": "Järjekord", + "settings.general.row.followup.option.steer": "Juhtida", + "settings.general.row.showFileTree.title": "Failipuu", + "settings.general.row.showFileTree.description": "Failipuu paneeli kuvamine seanssides", + "settings.general.row.showNavigation.title": "Navigeerimisnupud", + "settings.general.row.showNavigation.description": "Näidake töölaua tiitliribal tagasi ja edasi nuppe", + "settings.general.row.showSearch.title": "Käsupalett", + "settings.general.row.showSearch.description": "Kuvage tiitliribal otsingu- ja käsupaleti nupp", + "settings.general.row.showTerminal.title": "Terminal", + "settings.general.row.showTerminal.description": "Kuvage töölaua tiitliribal terminali nupp", + "settings.general.row.showStatus.title": "Serveri olek", + "settings.general.row.showStatus.description": "Näita tiitliribal serveri olekunuppu", + "settings.general.row.mobileTitlebarBottom.title": "Alumine navigeerimine", + "settings.general.row.mobileTitlebarBottom.description": + "Asetage tiitliriba ja seansi vahekaardid mobiilis ekraani allossa", + "settings.general.row.showCustomAgents.title": "Näita agenti", + "settings.general.row.showCustomAgents.description": + "Helilooja agentide vahel vahetamine. Kui see on peidetud, on vaikimisi Agent.", + "settings.general.row.reasoningSummaries.title": "Näita põhjenduste kokkuvõtteid", + "settings.general.row.reasoningSummaries.description": "Kuva mudeli arutluskäigu kokkuvõtted ajaskaalal", + "settings.general.row.shellToolPartsExpanded.title": "Laienda shellitööriista osi", + "settings.general.row.shellToolPartsExpanded.description": + "Kuva shellitööriista osad ajaskaalal vaikimisi laiendatuna", + "settings.general.row.editToolPartsExpanded.title": "Laiendage tööriista osade redigeerimist", + "settings.general.row.editToolPartsExpanded.description": + "Kuva ajaskaalal vaikimisi laiendatud redigeerimis-, kirjutamis- ja paigatööriistade osad", + "settings.general.row.newInterface.title": "Uus paigutus", + "settings.general.row.newInterface.badge": "Uus", + "settings.general.row.newInterface.description": + "Kasutage uusi vahekaarte ja avalehe paigutust. Lülituge piiratud aja jooksul paigutuste vahel.", + "settings.general.row.newInterfaceNotice.title": "Kasutate nüüd uut paigutust", + "settings.general.row.newInterfaceNotice.description": "Eelmine paigutus pole enam saadaval", + "settings.general.row.newInterfaceNotice.dismiss": "Loobu", + "settings.general.row.pinchZoom.title": "Suumimiseks näpistage", + "settings.general.row.pinchZoom.description": "Lubage suumimiseks puuteplaadi kokkusurumine ja Ctrl-kerimine", + "settings.general.row.wayland.title": "Kasuta omakeelset Wayland", + "settings.general.row.wayland.description": "Keela X11 varundus Wayland. Nõuab taaskäivitamist.", + "settings.general.row.wayland.tooltip": + "Segatud värskendussagedusega kuvarite puhul Linux võib natiivne Wayland olla stabiilsem.", + "settings.general.row.releaseNotes.title": "Väljalaske märkmed", + "settings.general.row.releaseNotes.description": "Kuva Mis on uut hüpikaknad pärast värskendusi", + "settings.updates.row.startup.title": "Kontrollige käivitamisel värskendusi", + "settings.updates.row.startup.description": "Kontrollige automaatselt värskendusi, kui OpenCode käivitub", + "settings.updates.row.check.title": "Kontrollige värskendusi", + "settings.updates.row.check.description": "Kontrollige värskendusi käsitsi ja installige, kui need on saadaval", + "settings.updates.action.checkNow": "Kontrollige kohe", + "settings.updates.action.checking": "Kontrollimine...", + "settings.updates.action.downloading": "Allalaadimine...", + "settings.updates.action.installing": "Installimine...", + "settings.updates.toast.latest.title": "Oled kursis", + "settings.updates.toast.latest.description": "Kasutate rakenduse OpenCode uusimat versiooni.", + "sound.option.none": "Mitte ühtegi", + "sound.option.alert01": "Hoiatus 01", + "sound.option.alert02": "Hoiatus 02", + "sound.option.alert03": "Hoiatus 03", + "sound.option.alert04": "Hoiatus 04", + "sound.option.alert05": "Hoiatus 05", + "sound.option.alert06": "Hoiatus 06", + "sound.option.alert07": "Hoiatus 07", + "sound.option.alert08": "Hoiatus 08", + "sound.option.alert09": "Hoiatus 09", + "sound.option.alert10": "Hoiatus 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "ei 01", + "sound.option.nope02": "ei 02", + "sound.option.nope03": "ei 03", + "sound.option.nope04": "ei 04", + "sound.option.nope05": "ei 05", + "sound.option.nope06": "ei 06", + "sound.option.nope07": "ei 07", + "sound.option.nope08": "ei 08", + "sound.option.nope09": "ei 09", + "sound.option.nope10": "Ei 10", + "sound.option.nope11": "Ei 11", + "sound.option.nope12": "Ei 12", + "sound.option.yup01": "jah 01", + "sound.option.yup02": "jah 02", + "sound.option.yup03": "jah 03", + "sound.option.yup04": "jah 04", + "sound.option.yup05": "jah 05", + "sound.option.yup06": "jah 06", + "settings.general.notifications.agent.title": "Agent", + "settings.general.notifications.agent.description": "Kuva süsteemi teatis, kui agent on valmis või vajab tähelepanu", + "settings.general.notifications.permissions.title": "load", + "settings.general.notifications.permissions.description": "Kuva süsteemi teatis, kui luba on vaja", + "settings.general.notifications.errors.title": "Vead", + "settings.general.notifications.errors.description": "Kuva tõrke korral süsteemi teatis", + "settings.general.sounds.agent.title": "Agent", + "settings.general.sounds.agent.description": "Esitage heli, kui agent on valmis või vajab tähelepanu", + "settings.general.sounds.permissions.title": "load", + "settings.general.sounds.permissions.description": "Esitage heli, kui on vaja luba", + "settings.general.sounds.errors.title": "Vead", + "settings.general.sounds.errors.description": "Esita tõrke korral heli", + "settings.shortcuts.title": "Klaviatuuri otseteed", + "settings.shortcuts.reset.button": "Lähtestage vaikeseadetele", + "settings.shortcuts.reset.toast.title": "Otseteed lähtestatakse", + "settings.shortcuts.reset.toast.description": "Klaviatuuri otseteed on lähtestatud vaikeseadetele.", + "settings.shortcuts.conflict.title": "Otsetee on juba kasutusel", + "settings.shortcuts.conflict.description": "{{keybind}} on juba määratud kasutajale {{titles}}.", + "settings.shortcuts.unassigned": "Määramata", + "settings.shortcuts.pressKeys": "Vajutage klahve", + "settings.shortcuts.search.placeholder": "Otsige otseteid", + "settings.shortcuts.search.empty": "Otseteed ei leitud", + "settings.shortcuts.group.general": "Kindral", + "settings.shortcuts.group.session": "Seanss", + "settings.shortcuts.group.navigation": "Navigeerimine", + "settings.shortcuts.group.modelAndAgent": "Modell ja agent", + "settings.shortcuts.group.terminal": "Terminal", + "settings.shortcuts.group.prompt": "Viip", + "settings.providers.title": "Pakkujad", + "settings.providers.description": "Pakkuja seadeid saab siin konfigureerida.", + "settings.providers.section.connected": "Ühendatud pakkujad", + "settings.providers.connected.empty": "Ühendatud pakkujaid pole", + "settings.providers.connected.environmentDescription": "Ühendatud teie keskkonnamuutujatega", + "settings.providers.section.popular": "Populaarsed pakkujad", + "settings.providers.custom.description": "Lisage OpenAI-ga ühilduv pakkuja baasi URL alusel.", + "settings.providers.tag.environment": "Keskkond", + "settings.providers.tag.config": "Konfig", + "settings.providers.tag.custom": "Kohandatud", + "settings.providers.tag.other": "muud", + "settings.models.title": "Mudelid", + "settings.models.description": "Mudeli sätteid saab siin konfigureerida.", + "settings.agents.title": "Agendid", + "settings.agents.description": "Agendi seadeid saab siin konfigureerida.", + "settings.commands.title": "Käsud", + "settings.commands.description": "Käskude sätteid saab siin konfigureerida.", + "settings.mcp.title": "MCP", + "settings.mcp.description": "MCP seadeid saab siin konfigureerida.", + "settings.permissions.title": "load", + "settings.permissions.description": "Saate juhtida, milliseid tööriistu server vaikimisi kasutada saab.", + "settings.permissions.section.tools": "Tööriistad", + "settings.permissions.toast.updateFailed.title": "Lubade värskendamine ebaõnnestus", + "settings.permissions.action.allow": "Luba", + "settings.permissions.action.ask": "Küsi", + "settings.permissions.action.deny": "Keela", + "settings.permissions.tool.read.title": "Lugege", + "settings.permissions.tool.read.description": "Faili lugemine (vastab faili teele)", + "settings.permissions.tool.edit.title": "Muuda", + "settings.permissions.tool.edit.description": "Failide muutmine, sh muudatused, kirjutamised ja paigad", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "Sobitage failid globaalsete mustrite abil", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "Otsige faili sisu regulaaravaldiste abil", + "settings.permissions.tool.list.title": "Nimekiri", + "settings.permissions.tool.list.description": "Loetlege failid kataloogis", + "settings.permissions.tool.bash.title": "Bash", + "settings.permissions.tool.bash.description": "Käivitage shellikäsud", + "settings.permissions.tool.task.title": "Ülesanne", + "settings.permissions.tool.task.description": "Käivitage allagendid", + "settings.permissions.tool.skill.title": "Oskus", + "settings.permissions.tool.skill.description": "Laadige oskus nime järgi", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "Käivitage keeleserveri päringuid", + "settings.permissions.tool.todowrite.title": "Todo Kirjuta", + "settings.permissions.tool.todowrite.description": "Värskendage ülesannete loendit", + "settings.permissions.tool.webfetch.title": "Veebi toomine", + "settings.permissions.tool.webfetch.description": "Sisu toomine asukohast URL", + "settings.permissions.tool.websearch.title": "Veebiotsing", + "settings.permissions.tool.websearch.description": "Otsige veebist", + "settings.permissions.tool.external_directory.title": "Väline kataloog", + "settings.permissions.tool.external_directory.description": "Juurdepääs failidele väljaspool projekti kataloogi", + "settings.permissions.tool.doom_loop.title": "Doom Loop", + "settings.permissions.tool.doom_loop.description": "Tuvastab korduvad tööriistakutsed identse sisendiga", + "session.delete.failed.title": "Seansi kustutamine ebaõnnestus", + "session.delete.title": "Kustuta seanss", + "session.delete.confirm": 'Kas kustutada seanss "{{name}}"?', + "session.delete.button": "Kustuta seanss", + "workspace.new": "Uus tööruum", + "workspace.type.local": "kohalik", + "workspace.type.sandbox": "liivakast", + "workspace.create.failed.title": "Tööruumi loomine ebaõnnestus", + "workspace.delete.failed.title": "Tööruumi kustutamine ebaõnnestus", + "workspace.resetting.title": "Tööruumi lähtestamine", + "workspace.resetting.description": "See võib võtta minuti.", + "workspace.reset.failed.title": "Tööruumi lähtestamine ebaõnnestus", + "workspace.reset.success.title": "Tööruumi lähtestamine", + "workspace.reset.success.description": "Tööala vastab nüüd vaikeharule.", + "workspace.error.stillPreparing": "Tööala on veel ettevalmistamisel", + "workspace.status.checking": "Ühendamata muudatuste otsimine...", + "workspace.status.error": "git-olekut ei saa kinnitada.", + "workspace.status.clean": "Ühtegi ühendamata muudatust ei tuvastatud.", + "workspace.status.dirty": "Selles tööruumis tuvastati ühendamata muudatused.", + "workspace.delete.title": "Kustuta tööruum", + "workspace.delete.confirm": 'Kas kustutada tööruum "{{name}}"?', + "workspace.delete.button": "Kustuta tööruum", + "workspace.reset.title": "Lähtestage tööala", + "workspace.reset.confirm": 'Kas lähtestada tööruum "{{name}}"?', + "workspace.reset.button": "Lähtestage tööala", + "workspace.reset.archived.none": "Ühtegi aktiivset seanssi ei arhiveerita.", + "workspace.reset.archived.one": "1 seanss arhiveeritakse.", + "workspace.reset.archived.many": "{{count}} seanssi arhiivitakse.", + "workspace.reset.note": "See lähtestab tööruumi, et see vastaks vaikeharule.", + "dialog.usageExceeded.dontShowAgain": "Ära kuva enam", +} diff --git a/packages/app/src/i18n/fa.ts b/packages/app/src/i18n/fa.ts new file mode 100644 index 000000000000..0d3d721b5324 --- /dev/null +++ b/packages/app/src/i18n/fa.ts @@ -0,0 +1,1155 @@ +export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "فایل", + "desktop.menu.edit": "ویرایش کنید", + "desktop.menu.view": "مشاهده کنید", + "desktop.menu.go": "برو", + "desktop.menu.window": "پنجره", + "desktop.menu.help": "کمک کنید", + "desktop.menu.checkForUpdates": "بررسی به روز رسانی...", + "desktop.menu.settings": "تنظیمات", + "desktop.menu.reloadWebview": "بارگذاری مجدد Webview", + "desktop.menu.restart": "راه اندازی مجدد", + "desktop.menu.exportLogs": "صادرات گزارش‌ها...", + "desktop.menu.newSession": "جلسه جدید", + "desktop.menu.openProject": "باز کردن پروژه ...", + "desktop.menu.newWindow": "پنجره جدید", + "desktop.menu.closeWindow": "بستن پنجره", + "desktop.menu.undo": "واگرد", + "desktop.menu.redo": "دوباره انجام دهید", + "desktop.menu.cut": "برش دهید", + "desktop.menu.copy": "کپی کنید", + "desktop.menu.paste": "چسباندن", + "desktop.menu.delete": "حذف", + "desktop.menu.selectAll": "همه را انتخاب کنید", + "desktop.menu.toggleSidebar": "نوار کناری را تغییر دهید", + "desktop.menu.toggleTerminal": "ترمینال را تغییر دهید", + "desktop.menu.toggleFileTree": "درخت فایل را تغییر دهید", + "desktop.menu.reload": "بارگذاری مجدد", + "desktop.menu.toggleDeveloperTools": "ابزارهای توسعه دهنده را تغییر دهید", + "desktop.menu.actualSize": "اندازه واقعی", + "desktop.menu.zoomIn": "بزرگنمایی", + "desktop.menu.zoomOut": "بزرگنمایی", + "desktop.menu.toggleFullScreen": "تمام صفحه را تغییر دهید", + "desktop.menu.back": "برگشت", + "desktop.menu.forward": "به جلو", + "desktop.menu.previousSession": "جلسه قبلی", + "desktop.menu.nextSession": "جلسه بعدی", + "desktop.menu.previousProject": "پروژه قبلی", + "desktop.menu.nextProject": "پروژه بعدی", + "desktop.menu.minimize": "به حداقل رساندن", + "desktop.menu.maximize": "به حداکثر رساندن", + "desktop.menu.documentation": "مستندات OpenCode", + "desktop.menu.supportForum": "انجمن پشتیبانی", + "desktop.menu.shareFeedback": "بازخورد را به اشتراک بگذارید", + "desktop.menu.reportBug": "گزارش یک اشکال", + "desktop.menu.ariaLabel": "منوی OpenCode", + "desktop.updater.dialog.checkFailed.message": "بررسی به‌روزرسانی انجام نشد.", + "desktop.updater.dialog.checkFailed.title": "خطای آپدیت", + "desktop.updater.dialog.upToDate.message": "شما به روز هستید.", + "desktop.updater.dialog.upToDate.title": "بدون به روز رسانی", + "desktop.updater.dialog.ready.message": "به روز رسانی {{version}} دانلود شد. اکنون دوباره راه اندازی شود؟", + "desktop.updater.dialog.ready.title": "به روز رسانی آماده است", + "desktop.updater.dialog.restart": "راه اندازی مجدد", + "desktop.updater.dialog.later": "بعدا", + "desktop.recovery.action.relaunch": "راه اندازی مجدد", + "desktop.recovery.action.exportLogs": "صادرات سیاهههای مربوط", + "desktop.recovery.action.keepWaiting": "منتظر باشید", + "desktop.recovery.action.quit": "ترک کنید", + "desktop.recovery.loadFailed": "OpenCode بارگیری نشد", + "desktop.recovery.terminated": "پنجره OpenCode به طور غیرمنتظره ای خاتمه یافت", + "desktop.recovery.unresponsive": "OpenCode پاسخ نمی دهد", + "desktop.recovery.unresponsive.detail": + "می‌توانید برنامه را دوباره راه‌اندازی کنید، گزارش‌ها را باز کنید یا منتظر بمانید.", + "desktop.recovery.loadFailed.detail": "پنجره: {{window}}\nURL: {{url}}\nخطا: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "پنجره: {{window}}\nدلیل: {{reason}}\nکد: {{code}}", + "desktop.recovery.unknown": "<ناشناخته>", + "desktop.dialog.chooseFolder": "یک پوشه را انتخاب کنید", + "desktop.dialog.chooseFile": "یک فایل را انتخاب کنید", + "desktop.dialog.saveFile": "ذخیره فایل", + "desktop.dialog.files": "فایل ها", + "desktop.server.local": "سرور محلی", + "desktop.wsl.error.windowsOnly": "WSL فقط در Windows موجود است", + "desktop.wsl.error.unavailable": "WSL در دسترس نیست", + "desktop.wsl.error.listInstalled": "فهرست توزیع‌های نصب‌شده WSL انجام نشد", + "desktop.wsl.error.listOnline": "لیست توزیع آنلاین WSL انجام نشد", + "desktop.wsl.error.executeDistro": "نمی توان دستورات را در توزیع اجرا کرد", + "desktop.wsl.error.installWsl": "نصب WSL انجام نشد", + "desktop.wsl.error.installDistro": "توزیع توزیع نصب نشد: {{distro}}", + "desktop.wsl.error.installOpencode": "نصب OpenCode انجام نشد", + "desktop.wsl.error.alreadyAdded": "{{distro}} قبلاً اضافه شده است", + "desktop.wsl.error.opencodeMissing": "opencode در این توزیع نصب نشده است", + "desktop.wsl.error.opencodeCannotRun": "opencode نصب شده است اما اجرا نمی شود", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode در {{distro}} نصب نشده است", + "desktop.wsl.error.updateVersion": + "به‌روزرسانی OpenCode به پایان رسید، اما {{distro}} همچنان {{installed}} را گزارش می‌کند. مورد انتظار {{expected}}", + "desktop.wsl.error.noVersion": "بدون نسخه", + "desktop.wsl.error.serverExited": "سرور WSL پس از راه اندازی خارج شد (کد={{code}} سیگنال={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "سرور WSL قبل از سالم شدن خارج شد (کد={{code}} سیگنال={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": "Sidecar برای بررسی سلامت {{distro}} پس از {{timeout}}ms به پایان رسید", + "desktop.wsl.error.commandTimeout": "زمان {{command}} {{args}} پس از {{timeout}}ms تمام شد", + "desktop.wsl.error.failedPort": "پورت دریافت نشد", + "desktop.picker.error.notSelected": "فایل توسط انتخاب کننده انتخاب نشده است", + "desktop.picker.error.sizeLimit": "پیوست های انتخابی بیش از حد مجاز {{limit}} مگابایت است", + "command.category.suggested": "پیشنهاد شده است", + "command.category.view": "مشاهده کنید", + "command.category.project": "پروژه", + "command.category.provider": "ارائه دهنده", + "command.category.server": "سرور", + "command.category.session": "جلسه", + "command.category.theme": "موضوع", + "command.category.language": "زبان", + "command.category.file": "فایل", + "command.category.context": "زمینه", + "command.category.terminal": "ترمینال", + "command.category.model": "مدل", + "command.category.mcp": "MCP", + "command.category.agent": "عامل", + "command.category.permissions": "مجوزها", + "command.category.workspace": "فضای کار", + "command.category.settings": "تنظیمات", + "command.logs.export": "صادرات سیاهههای مربوط", + "theme.scheme.system": "سیستم", + "theme.scheme.light": "نور", + "theme.scheme.dark": "تاریک", + "command.sidebar.toggle": "نوار کناری را تغییر دهید", + "command.project.open": "پروژه را باز کنید", + "command.project.previous": "پروژه قبلی", + "command.project.next": "پروژه بعدی", + "command.project.index": "به پروژه {{index}} بروید", + "command.provider.connect": "ارائه دهنده را متصل کنید", + "command.server.switch": "سوئیچ سرور", + "command.settings.open": "تنظیمات را باز کنید", + "command.session.previous": "جلسه قبلی", + "command.session.next": "جلسه بعدی", + "command.session.previous.unseen": "جلسه خوانده نشده قبلی", + "command.session.next.unseen": "جلسه خوانده نشده بعدی", + "command.session.archive": "جلسه آرشیو", + "command.palette": "پالت فرمان", + "command.theme.cycle": "موضوع چرخه", + "command.theme.set": "استفاده از تم: {{theme}}", + "command.theme.scheme.cycle": "طرح رنگ چرخه", + "command.theme.scheme.set": "استفاده از طرح رنگ: {{scheme}}", + "command.language.cycle": "زبان چرخه", + "command.language.set": "استفاده از زبان: {{language}}", + "command.session.new": "جلسه جدید", + "command.file.open": "باز کردن فایل", + "command.tab.close": "بستن برگه", + "command.tab.reopenClosed": "برگه بسته را دوباره باز کنید", + "command.context.addSelection": "انتخاب را به متن اضافه کنید", + "command.context.addSelection.description": "خطوط انتخاب شده را از فایل فعلی اضافه کنید", + "command.input.focus": "فوکوس ورودی", + "command.terminal.toggle": "ترمینال را تغییر دهید", + "command.fileTree.toggle": "درخت فایل را تغییر دهید", + "command.review.toggle": "بازبینی را تغییر دهید", + "command.terminal.new": "ترمینال جدید", + "command.terminal.new.description": "یک تب ترمینال جدید ایجاد کنید", + "command.steps.toggle": "جابجایی مراحل", + "command.steps.toggle.description": "نمایش یا پنهان کردن مراحل برای پیام فعلی", + "command.message.previous": "پیام قبلی", + "command.message.previous.description": "به پیام کاربر قبلی بروید", + "command.message.next": "پیام بعدی", + "command.message.next.description": "به پیام کاربر بعدی بروید", + "command.model.choose": "مدل را انتخاب کنید", + "command.model.choose.description": "مدل متفاوتی را انتخاب کنید", + "command.mcp.toggle": "MCPs را تغییر دهید", + "command.mcp.toggle.description": "MCPs را تغییر دهید", + "command.agent.cycle": "عامل چرخه", + "command.agent.cycle.description": "به عامل بعدی بروید", + "command.agent.cycle.reverse": "چرخه عامل به عقب", + "command.agent.cycle.reverse.description": "به عامل قبلی بروید", + "command.model.variant.cycle": "چرخه تلاش برای تفکر", + "command.model.variant.cycle.description": "به سطح تلاش بعدی بروید", + "command.prompt.mode.shell": "پوسته", + "command.prompt.mode.normal": "پرامپت", + "command.permissions.autoaccept.enable": "پذیرش خودکار مجوزها", + "command.permissions.autoaccept.disable": "پذیرش خودکار مجوزها را متوقف کنید", + "command.workspace.toggle": "جابجایی فضاهای کاری", + "command.workspace.toggle.description": "چندین فضای کاری را در نوار کناری فعال یا غیرفعال کنید", + "command.session.undo": "واگرد", + "command.session.undo.description": "لغو آخرین پیام", + "command.session.redo": "دوباره انجام دهید", + "command.session.redo.description": "آخرین پیام لغو شده را دوباره انجام دهید", + "command.session.compact": "جلسه فشرده", + "command.session.compact.description": "برای کاهش اندازه زمینه، جلسه را خلاصه کنید", + "command.session.fork": "فورک از پیام", + "command.session.fork.description": "یک جلسه جدید از پیام قبلی ایجاد کنید", + "command.session.share": "جلسه را به اشتراک بگذارید", + "command.session.share.description": "این جلسه را به اشتراک بگذارید و URL را در کلیپ بورد کپی کنید", + "command.session.unshare": "لغو اشتراک‌گذاری جلسه", + "command.session.unshare.description": "اشتراک‌گذاری این جلسه را متوقف کنید", + "command.session.export": "جلسه صادرات", + "command.session.export.description": "رونوشت کامل جلسه را به عنوان JSON صادر کنید", + "palette.search.placeholder": "فایل ها، دستورات و جلسات را جستجو کنید", + "palette.search.placeholder.home": "دستورات و جلسات را جستجو کنید", + "palette.empty": "هیچ نتیجه ای یافت نشد", + "palette.group.commands": "دستورات", + "palette.group.files": "فایل ها", + "dialog.provider.search.placeholder": "جستجوی ارائه دهندگان", + "dialog.provider.empty": "هیچ ارائه دهنده ای پیدا نشد", + "dialog.provider.group.popular": "محبوب", + "dialog.provider.group.other": "دیگر", + "dialog.provider.custom.label": "ارائه دهنده سفارشی سازگار با OpenAI", + "dialog.provider.tag.recommended": "توصیه می شود", + "dialog.provider.opencode.note": "مدل های انتخاب شده از جمله Claude، GPT، Gemini و موارد دیگر", + "dialog.provider.opencode.tagline": "مدل های بهینه شده قابل اعتماد", + "dialog.provider.opencodeGo.tagline": "اشتراک کم هزینه برای همه", + "dialog.provider.anthropic.note": "دسترسی مستقیم به مدل های Claude، از جمله Pro و Max", + "dialog.provider.copilot.note": "مدل های AI برای کمک به کدنویسی از طریق GitHub Copilot", + "dialog.provider.openai.note": "مدل های GPT برای کارهای عمومی سریع و با قابلیت AI", + "dialog.provider.google.note": "مدل های Gemini برای پاسخ های سریع و ساختاریافته", + "dialog.provider.openrouter.note": "به تمام مدل های پشتیبانی شده از یک ارائه دهنده دسترسی داشته باشید", + "dialog.provider.vercel.note": "دسترسی یکپارچه به مدل های AI با مسیریابی هوشمند", + "dialog.model.select.title": "مدل را انتخاب کنید", + "dialog.model.search.placeholder": "جستجوی مدل ها", + "dialog.model.empty": "نتیجه مدلی وجود ندارد", + "dialog.model.manage": "مدل ها را مدیریت کنید", + "dialog.model.manage.description": "مدل‌هایی که در انتخابگر مدل ظاهر می‌شوند را سفارشی کنید.", + "dialog.model.manage.provider.toggle": "همه مدل‌های {{provider}} را تغییر دهید", + "dialog.model.unpaid.freeModels.title": "مدل های رایگان ارائه شده توسط OpenCode", + "dialog.model.unpaid.addMore.title": "مدل های بیشتری از ارائه دهندگان محبوب اضافه کنید", + "dialog.model.unpaid.viewMoreProviders": "70+ ارائه‌دهنده دیگر را ببینید", + "dialog.provider.viewAll": "نمایش ارائه دهندگان بیشتر", + "provider.connect.title": "{{provider}} را وصل کنید", + "provider.connect.title.anthropicProMax": "با Claude Pro/Max وارد شوید", + "provider.connect.selectMethod": "روش ورود برای {{provider}} را انتخاب کنید.", + "provider.connect.method.apiKey": "کلید API", + "provider.connect.method.browser": "مرورگر", + "provider.connect.method.headless": "بدون رابط گرافیکی", + "provider.connect.status.inProgress": "مجوز در حال انجام است...", + "provider.connect.status.waiting": "در انتظار مجوز...", + "provider.connect.status.failed": "مجوز انجام نشد: {{error}}", + "provider.connect.apiKey.description": + "کلید API سرویس {{provider}} را وارد کنید تا حساب شما متصل شود و بتوانید از مدل‌های {{provider}} در OpenCode استفاده کنید.", + "provider.connect.apiKey.label": "کلید {{provider}} API", + "provider.connect.apiKey.placeholder": "کلید API", + "provider.connect.apiKey.required": "کلید API مورد نیاز است", + "provider.connect.opencodeZen.line1": + "OpenCode Zen به شما امکان دسترسی به مجموعه‌ای از مدل‌های بهینه‌شده قابل اعتماد را برای عوامل کدنویسی می‌دهد.", + "provider.connect.opencodeZen.line2": + "با یک کلید API به مدل هایی مانند Claude، GPT، Gemini، GLM و موارد دیگر دسترسی خواهید داشت.", + "provider.connect.opencodeZen.visit.prefix": "بازدید کنید ", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": " برای جمع آوری کلید API.", + "provider.connect.oauth.code.visit.prefix": "بازدید کنید ", + "provider.connect.oauth.code.visit.link": "این لینک", + "provider.connect.oauth.code.visit.suffix": + " برای جمع آوری کد مجوز برای اتصال حساب خود و استفاده از مدل های {{provider}} در OpenCode.", + "provider.connect.oauth.code.label": "کد مجوز {{method}}", + "provider.connect.oauth.code.placeholder": "کد مجوز", + "provider.connect.oauth.code.required": "کد مجوز لازم است", + "provider.connect.oauth.code.invalid": "کد مجوز نامعتبر است", + "provider.connect.oauth.auto.visit.prefix": "بازدید کنید ", + "provider.connect.oauth.auto.visit.link": "این لینک", + "provider.connect.oauth.auto.visit.suffix": + " و کد زیر را برای اتصال اکانت خود وارد کنید و از مدل های {{provider}} در OpenCode استفاده کنید.", + "provider.connect.oauth.auto.confirmationCode": "کد تایید", + "provider.connect.toast.connected.title": "{{provider}} متصل است", + "provider.connect.toast.connected.description": "مدل های {{provider}} اکنون برای استفاده در دسترس هستند.", + "provider.custom.title": "ارائه دهنده سفارشی", + "provider.custom.unavailable": "ارائه دهندگان سفارشی در این سرور در دسترس نیستند", + "provider.custom.description.prefix": "یک ارائه دهنده سازگار با OpenAI را پیکربندی کنید. را ببینید ", + "provider.custom.description.link": "اسناد پیکربندی ارائه دهنده", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "ارائه دهنده ID", + "provider.custom.field.providerID.placeholder": "myprovider", + "provider.custom.field.providerID.description": "حروف کوچک، اعداد، خط فاصله یا زیرخط", + "provider.custom.field.name.label": "نام نمایشی", + "provider.custom.field.name.placeholder": "ارائه دهنده من AI", + "provider.custom.field.baseURL.label": "پایه URL", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "کلید API", + "provider.custom.field.apiKey.placeholder": "کلید API", + "provider.custom.field.apiKey.description": "اختیاری. اگر تأیید اعتبار را از طریق هدر مدیریت می کنید، خالی بگذارید.", + "provider.custom.models.label": "مدل ها", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "model-id", + "provider.custom.models.name.label": "نام", + "provider.custom.models.name.placeholder": "نام نمایشی", + "provider.custom.models.remove": "حذف مدل", + "provider.custom.models.add": "اضافه کردن مدل", + "provider.custom.headers.label": "سرصفحه ها (اختیاری)", + "provider.custom.headers.key.label": "سربرگ", + "provider.custom.headers.key.placeholder": "Header-Name", + "provider.custom.headers.value.label": "ارزش", + "provider.custom.headers.value.placeholder": "ارزش", + "provider.custom.headers.remove": "هدر را حذف کنید", + "provider.custom.headers.add": "هدر اضافه کنید", + "provider.custom.error.providerID.required": "ارائه دهنده ID مورد نیاز است", + "provider.custom.error.providerID.format": "از حروف کوچک، اعداد، خط فاصله یا زیرخط استفاده کنید", + "provider.custom.error.providerID.exists": "آن ارائه دهنده ID از قبل وجود دارد", + "provider.custom.error.name.required": "نام نمایشی الزامی است", + "provider.custom.error.baseURL.required": "پایه URL مورد نیاز است", + "provider.custom.error.baseURL.format": "باید با http:// یا https:// شروع شود", + "provider.custom.error.required": "مورد نیاز", + "provider.custom.error.duplicate": "تکراری", + "provider.disconnect.toast.disconnected.title": "{{provider}} قطع شد", + "provider.disconnect.toast.disconnected.description": "مدل های {{provider}} دیگر در دسترس نیستند.", + "model.tag.free": "رایگان", + "model.tag.latest": "آخرین", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "متن", + "model.input.image": "تصویر", + "model.input.audio": "صوتی", + "model.input.video": "ویدئو", + "model.input.pdf": "pdf", + "model.tooltip.allows": "اجازه می دهد: {{inputs}}", + "model.tooltip.context.label": "زمینه", + "model.tooltip.inputs": "ورودی ها", + "model.tooltip.model": "مدل", + "model.tooltip.provider": "ارائه دهنده", + "model.tooltip.reasoning": "استدلال", + "model.tooltip.reasoning.allowed": "اجازه استدلال می دهد", + "model.tooltip.reasoning.none": "بدون استدلال", + "model.tooltip.context": "محدودیت زمینه {{limit}}", + "common.search.placeholder": "جستجو کنید", + "common.goBack": "به عقب پیمایش کنید", + "common.goForward": "به جلو حرکت کنید", + "common.loading": "در حال بارگذاری", + "common.loading.ellipsis": "...", + "common.cancel": "لغو کنید", + "common.clear": "پاک کردن", + "common.open": "باز کنید", + "common.connect": "اتصال", + "common.disconnect": "قطع کن", + "common.continue": "ادامه دهید", + "common.submit": "ارسال کنید", + "common.save": "ذخیره کنید", + "common.saving": "در حال ذخیره...", + "common.default": "پیش فرض", + "common.attachment": "پیوست", + "prompt.placeholder.shell": "دستور پوسته را وارد کنید... {{example}}", + "prompt.placeholder.normal": 'هر چیزی بپرسید... "{{example}}"', + "prompt.placeholder.simple": "هر چیزی بپرس...", + "prompt.placeholder.summarizeComments": "خلاصه نظرات…", + "prompt.placeholder.summarizeComment": "خلاصه نظر…", + "prompt.mode.shell": "پوسته", + "prompt.mode.normal": "پرامپت", + "prompt.mode.shell.exit": "esc برای خروج", + "session.child.promptDisabled": "جلسات Subagent را نمی توان درخواست کرد.", + "session.child.backToParent": "بازگشت به جلسه اصلی", + "prompt.example.1": "یک TODO را در پایگاه کد برطرف کنید", + "prompt.example.2": "پشته فنی این پروژه چیست؟", + "prompt.example.3": "تست های شکسته را برطرف کنید", + "prompt.example.4": "نحوه عملکرد احراز هویت را توضیح دهید", + "prompt.example.5": "آسیب پذیری های امنیتی را بیابید و رفع کنید", + "prompt.example.6": "تست های واحد را برای سرویس کاربر اضافه کنید", + "prompt.example.7": "این تابع را دوباره فاکتور کنید تا خواناتر باشد", + "prompt.example.8": "این خطا به چه معناست؟", + "prompt.example.9": "به من در رفع اشکال این مشکل کمک کنید", + "prompt.example.10": "مستندات API را ایجاد کنید", + "prompt.example.11": "بهینه سازی پرس و جوهای پایگاه داده", + "prompt.example.12": "افزودن اعتبار سنجی ورودی", + "prompt.example.13": "ایجاد یک جزء جدید برای ...", + "prompt.example.14": "چگونه این پروژه را مستقر کنم؟", + "prompt.example.15": "کد من را برای بهترین شیوه ها مرور کنید", + "prompt.example.16": "مدیریت خطا را به این تابع اضافه کنید", + "prompt.example.17": "این الگوی regex را توضیح دهید", + "prompt.example.18": "این را به TypeScript تبدیل کنید", + "prompt.example.19": "ورود به سیستم را در سراسر پایگاه کد اضافه کنید", + "prompt.example.20": "چه وابستگی هایی منسوخ شده اند؟", + "prompt.example.21": "به من کمک کنید تا یک اسکریپت مهاجرت بنویسم", + "prompt.example.22": "کش را برای این نقطه پایانی اجرا کنید", + "prompt.example.23": "صفحه بندی را به این لیست اضافه کنید", + "prompt.example.24": "ایجاد یک دستور CLI برای ...", + "prompt.example.25": "متغیرهای محیطی در اینجا چگونه کار می کنند؟", + "prompt.popover.emptyResults": "نتایج منطبقی وجود ندارد", + "prompt.popover.emptyCommands": "بدون دستور منطبق", + "prompt.dropzone.label": "تصاویر، PDFs یا فایل های متنی را در اینجا رها کنید", + "prompt.dropzone.file.label": "به فایل @mention رها کنید", + "prompt.slash.badge.custom": "سفارشی", + "prompt.slash.badge.skill": "مهارت", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "فعال", + "prompt.context.includeActiveFile": "شامل فایل فعال", + "prompt.context.removeActiveFile": "حذف فایل فعال از زمینه", + "prompt.context.removeFile": "حذف فایل از زمینه", + "prompt.action.attachFile": "فایل ها را اضافه کنید", + "prompt.menu.addImagesAndFiles": "فایل ها و موارد دیگر را اضافه کنید", + "prompt.menu.imagesAndFiles": "تصاویر و فایل ها", + "prompt.menu.commands": "دستورات", + "prompt.menu.context": "زمینه", + "prompt.menu.shellCommand": "دستور پوسته", + "prompt.attachment.remove": "حذف پیوست", + "prompt.action.send": "ارسال کنید", + "prompt.action.stop": "توقف کنید", + "prompt.toast.pasteUnsupported.title": "پیوست پشتیبانی نشده است", + "prompt.toast.pasteUnsupported.description": "فقط تصاویر، PDFs، یا فایل های متنی را می توان در اینجا پیوست کرد.", + "prompt.toast.attachmentDuplicate.title": "این فایل قبلا آپلود شده است", + "prompt.toast.modelAgentRequired.title": "یک عامل و مدل را انتخاب کنید", + "prompt.toast.modelAgentRequired.description": "قبل از ارسال درخواست، یک عامل و مدل را انتخاب کنید.", + "prompt.toast.worktreeCreateFailed.title": "ورک‌تری ایجاد نشد", + "prompt.toast.sessionCreateFailed.title": "جلسه ایجاد نشد", + "prompt.toast.shellSendFailed.title": "فرمان پوسته ارسال نشد", + "prompt.toast.commandSendFailed.title": "فرمان ارسال نشد", + "prompt.toast.promptSendFailed.title": "درخواست ارسال نشد", + "prompt.toast.promptSendFailed.description": "بازیابی جلسه امکان پذیر نیست", + "dialog.mcp.title": "MCPs", + "dialog.mcp.description": "{{enabled}} از {{total}} فعال است", + "dialog.mcp.empty": "MCPs پیکربندی نشده است", + "dialog.lsp.empty": "LSPs به طور خودکار از انواع فایل شناسایی می شود", + "dialog.plugins.empty": "پلاگین های پیکربندی شده در opencode.json", + "mcp.status.connected": "متصل است", + "mcp.status.failed": "شکست خورد", + "mcp.status.needs_auth": "نیاز به احراز هویت", + "mcp.status.disabled": "از کار افتاده است", + "mcp.auth.clickToAuthenticate": "برای احراز هویت کلیک کنید", + "dialog.fork.empty": "هیچ پیامی برای فورک وجود ندارد", + "dialog.directory.search.placeholder": "جستجو در پوشه ها", + "dialog.directory.empty": "پوشه ای پیدا نشد", + "dialog.directory.action.selectFile": "فایل را انتخاب کنید", + "dialog.directory.action.selectFolder": "پوشه را انتخاب کنید", + "dialog.directory.root": "ریشه", + "dialog.directory.parent": "پدر و مادر", + "dialog.directory.readError": "خواندن این پوشه ممکن نیست", + "app.server.unreachable": "نمی توان به {{server}} رسید", + "app.server.retrying": "تلاش مجدد به صورت خودکار...", + "app.server.otherServers": "سرورهای دیگر", + "dialog.server.title": "سرورها", + "dialog.server.description": "این برنامه به کدام سرور OpenCode متصل است، تغییر دهید.", + "dialog.server.search.placeholder": "جستجو در سرورها", + "dialog.server.empty": "هنوز سروری وجود ندارد", + "dialog.server.add.title": "سرور اضافه کنید", + "dialog.server.add.url": "آدرس سرور", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "نمی توان به سرور متصل شد", + "dialog.server.add.checking": "در حال بررسی...", + "dialog.server.add.button": "سرور اضافه کنید", + "dialog.server.add.name": "نام سرور (اختیاری)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "نام کاربری (اختیاری)", + "dialog.server.add.usernamePlaceholder": "نام کاربری", + "dialog.server.add.password": "رمز عبور (اختیاری)", + "dialog.server.add.passwordPlaceholder": "رمز عبور", + "dialog.server.edit.title": "ویرایش سرور", + "dialog.server.default.title": "سرور پیش فرض", + "dialog.server.default.description": + "به جای راه اندازی یک سرور محلی، هنگام راه اندازی برنامه به این سرور متصل شوید. نیاز به راه اندازی مجدد دارد.", + "dialog.server.default.none": "هیچ سروری انتخاب نشده است", + "dialog.server.default.set": "سرور فعلی را به عنوان پیش فرض تنظیم کنید", + "dialog.server.default.clear": "پاک کردن", + "dialog.server.action.remove": "سرور را حذف کنید", + "dialog.server.menu.edit": "ویرایش کنید", + "dialog.server.menu.default": "به عنوان پیش فرض تنظیم کنید", + "dialog.server.menu.defaultRemove": "حذف پیش فرض", + "dialog.server.menu.delete": "حذف", + "dialog.server.current": "سرور فعلی", + "dialog.server.status.default": "پیش فرض", + "wsl.server.add": "سرور WSL را اضافه کنید", + "wsl.server.addShort": "WSL را اضافه کنید", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "سرور WSL", + "wsl.server.retryStart": "شروع مجدد امتحان کنید", + "wsl.server.updating": "در حال به روز رسانی...", + "wsl.onboarding.step.distro": "توزیع را انتخاب کنید", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "در حال بررسی WSL...", + "wsl.onboarding.restartRequired": "Windows برای اتمام نصب WSL به راه اندازی مجدد نیاز دارد.", + "wsl.onboarding.ready": "WSL آماده است.", + "wsl.onboarding.required": "WSL برای ادامه مورد نیاز است.", + "wsl.onboarding.checkingDistros": "در حال بررسی توزیع‌ها...", + "wsl.onboarding.installingDistro": "در حال نصب {{distro}}...", + "wsl.onboarding.checkingDistro": "در حال بررسی {{distro}}...", + "wsl.onboarding.listingDistros": "فهرست توزیع‌ها...", + "wsl.onboarding.distroReady": "{{distro}} آماده است.", + "wsl.onboarding.distroNotInstalled": "{{distro}} هنوز نصب نشده است.", + "wsl.onboarding.openDistroOnce": "{{distro}} را یک بار باز کنید تا راه‌اندازی تمام شود.", + "wsl.onboarding.finishingDistro": "تکمیل راه اندازی برای {{distro}}.", + "wsl.onboarding.pickDistro": "یک توزیع را انتخاب کنید یا یکی را در زیر نصب کنید.", + "wsl.onboarding.checkingOpencode": "در حال بررسی OpenCode...", + "wsl.onboarding.checkingOpencodeIn": "بررسی OpenCode در {{distro}}...", + "wsl.onboarding.updatingOpencode": "در حال به روز رسانی OpenCode...", + "wsl.onboarding.updatingOpencodeIn": "به روز رسانی OpenCode در {{distro}}...", + "wsl.onboarding.updateOpencodeIn": "OpenCode را در {{distro}} به روز کنید.", + "wsl.onboarding.updateOpencode": "OpenCode را به روز کنید", + "wsl.onboarding.opencodeReadyIn": "OpenCode در {{distro}} آماده است.", + "wsl.onboarding.opencodeReady": "OpenCode آماده است.", + "wsl.onboarding.installOpencodeIn": "OpenCode را در {{distro}} نصب کنید.", + "wsl.onboarding.installOpencode": "OpenCode را نصب کنید", + "wsl.onboarding.chooseDistroFirst": "ابتدا یک توزیع را انتخاب کنید.", + "wsl.onboarding.loadFailed": "وضعیت WSL بارگیری نشد.", + "wsl.onboarding.loading": "در حال بارگیری...", + "wsl.onboarding.installedDistros": "توزیع های نصب شده", + "wsl.onboarding.checkAgain": "دوباره چک کنید", + "wsl.onboarding.distroStatus.ready": "آماده است", + "wsl.onboarding.distroStatus.checking": "در حال بررسی...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode نصب نشده است", + "wsl.onboarding.distroStatus.missingTools": "bash، curl وجود ندارد", + "wsl.onboarding.distroStatus.unsupported": "پشتیبانی نشده · از WSL 2 استفاده کنید", + "wsl.onboarding.needAnotherDistro": "به توزیع دیگری نیاز دارید؟", + "wsl.onboarding.needAnotherDistroHint": "توزیع Linux را از کاتالوگ WSL نصب کنید", + "wsl.onboarding.wslNotInstalled.title": "WSL نصب نشده است", + "wsl.onboarding.wslNotInstalled.description": + "WSL (زیر سیستم Windows برای Linux) قبل از اینکه OpenCode بتواند یک سرور WSL اضافه کند لازم است", + "wsl.onboarding.wslUnavailable.title": "WSL در دسترس نیست", + "wsl.onboarding.wslUnavailable.description": "OpenCode نتوانست WSL را در این دستگاه تأیید کند.", + "wsl.onboarding.installWsl": "WSL را نصب کنید", + "wsl.onboarding.windowsRestartRequired": + "Windows را مجددا راه اندازی کنید تا نصب WSL به پایان برسد، سپس OpenCode را دوباره باز کنید.", + "wsl.onboarding.next": "بعدی", + "wsl.onboarding.refresh": "تازه کردن", + "wsl.onboarding.allDistrosAdded": "همه توزیع‌های نصب‌شده قبلاً اضافه شده‌اند.", + "wsl.onboarding.noDistros": "هنوز هیچ توزیعی شناسایی نشده است.", + "wsl.onboarding.install": "نصب کنید", + "wsl.onboarding.installing": "در حال نصب...", + "wsl.onboarding.installDistro": "توزیع را نصب کنید", + "wsl.onboarding.searchDistros": "جستجوی توزیع ها", + "wsl.onboarding.wsl2Required": "WSL 2 مورد نیاز است.", + "wsl.onboarding.toolsRequired": "این توزیع به bash و curl نیاز دارد.", + "wsl.onboarding.openTerminal": "ترمینال را باز کنید", + "wsl.onboarding.path": "مسیر: {{path}}", + "wsl.onboarding.notFound": "یافت نشد", + "wsl.onboarding.version": "نسخه: {{version}}", + "wsl.onboarding.unknown": "ناشناخته", + "wsl.onboarding.desktopVersion": "دسکتاپ {{version}}", + "wsl.onboarding.versionMismatch": "نسخه نصب شده با نسخه برنامه دسکتاپ مطابقت ندارد.", + "wsl.onboarding.adding": "در حال افزودن...", + "help.tabs.toast.ariaLabel": "معرفی Tabs. جلسات کاری و فعال خود را با برگه ها سازماندهی کنید", + "help.tabs.toast.dismiss": "نادیده گرفتن اطلاعات Tabs", + "help.tabs.title": "معرفی Tabs", + "help.tabs.description": "جلسات کاری و فعال خود را با برگه ها سازماندهی کنید", + "help.tabs.date": "14 جولای", + "help.tabs.introduction": "OpenCode Desktop اکنون در اطراف زبانه ها ساخته شده است.", + "help.tabs.sessions": + "یک جلسه جدید در یک برگه شروع کنید یا یک جلسه موجود را از هر یک از پروژه های خود باز کنید. وقتی کار جدیدی را شروع می کنید یک برگه جدید باز کنید و وقتی کارتان تمام شد آن را ببندید.", + "help.tabs.organize": + "باز نگه داشتن چند برگه، سازماندهی جلسات فعال خود را آسان تر می کند. اگر قصد دارید برگه‌ها را به چیزی به یاد ماندنی تغییر دهید.", + "help.tabs.home": + "همه جلسه‌ها و پروژه‌های خود را در صفحه خانه جدید خواهید دید. با انتخاب هر جلسه، آن جلسه در یک زبانه باز می‌شود.", + "help.tabs.persistence": "وقتی برنامه را دوباره باز می‌کنید، برگه‌های شما همچنان باز هستند.", + "help.tabs.worktrees": + "طراحی جدید هنوز از Git Worktrees پشتیبانی نمی کند، به زودی ارائه می شود. بنابراین اگر ترجیح می‌دهید به استفاده از طرح‌بندی قبلی ادامه دهید، می‌توانید بین طرح‌بندی‌ها در تنظیمات جابجا شوید. فقط به خاطر داشته باشید که طرح جدید تا چند هفته دیگر دائمی می شود.", + "server.row.noUsername": "بدون نام کاربری", + "dialog.project.edit.title": "ویرایش پروژه", + "dialog.project.edit.name": "نام", + "dialog.project.edit.icon": "نماد", + "dialog.project.edit.icon.alt": "نماد پروژه", + "dialog.project.edit.icon.hint": "روی یک تصویر کلیک کنید یا بکشید", + "dialog.project.edit.icon.recommended": "توصیه شده: 128x128px", + "dialog.project.edit.color": "رنگ", + "dialog.project.edit.color.select": "رنگ {{color}} را انتخاب کنید", + "dialog.project.edit.worktree.startup": "اسکریپت راه اندازی فضای کاری", + "dialog.project.edit.worktree.startup.description": "پس از ایجاد یک فضای کاری جدید (ورک‌تری) اجرا می شود.", + "dialog.project.edit.worktree.startup.placeholder": "به عنوان مثال bun install", + "dialog.releaseNotes.action.getStarted": "شروع کنید", + "dialog.releaseNotes.action.next": "بعدی", + "dialog.releaseNotes.action.hideFuture": "اینها را در آینده نشان ندهید", + "dialog.releaseNotes.media.alt": "پیش نمایش انتشار", + "context.breakdown.title": "تفکیک زمینه", + "context.breakdown.note": 'تفکیک تقریبی نشانه های ورودی "سایر" شامل تعاریف ابزار و سربار است.', + "context.breakdown.system": "سیستم", + "context.breakdown.user": "کاربر", + "context.breakdown.assistant": "دستیار", + "context.breakdown.tool": "تماس های ابزار", + "context.breakdown.other": "دیگر", + "context.systemPrompt.title": "پرامپت سیستم", + "context.rawMessages.title": "پیام های خام", + "context.export.session": "جلسه صادرات", + "context.stats.session": "جلسه", + "context.stats.messages": "پیام ها", + "context.stats.provider": "ارائه دهنده", + "context.stats.model": "مدل", + "context.stats.limit": "محدودیت زمینه", + "context.stats.totalTokens": "کل توکن ها", + "context.stats.usage": "استفاده", + "context.stats.inputTokens": "توکن های ورودی", + "context.stats.outputTokens": "توکن های خروجی", + "context.stats.reasoningTokens": "نشانه های استدلال", + "context.stats.cacheTokens": "رمزهای کش (خواندن/نوشتن)", + "context.stats.userMessages": "پیام های کاربر", + "context.stats.assistantMessages": "پیام های دستیار", + "context.stats.totalCost": "هزینه کل", + "context.stats.sessionCreated": "جلسه ایجاد شد", + "context.stats.lastActivity": "آخرین فعالیت", + "context.usage.tokens": "توکن ها", + "context.usage.usage": "استفاده", + "context.usage.cost": "هزینه", + "context.usage.clickToView": "برای مشاهده متن کلیک کنید", + "context.usage.view": "مشاهده استفاده از زمینه", + "language.en": "انگلیسی", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "دویچ", + "language.es": "اسپانیا", + "language.fr": "فرانسه", + "language.da": "دانسک", + "language.ja": "日本語", + "language.pl": "پولسکی", + "language.ru": "Русский", + "language.ar": "العربیة", + "language.no": "نورسک", + "language.br": "پرتغالی (برزیل)", + "language.bs": "بوسانسکی", + "language.uk": "اوکراین", + "language.th": "ไทย", + "language.tr": "ترکچه", + "toast.language.title": "زبان", + "toast.language.description": "به {{language}} تغییر وضعیت داد", + "toast.theme.title": "تم عوض شد", + "toast.scheme.title": "طرح رنگ", + "toast.workspace.enabled.title": "فضاهای کاری فعال شد", + "toast.workspace.enabled.description": "اکنون چندین ورک‌تری در نوار کناری نشان داده شده است", + "toast.workspace.disabled.title": "فضاهای کاری غیرفعال است", + "toast.workspace.disabled.description": "فقط ورک‌تری اصلی در نوار کناری نشان داده شده است", + "toast.permissions.autoaccept.on.title": "پذیرش خودکار مجوزها", + "toast.permissions.autoaccept.on.description": "درخواست‌های مجوز به‌طور خودکار تأیید می‌شوند", + "toast.permissions.autoaccept.off.title": "پذیرش خودکار مجوزها متوقف شد", + "toast.permissions.autoaccept.off.description": "درخواست های مجوز نیاز به تایید دارند", + "toast.model.none.title": "هیچ مدلی انتخاب نشده است", + "toast.model.none.description": "برای خلاصه کردن این جلسه یک ارائه دهنده را وصل کنید", + "toast.file.loadFailed.title": "فایل بارگیری نشد", + "toast.file.listFailed.title": "لیست کردن فایل ها انجام نشد", + "toast.context.noLineSelection.title": "بدون انتخاب خط", + "toast.context.noLineSelection.description": "ابتدا یک محدوده خط را در یک برگه فایل انتخاب کنید.", + "toast.session.share.copyFailed.title": "URL در کلیپ بورد کپی نشد", + "toast.session.share.success.title": "جلسه به اشتراک گذاشته شد", + "toast.session.share.success.description": "اشتراک گذاری URL کپی شده در کلیپ بورد!", + "toast.session.share.failed.title": "جلسه اشتراک گذاری نشد", + "toast.session.share.failed.description": "هنگام اشتراک‌گذاری جلسه خطایی روی داد", + "toast.session.unshare.success.title": "جلسه لغو اشتراک‌گذاری شد", + "toast.session.unshare.success.description": "جلسه با موفقیت لغو اشتراک گذاری شد!", + "toast.session.unshare.failed.title": "لغو اشتراک‌گذاری جلسه انجام نشد", + "toast.session.unshare.failed.description": "هنگام لغو اشتراک‌گذاری جلسه، خطایی روی داد", + "toast.session.export.success.title": "جلسه صادر شد", + "toast.session.export.success.description": "جلسه در {{filename}} ذخیره شد", + "toast.session.export.failed.title": "جلسه صادر نشد", + "toast.session.export.failed.description": "هنگام صادر کردن جلسه خطایی روی داد", + "toast.session.listFailed.title": "جلسات برای {{project}} بارگیری نشد", + "toast.project.reloadFailed.title": "بارگیری مجدد {{project}} انجام نشد", + "toast.update.title": "به روز رسانی موجود است", + "toast.update.description": "نسخه جدیدی از OpenCode ({{version}}) اکنون برای نصب در دسترس است.", + "toast.update.action.installRestart": "نصب و راه اندازی مجدد", + "toast.update.action.notYet": "هنوز نه", + "error.page.title": "مشکلی پیش آمد", + "error.page.description": "هنگام بارگیری برنامه خطایی روی داد.", + "error.page.description.localServerStartup": "هنگام راه اندازی سرور محلی خطایی روی داد.", + "error.page.details.label": "جزئیات خطا", + "error.page.action.restart": "راه اندازی مجدد", + "error.page.action.report": "گزارش خطا", + "error.page.action.reported": "خطا گزارش شده است", + "error.page.action.exportLogs": "صادرات سیاهههای مربوط", + "error.page.action.checking": "در حال بررسی...", + "error.page.action.checkUpdates": "به روز رسانی را بررسی کنید", + "error.page.action.updateTo": "به روز رسانی به {{version}}", + "error.page.circular": "[دایره]", + "error.page.report.prefix": "لطفاً این خطا را به تیم OpenCode گزارش دهید", + "error.page.report.discord": "در Discord", + "error.page.version": "نسخه: {{version}}", + "error.dev.rootNotFound": + "عنصر ریشه یافت نشد. آیا فراموش کرده اید که آن را به index.html خود اضافه کنید؟ یا شاید ویژگی id اشتباه املایی داشته باشد؟", + "error.serverSync.connectFailed": "اتصال به سرور ممکن نشد. آیا سروری در `{{url}}` در حال اجراست؟", + "error.serverSDK.noServerAvailable": "هیچ سروری در دسترس نیست", + "error.serverSDK.serverNotAvailable": "سرور در دسترس نیست", + "error.childStore.persistedCacheCreateFailed": "ایجاد حافظه پنهان ماندگار ناموفق بود", + "error.childStore.persistedProjectMetadataCreateFailed": "ایجاد فراداده پروژه ادامه دار انجام نشد", + "error.childStore.persistedProjectIconCreateFailed": "نماد پروژه پایدار ایجاد نشد", + "error.childStore.storeCreateFailed": "فروشگاه ایجاد نشد", + "directory.error.invalidUrl": "دایرکتوری نامعتبر در URL.", + "error.chain.unknown": "خطای ناشناخته", + "error.server.invalidConfiguration": "پیکربندی نامعتبر است", + "error.chain.causedBy": "ناشی از:", + "error.chain.apiError": "خطای API", + "error.chain.status": "وضعیت: {{status}}", + "error.chain.retryable": "قابل امتحان مجدد: {{retryable}}", + "error.chain.responseBody": "بدنه پاسخگویی:\n{{body}}", + "error.chain.didYouMean": "آیا منظورتان این بود: {{suggestions}}", + "error.chain.modelNotFound": "مدل پیدا نشد: {{provider}}/{{model}}", + "error.chain.checkConfig": "نام ارائه دهنده/مدل پیکربندی (opencode.json) خود را بررسی کنید", + "error.chain.mcpFailed": + 'سرور MCP "{{name}}" ناموفق بود. توجه داشته باشید، OpenCode هنوز از احراز هویت MCP پشتیبانی نمی کند.', + "error.chain.providerAuthFailed": "احراز هویت ارائه دهنده ناموفق بود ({{provider}}): {{message}}", + "error.chain.providerInitFailed": 'ارائه دهنده "{{provider}}" راه اندازی نشد. اعتبار و پیکربندی را بررسی کنید.', + "error.chain.configJsonInvalid": "فایل پیکربندی در {{path}} JSON(C) معتبر نیست", + "error.chain.configJsonInvalidWithMessage": "فایل پیکربندی در {{path}} معتبر نیست JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + 'دایرکتوری "{{dir}}" در {{path}} معتبر نیست. نام دایرکتوری را به "{{suggestion}}" تغییر دهید یا آن را حذف کنید. این یک اشتباه تایپی رایج است.', + "error.chain.configFrontmatterError": "تجزیه عنصر اصلی در {{path}} انجام نشد:\n{{message}}", + "error.chain.configInvalid": "فایل پیکربندی در {{path}} نامعتبر است", + "error.chain.configInvalidWithMessage": "فایل پیکربندی در {{path}} نامعتبر است: {{message}}", + "notification.permission.title": "مجوز لازم است", + "notification.permission.description": "{{sessionTitle}} در {{projectName}} به مجوز نیاز دارد", + "notification.question.title": "سوال", + "notification.question.description": "{{sessionTitle}} در {{projectName}} یک سوال دارد", + "notification.action.goToSession": "به جلسه بروید", + "notification.session.responseReady.title": "پاسخ آماده است", + "notification.session.error.title": "خطای جلسه", + "notification.session.error.fallbackDescription": "خطایی رخ داد", + "home.recentProjects": "پروژه های اخیر", + "home.empty.title": "هیچ پروژه اخیری وجود ندارد", + "home.empty.description": "با افتتاح یک پروژه محلی شروع کنید", + "home.title": "خانه", + "home.projects": "پروژه ها", + "home.project.add": "اضافه کردن پروژه", + "home.recentlyClosed": "اخیرا بسته شده است", + "home.server.collapse": "پروژه های سرور را جمع کنید", + "home.server.expand": "گسترش پروژه های سرور", + "home.sessions.search.placeholder": "جست و جوی جلسات", + "home.sessions.search.placeholder.scoped": "جستجوی جلسات در {{scope}}", + "home.sessions.search.sessions": "جلسات", + "home.sessions.search.noResults": "هیچ جلسه ای برای {{query}} یافت نشد", + "home.sessions.empty": "اینجا هنوز چیزی نیست", + "home.sessions.empty.description": "برای شروع یک جلسه ایجاد کنید", + "home.sessions.group.today": "امروز", + "home.sessions.group.yesterday": "دیروز", + "home.sessions.group.older": "قدیمی تر", + "home.providerTip": + "برای استفاده از مدل‌های دیگر، از جمله Claude، GPT، Gemini و غیره به بیش از 75 ارائه‌دهنده متصل شوید.", + "session.tab.session": "جلسه", + "session.tab.review": "بررسی کنید", + "session.tab.context": "زمینه", + "session.tab.unknown": "جلسه ناشناخته", + "session.panel.reviewAndFiles": "بررسی و فایل ها", + "session.error.notFound": "این جلسه یافت نمی شود", + "session.error.notFound.description": "این تب به جلسه ای اشاره می کند که دیگر در این سرور وجود ندارد.", + "session.error.notFound.closeTab": "Tab را ببندید", + "session.error.serverConnection": "نمی توان به این سرور متصل شد", + "session.review.filesChanged": "فایل ها تغییر کردند {{count}}", + "session.review.change.one": "تغییر دهید", + "session.review.change.other": "تغییرات", + "session.review.loadingChanges": "در حال بارگیری تغییرات...", + "session.review.empty": "هنوز هیچ تغییری در این جلسه وجود ندارد", + "session.review.noVcs": "هیچ سیستم کنترل نسخه Git شناسایی نشد، تغییرات نمایش داده نمی شود", + "session.review.noVcs.createGit.title": "یک مخزن Git ایجاد کنید", + "session.review.noVcs.createGit.description": "ردیابی، بررسی، و لغو تغییرات در این پروژه", + "session.review.noVcs.createGit.actionLoading": "ایجاد مخزن Git...", + "session.review.noVcs.createGit.action": "مخزن Git ایجاد کنید", + "session.review.noSnapshot": "ردیابی عکس فوری در پیکربندی غیرفعال است، بنابراین تغییرات جلسه در دسترس نیست", + "session.review.noChanges": "بدون تغییر", + "session.review.noUncommittedChanges": "هنوز هیچ تغییری انجام نشده است", + "session.review.noBranchChanges": "هنوز شعبه ای تغییر نکرده است", + "session.files.selectToOpen": "فایلی را برای باز کردن انتخاب کنید", + "session.files.all": "همه فایل ها", + "session.files.empty": "بدون فایل", + "session.files.binaryContent": "فایل باینری (محتوا قابل نمایش نیست)", + "session.messages.renderEarlier": "ارسال پیام های قبلی", + "session.messages.loadingEarlier": "در حال بارگیری پیام های قبلی...", + "session.messages.loadEarlier": "بارگیری پیام های قبلی", + "session.messages.loading": "در حال بارگیری پیام ها...", + "session.messages.jumpToLatest": "پرش به آخرین", + "session.context.addToContext": "{{selection}} را به متن اضافه کنید", + "session.todo.title": "کارهای انجام‌دادنی", + "session.todo.collapse": "فرو ریختن", + "session.todo.expand": "گسترش دهید", + "session.todo.progress": "{{done}} از کارهای {{total}} تکمیل شد", + "session.question.progress": "{{current}} از سوالات {{total}}", + "session.question.minimize": "سوال را به حداقل برسانید", + "session.question.restore": "بازیابی سوال", + "session.question.pending.one": "سوال معلق {{count}}", + "session.question.pending.other": "{{count}} سوالات معلق", + "session.followupDock.summary.one": "پیام {{count}} در صف", + "session.followupDock.summary.other": "پیغام های در صف {{count}}", + "session.followupDock.sendNow": "اکنون ارسال کنید", + "session.followupDock.edit": "ویرایش کنید", + "session.followupDock.collapse": "کوچک کردن پیام‌های در صف", + "session.followupDock.expand": "پیام های در صف را بزرگ کنید", + "session.revertDock.summary.one": "پیام {{count}} برگشت داده شد", + "session.revertDock.summary.other": "{{count}} پیام‌های برگشتی", + "session.revertDock.collapse": "کوچک کردن پیام‌های برگشتی", + "session.revertDock.expand": "گسترش پیام‌های برگشتی", + "session.revertDock.restore": "بازیابی پیام", + "session.new.title": "هر چیزی بساز", + "session.new.project.new": "پروژه جدید", + "session.new.project.search": "جستجوی پروژه ها", + "session.new.project.add": "اضافه کردن پروژه", + "session.new.worktree.main": "شعبه اصلی", + "session.new.worktree.mainWithBranch": "شعبه اصلی ({{branch}})", + "session.new.worktree.create": "ورک‌تری جدید ایجاد کنید", + "session.new.workspace.runIn": "اجرای جلسه در", + "session.new.workspace.triggerLocal": "محلی", + "session.new.workspace.local": "مخزن محلی", + "session.new.workspace.existing": "فضای کاری…", + "session.new.git.none": "Git وجود ندارد", + "session.new.lastModified": "آخرین تغییر", + "session.header.search.placeholder": "جستجوی {{project}}", + "session.header.searchFiles": "جستجو در فایل ها", + "session.header.openIn": "باز کردن در", + "session.header.open.action": "{{app}} را باز کنید", + "session.header.open.ariaLabel": "در {{app}} باز کنید", + "session.header.open.menu": "گزینه ها را باز کنید", + "session.header.open.copyPath": "مسیر کپی", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "File Explorer", + "session.header.open.fileManager": "مدیر فایل", + "session.header.reveal.finder": "در Finder آشکار کنید", + "session.header.reveal.fileExplorer": "در File Explorer آشکار کنید", + "session.header.reveal.containingFolder": "پوشه حاوی را باز کنید", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "ترمینال", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "وضعیت", + "status.popover.ariaLabel": "تنظیمات سرور", + "status.popover.tab.servers": "سرورها", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "پلاگین ها", + "status.popover.action.manageServers": "مدیریت سرورها", + "session.share.popover.title": "در وب منتشر کنید", + "session.share.popover.description.shared": + "این جلسه در وب عمومی است. برای هر کسی که پیوند را داشته باشد قابل دسترسی است.", + "session.share.popover.description.unshared": + "جلسه را به صورت عمومی در وب به اشتراک بگذارید. برای هر کسی که پیوند را داشته باشد قابل دسترسی خواهد بود.", + "session.share.action.share": "به اشتراک بگذارید", + "session.share.action.publish": "منتشر کنید", + "session.share.action.publishing": "در حال انتشار...", + "session.share.action.unpublish": "لغو انتشار", + "session.share.action.unpublishing": "در حال لغو انتشار...", + "session.share.action.view": "مشاهده کنید", + "session.share.copy.copied": "کپی شد", + "session.share.copy.copyLink": "لینک را کپی کنید", + "lsp.tooltip.none": "بدون سرور LSP", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "در حال بارگیری درخواست...", + "terminal.loading": "در حال بارگیری ترمینال...", + "terminal.title": "ترمینال", + "terminal.title.numbered": "ترمینال {{number}}", + "terminal.close": "ترمینال را ببندید", + "terminal.connectionLost.title": "اتصال قطع شد", + "terminal.connectionLost.abnormalClose": "WebSocket به طور غیر عادی بسته شد: {{code}}", + "terminal.connectionLost.description": + "اتصال ترمینال قطع شد. این ممکن است زمانی اتفاق بیفتد که سرور راه اندازی مجدد شود.", + "terminal.connectTicket.csrfError": "بلیط اتصال PTY رد شده توسط مبدا یا چک CSRF. پیکربندی سرور CORS را بررسی کنید.", + "terminal.connectTicket.statusError": "بلیت اتصال PTY با {{status}} ناموفق بود", + "titlebar.update": "به روز رسانی", + "titlebar.updateVersion": "{{version}} را به روز کنید", + "common.closeTab": "بستن برگه", + "common.dismiss": "رد کردن", + "common.moreCountSuffix": " (+ {{count}} بیشتر)", + "common.requestFailed": "درخواست ناموفق بود", + "common.moreOptions": "گزینه های بیشتر", + "common.learnMore": "بیشتر بدانید", + "common.rename": "تغییر نام دهید", + "common.export": "صادرات", + "common.reset": "بازنشانی کنید", + "common.archive": "آرشیو", + "common.delete": "حذف", + "common.close": "بستن", + "common.edit": "ویرایش کنید", + "common.loadMore": "بیشتر بارگیری کنید", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "ناشناخته", + "common.time.justNow": "همین الان", + "common.time.minutesAgo.short": "{{count}}m پیش", + "common.time.hoursAgo.short": "{{count}}h پیش", + "common.time.daysAgo.short": "{{count}}d پیش", + "sidebar.menu.toggle": "تغییر منو", + "sidebar.nav.projectsAndSessions": "پروژه ها و جلسات", + "sidebar.settings": "تنظیمات", + "sidebar.help": "کمک کنید", + "sidebar.workspaces.enable": "فضاهای کاری را فعال کنید", + "sidebar.workspaces.disable": "غیرفعال کردن فضاهای کاری", + "sidebar.gettingStarted.title": "شروع کردن", + "sidebar.gettingStarted.line1": "OpenCode شامل مدل های رایگان است، بنابراین می توانید بلافاصله شروع کنید.", + "sidebar.gettingStarted.line2": "هر ارائه دهنده ای را برای استفاده از مدل ها وصل کنید. Claude، GPT، Gemini و غیره", + "sidebar.project.recentSessions": "جلسات اخیر", + "sidebar.project.viewAllSessions": "مشاهده تمام جلسات", + "sidebar.project.clearNotifications": "پرامپت ها را پاک کنید", + "sidebar.empty.title": "هیچ پروژه ای باز نشده است", + "sidebar.empty.description": "برای شروع یک پروژه باز کنید", + "debugBar.ariaLabel": "تشخیص عملکرد توسعه", + "debugBar.na": "n/a", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "آخرین تغییر مسیر تکمیل شده با لمس صفحه جلسه، از شروع روتر تا اولین رنگ پس از ته نشین شدن اندازه گیری می شود.", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "چرخش فریم در ثانیه در 5 ثانیه گذشته.", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "بدترین زمان فریم در 5 ثانیه گذشته.", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "فریم های بیش از 32 میلی ثانیه در 5 ثانیه گذشته.", + "debugBar.long.label": "LONG", + "debugBar.long.tip": "زمان مسدود شده و تعداد کارهای طولانی در 5 ثانیه گذشته. حداکثر وظیفه: {{max}}.", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "بدترین تاخیر ورودی مشاهده شده در 5 ثانیه گذشته.", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": "مدت تقریبی تعامل در 5 ثانیه گذشته. این شبیه به INP است، نه Web Vitals رسمی INP.", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "تغییر چیدمان تجمعی برای طول عمر برنامه فعلی.", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "هیپ JS استفاده شده در مقابل محدودیت هیپ. فقط Chromium.", + "debugBar.mem.tip": "هیپ JS استفاده شده در مقابل محدودیت هیپ. {{used}} از {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "سبک های فوکوس اجباری بر روی تمام عناصر تعاملی", + "debugBar.focus.on": "ON", + "debugBar.focus.off": "OFF", + "debugBar.direction.label": "مدیر", + "debugBar.direction.tip": "بدون تغییر زبان انتخابی، جهت طرح بندی کامل برنامه را اجباری کنید", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode Desktop", + "settings.section.desktop": "دسکتاپ", + "settings.section.server": "سرور", + "settings.tab.general": "ژنرال", + "settings.tab.shortcuts": "میانبرها", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "ادغام WSL", + "settings.desktop.wsl.description": "سرور OpenCode را در داخل WSL روی Windows اجرا کنید.", + "settings.general.section.appearance": "ظاهر", + "settings.general.section.advanced": "پیشرفته", + "settings.general.section.notifications": "اطلاعیه های سیستم", + "settings.general.section.updates": "به روز رسانی ها", + "settings.general.section.sounds": "جلوه های صوتی", + "settings.general.section.feed": "خوراک", + "settings.general.section.display": "نمایش", + "settings.general.row.language.title": "زبان", + "settings.general.row.language.description": "زبان نمایش را برای OpenCode تغییر دهید", + "settings.general.row.shell.title": "پوسته ترمینال", + "settings.general.row.shell.description": "پوسته مورد استفاده ترمینال و ابزار عامل", + "settings.general.row.shell.autoDefault": "خودکار (پیش‌فرض)", + "settings.general.row.shell.terminalOnly": "فقط ترمینال", + "settings.general.row.appearance.title": "ظاهر", + "settings.general.row.appearance.description": "نحوه ظاهر OpenCode را در دستگاه خود سفارشی کنید", + "settings.general.row.colorScheme.title": "طرح رنگ", + "settings.general.row.colorScheme.description": "انتخاب کنید که آیا OpenCode از تم سیستمی، روشن یا تیره پیروی می کند", + "settings.general.row.theme.title": "موضوع", + "settings.general.row.theme.description": "نحوه مضمون سازی OpenCode را سفارشی کنید.", + "settings.general.row.font.title": "فونت کد", + "settings.general.row.font.description": "فونت مورد استفاده در بلوک های کد را سفارشی کنید", + "settings.general.row.terminalFont.title": "فونت ترمینال", + "settings.general.row.terminalFont.description": "فونت مورد استفاده در ترمینال را سفارشی کنید", + "settings.general.row.uiFont.title": "قلم UI", + "settings.general.row.uiFont.description": "فونت مورد استفاده در سراسر رابط را سفارشی کنید", + "settings.general.row.followup.title": "رفتار پیگیری", + "settings.general.row.followup.description": + "انتخاب کنید که آیا درخواست پیگیری فوراً هدایت می شود یا در یک صف منتظر می ماند", + "settings.general.row.followup.option.queue": "صف", + "settings.general.row.followup.option.steer": "هدایت کنید", + "settings.general.row.showFileTree.title": "درخت فایل", + "settings.general.row.showFileTree.description": "پانل درخت فایل را در جلسات نمایش دهید", + "settings.general.row.showNavigation.title": "کنترل های ناوبری", + "settings.general.row.showNavigation.description": "دکمه های عقب و جلو را در نوار عنوان دسکتاپ نشان دهید", + "settings.general.row.showSearch.title": "پالت فرمان", + "settings.general.row.showSearch.description": "دکمه پالت جستجو و فرمان را در نوار عنوان نشان دهید", + "settings.general.row.showTerminal.title": "ترمینال", + "settings.general.row.showTerminal.description": "دکمه ترمینال را در نوار عنوان دسکتاپ نشان دهید", + "settings.general.row.showStatus.title": "وضعیت سرور", + "settings.general.row.showStatus.description": "دکمه وضعیت سرور را در نوار عنوان نشان دهید", + "settings.general.row.mobileTitlebarBottom.title": "ناوبری پایین", + "settings.general.row.mobileTitlebarBottom.description": + "نوار عنوان و برگه‌های جلسه را در پایین صفحه در تلفن همراه قرار دهید", + "settings.general.row.showCustomAgents.title": "نشان دادن عامل", + "settings.general.row.showCustomAgents.description": + "بین عوامل در آهنگساز جابجا شوید. هنگامی که مخفی می شود، به طور پیش فرض بر روی Build agent قرار می گیرد.", + "settings.general.row.reasoningSummaries.title": "نمایش خلاصه های استدلال", + "settings.general.row.reasoningSummaries.description": "نمایش خلاصه های استدلال مدل در جدول زمانی", + "settings.general.row.shellToolPartsExpanded.title": "قطعات ابزار پوسته را گسترش دهید", + "settings.general.row.shellToolPartsExpanded.description": + "نمایش قطعات ابزار پوسته که به طور پیش‌فرض در تایم لاین گسترش یافته‌اند", + "settings.general.row.editToolPartsExpanded.title": "بخش‌های ابزار ویرایش را گسترش دهید", + "settings.general.row.editToolPartsExpanded.description": + "بخش‌های ابزار ویرایش، نوشتن و وصله را که به‌طور پیش‌فرض در جدول زمانی گسترش یافته‌اند، نمایش دهید", + "settings.general.row.newInterface.title": "چیدمان جدید", + "settings.general.row.newInterface.badge": "جدید", + "settings.general.row.newInterface.description": + "از برگه ها و طرح خانه جدید استفاده کنید. برای مدت زمان محدودی بین طرح‌بندی‌ها جابه‌جا شوید.", + "settings.general.row.newInterfaceNotice.title": "اکنون در حال استفاده از طرح بندی جدید هستید", + "settings.general.row.newInterfaceNotice.description": "طرح قبلی دیگر در دسترس نیست", + "settings.general.row.newInterfaceNotice.dismiss": "رد کردن", + "settings.general.row.pinchZoom.title": "برای بزرگنمایی، خرج کردن", + "settings.general.row.pinchZoom.description": "به ژست‌های پیمایشی Ctrl و حرکت‌های پد لمسی اجازه بزرگ‌نمایی بدهید", + "settings.general.row.wayland.title": "از Wayland بومی استفاده کنید", + "settings.general.row.wayland.description": + "بازگشت مجدد X11 را در Wayland غیرفعال کنید. نیاز به راه اندازی مجدد دارد.", + "settings.general.row.wayland.tooltip": + "در Linux با مانیتورهای با نرخ تازه سازی ترکیبی، Wayland بومی می تواند پایدارتر باشد.", + "settings.general.row.releaseNotes.title": "یادداشت های انتشار", + "settings.general.row.releaseNotes.description": "نمایش پنجره های بازشو What's New بعد از به روز رسانی", + "settings.updates.row.startup.title": "به روز رسانی در راه اندازی را بررسی کنید", + "settings.updates.row.startup.description": "هنگام راه‌اندازی OpenCode، به‌روزرسانی‌ها را به‌طور خودکار بررسی کنید", + "settings.updates.row.check.title": "به روز رسانی را بررسی کنید", + "settings.updates.row.check.description": "به‌روزرسانی‌ها را به‌صورت دستی بررسی کنید و در صورت وجود نصب کنید", + "settings.updates.action.checkNow": "اکنون بررسی کنید", + "settings.updates.action.checking": "در حال بررسی...", + "settings.updates.action.downloading": "در حال دانلود...", + "settings.updates.action.installing": "در حال نصب...", + "settings.updates.toast.latest.title": "شما به روز هستید", + "settings.updates.toast.latest.description": "شما آخرین نسخه OpenCode را اجرا می کنید.", + "sound.option.none": "هیچ کدام", + "sound.option.alert01": "هشدار 01", + "sound.option.alert02": "هشدار 02", + "sound.option.alert03": "هشدار 03", + "sound.option.alert04": "هشدار 04", + "sound.option.alert05": "هشدار 05", + "sound.option.alert06": "هشدار 06", + "sound.option.alert07": "هشدار 07", + "sound.option.alert08": "هشدار 08", + "sound.option.alert09": "هشدار 09", + "sound.option.alert10": "هشدار 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "نه 01", + "sound.option.nope02": "نه 02", + "sound.option.nope03": "نه 03", + "sound.option.nope04": "نه 04", + "sound.option.nope05": "نه 05", + "sound.option.nope06": "نه 06", + "sound.option.nope07": "نه 07", + "sound.option.nope08": "نه 08", + "sound.option.nope09": "نه 09", + "sound.option.nope10": "نه 10", + "sound.option.nope11": "نه 11", + "sound.option.nope12": "نه 12", + "sound.option.yup01": "بله 01", + "sound.option.yup02": "بله 02", + "sound.option.yup03": "بله 03", + "sound.option.yup04": "بله 04", + "sound.option.yup05": "بله 05", + "sound.option.yup06": "بله 06", + "settings.general.notifications.agent.title": "عامل", + "settings.general.notifications.agent.description": + "زمانی که عامل کامل است یا نیاز به توجه دارد، پرامپت سیستم را نشان دهید", + "settings.general.notifications.permissions.title": "مجوزها", + "settings.general.notifications.permissions.description": "نمایش پرامپت سیستم در صورت نیاز به مجوز", + "settings.general.notifications.errors.title": "خطاها", + "settings.general.notifications.errors.description": "نمایش پرامپت سیستم در صورت بروز خطا", + "settings.general.sounds.agent.title": "عامل", + "settings.general.sounds.agent.description": "هنگامی که عامل کامل است یا نیاز به توجه دارد، صدا را پخش کنید", + "settings.general.sounds.permissions.title": "مجوزها", + "settings.general.sounds.permissions.description": "پخش صدا در صورت نیاز به مجوز", + "settings.general.sounds.errors.title": "خطاها", + "settings.general.sounds.errors.description": "پخش صدا در صورت بروز خطا", + "settings.shortcuts.title": "میانبرهای صفحه کلید", + "settings.shortcuts.reset.button": "به حالت پیش فرض بازنشانی کنید", + "settings.shortcuts.reset.toast.title": "میانبرها بازنشانی می شوند", + "settings.shortcuts.reset.toast.description": "میانبرهای صفحه کلید به حالت پیش فرض بازنشانی شده است.", + "settings.shortcuts.conflict.title": "میانبر در حال حاضر استفاده شده است", + "settings.shortcuts.conflict.description": "{{keybind}} قبلاً به {{titles}} اختصاص داده شده است.", + "settings.shortcuts.unassigned": "واگذار نشده است", + "settings.shortcuts.pressKeys": "کلیدها را فشار دهید", + "settings.shortcuts.search.placeholder": "میانبرهای جستجو", + "settings.shortcuts.search.empty": "هیچ میانبری پیدا نشد", + "settings.shortcuts.group.general": "ژنرال", + "settings.shortcuts.group.session": "جلسه", + "settings.shortcuts.group.navigation": "ناوبری", + "settings.shortcuts.group.modelAndAgent": "مدل و عامل", + "settings.shortcuts.group.terminal": "ترمینال", + "settings.shortcuts.group.prompt": "پرامپت", + "settings.providers.title": "ارائه دهندگان", + "settings.providers.description": "تنظیمات ارائه دهنده در اینجا قابل تنظیم خواهد بود.", + "settings.providers.section.connected": "ارائه دهندگان متصل", + "settings.providers.connected.empty": "هیچ ارائه دهنده متصلی وجود ندارد", + "settings.providers.connected.environmentDescription": "از متغیرهای محیط شما متصل شده است", + "settings.providers.section.popular": "ارائه دهندگان محبوب", + "settings.providers.custom.description": "یک ارائه دهنده سازگار با OpenAI توسط پایه URL اضافه کنید.", + "settings.providers.tag.environment": "محیط زیست", + "settings.providers.tag.config": "پیکربندی", + "settings.providers.tag.custom": "سفارشی", + "settings.providers.tag.other": "دیگر", + "settings.models.title": "مدل ها", + "settings.models.description": "تنظیمات مدل در اینجا قابل تنظیم خواهد بود.", + "settings.agents.title": "عوامل", + "settings.agents.description": "تنظیمات عامل در اینجا قابل تنظیم خواهد بود.", + "settings.commands.title": "دستورات", + "settings.commands.description": "تنظیمات فرمان در اینجا قابل تنظیم خواهد بود.", + "settings.mcp.title": "MCP", + "settings.mcp.description": "تنظیمات MCP در اینجا قابل تنظیم خواهند بود.", + "settings.permissions.title": "مجوزها", + "settings.permissions.description": "کنترل کنید که سرور به طور پیش فرض از چه ابزارهایی می تواند استفاده کند.", + "settings.permissions.section.tools": "ابزار", + "settings.permissions.toast.updateFailed.title": "مجوزها به روز نشد", + "settings.permissions.action.allow": "اجازه دهید", + "settings.permissions.action.ask": "بپرسید", + "settings.permissions.action.deny": "تکذیب کنید", + "settings.permissions.tool.read.title": "بخوانید", + "settings.permissions.tool.read.description": "خواندن یک فایل (منطبق با مسیر فایل)", + "settings.permissions.tool.edit.title": "ویرایش کنید", + "settings.permissions.tool.edit.description": "فایل‌ها، از جمله ویرایش‌ها، نوشته‌ها و وصله‌ها را تغییر دهید", + "settings.permissions.tool.glob.title": "گلوب", + "settings.permissions.tool.glob.description": "مطابقت فایل ها با استفاده از الگوهای glob", + "settings.permissions.tool.grep.title": "گرپ", + "settings.permissions.tool.grep.description": "محتویات فایل را با استفاده از عبارات منظم جستجو کنید", + "settings.permissions.tool.list.title": "فهرست کنید", + "settings.permissions.tool.list.description": "فهرست کردن فایل ها در یک دایرکتوری", + "settings.permissions.tool.bash.title": "ضربه شدید", + "settings.permissions.tool.bash.description": "دستورات شل را اجرا کنید", + "settings.permissions.tool.task.title": "وظیفه", + "settings.permissions.tool.task.description": "عوامل فرعی را راه اندازی کنید", + "settings.permissions.tool.skill.title": "مهارت", + "settings.permissions.tool.skill.description": "یک مهارت را با نام بارگیری کنید", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "درخواست های سرور زبان را اجرا کنید", + "settings.permissions.tool.todowrite.title": "Todo Write", + "settings.permissions.tool.todowrite.description": "لیست کارها را به روز کنید", + "settings.permissions.tool.webfetch.title": "واکشی وب", + "settings.permissions.tool.webfetch.description": "محتوا را از یک URL واکشی کنید", + "settings.permissions.tool.websearch.title": "جستجوی وب", + "settings.permissions.tool.websearch.description": "جستجو در وب", + "settings.permissions.tool.external_directory.title": "دایرکتوری خارجی", + "settings.permissions.tool.external_directory.description": "دسترسی به فایل های خارج از فهرست پروژه", + "settings.permissions.tool.doom_loop.title": "حلقه عذاب", + "settings.permissions.tool.doom_loop.description": "تماس های مکرر ابزار را با ورودی یکسان تشخیص دهید", + "session.delete.failed.title": "جلسه حذف نشد", + "session.delete.title": "حذف جلسه", + "session.delete.confirm": "جلسه «{{name}}» حذف شود؟", + "session.delete.button": "حذف جلسه", + "workspace.new": "فضای کاری جدید", + "workspace.type.local": "محلی", + "workspace.type.sandbox": "جعبه شنی", + "workspace.create.failed.title": "ایجاد فضای کاری ناموفق بود", + "workspace.delete.failed.title": "فضای کاری حذف نشد", + "workspace.resetting.title": "بازنشانی فضای کاری", + "workspace.resetting.description": "این ممکن است یک دقیقه طول بکشد.", + "workspace.reset.failed.title": "بازنشانی فضای کاری انجام نشد", + "workspace.reset.success.title": "بازنشانی فضای کاری", + "workspace.reset.success.description": "اکنون فضای کاری با شاخه پیش‌فرض مطابقت دارد.", + "workspace.error.stillPreparing": "فضای کاری همچنان در حال آماده سازی است", + "workspace.status.checking": "در حال بررسی تغییرات ادغام نشده...", + "workspace.status.error": "تأیید وضعیت git ممکن نیست.", + "workspace.status.clean": "هیچ تغییر ادغام نشده شناسایی نشد.", + "workspace.status.dirty": "تغییرات ادغام نشده در این فضای کاری شناسایی شد.", + "workspace.delete.title": "حذف فضای کاری", + "workspace.delete.confirm": "فضای کاری «{{name}}» حذف شود؟", + "workspace.delete.button": "حذف فضای کاری", + "workspace.reset.title": "بازنشانی فضای کاری", + "workspace.reset.confirm": 'فضای کاری "{{name}}" بازنشانی شود؟', + "workspace.reset.button": "بازنشانی فضای کاری", + "workspace.reset.archived.none": "هیچ جلسه فعالی بایگانی نخواهد شد.", + "workspace.reset.archived.one": "1 جلسه بایگانی خواهد شد.", + "workspace.reset.archived.many": "جلسات {{count}} بایگانی خواهد شد.", + "workspace.reset.note": "این کار فضای کاری را برای مطابقت با شاخه پیش فرض بازنشانی می کند.", + "dialog.usageExceeded.dontShowAgain": "دیگر نشان نده", +} diff --git a/packages/app/src/i18n/fi.ts b/packages/app/src/i18n/fi.ts new file mode 100644 index 000000000000..aa9c92574cff --- /dev/null +++ b/packages/app/src/i18n/fi.ts @@ -0,0 +1,1168 @@ +export const dict = { + "command.category.suggested": "Ehdotetut", + "command.category.view": "Näytä", + "command.category.project": "Projekti", + "command.category.provider": "Palveluntarjoaja", + "command.category.server": "Palvelin", + "command.category.session": "Istunto", + "command.category.theme": "Teema", + "command.category.language": "Kieli", + "command.category.file": "Tiedosto", + "command.category.context": "Konteksti", + "command.category.terminal": "Terminaali", + "command.category.model": "Malli", + "command.category.mcp": "MCP", + "command.category.agent": "Agentti", + "command.category.permissions": "Käyttöoikeudet", + "command.category.workspace": "Työtila", + "command.category.settings": "Asetukset", + "theme.scheme.system": "Järjestelmän mukaan", + "theme.scheme.light": "Vaalea", + "theme.scheme.dark": "Tumma", + "command.sidebar.toggle": "Näytä tai piilota sivupalkki", + "command.project.open": "Avaa projekti", + "command.project.previous": "Edellinen projekti", + "command.project.next": "Seuraava projekti", + "command.project.index": "Vaihda projektiin {{index}}", + "command.provider.connect": "Yhdistä palveluntarjoaja", + "command.server.switch": "Vaihda palvelinta", + "command.settings.open": "Avaa asetukset", + "command.session.previous": "Edellinen istunto", + "command.session.next": "Seuraava istunto", + "command.session.previous.unseen": "Edellinen lukematon istunto", + "command.session.next.unseen": "Seuraava lukematon istunto", + "command.session.archive": "Arkistoi istunto", + "command.palette": "Komentopaletti", + "command.theme.cycle": "Vaihda teemaa", + "command.theme.set": "Käytä teemaa: {{theme}}", + "command.theme.scheme.cycle": "Vaihda värimallia", + "command.theme.scheme.set": "Käytä värimallia: {{scheme}}", + "command.language.cycle": "Vaihda kieltä", + "command.language.set": "Käytä kieltä: {{language}}", + "command.session.new": "Uusi istunto", + "command.file.open": "Avaa tiedosto", + "command.tab.close": "Sulje välilehti", + "command.tab.reopenClosed": "Avaa suljettu välilehti uudelleen", + "command.context.addSelection": "Lisää valinta kontekstiin", + "command.context.addSelection.description": "Lisää valitut rivit nykyisestä tiedostosta", + "command.input.focus": "Kohdista syötekenttään", + "command.terminal.toggle": "Näytä tai piilota terminaali", + "command.fileTree.toggle": "Näytä tai piilota tiedostopuu", + "command.review.toggle": "Näytä tai piilota tarkistus", + "command.terminal.new": "Uusi terminaali", + "command.terminal.new.description": "Luo uusi terminaalivälilehti", + "command.steps.toggle": "Näytä tai piilota vaiheet", + "command.steps.toggle.description": "Näytä tai piilota nykyisen viestin vaiheet", + "command.message.previous": "Edellinen viesti", + "command.message.previous.description": "Siirry edelliseen käyttäjän viestiin", + "command.message.next": "Seuraava viesti", + "command.message.next.description": "Siirry seuraavaan käyttäjäviestiin", + "command.model.choose": "Valitse malli", + "command.model.choose.description": "Valitse eri malli", + "command.mcp.toggle": "Ota MCP:t käyttöön tai poista käytöstä", + "command.mcp.toggle.description": "Ota MCP:t käyttöön tai poista käytöstä", + "command.agent.cycle": "Vaihda agenttia", + "command.agent.cycle.description": "Vaihda seuraavaan agenttiin", + "command.agent.cycle.reverse": "Vaihda agenttia taaksepäin", + "command.agent.cycle.reverse.description": "Vaihda edelliseen agenttiin", + "command.model.variant.cycle": "Vaihda päättelyn tasoa", + "command.model.variant.cycle.description": "Vaihda seuraavalle päättelyn tasolle", + "command.prompt.mode.shell": "Shell", + "command.prompt.mode.normal": "Kehote", + "command.permissions.autoaccept.enable": "Hyväksy käyttöoikeudet automaattisesti", + "command.permissions.autoaccept.disable": "Lopeta käyttöoikeuksien automaattinen hyväksyminen", + "command.workspace.toggle": "Vaihda työtiloja", + "command.workspace.toggle.description": "Ota käyttöön tai poista käytöstä useita työtiloja sivupalkissa", + "command.session.undo": "Kumoa", + "command.session.undo.description": "Kumoa viimeinen viesti", + "command.session.redo": "Toista", + "command.session.redo.description": "Toista viimeisin kumottu viesti", + "command.session.compact": "Tiivistä istunto", + "command.session.compact.description": "Tee yhteenveto istunnosta pienentääksesi kontekstin kokoa", + "command.session.fork": "Haarauta viestistä", + "command.session.fork.description": "Luo uusi istunto edellisestä viestistä", + "command.session.share": "Jaa istunto", + "command.session.share.description": "Jaa tämä istunto ja kopioi URL-osoite leikepöydälle", + "command.session.unshare": "Peru istunnon jakaminen", + "command.session.unshare.description": "Lopeta tämän istunnon jakaminen", + "command.session.export": "Vie istunto", + "command.session.export.description": "Vie istunnon koko transkriptio JSON-muodossa", + + "palette.search.placeholder": "Hae tiedostoja, komentoja ja istuntoja", + "palette.search.placeholder.home": "Hae komentoja ja istuntoja", + "palette.empty": "Tuloksia ei löytynyt", + "palette.group.commands": "Komennot", + "palette.group.files": "Tiedostot", + "dialog.provider.search.placeholder": "Etsi palveluntarjoajia", + "dialog.provider.empty": "Palveluntarjoajia ei löytynyt", + "dialog.provider.group.popular": "Suositut", + "dialog.provider.group.other": "Muut", + "dialog.provider.custom.label": "Mukautettu OpenAI-yhteensopiva palveluntarjoaja", + "dialog.provider.tag.recommended": "Suositeltu", + "dialog.provider.opencode.note": "Kuratoituja malleja, kuten Claude, GPT, Gemini ja muita", + "dialog.provider.opencode.tagline": "Luotettavat optimoidut mallit", + "dialog.provider.opencodeGo.tagline": "Edullinen tilaus kaikille", + "dialog.provider.anthropic.note": "Suora pääsy Claude-malleihin, mukaan lukien Pro ja Max", + "dialog.provider.copilot.note": "AI-malleja koodausapuun GitHub Copilotin kautta", + "dialog.provider.openai.note": "GPT-mallit nopeisiin, suorituskykyisiin yleisiin tekoälytehtäviin", + "dialog.provider.google.note": "Gemini-mallit nopeisiin, jäsenneltyihin vastauksiin", + "dialog.provider.openrouter.note": "Käytä kaikkia tuettuja malleja yhdeltä palveluntarjoajalta", + "dialog.provider.vercel.note": "Yhdistetty pääsy AI-malleihin älykkäällä reitityksellä", + "dialog.model.select.title": "Valitse malli", + "dialog.model.search.placeholder": "Hae malleja", + "dialog.model.empty": "Ei mallituloksia", + "dialog.model.manage": "Hallitse malleja", + "dialog.model.manage.description": "Mukauta, mitkä mallit näkyvät mallivalitsimessa.", + "dialog.model.manage.provider.toggle": "Ota kaikki palveluntarjoajan {{provider}} mallit käyttöön tai pois käytöstä", + "dialog.model.unpaid.freeModels.title": "OpenCoden tarjoamat ilmaiset mallit", + "dialog.model.unpaid.addMore.title": "Lisää malleja suosituilta palveluntarjoajilta", + "dialog.model.unpaid.viewMoreProviders": "Katso yli 70 muuta palveluntarjoajaa", + "dialog.provider.viewAll": "Näytä lisää palveluntarjoajia", + "provider.connect.title": "Yhdistä {{provider}}", + "provider.connect.title.anthropicProMax": "Kirjaudu sisään Claude Pro/Maxilla", + "provider.connect.selectMethod": "Valitse kirjautumistapa palvelulle {{provider}}.", + "provider.connect.method.apiKey": "API-avain", + "provider.connect.method.browser": "Selain", + "provider.connect.method.headless": "Päätön", + "provider.connect.status.inProgress": "Valtuutus käynnissä...", + "provider.connect.status.waiting": "Odotetaan valtuutusta...", + "provider.connect.status.failed": "Valtuutus epäonnistui: {{error}}", + "provider.connect.apiKey.description": + "Anna {{provider}}-API-avaimesi yhdistääksesi tilisi ja käyttääksesi {{provider}}-malleja OpenCodessa.", + "provider.connect.apiKey.label": "{{provider}}-API-avain", + "provider.connect.apiKey.placeholder": "API-avain", + "provider.connect.apiKey.required": "API-avain vaaditaan", + "provider.connect.opencodeZen.line1": + "OpenCode Zen antaa sinulle pääsyn kuratoituun joukkoon luotettavia optimoituja malleja koodausagenteille.", + "provider.connect.opencodeZen.line2": + "Yhdellä API-avaimella pääset käyttämään malleja, kuten Claude, GPT, Gemini, GLM ja paljon muuta.", + "provider.connect.opencodeZen.visit.prefix": "Avaa ", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": " ja hae API-avaimesi.", + "provider.connect.oauth.code.visit.prefix": "Avaa ", + "provider.connect.oauth.code.visit.link": "tämä linkki", + "provider.connect.oauth.code.visit.suffix": + " ja hae valtuutuskoodi, jolla voit yhdistää tilisi ja käyttää {{provider}}-malleja OpenCodessa.", + "provider.connect.oauth.code.label": "Palvelun {{method}} valtuutuskoodi", + "provider.connect.oauth.code.placeholder": "Valtuutuskoodi", + "provider.connect.oauth.code.required": "Valtuutuskoodi vaaditaan", + "provider.connect.oauth.code.invalid": "Virheellinen valtuutuskoodi", + "provider.connect.oauth.auto.visit.prefix": "Avaa ", + "provider.connect.oauth.auto.visit.link": "tämä linkki", + "provider.connect.oauth.auto.visit.suffix": + " ja anna alla oleva koodi yhdistääksesi tilisi ja käyttääksesi {{provider}}-malleja OpenCodessa.", + "provider.connect.oauth.auto.confirmationCode": "Vahvistuskoodi", + "provider.connect.toast.connected.title": "{{provider}} yhdistetty", + "provider.connect.toast.connected.description": "{{provider}}-mallit ovat nyt käytettävissä.", + "provider.custom.title": "Mukautettu palveluntarjoaja", + "provider.custom.unavailable": "Mukautetut palveluntarjoajat eivät ole käytettävissä tällä palvelimella", + "provider.custom.description.prefix": "Määritä OpenAI-yhteensopiva palveluntarjoaja. Katso ", + "provider.custom.description.link": "palveluntarjoajan asetusdokumentit", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "Palveluntarjoajan tunnus", + "provider.custom.field.providerID.placeholder": "myprovider", + "provider.custom.field.providerID.description": "Pienet kirjaimet, numerot, yhdysmerkit tai alaviivat", + "provider.custom.field.name.label": "Näyttönimi", + "provider.custom.field.name.placeholder": "Oma tekoälypalveluni", + "provider.custom.field.baseURL.label": "Perus-URL-osoite", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "API-avain", + "provider.custom.field.apiKey.placeholder": "API-avain", + "provider.custom.field.apiKey.description": "Valinnainen. Jätä tyhjäksi, jos hallitset todennusta otsikoiden avulla.", + "provider.custom.models.label": "Mallit", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "model-id", + "provider.custom.models.name.label": "Nimi", + "provider.custom.models.name.placeholder": "Näyttönimi", + "provider.custom.models.remove": "Poista malli", + "provider.custom.models.add": "Lisää malli", + "provider.custom.headers.label": "Otsikot (valinnainen)", + "provider.custom.headers.key.label": "Otsikko", + "provider.custom.headers.key.placeholder": "Header-Name", + "provider.custom.headers.value.label": "Arvo", + "provider.custom.headers.value.placeholder": "value", + "provider.custom.headers.remove": "Poista otsikko", + "provider.custom.headers.add": "Lisää otsikko", + "provider.custom.error.providerID.required": "Palveluntarjoajan tunnus vaaditaan", + "provider.custom.error.providerID.format": "Käytä pieniä kirjaimia, numeroita, tavuviivoja tai alaviivoja", + "provider.custom.error.providerID.exists": "Palveluntarjoajan tunnus on jo olemassa", + "provider.custom.error.name.required": "Näyttönimi vaaditaan", + "provider.custom.error.baseURL.required": "Perus-URL-osoite vaaditaan", + "provider.custom.error.baseURL.format": "Alussa on oltava http:// tai https://", + "provider.custom.error.required": "Pakollinen", + "provider.custom.error.duplicate": "Kaksoiskappale", + "provider.disconnect.toast.disconnected.title": "Yhteys palveluntarjoajaan {{provider}} katkaistu", + "provider.disconnect.toast.disconnected.description": "{{provider}}-mallit eivät ole enää saatavilla.", + "model.tag.free": "Ilmainen", + "model.tag.latest": "Uusin", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "teksti", + "model.input.image": "kuva", + "model.input.audio": "ääni", + "model.input.video": "video", + "model.input.pdf": "pdf", + "model.tooltip.allows": "Sallitut syötteet: {{inputs}}", + "model.tooltip.context.label": "Konteksti", + "model.tooltip.inputs": "Syötteet", + "model.tooltip.model": "Malli", + "model.tooltip.provider": "Palveluntarjoaja", + "model.tooltip.reasoning": "Päättely", + "model.tooltip.reasoning.allowed": "Mahdollistaa päättelyn", + "model.tooltip.reasoning.none": "Ei päättelyä", + "model.tooltip.context": "Kontekstirajoitus {{limit}}", + "common.search.placeholder": "Etsi", + "common.goBack": "Siirry takaisin", + "common.goForward": "Siirry eteenpäin", + "common.loading": "Ladataan", + "common.loading.ellipsis": "...", + "common.cancel": "Peruuta", + "common.clear": "Tyhjennä", + "common.open": "Avaa", + "common.connect": "Yhdistä", + "common.disconnect": "Katkaise yhteys", + "common.continue": "Jatka", + "common.submit": "Lähetä", + "common.save": "Tallenna", + "common.saving": "Tallennetaan...", + "common.default": "Oletus", + "common.attachment": "liite", + "prompt.placeholder.shell": "Anna shell-komento... {{example}}", + "prompt.placeholder.normal": 'Kysy mitä tahansa... "{{example}}"', + "prompt.placeholder.simple": "Kysy mitä tahansa...", + "prompt.placeholder.summarizeComments": "Tiivistä kommentit…", + "prompt.placeholder.summarizeComment": "Tiivistä kommentti…", + "prompt.mode.shell": "Shell", + "prompt.mode.normal": "Kehote", + "prompt.mode.shell.exit": "poistu painamalla Esc", + "session.child.promptDisabled": "Aliagentti-istuntoihin ei voi lähettää kehotteita.", + "session.child.backToParent": "Takaisin pääistuntoon.", + "prompt.example.1": "Korjaa TODO koodikannassa", + "prompt.example.2": "Mikä on tämän projektin teknologiapino?", + "prompt.example.3": "Korjaa rikkinäiset testit", + "prompt.example.4": "Selitä, kuinka todennus toimii", + "prompt.example.5": "Etsi ja korjaa tietoturva-aukkoja", + "prompt.example.6": "Lisää yksikkötestejä käyttäjäpalveluun", + "prompt.example.7": "Refaktoroi tämä funktio luettavammaksi", + "prompt.example.8": "Mitä tämä virhe tarkoittaa?", + "prompt.example.9": "Auta minua selvittämään tämä ongelma", + "prompt.example.10": "Luo API-dokumentaatio", + "prompt.example.11": "Optimoi tietokantakyselyt", + "prompt.example.12": "Lisää syötteen validointi", + "prompt.example.13": "Luo uusi komponentti...", + "prompt.example.14": "Kuinka otan tämän projektin käyttöön?", + "prompt.example.15": "Tarkista koodini parhaat käytännöt", + "prompt.example.16": "Lisää tähän toimintoon virheenkäsittely", + "prompt.example.17": "Selitä tämä säännöllinen lauseke", + "prompt.example.18": "Muunna tämä TypeScriptiksi", + "prompt.example.19": "Lisää kirjaus koko koodikantaan", + "prompt.example.20": "Mitkä riippuvuudet ovat vanhentuneita?", + "prompt.example.21": "Auta minua kirjoittamaan migraatioskripti", + "prompt.example.22": "Ota välimuisti käyttöön tälle päätepisteelle", + "prompt.example.23": "Lisää sivutus tähän luetteloon", + "prompt.example.24": "Luo CLI-komento...", + "prompt.example.25": "Miten ympäristömuuttujat toimivat tässä?", + "prompt.popover.emptyResults": "Ei vastaavia tuloksia", + "prompt.popover.emptyCommands": "Ei vastaavia komentoja", + "prompt.dropzone.label": "Pudota kuvia, PDF-tiedostoja tai tekstitiedostoja tähän", + "prompt.dropzone.file.label": "Pudota lisätäksesi tiedoston @-mainintana", + "prompt.slash.badge.custom": "mukautettu", + "prompt.slash.badge.skill": "taito", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "aktiivinen", + "prompt.context.includeActiveFile": "Sisällytä aktiivinen tiedosto", + "prompt.context.removeActiveFile": "Poista aktiivinen tiedosto kontekstista", + "prompt.context.removeFile": "Poista tiedosto kontekstista", + "prompt.action.attachFile": "Lisää tiedostoja", + "prompt.menu.addImagesAndFiles": "Lisää tiedostoja ja paljon muuta", + "prompt.menu.imagesAndFiles": "Kuvia ja tiedostoja", + "prompt.menu.commands": "Komennot", + "prompt.menu.context": "Konteksti", + "prompt.menu.shellCommand": "Shell-komento", + "prompt.attachment.remove": "Poista liite", + "prompt.action.send": "Lähetä", + "prompt.action.stop": "Pysäytä", + "prompt.toast.pasteUnsupported.title": "Liitettä ei tueta", + "prompt.toast.pasteUnsupported.description": "Vain kuvia, PDF-tiedostoja tai tekstitiedostoja voi liittää tähän.", + "prompt.toast.attachmentDuplicate.title": "Tämä tiedosto on jo ladattu", + "prompt.toast.modelAgentRequired.title": "Valitse agentti ja malli", + "prompt.toast.modelAgentRequired.description": "Valitse agentti ja malli ennen kehotteen lähettämistä.", + "prompt.toast.worktreeCreateFailed.title": "Työpuun luominen epäonnistui", + "prompt.toast.sessionCreateFailed.title": "Istunnon luominen epäonnistui", + "prompt.toast.shellSendFailed.title": "Shell-komennon lähettäminen epäonnistui", + "prompt.toast.commandSendFailed.title": "Komennon lähettäminen epäonnistui", + "prompt.toast.promptSendFailed.title": "Kehotteen lähettäminen epäonnistui", + "prompt.toast.promptSendFailed.description": "Istuntoa ei voi noutaa", + "dialog.mcp.title": "MCP:t", + "dialog.mcp.description": "{{enabled}}/{{total}} käytössä", + "dialog.mcp.empty": "MCP:tä ei ole määritetty", + "dialog.lsp.empty": "LSP:t tunnistetaan automaattisesti tiedostotyypeistä", + "dialog.plugins.empty": "Laajennukset määritetään opencode.json-tiedostossa", + "mcp.status.connected": "yhdistetty", + "mcp.status.failed": "epäonnistunut", + "mcp.status.needs_auth": "tarvitsee todennusta", + "mcp.status.disabled": "pois käytöstä", + "mcp.auth.clickToAuthenticate": "Todenna napsauttamalla", + "dialog.fork.empty": "Ei viestejä, joista voisi haarauttaa", + "dialog.directory.search.placeholder": "Hae kansioita", + "dialog.directory.empty": "Kansioita ei löytynyt", + "dialog.directory.action.selectFile": "Valitse tiedosto", + "dialog.directory.action.selectFolder": "Valitse kansio", + "dialog.directory.root": "Juuri", + "dialog.directory.parent": "Ylätaso", + "dialog.directory.readError": "Tätä kansiota ei voi lukea", + "app.server.unreachable": "Palvelimeen {{server}} ei saatu yhteyttä", + "app.server.retrying": "Yritetään automaattisesti uudelleen...", + "app.server.otherServers": "Muut palvelimet", + "dialog.server.title": "Palvelimet", + "dialog.server.description": "Vaihda OpenCode-palvelimeen, johon tämä sovellus muodostaa yhteyden.", + "dialog.server.search.placeholder": "Etsi palvelimia", + "dialog.server.empty": "Ei vielä palvelimia", + "dialog.server.add.title": "Lisää palvelin", + "dialog.server.add.url": "Palvelimen osoite", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "Ei voitu muodostaa yhteyttä palvelimeen", + "dialog.server.add.checking": "Tarkistetaan...", + "dialog.server.add.button": "Lisää palvelin", + "dialog.server.add.name": "Palvelimen nimi (valinnainen)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "Käyttäjätunnus (valinnainen)", + "dialog.server.add.usernamePlaceholder": "käyttäjätunnus", + "dialog.server.add.password": "Salasana (valinnainen)", + "dialog.server.add.passwordPlaceholder": "salasana", + "dialog.server.edit.title": "Muokkaa palvelinta", + "dialog.server.default.title": "Oletuspalvelin", + "dialog.server.default.description": + "Yhdistä tähän palvelimeen sovelluksen käynnistyksen yhteydessä paikallisen palvelimen käynnistämisen sijaan. Vaatii uudelleenkäynnistyksen.", + "dialog.server.default.none": "Palvelinta ei ole valittu", + "dialog.server.default.set": "Aseta nykyinen palvelin oletukseksi", + "dialog.server.default.clear": "Tyhjennä", + "dialog.server.action.remove": "Poista palvelin", + "dialog.server.menu.edit": "Muokkaa", + "dialog.server.menu.default": "Aseta oletukseksi", + "dialog.server.menu.defaultRemove": "Poista oletuspalvelin", + "dialog.server.menu.delete": "Poista", + "dialog.server.current": "Nykyinen palvelin", + "dialog.server.status.default": "Oletus", + "wsl.server.add": "Lisää WSL-palvelin", + "wsl.server.addShort": "Lisää WSL", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "WSL-palvelin", + "wsl.server.retryStart": "Yritä käynnistystä uudelleen", + "wsl.server.updating": "Päivitetään...", + "wsl.onboarding.step.distro": "Valitse jakelu", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "Tarkistetaan WSL...", + "wsl.onboarding.restartRequired": "Windows tarvitsee uudelleenkäynnistyksen WSL:n asennuksen viimeistelemiseksi.", + "wsl.onboarding.ready": "WSL on valmis.", + "wsl.onboarding.required": "WSL vaaditaan jatkamiseen.", + "wsl.onboarding.checkingDistros": "Tarkistetaan jakeluja...", + "wsl.onboarding.installingDistro": "Asennetaan {{distro}}...", + "wsl.onboarding.checkingDistro": "Tarkistetaan {{distro}}...", + "wsl.onboarding.listingDistros": "Luetteloidaan jakeluja...", + "wsl.onboarding.distroReady": "{{distro}} on valmis.", + "wsl.onboarding.distroNotInstalled": "{{distro}} ei ole vielä asennettu.", + "wsl.onboarding.openDistroOnce": "Avaa {{distro}} kerran viimeistelläksesi asetukset.", + "wsl.onboarding.finishingDistro": "Viimeistellään jakelun {{distro}} asennusta.", + "wsl.onboarding.pickDistro": "Valitse jakelu tai asenna sellainen alta.", + "wsl.onboarding.checkingOpencode": "Tarkistetaan OpenCodea...", + "wsl.onboarding.checkingOpencodeIn": "Tarkistetaan OpenCodea kohteessa {{distro}}...", + "wsl.onboarding.updatingOpencode": "Päivitetään OpenCodea...", + "wsl.onboarding.updatingOpencodeIn": "Päivitetään OpenCodea kohteessa {{distro}}...", + "wsl.onboarding.updateOpencodeIn": "Päivitä OpenCode jakelussa {{distro}}.", + "wsl.onboarding.updateOpencode": "Päivitä OpenCode", + "wsl.onboarding.opencodeReadyIn": "OpenCode on valmis jakelussa {{distro}}.", + "wsl.onboarding.opencodeReady": "OpenCode on valmis.", + "wsl.onboarding.installOpencodeIn": "Asenna OpenCode jakeluun {{distro}}.", + "wsl.onboarding.installOpencode": "Asenna OpenCode", + "wsl.onboarding.chooseDistroFirst": "Valitse ensin jakelu.", + "wsl.onboarding.loadFailed": "WSL-tilan lataaminen epäonnistui.", + "wsl.onboarding.loading": "Ladataan...", + "wsl.onboarding.installedDistros": "Asennetut jakelut", + "wsl.onboarding.checkAgain": "Tarkista uudelleen", + "wsl.onboarding.distroStatus.ready": "Valmis", + "wsl.onboarding.distroStatus.checking": "Tarkistetaan...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCodea ei ole asennettu", + "wsl.onboarding.distroStatus.missingTools": "Puuttuu bash, curl", + "wsl.onboarding.distroStatus.unsupported": "Ei tuettu · Käytä WSL 2:ta", + "wsl.onboarding.needAnotherDistro": "Tarvitsetko toisen jakelun?", + "wsl.onboarding.needAnotherDistroHint": "Asenna Linux-jakelu WSL-luettelosta", + "wsl.onboarding.wslNotInstalled.title": "WSL:ää ei ole asennettu", + "wsl.onboarding.wslNotInstalled.description": + "WSL (Windows Subsystem for Linux) vaaditaan ennen kuin OpenCode voi lisätä WSL-palvelimen", + "wsl.onboarding.wslUnavailable.title": "WSL ei ole käytettävissä", + "wsl.onboarding.wslUnavailable.description": "OpenCode ei voinut vahvistaa WSL:ää tällä koneella.", + "wsl.onboarding.installWsl": "Asenna WSL", + "wsl.onboarding.windowsRestartRequired": + "Viimeistele WSL:n asennus käynnistämällä Windows uudelleen ja avaa sitten OpenCode uudelleen.", + "wsl.onboarding.next": "Seuraava", + "wsl.onboarding.refresh": "Päivitä", + "wsl.onboarding.allDistrosAdded": "Kaikki asennetut jakelut on jo lisätty.", + "wsl.onboarding.noDistros": "Jakeluja ei ole vielä havaittu.", + "wsl.onboarding.install": "Asenna", + "wsl.onboarding.installing": "Asennetaan...", + "wsl.onboarding.installDistro": "Asenna jakelu", + "wsl.onboarding.searchDistros": "Etsi jakeluja", + "wsl.onboarding.wsl2Required": "WSL 2 vaaditaan.", + "wsl.onboarding.toolsRequired": "Tämä jakelu tarvitsee bashin ja curlin.", + "wsl.onboarding.openTerminal": "Avaa terminaali", + "wsl.onboarding.path": "Polku: {{path}}", + "wsl.onboarding.notFound": "ei löytynyt", + "wsl.onboarding.version": "Versio: {{version}}", + "wsl.onboarding.unknown": "tuntematon", + "wsl.onboarding.desktopVersion": "Desktop {{version}}", + "wsl.onboarding.versionMismatch": "Asennettu versio ei vastaa työpöytäsovelluksen versiota.", + "wsl.onboarding.adding": "Lisätään...", + "server.row.noUsername": "ei käyttäjätunnusta", + "dialog.project.edit.title": "Muokkaa projektia", + "dialog.project.edit.name": "Nimi", + "dialog.project.edit.icon": "Kuvake", + "dialog.project.edit.icon.alt": "Projektikuvake", + "dialog.project.edit.icon.hint": "Napsauta tai vedä kuvaa", + "dialog.project.edit.icon.recommended": "Suositus: 128x128px", + "dialog.project.edit.color": "Väri", + "dialog.project.edit.color.select": "Valitse väri {{color}}", + "dialog.project.edit.worktree.startup": "Työtilan käynnistysskripti", + "dialog.project.edit.worktree.startup.description": "Suoritetaan uuden työtilan (työpuun) luomisen jälkeen.", + "dialog.project.edit.worktree.startup.placeholder": "esim. bun install", + "dialog.releaseNotes.action.getStarted": "Aloita", + "dialog.releaseNotes.action.next": "Seuraava", + "dialog.releaseNotes.action.hideFuture": "Älä näytä näitä jatkossa", + "dialog.releaseNotes.media.alt": "Julkaisun esikatselu", + "dialog.usageExceeded.dontShowAgain": "Älä näytä uudelleen", + + "context.breakdown.title": "Kontekstin erittely", + "context.breakdown.note": + 'Syötetokenien arvioitu jakautuminen. "Muut" sisältää työkalumäärittelyt ja muun oheissisällön.', + "context.breakdown.system": "Järjestelmä", + "context.breakdown.user": "Käyttäjä", + "context.breakdown.assistant": "Avustaja", + "context.breakdown.tool": "Työkalukutsut", + "context.breakdown.other": "Muut", + "context.systemPrompt.title": "Järjestelmäkehote", + "context.rawMessages.title": "Raakaviestit", + "context.export.session": "Vie istunto", + + "context.stats.session": "Istunto", + "context.stats.messages": "Viestit", + "context.stats.provider": "Palveluntarjoaja", + "context.stats.model": "Malli", + "context.stats.limit": "Kontekstirajoitus", + "context.stats.totalTokens": "Tokenit yhteensä", + "context.stats.usage": "Käyttö", + "context.stats.inputTokens": "Syötetokenit", + "context.stats.outputTokens": "Tulostokenit", + "context.stats.reasoningTokens": "Päättelytokenit", + "context.stats.cacheTokens": "Välimuistitokenit (luku/kirjoitus)", + "context.stats.userMessages": "Käyttäjäviestit", + "context.stats.assistantMessages": "Avustajan viestit", + "context.stats.totalCost": "Kokonaiskustannukset", + "context.stats.sessionCreated": "Istunto luotu", + "context.stats.lastActivity": "Viimeisin toiminta", + "context.usage.tokens": "Tokenit", + "context.usage.usage": "Käyttö", + "context.usage.cost": "Kustannukset", + "context.usage.clickToView": "Näytä konteksti napsauttamalla", + "context.usage.view": "Näytä kontekstin käyttö", + "language.en": "English", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Deutsch", + "language.es": "Español", + "language.fr": "Français", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "Polski", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Norsk", + "language.br": "Português (Brasil)", + "language.bs": "Bosanski", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Türkçe", + "toast.language.title": "Kieli", + "toast.language.description": "Kieleksi vaihdettu {{language}}", + "toast.theme.title": "Teema vaihdettu", + "toast.scheme.title": "Värimalli", + "toast.workspace.enabled.title": "Työtilat käytössä", + "toast.workspace.enabled.description": "Sivupalkissa näkyy nyt useita työpuita", + "toast.workspace.disabled.title": "Työtilat pois käytöstä", + "toast.workspace.disabled.description": "Vain päätyöpuu näkyy sivupalkissa", + "toast.permissions.autoaccept.on.title": "Käyttöoikeudet hyväksytään automaattisesti", + "toast.permissions.autoaccept.on.description": "Lupapyynnöt hyväksytään automaattisesti", + "toast.permissions.autoaccept.off.title": "Lupien automaattinen hyväksyminen lopetettu", + "toast.permissions.autoaccept.off.description": "Lupapyynnöt vaativat hyväksynnän", + "toast.model.none.title": "Mallia ei ole valittu", + "toast.model.none.description": "Yhdistä palveluntarjoaja tehdäksesi yhteenvedon tästä istunnosta", + "toast.file.loadFailed.title": "Tiedoston lataaminen epäonnistui", + "toast.file.listFailed.title": "Tiedostojen luettelointi epäonnistui", + "toast.context.noLineSelection.title": "Ei rivivalintaa", + "toast.context.noLineSelection.description": "Valitse ensin riviväli tiedostovälilehdeltä.", + "toast.session.share.copyFailed.title": "URL-osoitteen kopioiminen leikepöydälle epäonnistui", + "toast.session.share.success.title": "Istunto jaettu", + "toast.session.share.success.description": "Jakolinkki kopioitu leikepöydälle!", + "toast.session.share.failed.title": "Istunnon jakaminen epäonnistui", + "toast.session.share.failed.description": "Istunnon jakamisessa tapahtui virhe", + "toast.session.unshare.success.title": "Istunnon jako peruttu", + "toast.session.unshare.success.description": "Istunnon jakaminen peruutettu onnistuneesti!", + "toast.session.unshare.failed.title": "Istunnon jakamisen peruuttaminen epäonnistui", + "toast.session.unshare.failed.description": "Virhe peruttaessa istunnon jakamista", + "toast.session.export.success.title": "Istunto viety", + "toast.session.export.success.description": "Istunto tallennettu tiedostoon {{filename}}", + "toast.session.export.failed.title": "Istunnon vieminen epäonnistui", + "toast.session.export.failed.description": "Istuntoa vietäessä tapahtui virhe", + + "toast.session.listFailed.title": "Projektin {{project}} istuntojen lataaminen epäonnistui", + "toast.project.reloadFailed.title": "Projektin {{project}} lataaminen uudelleen epäonnistui", + "toast.update.title": "Päivitys saatavilla", + "toast.update.description": "OpenCoden uusi versio ({{version}}) on nyt saatavana asennettavaksi.", + "toast.update.action.installRestart": "Asenna ja käynnistä uudelleen", + "toast.update.action.notYet": "Ei vielä", + "error.page.title": "Jotain meni pieleen", + "error.page.description": "Sovellusta ladattaessa tapahtui virhe.", + "error.page.description.localServerStartup": "Paikallista palvelinta käynnistettäessä tapahtui virhe.", + "error.page.details.label": "Virheen tiedot", + "error.page.action.restart": "Käynnistä uudelleen", + "error.page.action.report": "Ilmoita virheestä", + "error.page.action.reported": "Virhe raportoitu", + "error.page.action.exportLogs": "Vie lokit", + "error.page.action.checking": "Tarkistetaan...", + "error.page.action.checkUpdates": "Tarkista päivitykset", + "error.page.action.updateTo": "Päivitä versioon {{version}}", + "error.page.circular": "[Kehäviittaus]", + "error.page.report.prefix": "Ilmoita tästä virheestä OpenCode-tiimille", + "error.page.report.discord": "Discordissa", + "error.page.version": "Versio: {{version}}", + "error.dev.rootNotFound": + "Juurielementtiä ei löydy. Unohditko lisätä sen index.html-tiedostoosi? Tai ehkä id-attribuutti on kirjoitettu väärin?", + "error.serverSync.connectFailed": + "Ei voitu muodostaa yhteyttä palvelimeen. Onko osoitteessa `{{url}}` käynnissä palvelin?", + "error.serverSDK.noServerAvailable": "Palvelinta ei ole saatavilla", + "error.serverSDK.serverNotAvailable": "Palvelin ei ole käytettävissä", + "error.childStore.persistedCacheCreateFailed": "Pysyvän välimuistin luominen epäonnistui", + "error.childStore.persistedProjectMetadataCreateFailed": "Projektin pysyvien metatietojen luominen epäonnistui", + "error.childStore.persistedProjectIconCreateFailed": "Pysyvän projektin kuvakkeen luominen epäonnistui", + "error.childStore.storeCreateFailed": "Tietovaraston luominen epäonnistui", + "directory.error.invalidUrl": "Virheellinen hakemisto URL-osoitteessa.", + "error.chain.unknown": "Tuntematon virhe", + "error.server.invalidConfiguration": "Virheellinen määritys", + "error.chain.causedBy": "Aiheuttaja:", + "error.chain.apiError": "API-virhe", + "error.chain.status": "Tila: {{status}}", + "error.chain.retryable": "Voidaan yrittää uudelleen: {{retryable}}", + "error.chain.responseBody": "Vastausteksti:\n{{body}}", + "error.chain.didYouMean": "Tarkoititko: {{suggestions}}", + "error.chain.modelNotFound": "Mallia ei löydy: {{provider}}/{{model}}", + "error.chain.checkConfig": "Tarkista määritysten (opencode.json) palveluntarjoajien ja mallien nimet", + "error.chain.mcpFailed": 'MCP-palvelin "{{name}}" epäonnistui. Huomaa, että OpenCode ei vielä tue MCP-todennusta.', + "error.chain.providerAuthFailed": "Palveluntarjoajan todennus epäonnistui ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + 'Palveluntarjoajan "{{provider}}" alustaminen epäonnistui. Tarkista tunnistetiedot ja määritykset.', + "error.chain.configJsonInvalid": "Polun {{path}} määritystiedosto ei ole kelvollista JSON(C)-muotoa", + "error.chain.configJsonInvalidWithMessage": + "Polun {{path}} määritystiedosto ei ole kelvollista JSON(C)-muotoa: {{message}}", + "error.chain.configDirectoryTypo": + 'Hakemisto "{{dir}}" polussa {{path}} ei kelpaa. Nimeä hakemisto uudelleen nimellä "{{suggestion}}" tai poista se. Tämä on yleinen kirjoitusvirhe.', + "error.chain.configFrontmatterError": "Polun {{path}} front matter -tietojen jäsentäminen epäonnistui:\n{{message}}", + "error.chain.configInvalid": "Polun {{path}} määritystiedosto on virheellinen", + "error.chain.configInvalidWithMessage": "Polun {{path}} määritystiedosto on virheellinen: {{message}}", + "notification.permission.title": "Lupa vaaditaan", + "notification.permission.description": "Istunto {{sessionTitle}} projektissa {{projectName}} tarvitsee luvan", + "notification.question.title": "Kysymys", + "notification.question.description": "Istunto {{sessionTitle}} projektissa {{projectName}} esittää kysymyksen", + "notification.action.goToSession": "Siirry istuntoon", + "notification.session.responseReady.title": "Vastaus valmiina", + "notification.session.error.title": "Istuntovirhe", + "notification.session.error.fallbackDescription": "Tapahtui virhe", + "home.recentProjects": "Viimeaikaiset projektit", + "home.empty.title": "Ei viimeaikaisia projekteja", + "home.empty.description": "Aloita avaamalla paikallinen projekti", + "home.title": "Etusivu", + "home.projects": "Projektit", + "home.project.add": "Lisää projekti", + "home.recentlyClosed": "Äskettäin suljettu", + "home.server.collapse": "Kutista palvelimen projektit", + "home.server.expand": "Laajenna palvelimen projektit", + "home.sessions.search.placeholder": "Hae istuntoja", + "home.sessions.search.placeholder.scoped": "Hae istuntoja kohteesta {{scope}}", + "home.sessions.search.sessions": "Istunnot", + "home.sessions.search.noResults": "Ei istuntoja haulle {{query}}", + "home.sessions.empty": "Ei täällä vielä mitään", + "home.sessions.empty.description": "Aloita luomalla istunto", + "home.sessions.group.today": "Tänään", + "home.sessions.group.yesterday": "Eilen", + "home.sessions.group.older": "Vanhemmat", + "home.providerTip": "Yhdistä yli 75 palveluntarjoajaan käyttääksesi muita malleja, kuten Claude, GPT, Gemini jne", + "session.tab.session": "Istunto", + "session.tab.review": "Tarkistus", + "session.tab.context": "Konteksti", + "session.tab.unknown": "Tuntematon istunto", + "session.panel.reviewAndFiles": "Tarkistus ja tiedostot", + "session.error.notFound": "Tätä istuntoa ei löydy", + "session.error.notFound.description": "Tämä välilehti osoittaa istuntoon, jota ei enää ole tällä palvelimella.", + "session.error.notFound.closeTab": "Sulje välilehti", + "session.error.serverConnection": "Ei voi muodostaa yhteyttä tähän palvelimeen", + "session.review.filesChanged": "Muutettuja tiedostoja: {{count}}", + "session.review.change.one": "Muutos", + "session.review.change.other": "Muutokset", + "session.review.loadingChanges": "Ladataan muutoksia...", + "session.review.empty": "Tässä istunnossa ei vielä muutoksia", + "session.review.noVcs": "Git-versionhallintaa ei havaittu, joten muutoksia ei näytetä", + "session.review.noVcs.createGit.title": "Luo Git-säilö", + "session.review.noVcs.createGit.description": "Seuraa, tarkista ja kumoa muutoksia tässä projektissa", + "session.review.noVcs.createGit.actionLoading": "Luodaan Git-säilöä...", + "session.review.noVcs.createGit.action": "Luo Git-säilö", + "session.review.noSnapshot": + "Tilannevedosten seuranta on poistettu käytöstä määrityksessä, joten istunnon muutokset eivät ole käytettävissä", + "session.review.noChanges": "Ei muutoksia", + "session.review.noUncommittedChanges": "Ei vielä sitomattomia muutoksia", + "session.review.noBranchChanges": "Ei vielä haaran muutoksia", + "session.files.selectToOpen": "Valitse avattava tiedosto", + "session.files.all": "Kaikki tiedostot", + "session.files.empty": "Ei tiedostoja", + "session.files.binaryContent": "Binääritiedosto (sisältöä ei voi näyttää)", + "session.messages.renderEarlier": "Hahmonna aiemmat viestit", + "session.messages.loadingEarlier": "Ladataan aikaisempia viestejä...", + "session.messages.loadEarlier": "Lataa aikaisemmat viestit", + "session.messages.loading": "Ladataan viestejä...", + "session.messages.jumpToLatest": "Siirry uusimpaan", + "session.context.addToContext": "Lisää {{selection}} kontekstiin", + "session.todo.title": "Tehtävät", + "session.todo.collapse": "Kutista", + "session.todo.expand": "Laajenna", + "session.todo.progress": "{{done}}/{{total}} tehtävää suoritettu", + "session.question.progress": "{{current}}/{{total}} kysymystä", + "session.question.minimize": "Pienennä kysymys", + "session.question.restore": "Palauta kysymys", + "session.question.pending.one": "{{count}} odottava kysymys", + "session.question.pending.other": "{{count}} odottavaa kysymystä", + "session.followupDock.summary.one": "{{count}} jonossa oleva viesti", + "session.followupDock.summary.other": "{{count}} jonossa olevaa viestiä", + "session.followupDock.sendNow": "Lähetä nyt", + "session.followupDock.edit": "Muokkaa", + "session.followupDock.collapse": "Kutista jonossa olevat viestit", + "session.followupDock.expand": "Laajenna jonossa olevia viestejä", + "session.revertDock.summary.one": "{{count}} palautettu viesti", + "session.revertDock.summary.other": "{{count}} palautettua viestiä", + "session.revertDock.collapse": "Kutista palautetut viestit", + "session.revertDock.expand": "Laajenna palautetut viestit", + "session.revertDock.restore": "Palauta viesti", + "session.new.title": "Rakenna mitä tahansa", + "session.new.project.new": "Uusi projekti", + "session.new.project.search": "Etsi projekteja", + "session.new.project.add": "Lisää projekti", + "session.new.worktree.main": "Päähaara", + "session.new.worktree.mainWithBranch": "Päähaara ({{branch}})", + "session.new.worktree.create": "Luo uusi työpuu", + "session.new.workspace.runIn": "Suorita istunto kohteessa", + "session.new.workspace.triggerLocal": "Paikallinen", + "session.new.workspace.local": "Paikallinen säilö", + "session.new.workspace.existing": "Työtila…", + "session.new.git.none": "Ei Gitiä", + "session.new.lastModified": "Viimeksi muokattu", + "session.header.search.placeholder": "Hae projektista {{project}}", + "session.header.searchFiles": "Etsi tiedostoja", + "session.header.openIn": "Avaa sovelluksessa", + "session.header.open.action": "Avaa {{app}}", + "session.header.open.ariaLabel": "Avaa sovelluksessa {{app}}", + "session.header.open.menu": "Avausvaihtoehdot", + "session.header.open.copyPath": "Kopioi polku", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "Tiedostonhallinta", + "session.header.open.fileManager": "Tiedostonhallinta", + "session.header.reveal.finder": "Näytä Finderissa", + "session.header.reveal.fileExplorer": "Näytä Resurssienhallinnassa", + "session.header.reveal.containingFolder": "Avaa tiedoston sisältävä kansio", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Terminaali", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "Tila", + "status.popover.ariaLabel": "Palvelimen määritykset", + "status.popover.tab.servers": "Palvelimet", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "Laajennukset", + "status.popover.action.manageServers": "Hallinnoi palvelimia", + "session.share.popover.title": "Julkaise verkossa", + "session.share.popover.description.shared": + "Tämä istunto on julkinen verkossa. Se on kaikkien linkin saaneiden käytettävissä.", + "session.share.popover.description.unshared": + "Jaa istunto julkisesti verkossa. Se on kaikkien linkin saaneiden käytettävissä.", + "session.share.action.share": "Jaa", + "session.share.action.publish": "Julkaise", + "session.share.action.publishing": "Julkaistaan...", + "session.share.action.unpublish": "Peruuta julkaisu", + "session.share.action.unpublishing": "Peruutetaan julkaisua...", + "session.share.action.view": "Näytä", + "session.share.copy.copied": "Kopioitu", + "session.share.copy.copyLink": "Kopioi linkki", + "lsp.tooltip.none": "Ei LSP-palvelimia", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "Ladataan kehotetta...", + "terminal.loading": "Ladataan terminaalia...", + "terminal.title": "Terminaali", + "terminal.title.numbered": "Terminaali {{number}}", + "terminal.close": "Sulje terminaali", + "terminal.connectionLost.title": "Yhteys katkesi", + "terminal.connectionLost.abnormalClose": "WebSocket sulkeutui poikkeavasti: {{code}}", + "terminal.connectionLost.description": + "Terminaaliyhteys katkesi. Näin voi tapahtua, kun palvelin käynnistyy uudelleen.", + "terminal.connectTicket.csrfError": + "PTY-yhteyslippu hylättiin alkuperä- tai CSRF-tarkistuksessa. Tarkista palvelimen CORS-määritys.", + "terminal.connectTicket.statusError": "PTY-yhteyslippu epäonnistui tilakoodilla {{status}}", + "titlebar.update": "Päivitä", + "titlebar.updateVersion": "Päivitä {{version}}", + "common.closeTab": "Sulje välilehti", + "common.dismiss": "Hylkää", + "common.moreCountSuffix": " (+{{count}} muuta)", + "common.requestFailed": "Pyyntö epäonnistui", + "common.moreOptions": "Lisää vaihtoehtoja", + "common.learnMore": "Lue lisää", + "common.rename": "Nimeä uudelleen", + "common.export": "Vie", + "common.reset": "Palauta", + "common.archive": "Arkistoi", + "common.delete": "Poista", + "common.close": "Sulje", + "common.edit": "Muokkaa", + "common.loadMore": "Lataa lisää", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "tuntematon", + "common.time.justNow": "Juuri nyt", + "common.time.minutesAgo.short": "{{count}} min sitten", + "common.time.hoursAgo.short": "{{count}} h sitten", + "common.time.daysAgo.short": "{{count}} pv sitten", + "sidebar.menu.toggle": "Näytä tai piilota valikko", + "sidebar.nav.projectsAndSessions": "Projektit ja istunnot", + "sidebar.settings": "Asetukset", + "sidebar.help": "Ohje", + "sidebar.workspaces.enable": "Ota työtilat käyttöön", + "sidebar.workspaces.disable": "Poista työtilat käytöstä", + "sidebar.gettingStarted.title": "Aloittaminen", + "sidebar.gettingStarted.line1": "OpenCode sisältää ilmaisia malleja, joten voit aloittaa heti.", + "sidebar.gettingStarted.line2": + "Yhdistä mikä tahansa palveluntarjoaja käyttääksesi malleja, mm. Claude, GPT, Gemini jne.", + "sidebar.project.recentSessions": "Viimeaikaiset istunnot", + "sidebar.project.viewAllSessions": "Näytä kaikki istunnot", + "sidebar.project.clearNotifications": "Tyhjennä ilmoitukset", + "sidebar.empty.title": "Ei avoimia projekteja", + "sidebar.empty.description": "Aloita avaamalla projekti", + "debugBar.ariaLabel": "Kehityksen suorituskyvyn diagnostiikka", + "debugBar.na": "n/a", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "Viimeisin valmis reittisiirtymä, joka koskee istuntosivua, mitattuna reitityksen alusta ensimmäiseen piirtoon siirtymän valmistumisen jälkeen.", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "Liukuva kuvataajuus viimeisten 5 sekunnin ajalta.", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "Pisin kuvan piirtoaika viimeisten 5 sekunnin aikana.", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "Yli 32 ms kestäneet kuvat viimeisten 5 sekunnin aikana.", + "debugBar.long.label": "PITKÄ", + "debugBar.long.tip": "Estetty aika ja pitkien tehtävien määrä viimeisten 5 sekunnin aikana. Pisin tehtävä: {{max}}.", + "debugBar.delay.label": "VIIVE", + "debugBar.delay.tip": "Pisin havaittu syöttöviive viimeisten 5 sekunnin aikana.", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": + "Vuorovaikutuksen arvioitu kesto viimeisen 5 sekunnin ajalta. Tämä on INP-tyyppinen, ei virallinen Web Vitals INP.", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "Kumulatiivinen asettelusiirtymä sovelluksen nykyisen käyttöjakson aikana.", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "Käytetty JS-keko suhteessa keon rajaan. Vain Chromium.", + "debugBar.mem.tip": "Käytetty JS-keko suhteessa keon rajaan. {{used}} / {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Pakota kohdistustyylit kaikkiin vuorovaikutteisiin elementteihin", + "debugBar.focus.on": "KÄYTÖSSÄ", + "debugBar.focus.off": "EI KÄYTÖSSÄ", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Pakota koko sovelluksen asettelun suunta valittua kieltä muuttamatta", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode Desktop", + "settings.section.desktop": "Työpöytä", + "settings.section.server": "Palvelin", + "settings.tab.general": "Yleiset", + "settings.tab.shortcuts": "Pikanäppäimet", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "WSL-integraatio", + "settings.desktop.wsl.description": "Suorita OpenCode-palvelin WSL:n sisällä Windowsissa.", + "settings.general.section.appearance": "Ulkonäkö", + "settings.general.section.advanced": "Lisäasetukset", + "settings.general.section.notifications": "Järjestelmän ilmoitukset", + "settings.general.section.updates": "Päivitykset", + "settings.general.section.sounds": "Äänitehosteet", + "settings.general.section.feed": "Syöte", + "settings.general.section.display": "Näyttö", + "settings.general.row.language.title": "Kieli", + "settings.general.row.language.description": "Vaihda OpenCoden näyttökieli", + "settings.general.row.shell.title": "Terminaalin komentotulkki", + "settings.general.row.shell.description": "Terminaalin ja agenttityökalujen käyttämä komentotulkki", + "settings.general.row.shell.autoDefault": "Automaattinen (oletus)", + "settings.general.row.shell.terminalOnly": "vain terminaali", + "settings.general.row.appearance.title": "Ulkonäkö", + "settings.general.row.appearance.description": "Mukauta, miltä OpenCode näyttää laitteellasi", + "settings.general.row.colorScheme.title": "Värimalli", + "settings.general.row.colorScheme.description": + "Valitse, käyttääkö OpenCode järjestelmän mukaista, vaaleaa vai tummaa teemaa", + "settings.general.row.theme.title": "Teema", + "settings.general.row.theme.description": "Mukauta OpenCoden teemaa.", + "settings.general.row.font.title": "Koodifontti", + "settings.general.row.font.description": "Mukauta koodilohkoissa käytettyä fonttia", + "settings.general.row.terminalFont.title": "Terminaalin fontti", + "settings.general.row.terminalFont.description": "Mukauta terminaalissa käytettävää fonttia", + "settings.general.row.uiFont.title": "Käyttöliittymän fontti", + "settings.general.row.uiFont.description": "Mukauta koko käyttöliittymässä käytettyä fonttia", + "settings.general.row.followup.title": "Jatkokehotteiden toiminta", + "settings.general.row.followup.description": "Valitse, ohjaavatko jatkokehotteet heti vai odottavatko ne jonossa", + "settings.general.row.followup.option.queue": "Jonota", + "settings.general.row.followup.option.steer": "Ohjaa heti", + "settings.general.row.showFileTree.title": "Tiedostopuu", + "settings.general.row.showFileTree.description": "Näytä tiedostopuupaneeli istunnoissa", + "settings.general.row.showNavigation.title": "Navigointiohjaimet", + "settings.general.row.showNavigation.description": + "Näytä taaksepäin- ja eteenpäin-painikkeet työpöydän otsikkorivillä", + "settings.general.row.showSearch.title": "Komentopaletti", + "settings.general.row.showSearch.description": "Näytä haku- ja komentopalettipainike otsikkorivillä", + "settings.general.row.showTerminal.title": "Terminaali", + "settings.general.row.showTerminal.description": "Näytä terminaalipainike työpöydän otsikkorivillä", + "settings.general.row.showStatus.title": "Palvelimen tila", + "settings.general.row.showStatus.description": "Näytä palvelimen tilapainike otsikkorivillä", + "settings.general.row.mobileTitlebarBottom.title": "Navigointi alareunassa", + "settings.general.row.mobileTitlebarBottom.description": + "Sijoita otsikkopalkki ja istuntovälilehdet mobiililaitteen näytön alareunaan", + "settings.general.row.showCustomAgents.title": "Näytä agentin valinta", + "settings.general.row.showCustomAgents.description": + "Vaihda agenttien välillä viestikentässä. Kun valinta on piilotettu, Build-agenttia käytetään oletuksena.", + "settings.general.row.reasoningSummaries.title": "Näytä päättelyn yhteenvedot", + "settings.general.row.reasoningSummaries.description": "Näytä mallin päättelyn yhteenvedot aikajanalla", + "settings.general.row.shellToolPartsExpanded.title": "Laajenna shell-työkalun osat", + "settings.general.row.shellToolPartsExpanded.description": + "Näytä shell-työkalun osat oletuksena laajennettuina aikajanalla", + "settings.general.row.editToolPartsExpanded.title": "Laajenna muokkaustyökalun osat", + "settings.general.row.editToolPartsExpanded.description": + "Näytä muokkaus-, kirjoitus- ja paikkaustyökalun osat oletusarvoisesti laajennettuina aikajanalla", + "settings.general.row.newInterface.title": "Uusi asettelu", + "settings.general.row.newInterface.badge": "Uusi", + "settings.general.row.newInterface.description": + "Käytä uusia välilehtiä ja etusivun asettelua. Vaihda asettelujen välillä rajoitetun ajan.", + "settings.general.row.newInterfaceNotice.title": "Käytät nyt uutta asettelua", + "settings.general.row.newInterfaceNotice.description": "Edellinen asettelu ei ole enää käytettävissä", + "settings.general.row.newInterfaceNotice.dismiss": "Hylkää", + "settings.general.row.pinchZoom.title": "Zoomaa nipistämällä", + "settings.general.row.pinchZoom.description": "Salli zoomaus ohjauslevyn nipistyseleellä ja Ctrl-vierityksellä", + "settings.general.row.wayland.title": "Käytä alkuperäistä Waylandia", + "settings.general.row.wayland.description": + "Poista X11-varatila käytöstä Waylandissa. Vaatii uudelleenkäynnistyksen.", + "settings.general.row.wayland.tooltip": + "Linuxissa alkuperäinen Wayland voi olla vakaampi käytettäessä näyttöjä, joiden virkistystaajuudet eroavat toisistaan.", + "settings.general.row.releaseNotes.title": "Julkaisutiedot", + "settings.general.row.releaseNotes.description": "Näytä Mitä uutta -ponnahdusikkunat päivitysten jälkeen", + "settings.updates.row.startup.title": "Tarkista päivitykset käynnistyksen yhteydessä", + "settings.updates.row.startup.description": "Tarkista päivitykset automaattisesti, kun OpenCode käynnistyy", + "settings.updates.row.check.title": "Tarkista päivitykset", + "settings.updates.row.check.description": "Tarkista päivitykset manuaalisesti ja asenna, jos niitä on saatavilla", + "settings.updates.action.checkNow": "Tarkista nyt", + "settings.updates.action.checking": "Tarkistetaan...", + "settings.updates.action.downloading": "Ladataan...", + "settings.updates.action.installing": "Asennetaan...", + "settings.updates.toast.latest.title": "Olet ajan tasalla", + "settings.updates.toast.latest.description": "Käytät OpenCoden uusinta versiota.", + "sound.option.none": "Ei mitään", + "sound.option.alert01": "Alert 01", + "sound.option.alert02": "Alert 02", + "sound.option.alert03": "Alert 03", + "sound.option.alert04": "Alert 04", + "sound.option.alert05": "Alert 05", + "sound.option.alert06": "Alert 06", + "sound.option.alert07": "Alert 07", + "sound.option.alert08": "Alert 08", + "sound.option.alert09": "Alert 09", + "sound.option.alert10": "Alert 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "Nope 01", + "sound.option.nope02": "Nope 02", + "sound.option.nope03": "Nope 03", + "sound.option.nope04": "Nope 04", + "sound.option.nope05": "Nope 05", + "sound.option.nope06": "Nope 06", + "sound.option.nope07": "Nope 07", + "sound.option.nope08": "Nope 08", + "sound.option.nope09": "Nope 09", + "sound.option.nope10": "Nope 10", + "sound.option.nope11": "Nope 11", + "sound.option.nope12": "Nope 12", + "sound.option.yup01": "Yup 01", + "sound.option.yup02": "Yup 02", + "sound.option.yup03": "Yup 03", + "sound.option.yup04": "Yup 04", + "sound.option.yup05": "Yup 05", + "sound.option.yup06": "Yup 06", + "settings.general.notifications.agent.title": "Agentti", + "settings.general.notifications.agent.description": + "Näytä järjestelmäilmoitus, kun agentti on valmis tai tarvitsee huomiota", + "settings.general.notifications.permissions.title": "Käyttöoikeudet", + "settings.general.notifications.permissions.description": "Näytä järjestelmäilmoitus, kun lupa vaaditaan", + "settings.general.notifications.errors.title": "Virheet", + "settings.general.notifications.errors.description": "Näytä järjestelmäilmoitus, kun tapahtuu virhe", + "settings.general.sounds.agent.title": "Agentti", + "settings.general.sounds.agent.description": "Toista ääni, kun agentti on valmis tai tarvitsee huomiota", + "settings.general.sounds.permissions.title": "Käyttöoikeudet", + "settings.general.sounds.permissions.description": "Toista ääni, kun vaaditaan lupa", + "settings.general.sounds.errors.title": "Virheet", + "settings.general.sounds.errors.description": "Toista ääni, kun tapahtuu virhe", + "settings.shortcuts.title": "Pikanäppäimet", + "settings.shortcuts.reset.button": "Palauta oletusasetukset", + "settings.shortcuts.reset.toast.title": "Pikanäppäimet palautettu", + "settings.shortcuts.reset.toast.description": "Pikanäppäimet on palautettu oletusasetuksiin.", + "settings.shortcuts.conflict.title": "Pikanäppäin on jo käytössä", + "settings.shortcuts.conflict.description": "{{keybind}} on jo määritetty toiminnolle {{titles}}.", + "settings.shortcuts.unassigned": "Ei määritetty", + "settings.shortcuts.pressKeys": "Paina näppäimiä", + "settings.shortcuts.search.placeholder": "Hae pikanäppäimiä", + "settings.shortcuts.search.empty": "Pikanäppäimiä ei löytynyt", + "settings.shortcuts.group.general": "Yleiset", + "settings.shortcuts.group.session": "Istunto", + "settings.shortcuts.group.navigation": "Navigointi", + "settings.shortcuts.group.modelAndAgent": "Malli ja agentti", + "settings.shortcuts.group.terminal": "Terminaali", + "settings.shortcuts.group.prompt": "Kehote", + "settings.providers.title": "Palveluntarjoajat", + "settings.providers.description": "Palveluntarjoajan asetukset voidaan määrittää täällä.", + "settings.providers.section.connected": "Yhdistetyt palveluntarjoajat", + "settings.providers.connected.empty": "Ei yhdistettyjä palveluntarjoajia", + "settings.providers.connected.environmentDescription": "Yhdistetty ympäristömuuttujien kautta", + "settings.providers.section.popular": "Suositut palveluntarjoajat", + "settings.providers.custom.description": + "Lisää OpenAI-yhteensopiva palveluntarjoaja perus-URL-osoitteen perusteella.", + "settings.providers.tag.environment": "Ympäristö", + "settings.providers.tag.config": "Määritys", + "settings.providers.tag.custom": "Mukautettu", + "settings.providers.tag.other": "Muut", + "settings.models.title": "Mallit", + "settings.models.description": "Mallin asetukset voidaan määrittää täällä.", + "settings.agents.title": "Agentit", + "settings.agents.description": "Agentin asetukset voidaan määrittää täällä.", + "settings.commands.title": "Komennot", + "settings.commands.description": "Komentoasetukset voidaan määrittää täällä.", + "settings.mcp.title": "MCP", + "settings.mcp.description": "MCP-asetukset voidaan määrittää täällä.", + "settings.permissions.title": "Käyttöoikeudet", + "settings.permissions.description": "Hallitse, mitä työkaluja palvelin voi käyttää oletuksena.", + "settings.permissions.section.tools": "Työkalut", + "settings.permissions.toast.updateFailed.title": "Käyttöoikeuksien päivittäminen epäonnistui", + "settings.permissions.action.allow": "Salli", + "settings.permissions.action.ask": "Kysy", + "settings.permissions.action.deny": "Kiellä", + "settings.permissions.tool.read.title": "Lue", + "settings.permissions.tool.read.description": "Tiedoston lukeminen (vastaa tiedostopolkua)", + "settings.permissions.tool.edit.title": "Muokkaa", + "settings.permissions.tool.edit.description": + "Tiedostojen muokkaaminen, mukaan lukien muokkaus-, kirjoitus- ja paikkaustoiminnot", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "Etsi glob-malleja vastaavia tiedostoja", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "Hae tiedostojen sisällöstä säännöllisten lausekkeiden avulla", + "settings.permissions.tool.list.title": "Luettelo", + "settings.permissions.tool.list.description": "Listaa tiedostot hakemistossa", + "settings.permissions.tool.bash.title": "Bash", + "settings.permissions.tool.bash.description": "Suorita shell-komennot", + "settings.permissions.tool.task.title": "Tehtävä", + "settings.permissions.tool.task.description": "Käynnistä aliagentit", + "settings.permissions.tool.skill.title": "Taito", + "settings.permissions.tool.skill.description": "Lataa taito nimen perusteella", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "Suorita kielipalvelinkyselyt", + "settings.permissions.tool.todowrite.title": "Tehtävälistan päivitys", + "settings.permissions.tool.todowrite.description": "Päivitä tehtävälista", + "settings.permissions.tool.webfetch.title": "Web Fetch", + "settings.permissions.tool.webfetch.description": "Nouda sisältöä URL-osoitteesta", + "settings.permissions.tool.websearch.title": "Verkkohaku", + "settings.permissions.tool.websearch.description": "Hae verkosta", + "settings.permissions.tool.external_directory.title": "Ulkoinen hakemisto", + "settings.permissions.tool.external_directory.description": "Käytä tiedostoja projektihakemiston ulkopuolella", + "settings.permissions.tool.doom_loop.title": "Doom Loop", + "settings.permissions.tool.doom_loop.description": "Tunnista toistuvat työkalukutsut samalla syötteellä", + "session.delete.failed.title": "Istunnon poistaminen epäonnistui", + "session.delete.title": "Poista istunto", + "session.delete.confirm": 'Poistetaanko istunto "{{name}}"?', + "session.delete.button": "Poista istunto", + "workspace.new": "Uusi työtila", + "workspace.type.local": "paikallinen", + "workspace.type.sandbox": "hiekkalaatikko", + "workspace.create.failed.title": "Työtilan luominen epäonnistui", + "workspace.delete.failed.title": "Työtilan poistaminen epäonnistui", + "workspace.resetting.title": "Palautetaan työtilaa", + "workspace.resetting.description": "Tämä voi kestää minuutin.", + "workspace.reset.failed.title": "Työtilan palauttaminen epäonnistui", + "workspace.reset.success.title": "Työtila palautettu", + "workspace.reset.success.description": "Työtila vastaa nyt oletushaaraa.", + "workspace.error.stillPreparing": "Työtilaa valmistellaan vielä", + "workspace.status.checking": "Tarkistetaan yhdistämättömiä muutoksia...", + "workspace.status.error": "Gitin tilaa ei voi vahvistaa.", + "workspace.status.clean": "Yhdistämättömiä muutoksia ei havaittu.", + "workspace.status.dirty": "Tässä työtilassa havaittu yhdistämättömiä muutoksia.", + "workspace.delete.title": "Poista työtila", + "workspace.delete.confirm": 'Poistetaanko työtila "{{name}}"?', + "workspace.delete.button": "Poista työtila", + "workspace.reset.title": "Palauta työtila", + "workspace.reset.confirm": 'Palautetaanko työtila "{{name}}"?', + "workspace.reset.button": "Palauta työtila", + "workspace.reset.archived.none": "Aktiivisia istuntoja ei arkistoida.", + "workspace.reset.archived.one": "1 istunto arkistoidaan.", + "workspace.reset.archived.many": "{{count}} istuntoa arkistoidaan.", + "workspace.reset.note": "Tämä palauttaa työtilan vastaamaan oletushaaraa.", + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Tiedosto", + "desktop.menu.edit": "Muokkaa", + "desktop.menu.view": "Näytä", + "desktop.menu.go": "Siirry", + "desktop.menu.window": "Ikkuna", + "desktop.menu.help": "Ohje", + "desktop.menu.checkForUpdates": "Tarkista päivitykset...", + "desktop.menu.settings": "Asetukset", + "desktop.menu.reloadWebview": "Lataa verkkonäkymä uudelleen", + "desktop.menu.restart": "Käynnistä uudelleen", + "desktop.menu.exportLogs": "Vie lokit...", + "desktop.menu.newSession": "Uusi istunto", + "desktop.menu.openProject": "Avaa projekti...", + "desktop.menu.newWindow": "Uusi ikkuna", + "desktop.menu.closeWindow": "Sulje ikkuna", + "desktop.menu.undo": "Kumoa", + "desktop.menu.redo": "Tee uudelleen", + "desktop.menu.cut": "Leikkaa", + "desktop.menu.copy": "Kopioi", + "desktop.menu.paste": "Liitä", + "desktop.menu.delete": "Poista", + "desktop.menu.selectAll": "Valitse kaikki", + "desktop.menu.toggleSidebar": "Näytä tai piilota sivupalkki", + "desktop.menu.toggleTerminal": "Näytä tai piilota terminaali", + "desktop.menu.toggleFileTree": "Näytä tai piilota tiedostopuu", + "desktop.menu.reload": "Lataa uudelleen", + "desktop.menu.toggleDeveloperTools": "Näytä tai piilota kehittäjätyökalut", + "desktop.menu.actualSize": "Todellinen koko", + "desktop.menu.zoomIn": "Lähennä", + "desktop.menu.zoomOut": "Loitonna", + "desktop.menu.toggleFullScreen": "Koko näytön tila", + "desktop.menu.back": "Takaisin", + "desktop.menu.forward": "Eteenpäin", + "desktop.menu.previousSession": "Edellinen istunto", + "desktop.menu.nextSession": "Seuraava istunto", + "desktop.menu.previousProject": "Edellinen projekti", + "desktop.menu.nextProject": "Seuraava projekti", + "desktop.menu.minimize": "Pienennä", + "desktop.menu.maximize": "Suurenna", + "desktop.menu.documentation": "OpenCode-dokumentaatio", + "desktop.menu.supportForum": "Tukifoorumi", + "desktop.menu.shareFeedback": "Anna palautetta", + "desktop.menu.reportBug": "Ilmoita ohjelmavirheestä", + "desktop.menu.ariaLabel": "OpenCode-valikko", + "desktop.updater.dialog.checkFailed.message": "Päivitysten tarkistus epäonnistui.", + "desktop.updater.dialog.checkFailed.title": "Päivitysvirhe", + "desktop.updater.dialog.upToDate.message": "Olet ajan tasalla.", + "desktop.updater.dialog.upToDate.title": "Ei päivityksiä", + "desktop.updater.dialog.ready.message": "Päivitys {{version}} on ladattu. Käynnistetäänkö nyt uudelleen?", + "desktop.updater.dialog.ready.title": "Päivitys valmis", + "desktop.updater.dialog.restart": "Käynnistä uudelleen", + "desktop.updater.dialog.later": "Myöhemmin", + "desktop.recovery.action.relaunch": "Käynnistä uudelleen", + "desktop.recovery.action.exportLogs": "Vie lokit", + "desktop.recovery.action.keepWaiting": "Jatka odottamista", + "desktop.recovery.action.quit": "Lopeta", + "desktop.recovery.loadFailed": "OpenCoden lataaminen epäonnistui", + "desktop.recovery.terminated": "OpenCode-ikkuna sulkeutui odottamatta", + "desktop.recovery.unresponsive": "OpenCode ei vastaa", + "desktop.recovery.unresponsive.detail": "Voit käynnistää sovelluksen uudelleen, avata lokit tai jatkaa odottamista.", + "desktop.recovery.loadFailed.detail": "Ikkuna: {{window}}\nURL: {{url}}\nVirhe: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Ikkuna: {{window}}\nSyy: {{reason}}\nKoodi: {{code}}", + "desktop.recovery.unknown": "", + "desktop.dialog.chooseFolder": "Valitse kansio", + "desktop.dialog.chooseFile": "Valitse tiedosto", + "desktop.dialog.saveFile": "Tallenna tiedosto", + "desktop.dialog.files": "Tiedostot", + "desktop.server.local": "Paikallinen palvelin", + "desktop.wsl.error.windowsOnly": "WSL on käytettävissä vain Windowsissa", + "desktop.wsl.error.unavailable": "WSL ei ole käytettävissä", + "desktop.wsl.error.listInstalled": "Asennettujen WSL-jakelujen luettelointi epäonnistui", + "desktop.wsl.error.listOnline": "Verkossa saatavilla olevien WSL-jakelujen luettelointi epäonnistui", + "desktop.wsl.error.executeDistro": "Jakelussa ei voi suorittaa komentoja", + "desktop.wsl.error.installWsl": "WSL:n asennus epäonnistui", + "desktop.wsl.error.installDistro": "Jakelun asentaminen epäonnistui: {{distro}}", + "desktop.wsl.error.installOpencode": "OpenCoden asennus epäonnistui", + "desktop.wsl.error.alreadyAdded": "{{distro}} on jo lisätty", + "desktop.wsl.error.opencodeMissing": "opencodea ei ole asennettu tähän jakeluun", + "desktop.wsl.error.opencodeCannotRun": "opencode on asennettu, mutta sitä ei voitu suorittaa", + "desktop.wsl.error.opencodeNotInstalled": "OpenCodea ei ole asennettu jakeluun {{distro}}", + "desktop.wsl.error.updateVersion": + "OpenCoden päivitys valmistui, mutta {{distro}} ilmoittaa yhä version {{installed}}; odotettu versio on {{expected}}", + "desktop.wsl.error.noVersion": "ei versiota", + "desktop.wsl.error.serverExited": "WSL-palvelin sulkeutui käynnistyksen jälkeen (koodi={{code}} signaali={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL-palvelin sulkeutui ennen toimintavalmiutta (koodi={{code}} signaali={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": + "Jakelun {{distro}} sivuprosessin kuntotarkistus aikakatkaistiin {{timeout}} ms:n jälkeen", + "desktop.wsl.error.commandTimeout": "Komento {{command}} {{args}} aikakatkaistiin {{timeout}} ms:n jälkeen", + "desktop.wsl.error.failedPort": "Portin noutaminen epäonnistui", + "desktop.picker.error.notSelected": "Tiedostovalitsimessa ei valittu tiedostoa", + "desktop.picker.error.sizeLimit": "Valitut liitteet ylittävät {{limit}} Mt:n rajan", + "command.logs.export": "Vie lokit", + "help.tabs.toast.ariaLabel": "Esittelyssä välilehdet. Järjestä työsi ja aktiiviset istuntosi välilehtien avulla", + "help.tabs.toast.dismiss": "Sulje välilehtien tiedot", + "help.tabs.title": "Esittelyssä välilehdet", + "help.tabs.description": "Järjestä työsi ja aktiiviset istuntosi välilehtien avulla", + "help.tabs.date": "14. heinäkuuta", + "help.tabs.introduction": "OpenCode Desktop perustuu nyt välilehtiin.", + "help.tabs.sessions": + "Aloita uusi istunto välilehdessä tai avaa olemassa oleva istunto mistä tahansa projektistasi. Avaa uusi välilehti, kun aloitat jotain uutta, ja sulje se, kun olet valmis.", + "help.tabs.organize": + "Muutaman välilehden pitäminen avoinna helpottaa aktiivisten istuntojen järjestämistä. Nimeä välilehdet helposti muistettaviksi, jos aiot pitää ne avoinna.", + "help.tabs.home": + "Kaikki istuntosi ja projektisi ovat uudessa etusivunäkymässä. Istunnon valitseminen avaa sen välilehteen.", + "help.tabs.persistence": "Kun avaat sovelluksen uudelleen, välilehtesi ovat yhä avoinna.", + "help.tabs.worktrees": + "Uusi ulkoasu ei vielä tue Git-työpuita, mutta tuki on tulossa pian. Jos haluat jatkaa aiemman ulkoasun käyttöä, voit vaihtaa ulkoasua asetuksissa. Huomaa kuitenkin, että uudesta ulkoasusta tulee pysyvä muutaman viikon kuluttua.", +} diff --git a/packages/app/src/i18n/fo.ts b/packages/app/src/i18n/fo.ts new file mode 100644 index 000000000000..4329a35b4247 --- /dev/null +++ b/packages/app/src/i18n/fo.ts @@ -0,0 +1,1154 @@ +export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Skrá", + "desktop.menu.edit": "Rætta", + "desktop.menu.view": "Vís", + "desktop.menu.go": "Far", + "desktop.menu.window": "Vindeyga", + "desktop.menu.help": "Hjálp", + "desktop.menu.checkForUpdates": "Kanna fyri dagføringum...", + "desktop.menu.settings": "Innstillingar", + "desktop.menu.reloadWebview": "Endurlesa vevvísing", + "desktop.menu.restart": "Endurbyrja", + "desktop.menu.exportLogs": "Útflyt loggar...", + "desktop.menu.newSession": "Nýggj seta", + "desktop.menu.openProject": "Opna verkætlan...", + "desktop.menu.newWindow": "Nýtt vindeyga", + "desktop.menu.closeWindow": "Lat vindeyga aftur", + "desktop.menu.undo": "Angra", + "desktop.menu.redo": "Endurtak", + "desktop.menu.cut": "Sker", + "desktop.menu.copy": "Avrit", + "desktop.menu.paste": "Líma", + "desktop.menu.delete": "Strika", + "desktop.menu.selectAll": "Vel alt", + "desktop.menu.toggleSidebar": "Skift síðulinjuna", + "desktop.menu.toggleTerminal": "Skift terminal", + "desktop.menu.toggleFileTree": "Skift fílutræ", + "desktop.menu.reload": "Endurlesa", + "desktop.menu.toggleDeveloperTools": "Skift forritaratól", + "desktop.menu.actualSize": "Verulig stødd", + "desktop.menu.zoomIn": "Zooma inn", + "desktop.menu.zoomOut": "Zooma út", + "desktop.menu.toggleFullScreen": "Skift fullan skerm", + "desktop.menu.back": "Aftur", + "desktop.menu.forward": "Frameftir", + "desktop.menu.previousSession": "Fyrra setan", + "desktop.menu.nextSession": "Næsta seta", + "desktop.menu.previousProject": "Fyrra verkætlan", + "desktop.menu.nextProject": "Næsta verkætlan", + "desktop.menu.minimize": "Minka um", + "desktop.menu.maximize": "Maksimera", + "desktop.menu.documentation": "OpenCode Skjøl", + "desktop.menu.supportForum": "Stuðulsforum", + "desktop.menu.shareFeedback": "Deil afturmeldingar", + "desktop.menu.reportBug": "Melda ein feil", + "desktop.menu.ariaLabel": "OpenCode valmynd", + "desktop.updater.dialog.checkFailed.message": "Dagføringarkanningin miseydnaðist.", + "desktop.updater.dialog.checkFailed.title": "Dagføring feilur", + "desktop.updater.dialog.upToDate.message": "Tú ert dagførdur.", + "desktop.updater.dialog.upToDate.title": "Ongar dagføringar", + "desktop.updater.dialog.ready.message": "Dagføring {{version}} heintað. Endurbyrja nú?", + "desktop.updater.dialog.ready.title": "Dagføring klár", + "desktop.updater.dialog.restart": "Endurbyrja", + "desktop.updater.dialog.later": "Seinni", + "desktop.recovery.action.relaunch": "Endursjóseting", + "desktop.recovery.action.exportLogs": "Útflyt loggar", + "desktop.recovery.action.keepWaiting": "Halt áfram at bíða", + "desktop.recovery.action.quit": "Gevst", + "desktop.recovery.loadFailed": "OpenCode miseydnaðist at heinta", + "desktop.recovery.terminated": "OpenCode vindeygað endað óvæntað", + "desktop.recovery.unresponsive": "OpenCode svarar ikki", + "desktop.recovery.unresponsive.detail": "Tú kanst seta appina í gongd aftur, lata loggarnar upp ella bíða.", + "desktop.recovery.loadFailed.detail": "Vindeyga: {{window}}\nURL: {{url}}\nFeilur: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Vindeyga: {{window}}\nOrsøk: {{reason}}\nKoda: {{code}}", + "desktop.recovery.unknown": "<ókent>", + "desktop.dialog.chooseFolder": "Vel eina mappu", + "desktop.dialog.chooseFile": "Vel eina fílu", + "desktop.dialog.saveFile": "Goym fílu", + "desktop.dialog.files": "Fílur", + "desktop.server.local": "Lokal ambætari", + "desktop.wsl.error.windowsOnly": "WSL er bert tøkt á Windows.", + "desktop.wsl.error.unavailable": "WSL er ikki tøkt", + "desktop.wsl.error.listInstalled": "Tað eydnaðist ikki at lista uppsettar WSL útbreiðslur", + "desktop.wsl.error.listOnline": "Tað eydnaðist ikki at lista útbreiðslur á netinum WSL", + "desktop.wsl.error.executeDistro": "Kann ikki útføra skipanir í distro", + "desktop.wsl.error.installWsl": "WSL uppsetingin miseydnaðist", + "desktop.wsl.error.installDistro": "Tað eydnaðist ikki at seta distro upp: {{distro}}", + "desktop.wsl.error.installOpencode": "OpenCode uppsetingin miseydnaðist", + "desktop.wsl.error.alreadyAdded": "{{distro}} er longu lagt afturat .", + "desktop.wsl.error.opencodeMissing": "opencode er ikki sett upp í hesi distro", + "desktop.wsl.error.opencodeCannotRun": "opencode er sett upp men kundi ikki koyra", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode er ikki sett upp í {{distro}}", + "desktop.wsl.error.updateVersion": + "OpenCode dagføring liðug men {{distro}} greiðir enn frá {{installed}}; væntað {{expected}}.", + "desktop.wsl.error.noVersion": "eingin útgáva", + "desktop.wsl.error.serverExited": "WSL-ambætarin steðgaði eftir uppstart (code={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL-ambætarin steðgaði, áðrenn hann var klárur (code={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": "Síðuvognur til {{distro}} heilsukanning tíðaravmarkað eftir {{timeout}}ms", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} tíðaravmarkað eftir {{timeout}}ms", + "desktop.wsl.error.failedPort": "Tað eydnaðist ikki at fáa havn", + "desktop.picker.error.notSelected": "Fíla varð ikki vald av veljaranum", + "desktop.picker.error.sizeLimit": "Valdar viðheftir fara upp um {{limit}} MB markið", + "command.category.suggested": "Tillagað", + "command.category.view": "Vís", + "command.category.project": "Verkætlan", + "command.category.provider": "Veitari", + "command.category.server": "Ambætari", + "command.category.session": "Seta", + "command.category.theme": "Tema", + "command.category.language": "Mál", + "command.category.file": "Skrá", + "command.category.context": "Samanhangur", + "command.category.terminal": "Farstøð", + "command.category.model": "Fyrimynd", + "command.category.mcp": "MCP", + "command.category.agent": "Agentur", + "command.category.permissions": "Loyvi", + "command.category.workspace": "Workspace", + "command.category.settings": "Innstillingar", + "command.logs.export": "Útflyt loggar", + "theme.scheme.system": "Skipan", + "theme.scheme.light": "Ljós", + "theme.scheme.dark": "Myrkt", + "command.sidebar.toggle": "Skift síðulinjuna", + "command.project.open": "Opin verkætlan", + "command.project.previous": "Fyrra verkætlan", + "command.project.next": "Næsta verkætlan", + "command.project.index": "Skift til verkætlan {{index}}", + "command.provider.connect": "Set samband við veitara", + "command.server.switch": "Skift ambætara", + "command.settings.open": "Opna innstillingar", + "command.session.previous": "Fyrra setan", + "command.session.next": "Næsta seta", + "command.session.previous.unseen": "Fyrra ólisna setan", + "command.session.next.unseen": "Næsta ólisna setan", + "command.session.archive": "Arkivløta", + "command.palette": "Skipanarpaletta", + "command.theme.cycle": "Súkklutema", + "command.theme.set": "Brúka tema: {{theme}}", + "command.theme.scheme.cycle": "Súkklu litskipan", + "command.theme.scheme.set": "Brúka litskipan: {{scheme}}", + "command.language.cycle": "Súkklumál", + "command.language.set": "Brúka mál: {{language}}", + "command.session.new": "Nýggj setan", + "command.file.open": "Opna fíluna", + "command.tab.close": "Lat flipan aftur", + "command.tab.reopenClosed": "Opna aftur stongdan flipan", + "command.context.addSelection": "Legg val til samanhang", + "command.context.addSelection.description": "Legg valdar linjur til frá verandi fílu", + "command.input.focus": "Fokus inntak", + "command.terminal.toggle": "Skift terminal", + "command.fileTree.toggle": "Skift fílutræ", + "command.review.toggle": "Skift ummæli", + "command.terminal.new": "Nýggj farstøð", + "command.terminal.new.description": "Stovna ein nýggjan terminalflipa", + "command.steps.toggle": "Skift stig", + "command.steps.toggle.description": "Vís ella goym stig til núverandi boð", + "command.message.previous": "Fyrra boð", + "command.message.previous.description": "Far til fyrru brúkaraboðini", + "command.message.next": "Næstu boð", + "command.message.next.description": "Far til næstu brúkaraboð", + "command.model.choose": "Vel modell", + "command.model.choose.description": "Vel eitt annað modell", + "command.mcp.toggle": "Skift MCPs", + "command.mcp.toggle.description": "Skift MCPs", + "command.agent.cycle": "Næsti agentur", + "command.agent.cycle.description": "Skift til næsta agent", + "command.agent.cycle.reverse": "Fyrri agentur", + "command.agent.cycle.reverse.description": "Skift til fyrra agent", + "command.model.variant.cycle": "Átak í súkkluhugsan", + "command.model.variant.cycle.description": "Skift til næsta átaksstig", + "command.prompt.mode.shell": "Shell", + "command.prompt.mode.normal": "Prompt", + "command.permissions.autoaccept.enable": "Sjálvvirkandi góðtaka loyvi", + "command.permissions.autoaccept.disable": "Steðga sjálvvirkandi góðkenning av loyvum", + "command.workspace.toggle": "Skift workspace", + "command.workspace.toggle.description": "Virkja ella sløkk fleiri workspace á síðulinjuni", + "command.session.undo": "Angra", + "command.session.undo.description": "Angra seinastu boðini", + "command.session.redo": "Endurtak", + "command.session.redo.description": "Ger seinastu ógjørt boðini aftur", + "command.session.compact": "Kompakt seta", + "command.session.compact.description": "Samanber setuna fyri at minka um samanhangsstøddina", + "command.session.fork": "Greina frá boðum", + "command.session.fork.description": "Stovna eina nýggja setu frá einum undanfarnum boði", + "command.session.share": "Deil setu", + "command.session.share.description": "Deil hesa setuna og kopiera URL á útklippiborðið", + "command.session.unshare": "Avdeila setu", + "command.session.unshare.description": "Lat vera við at deila hesa setuna", + "command.session.export": "Útflutningsløta", + "command.session.export.description": "Eksportera alt setuuppskriftið sum JSON", + "palette.search.placeholder": "Leita eftir fílum, skipanum og setum", + "palette.search.placeholder.home": "Leita skipanir og setur", + "palette.empty": "Eingi úrslit funnin", + "palette.group.commands": "Skipanir", + "palette.group.files": "Fílur", + "dialog.provider.search.placeholder": "Leita eftir veitarum", + "dialog.provider.empty": "Eingin veitari funnin", + "dialog.provider.group.popular": "Vælumtókt", + "dialog.provider.group.other": "Annað", + "dialog.provider.custom.label": "Sersniðgivin OpenAI-samsvarandi veitari", + "dialog.provider.tag.recommended": "Viðmælt", + "dialog.provider.opencode.note": "Kuraterað modell íroknað Claude, GPT, Gemini og fleiri", + "dialog.provider.opencode.tagline": "Álítandi optimerað modell", + "dialog.provider.opencodeGo.tagline": "Lágkostnaðarhald fyri øll", + "dialog.provider.anthropic.note": "Beinleiðis atgongd til Claude modellir, eisini Pro og Max .", + "dialog.provider.copilot.note": "AI modellir til koduhjálp umvegis GitHub Copilot", + "dialog.provider.openai.note": "GPT modellir til skjótar, førar almennar AI uppgávur", + "dialog.provider.google.note": "Gemini modellir til skjót, strukturerað svar", + "dialog.provider.openrouter.note": "Fá atgongd til øll stuðlað modell frá einum veitara", + "dialog.provider.vercel.note": "Samlað atgongd til AI-modell við snildum leiðingum", + "dialog.model.select.title": "Vel modell", + "dialog.model.search.placeholder": "Leitimodell", + "dialog.model.empty": "Eingi modellúrslit", + "dialog.model.manage": "Umsita modellir", + "dialog.model.manage.description": "Tillaga hvørji modell síggjast í modellveljaranum.", + "dialog.model.manage.provider.toggle": "Skift øll {{provider}} modellini", + "dialog.model.unpaid.freeModels.title": "Ókeypis modellir veitt av OpenCode", + "dialog.model.unpaid.addMore.title": "Legg fleiri modellir til frá vælumtóktum veitarum", + "dialog.model.unpaid.viewMoreProviders": "Sí 70+ fleiri veitarar", + "dialog.provider.viewAll": "Vís fleiri veitarar", + "provider.connect.title": "Samband {{provider}}", + "provider.connect.title.anthropicProMax": "Rita inn við Claude Pro/Max", + "provider.connect.selectMethod": "Vel innritanarhátt til {{provider}}.", + "provider.connect.method.apiKey": "API lykil", + "provider.connect.method.browser": "Kagari", + "provider.connect.method.headless": "Høvdleysur", + "provider.connect.status.inProgress": "Heimild í gongd...", + "provider.connect.status.waiting": "Bíða eftir heimild...", + "provider.connect.status.failed": "Heimild miseydnaðist: {{error}}", + "provider.connect.apiKey.description": + "Skriva {{provider}} API-lykilin fyri at knýta kontuna saman og brúka {{provider}}-modell í OpenCode.", + "provider.connect.apiKey.label": "{{provider}} API lykil", + "provider.connect.apiKey.placeholder": "API lykil", + "provider.connect.apiKey.required": "API lykilin er kravdur", + "provider.connect.opencodeZen.line1": + "OpenCode Zen gevur tær atgongd til eitt kuraterað sett av álítandi optimeraðum modellum til kodingaragentar.", + "provider.connect.opencodeZen.line2": + "Við einum API lykli fært tú atgongd til modellir sum Claude, GPT, Gemini, GLM og fleiri.", + "provider.connect.opencodeZen.visit.prefix": "Vitja ", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": " fyri at savna tín API lykil.", + "provider.connect.oauth.code.visit.prefix": "Vitja ", + "provider.connect.oauth.code.visit.link": "hesa leinkjuna", + "provider.connect.oauth.code.visit.suffix": + " at savna inn tína heimildarkotu til at knýta tína kontu saman og brúka {{provider}} modellir í OpenCode.", + "provider.connect.oauth.code.label": "{{method}} heimildarkoda", + "provider.connect.oauth.code.placeholder": "Heimildarkoda", + "provider.connect.oauth.code.required": "Heimildarkoda er kravd", + "provider.connect.oauth.code.invalid": "Ógyldug heimildarkoda", + "provider.connect.oauth.auto.visit.prefix": "Vitja ", + "provider.connect.oauth.auto.visit.link": "hesa leinkjuna", + "provider.connect.oauth.auto.visit.suffix": + " og skriva kotuna niðanfyri fyri at knýta tína kontu saman og brúka {{provider}} modellir í OpenCode.", + "provider.connect.oauth.auto.confirmationCode": "Staðfestingarkoda", + "provider.connect.toast.connected.title": "{{provider}} tengt", + "provider.connect.toast.connected.description": "{{provider}} modellir eru nú tøk at brúka.", + "provider.custom.title": "Sersniðgivin veitari", + "provider.custom.unavailable": "Sersniðgivnir veitarar eru ikki tøkir á hesum ambætaranum.", + "provider.custom.description.prefix": "Set upp ein OpenAI-samsvarandi veitara. Sí ", + "provider.custom.description.link": "veitara uppsetingarskjøl", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "Veitari ID", + "provider.custom.field.providerID.placeholder": "myprovider", + "provider.custom.field.providerID.description": "Smáir bókstavir, tøl, bindistrikur ella undirstrikur", + "provider.custom.field.name.label": "Sýnisnavn", + "provider.custom.field.name.placeholder": "Mín AI veitari", + "provider.custom.field.baseURL.label": "Grund URL", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "API lykil", + "provider.custom.field.apiKey.placeholder": "API lykil", + "provider.custom.field.apiKey.description": "Valfrítt. Lat vera tómt um tú umsitur auth umvegis yvirskriftir.", + "provider.custom.models.label": "Fyrimyndir", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "model-id", + "provider.custom.models.name.label": "Navn", + "provider.custom.models.name.placeholder": "Sýnisnavn", + "provider.custom.models.remove": "Strika modellið", + "provider.custom.models.add": "Legg modell til", + "provider.custom.headers.label": "Yvirskriftir (valfrítt)", + "provider.custom.headers.key.label": "Yvirskrift", + "provider.custom.headers.key.placeholder": "Header-Name", + "provider.custom.headers.value.label": "Virði", + "provider.custom.headers.value.placeholder": "value", + "provider.custom.headers.remove": "Strika yvirskriftina", + "provider.custom.headers.add": "Legg yvirskrift til", + "provider.custom.error.providerID.required": "Veitari ID er kravdur", + "provider.custom.error.providerID.format": "Brúka smáar bókstavir, tøl, bindistrikur ella undirstrikur", + "provider.custom.error.providerID.exists": "Tann veitarin ID er longu til", + "provider.custom.error.name.required": "Sýnisnavn er kravt", + "provider.custom.error.baseURL.required": "Grund URL er kravd", + "provider.custom.error.baseURL.format": "Skal byrja við http:// ella https://", + "provider.custom.error.required": "Kravt", + "provider.custom.error.duplicate": "Tvítøk", + "provider.disconnect.toast.disconnected.title": "{{provider}} slitið", + "provider.disconnect.toast.disconnected.description": "{{provider}} modellir eru ikki tøkir longur.", + "model.tag.free": "Ókeypis", + "model.tag.latest": "Nýggjasta", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "tekstur", + "model.input.image": "mynd", + "model.input.audio": "ljóð", + "model.input.video": "video", + "model.input.pdf": "pdf", + "model.tooltip.allows": "Loyvir: {{inputs}}", + "model.tooltip.context.label": "Samanhangur", + "model.tooltip.inputs": "Inntøkur", + "model.tooltip.model": "Fyrimynd", + "model.tooltip.provider": "Veitari", + "model.tooltip.reasoning": "Grundgeving", + "model.tooltip.reasoning.allowed": "Loyvir grundgeving", + "model.tooltip.reasoning.none": "Eingin grundgeving", + "model.tooltip.context": "Samanhangsmark {{limit}}", + "common.search.placeholder": "Leita", + "common.goBack": "Far aftur", + "common.goForward": "Far frameftir", + "common.loading": "Innlesing", + "common.loading.ellipsis": "...", + "common.cancel": "Avlýs", + "common.clear": "Klára", + "common.open": "Opið", + "common.connect": "Samband", + "common.disconnect": "Kopla sambandið frá", + "common.continue": "Halt fram", + "common.submit": "Send inn", + "common.save": "Goym", + "common.saving": "Spar...", + "common.default": "Forsett", + "common.attachment": "viðheft", + "prompt.placeholder.shell": "Skriva eina shell-skipan... {{example}}", + "prompt.placeholder.normal": 'Spyr nakað sum helst... "{{example}}"', + "prompt.placeholder.simple": "Spyr um alt...", + "prompt.placeholder.summarizeComments": "Samanber viðmerkingar...", + "prompt.placeholder.summarizeComment": "Samanfata viðmerking...", + "prompt.mode.shell": "Shell", + "prompt.mode.normal": "Prompt", + "prompt.mode.shell.exit": "esc at fara út", + "session.child.promptDisabled": "Subagent setur kunnu ikki biðjast um.", + "session.child.backToParent": "Aftur til høvuðsløtu.", + "prompt.example.1": "Rætta eitt TODO í kodugrundarlagnum", + "prompt.example.2": "Hvat er tøknistakkurin í hesi verkætlan?", + "prompt.example.3": "Rætta brotnar royndir", + "prompt.example.4": "Greið frá, hvussu sannroynd virkar", + "prompt.example.5": "Finn og rætta trygdarvandar", + "prompt.example.6": "Legg eindarroyndir til brúkaratænastuna", + "prompt.example.7": "Refaktorera hesa funku fyri at vera meira lesnaður", + "prompt.example.8": "Hvat merkir hesin feilurin?", + "prompt.example.9": "Hjálp mær at feilsøkja hetta málið", + "prompt.example.10": "Ger API skjøl", + "prompt.example.11": "Optimera dátugrunnsfyrispurningar", + "prompt.example.12": "Legg inntøkugóðkenning til", + "prompt.example.13": "Stovna ein nýggjan part til...", + "prompt.example.14": "Hvussu seti eg hesa verkætlanina í verk?", + "prompt.example.15": "Gjøgnumganga mína kodu fyri bestu siðvenjur", + "prompt.example.16": "Legg feilhandfaring til hesa funku", + "prompt.example.17": "Greið frá hesum regex mynstrinum", + "prompt.example.18": "Umrokna hetta til TypeScript", + "prompt.example.19": "Legg logging til í øllum kodugrundarlagnum", + "prompt.example.20": "Hvørji avhengi eru útgingin?", + "prompt.example.21": "Hjálp mær at skriva eitt flytingarrit", + "prompt.example.22": "Set í verk goymslu fyri hetta endapunktið", + "prompt.example.23": "Legg síðu til hendan listan", + "prompt.example.24": "Stovna eina CLI skipan til...", + "prompt.example.25": "Hvussu virka umhvørvisbreytir her?", + "prompt.popover.emptyResults": "Eingi samsvarandi úrslit", + "prompt.popover.emptyCommands": "Ongar samsvarandi skipanir", + "prompt.dropzone.label": "Slepp myndum, PDFs, ella tekstfílum her", + "prompt.dropzone.file.label": "Slepp til @nevna fíluna", + "prompt.slash.badge.custom": "sersniðgivið", + "prompt.slash.badge.skill": "førleiki", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "virkin", + "prompt.context.includeActiveFile": "Hav virkna fílu við", + "prompt.context.removeActiveFile": "Strika virkna fílu úr samanhangi", + "prompt.context.removeFile": "Strika fílu úr samanhangi", + "prompt.action.attachFile": "Legg fílur til", + "prompt.menu.addImagesAndFiles": "Legg fílur og annað til", + "prompt.menu.imagesAndFiles": "Myndir og fílur", + "prompt.menu.commands": "Skipanir", + "prompt.menu.context": "Samanhangur", + "prompt.menu.shellCommand": "Shell-skipan", + "prompt.attachment.remove": "Strika viðheftið", + "prompt.action.send": "Send", + "prompt.action.stop": "Steðga", + "prompt.toast.pasteUnsupported.title": "Óstuðlað viðhefti", + "prompt.toast.pasteUnsupported.description": "Bert myndir, PDFs, ella tekstfílur kunnu viðheftast her.", + "prompt.toast.attachmentDuplicate.title": "Hendan fílan er longu løgd upp.", + "prompt.toast.modelAgentRequired.title": "Vel agent og modell", + "prompt.toast.modelAgentRequired.description": "Vel agent og modell, áðrenn tú sendir ein prompt.", + "prompt.toast.worktreeCreateFailed.title": "Tað eydnaðist ikki at stovna Git worktree", + "prompt.toast.sessionCreateFailed.title": "Tað eydnaðist ikki at stovna setu", + "prompt.toast.shellSendFailed.title": "Tað eydnaðist ikki at senda shell-skipanina", + "prompt.toast.commandSendFailed.title": "Tað eydnaðist ikki at senda skipan", + "prompt.toast.promptSendFailed.title": "Tað eydnaðist ikki at senda boð", + "prompt.toast.promptSendFailed.description": "Ikki ber til at heinta setu", + "dialog.mcp.title": "MCP", + "dialog.mcp.description": "{{enabled}} av {{total}} virkið", + "dialog.mcp.empty": "Ongin MCP uppsettur", + "dialog.lsp.empty": "LSPs sjálvvirkandi uppdagað frá fílusløgum", + "dialog.plugins.empty": "Tilskot uppsett í opencode.json", + "mcp.status.connected": "tengt", + "mcp.status.failed": "miseydnaðist", + "mcp.status.needs_auth": "hevur brúk fyri auth", + "mcp.status.disabled": "óarbeiðsførur", + "mcp.auth.clickToAuthenticate": "Trýst fyri at vátta", + "dialog.fork.empty": "Eingi boð at greina frá", + "dialog.directory.search.placeholder": "Leita eftir mappum", + "dialog.directory.empty": "Ongar mappur eru funnar", + "dialog.directory.action.selectFile": "Vel fílu", + "dialog.directory.action.selectFolder": "Vel mappu", + "dialog.directory.root": "Rót", + "dialog.directory.parent": "Foreldur", + "dialog.directory.readError": "Tað ber ikki til at lesa hesa mappuna", + "app.server.unreachable": "Kundi ikki náa {{server}}.", + "app.server.retrying": "Roynir aftur sjálvvirkandi...", + "app.server.otherServers": "Aðrir ambætarar", + "dialog.server.title": "Ambætarar", + "dialog.server.description": "Skift hvønn OpenCode ambætara henda appin hevur samband við.", + "dialog.server.search.placeholder": "Leita eftir ambætarum", + "dialog.server.empty": "Ongar ambætarar enn", + "dialog.server.add.title": "Legg ambætara til", + "dialog.server.add.url": "Ambætaraadressa", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "Kundi ikki seta samband við ambætaran", + "dialog.server.add.checking": "Kanna...", + "dialog.server.add.button": "Legg ambætara til", + "dialog.server.add.name": "Ambætaranavn (valfrítt)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "Brúkaranavn (valfrítt)", + "dialog.server.add.usernamePlaceholder": "brúkaranavn", + "dialog.server.add.password": "Loyniorð (valfrítt)", + "dialog.server.add.passwordPlaceholder": "loyniorð", + "dialog.server.edit.title": "Rætta ambætara", + "dialog.server.default.title": "Forsettur ambætari", + "dialog.server.default.description": + "Set samband við hendan ambætaran tá appin verður sett í gongd ístaðin fyri at byrja ein lokalan ambætara. Krevur endurbyrjan.", + "dialog.server.default.none": "Eingin ambætari valdur", + "dialog.server.default.set": "Set núverandi ambætara sum forsett", + "dialog.server.default.clear": "Klára", + "dialog.server.action.remove": "Strika ambætara", + "dialog.server.menu.edit": "Rætta", + "dialog.server.menu.default": "Set sum forsett", + "dialog.server.menu.defaultRemove": "Strika forsett", + "dialog.server.menu.delete": "Strika", + "dialog.server.current": "Núverandi ambætari", + "dialog.server.status.default": "Forsett", + "wsl.server.add": "Legg WSL ambætara til", + "wsl.server.addShort": "Legg WSL til.", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "WSL ambætari", + "wsl.server.retryStart": "Royn aftur at byrja", + "wsl.server.updating": "Dagføring...", + "wsl.onboarding.step.distro": "Vel distro", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "Kanna WSL...", + "wsl.onboarding.restartRequired": "Windows hevur brúk fyri endurbyrjan fyri at klára at seta upp WSL.", + "wsl.onboarding.ready": "WSL er klárt.", + "wsl.onboarding.required": "WSL er kravt fyri at halda fram.", + "wsl.onboarding.checkingDistros": "Kanna útbreiðslur...", + "wsl.onboarding.installingDistro": "Seta upp {{distro}}...", + "wsl.onboarding.checkingDistro": "Kanna {{distro}}...", + "wsl.onboarding.listingDistros": "Skráseta útbreiðslur...", + "wsl.onboarding.distroReady": "{{distro}} er klárt.", + "wsl.onboarding.distroNotInstalled": "{{distro}} er ikki installerað enn.", + "wsl.onboarding.openDistroOnce": "Opna {{distro}} einaferð fyri at klára uppsetingina.", + "wsl.onboarding.finishingDistro": "Klára uppseting til {{distro}}.", + "wsl.onboarding.pickDistro": "Vel eina distro ella set eina upp niðanfyri.", + "wsl.onboarding.checkingOpencode": "Kanna OpenCode...", + "wsl.onboarding.checkingOpencodeIn": "Kanna OpenCode í {{distro}}...", + "wsl.onboarding.updatingOpencode": "Dagføring OpenCode...", + "wsl.onboarding.updatingOpencodeIn": "Dagføring OpenCode í {{distro}}...", + "wsl.onboarding.updateOpencodeIn": "Dagfør OpenCode í {{distro}}.", + "wsl.onboarding.updateOpencode": "Dagfør OpenCode", + "wsl.onboarding.opencodeReadyIn": "OpenCode er klárt í {{distro}}.", + "wsl.onboarding.opencodeReady": "OpenCode er klárt.", + "wsl.onboarding.installOpencodeIn": "Set OpenCode upp í {{distro}}.", + "wsl.onboarding.installOpencode": "Set upp OpenCode", + "wsl.onboarding.chooseDistroFirst": "Vel eina distro fyrst.", + "wsl.onboarding.loadFailed": "Tað eydnaðist ikki at heinta WSL tilstandin.", + "wsl.onboarding.loading": "Heinta...", + "wsl.onboarding.installedDistros": "Innsettar distros", + "wsl.onboarding.checkAgain": "Kanna aftur", + "wsl.onboarding.distroStatus.ready": "Klárt", + "wsl.onboarding.distroStatus.checking": "Kanna...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode ikki innstillað", + "wsl.onboarding.distroStatus.missingTools": "Manglar bash, curl", + "wsl.onboarding.distroStatus.unsupported": "Óstuðlað · Brúka WSL 2", + "wsl.onboarding.needAnotherDistro": "Tørvar tær eina aðra distro?", + "wsl.onboarding.needAnotherDistroHint": "Set upp Linux útbreiðslu frá WSL kataloginum", + "wsl.onboarding.wslNotInstalled.title": "WSL ikki innstillað", + "wsl.onboarding.wslNotInstalled.description": + "WSL (Windows Undirskipan til Linux) er kravd áðrenn OpenCode kann leggja ein WSL ambætara til", + "wsl.onboarding.wslUnavailable.title": "WSL ikki tøkt", + "wsl.onboarding.wslUnavailable.description": "OpenCode kundi ikki staðfesta WSL á hesi maskinuni.", + "wsl.onboarding.installWsl": "Set upp WSL", + "wsl.onboarding.windowsRestartRequired": + "Endurbyrja Windows fyri at klára at seta upp WSL, og opna síðani OpenCode aftur.", + "wsl.onboarding.next": "Næsta", + "wsl.onboarding.refresh": "Fríska upp", + "wsl.onboarding.allDistrosAdded": "Allar uppsettar distros eru longu lagdar afturat.", + "wsl.onboarding.noDistros": "Ongar útbreiðslur eru funnar enn.", + "wsl.onboarding.install": "Set upp", + "wsl.onboarding.installing": "Seta upp...", + "wsl.onboarding.installDistro": "Set distro upp", + "wsl.onboarding.searchDistros": "Leita eftir útbreiðslum", + "wsl.onboarding.wsl2Required": "WSL 2 er kravt.", + "wsl.onboarding.toolsRequired": "Hendan útbreiðslan hevur brúk fyri bash og curl.", + "wsl.onboarding.openTerminal": "Opna farstøð", + "wsl.onboarding.path": "Slóð: {{path}}", + "wsl.onboarding.notFound": "ikki funnið", + "wsl.onboarding.version": "Útgáva: {{version}}", + "wsl.onboarding.unknown": "ókent", + "wsl.onboarding.desktopVersion": "skriviborð {{version}}", + "wsl.onboarding.versionMismatch": "Innsetta útgávan passar ikki til skriviborðsappiútgávuna.", + "wsl.onboarding.adding": "Leggi til...", + "help.tabs.toast.ariaLabel": "Innleiðing av flikum. Skipa títt arbeiði og virknu setur við flikum", + "help.tabs.toast.dismiss": "Vís frá upplýsingum um fliparnar", + "help.tabs.title": "Innleiðing av flikum", + "help.tabs.description": "Skipa títt arbeiði og virknu setur við flikum", + "help.tabs.date": "14. juli Kl.", + "help.tabs.introduction": "OpenCode Skrivaraborð er nú bygt rundan um flikar.", + "help.tabs.sessions": + "Byrja eina nýggja setu í einum flipa, ella opna eina verandi setu frá nøkrum av tínum verkætlanum. Lat ein nýggjan flipa upp, tá tú byrjar okkurt nýtt, og lat hann aftur, tá tú ert liðugur.", + "help.tabs.organize": + "At hava nakrar fáar flikar opnar ger tað lættari at skipa tínar virknu setur. Umnevna fliparnar til okkurt minniligt, um tú ætlar at hava teir við.", + "help.tabs.home": + "Tú finnur allar setur og verkætlanir á nýggja heimaskíggjanum. Velur tú eina setu, verður hon latin upp í einum flipa.", + "help.tabs.persistence": "Tá tú letur appina upp aftur, eru tínir flikar enn opnir.", + "help.tabs.worktrees": + "Nýggja sniðið stuðlar ikki Git Worktrees enn, tað kemur skjótt. So um tú heldur vilt halda fram at brúka fyrru uppsetingina, kanst tú skifta millum uppsetingar í Innstillingum. Havi bara í huga, at nýggja uppsetingin verður varandi um nakrar vikur.", + "server.row.noUsername": "einki brúkaranavn", + "dialog.project.edit.title": "Rætta verkætlan", + "dialog.project.edit.name": "Navn", + "dialog.project.edit.icon": "Ikon", + "dialog.project.edit.icon.alt": "Verkætlanarmerki", + "dialog.project.edit.icon.hint": "Trýst ella drag eina mynd", + "dialog.project.edit.icon.recommended": "Viðmælt: 128x128px", + "dialog.project.edit.color": "Litur", + "dialog.project.edit.color.select": "Vel {{color}} lit", + "dialog.project.edit.worktree.startup": "Uppstartsrit fyri workspace", + "dialog.project.edit.worktree.startup.description": + "Koyrir eftir at hava stovnað eitt nýtt workspace (Git worktree).", + "dialog.project.edit.worktree.startup.placeholder": "t.d. bun install", + "dialog.releaseNotes.action.getStarted": "Kom í gongd", + "dialog.releaseNotes.action.next": "Næsta", + "dialog.releaseNotes.action.hideFuture": "Ikki vísa hesar í framtíðini", + "dialog.releaseNotes.media.alt": "Útgávu forskoðan", + "context.breakdown.title": "Samanhangsbýti", + "context.breakdown.note": 'Nærri sundurbýti av inntøkumerkjum. "Annað" fevnir um tóldefinitiónir og yvirskot.', + "context.breakdown.system": "Skipan", + "context.breakdown.user": "Brúkari", + "context.breakdown.assistant": "Hjálparfólk", + "context.breakdown.tool": "Tólkall", + "context.breakdown.other": "Annað", + "context.systemPrompt.title": "Skipanarboð", + "context.rawMessages.title": "Rá boð", + "context.export.session": "Útflutningsløta", + "context.stats.session": "Seta", + "context.stats.messages": "Boð", + "context.stats.provider": "Veitari", + "context.stats.model": "Fyrimynd", + "context.stats.limit": "Samanhangsmark", + "context.stats.totalTokens": "Samlað merki", + "context.stats.usage": "Nýtsla", + "context.stats.inputTokens": "Inntøkumerki", + "context.stats.outputTokens": "Útflutningsmerki", + "context.stats.reasoningTokens": "Grundgevingarmerki", + "context.stats.cacheTokens": "Cache-merki (les/skriva)", + "context.stats.userMessages": "Brúkaraboð", + "context.stats.assistantMessages": "Hjálparboð", + "context.stats.totalCost": "Samlaður kostnaður", + "context.stats.sessionCreated": "Setan er stovnað", + "context.stats.lastActivity": "Seinasta virksemi", + "context.usage.tokens": "Merki", + "context.usage.usage": "Nýtsla", + "context.usage.cost": "Kostnaður", + "context.usage.clickToView": "Trýst fyri at síggja samanhang", + "context.usage.view": "Vís samanhangsnýtslu", + "language.en": "Enskt", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Týskt", + "language.es": "Spanskt", + "language.fr": "Franskt", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "Pólski", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Norsk", + "language.br": "Portugisar (Brasil)", + "language.bs": "Bósanski", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Turkja", + "toast.language.title": "Mál", + "toast.language.description": "Skift til {{language}}", + "toast.theme.title": "Tema skift", + "toast.scheme.title": "Litskipan", + "toast.workspace.enabled.title": "Workspace virkin", + "toast.workspace.enabled.description": "Fleiri Git worktrees eru nú víst í síðulinjuni", + "toast.workspace.disabled.title": "Workspace sløkt", + "toast.workspace.disabled.description": "Bert høvuðs-Git-worktree er víst í síðulinjuni.", + "toast.permissions.autoaccept.on.title": "Sjálvvirkandi góðkenning av loyvum", + "toast.permissions.autoaccept.on.description": "Loyvisumbønir verða sjálvvirkandi góðkendar", + "toast.permissions.autoaccept.off.title": "Steðgað sjálvvirkandi góðkenning av loyvum", + "toast.permissions.autoaccept.off.description": "Loyvisumbønir krevja góðkenning.", + "toast.model.none.title": "Einki modell valt", + "toast.model.none.description": "Set samband við ein veitara fyri at taka saman um hesa setuna", + "toast.file.loadFailed.title": "Tað eydnaðist ikki at heinta fíluna", + "toast.file.listFailed.title": "Tað eydnaðist ikki at lista fílur", + "toast.context.noLineSelection.title": "Einki linjuval", + "toast.context.noLineSelection.description": "Vel eitt linjuøki í einum fíluflipa fyrst.", + "toast.session.share.copyFailed.title": "Tað eydnaðist ikki at avrita URL til klippiborð", + "toast.session.share.success.title": "Setan deild", + "toast.session.share.success.description": "Deil URL avritað á klippiborð!", + "toast.session.share.failed.title": "Tað eydnaðist ikki at deila setu", + "toast.session.share.failed.description": "Ein feilur hendi, meðan setan varð deild.", + "toast.session.unshare.success.title": "Setan ódeild", + "toast.session.unshare.success.description": "Setan ódeild eydnaðist!", + "toast.session.unshare.failed.title": "Tað eydnaðist ikki at avdeila setuna", + "toast.session.unshare.failed.description": "Ein feilur hendi, meðan setan varð avdeild.", + "toast.session.export.success.title": "Seta útflutt", + "toast.session.export.success.description": "Goymd seta til {{filename}}", + "toast.session.export.failed.title": "Tað eydnaðist ikki at útflyta setu", + "toast.session.export.failed.description": "Ein feilur hendi, meðan setan varð útflutt.", + "toast.session.listFailed.title": "Tað eydnaðist ikki at heinta setur fyri {{project}}", + "toast.project.reloadFailed.title": "Tað eydnaðist ikki at endurlesa {{project}}", + "toast.update.title": "Dagføring er tøk", + "toast.update.description": "Ein nýggj útgáva av OpenCode ({{version}}) er nú tøk at seta upp.", + "toast.update.action.installRestart": "Set upp og endurbyrja", + "toast.update.action.notYet": "Ikki enn", + "error.page.title": "Okkurt gekk galið", + "error.page.description": "Ein feilur hendi meðan forritið varð heintað.", + "error.page.description.localServerStartup": "Ein feilur hendi meðan tú byrjaði lokala ambætaran.", + "error.page.details.label": "Feilsmálutir", + "error.page.action.restart": "Endurbyrja", + "error.page.action.report": "Melda feil", + "error.page.action.reported": "Feilur fráboðaður", + "error.page.action.exportLogs": "Útflyt loggar", + "error.page.action.checking": "Kanna...", + "error.page.action.checkUpdates": "Kanna fyri dagføringum", + "error.page.action.updateTo": "Dagfør til {{version}}", + "error.page.circular": "[Rundskriv]", + "error.page.report.prefix": "Vinarliga melda hendan feilin til OpenCode toymið", + "error.page.report.discord": "á Discord", + "error.page.version": "Útgáva: {{version}}", + "error.dev.rootNotFound": + "Rótarevni ikki funnið. Gloymdi tú at leggja tað til títt index.html? Ella kanska fekk id eginleikin skeivt stavað?", + "error.serverSync.connectFailed": + "Kundi ikki seta samband við ambætaran. Er tað ein ambætari sum koyrir við `{{url}}`?", + "error.serverSDK.noServerAvailable": "Eingin ambætari tøkur", + "error.serverSDK.serverNotAvailable": "Ambætari ikki tøkur", + "error.childStore.persistedCacheCreateFailed": "Tað eydnaðist ikki at stovna varandi goymslu.", + "error.childStore.persistedProjectMetadataCreateFailed": "Tað eydnaðist ikki at stovna varandi verkætlanarmetadata", + "error.childStore.persistedProjectIconCreateFailed": "Tað eydnaðist ikki at stovna varandi verkætlanar-ikon", + "error.childStore.storeCreateFailed": "Tað eydnaðist ikki at stovna handil", + "directory.error.invalidUrl": "Ógyldug skrá í URL.", + "error.chain.unknown": "Ókendur feilur", + "error.server.invalidConfiguration": "Ógyldug uppseting", + "error.chain.causedBy": "Orsakað av:", + "error.chain.apiError": "API feilur", + "error.chain.status": "Støða: {{status}}", + "error.chain.retryable": "Endurroynandi: {{retryable}}", + "error.chain.responseBody": "Svarstovnur:\n{{body}}", + "error.chain.didYouMean": "Meinti tú: {{suggestions}}", + "error.chain.modelNotFound": "Fyrimynd ikki funnið: {{provider}}/{{model}}", + "error.chain.checkConfig": "Kanna tíni uppseting (opencode.json) veitara/modell nøvn", + "error.chain.mcpFailed": 'MCP ambætarin "{{name}}" miseydnaðist. Viðmæli, OpenCode stuðlar ikki MCP sannroynd enn.', + "error.chain.providerAuthFailed": "Veitaragóðkenning miseydnaðist ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + 'Tað eydnaðist ikki at initialisera veitara "{{provider}}". Kanna trúnaðarupplýsingar og uppseting.', + "error.chain.configJsonInvalid": "Uppsetingarfílan við {{path}} er ikki galdandi JSON(C)", + "error.chain.configJsonInvalidWithMessage": "Uppsetingarfílan við {{path}} er ikki galdandi JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + 'Skrá "{{dir}}" í {{path}} er ikki galdandi. Umnevna mappuna til "{{suggestion}}" ella strika hana. Hetta er eitt vanligt skrivifeil.', + "error.chain.configFrontmatterError": "Tað eydnaðist ikki at greina frontevnið í {{path}}:\n{{message}}", + "error.chain.configInvalid": "Uppsetingarfílan á {{path}} er ógyldug", + "error.chain.configInvalidWithMessage": "Uppsetingarfílan á {{path}} er ógyldug: {{message}}", + "notification.permission.title": "Loyvi krevst", + "notification.permission.description": "{{sessionTitle}} í {{projectName}} hevur brúk fyri loyvi", + "notification.question.title": "Spurningur", + "notification.question.description": "{{sessionTitle}} í {{projectName}} hevur ein spurning", + "notification.action.goToSession": "Far til setu", + "notification.session.responseReady.title": "Svar klárt", + "notification.session.error.title": "Setufeil", + "notification.session.error.fallbackDescription": "Ein feilur hendi.", + "home.recentProjects": "Nýggjari verkætlanir", + "home.empty.title": "Ongar nýggjari verkætlanir", + "home.empty.description": "Kom í gongd við at lata upp eina lokala verkætlan", + "home.title": "Heim", + "home.projects": "Verkætlanir", + "home.project.add": "Legg verkætlan til", + "home.recentlyClosed": "Nýliga stongt", + "home.server.collapse": "Kollaps ambætaraverkætlanir", + "home.server.expand": "Víðka ambætaraverkætlanir", + "home.sessions.search.placeholder": "Leitiløtur", + "home.sessions.search.placeholder.scoped": "Leita setur í {{scope}}", + "home.sessions.search.sessions": "Setur", + "home.sessions.search.noResults": "Ongar setur eru funnar fyri {{query}}", + "home.sessions.empty": "Einki her enn", + "home.sessions.empty.description": "Stovna eina setu fyri at koma í gongd", + "home.sessions.group.today": "Í dag", + "home.sessions.group.yesterday": "Í gjár", + "home.sessions.group.older": "Eldri", + "home.providerTip": + "Set teg í samband við 75+ veitarar fyri at brúka onnur modell, eitt nú Claude, GPT, Gemini, osfr.", + "session.tab.session": "Seta", + "session.tab.review": "Ummæli", + "session.tab.context": "Samanhangur", + "session.tab.unknown": "Ókend seta", + "session.panel.reviewAndFiles": "Ummæli og skráir", + "session.error.notFound": "Henda setan er ikki at finna", + "session.error.notFound.description": "Hesin flipin vísir á eina setu, sum ikki longur er til á hesum ambætaranum.", + "session.error.notFound.closeTab": "Lat flipan aftur", + "session.error.serverConnection": "Kann ikki seta samband við hendan ambætaran", + "session.review.filesChanged": "Fílur broyttar {{count}}", + "session.review.change.one": "Broyting", + "session.review.change.other": "Broytingar", + "session.review.loadingChanges": "Heinta broytingar...", + "session.review.empty": "Ongar broytingar í hesi setuni enn", + "session.review.noVcs": "Nei Git Útgávustýringarskipan er uppdagað, broytingar ikki vístar", + "session.review.noVcs.createGit.title": "Stovna eitt Git goymslustað", + "session.review.noVcs.createGit.description": "Fylg við, kanna og angra broytingar í hesi verkætlan", + "session.review.noVcs.createGit.actionLoading": "Stovna Git goymslu...", + "session.review.noVcs.createGit.action": "Stovna Git goymslu", + "session.review.noSnapshot": "Snapshot sporing er sløkt í config, so setubroytingar eru ikki tøkar", + "session.review.noChanges": "Ongar broytingar", + "session.review.noUncommittedChanges": "Ongar óbundnar broytingar enn", + "session.review.noBranchChanges": "Ongar greinarbroytingar enn", + "session.files.selectToOpen": "Vel eina fílu at lata upp", + "session.files.all": "Allar fílur", + "session.files.empty": "Ongar fílur", + "session.files.binaryContent": "Binær fíla (innihaldið kann ikki vísast)", + "session.messages.renderEarlier": "Vís fyrri boð", + "session.messages.loadingEarlier": "Heinta fyrri boð...", + "session.messages.loadEarlier": "Innlesa fyrri boð", + "session.messages.loading": "Heinta boð...", + "session.messages.jumpToLatest": "Hopp til nýggjasta", + "session.context.addToContext": "Legg {{selection}} til samanhang", + "session.todo.title": "Uppgávur", + "session.todo.collapse": "Kollaps", + "session.todo.expand": "Víðka", + "session.todo.progress": "{{done}} av {{total}} todos liðugt", + "session.question.progress": "{{current}} av {{total}} spurningum", + "session.question.minimize": "Minka um spurningin", + "session.question.restore": "Endurnýggja spurningin", + "session.question.pending.one": "{{count}} spurningur í bíðini", + "session.question.pending.other": "{{count}} bíðandi spurningar", + "session.followupDock.summary.one": "{{count}} bíðirøð boð", + "session.followupDock.summary.other": "{{count}} bíðirøð boð", + "session.followupDock.sendNow": "Send nú", + "session.followupDock.edit": "Rætta", + "session.followupDock.collapse": "Samla boð í bíðirøð", + "session.followupDock.expand": "Víðka boð í bíðirøð", + "session.revertDock.summary.one": "{{count}} rullað afturboð", + "session.revertDock.summary.other": "{{count}} rullað boð aftur", + "session.revertDock.collapse": "Kollaps afturrullað boð", + "session.revertDock.expand": "Víðka afturrullað boð", + "session.revertDock.restore": "Endurnýggja boð", + "session.new.title": "Bygg alt", + "session.new.project.new": "Nýggj verkætlan", + "session.new.project.search": "Leita verkætlanir", + "session.new.project.add": "Legg verkætlan til", + "session.new.worktree.main": "Høvuðsgrein", + "session.new.worktree.mainWithBranch": "Høvuðsgrein ({{branch}})", + "session.new.worktree.create": "Stovna nýtt Git worktree", + "session.new.workspace.runIn": "Koyr setu í", + "session.new.workspace.triggerLocal": "Lokal", + "session.new.workspace.local": "Lokal goymsla", + "session.new.workspace.existing": "Workspace...", + "session.new.git.none": "Nei Git", + "session.new.lastModified": "Seinast broytt", + "session.header.search.placeholder": "Leita {{project}}", + "session.header.searchFiles": "Leita eftir fílum", + "session.header.openIn": "Opið í", + "session.header.open.action": "Opna {{app}}", + "session.header.open.ariaLabel": "Opna í {{app}}", + "session.header.open.menu": "Opnar møguleikar", + "session.header.open.copyPath": "Avrita slóð", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "File Explorer", + "session.header.open.fileManager": "Fílustjóri", + "session.header.reveal.finder": "Avdúka í Finder", + "session.header.reveal.fileExplorer": "Avdúka í File Explorer", + "session.header.reveal.containingFolder": "Opna innihaldandi mappu", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Farstøð", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "Støða", + "status.popover.ariaLabel": "Ambætara uppsetingar", + "status.popover.tab.servers": "Ambætarar", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "Tilskot", + "status.popover.action.manageServers": "Umsita ambætarar", + "session.share.popover.title": "Útgeva á netinum", + "session.share.popover.description.shared": + "Henda setan er almenn á netinum. Tað er atkomiligt fyri øll, sum hava leinkjuna.", + "session.share.popover.description.unshared": + "Deil setu alment á netinum. Tað verður atkomiligt fyri øll, sum hava leinkjuna.", + "session.share.action.share": "Deil", + "session.share.action.publish": "Útgeva", + "session.share.action.publishing": "Útgáva...", + "session.share.action.unpublish": "Fráútgeva", + "session.share.action.unpublishing": "Avútgáva...", + "session.share.action.view": "Vís", + "session.share.copy.copied": "Avritað", + "session.share.copy.copyLink": "Avrita leinkju", + "lsp.tooltip.none": "Ongar LSP ambætarar", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "Heinta boð...", + "terminal.loading": "Innlesingarterminal...", + "terminal.title": "Farstøð", + "terminal.title.numbered": "Terminur {{number}}", + "terminal.close": "Lat terminalin aftur", + "terminal.connectionLost.title": "Sambandið er mist", + "terminal.connectionLost.abnormalClose": "WebSocket lukkað óvanliga: {{code}}", + "terminal.connectionLost.description": "Terminalsambandið varð avbrotið. Hetta kann henda tá ambætarin byrjar aftur.", + "terminal.connectTicket.csrfError": + "PTY binda atgongumerki vrakað av uppruna ella CSRF ávísingar. Kanna ambætaran CORS uppsetingina.", + "terminal.connectTicket.statusError": "PTY sambandsmiðilin miseydnaðist við {{status}}", + "titlebar.update": "Dagfør", + "titlebar.updateVersion": "Dagfør {{version}}", + "common.closeTab": "Lat flipan aftur", + "common.dismiss": "Loysa úr starvi", + "common.moreCountSuffix": " (+{{count}} fleiri)", + "common.requestFailed": "Umbønin miseydnaðist", + "common.moreOptions": "Fleiri møguleikar", + "common.learnMore": "Lær meira", + "common.rename": "Umnevna", + "common.export": "Útflutningur", + "common.reset": "Nullstilla", + "common.archive": "Arkiv", + "common.delete": "Strika", + "common.close": "Lat aftur", + "common.edit": "Rætta", + "common.loadMore": "Last meira inn", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "ókent", + "common.time.justNow": "Júst nú", + "common.time.minutesAgo.short": "{{count}}m síðan", + "common.time.hoursAgo.short": "Fyri {{count}}tímum síðan", + "common.time.daysAgo.short": "{{count}}d síðani", + "sidebar.menu.toggle": "Skift valmynd", + "sidebar.nav.projectsAndSessions": "Verkætlanir og setur", + "sidebar.settings": "Innstillingar", + "sidebar.help": "Hjálp", + "sidebar.workspaces.enable": "Virkja workspace", + "sidebar.workspaces.disable": "Slá workspace frá", + "sidebar.gettingStarted.title": "Kom í gongd", + "sidebar.gettingStarted.line1": "OpenCode inniheldur ókeypis modellir so tú kanst byrja beinanvegin.", + "sidebar.gettingStarted.line2": + "Set ein og hvønn veitara í samband við at brúka modellir, inc. Claude, GPT, Gemini o.s.fr.", + "sidebar.project.recentSessions": "Seinastu fundir", + "sidebar.project.viewAllSessions": "Vís allar setur", + "sidebar.project.clearNotifications": "Rudda fráboðanir", + "sidebar.empty.title": "Ongar verkætlanir lata upp", + "sidebar.empty.description": "Opna eina verkætlan fyri at koma í gongd", + "debugBar.ariaLabel": "Menningar avriksdiagnostikk", + "debugBar.na": "n/a", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "Seinast liðugt leiðsluskifti nertir við eina setu síðu, mált frá router byrjan til fyrstu málingina eftir at hon setur seg.", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "Rullandi rammur um sekundið seinastu 5 sekundini.", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "Ringasta rammutíð seinastu 5 sekundini.", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "Rammur yvir 32ms seinastu 5 sekundini.", + "debugBar.long.label": "LONG", + "debugBar.long.tip": "Blokerað tíð og lang-uppgávutelja seinastu 5 sekundini. Maks uppgáva: {{max}}.", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "Ringast eygleiðað input seinking seinastu 5 sekundini.", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": "Nærri samspælstíð seinastu 5 sekundini. Hetta er INP-líkt, ikki tey offisiellu vevvitals INP.", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "Samlað uppsetingarskifti fyri verandi app lívstíð.", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "Brúkt JS rúgva vs rúgvumark. Chromium einans.", + "debugBar.mem.tip": "Brúkt JS rúgva vs rúgvumark. {{used}} av {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Tvinga fokus stílar á øll samvirkin element", + "debugBar.focus.on": "Á", + "debugBar.focus.off": "SLÁKT", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Tvinga alla app-uppsetingina uttan at broyta valda málið", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode Skrivaraborð", + "settings.section.desktop": "Skrivaraborð", + "settings.section.server": "Ambætari", + "settings.tab.general": "Almenn", + "settings.tab.shortcuts": "Snarvegir", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "WSL samanlegging", + "settings.desktop.wsl.description": "Koyr OpenCode ambætaran inni í WSL á Windows.", + "settings.general.section.appearance": "Útsjónd", + "settings.general.section.advanced": "Framkomin", + "settings.general.section.notifications": "Skipanarfráboðanir", + "settings.general.section.updates": "Dagføringar", + "settings.general.section.sounds": "Ljóðeffektir", + "settings.general.section.feed": "Fóður", + "settings.general.section.display": "Sýn", + "settings.general.row.language.title": "Mál", + "settings.general.row.language.description": "Broyt sýnismálið fyri OpenCode", + "settings.general.row.shell.title": "Terminal-shell", + "settings.general.row.shell.description": "Shell, sum terminal- og agenttólini brúka", + "settings.general.row.shell.autoDefault": "Sjálvvirkandi (Standard)", + "settings.general.row.shell.terminalOnly": "bert farstøð", + "settings.general.row.appearance.title": "Útsjónd", + "settings.general.row.appearance.description": "Tillaga hvussu OpenCode sær út á tínari eind", + "settings.general.row.colorScheme.title": "Litskipan", + "settings.general.row.colorScheme.description": "Vel um OpenCode fylgir skipanini, ljósa ella myrka temanum", + "settings.general.row.theme.title": "Tema", + "settings.general.row.theme.description": "Tillaga hvussu OpenCode er tema.", + "settings.general.row.font.title": "Koda skriftslag", + "settings.general.row.font.description": "Tillaga skriftslagið, sum verður brúkt í kodublokkum", + "settings.general.row.terminalFont.title": "Terminalskriftslag", + "settings.general.row.terminalFont.description": "Tillaga skriftslagið, sum verður brúkt í terminalinum", + "settings.general.row.uiFont.title": "UI Skrift", + "settings.general.row.uiFont.description": "Tillaga skriftslagið, sum verður brúkt í øllum nýtsluflatanum", + "settings.general.row.followup.title": "Eftirfylgjandi atferð", + "settings.general.row.followup.description": "Vel um eftirfylgjandi boðini stýra beinanvegin ella bíða í bíðirøð", + "settings.general.row.followup.option.queue": "Bíðirøð", + "settings.general.row.followup.option.steer": "Stýr", + "settings.general.row.showFileTree.title": "Fílutræ", + "settings.general.row.showFileTree.description": "Vís fílutræpanelið í setum", + "settings.general.row.showNavigation.title": "Navigatiónsstýringar", + "settings.general.row.showNavigation.description": "Vís knøttarnar aftur og fram í tittulstrikuni á skriviborðinum", + "settings.general.row.showSearch.title": "Skipanarpaletta", + "settings.general.row.showSearch.description": "Vís leiti- og skipanarpalettknøttin í tittulstrikuni", + "settings.general.row.showTerminal.title": "Farstøð", + "settings.general.row.showTerminal.description": "Vís terminalknøttin í tittulstrikuni á skriviborðinum", + "settings.general.row.showStatus.title": "Ambætarastøða", + "settings.general.row.showStatus.description": "Vís ambætarastøðuknøttin í tittulstrikuni", + "settings.general.row.mobileTitlebarBottom.title": "Navigatión niðast", + "settings.general.row.mobileTitlebarBottom.description": + "Set tittullinjuna og setufliparnar niðast á skerminum á fartelefonini", + "settings.general.row.showCustomAgents.title": "Vís agentar", + "settings.general.row.showCustomAgents.description": + "Skift millum agentar í tónaskaldinum. Tá ið tað er fjalt, er tað forsett til Build agent.", + "settings.general.row.reasoningSummaries.title": "Vís grundgevingarsamantektir", + "settings.general.row.reasoningSummaries.description": "Vís modellgrundgevingarsamantektir í tíðarlinjuni", + "settings.general.row.shellToolPartsExpanded.title": "Víðka shell-tólpartar", + "settings.general.row.shellToolPartsExpanded.description": "Vís shell-tólpartar víðkaðar sum standard í tíðarlinjuni", + "settings.general.row.editToolPartsExpanded.title": "Víðka rætta tólpartar", + "settings.general.row.editToolPartsExpanded.description": + "Vís rætta, skriva og lappa tólpartar víðkaðir sum standard á tíðarlinjuni", + "settings.general.row.newInterface.title": "Nýggj uppseting", + "settings.general.row.newInterface.badge": "Nýtt", + "settings.general.row.newInterface.description": + "Brúka nýggju fliparnar og heimauppsetingina. Skift millum uppsetingar í eina avmarkaða tíð.", + "settings.general.row.newInterfaceNotice.title": "Tú brúkar nú nýggja uppseting", + "settings.general.row.newInterfaceNotice.description": "Fyrra uppsetingin er ikki tøk longur", + "settings.general.row.newInterfaceNotice.dismiss": "Loysa úr starvi", + "settings.general.row.pinchZoom.title": "Klíp fyri at zooma", + "settings.general.row.pinchZoom.description": "Loyva trackpad-klípi og Ctrl-rullubendingum at zooma", + "settings.general.row.wayland.title": "Brúka innfødd Wayland", + "settings.general.row.wayland.description": "Slá X11 afturgongd frá á Wayland. Krevur endurbyrjan.", + "settings.general.row.wayland.tooltip": + "Á Linux við blandaðum uppfrískingartíðarskjálvtum kann native Wayland vera meira støðugur.", + "settings.general.row.releaseNotes.title": "Útgávuviðmerkingar", + "settings.general.row.releaseNotes.description": "Vís Hvat er nýtt popups eftir dagføringar", + "settings.updates.row.startup.title": "Kanna fyri dagføringum um uppstart", + "settings.updates.row.startup.description": "Kanna sjálvvirkandi fyri dagføringum, tá OpenCode byrjar", + "settings.updates.row.check.title": "Kanna fyri dagføringum", + "settings.updates.row.check.description": "Kanna manuelt fyri dagføringum og set upp, um tær eru tøkar", + "settings.updates.action.checkNow": "Kanna nú", + "settings.updates.action.checking": "Kanna...", + "settings.updates.action.downloading": "Heinta...", + "settings.updates.action.installing": "Seta upp...", + "settings.updates.toast.latest.title": "Tú ert dagførdur", + "settings.updates.toast.latest.description": "Tú koyrir nýggjastu útgávuna av OpenCode.", + "sound.option.none": "Eingin", + "sound.option.alert01": "Ávaring 01", + "sound.option.alert02": "Ávaring 02", + "sound.option.alert03": "Ávaring 03", + "sound.option.alert04": "Ávaring 04", + "sound.option.alert05": "Ávaring 05", + "sound.option.alert06": "Ávaring 06", + "sound.option.alert07": "Ávaring 07", + "sound.option.alert08": "Ávaring 08", + "sound.option.alert09": "Ávaring 09", + "sound.option.alert10": "Ávaring 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bíp-bóp 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Heftbopar 01", + "sound.option.staplebops02": "Heftbopar 02", + "sound.option.staplebops03": "Heftbopar 03", + "sound.option.staplebops04": "Heftbopar 04", + "sound.option.staplebops05": "Heftbopar 05", + "sound.option.staplebops06": "Heftbopar 06", + "sound.option.staplebops07": "Heftbopar 07", + "sound.option.nope01": "Nei 01", + "sound.option.nope02": "Nei 02", + "sound.option.nope03": "Nei 03", + "sound.option.nope04": "Nei 04", + "sound.option.nope05": "Nei 05", + "sound.option.nope06": "Nei 06", + "sound.option.nope07": "Nei 07", + "sound.option.nope08": "Nei 08", + "sound.option.nope09": "Nei 09", + "sound.option.nope10": "Nei 10", + "sound.option.nope11": "Nei 11", + "sound.option.nope12": "Nei 12", + "sound.option.yup01": "Ja 01", + "sound.option.yup02": "Ja 02", + "sound.option.yup03": "Ja 03", + "sound.option.yup04": "Ja 04", + "sound.option.yup05": "Ja 05", + "sound.option.yup06": "Ja 06", + "settings.general.notifications.agent.title": "Agentur", + "settings.general.notifications.agent.description": + "Vís skipanarfráboðan, tá agenturin er liðugur ella hevur tørv á uppmerksemi", + "settings.general.notifications.permissions.title": "Loyvi", + "settings.general.notifications.permissions.description": "Vís skipanarfráboðan tá loyvi er kravt", + "settings.general.notifications.errors.title": "Feilir", + "settings.general.notifications.errors.description": "Vís skipanarfráboðan tá ein feilur hendir", + "settings.general.sounds.agent.title": "Agentur", + "settings.general.sounds.agent.description": "Spæl ljóð, tá agenturin er liðugur ella hevur brúk fyri uppmerksemi", + "settings.general.sounds.permissions.title": "Loyvi", + "settings.general.sounds.permissions.description": "Spæl ljóð, tá loyvi krevst", + "settings.general.sounds.errors.title": "Feilir", + "settings.general.sounds.errors.description": "Spæl ljóð, tá ein feilur hendir", + "settings.shortcuts.title": "Snartastatur", + "settings.shortcuts.reset.button": "Nullstilla til forsett", + "settings.shortcuts.reset.toast.title": "Snarvegir nullstilla", + "settings.shortcuts.reset.toast.description": "Snartastatur eru nullstillaðir til forsett.", + "settings.shortcuts.conflict.title": "Snarvegur longu í nýtslu", + "settings.shortcuts.conflict.description": "{{keybind}} er longu tilskilað {{titles}}.", + "settings.shortcuts.unassigned": "Ótilskilað", + "settings.shortcuts.pressKeys": "Trýst á knøttar", + "settings.shortcuts.search.placeholder": "Leita snarvegir", + "settings.shortcuts.search.empty": "Eingin snarvegur funnin", + "settings.shortcuts.group.general": "Almenn", + "settings.shortcuts.group.session": "Seta", + "settings.shortcuts.group.navigation": "Navigatión", + "settings.shortcuts.group.modelAndAgent": "Modell og agentur", + "settings.shortcuts.group.terminal": "Farstøð", + "settings.shortcuts.group.prompt": "Prompt", + "settings.providers.title": "Veitarar", + "settings.providers.description": "Veitarainnstillingar kunnu stillast her.", + "settings.providers.section.connected": "Sambandsveitarar", + "settings.providers.connected.empty": "Ongin tilknýttur veitari", + "settings.providers.connected.environmentDescription": "Samband frá tínum umhvørvisbreytum", + "settings.providers.section.popular": "Vælumtóktir veitarar", + "settings.providers.custom.description": "Legg ein OpenAI-sambæriligan veitara til eftir grund URL.", + "settings.providers.tag.environment": "Umhvørvi", + "settings.providers.tag.config": "Uppseting", + "settings.providers.tag.custom": "Sersniðgivið", + "settings.providers.tag.other": "Annað", + "settings.models.title": "Fyrimyndir", + "settings.models.description": "Model innstillingar verða stillaðar her.", + "settings.agents.title": "Agentar", + "settings.agents.description": "Agentinnstillingar verða stillaðar her.", + "settings.commands.title": "Skipanir", + "settings.commands.description": "Skipanarinnstillingar verða stillaðar her.", + "settings.mcp.title": "MCP", + "settings.mcp.description": "MCP innstillingar verða stillaðar her.", + "settings.permissions.title": "Loyvi", + "settings.permissions.description": "Stýr hvørji tól ambætarin kann brúka sum standard.", + "settings.permissions.section.tools": "Tól", + "settings.permissions.toast.updateFailed.title": "Tað eydnaðist ikki at dagføra loyvini", + "settings.permissions.action.allow": "Loyva", + "settings.permissions.action.ask": "Spyr", + "settings.permissions.action.deny": "Neita", + "settings.permissions.tool.read.title": "Les", + "settings.permissions.tool.read.description": "Lesa eina fílu (samsvarar við fíluslóðina)", + "settings.permissions.tool.edit.title": "Rætta", + "settings.permissions.tool.edit.description": "Broyt fílur, eisini rættingar, skrivingar og plástur", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "Samsvara fílur við at brúka glob mynstur", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "Leita í fíluinnihaldi við at brúka vanlig úttrykk", + "settings.permissions.tool.list.title": "Listi", + "settings.permissions.tool.list.description": "Lista fílur innan eina mappu", + "settings.permissions.tool.bash.title": "Bash", + "settings.permissions.tool.bash.description": "Koyr shell-skipanir", + "settings.permissions.tool.task.title": "Uppgáva", + "settings.permissions.tool.task.description": "Sjóset undiragentar", + "settings.permissions.tool.skill.title": "Dugnaskapur", + "settings.permissions.tool.skill.description": "Heinta ein førleika eftir navni", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "Koyr fyrispurningar um mál-ambætara", + "settings.permissions.tool.todowrite.title": "Todo Skriva", + "settings.permissions.tool.todowrite.description": "Dagfør uppgávulistan", + "settings.permissions.tool.webfetch.title": "Vevheinta", + "settings.permissions.tool.webfetch.description": "Heinta innihald frá einum URL", + "settings.permissions.tool.websearch.title": "Leitan á netinum", + "settings.permissions.tool.websearch.description": "Leita á netinum", + "settings.permissions.tool.external_directory.title": "Uttanhýsis skrá", + "settings.permissions.tool.external_directory.description": "Atgongd til fílur uttan fyri verkætlanarmappuna", + "settings.permissions.tool.doom_loop.title": "Doom lykkja", + "settings.permissions.tool.doom_loop.description": "Uppdaga endurtøkur av tólkalli við eins inntøkum", + "session.delete.failed.title": "Tað eydnaðist ikki at strika setu", + "session.delete.title": "Strika setu", + "session.delete.confirm": 'Strika setuna "{{name}}"?', + "session.delete.button": "Strika setu", + "workspace.new": "Nýtt workspace", + "workspace.type.local": "lokalt", + "workspace.type.sandbox": "sandkassi", + "workspace.create.failed.title": "Tað eydnaðist ikki at stovna workspace", + "workspace.delete.failed.title": "Tað eydnaðist ikki at strika workspace", + "workspace.resetting.title": "Nullstilla workspace", + "workspace.resetting.description": "Hetta kann taka ein minutt.", + "workspace.reset.failed.title": "Tað eydnaðist ikki at nullstilla workspace", + "workspace.reset.success.title": "Workspace nullstillað", + "workspace.reset.success.description": "Workspace passar nú til forsettu greinina.", + "workspace.error.stillPreparing": "Workspace verður enn fyrireikað", + "workspace.status.checking": "Kanna fyri ósamanlagdum broytingum...", + "workspace.status.error": "Ikki ber til at staðfesta git-støðuna.", + "workspace.status.clean": "Ongar ósamanlagdar broytingar eru funnar.", + "workspace.status.dirty": "Ósamanlagdar broytingar funnar í hesum workspace.", + "workspace.delete.title": "Strika workspace", + "workspace.delete.confirm": 'Strika workspace "{{name}}"?', + "workspace.delete.button": "Strika workspace", + "workspace.reset.title": "Nullstilla workspace", + "workspace.reset.confirm": 'Nullstilla workspace "{{name}}"?', + "workspace.reset.button": "Nullstilla workspace", + "workspace.reset.archived.none": "Ongar virknar setur verða arkiveraðar.", + "workspace.reset.archived.one": "1 setan verður arkiverað.", + "workspace.reset.archived.many": "{{count}} setur verða arkiveraðar.", + "workspace.reset.note": "Hetta nullstillar workspace til at passa til forsettu greinina.", + "dialog.usageExceeded.dontShowAgain": "Vís ikki aftur", +} diff --git a/packages/app/src/i18n/fr.ts b/packages/app/src/i18n/fr.ts index fc5c5bbb346f..3c89860a4490 100644 --- a/packages/app/src/i18n/fr.ts +++ b/packages/app/src/i18n/fr.ts @@ -1,4 +1,104 @@ export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Fichier", + "desktop.menu.edit": "Édition", + "desktop.menu.view": "Affichage", + "desktop.menu.go": "Aller", + "desktop.menu.window": "Fenêtre", + "desktop.menu.help": "Aide", + "desktop.menu.checkForUpdates": "Rechercher les mises à jour...", + "desktop.menu.settings": "Paramètres", + "desktop.menu.reloadWebview": "Recharger la vue Web", + "desktop.menu.restart": "Redémarrer", + "desktop.menu.exportLogs": "Exporter les journaux...", + "desktop.menu.newSession": "Nouvelle session", + "desktop.menu.openProject": "Ouvrir un projet...", + "desktop.menu.newWindow": "Nouvelle fenêtre", + "desktop.menu.closeWindow": "Fermer la fenêtre", + "desktop.menu.undo": "Annuler", + "desktop.menu.redo": "Rétablir", + "desktop.menu.cut": "Couper", + "desktop.menu.copy": "Copier", + "desktop.menu.paste": "Coller", + "desktop.menu.delete": "Supprimer", + "desktop.menu.selectAll": "Tout sélectionner", + "desktop.menu.toggleSidebar": "Afficher ou masquer la barre latérale", + "desktop.menu.toggleTerminal": "Afficher ou masquer le terminal", + "desktop.menu.toggleFileTree": "Afficher ou masquer l'arborescence des fichiers", + "desktop.menu.reload": "Recharger", + "desktop.menu.toggleDeveloperTools": "Afficher ou masquer les outils de développement", + "desktop.menu.actualSize": "Taille réelle", + "desktop.menu.zoomIn": "Zoom avant", + "desktop.menu.zoomOut": "Zoom arrière", + "desktop.menu.toggleFullScreen": "Activer ou désactiver le mode plein écran", + "desktop.menu.back": "Précédent", + "desktop.menu.forward": "Suivant", + "desktop.menu.previousSession": "Session précédente", + "desktop.menu.nextSession": "Session suivante", + "desktop.menu.previousProject": "Projet précédent", + "desktop.menu.nextProject": "Projet suivant", + "desktop.menu.minimize": "Réduire", + "desktop.menu.maximize": "Agrandir", + "desktop.menu.documentation": "Documentation d'OpenCode", + "desktop.menu.supportForum": "Forum d'assistance", + "desktop.menu.shareFeedback": "Envoyer des commentaires", + "desktop.menu.reportBug": "Signaler un bogue", + "desktop.menu.ariaLabel": "Menu OpenCode", + + "desktop.updater.dialog.checkFailed.message": "La recherche de mises à jour a échoué.", + "desktop.updater.dialog.checkFailed.title": "Erreur de mise à jour", + "desktop.updater.dialog.upToDate.message": "Vous êtes à jour.", + "desktop.updater.dialog.upToDate.title": "Aucune mise à jour", + "desktop.updater.dialog.ready.message": "La mise à jour {{version}} a été téléchargée. Redémarrer maintenant ?", + "desktop.updater.dialog.ready.title": "Mise à jour prête", + "desktop.updater.dialog.restart": "Redémarrer", + "desktop.updater.dialog.later": "Plus tard", + + "desktop.recovery.action.relaunch": "Relancer", + "desktop.recovery.action.exportLogs": "Exporter les journaux", + "desktop.recovery.action.keepWaiting": "Continuer d'attendre", + "desktop.recovery.action.quit": "Quitter", + "desktop.recovery.loadFailed": "Échec du chargement d'OpenCode", + "desktop.recovery.terminated": "La fenêtre OpenCode s'est arrêtée de manière inattendue", + "desktop.recovery.unresponsive": "OpenCode ne répond pas", + "desktop.recovery.unresponsive.detail": + "Vous pouvez relancer l'application, ouvrir les journaux ou continuer d'attendre.", + "desktop.recovery.loadFailed.detail": "Fenêtre : {{window}}\nURL : {{url}}\nErreur : {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Fenêtre : {{window}}\nMotif : {{reason}}\nCode : {{code}}", + "desktop.recovery.unknown": "", + + "desktop.dialog.chooseFolder": "Sélectionner un dossier", + "desktop.dialog.chooseFile": "Sélectionner un fichier", + "desktop.dialog.saveFile": "Enregistrer le fichier", + "desktop.dialog.files": "Fichiers", + "desktop.server.local": "Serveur local", + + "desktop.wsl.error.windowsOnly": "WSL est disponible uniquement sous Windows", + "desktop.wsl.error.unavailable": "WSL est indisponible", + "desktop.wsl.error.listInstalled": "Impossible de répertorier les distributions WSL installées", + "desktop.wsl.error.listOnline": "Impossible de répertorier les distributions WSL en ligne", + "desktop.wsl.error.executeDistro": "Impossible d'exécuter des commandes dans la distribution", + "desktop.wsl.error.installWsl": "Échec de l'installation de WSL", + "desktop.wsl.error.installDistro": "Échec de l'installation de la distribution : {{distro}}", + "desktop.wsl.error.installOpencode": "Échec de l'installation d'OpenCode", + "desktop.wsl.error.alreadyAdded": "{{distro}} a déjà été ajoutée", + "desktop.wsl.error.opencodeMissing": "opencode n'est pas installé dans cette distribution", + "desktop.wsl.error.opencodeCannotRun": "opencode est installé, mais n'a pas pu s'exécuter", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode n'est pas installé dans {{distro}}", + "desktop.wsl.error.updateVersion": + "La mise à jour d'OpenCode est terminée, mais {{distro}} indique toujours {{installed}} au lieu de {{expected}}", + "desktop.wsl.error.noVersion": "aucune version", + "desktop.wsl.error.serverExited": "Le serveur WSL s'est arrêté après son démarrage (code={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "Le serveur WSL s'est arrêté avant d'être opérationnel (code={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": + "La vérification de l'état du processus auxiliaire pour {{distro}} a dépassé le délai de {{timeout}} ms", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} a dépassé le délai de {{timeout}} ms", + "desktop.wsl.error.failedPort": "Impossible d'obtenir le port", + + "desktop.picker.error.notSelected": "Aucun fichier n'a été sélectionné dans le sélecteur", + "desktop.picker.error.sizeLimit": "Les pièces jointes sélectionnées dépassent la limite de {{limit}} Mo", + "command.category.suggested": "Suggéré", "command.category.view": "Affichage", "command.category.project": "Projet", @@ -16,6 +116,7 @@ export const dict = { "command.category.permissions": "Permissions", "command.category.workspace": "Espace de travail", "command.category.settings": "Paramètres", + "command.logs.export": "Exporter les journaux", "theme.scheme.system": "Système", "theme.scheme.light": "Clair", "theme.scheme.dark": "Sombre", @@ -29,8 +130,8 @@ export const dict = { "command.settings.open": "Ouvrir les paramètres", "command.session.previous": "Session précédente", "command.session.next": "Session suivante", - "command.session.previous.unseen": "Session non lue précédente", - "command.session.next.unseen": "Session non lue suivante", + "command.session.previous.unseen": "Session précédente non lue", + "command.session.next.unseen": "Session suivante non lue", "command.session.archive": "Archiver la session", "command.palette": "Palette de commandes", "command.theme.cycle": "Changer de thème", @@ -45,7 +146,7 @@ export const dict = { "command.tab.reopenClosed": "Rouvrir l'onglet fermé", "command.context.addSelection": "Ajouter la sélection au contexte", "command.context.addSelection.description": "Ajouter les lignes sélectionnées du fichier actuel", - "command.input.focus": "Focus sur l'entrée", + "command.input.focus": "Activer la zone de saisie", "command.terminal.toggle": "Basculer le terminal", "command.fileTree.toggle": "Basculer l'arborescence des fichiers", "command.review.toggle": "Basculer la revue", @@ -59,8 +160,8 @@ export const dict = { "command.message.next.description": "Aller au message utilisateur suivant", "command.model.choose": "Choisir le modèle", "command.model.choose.description": "Sélectionner un modèle différent", - "command.mcp.toggle": "Basculer MCP", - "command.mcp.toggle.description": "Basculer les MCPs", + "command.mcp.toggle": "Activer ou désactiver les MCP", + "command.mcp.toggle.description": "Activer ou désactiver les MCP", "command.agent.cycle": "Changer d'agent", "command.agent.cycle.description": "Passer à l'agent suivant", "command.agent.cycle.reverse": "Changer d'agent (inverse)", @@ -68,7 +169,7 @@ export const dict = { "command.model.variant.cycle": "Changer l'effort de réflexion", "command.model.variant.cycle.description": "Passer au niveau d'effort suivant", "command.prompt.mode.shell": "Shell", - "command.prompt.mode.normal": "Prompt", + "command.prompt.mode.normal": "Invite", "command.permissions.autoaccept.enable": "Accepter automatiquement les permissions", "command.permissions.autoaccept.disable": "Arrêter d'accepter automatiquement les permissions", "command.workspace.toggle": "Basculer les espaces de travail", @@ -85,6 +186,9 @@ export const dict = { "command.session.share.description": "Partager cette session et copier l'URL dans le presse-papiers", "command.session.unshare": "Ne plus partager la session", "command.session.unshare.description": "Arrêter de partager cette session", + "command.session.export": "Exporter la session", + "command.session.export.description": "Exporter la transcription intégrale de la session au format JSON", + "palette.search.placeholder": "Rechercher des fichiers, des commandes et des sessions", "palette.search.placeholder.home": "Rechercher des commandes et des sessions", "palette.empty": "Aucun résultat trouvé", @@ -92,8 +196,9 @@ export const dict = { "palette.group.files": "Fichiers", "dialog.provider.search.placeholder": "Rechercher des fournisseurs", "dialog.provider.empty": "Aucun fournisseur trouvé", - "dialog.provider.group.popular": "Populaire", - "dialog.provider.group.other": "Autre", + "dialog.provider.group.popular": "Populaires", + "dialog.provider.group.other": "Autres", + "dialog.provider.custom.label": "Fournisseur personnalisé compatible avec OpenAI", "dialog.provider.tag.recommended": "Recommandé", "dialog.provider.opencode.note": "Modèles sélectionnés incluant Claude, GPT, Gemini et plus", "dialog.provider.opencode.tagline": "Modèles optimisés et fiables", @@ -109,14 +214,17 @@ export const dict = { "dialog.model.empty": "Aucun résultat de modèle", "dialog.model.manage": "Gérer les modèles", "dialog.model.manage.description": "Personnalisez les modèles qui apparaissent dans le sélecteur.", - "dialog.model.manage.provider.toggle": "Basculer tous les modèles {{provider}}", + "dialog.model.manage.provider.toggle": "Activer ou désactiver tous les modèles {{provider}}", "dialog.model.unpaid.freeModels.title": "Modèles gratuits fournis par OpenCode", "dialog.model.unpaid.addMore.title": "Ajouter plus de modèles de fournisseurs populaires", + "dialog.model.unpaid.viewMoreProviders": "Voir plus de 70 autres fournisseurs", "dialog.provider.viewAll": "Voir plus de fournisseurs", "provider.connect.title": "Connecter {{provider}}", "provider.connect.title.anthropicProMax": "Connexion avec Claude Pro/Max", "provider.connect.selectMethod": "Sélectionnez la méthode de connexion pour {{provider}}.", "provider.connect.method.apiKey": "Clé API", + "provider.connect.method.browser": "Navigateur", + "provider.connect.method.headless": "Mode headless", "provider.connect.status.inProgress": "Autorisation en cours...", "provider.connect.status.waiting": "En attente d'autorisation...", "provider.connect.status.failed": "Échec de l'autorisation : {{error}}", @@ -148,19 +256,22 @@ export const dict = { "provider.connect.toast.connected.title": "{{provider}} connecté", "provider.connect.toast.connected.description": "Les modèles {{provider}} sont maintenant disponibles.", "provider.custom.title": "Fournisseur personnalisé", - "provider.custom.description.prefix": "Configurer un fournisseur compatible OpenAI. Voir la ", - "provider.custom.description.link": "doc de config fournisseur", + "provider.custom.unavailable": "Les fournisseurs personnalisés ne sont pas disponibles sur ce serveur", + "provider.custom.description.prefix": "Configurez un fournisseur compatible avec OpenAI. Consultez la ", + "provider.custom.description.link": "documentation sur la configuration des fournisseurs", "provider.custom.description.suffix": ".", "provider.custom.field.providerID.label": "ID du fournisseur", "provider.custom.field.providerID.placeholder": "monfournisseur", - "provider.custom.field.providerID.description": "Lettres minuscules, chiffres, traits d'union ou tirets bas", + "provider.custom.field.providerID.description": + "Lettres minuscules, chiffres, traits d'union ou traits de soulignement", "provider.custom.field.name.label": "Nom d'affichage", "provider.custom.field.name.placeholder": "Mon fournisseur IA", "provider.custom.field.baseURL.label": "URL de base", "provider.custom.field.baseURL.placeholder": "https://api.monfournisseur.com/v1", "provider.custom.field.apiKey.label": "Clé API", "provider.custom.field.apiKey.placeholder": "Clé API", - "provider.custom.field.apiKey.description": "Optionnel. Laisser vide si vous gérez l'auth via les en-têtes.", + "provider.custom.field.apiKey.description": + "Facultatif. Laissez ce champ vide si vous gérez l'authentification au moyen des en-têtes.", "provider.custom.models.label": "Modèles", "provider.custom.models.id.label": "ID", "provider.custom.models.id.placeholder": "id-modele", @@ -176,7 +287,8 @@ export const dict = { "provider.custom.headers.remove": "Supprimer l'en-tête", "provider.custom.headers.add": "Ajouter un en-tête", "provider.custom.error.providerID.required": "L'ID du fournisseur est requis", - "provider.custom.error.providerID.format": "Utilisez des lettres minuscules, chiffres, traits d'union ou tirets bas", + "provider.custom.error.providerID.format": + "Utilisez des lettres minuscules, des chiffres, des traits d'union ou des traits de soulignement", "provider.custom.error.providerID.exists": "Cet ID de fournisseur existe déjà", "provider.custom.error.name.required": "Le nom d'affichage est requis", "provider.custom.error.baseURL.required": "L'URL de base est requise", @@ -186,7 +298,7 @@ export const dict = { "provider.disconnect.toast.disconnected.title": "{{provider}} déconnecté", "provider.disconnect.toast.disconnected.description": "Les modèles {{provider}} ne sont plus disponibles.", "model.tag.free": "Gratuit", - "model.tag.latest": "Dernier", + "model.tag.latest": "Le plus récent", "model.provider.anthropic": "Anthropic", "model.provider.openai": "OpenAI", "model.provider.google": "Google", @@ -197,29 +309,29 @@ export const dict = { "model.input.audio": "audio", "model.input.video": "vidéo", "model.input.pdf": "pdf", - "model.tooltip.allows": "Autorise : {{inputs}}", + "model.tooltip.allows": "Formats pris en charge : {{inputs}}", "model.tooltip.context.label": "Contexte", "model.tooltip.inputs": "Entrées", "model.tooltip.model": "Modèle", "model.tooltip.provider": "Fournisseur", "model.tooltip.reasoning": "Raisonnement", - "model.tooltip.reasoning.allowed": "Autorise le raisonnement", + "model.tooltip.reasoning.allowed": "Raisonnement pris en charge", "model.tooltip.reasoning.none": "Sans raisonnement", "model.tooltip.context": "Limite de contexte {{limit}}", "common.search.placeholder": "Rechercher", "common.goBack": "Retour", - "common.goForward": "Avancer", + "common.goForward": "Suivant", "common.loading": "Chargement", "common.loading.ellipsis": "...", "common.cancel": "Annuler", "common.clear": "Effacer", "common.connect": "Connecter", "common.disconnect": "Déconnecter", - "common.continue": "Soumettre", + "common.continue": "Continuer", "common.submit": "Soumettre", "common.save": "Enregistrer", "common.saving": "Enregistrement...", - "common.default": "Défaut", + "common.default": "Par défaut", "common.attachment": "pièce jointe", "prompt.placeholder.shell": "Entrez une commande shell... {{example}}", "prompt.placeholder.normal": 'Demandez n\'importe quoi... "{{example}}"', @@ -227,8 +339,8 @@ export const dict = { "prompt.placeholder.summarizeComments": "Résumer les commentaires…", "prompt.placeholder.summarizeComment": "Résumer le commentaire…", "prompt.mode.shell": "Shell", - "prompt.mode.normal": "Prompt", - "prompt.mode.shell.exit": "esc pour quitter", + "prompt.mode.normal": "Invite", + "prompt.mode.shell.exit": "Échap pour quitter", "session.child.promptDisabled": "Les sessions de sous-agents ne peuvent pas recevoir de messages.", "session.child.backToParent": "Revenir à la session principale.", "prompt.example.1": "Corriger un TODO dans la base de code", @@ -237,7 +349,7 @@ export const dict = { "prompt.example.4": "Expliquer comment fonctionne l'authentification", "prompt.example.5": "Trouver et corriger les vulnérabilités de sécurité", "prompt.example.6": "Ajouter des tests unitaires pour le service utilisateur", - "prompt.example.7": "Refactoriser cette fonction pour être plus lisible", + "prompt.example.7": "Refactoriser cette fonction pour la rendre plus lisible", "prompt.example.8": "Que signifie cette erreur ?", "prompt.example.9": "Aidez-moi à déboguer ce problème", "prompt.example.10": "Générer la documentation de l'API", @@ -245,11 +357,11 @@ export const dict = { "prompt.example.12": "Ajouter une validation d'entrée", "prompt.example.13": "Créer un nouveau composant pour...", "prompt.example.14": "Comment déployer ce projet ?", - "prompt.example.15": "Vérifier mon code pour les meilleures pratiques", + "prompt.example.15": "Vérifier que mon code respecte les bonnes pratiques", "prompt.example.16": "Ajouter la gestion des erreurs à cette fonction", - "prompt.example.17": "Expliquer ce modèle regex", + "prompt.example.17": "Expliquer cette expression régulière", "prompt.example.18": "Convertir ceci en TypeScript", - "prompt.example.19": "Ajouter des logs dans toute la base de code", + "prompt.example.19": "Ajouter une journalisation dans toute la base de code", "prompt.example.20": "Quelles dépendances sont obsolètes ?", "prompt.example.21": "Aidez-moi à écrire un script de migration", "prompt.example.22": "Implémenter la mise en cache pour ce point de terminaison", @@ -261,7 +373,7 @@ export const dict = { "prompt.dropzone.label": "Déposez des images, des PDF ou des fichiers texte ici", "prompt.dropzone.file.label": "Déposez pour @mentionner le fichier", "prompt.slash.badge.custom": "personnalisé", - "prompt.slash.badge.skill": "skill", + "prompt.slash.badge.skill": "compétence", "prompt.slash.badge.mcp": "mcp", "prompt.context.active": "actif", "prompt.context.includeActiveFile": "Inclure le fichier actif", @@ -281,21 +393,21 @@ export const dict = { "prompt.toast.pasteUnsupported.description": "Seules les images, les PDF ou les fichiers texte peuvent être joints ici.", "prompt.toast.modelAgentRequired.title": "Sélectionnez un agent et un modèle", - "prompt.toast.modelAgentRequired.description": "Choisissez un agent et un modèle avant d'envoyer un message.", + "prompt.toast.modelAgentRequired.description": "Choisissez un agent et un modèle avant d'envoyer une invite.", "prompt.toast.worktreeCreateFailed.title": "Échec de la création de l'arbre de travail", "prompt.toast.sessionCreateFailed.title": "Échec de la création de la session", "prompt.toast.shellSendFailed.title": "Échec de l'envoi de la commande shell", "prompt.toast.commandSendFailed.title": "Échec de l'envoi de la commande", - "prompt.toast.promptSendFailed.title": "Échec de l'envoi du message", + "prompt.toast.promptSendFailed.title": "Échec de l'envoi de l'invite", "prompt.toast.promptSendFailed.description": "Impossible de récupérer la session", - "dialog.mcp.title": "MCPs", - "dialog.mcp.description": "{{enabled}} sur {{total}} activés", + "dialog.mcp.title": "MCP", + "dialog.mcp.description": "MCP actifs : {{enabled}} sur {{total}}", "dialog.mcp.empty": "Aucun MCP configuré", - "dialog.lsp.empty": "LSPs détectés automatiquement par type de fichier", - "dialog.plugins.empty": "Plugins configurés dans opencode.json", + "dialog.lsp.empty": "Serveurs LSP détectés automatiquement selon le type de fichier", + "dialog.plugins.empty": "Extensions configurées dans opencode.json", "mcp.status.connected": "connecté", - "mcp.status.failed": "échoué", - "mcp.status.needs_auth": "nécessite auth", + "mcp.status.failed": "en échec", + "mcp.status.needs_auth": "authentification requise", "mcp.auth.clickToAuthenticate": "Cliquez pour vous authentifier", "mcp.status.disabled": "désactivé", "dialog.fork.empty": "Aucun message à partir duquel bifurquer", @@ -330,7 +442,7 @@ export const dict = { "dialog.server.action.remove": "Supprimer le serveur", "dialog.server.menu.edit": "Modifier", "dialog.server.menu.default": "Définir par défaut", - "dialog.server.menu.defaultRemove": "Supprimer par défaut", + "dialog.server.menu.defaultRemove": "Ne plus utiliser par défaut", "dialog.server.menu.delete": "Supprimer", "dialog.server.current": "Serveur actuel", "dialog.server.status.default": "Défaut", @@ -400,9 +512,25 @@ export const dict = { "wsl.onboarding.notFound": "introuvable", "wsl.onboarding.version": "Version : {{version}}", "wsl.onboarding.unknown": "inconnue", - "wsl.onboarding.desktopVersion": "desktop {{version}}", - "wsl.onboarding.versionMismatch": "La version installée ne correspond pas à celle de l'application desktop.", + "wsl.onboarding.desktopVersion": "application de bureau {{version}}", + "wsl.onboarding.versionMismatch": "La version installée ne correspond pas à celle de l'application de bureau.", "wsl.onboarding.adding": "Ajout...", + "help.tabs.toast.ariaLabel": + "Présentation des onglets. Organisez votre travail et vos sessions actives à l'aide d'onglets", + "help.tabs.toast.dismiss": "Ignorer les informations sur les onglets", + "help.tabs.title": "Présentation des onglets", + "help.tabs.description": "Organisez votre travail et vos sessions actives à l'aide d'onglets", + "help.tabs.date": "14 juillet", + "help.tabs.introduction": "OpenCode Desktop s'articule désormais autour d'onglets.", + "help.tabs.sessions": + "Démarrez une nouvelle session dans un onglet ou ouvrez une session existante depuis l'un de vos projets. Ouvrez un nouvel onglet lorsque vous commencez une nouvelle tâche et fermez-le une fois celle-ci terminée.", + "help.tabs.organize": + "Garder quelques onglets ouverts facilite l'organisation de vos sessions actives. Si vous comptez les conserver, renommez-les pour pouvoir les reconnaître facilement.", + "help.tabs.home": + "Vous trouverez toutes vos sessions et tous vos projets sur le nouvel écran d'accueil. La sélection d'une session l'ouvre dans un onglet.", + "help.tabs.persistence": "Lorsque vous rouvrez l'application, vos onglets sont toujours ouverts.", + "help.tabs.worktrees": + "La nouvelle interface ne prend pas encore en charge les arbres de travail Git, mais cette fonctionnalité sera bientôt disponible. Si vous préférez continuer à utiliser la mise en page précédente, vous pouvez changer de mise en page dans les paramètres. N'oubliez pas que la nouvelle mise en page deviendra définitive dans quelques semaines.", "dialog.project.edit.title": "Modifier le projet", "dialog.project.edit.name": "Nom", "dialog.project.edit.icon": "Icône", @@ -415,16 +543,20 @@ export const dict = { "dialog.project.edit.worktree.startup.description": "S'exécute après la création d'un nouvel espace de travail (arbre de travail).", "dialog.project.edit.worktree.startup.placeholder": "p. ex. bun install", + "dialog.usageExceeded.dontShowAgain": "Ne plus afficher", + "context.breakdown.title": "Répartition du contexte", "context.breakdown.note": - "Répartition approximative des jetons d'entrée. \"Autre\" inclut les définitions d'outils et les frais généraux.", + "Répartition approximative des jetons d'entrée. \"Autre\" inclut les définitions d'outils et les données annexes.", "context.breakdown.system": "Système", "context.breakdown.user": "Utilisateur", "context.breakdown.assistant": "Assistant", "context.breakdown.tool": "Appels d'outils", "context.breakdown.other": "Autre", - "context.systemPrompt.title": "Prompt système", + "context.systemPrompt.title": "Invite système", "context.rawMessages.title": "Messages bruts", + "context.export.session": "Exporter la session", + "context.stats.session": "Session", "context.stats.messages": "Messages", "context.stats.provider": "Fournisseur", @@ -437,7 +569,7 @@ export const dict = { "context.stats.reasoningTokens": "Jetons de raisonnement", "context.stats.cacheTokens": "Jetons de cache (lecture/écriture)", "context.stats.userMessages": "Messages utilisateur", - "context.stats.assistantMessages": "Messages assistant", + "context.stats.assistantMessages": "Messages de l'assistant", "context.stats.totalCost": "Coût total", "context.stats.sessionCreated": "Session créée", "context.stats.lastActivity": "Dernière activité", @@ -465,16 +597,16 @@ export const dict = { "language.th": "ไทย", "language.tr": "Türkçe", "toast.language.title": "Langue", - "toast.language.description": "Passé à {{language}}", + "toast.language.description": "Langue définie sur {{language}}", "toast.theme.title": "Thème changé", "toast.scheme.title": "Schéma de couleurs", "toast.workspace.enabled.title": "Espaces de travail activés", - "toast.workspace.enabled.description": "Plusieurs worktrees sont désormais affichés dans la barre latérale", + "toast.workspace.enabled.description": "Plusieurs arbres de travail sont désormais affichés dans la barre latérale", "toast.workspace.disabled.title": "Espaces de travail désactivés", - "toast.workspace.disabled.description": "Seul le worktree principal est affiché dans la barre latérale", + "toast.workspace.disabled.description": "Seul l'arbre de travail principal est affiché dans la barre latérale", "toast.permissions.autoaccept.on.title": "Acceptation automatique des permissions", "toast.permissions.autoaccept.on.description": "Les demandes de permission seront approuvées automatiquement", - "toast.permissions.autoaccept.off.title": "Acceptation automatique des permissions arrêtée", + "toast.permissions.autoaccept.off.title": "Acceptation automatique des permissions désactivée", "toast.permissions.autoaccept.off.description": "Les demandes de permission nécessiteront une approbation", "toast.model.none.title": "Aucun modèle sélectionné", "toast.model.none.description": "Connectez un fournisseur pour résumer cette session", @@ -487,17 +619,23 @@ export const dict = { "toast.session.share.success.description": "URL de partage copiée dans le presse-papiers !", "toast.session.share.failed.title": "Échec du partage de la session", "toast.session.share.failed.description": "Une erreur s'est produite lors du partage de la session", - "toast.session.unshare.success.title": "Session non partagée", - "toast.session.unshare.success.description": "Session non partagée avec succès !", - "toast.session.unshare.failed.title": "Échec de l'annulation du partage", - "toast.session.unshare.failed.description": "Une erreur s'est produite lors de l'annulation du partage de la session", + "toast.session.unshare.success.title": "Partage de la session désactivé", + "toast.session.unshare.success.description": "Le partage de la session a bien été désactivé.", + "toast.session.unshare.failed.title": "Échec de la désactivation du partage", + "toast.session.unshare.failed.description": + "Une erreur s'est produite lors de la désactivation du partage de la session", + "toast.session.export.success.title": "Session exportée", + "toast.session.export.success.description": "Session enregistrée dans {{filename}}", + "toast.session.export.failed.title": "Échec de l’exportation de la session", + "toast.session.export.failed.description": "Une erreur s’est produite lors de l’exportation de la session", + "toast.session.listFailed.title": "Échec du chargement des sessions pour {{project}}", "toast.update.title": "Mise à jour disponible", "toast.update.description": "Une nouvelle version d'OpenCode ({{version}}) est maintenant disponible pour installation.", "toast.update.action.installRestart": "Installer et redémarrer", - "toast.update.action.notYet": "Pas encore", - "error.page.title": "Quelque chose s'est mal passé", + "toast.update.action.notYet": "Plus tard", + "error.page.title": "Un problème est survenu", "error.page.description": "Une erreur s'est produite lors du chargement de l'application.", "error.page.description.localServerStartup": "Une erreur s'est produite lors du démarrage du serveur local.", "error.page.details.label": "Détails de l'erreur", @@ -520,13 +658,13 @@ export const dict = { "error.chain.causedBy": "Causé par :", "error.chain.apiError": "Erreur API", "error.chain.status": "Statut : {{status}}", - "error.chain.retryable": "Réessayable : {{retryable}}", + "error.chain.retryable": "Nouvelle tentative possible : {{retryable}}", "error.chain.responseBody": "Corps de la réponse :\n{{body}}", "error.chain.didYouMean": "Vouliez-vous dire : {{suggestions}}", "error.chain.modelNotFound": "Modèle introuvable : {{provider}}/{{model}}", - "error.chain.checkConfig": "Vérifiez votre configuration (opencode.json) pour les noms de fournisseur/modèle", + "error.chain.checkConfig": "Vérifiez les noms de fournisseur et de modèle dans votre configuration (opencode.json)", "error.chain.mcpFailed": - "Le serveur MCP \"{{name}}\" a échoué. Notez qu'OpenCode ne supporte pas encore l'authentification MCP.", + "Le serveur MCP \"{{name}}\" a échoué. Notez qu'OpenCode ne prend pas encore en charge l'authentification MCP.", "error.chain.providerAuthFailed": "Échec de l'authentification du fournisseur ({{provider}}) : {{message}}", "error.chain.providerInitFailed": 'Échec de l\'initialisation du fournisseur "{{provider}}". Vérifiez les identifiants et la configuration.', @@ -535,7 +673,7 @@ export const dict = { "Le fichier de configuration à {{path}} n'est pas un JSON(C) valide : {{message}}", "error.chain.configDirectoryTypo": 'Le répertoire "{{dir}}" dans {{path}} n\'est pas valide. Renommez le répertoire en "{{suggestion}}" ou supprimez-le. C\'est une faute de frappe courante.', - "error.chain.configFrontmatterError": "Échec de l'analyse du frontmatter dans {{path}} :\n{{message}}", + "error.chain.configFrontmatterError": "Échec de l'analyse de l'en-tête dans {{path}} :\n{{message}}", "error.chain.configInvalid": "Le fichier de configuration à {{path}} est invalide", "error.chain.configInvalidWithMessage": "Le fichier de configuration à {{path}} est invalide : {{message}}", "notification.permission.title": "Permission requise", @@ -583,7 +721,7 @@ export const dict = { "session.review.noChanges": "Aucune modification", "session.review.noUncommittedChanges": "Aucune modification non validée pour l'instant", "session.review.noBranchChanges": "Aucune modification de branche pour l'instant", - "session.review.noVcs": "Aucun système de contrôle de version Git détecté, modifications non affichées", + "session.review.noVcs": "Aucun système de gestion de versions Git détecté ; modifications non affichées", "session.review.noSnapshot": "Le suivi des instantanés est désactivé dans la configuration, les modifications de session sont donc indisponibles", "session.files.selectToOpen": "Sélectionnez un fichier à ouvrir", @@ -594,7 +732,7 @@ export const dict = { "session.messages.loadingEarlier": "Chargement des messages précédents...", "session.messages.loadEarlier": "Charger les messages précédents", "session.messages.loading": "Chargement des messages...", - "session.messages.jumpToLatest": "Aller au dernier", + "session.messages.jumpToLatest": "Aller au message le plus récent", "session.context.addToContext": "Ajouter {{selection}} au contexte", "session.todo.title": "Tâches", "session.todo.collapse": "Réduire", @@ -602,14 +740,17 @@ export const dict = { "session.question.minimize": "Réduire la question", "session.question.restore": "Restaurer la question", "session.question.pending.one": "{{count}} question en attente", + "session.question.pending.many": "{{count}} de questions en attente", "session.question.pending.other": "{{count}} questions en attente", "session.followupDock.summary.one": "{{count}} message en file d'attente", + "session.followupDock.summary.many": "{{count}} de messages en file d'attente", "session.followupDock.summary.other": "{{count}} messages en file d'attente", "session.followupDock.sendNow": "Envoyer maintenant", "session.followupDock.edit": "Modifier", "session.followupDock.collapse": "Réduire les messages en file d'attente", "session.followupDock.expand": "Développer les messages en file d'attente", "session.revertDock.summary.one": "{{count}} message annulé", + "session.revertDock.summary.many": "{{count}} de messages annulés", "session.revertDock.summary.other": "{{count}} messages annulés", "session.revertDock.collapse": "Réduire les messages annulés", "session.revertDock.expand": "Développer les messages annulés", @@ -635,17 +776,17 @@ export const dict = { "session.header.open.menu": "Options d'ouverture", "session.header.open.copyPath": "Copier le chemin", "status.popover.trigger": "Statut", - "status.popover.ariaLabel": "Configurations des serveurs", + "status.popover.ariaLabel": "Configuration des serveurs", "status.popover.tab.servers": "Serveurs", "status.popover.tab.mcp": "MCP", "status.popover.tab.lsp": "LSP", "status.popover.tab.plugins": "Plugins", "status.popover.action.manageServers": "Gérer les serveurs", - "session.share.popover.title": "Publier sur le web", + "session.share.popover.title": "Publier sur le Web", "session.share.popover.description.shared": - "Cette session est publique sur le web. Elle est accessible à toute personne disposant du lien.", + "Cette session est publique sur le Web. Elle est accessible à toute personne disposant du lien.", "session.share.popover.description.unshared": - "Partager la session publiquement sur le web. Elle sera accessible à toute personne disposant du lien.", + "Rendre la session publique sur le Web. Elle sera accessible à toute personne disposant du lien.", "session.share.action.share": "Partager", "session.share.action.publish": "Publier", "session.share.action.publishing": "Publication...", @@ -656,7 +797,7 @@ export const dict = { "session.share.copy.copyLink": "Copier le lien", "lsp.tooltip.none": "Aucun serveur LSP", "lsp.label.connected": "{{count}} LSP", - "prompt.loading": "Chargement du prompt...", + "prompt.loading": "Chargement de l'invite...", "terminal.loading": "Chargement du terminal...", "terminal.title": "Terminal", "terminal.title.numbered": "Terminal {{number}}", @@ -670,6 +811,7 @@ export const dict = { "common.moreOptions": "Plus d'options", "common.learnMore": "En savoir plus", "common.rename": "Renommer", + "common.export": "Exporter", "common.reset": "Réinitialiser", "common.archive": "Archiver", "common.delete": "Supprimer", @@ -694,7 +836,7 @@ export const dict = { "sidebar.empty.title": "Aucun projet ouvert", "sidebar.empty.description": "Ouvrez un projet pour commencer", "app.name.desktop": "OpenCode Desktop", - "settings.section.desktop": "Bureau", + "settings.section.desktop": "Application de bureau", "settings.section.server": "Serveur", "settings.tab.general": "Général", "settings.tab.shortcuts": "Raccourcis", @@ -710,10 +852,10 @@ export const dict = { "settings.general.section.display": "Affichage", "settings.general.row.language.title": "Langue", "settings.general.row.language.description": "Changer la langue d'affichage pour OpenCode", - "settings.general.row.shell.title": "Shell du terminal", + "settings.general.row.shell.title": "Interpréteur de commandes du terminal", "settings.general.row.shell.description": "Choisissez le shell utilisé par votre terminal. Les shells compatibles sont également utilisés pour les appels d'outils de l'agent.", - "settings.general.row.shell.autoDefault": "Auto (par défaut)", + "settings.general.row.shell.autoDefault": "Automatique (par défaut)", "settings.general.row.shell.terminalOnly": "terminal uniquement", "settings.general.row.appearance.title": "Apparence", "settings.general.row.appearance.description": "Personnaliser l'apparence d'OpenCode sur votre appareil", @@ -727,22 +869,22 @@ export const dict = { "settings.general.row.terminalFont.description": "Personnalisez la police utilisée dans le terminal", "settings.general.row.uiFont.title": "Police de l'interface", "settings.general.row.uiFont.description": "Personnaliser la police utilisée dans toute l'interface", - "settings.general.row.followup.title": "Comportement de suivi", + "settings.general.row.followup.title": "Comportement des messages de suivi", "settings.general.row.followup.description": - "Choisissez si les messages de suivi dirigent immédiatement ou attendent dans une file d'attente", + "Choisissez si les messages de suivi orientent immédiatement l'agent ou sont placés dans une file d'attente", "settings.general.row.followup.option.queue": "File d'attente", - "settings.general.row.followup.option.steer": "Diriger", + "settings.general.row.followup.option.steer": "Orienter", "settings.general.row.showFileTree.title": "Arborescence des fichiers", "settings.general.row.showFileTree.description": "Afficher le panneau d'arborescence des fichiers dans les sessions", "settings.general.row.showNavigation.title": "Commandes de navigation", "settings.general.row.showNavigation.description": - "Afficher les boutons précédent et suivant dans la barre de titre de l'application desktop", + "Afficher les boutons précédent et suivant dans la barre de titre de l'application de bureau", "settings.general.row.showSearch.title": "Palette de commandes", "settings.general.row.showSearch.description": "Afficher le bouton de recherche et de palette de commandes dans la barre de titre", "settings.general.row.showTerminal.title": "Terminal", "settings.general.row.showTerminal.description": - "Afficher le bouton du terminal dans la barre de titre de l'application desktop", + "Afficher le bouton du terminal dans la barre de titre de l'application de bureau", "settings.general.row.showStatus.title": "État du serveur", "settings.general.row.showStatus.description": "Afficher le bouton d'état du serveur dans la barre de titre", "settings.general.row.mobileTitlebarBottom.title": "Navigation en bas", @@ -774,11 +916,13 @@ export const dict = { "settings.general.row.wayland.tooltip": "Sur Linux avec des moniteurs à taux de rafraîchissement mixte, Wayland natif peut être plus stable.", "settings.general.row.releaseNotes.title": "Notes de version", - "settings.general.row.releaseNotes.description": 'Afficher des pop-ups "Quoi de neuf" après les mises à jour', + "settings.general.row.releaseNotes.description": + "Afficher les fenêtres contextuelles « Quoi de neuf » après les mises à jour", "settings.updates.row.startup.title": "Vérifier les mises à jour au démarrage", "settings.updates.row.startup.description": "Vérifier automatiquement les mises à jour au lancement d'OpenCode", "settings.updates.row.check.title": "Vérifier les mises à jour", - "settings.updates.row.check.description": "Vérifier manuellement les mises à jour et installer si disponible", + "settings.updates.row.check.description": + "Rechercher manuellement les mises à jour et installer toute mise à jour disponible", "settings.updates.action.checkNow": "Vérifier maintenant", "settings.updates.action.checking": "Vérification...", "settings.updates.action.downloading": "Téléchargement...", @@ -846,12 +990,12 @@ export const dict = { "settings.general.sounds.errors.title": "Erreurs", "settings.general.sounds.errors.description": "Jouer un son lorsqu'une erreur se produit", "settings.shortcuts.title": "Raccourcis clavier", - "settings.shortcuts.reset.button": "Rétablir les défauts", + "settings.shortcuts.reset.button": "Rétablir les valeurs par défaut", "settings.shortcuts.reset.toast.title": "Raccourcis réinitialisés", "settings.shortcuts.reset.toast.description": "Les raccourcis clavier ont été réinitialisés aux valeurs par défaut.", "settings.shortcuts.conflict.title": "Raccourci déjà utilisé", - "settings.shortcuts.conflict.description": "{{keybind}} est déjà assigné à {{titles}}.", - "settings.shortcuts.unassigned": "Non assigné", + "settings.shortcuts.conflict.description": "{{keybind}} est déjà attribué à {{titles}}.", + "settings.shortcuts.unassigned": "Non attribué", "settings.shortcuts.pressKeys": "Appuyez sur les touches", "settings.shortcuts.search.placeholder": "Rechercher des raccourcis", "settings.shortcuts.search.empty": "Aucun raccourci trouvé", @@ -860,7 +1004,7 @@ export const dict = { "settings.shortcuts.group.navigation": "Navigation", "settings.shortcuts.group.modelAndAgent": "Modèle et agent", "settings.shortcuts.group.terminal": "Terminal", - "settings.shortcuts.group.prompt": "Prompt", + "settings.shortcuts.group.prompt": "Invite", "settings.providers.title": "Fournisseurs", "settings.providers.description": "Les paramètres des fournisseurs seront configurables ici.", "settings.providers.section.connected": "Fournisseurs connectés", @@ -889,9 +1033,9 @@ export const dict = { "settings.permissions.tool.read.description": "Lecture d'un fichier (correspond au chemin du fichier)", "settings.permissions.tool.edit.title": "Modifier", "settings.permissions.tool.edit.description": - "Modifier des fichiers, y compris les modifications, écritures, patchs et multi-modifications", + "Modifier des fichiers, notamment au moyen des outils edit, write et patch", "settings.permissions.tool.glob.title": "Glob", - "settings.permissions.tool.glob.description": "Correspondre aux fichiers utilisant des modèles glob", + "settings.permissions.tool.glob.description": "Rechercher des fichiers à l'aide de motifs glob", "settings.permissions.tool.grep.title": "Grep", "settings.permissions.tool.grep.description": "Rechercher dans le contenu des fichiers à l'aide d'expressions régulières", @@ -905,12 +1049,12 @@ export const dict = { "settings.permissions.tool.skill.description": "Charger une compétence par son nom", "settings.permissions.tool.lsp.title": "LSP", "settings.permissions.tool.lsp.description": "Exécuter des requêtes de serveur de langage", - "settings.permissions.tool.todowrite.title": "Écrire Todo", + "settings.permissions.tool.todowrite.title": "Écrire les tâches", "settings.permissions.tool.todowrite.description": "Mettre à jour la liste de tâches", "settings.permissions.tool.webfetch.title": "Récupération Web", "settings.permissions.tool.webfetch.description": "Récupérer le contenu d'une URL", "settings.permissions.tool.websearch.title": "Recherche Web", - "settings.permissions.tool.websearch.description": "Rechercher sur le web", + "settings.permissions.tool.websearch.description": "Rechercher sur le Web", "settings.permissions.tool.external_directory.title": "Répertoire externe", "settings.permissions.tool.external_directory.description": "Accéder aux fichiers en dehors du répertoire du projet", "settings.permissions.tool.doom_loop.title": "Boucle infernale", @@ -931,7 +1075,7 @@ export const dict = { "workspace.reset.success.description": "L'espace de travail correspond maintenant à la branche par défaut.", "workspace.error.stillPreparing": "L'espace de travail est encore en cours de préparation", "workspace.status.checking": "Vérification des modifications non fusionnées...", - "workspace.status.error": "Impossible de vérifier le statut git.", + "workspace.status.error": "Impossible de vérifier l'état de Git.", "workspace.status.clean": "Aucune modification non fusionnée détectée.", "workspace.status.dirty": "Modifications non fusionnées détectées dans cet espace de travail.", "workspace.delete.title": "Supprimer l'espace de travail", @@ -953,9 +1097,9 @@ export const dict = { "error.server.invalidConfiguration": "Configuration invalide", "common.moreCountSuffix": " (+{{count}} de plus)", "common.time.justNow": "À l'instant", - "common.time.minutesAgo.short": "il y a {{count}}m", - "common.time.hoursAgo.short": "il y a {{count}}h", - "common.time.daysAgo.short": "il y a {{count}}j", + "common.time.minutesAgo.short": "il y a {{count}} min", + "common.time.hoursAgo.short": "il y a {{count}} h", + "common.time.daysAgo.short": "il y a {{count}} j", "settings.providers.connected.environmentDescription": "Connecté à partir de vos variables d'environnement", "settings.providers.custom.description": "Ajouter un fournisseur compatible avec OpenAI via l'URL de base.", @@ -973,6 +1117,9 @@ export const dict = { "session.question.progress": "{{current}} questions sur {{total}}", "session.header.open.finder": "Finder", "session.header.open.fileExplorer": "Explorateur de fichiers", + "session.header.reveal.finder": "Afficher dans le Finder", + "session.header.reveal.fileExplorer": "Afficher dans l’Explorateur de fichiers", + "session.header.reveal.containingFolder": "Ouvrir le dossier contenant", "session.header.open.fileManager": "Gestionnaire de fichiers", "session.header.open.app.vscode": "VS Code", "session.header.open.app.cursor": "Cursor", @@ -993,11 +1140,11 @@ export const dict = { "debugBar.nav.tip": "Dernière transition de route terminée touchant une page de session, mesurée du début du routeur jusqu'au premier affichage après stabilisation.", "debugBar.fps.label": "FPS", - "debugBar.fps.tip": "Images par seconde glissantes sur les 5 dernières secondes.", + "debugBar.fps.tip": "Fréquence d'images calculée sur les 5 dernières secondes.", "debugBar.frame.label": "FRAME", - "debugBar.frame.tip": "Pire temps d'image sur les 5 dernières secondes.", + "debugBar.frame.tip": "Durée d'image maximale sur les 5 dernières secondes.", "debugBar.jank.label": "JANK", - "debugBar.jank.tip": "Images de plus de 32ms au cours des 5 dernières secondes.", + "debugBar.jank.tip": "Images de plus de 32 ms au cours des 5 dernières secondes.", "debugBar.long.label": "LONG", "debugBar.long.tip": "Temps bloqué et nombre de tâches longues au cours des 5 dernières secondes. Tâche max : {{max}}.", @@ -1005,12 +1152,20 @@ export const dict = { "debugBar.delay.tip": "Pire délai d'entrée observé au cours des 5 dernières secondes.", "debugBar.inp.label": "INP", "debugBar.inp.tip": - "Durée approximative d'interaction au cours des 5 dernières secondes. Ceci est similaire à INP, pas le INP officiel des Web Vitals.", + "Durée approximative d'interaction au cours des 5 dernières secondes. Il s'agit d'une mesure similaire à l'INP, et non de l'INP officiel des Web Vitals.", "debugBar.cls.label": "CLS", "debugBar.cls.tip": "Décalage cumulatif de la mise en page pour la durée de vie actuelle de l'application.", "debugBar.mem.label": "MEM", "debugBar.mem.tipUnavailable": "Tas JS utilisé vs limite de tas. Chromium uniquement.", "debugBar.mem.tip": "Tas JS utilisé vs limite de tas. {{used}} sur {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Forcer les styles de focus sur tous les éléments interactifs", + "debugBar.focus.on": "ACTIVÉ", + "debugBar.focus.off": "DÉSACTIVÉ", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Forcer le sens de disposition de toute l’application sans changer la langue sélectionnée", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", "common.key.ctrl": "Ctrl", "common.key.alt": "Alt", "common.key.shift": "Maj", @@ -1035,4 +1190,10 @@ export const dict = { "error.childStore.persistedProjectIconCreateFailed": "Échec de la création de l'icône de projet persistante", "error.childStore.storeCreateFailed": "Échec de la création du stockage", "terminal.connectionLost.abnormalClose": "WebSocket fermé anormalement : {{code}}", + "terminal.connectTicket.csrfError": + "Le ticket de connexion PTY a été rejeté par les contrôles d'origine ou CSRF. Vérifiez la configuration CORS du serveur.", + "terminal.connectTicket.statusError": "Le ticket de connexion PTY a échoué avec le statut {{status}}", + + "titlebar.update": "Mettre à jour", + "titlebar.updateVersion": "Mettre à jour {{version}}", } diff --git a/packages/app/src/i18n/hi.ts b/packages/app/src/i18n/hi.ts new file mode 100644 index 000000000000..0aaf8e14dc6d --- /dev/null +++ b/packages/app/src/i18n/hi.ts @@ -0,0 +1,1163 @@ +export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "फ़ाइल", + "desktop.menu.edit": "संपादित करें", + "desktop.menu.view": "दृश्य", + "desktop.menu.go": "जाएँ", + "desktop.menu.window": "विंडो", + "desktop.menu.help": "सहायता", + "desktop.menu.checkForUpdates": "अपडेट की जाँच करें...", + "desktop.menu.settings": "सेटिंग्स", + "desktop.menu.reloadWebview": "वेबव्यू पुनः लोड करें", + "desktop.menu.restart": "पुनः आरंभ करें", + "desktop.menu.exportLogs": "लॉग निर्यात करें...", + "desktop.menu.newSession": "नया सेशन", + "desktop.menu.openProject": "प्रोजेक्ट खोलें...", + "desktop.menu.newWindow": "नई विंडो", + "desktop.menu.closeWindow": "विंडो बंद करें", + "desktop.menu.undo": "पूर्ववत करें", + "desktop.menu.redo": "फिर से करें", + "desktop.menu.cut": "काटें", + "desktop.menu.copy": "कॉपी करें", + "desktop.menu.paste": "चिपकाएँ", + "desktop.menu.delete": "हटाएँ", + "desktop.menu.selectAll": "सभी चुनें", + "desktop.menu.toggleSidebar": "साइडबार टॉगल करें", + "desktop.menu.toggleTerminal": "टर्मिनल टॉगल करें", + "desktop.menu.toggleFileTree": "फ़ाइल ट्री टॉगल करें", + "desktop.menu.reload": "पुनः लोड करें", + "desktop.menu.toggleDeveloperTools": "डेवलपर टूल टॉगल करें", + "desktop.menu.actualSize": "वास्तविक आकार", + "desktop.menu.zoomIn": "ज़ूम इन करें", + "desktop.menu.zoomOut": "ज़ूम आउट करें", + "desktop.menu.toggleFullScreen": "पूर्ण स्क्रीन टॉगल करें", + "desktop.menu.back": "पीछे", + "desktop.menu.forward": "आगे", + "desktop.menu.previousSession": "पिछला सेशन", + "desktop.menu.nextSession": "अगला सेशन", + "desktop.menu.previousProject": "पिछला प्रोजेक्ट", + "desktop.menu.nextProject": "अगला प्रोजेक्ट", + "desktop.menu.minimize": "छोटा करें", + "desktop.menu.maximize": "बड़ा करें", + "desktop.menu.documentation": "OpenCode दस्तावेज़", + "desktop.menu.supportForum": "सहायता फ़ोरम", + "desktop.menu.shareFeedback": "प्रतिक्रिया साझा करें", + "desktop.menu.reportBug": "बग रिपोर्ट करें", + "desktop.menu.ariaLabel": "OpenCode मेन्यू", + + "desktop.updater.dialog.checkFailed.message": "अपडेट की जाँच विफल रही।", + "desktop.updater.dialog.checkFailed.title": "अपडेट त्रुटि", + "desktop.updater.dialog.upToDate.message": "आप नवीनतम संस्करण का उपयोग कर रहे हैं।", + "desktop.updater.dialog.upToDate.title": "कोई अपडेट नहीं", + "desktop.updater.dialog.ready.message": "अपडेट {{version}} डाउनलोड हो गया है। अभी पुनः आरंभ करें?", + "desktop.updater.dialog.ready.title": "अपडेट तैयार है", + "desktop.updater.dialog.restart": "पुनः आरंभ करें", + "desktop.updater.dialog.later": "बाद में", + + "desktop.recovery.action.relaunch": "पुनः लॉन्च करें", + "desktop.recovery.action.exportLogs": "लॉग निर्यात करें", + "desktop.recovery.action.keepWaiting": "प्रतीक्षा जारी रखें", + "desktop.recovery.action.quit": "बाहर निकलें", + "desktop.recovery.loadFailed": "OpenCode लोड नहीं हो सका", + "desktop.recovery.terminated": "OpenCode विंडो अनपेक्षित रूप से बंद हो गई", + "desktop.recovery.unresponsive": "OpenCode प्रतिसाद नहीं दे रहा है", + "desktop.recovery.unresponsive.detail": + "आप ऐप को पुनः लॉन्च कर सकते हैं, लॉग खोल सकते हैं या प्रतीक्षा जारी रख सकते हैं।", + "desktop.recovery.loadFailed.detail": "विंडो: {{window}}\nURL: {{url}}\nत्रुटि: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "विंडो: {{window}}\nकारण: {{reason}}\nकोड: {{code}}", + "desktop.recovery.unknown": "<अज्ञात>", + + "desktop.dialog.chooseFolder": "फ़ोल्डर चुनें", + "desktop.dialog.chooseFile": "फ़ाइल चुनें", + "desktop.dialog.saveFile": "फ़ाइल सहेजें", + "desktop.dialog.files": "फ़ाइलें", + "desktop.server.local": "स्थानीय सर्वर", + + "desktop.wsl.error.windowsOnly": "WSL केवल Windows पर उपलब्ध है", + "desktop.wsl.error.unavailable": "WSL उपलब्ध नहीं है", + "desktop.wsl.error.listInstalled": "इंस्टॉल किए गए WSL डिस्ट्रो की सूची नहीं बनाई जा सकी", + "desktop.wsl.error.listOnline": "ऑनलाइन WSL डिस्ट्रो की सूची नहीं बनाई जा सकी", + "desktop.wsl.error.executeDistro": "डिस्ट्रो में कमांड निष्पादित नहीं किए जा सकते", + "desktop.wsl.error.installWsl": "WSL इंस्टॉल नहीं हो सका", + "desktop.wsl.error.installDistro": "डिस्ट्रो इंस्टॉल नहीं हो सका: {{distro}}", + "desktop.wsl.error.installOpencode": "OpenCode इंस्टॉल नहीं हो सका", + "desktop.wsl.error.alreadyAdded": "{{distro}} पहले ही जोड़ा जा चुका है", + "desktop.wsl.error.opencodeMissing": "इस डिस्ट्रो में opencode इंस्टॉल नहीं है", + "desktop.wsl.error.opencodeCannotRun": "opencode इंस्टॉल है, लेकिन चल नहीं सका", + "desktop.wsl.error.opencodeNotInstalled": "{{distro}} में OpenCode इंस्टॉल नहीं है", + "desktop.wsl.error.updateVersion": + "OpenCode अपडेट पूरा हो गया, लेकिन {{distro}} अब भी {{installed}} रिपोर्ट कर रहा है; अपेक्षित संस्करण {{expected}} है", + "desktop.wsl.error.noVersion": "कोई संस्करण नहीं", + "desktop.wsl.error.serverExited": "WSL सर्वर स्टार्टअप के बाद बंद हो गया (code={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL सर्वर के सुचारु होने से पहले बंद हो गया (code={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": "{{distro}} के Sidecar की स्वास्थ्य जाँच {{timeout}}ms के बाद समय-सीमा पार कर गई", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} ने {{timeout}}ms के बाद समय-सीमा पार कर दी", + "desktop.wsl.error.failedPort": "पोर्ट प्राप्त नहीं किया जा सका", + + "desktop.picker.error.notSelected": "पिकर में फ़ाइल नहीं चुनी गई", + "desktop.picker.error.sizeLimit": "चुने गए अटैचमेंट {{limit}} MB की सीमा से अधिक हैं", + + "command.category.suggested": "सुझाए गए", + "command.category.view": "दृश्य", + "command.category.project": "प्रोजेक्ट", + "command.category.provider": "प्रोवाइडर", + "command.category.server": "सर्वर", + "command.category.session": "सेशन", + "command.category.theme": "थीम", + "command.category.language": "भाषा", + "command.category.file": "फ़ाइल", + "command.category.context": "कॉन्टेक्स्ट", + "command.category.terminal": "टर्मिनल", + "command.category.model": "मॉडल", + "command.category.mcp": "MCP", + "command.category.agent": "एजेंट", + "command.category.permissions": "अनुमतियाँ", + "command.category.workspace": "वर्कस्पेस", + "command.category.settings": "सेटिंग्स", + "command.logs.export": "लॉग निर्यात करें", + "theme.scheme.system": "सिस्टम", + "theme.scheme.light": "हल्की", + "theme.scheme.dark": "गहरी", + "command.sidebar.toggle": "साइडबार टॉगल करें", + "command.project.open": "प्रोजेक्ट खोलें", + "command.project.previous": "पिछला प्रोजेक्ट", + "command.project.next": "अगला प्रोजेक्ट", + "command.project.index": "प्रोजेक्ट {{index}} पर स्विच करें", + "command.provider.connect": "प्रोवाइडर कनेक्ट करें", + "command.server.switch": "सर्वर स्विच करें", + "command.settings.open": "सेटिंग्स खोलें", + "command.session.previous": "पिछला सेशन", + "command.session.next": "अगला सेशन", + "command.session.previous.unseen": "पिछला अपठित सेशन", + "command.session.next.unseen": "अगला अपठित सेशन", + "command.session.archive": "सेशन संग्रहित करें", + "command.palette": "कमांड पैलेट", + "command.theme.cycle": "थीम बदलें", + "command.theme.set": "थीम का उपयोग करें: {{theme}}", + "command.theme.scheme.cycle": "रंग योजना बदलें", + "command.theme.scheme.set": "रंग योजना का उपयोग करें: {{scheme}}", + "command.language.cycle": "भाषा बदलें", + "command.language.set": "भाषा का प्रयोग करें: {{language}}", + "command.session.new": "नया सेशन", + "command.file.open": "फ़ाइल खोलें", + "command.tab.close": "टैब बंद करें", + "command.tab.reopenClosed": "बंद टैब पुनः खोलें", + "command.context.addSelection": "कॉन्टेक्स्ट में चयन जोड़ें", + "command.context.addSelection.description": "वर्तमान फ़ाइल से चयनित पंक्तियाँ जोड़ें", + "command.input.focus": "इनपुट पर फ़ोकस करें", + "command.terminal.toggle": "टर्मिनल टॉगल करें", + "command.fileTree.toggle": "फ़ाइल ट्री टॉगल करें", + "command.review.toggle": "समीक्षा टॉगल करें", + "command.terminal.new": "नया टर्मिनल", + "command.terminal.new.description": "एक नया टर्मिनल टैब बनाएं", + "command.steps.toggle": "चरण टॉगल करें", + "command.steps.toggle.description": "वर्तमान संदेश के लिए चरण दिखाएँ या छिपाएँ", + "command.message.previous": "पिछला संदेश", + "command.message.previous.description": "पिछले उपयोगकर्ता संदेश पर जाएँ", + "command.message.next": "अगला संदेश", + "command.message.next.description": "अगले उपयोगकर्ता संदेश पर जाएँ", + "command.model.choose": "मॉडल चुनें", + "command.model.choose.description": "एक अलग मॉडल चुनें", + "command.mcp.toggle": "MCPs टॉगल करें", + "command.mcp.toggle.description": "MCPs टॉगल करें", + "command.agent.cycle": "एजेंट बदलें", + "command.agent.cycle.description": "अगले एजेंट पर स्विच करें", + "command.agent.cycle.reverse": "पिछला एजेंट चुनें", + "command.agent.cycle.reverse.description": "पिछले एजेंट पर स्विच करें", + "command.model.variant.cycle": "तर्क का स्तर बदलें", + "command.model.variant.cycle.description": "तर्क के अगले स्तर पर जाएँ", + "command.prompt.mode.shell": "शेल", + "command.prompt.mode.normal": "प्रॉम्प्ट", + "command.permissions.autoaccept.enable": "अनुमतियाँ स्वतः स्वीकार करें", + "command.permissions.autoaccept.disable": "अनुमतियाँ स्वत: स्वीकार करना बंद करें", + "command.workspace.toggle": "वर्कस्पेस टॉगल करें", + "command.workspace.toggle.description": "साइडबार में एकाधिक वर्कस्पेस को सक्षम या अक्षम करें", + "command.session.undo": "पूर्ववत", + "command.session.undo.description": "अंतिम संदेश पूर्ववत करें", + "command.session.redo": "फिर से करें", + "command.session.redo.description": "अंतिम पूर्ववत संदेश को पुनः करें", + "command.session.compact": "सेशन संक्षिप्त करें", + "command.session.compact.description": "कॉन्टेक्स्ट आकार को कम करने के लिए सेशन को सारांशित करें", + "command.session.fork": "संदेश से फ़ोर्क", + "command.session.fork.description": "पिछले संदेश से एक नया सेशन बनाएं", + "command.session.share": "सेशन साझा करें", + "command.session.share.description": "इस सेशन को साझा करें और URL को क्लिपबोर्ड पर कॉपी करें", + "command.session.unshare": "सेशन साझा करना बंद करें", + "command.session.unshare.description": "इस सेशन को साझा करना बंद करें", + "command.session.export": "सेशन निर्यात करें", + "command.session.export.description": "सेशन की पूरी ट्रांसक्रिप्ट को JSON के रूप में निर्यात करें", + + "palette.search.placeholder": "फ़ाइलें, कमांड और सेशन खोजें", + "palette.search.placeholder.home": "कमांड और सेशन खोजें", + "palette.empty": "कोई परिणाम नहीं मिला", + "palette.group.commands": "कमांड", + "palette.group.files": "फ़ाइलें", + "dialog.provider.search.placeholder": "प्रोवाइडर खोजें", + "dialog.provider.empty": "कोई प्रोवाइडर नहीं मिला", + "dialog.provider.group.popular": "लोकप्रिय", + "dialog.provider.group.other": "अन्य", + "dialog.provider.custom.label": "कस्टम OpenAI-संगत प्रोवाइडर", + "dialog.provider.tag.recommended": "अनुशंसित", + "dialog.provider.opencode.note": "Claude, GPT, Gemini और अधिक सहित क्यूरेटेड मॉडल", + "dialog.provider.opencode.tagline": "विश्वसनीय अनुकूलित मॉडल", + "dialog.provider.opencodeGo.tagline": "सभी के लिए कम लागत वाली सदस्यता", + "dialog.provider.anthropic.note": "प्रो और मैक्स सहित Claude मॉडल तक सीधी पहुँच", + "dialog.provider.copilot.note": "GitHub Copilot के माध्यम से कोडिंग सहायता के लिए AI मॉडल", + "dialog.provider.openai.note": "तेज़, सक्षम सामान्य AI कार्यों के लिए GPT मॉडल", + "dialog.provider.google.note": "तेज़, संरचित प्रतिक्रियाओं के लिए Gemini मॉडल", + "dialog.provider.openrouter.note": "एक प्रोवाइडर से सभी समर्थित मॉडल तक पहुँचें", + "dialog.provider.vercel.note": "स्मार्ट रूटिंग के साथ AI मॉडल तक एकीकृत पहुँच", + "dialog.model.select.title": "मॉडल चुनें", + "dialog.model.search.placeholder": "मॉडल खोजें", + "dialog.model.empty": "कोई मॉडल परिणाम नहीं", + "dialog.model.manage": "मॉडल प्रबंधित करें", + "dialog.model.manage.description": "तय करें कि मॉडल चयनकर्ता में कौन-से मॉडल दिखाई दें।", + "dialog.model.manage.provider.toggle": "सभी {{provider}} मॉडल को टॉगल करें", + "dialog.model.unpaid.freeModels.title": "OpenCode द्वारा उपलब्ध निःशुल्क मॉडल", + "dialog.model.unpaid.addMore.title": "लोकप्रिय प्रोवाइडर से अधिक मॉडल जोड़ें", + "dialog.model.unpaid.viewMoreProviders": "70+ अधिक प्रोवाइडर देखें", + "dialog.provider.viewAll": "और प्रोवाइडर दिखाएँ", + "provider.connect.title": "{{provider}} कनेक्ट करें", + "provider.connect.title.anthropicProMax": "Claude प्रो/मैक्स के साथ लॉगिन करें", + "provider.connect.selectMethod": "{{provider}} के लिए लॉगिन विधि चुनें।", + "provider.connect.method.apiKey": "API कुंजी", + "provider.connect.method.browser": "ब्राउज़र", + "provider.connect.method.headless": "हेडलेस मोड", + "provider.connect.status.inProgress": "प्राधिकरण प्रगति पर है...", + "provider.connect.status.waiting": "प्राधिकरण की प्रतीक्षा हो रही है...", + "provider.connect.status.failed": "प्राधिकरण विफल: {{error}}", + "provider.connect.apiKey.description": + "अपने खाते को कनेक्ट करने के लिए अपनी {{provider}} API कुंजी दर्ज करें और OpenCode में {{provider}} मॉडल का उपयोग करें।", + "provider.connect.apiKey.label": "{{provider}} API कुंजी", + "provider.connect.apiKey.placeholder": "API कुंजी", + "provider.connect.apiKey.required": "API कुंजी आवश्यक है", + "provider.connect.opencodeZen.line1": + "OpenCode Zen आपको कोडिंग एजेंटों के लिए चुने गए विश्वसनीय, अनुकूलित मॉडलों तक पहुँच देता है।", + "provider.connect.opencodeZen.line2": "एक API कुंजी से आपको Claude, GPT, Gemini, GLM जैसे कई मॉडलों तक पहुँच मिलेगी।", + "provider.connect.opencodeZen.visit.prefix": "यहाँ जाएँ: ", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": " अपनी API कुंजी प्राप्त करने के लिए।", + "provider.connect.oauth.code.visit.prefix": "यहाँ जाएँ: ", + "provider.connect.oauth.code.visit.link": "इस लिंक", + "provider.connect.oauth.code.visit.suffix": + " अपने खाते को कनेक्ट करने और OpenCode में {{provider}} मॉडल का उपयोग करने के लिए अपना प्राधिकरण कोड प्राप्त करें।", + "provider.connect.oauth.code.label": "{{method}} प्राधिकरण कोड", + "provider.connect.oauth.code.placeholder": "प्राधिकरण कोड", + "provider.connect.oauth.code.required": "प्राधिकरण कोड आवश्यक है", + "provider.connect.oauth.code.invalid": "अमान्य प्राधिकरण कोड", + "provider.connect.oauth.auto.visit.prefix": "यहाँ जाएँ: ", + "provider.connect.oauth.auto.visit.link": "इस लिंक", + "provider.connect.oauth.auto.visit.suffix": + " और अपने खाते को कनेक्ट करने तथा OpenCode में {{provider}} मॉडल का उपयोग करने के लिए नीचे दिया गया कोड दर्ज करें।", + "provider.connect.oauth.auto.confirmationCode": "पुष्टि कोड", + "provider.connect.toast.connected.title": "{{provider}} कनेक्ट हो गया", + "provider.connect.toast.connected.description": "{{provider}} मॉडल अब उपयोग के लिए उपलब्ध हैं।", + "provider.custom.title": "कस्टम प्रोवाइडर", + "provider.custom.unavailable": "इस सर्वर पर कस्टम प्रोवाइडर उपलब्ध नहीं हैं", + "provider.custom.description.prefix": "एक OpenAI-संगत प्रोवाइडर कॉन्फ़िगर करें। देखें ", + "provider.custom.description.link": "प्रोवाइडर कॉन्फ़िगरेशन दस्तावेज़", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "प्रोवाइडर ID", + "provider.custom.field.providerID.placeholder": "myprovider", + "provider.custom.field.providerID.description": "छोटे अक्षर, संख्याएँ, हाइफ़न, या अंडरस्कोर", + "provider.custom.field.name.label": "प्रदर्शित होने वाला नाम", + "provider.custom.field.name.placeholder": "मेरा AI प्रोवाइडर", + "provider.custom.field.baseURL.label": "आधार URL", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "API कुंजी", + "provider.custom.field.apiKey.placeholder": "API कुंजी", + "provider.custom.field.apiKey.description": + "वैकल्पिक। यदि आप हेडर के माध्यम से प्रमाणीकरण प्रबंधित करते हैं तो खाली छोड़ दें।", + "provider.custom.models.label": "मॉडल", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "model-id", + "provider.custom.models.name.label": "नाम", + "provider.custom.models.name.placeholder": "प्रदर्शित होने वाला नाम", + "provider.custom.models.remove": "मॉडल हटाएँ", + "provider.custom.models.add": "मॉडल जोड़ें", + "provider.custom.headers.label": "हेडर (वैकल्पिक)", + "provider.custom.headers.key.label": "हेडर", + "provider.custom.headers.key.placeholder": "Header-Name", + "provider.custom.headers.value.label": "मान", + "provider.custom.headers.value.placeholder": "value", + "provider.custom.headers.remove": "हेडर हटाएँ", + "provider.custom.headers.add": "हेडर जोड़ें", + "provider.custom.error.providerID.required": "प्रोवाइडर ID आवश्यक है", + "provider.custom.error.providerID.format": "छोटे अक्षरों, संख्याओं, हाइफ़न या अंडरस्कोर का उपयोग करें", + "provider.custom.error.providerID.exists": "वह प्रोवाइडर ID पहले से मौजूद है", + "provider.custom.error.name.required": "प्रदर्शन नाम आवश्यक है", + "provider.custom.error.baseURL.required": "आधार URL आवश्यक है", + "provider.custom.error.baseURL.format": "http:// या https:// से प्रारंभ होना चाहिए", + "provider.custom.error.required": "आवश्यक", + "provider.custom.error.duplicate": "डुप्लिकेट", + "provider.disconnect.toast.disconnected.title": "{{provider}} डिस्कनेक्ट हो गया", + "provider.disconnect.toast.disconnected.description": "{{provider}} मॉडल अब उपलब्ध नहीं हैं।", + "model.tag.free": "निःशुल्क", + "model.tag.latest": "नवीनतम", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "टेक्स्ट", + "model.input.image": "छवि", + "model.input.audio": "ऑडियो", + "model.input.video": "वीडियो", + "model.input.pdf": "PDF", + "model.tooltip.allows": "अनुमति देता है: {{inputs}}", + "model.tooltip.context.label": "कॉन्टेक्स्ट", + "model.tooltip.inputs": "इनपुट", + "model.tooltip.model": "मॉडल", + "model.tooltip.provider": "प्रोवाइडर", + "model.tooltip.reasoning": "तर्क", + "model.tooltip.reasoning.allowed": "तर्क करने की अनुमति देता है", + "model.tooltip.reasoning.none": "कोई तर्क नहीं", + "model.tooltip.context": "कॉन्टेक्स्ट सीमा {{limit}}", + "common.search.placeholder": "खोज", + "common.goBack": "पीछे जाएँ", + "common.goForward": "आगे जाएँ", + "common.loading": "लोड हो रहा है", + "common.loading.ellipsis": "...", + "common.cancel": "रद्द करें", + "common.clear": "साफ़ करें", + "common.open": "खोलें", + "common.connect": "कनेक्ट करें", + "common.disconnect": "डिस्कनेक्ट करें", + "common.continue": "जारी रखें", + "common.submit": "जमा करें", + "common.save": "सहेजें", + "common.saving": "सहेजा जा रहा है...", + "common.default": "डिफ़ॉल्ट", + "common.attachment": "अटैचमेंट", + "prompt.placeholder.shell": "शेल कमांड... {{example}} दर्ज करें", + "prompt.placeholder.normal": 'कुछ भी पूछें... "{{example}}"', + "prompt.placeholder.simple": "कुछ भी पूछें...", + "prompt.placeholder.summarizeComments": "टिप्पणियों को सारांशित करें...", + "prompt.placeholder.summarizeComment": "टिप्पणी को सारांशित करें...", + "prompt.mode.shell": "शेल", + "prompt.mode.normal": "प्रॉम्प्ट", + "prompt.mode.shell.exit": "बाहर निकलने के लिए esc", + "session.child.promptDisabled": "सबएजेंट सेशन में प्रॉम्प्ट नहीं भेजा जा सकता।", + "session.child.backToParent": "मुख्य सेशन पर वापस जाएँ।", + "prompt.example.1": "कोडबेस में एक TODO ठीक करें", + "prompt.example.2": "इस प्रोजेक्ट का तकनीकी स्टैक क्या है?", + "prompt.example.3": "टूटे हुए परीक्षणों को ठीक करें", + "prompt.example.4": "बताएं कि प्रमाणीकरण कैसे काम करता है", + "prompt.example.5": "सुरक्षा कमजोरियाँ खोजें और ठीक करें", + "prompt.example.6": "उपयोगकर्ता सेवा के लिए यूनिट परीक्षण जोड़ें", + "prompt.example.7": "इस फ़ंक्शन को अधिक पठनीय बनाने के लिए रीफ़ैक्टर करें", + "prompt.example.8": "इस त्रुटि का मतलब क्या है?", + "prompt.example.9": "इस मुद्दे को डीबग करने में मेरी सहायता करें", + "prompt.example.10": "API दस्तावेज़ तैयार करें", + "prompt.example.11": "डेटाबेस क्वेरीज़ को अनुकूलित करें", + "prompt.example.12": "इनपुट सत्यापन जोड़ें", + "prompt.example.13": "इसके लिए एक नया कॉम्पोनेंट बनाएँ...", + "prompt.example.14": "मैं इस प्रोजेक्ट को कैसे तैनात करूं?", + "prompt.example.15": "सर्वोत्तम प्रथाओं के लिए मेरे कोड की समीक्षा करें", + "prompt.example.16": "इस फ़ंक्शन में त्रुटि प्रबंधन जोड़ें", + "prompt.example.17": "इस रेगेक्स पैटर्न को समझाइये", + "prompt.example.18": "इसे TypeScript में बदलें", + "prompt.example.19": "पूरे कोडबेस में लॉगिंग जोड़ें", + "prompt.example.20": "कौन सी निर्भरताएँ पुरानी हो चुकी हैं?", + "prompt.example.21": "माइग्रेशन स्क्रिप्ट लिखने में मेरी सहायता करें", + "prompt.example.22": "इस समापन बिंदु के लिए कैशिंग लागू करें", + "prompt.example.23": "इस सूची में पेजिनेशन जोड़ें", + "prompt.example.24": "इसके लिए एक CLI कमांड बनाएं...", + "prompt.example.25": "पर्यावरण चर यहाँ कैसे काम करते हैं?", + "prompt.popover.emptyResults": "कोई मेल खाता परिणाम नहीं", + "prompt.popover.emptyCommands": "कोई मेल खाता कमांड नहीं", + "prompt.dropzone.label": "छवियाँ, PDFs, या टेक्स्ट फ़ाइलें यहां छोड़ें", + "prompt.dropzone.file.label": "फ़ाइल का @mention करने के लिए छोड़ें", + "prompt.slash.badge.custom": "कस्टम", + "prompt.slash.badge.skill": "कौशल", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "सक्रिय", + "prompt.context.includeActiveFile": "सक्रिय फ़ाइल शामिल करें", + "prompt.context.removeActiveFile": "कॉन्टेक्स्ट से सक्रिय फ़ाइल हटाएँ", + "prompt.context.removeFile": "कॉन्टेक्स्ट से फ़ाइल हटाएँ", + "prompt.action.attachFile": "फ़ाइलें जोड़ें", + "prompt.menu.addImagesAndFiles": "फ़ाइलें और बहुत कुछ जोड़ें", + "prompt.menu.imagesAndFiles": "छवियाँ और फ़ाइलें", + "prompt.menu.commands": "कमांड", + "prompt.menu.context": "कॉन्टेक्स्ट", + "prompt.menu.shellCommand": "शेल कमांड", + "prompt.attachment.remove": "अनुलग्नक हटाएँ", + "prompt.action.send": "भेजें", + "prompt.action.stop": "रोकें", + "prompt.toast.pasteUnsupported.title": "असमर्थित अनुलग्नक", + "prompt.toast.pasteUnsupported.description": "यहां केवल छवियां, PDFs, या टेक्स्ट फ़ाइलें संलग्न की जा सकती हैं।", + "prompt.toast.attachmentDuplicate.title": "यह फ़ाइल पहले ही अपलोड की जा चुकी है", + "prompt.toast.modelAgentRequired.title": "एक एजेंट और मॉडल चुनें", + "prompt.toast.modelAgentRequired.description": "प्रॉम्प्ट भेजने से पहले एक एजेंट और मॉडल चुनें।", + "prompt.toast.worktreeCreateFailed.title": "वर्कट्री बनाने में विफल", + "prompt.toast.sessionCreateFailed.title": "सेशन बनाने में विफल", + "prompt.toast.shellSendFailed.title": "शेल कमांड भेजने में विफल", + "prompt.toast.commandSendFailed.title": "कमांड भेजने में विफल", + "prompt.toast.promptSendFailed.title": "प्रॉम्प्ट भेजने में विफल", + "prompt.toast.promptSendFailed.description": "सेशन पुनः प्राप्त करने में असमर्थ", + "dialog.mcp.title": "MCPs", + "dialog.mcp.description": "{{total}} में से {{enabled}} सक्षम", + "dialog.mcp.empty": "कोई MCP कॉन्फ़िगर नहीं किया गया", + "dialog.lsp.empty": "फ़ाइल प्रकारों से LSP का स्वतः पता लगाया जाता है", + "dialog.plugins.empty": "प्लगइन opencode.json में कॉन्फ़िगर किए गए हैं", + "mcp.status.connected": "कनेक्टेड", + "mcp.status.failed": "असफल", + "mcp.status.needs_auth": "प्रमाणीकरण की आवश्यकता है", + "mcp.status.disabled": "अक्षम", + "mcp.auth.clickToAuthenticate": "प्रमाणित करने के लिए क्लिक करें", + "dialog.fork.empty": "फ़ोर्क करने के लिए कोई संदेश नहीं", + "dialog.directory.search.placeholder": "फ़ोल्डर खोजें", + "dialog.directory.empty": "कोई फ़ोल्डर नहीं मिला", + "dialog.directory.action.selectFile": "फ़ाइल का चयन करें", + "dialog.directory.action.selectFolder": "फ़ोल्डर चुनें", + "dialog.directory.root": "रूट", + "dialog.directory.parent": "पैरेंट", + "dialog.directory.readError": "इस फ़ोल्डर को पढ़ने में असमर्थ", + "app.server.unreachable": "{{server}} तक नहीं पहुँचा जा सका", + "app.server.retrying": "स्वचालित रूप से पुनः प्रयास किया जा रहा है...", + "app.server.otherServers": "अन्य सर्वर", + "dialog.server.title": "सर्वर", + "dialog.server.description": "स्विच करें कि यह ऐप किस OpenCode सर्वर से कनेक्ट होता है।", + "dialog.server.search.placeholder": "सर्वर खोजें", + "dialog.server.empty": "अभी तक कोई सर्वर नहीं है", + "dialog.server.add.title": "सर्वर जोड़ें", + "dialog.server.add.url": "सर्वर पता", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "सर्वर से कनेक्ट नहीं कर सका", + "dialog.server.add.checking": "जाँच हो रही है...", + "dialog.server.add.button": "सर्वर जोड़ें", + "dialog.server.add.name": "सर्वर नाम (वैकल्पिक)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "उपयोगकर्ता नाम (वैकल्पिक)", + "dialog.server.add.usernamePlaceholder": "उपयोक्तानाम", + "dialog.server.add.password": "पासवर्ड (वैकल्पिक)", + "dialog.server.add.passwordPlaceholder": "पासवर्ड", + "dialog.server.edit.title": "सर्वर संपादित करें", + "dialog.server.default.title": "डिफ़ॉल्ट सर्वर", + "dialog.server.default.description": + "स्थानीय सर्वर शुरू करने के बजाय ऐप लॉन्च होने पर इस सर्वर से कनेक्ट करें। पुनः आरंभ करना आवश्यक है।", + "dialog.server.default.none": "कोई सर्वर चयनित नहीं", + "dialog.server.default.set": "वर्तमान सर्वर को डिफ़ॉल्ट के रूप में सेट करें", + "dialog.server.default.clear": "साफ़ करें", + "dialog.server.action.remove": "सर्वर हटाएँ", + "dialog.server.menu.edit": "संपादित करें", + "dialog.server.menu.default": "डिफाल्ट के रूप में सेट", + "dialog.server.menu.defaultRemove": "डिफ़ॉल्ट हटाएँ", + "dialog.server.menu.delete": "हटाएँ", + "dialog.server.current": "वर्तमान सर्वर", + "dialog.server.status.default": "डिफ़ॉल्ट", + "wsl.server.add": "WSL सर्वर जोड़ें", + "wsl.server.addShort": "WSL जोड़ें", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "WSL सर्वर", + "wsl.server.retryStart": "पुन: प्रयास प्रारंभ करें", + "wsl.server.updating": "अद्यतन किया जा रहा है...", + "wsl.onboarding.step.distro": "डिस्ट्रो चुनें", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "WSL की जाँच हो रही है...", + "wsl.onboarding.restartRequired": "WSL की स्थापना पूरी करने के लिए Windows को पुनः आरंभ करना होगा।", + "wsl.onboarding.ready": "WSL तैयार है।", + "wsl.onboarding.required": "जारी रखने के लिए WSL आवश्यक है।", + "wsl.onboarding.checkingDistros": "डिस्ट्रोज़ की जाँच हो रही है...", + "wsl.onboarding.installingDistro": "{{distro}} इंस्टॉल किया जा रहा है...", + "wsl.onboarding.checkingDistro": "{{distro}} की जाँच हो रही है...", + "wsl.onboarding.listingDistros": "डिस्ट्रो की सूची बनाई जा रही है...", + "wsl.onboarding.distroReady": "{{distro}} तैयार है।", + "wsl.onboarding.distroNotInstalled": "{{distro}} अभी तक इंस्टॉल नहीं है।", + "wsl.onboarding.openDistroOnce": "सेटअप पूरा करने के लिए एक बार {{distro}} खोलें।", + "wsl.onboarding.finishingDistro": "{{distro}} का सेटअप पूरा किया जा रहा है।", + "wsl.onboarding.pickDistro": "एक डिस्ट्रो चुनें या नीचे एक स्थापित करें।", + "wsl.onboarding.checkingOpencode": "OpenCode की जाँच हो रही है...", + "wsl.onboarding.checkingOpencodeIn": "{{distro}} में OpenCode की जाँच हो रही है...", + "wsl.onboarding.updatingOpencode": "OpenCode अपडेट हो रहा है...", + "wsl.onboarding.updatingOpencodeIn": "{{distro}} में OpenCode अपडेट हो रहा है...", + "wsl.onboarding.updateOpencodeIn": "{{distro}} में OpenCode को अपडेट करें।", + "wsl.onboarding.updateOpencode": "OpenCode को अपडेट करें", + "wsl.onboarding.opencodeReadyIn": "OpenCode {{distro}} में तैयार है।", + "wsl.onboarding.opencodeReady": "OpenCode तैयार है।", + "wsl.onboarding.installOpencodeIn": "{{distro}} में OpenCode स्थापित करें।", + "wsl.onboarding.installOpencode": "OpenCode स्थापित करें", + "wsl.onboarding.chooseDistroFirst": "पहले एक डिस्ट्रो चुनें।", + "wsl.onboarding.loadFailed": "WSL स्थिति लोड करने में विफल।", + "wsl.onboarding.loading": "लोड हो रहा है...", + "wsl.onboarding.installedDistros": "स्थापित डिस्ट्रोस", + "wsl.onboarding.checkAgain": "फिर से जाँचें", + "wsl.onboarding.distroStatus.ready": "तैयार", + "wsl.onboarding.distroStatus.checking": "जाँच हो रही है...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode स्थापित नहीं है", + "wsl.onboarding.distroStatus.missingTools": "गायब बैश, कर्ल", + "wsl.onboarding.distroStatus.unsupported": "असमर्थित · WSL 2 का उपयोग करें", + "wsl.onboarding.needAnotherDistro": "एक और डिस्ट्रो की आवश्यकता है?", + "wsl.onboarding.needAnotherDistroHint": "WSL कैटलॉग से Linux वितरण स्थापित करें", + "wsl.onboarding.wslNotInstalled.title": "WSL स्थापित नहीं है", + "wsl.onboarding.wslNotInstalled.description": + "OpenCode द्वारा WSL सर्वर जोड़ने से पहले WSL (Linux के लिए Windows सबसिस्टम) आवश्यक है", + "wsl.onboarding.wslUnavailable.title": "WSL अनुपलब्ध है", + "wsl.onboarding.wslUnavailable.description": "OpenCode इस मशीन पर WSL को सत्यापित नहीं कर सका।", + "wsl.onboarding.installWsl": "WSL स्थापित करें", + "wsl.onboarding.windowsRestartRequired": + "WSL की स्थापना समाप्त करने के लिए Windows को पुनरारंभ करें, फिर OpenCode को फिर से खोलें।", + "wsl.onboarding.next": "अगला", + "wsl.onboarding.refresh": "रीफ़्रेश करें", + "wsl.onboarding.allDistrosAdded": "सभी स्थापित डिस्ट्रो पहले ही जोड़े जा चुके हैं।", + "wsl.onboarding.noDistros": "अभी तक कोई डिस्ट्रो नहीं मिला।", + "wsl.onboarding.install": "स्थापित करें", + "wsl.onboarding.installing": "स्थापित किया जा रहा है...", + "wsl.onboarding.installDistro": "डिस्ट्रो स्थापित करें", + "wsl.onboarding.searchDistros": "डिस्ट्रोस खोजें", + "wsl.onboarding.wsl2Required": "WSL 2 आवश्यक है।", + "wsl.onboarding.toolsRequired": "इस डिस्ट्रो को बैश और कर्ल की जरूरत है।", + "wsl.onboarding.openTerminal": "टर्मिनल खोलें", + "wsl.onboarding.path": "पथ: {{path}}", + "wsl.onboarding.notFound": "नहीं मिला", + "wsl.onboarding.version": "संस्करण: {{version}}", + "wsl.onboarding.unknown": "अज्ञात", + "wsl.onboarding.desktopVersion": "डेस्कटॉप {{version}}", + "wsl.onboarding.versionMismatch": "इंस्टॉल किया गया संस्करण डेस्कटॉप ऐप संस्करण से मेल नहीं खाता।", + "wsl.onboarding.adding": "जोड़ा जा रहा है...", + "help.tabs.toast.ariaLabel": "टैब प्रस्तुत हैं। टैब की सहायता से अपना काम और सक्रिय सेशन व्यवस्थित करें", + "help.tabs.toast.dismiss": "टैब की जानकारी हटाएँ", + "help.tabs.title": "टैब प्रस्तुत हैं", + "help.tabs.description": "टैब की सहायता से अपना काम और सक्रिय सेशन व्यवस्थित करें", + "help.tabs.date": "14 जुलाई", + "help.tabs.introduction": "OpenCode Desktop अब टैब पर आधारित है।", + "help.tabs.sessions": + "किसी टैब में नया सेशन शुरू करें या अपने किसी भी प्रोजेक्ट से मौजूदा सेशन खोलें। कुछ नया शुरू करते समय नया टैब खोलें और काम पूरा होने पर उसे बंद कर दें।", + "help.tabs.organize": + "कुछ टैब खुले रखने से सक्रिय सेशन व्यवस्थित करना आसान होता है। यदि आप टैब खुले रखना चाहते हैं, तो उन्हें कोई याद रहने वाला नाम दें।", + "help.tabs.home": "आपके सभी सेशन और प्रोजेक्ट नई होम स्क्रीन पर मिलेंगे। किसी सेशन को चुनने पर वह टैब में खुलता है।", + "help.tabs.persistence": "ऐप दोबारा खोलने पर भी आपके टैब खुले रहते हैं।", + "help.tabs.worktrees": + "नया डिज़ाइन अभी Git Worktrees का समर्थन नहीं करता है, यह सुविधा जल्द आ रही है। इसलिए यदि आप पिछले लेआउट का उपयोग जारी रखना चाहते हैं, तो सेटिंग्स में लेआउट के बीच स्विच कर सकते हैं। ध्यान रखें कि नया लेआउट कुछ सप्ताह में स्थायी हो जाएगा।", + "server.row.noUsername": "कोई उपयोगकर्ता नाम नहीं", + "dialog.project.edit.title": "प्रोजेक्ट संपादित करें", + "dialog.project.edit.name": "नाम", + "dialog.project.edit.icon": "आइकन", + "dialog.project.edit.icon.alt": "प्रोजेक्ट आइकन", + "dialog.project.edit.icon.hint": "किसी छवि को क्लिक करें या खींचें", + "dialog.project.edit.icon.recommended": "अनुशंसित: 128x128px", + "dialog.project.edit.color": "रंग", + "dialog.project.edit.color.select": "{{color}} रंग चुनें", + "dialog.project.edit.worktree.startup": "वर्कस्पेस स्टार्टअप स्क्रिप्ट", + "dialog.project.edit.worktree.startup.description": "एक नया वर्कस्पेस (वर्कट्री) बनाने के बाद चलता है।", + "dialog.project.edit.worktree.startup.placeholder": "जैसे: bun install", + "dialog.releaseNotes.action.getStarted": "शुरू करें", + "dialog.releaseNotes.action.next": "अगला", + "dialog.releaseNotes.action.hideFuture": "भविष्य में इन्हें न दिखाएँ", + "dialog.releaseNotes.media.alt": "रिलीज़ पूर्वावलोकन", + "dialog.usageExceeded.dontShowAgain": "फिर से न दिखाएँ", + + "context.breakdown.title": "कॉन्टेक्स्ट ब्रेकडाउन", + "context.breakdown.note": 'इनपुट टोकन का अनुमानित विभाजन। "अन्य" में टूल की परिभाषाएँ और अतिरिक्त खर्च शामिल हैं।', + "context.breakdown.system": "सिस्टम", + "context.breakdown.user": "उपयोगकर्ता", + "context.breakdown.assistant": "सहायक", + "context.breakdown.tool": "टूल कॉल", + "context.breakdown.other": "अन्य", + "context.systemPrompt.title": "सिस्टम प्रॉम्प्ट", + "context.rawMessages.title": "मूल संदेश", + "context.export.session": "सेशन निर्यात करें", + + "context.stats.session": "सेशन", + "context.stats.messages": "संदेश", + "context.stats.provider": "प्रोवाइडर", + "context.stats.model": "मॉडल", + "context.stats.limit": "कॉन्टेक्स्ट सीमा", + "context.stats.totalTokens": "कुल टोकन", + "context.stats.usage": "उपयोग", + "context.stats.inputTokens": "इनपुट टोकन", + "context.stats.outputTokens": "आउटपुट टोकन", + "context.stats.reasoningTokens": "तर्क टोकन", + "context.stats.cacheTokens": "कैश टोकन (पढ़ें/लिखें)", + "context.stats.userMessages": "उपयोगकर्ता संदेश", + "context.stats.assistantMessages": "सहायक संदेश", + "context.stats.totalCost": "कुल लागत", + "context.stats.sessionCreated": "सेशन बनाया गया", + "context.stats.lastActivity": "अंतिम गतिविधि", + "context.usage.tokens": "टोकन", + "context.usage.usage": "उपयोग", + "context.usage.cost": "लागत", + "context.usage.clickToView": "कॉन्टेक्स्ट देखने के लिए क्लिक करें", + "context.usage.view": "कॉन्टेक्स्ट उपयोग देखें", + "language.en": "English", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Deutsch", + "language.es": "Español", + "language.fr": "Français", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "Polski", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Norsk", + "language.br": "Português (Brasil)", + "language.bs": "Bosanski", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Türkçe", + "toast.language.title": "भाषा", + "toast.language.description": "{{language}} पर स्विच किया गया", + "toast.theme.title": "थीम स्विच किया गया", + "toast.scheme.title": "रंग योजना", + "toast.workspace.enabled.title": "वर्कस्पेस सक्षम", + "toast.workspace.enabled.description": "एकाधिक वर्कट्री अब साइडबार में दिखाए गए हैं", + "toast.workspace.disabled.title": "वर्कस्पेस अक्षम", + "toast.workspace.disabled.description": "साइडबार में केवल मुख्य वर्कट्री दिखाया गया है", + "toast.permissions.autoaccept.on.title": "अनुमतियाँ स्वतः स्वीकार करना", + "toast.permissions.autoaccept.on.description": "अनुमति अनुरोध स्वचालित रूप से स्वीकृत हो जाएंगे", + "toast.permissions.autoaccept.off.title": "अनुमतियों को स्वतः स्वीकार करना बंद कर दिया गया", + "toast.permissions.autoaccept.off.description": "अनुमति अनुरोधों के लिए अनुमोदन की आवश्यकता होगी", + "toast.model.none.title": "कोई मॉडल चयनित नहीं", + "toast.model.none.description": "इस सेशन को सारांशित करने के लिए एक प्रोवाइडर कनेक्ट करें", + "toast.file.loadFailed.title": "फ़ाइल लोड करने में विफल", + "toast.file.listFailed.title": "फ़ाइलें सूचीबद्ध करने में विफल", + "toast.context.noLineSelection.title": "कोई पंक्ति चयन नहीं", + "toast.context.noLineSelection.description": "पहले फ़ाइल टैब में एक पंक्ति श्रेणी का चयन करें।", + "toast.session.share.copyFailed.title": "URL को क्लिपबोर्ड पर कॉपी करने में विफल", + "toast.session.share.success.title": "सेशन साझा किया गया", + "toast.session.share.success.description": "साझा URL क्लिपबोर्ड पर कॉपी किया गया!", + "toast.session.share.failed.title": "सेशन साझा करने में विफल", + "toast.session.share.failed.description": "सेशन साझा करते समय एक त्रुटि उत्पन्न हुई", + "toast.session.unshare.success.title": "सेशन अनशेयर किया गया", + "toast.session.unshare.success.description": "सेशन सफलतापूर्वक अनशेयर किया गया!", + "toast.session.unshare.failed.title": "सेशन को अनशेयर करने में विफल", + "toast.session.unshare.failed.description": "सेशन को अनशेयर करते समय एक त्रुटि उत्पन्न हुई", + "toast.session.export.success.title": "सेशन निर्यात किया गया", + "toast.session.export.success.description": "सेशन को {{filename}} में सहेजा गया", + "toast.session.export.failed.title": "सेशन निर्यात करने में विफल", + "toast.session.export.failed.description": "सेशन निर्यात करते समय एक त्रुटि हुई", + + "toast.session.listFailed.title": "{{project}} के लिए सेशन लोड करने में विफल", + "toast.project.reloadFailed.title": "{{project}} को पुनः लोड करने में विफल", + "toast.update.title": "उपलब्ध अद्यतन", + "toast.update.description": "OpenCode ({{version}}) का एक नया संस्करण अब इंस्टॉल करने के लिए उपलब्ध है।", + "toast.update.action.installRestart": "स्थापित करें और पुनः आरंभ करें", + "toast.update.action.notYet": "अभी नहीं", + "error.page.title": "कुछ गलत हो गया", + "error.page.description": "एप्लिकेशन लोड करते समय एक त्रुटि हुई।", + "error.page.description.localServerStartup": "स्थानीय सर्वर शुरू करते समय एक त्रुटि हुई।", + "error.page.details.label": "त्रुटि विवरण", + "error.page.action.restart": "पुनः आरंभ करें", + "error.page.action.report": "त्रुटि की रिपोर्ट करें", + "error.page.action.reported": "त्रुटि रिपोर्ट की गई", + "error.page.action.exportLogs": "लॉग निर्यात करें", + "error.page.action.checking": "जाँच हो रही है...", + "error.page.action.checkUpdates": "अद्यतन के लिए जाँच", + "error.page.action.updateTo": "{{version}} पर अपडेट करें", + "error.page.circular": "[Circular]", + "error.page.report.prefix": "कृपया इस त्रुटि की रिपोर्ट OpenCode टीम को करें", + "error.page.report.discord": "Discord पर", + "error.page.version": "संस्करण: {{version}}", + "error.dev.rootNotFound": + "मूल तत्व नहीं मिला. क्या आप इसे अपने index.html में जोड़ना भूल गए? या हो सकता है कि आईडी विशेषता गलत वर्तनी हो गई हो?", + "error.serverSync.connectFailed": "सर्वर से कनेक्ट नहीं कर सका। क्या `{{url}}` पर कोई सर्वर चल रहा है?", + "error.serverSDK.noServerAvailable": "कोई सर्वर उपलब्ध नहीं है", + "error.serverSDK.serverNotAvailable": "सर्वर उपलब्ध नहीं है", + "error.childStore.persistedCacheCreateFailed": "सतत कैश बनाने में विफल", + "error.childStore.persistedProjectMetadataCreateFailed": "निरंतर प्रोजेक्ट मेटाडेटा बनाने में विफल", + "error.childStore.persistedProjectIconCreateFailed": "स्थायी प्रोजेक्ट आइकन बनाने में विफल", + "error.childStore.storeCreateFailed": "स्टोर बनाने में विफल", + "directory.error.invalidUrl": "URL में अमान्य निर्देशिका।", + "error.chain.unknown": "अज्ञात त्रुटि", + "error.server.invalidConfiguration": "अमान्य कॉन्फ़िगरेशन", + "error.chain.causedBy": "कारण:", + "error.chain.apiError": "API त्रुटि", + "error.chain.status": "स्थिति: {{status}}", + "error.chain.retryable": "पुनः प्रयास योग्य: {{retryable}}", + "error.chain.responseBody": "प्रतिक्रिया निकाय:\n{{body}}", + "error.chain.didYouMean": "क्या आपका मतलब था: {{suggestions}}", + "error.chain.modelNotFound": "मॉडल नहीं मिला: {{provider}}/{{model}}", + "error.chain.checkConfig": "अपने कॉन्फ़िगरेशन (opencode.json) प्रोवाइडर/मॉडल नामों की जाँच करें", + "error.chain.mcpFailed": + 'MCP सर्वर "{{name}}" विफल रहा। ध्यान दें, OpenCode अभी तक MCP प्रमाणीकरण का समर्थन नहीं करता है।', + "error.chain.providerAuthFailed": "प्रोवाइडर प्रमाणीकरण विफल ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + 'प्रोवाइडर "{{provider}}" शुरू नहीं किया जा सका। क्रेडेंशियल और कॉन्फ़िगरेशन की जाँच करें।', + "error.chain.configJsonInvalid": "{{path}} पर कॉन्फ़िगरेशन फ़ाइल वैध JSON(C) नहीं है", + "error.chain.configJsonInvalidWithMessage": "{{path}} पर कॉन्फ़िगरेशन फ़ाइल वैध नहीं है JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + '{{path}} में निर्देशिका "{{dir}}" मान्य नहीं है। निर्देशिका का नाम बदलकर "{{suggestion}}" करें या इसे हटा दें। यह वर्तनी की एक सामान्य त्रुटि है।', + "error.chain.configFrontmatterError": "{{path}} में फ्रंटमैटर को पार्स करने में विफल:\n{{message}}", + "error.chain.configInvalid": "{{path}} पर कॉन्फ़िगरेशन फ़ाइल अमान्य है", + "error.chain.configInvalidWithMessage": "{{path}} पर कॉन्फ़िगरेशन फ़ाइल अमान्य है: {{message}}", + "notification.permission.title": "अनुमति आवश्यक है", + "notification.permission.description": "{{projectName}} में {{sessionTitle}} को अनुमति की आवश्यकता है", + "notification.question.title": "प्रश्न", + "notification.question.description": "{{projectName}} में {{sessionTitle}} का एक प्रश्न है", + "notification.action.goToSession": "सेशन पर जाएं", + "notification.session.responseReady.title": "प्रतिक्रिया तैयार", + "notification.session.error.title": "सेशन त्रुटि", + "notification.session.error.fallbackDescription": "एक त्रुटि पाई गई", + "home.recentProjects": "हाल के प्रोजेक्ट", + "home.empty.title": "कोई हालिया प्रोजेक्ट नहीं", + "home.empty.description": "स्थानीय प्रोजेक्ट खोलकर शुरुआत करें", + "home.title": "होम", + "home.projects": "प्रोजेक्ट", + "home.project.add": "प्रोजेक्ट जोड़ें", + "home.recentlyClosed": "हाल ही में बंद हुआ", + "home.server.collapse": "सर्वर प्रोजेक्ट को संक्षिप्त करें", + "home.server.expand": "सर्वर प्रोजेक्ट का विस्तार करें", + "home.sessions.search.placeholder": "सेशन खोजें", + "home.sessions.search.placeholder.scoped": "{{scope}} में सेशन खोजें", + "home.sessions.search.sessions": "सेशन", + "home.sessions.search.noResults": "{{query}} के लिए कोई सेशन नहीं मिला", + "home.sessions.empty": "अभी तक यहां कुछ भी नहीं है", + "home.sessions.empty.description": "आरंभ करने के लिए एक सेशन बनाएं", + "home.sessions.group.today": "आज", + "home.sessions.group.yesterday": "कल", + "home.sessions.group.older": "पुराने", + "home.providerTip": "Claude, GPT, Gemini आदि सहित अन्य मॉडल का उपयोग करने के लिए 75+ प्रोवाइडर से कनेक्ट करें", + "session.tab.session": "सेशन", + "session.tab.review": "समीक्षा", + "session.tab.context": "कॉन्टेक्स्ट", + "session.tab.unknown": "अज्ञात सेशन", + "session.panel.reviewAndFiles": "समीक्षा और फ़ाइलें", + "session.error.notFound": "यह सेशन नहीं मिल सका", + "session.error.notFound.description": "यह टैब एक सेशन की ओर इशारा करता है जो अब इस सर्वर पर मौजूद नहीं है।", + "session.error.notFound.closeTab": "टैब बंद करें", + "session.error.serverConnection": "इस सर्वर से कनेक्ट नहीं किया जा सकता", + "session.review.filesChanged": "बदली गई फ़ाइलें: {{count}}", + "session.review.change.one": "परिवर्तन", + "session.review.change.other": "परिवर्तन", + "session.review.loadingChanges": "परिवर्तन लोड हो रहे हैं...", + "session.review.empty": "इस सेशन में अभी तक कोई बदलाव नहीं हुआ है", + "session.review.noVcs": "कोई Git संस्करण नियंत्रण प्रणाली नहीं पाई गई, परिवर्तन प्रदर्शित नहीं हुए", + "session.review.noVcs.createGit.title": "एक Git रिपॉजिटरी बनाएं", + "session.review.noVcs.createGit.description": + "इस प्रोजेक्ट में परिवर्तनों को ट्रैक करें, समीक्षा करें और पूर्ववत करें", + "session.review.noVcs.createGit.actionLoading": "Git रिपॉजिटरी बनाई जा रही है...", + "session.review.noVcs.createGit.action": "Git रिपॉजिटरी बनाएं", + "session.review.noSnapshot": "कॉन्फ़िगरेशन में स्नैपशॉट ट्रैकिंग अक्षम है, इसलिए सेशन परिवर्तन अनुपलब्ध हैं", + "session.review.noChanges": "कोई परिवर्तन नहीं", + "session.review.noUncommittedChanges": "अभी तक कोई अप्रतिबद्ध परिवर्तन नहीं", + "session.review.noBranchChanges": "अभी तक शाखा में कोई परिवर्तन नहीं", + "session.files.selectToOpen": "खोलने के लिए एक फ़ाइल का चयन करें", + "session.files.all": "सभी फ़ाइलें", + "session.files.empty": "कोई फ़ाइल नहीं", + "session.files.binaryContent": "बाइनरी फ़ाइल (सामग्री प्रदर्शित नहीं की जा सकती)", + "session.messages.renderEarlier": "पहले के संदेश रेंडर करें", + "session.messages.loadingEarlier": "पुराने संदेश लोड हो रहे हैं...", + "session.messages.loadEarlier": "पहले के संदेश लोड करें", + "session.messages.loading": "संदेश लोड हो रहे हैं...", + "session.messages.jumpToLatest": "नवीनतम पर जाएं", + "session.context.addToContext": "{{selection}} को कॉन्टेक्स्ट में जोड़ें", + "session.todo.title": "कार्य सूची", + "session.todo.collapse": "संकुचित करें", + "session.todo.expand": "विस्तृत करें", + "session.todo.progress": "{{total}} में से {{done}} कार्य पूरे हुए", + "session.question.progress": "{{total}} प्रश्नों में से {{current}}", + "session.question.minimize": "प्रश्न छोटा करें", + "session.question.restore": "प्रश्न पुनर्स्थापित करें", + "session.question.pending.one": "{{count}} लंबित प्रश्न", + "session.question.pending.other": "{{count}} लंबित प्रश्न", + "session.followupDock.summary.one": "कतार में {{count}} संदेश", + "session.followupDock.summary.other": "कतार में {{count}} संदेश", + "session.followupDock.sendNow": "अब भेजें", + "session.followupDock.edit": "संपादित करें", + "session.followupDock.collapse": "कतार के संदेश संकुचित करें", + "session.followupDock.expand": "कतार के संदेश विस्तृत करें", + "session.revertDock.summary.one": "{{count}} संदेश वापस लिया गया", + "session.revertDock.summary.other": "{{count}} संदेश वापस लिए गए", + "session.revertDock.collapse": "रोलबैक संदेशों को संक्षिप्त करें", + "session.revertDock.expand": "वापस लाये गए संदेशों का विस्तार करें", + "session.revertDock.restore": "संदेश पुनर्स्थापित करें", + "session.new.title": "कुछ भी बनाएँ", + "session.new.project.new": "नया प्रोजेक्ट", + "session.new.project.search": "प्रोजेक्ट खोजें", + "session.new.project.add": "प्रोजेक्ट जोड़ें", + "session.new.worktree.main": "मुख्य शाखा", + "session.new.worktree.mainWithBranch": "मुख्य शाखा ({{branch}})", + "session.new.worktree.create": "नया वर्कट्री बनाएं", + "session.new.workspace.runIn": "सेशन यहाँ चलाएँ", + "session.new.workspace.triggerLocal": "स्थानीय", + "session.new.workspace.local": "स्थानीय रिपॉजिटरी", + "session.new.workspace.existing": "वर्कस्पेस…", + "session.new.git.none": "कोई Git नहीं", + "session.new.lastModified": "अंतिम बार संशोधित", + "session.header.search.placeholder": "{{project}} खोजें", + "session.header.searchFiles": "फ़ाइलें खोजें", + "session.header.openIn": "में खोलें", + "session.header.open.action": "{{app}} खोलें", + "session.header.open.ariaLabel": "{{app}} में खोलें", + "session.header.open.menu": "विकल्प खोलें", + "session.header.open.copyPath": "पथ कॉपी करें", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "File Explorer", + "session.header.open.fileManager": "File Manager", + "session.header.reveal.finder": "Finder में प्रकट करें", + "session.header.reveal.fileExplorer": "File Explorer में प्रकट करें", + "session.header.reveal.containingFolder": "मूल फ़ोल्डर खोलें", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "टर्मिनल", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "स्थिति", + "status.popover.ariaLabel": "सर्वर कॉन्फ़िगरेशन", + "status.popover.tab.servers": "सर्वर", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "प्लग-इन", + "status.popover.action.manageServers": "सर्वर प्रबंधित करें", + "session.share.popover.title": "वेब पर प्रकाशित करें", + "session.share.popover.description.shared": + "यह सेशन वेब पर सार्वजनिक है। यह लिंक वाले किसी भी व्यक्ति के लिए सुलभ है।", + "session.share.popover.description.unshared": + "सेशन को वेब पर सार्वजनिक रूप से साझा करें। यह लिंक वाले किसी भी व्यक्ति के लिए सुलभ होगा।", + "session.share.action.share": "साझा करें", + "session.share.action.publish": "प्रकाशित करें", + "session.share.action.publishing": "प्रकाशित किया जा रहा है...", + "session.share.action.unpublish": "प्रकाशन हटाएँ", + "session.share.action.unpublishing": "प्रकाशन हटाया जा रहा है...", + "session.share.action.view": "देखें", + "session.share.copy.copied": "कॉपी किया गया", + "session.share.copy.copyLink": "लिंक कॉपी करें", + "lsp.tooltip.none": "कोई LSP सर्वर नहीं", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "प्रॉम्प्ट लोड हो रहा है...", + "terminal.loading": "टर्मिनल लोड हो रहा है...", + "terminal.title": "टर्मिनल", + "terminal.title.numbered": "टर्मिनल {{number}}", + "terminal.close": "टर्मिनल बंद करें", + "terminal.connectionLost.title": "कनेक्शन टूट गया", + "terminal.connectionLost.abnormalClose": "WebSocket असामान्य रूप से बंद हुआ: {{code}}", + "terminal.connectionLost.description": "टर्मिनल कनेक्शन बाधित हो गया था। ऐसा तब हो सकता है जब सर्वर पुनरारंभ हो।", + "terminal.connectTicket.csrfError": + "ओरिजिन या CSRF जाँच के कारण PTY कनेक्ट टिकट अस्वीकार कर दिया गया। सर्वर का CORS कॉन्फ़िगरेशन जाँचें।", + "terminal.connectTicket.statusError": "PTY कनेक्ट टिकट विफल रहा (स्थिति: {{status}})", + "titlebar.update": "अपडेट करें", + "titlebar.updateVersion": "अपडेट करें {{version}}", + "common.closeTab": "टैब बंद करें", + "common.dismiss": "हटाएँ", + "common.moreCountSuffix": " (+{{count}} और)", + "common.requestFailed": "अनुरोध विफल रहा", + "common.moreOptions": "अधिक विकल्प", + "common.learnMore": "और अधिक जानें", + "common.rename": "नाम बदलें", + "common.export": "निर्यात करें", + "common.reset": "रीसेट करें", + "common.archive": "संग्रहित करें", + "common.delete": "हटाएँ", + "common.close": "बंद करें", + "common.edit": "संपादित करें", + "common.loadMore": "और लोड करें", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "अज्ञात", + "common.time.justNow": "अभी-अभी", + "common.time.minutesAgo.short": "{{count}}m पहले", + "common.time.hoursAgo.short": "{{count}}h पहले", + "common.time.daysAgo.short": "{{count}}d पहले", + "sidebar.menu.toggle": "मेनू टॉगल करें", + "sidebar.nav.projectsAndSessions": "प्रोजेक्ट और सेशन", + "sidebar.settings": "सेटिंग्स", + "sidebar.help": "मदद", + "sidebar.workspaces.enable": "वर्कस्पेस सक्षम करें", + "sidebar.workspaces.disable": "वर्कस्पेस अक्षम करें", + "sidebar.gettingStarted.title": "शुरुआत करें", + "sidebar.gettingStarted.line1": "OpenCode में निःशुल्क मॉडल शामिल है ताकि आप तुरंत शुरू कर सकें।", + "sidebar.gettingStarted.line2": "Claude, GPT, Gemini आदि मॉडल उपयोग करने के लिए किसी भी प्रोवाइडर को कनेक्ट करें।", + "sidebar.project.recentSessions": "हाल ही में सेशन", + "sidebar.project.viewAllSessions": "सभी सेशन देखें", + "sidebar.project.clearNotifications": "सूचनाएँ साफ़ करें", + "sidebar.empty.title": "कोई प्रोजेक्ट खुला नहीं", + "sidebar.empty.description": "आरंभ करने के लिए एक प्रोजेक्ट खोलें", + "debugBar.ariaLabel": "विकास प्रदर्शन निदान", + "debugBar.na": "एन/ए", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "सेशन पृष्ठ को छूते हुए अंतिम पूर्ण मार्ग परिवर्तन, राउटर प्रारंभ से लेकर उसके व्यवस्थित होने के बाद पहले पेंट तक मापा जाता है।", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "पिछले 5 सेकंड में फ़्रेम प्रति सेकंड रोलिंग।", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "पिछले 5 सेकंड में सबसे खराब फ़्रेम समय।", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "अंतिम 5 सेकंड में 32 एमएस से अधिक फ़्रेम।", + "debugBar.long.label": "LONG", + "debugBar.long.tip": "पिछले 5 सेकंड में अवरुद्ध समय और लंबे कार्यों की संख्या। सबसे लंबा कार्य: {{max}}।", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "पिछले 5 सेकंड में सबसे खराब इनपुट विलंब देखा गया।", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": "पिछले 5 सेकंड में अनुमानित इंटरैक्शन अवधि। यह INP जैसा है, आधिकारिक Web Vitals INP नहीं।", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "वर्तमान ऐप जीवनकाल के लिए संचयी लेआउट बदलाव।", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "उपयोग किया गया JS हीप बनाम हीप सीमा। केवल Chromium।", + "debugBar.mem.tip": "उपयोग किया गया JS हीप बनाम हीप सीमा। {{limit}} में से {{used}}।", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "सभी इंटरैक्टिव एलिमेंट पर फ़ोकस स्टाइल ज़बरदस्ती लागू करें", + "debugBar.focus.on": "चालू", + "debugBar.focus.off": "बंद", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "चुनी गई भाषा बदले बिना पूरे ऐप की लेआउट दिशा ज़बरदस्ती सेट करें", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode Desktop", + "settings.section.desktop": "डेस्कटॉप", + "settings.section.server": "सर्वर", + "settings.tab.general": "सामान्य", + "settings.tab.shortcuts": "शॉर्टकट", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "WSL एकीकरण", + "settings.desktop.wsl.description": "Windows पर WSL के अंदर OpenCode सर्वर चलाएँ।", + "settings.general.section.appearance": "उपस्थिति", + "settings.general.section.advanced": "उन्नत", + "settings.general.section.notifications": "सिस्टम सूचनाएँ", + "settings.general.section.updates": "अपडेट", + "settings.general.section.sounds": "ध्वनि प्रभाव", + "settings.general.section.feed": "फ़ीड", + "settings.general.section.display": "प्रदर्शन", + "settings.general.row.language.title": "भाषा", + "settings.general.row.language.description": "OpenCode के लिए प्रदर्शन भाषा बदलें", + "settings.general.row.shell.title": "टर्मिनल शेल", + "settings.general.row.shell.description": "शेल का उपयोग टर्मिनल और एजेंट टूल द्वारा किया जाता है", + "settings.general.row.shell.autoDefault": "स्वतः (डिफ़ॉल्ट)", + "settings.general.row.shell.terminalOnly": "केवल टर्मिनल", + "settings.general.row.appearance.title": "उपस्थिति", + "settings.general.row.appearance.description": "अनुकूलित करें कि OpenCode आपके डिवाइस पर कैसा दिखता है", + "settings.general.row.colorScheme.title": "रंग योजना", + "settings.general.row.colorScheme.description": "चुनें कि OpenCode सिस्टम, हल्की या गहरी थीम में से किसका उपयोग करे", + "settings.general.row.theme.title": "थीम", + "settings.general.row.theme.description": "अनुकूलित करें कि OpenCode की थीम कैसी है।", + "settings.general.row.font.title": "कोड फ़ॉन्ट", + "settings.general.row.font.description": "कोड ब्लॉक में प्रयुक्त फ़ॉन्ट को अनुकूलित करें", + "settings.general.row.terminalFont.title": "टर्मिनल फ़ॉन्ट", + "settings.general.row.terminalFont.description": "टर्मिनल में प्रयुक्त फ़ॉन्ट को अनुकूलित करें", + "settings.general.row.uiFont.title": "UI फ़ॉन्ट", + "settings.general.row.uiFont.description": "पूरे इंटरफ़ेस में उपयोग किए गए फ़ॉन्ट को कस्टमाइज़ करें", + "settings.general.row.followup.title": "अनुवर्ती व्यवहार", + "settings.general.row.followup.description": + "चुनें कि क्या अनुवर्ती प्रॉम्प्ट तुरंत आगे बढ़ेगा या कतार में प्रतीक्षा करेगा", + "settings.general.row.followup.option.queue": "कतार", + "settings.general.row.followup.option.steer": "तुरंत निर्देश दें", + "settings.general.row.showFileTree.title": "फ़ाइल वृक्ष", + "settings.general.row.showFileTree.description": "सेशन में फ़ाइल ट्री पैनल दिखाएँ", + "settings.general.row.showNavigation.title": "नेविगेशन नियंत्रण", + "settings.general.row.showNavigation.description": "डेस्कटॉप टाइटल बार में पीछे और आगे के बटन दिखाएँ", + "settings.general.row.showSearch.title": "कमांड पैलेट", + "settings.general.row.showSearch.description": "टाइटल बार में खोज और कमांड पैलेट बटन दिखाएँ", + "settings.general.row.showTerminal.title": "टर्मिनल", + "settings.general.row.showTerminal.description": "डेस्कटॉप टाइटल बार में टर्मिनल बटन दिखाएँ", + "settings.general.row.showStatus.title": "सर्वर की स्थिति", + "settings.general.row.showStatus.description": "टाइटल बार में सर्वर स्थिति बटन दिखाएँ", + "settings.general.row.mobileTitlebarBottom.title": "निचला नेविगेशन", + "settings.general.row.mobileTitlebarBottom.description": "मोबाइल पर स्क्रीन के नीचे टाइटल बार और सेशन टैब रखें", + "settings.general.row.showCustomAgents.title": "एजेंट दिखाएँ", + "settings.general.row.showCustomAgents.description": + "कंपोज़र में एजेंट के बीच स्विच करें। छिपाए जाने पर, डिफ़ॉल्ट रूप से बिल्ड एजेंट हो जाता है।", + "settings.general.row.reasoningSummaries.title": "तर्क सारांश दिखाएँ", + "settings.general.row.reasoningSummaries.description": "टाइमलाइन में मॉडल तर्क सारांश प्रदर्शित करें", + "settings.general.row.shellToolPartsExpanded.title": "शेल टूल पार्ट्स का विस्तार करें", + "settings.general.row.shellToolPartsExpanded.description": + "टाइमलाइन में डिफ़ॉल्ट रूप से विस्तारित शेल टूल पार्ट्स दिखाएं", + "settings.general.row.editToolPartsExpanded.title": "संपादन टूल भागों का विस्तार करें", + "settings.general.row.editToolPartsExpanded.description": + "टाइमलाइन में डिफ़ॉल्ट रूप से विस्तारित संपादित करें, लिखें और पैच टूल पार्ट्स दिखाएं", + "settings.general.row.newInterface.title": "नया लेआउट", + "settings.general.row.newInterface.badge": "नया", + "settings.general.row.newInterface.description": + "नए टैब और होम लेआउट का उपयोग करें. सीमित समय के लिए लेआउट के बीच स्विच करें।", + "settings.general.row.newInterfaceNotice.title": "अब आप नए लेआउट का उपयोग कर रहे हैं", + "settings.general.row.newInterfaceNotice.description": "पिछला लेआउट अब उपलब्ध नहीं है", + "settings.general.row.newInterfaceNotice.dismiss": "हटाएँ", + "settings.general.row.pinchZoom.title": "ज़ूम करने के लिए पिंच करें", + "settings.general.row.pinchZoom.description": "ट्रैकपैड पिंच और Ctrl-स्क्रॉल जेस्चर को ज़ूम करने की अनुमति दें", + "settings.general.row.wayland.title": "नेटिव Wayland का उपयोग करें", + "settings.general.row.wayland.description": "Wayland पर X11 फ़ॉलबैक अक्षम करें। पुनः आरंभ करना आवश्यक है।", + "settings.general.row.wayland.tooltip": + "अलग-अलग रीफ़्रेश दर वाले मॉनिटर के साथ Linux पर नेटिव Wayland अधिक स्थिर हो सकता है।", + "settings.general.row.releaseNotes.title": "रिलीज़ नोट्स", + "settings.general.row.releaseNotes.description": "अपडेट के बाद 'नया क्या है' पॉपअप दिखाएँ", + "settings.updates.row.startup.title": "स्टार्टअप पर अपडेट की जाँच करें", + "settings.updates.row.startup.description": "OpenCode लॉन्च होने पर अपने-आप अपडेट की जाँच करें", + "settings.updates.row.check.title": "अद्यतन के लिए जाँच", + "settings.updates.row.check.description": "अपडेट के लिए मैन्युअल रूप से जाँच करें और यदि उपलब्ध हो तो इंस्टॉल करें", + "settings.updates.action.checkNow": "अभी जाँचें", + "settings.updates.action.checking": "जाँच हो रही है...", + "settings.updates.action.downloading": "डाउनलोड हो रहा है...", + "settings.updates.action.installing": "स्थापित किया जा रहा है...", + "settings.updates.toast.latest.title": "आपके पास नवीनतम संस्करण है", + "settings.updates.toast.latest.description": "आप OpenCode का नवीनतम संस्करण चला रहे हैं।", + "sound.option.none": "कोई नहीं", + "sound.option.alert01": "Alert 01", + "sound.option.alert02": "Alert 02", + "sound.option.alert03": "Alert 03", + "sound.option.alert04": "Alert 04", + "sound.option.alert05": "Alert 05", + "sound.option.alert06": "Alert 06", + "sound.option.alert07": "Alert 07", + "sound.option.alert08": "Alert 08", + "sound.option.alert09": "Alert 09", + "sound.option.alert10": "Alert 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "Nope 01", + "sound.option.nope02": "Nope 02", + "sound.option.nope03": "Nope 03", + "sound.option.nope04": "Nope 04", + "sound.option.nope05": "Nope 05", + "sound.option.nope06": "Nope 06", + "sound.option.nope07": "Nope 07", + "sound.option.nope08": "Nope 08", + "sound.option.nope09": "Nope 09", + "sound.option.nope10": "Nope 10", + "sound.option.nope11": "Nope 11", + "sound.option.nope12": "Nope 12", + "sound.option.yup01": "Yup 01", + "sound.option.yup02": "Yup 02", + "sound.option.yup03": "Yup 03", + "sound.option.yup04": "Yup 04", + "sound.option.yup05": "Yup 05", + "sound.option.yup06": "Yup 06", + "settings.general.notifications.agent.title": "एजेंट", + "settings.general.notifications.agent.description": + "जब एजेंट पूरा हो जाए या ध्यान देने की आवश्यकता हो तो सिस्टम अधिसूचना दिखाएं", + "settings.general.notifications.permissions.title": "अनुमतियाँ", + "settings.general.notifications.permissions.description": "अनुमति की आवश्यकता होने पर सिस्टम अधिसूचना दिखाएं", + "settings.general.notifications.errors.title": "त्रुटियाँ", + "settings.general.notifications.errors.description": "त्रुटि होने पर सिस्टम अधिसूचना दिखाएं", + "settings.general.sounds.agent.title": "एजेंट", + "settings.general.sounds.agent.description": "जब एजेंट पूरा हो जाए या ध्यान देने की आवश्यकता हो तो ध्वनि बजाएं", + "settings.general.sounds.permissions.title": "अनुमतियाँ", + "settings.general.sounds.permissions.description": "अनुमति की आवश्यकता होने पर ध्वनि बजाएं", + "settings.general.sounds.errors.title": "त्रुटियाँ", + "settings.general.sounds.errors.description": "कोई त्रुटि होने पर ध्वनि बजाएं", + "settings.shortcuts.title": "कीबोर्ड शॉर्टकट", + "settings.shortcuts.reset.button": "डिफ़ॉल्ट पर पुनः सेट करें", + "settings.shortcuts.reset.toast.title": "शॉर्टकट रीसेट", + "settings.shortcuts.reset.toast.description": "कीबोर्ड शॉर्टकट को डिफ़ॉल्ट पर रीसेट कर दिया गया है।", + "settings.shortcuts.conflict.title": "शॉर्टकट पहले से ही उपयोग में है", + "settings.shortcuts.conflict.description": "{{keybind}} पहले से ही {{titles}} को सौंपा गया है।", + "settings.shortcuts.unassigned": "सौंपे नहीं गए", + "settings.shortcuts.pressKeys": "कुंजियाँ दबाएँ", + "settings.shortcuts.search.placeholder": "शॉर्टकट खोजें", + "settings.shortcuts.search.empty": "कोई शॉर्टकट नहीं मिला", + "settings.shortcuts.group.general": "सामान्य", + "settings.shortcuts.group.session": "सेशन", + "settings.shortcuts.group.navigation": "नेविगेशन", + "settings.shortcuts.group.modelAndAgent": "मॉडल और एजेंट", + "settings.shortcuts.group.terminal": "टर्मिनल", + "settings.shortcuts.group.prompt": "प्रॉम्प्ट", + "settings.providers.title": "प्रोवाइडर", + "settings.providers.description": "प्रोवाइडर सेटिंग्स यहां कॉन्फ़िगर करने योग्य होंगी।", + "settings.providers.section.connected": "कनेक्टेड प्रोवाइडर", + "settings.providers.connected.empty": "कोई कनेक्टेड प्रोवाइडर नहीं", + "settings.providers.connected.environmentDescription": "आपके एनवायरनमेंट वेरिएबल से कनेक्ट किया गया", + "settings.providers.section.popular": "लोकप्रिय प्रोवाइडर", + "settings.providers.custom.description": "आधार URL द्वारा एक OpenAI-संगत प्रोवाइडर जोड़ें।", + "settings.providers.tag.environment": "एनवायरनमेंट", + "settings.providers.tag.config": "कॉन्फ़िगरेशन", + "settings.providers.tag.custom": "कस्टम", + "settings.providers.tag.other": "अन्य", + "settings.models.title": "मॉडल", + "settings.models.description": "मॉडल सेटिंग्स यहां कॉन्फ़िगर करने योग्य होंगी।", + "settings.agents.title": "एजेंट", + "settings.agents.description": "एजेंट सेटिंग्स यहां कॉन्फ़िगर करने योग्य होंगी।", + "settings.commands.title": "कमांड", + "settings.commands.description": "कमांड सेटिंग्स यहां कॉन्फ़िगर करने योग्य होंगी।", + "settings.mcp.title": "MCP", + "settings.mcp.description": "MCP सेटिंग्स यहां कॉन्फ़िगर करने योग्य होंगी।", + "settings.permissions.title": "अनुमतियाँ", + "settings.permissions.description": "नियंत्रित करें कि सर्वर डिफ़ॉल्ट रूप से कौन से टूल का उपयोग कर सकता है।", + "settings.permissions.section.tools": "टूल", + "settings.permissions.toast.updateFailed.title": "अनुमतियाँ अद्यतन करने में विफल", + "settings.permissions.action.allow": "अनुमति दें", + "settings.permissions.action.ask": "पूछें", + "settings.permissions.action.deny": "अस्वीकार करें", + "settings.permissions.tool.read.title": "पढ़ें", + "settings.permissions.tool.read.description": "फ़ाइल पढ़ना (फ़ाइल पथ से मेल खाता है)", + "settings.permissions.tool.edit.title": "संपादित करें", + "settings.permissions.tool.edit.description": "संपादन, लेखन और पैच सहित फ़ाइलों को संशोधित करें", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "ग्लोब पैटर्न का उपयोग करके फ़ाइलों का मिलान करें", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "रेगुलर एक्सप्रेशन का उपयोग करके फ़ाइल सामग्री खोजें", + "settings.permissions.tool.list.title": "सूची", + "settings.permissions.tool.list.description": "किसी निर्देशिका में फ़ाइलों की सूची बनाएं", + "settings.permissions.tool.bash.title": "Bash", + "settings.permissions.tool.bash.description": "शेल कमांड चलाएँ", + "settings.permissions.tool.task.title": "कार्य", + "settings.permissions.tool.task.description": "उप-एजेंट लॉन्च करें", + "settings.permissions.tool.skill.title": "कौशल", + "settings.permissions.tool.skill.description": "किसी कौशल को नाम से लोड करें", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "भाषा सर्वर क्वेरी चलाएँ", + "settings.permissions.tool.todowrite.title": "Todo Write", + "settings.permissions.tool.todowrite.description": "कार्य सूची अद्यतन करें", + "settings.permissions.tool.webfetch.title": "Web Fetch", + "settings.permissions.tool.webfetch.description": "URL से सामग्री प्राप्त करें", + "settings.permissions.tool.websearch.title": "Web Search", + "settings.permissions.tool.websearch.description": "वेब खोज", + "settings.permissions.tool.external_directory.title": "बाह्य निर्देशिका", + "settings.permissions.tool.external_directory.description": "प्रोजेक्ट निर्देशिका के बाहर फ़ाइलों तक पहुँचें", + "settings.permissions.tool.doom_loop.title": "Doom Loop", + "settings.permissions.tool.doom_loop.description": "समान इनपुट के साथ बार-बार टूल कॉल का पता लगाएं", + "session.delete.failed.title": "सेशन को हटाने में विफल", + "session.delete.title": "सेशन हटाएं", + "session.delete.confirm": 'सेशन "{{name}}" हटाएं?', + "session.delete.button": "सेशन हटाएं", + "workspace.new": "नया वर्कस्पेस", + "workspace.type.local": "स्थानीय", + "workspace.type.sandbox": "सैंडबॉक्स", + "workspace.create.failed.title": "वर्कस्पेस बनाने में विफल", + "workspace.delete.failed.title": "वर्कस्पेस को हटाने में विफल", + "workspace.resetting.title": "वर्कस्पेस को रीसेट करना", + "workspace.resetting.description": "इसमें एक मिनट लग सकता है।", + "workspace.reset.failed.title": "वर्कस्पेस को रीसेट करने में विफल", + "workspace.reset.success.title": "वर्कस्पेस रीसेट", + "workspace.reset.success.description": "वर्कस्पेस अब डिफ़ॉल्ट शाखा से मेल खाता है।", + "workspace.error.stillPreparing": "वर्कस्पेस अभी भी तैयारी कर रहा है", + "workspace.status.checking": "मर्ज न किए गए परिवर्तनों की जाँच हो रही है...", + "workspace.status.error": "Git स्थिति सत्यापित नहीं की जा सकी।", + "workspace.status.clean": "मर्ज न किए गए कोई परिवर्तन नहीं मिले।", + "workspace.status.dirty": "इस वर्कस्पेस में मर्ज न किए गए परिवर्तन मिले।", + "workspace.delete.title": "वर्कस्पेस हटाएं", + "workspace.delete.confirm": 'वर्कस्पेस "{{name}}" हटाएं?', + "workspace.delete.button": "वर्कस्पेस हटाएं", + "workspace.reset.title": "वर्कस्पेस रीसेट करें", + "workspace.reset.confirm": 'वर्कस्पेस "{{name}}" रीसेट करें?', + "workspace.reset.button": "वर्कस्पेस रीसेट करें", + "workspace.reset.archived.none": "कोई सक्रिय सेशन संग्रहित नहीं किया जाएगा।", + "workspace.reset.archived.one": "1 सेशन संग्रहित किया जाएगा।", + "workspace.reset.archived.many": "{{count}} सेशन संग्रहित किए जाएँगे।", + "workspace.reset.note": "यह डिफ़ॉल्ट शाखा से मिलान करने के लिए वर्कस्पेस को रीसेट कर देगा।", +} diff --git a/packages/app/src/i18n/hr.ts b/packages/app/src/i18n/hr.ts new file mode 100644 index 000000000000..2130c88ada2d --- /dev/null +++ b/packages/app/src/i18n/hr.ts @@ -0,0 +1,1168 @@ +import { DESKTOP_NATIVE_KEYS } from "./desktop-native" + +const desktop = [ + "OpenCode", + "Datoteka", + "Uredi", + "Prikaz", + "Idi", + "Prozor", + "Pomoć", + "Provjeri ima li ažuriranja...", + "Postavke", + "Ponovno učitaj Webview", + "Ponovno pokreni", + "Izvezi zapisnike...", + "Nova sesija", + "Otvori projekt...", + "Novi prozor", + "Zatvori prozor", + "Poništi", + "Ponovi", + "Izreži", + "Kopiraj", + "Zalijepi", + "Izbriši", + "Odaberi sve", + "Prikaži ili sakrij bočnu traku", + "Prikaži ili sakrij terminal", + "Prikaži ili sakrij stablo datoteka", + "Ponovno učitaj", + "Prikaži ili sakrij razvojne alate", + "Stvarna veličina", + "Povećaj", + "Smanji", + "Prikaži ili sakrij prikaz preko cijelog zaslona", + "Natrag", + "Naprijed", + "Prethodna sesija", + "Sljedeća sesija", + "Prethodni projekt", + "Sljedeći projekt", + "Minimiziraj", + "Maksimiziraj", + "Dokumentacija za OpenCode", + "Forum za podršku", + "Pošalji povratne informacije", + "Prijavi pogrešku", + "Izbornik OpenCode", + "Provjera ažuriranja nije uspjela.", + "Pogreška pri ažuriranju", + "Imate najnoviju verziju.", + "Nema ažuriranja", + "Ažuriranje {{version}} je preuzeto. Ponovno pokrenuti sada?", + "Ažuriranje je spremno", + "Ponovno pokreni", + "Kasnije", + "Ponovno pokreni aplikaciju", + "Izvezi zapisnike", + "Nastavi čekati", + "Izađi", + "OpenCode se nije uspio učitati", + "Prozor aplikacije OpenCode neočekivano je zatvoren", + "OpenCode ne reagira", + "Možete ponovno pokrenuti aplikaciju, otvoriti zapisnike ili nastaviti čekati.", + "Prozor: {{window}}\nURL: {{url}}\nPogreška: {{code}} {{description}}", + "Prozor: {{window}}\nRazlog: {{reason}}\nKod: {{code}}", + "", + "Odaberite mapu", + "Odaberite datoteku", + "Spremi datoteku", + "Datoteke", + "Lokalni poslužitelj", + "WSL je dostupan samo u sustavu Windows", + "WSL nije dostupan", + "Nije uspjelo prikazivanje instaliranih WSL distribucija", + "Nije uspjelo prikazivanje dostupnih WSL distribucija", + "Nije moguće izvršiti naredbe u distribuciji", + "Instalacija WSL-a nije uspjela", + "Instalacija distribucije nije uspjela: {{distro}}", + "Instalacija aplikacije OpenCode nije uspjela", + "Distribucija {{distro}} već je dodana", + "opencode nije instaliran u ovoj distribuciji", + "opencode je instaliran, ali se ne može pokrenuti", + "OpenCode nije instaliran u distribuciji {{distro}}", + "Ažuriranje aplikacije OpenCode je završeno, ali {{distro}} i dalje prijavljuje {{installed}}; očekivano je {{expected}}", + "nema verzije", + "WSL poslužitelj završio je rad nakon pokretanja (code={{code}} signal={{signal}})", + "WSL poslužitelj završio je rad prije nego što je postao dostupan (code={{code}} signal={{signal}}){{output}}", + "Isteklo je vrijeme provjere dostupnosti komponente Sidecar za {{distro}} nakon {{timeout}} ms", + "Isteklo je vrijeme za {{command}} {{args}} nakon {{timeout}} ms", + "Nije uspjelo dohvaćanje priključka", + "Datoteka nije odabrana u izborniku", + "Odabrani prilozi premašuju ograničenje od {{limit}} MB", +] + +export const dict = { + ...Object.fromEntries(DESKTOP_NATIVE_KEYS.map((key, index) => [key, desktop[index]])), + "command.category.suggested": "Predloženo", + "command.category.view": "Prikaz", + "command.category.project": "Projekt", + "command.category.provider": "Pružatelj usluga", + "command.category.server": "Poslužitelj", + "command.category.session": "Sesija", + "command.category.theme": "Tema", + "command.category.language": "Jezik", + "command.category.file": "Datoteka", + "command.category.context": "Kontekst", + "command.category.terminal": "Terminal", + "command.category.model": "Model", + "command.category.mcp": "MCP", + "command.category.agent": "Agent", + "command.category.permissions": "Dozvole", + "command.category.workspace": "Radni prostor", + "command.category.settings": "Postavke", + "command.logs.export": "Izvoz zapisnika", + "theme.scheme.system": "Sustav", + "theme.scheme.light": "Svijetlo", + "theme.scheme.dark": "Tamno", + "command.sidebar.toggle": "Uključi/isključi bočnu traku", + "command.project.open": "Otvori projekt", + "command.project.previous": "Prethodni projekt", + "command.project.next": "Sljedeći projekt", + "command.project.index": "Prijeđi na projekt {{index}}", + "command.provider.connect": "Poveži pružatelja usluga", + "command.server.switch": "Promijeni poslužitelj", + "command.settings.open": "Otvori postavke", + "command.session.previous": "Prethodna sesija", + "command.session.next": "Sljedeća sesija", + "command.session.previous.unseen": "Prethodna nepročitana sesija", + "command.session.next.unseen": "Sljedeća nepročitana sesija", + "command.session.archive": "Arhiviraj sesiju", + "command.palette": "Paleta naredbi", + "command.theme.cycle": "Promijeni temu", + "command.theme.set": "Koristite temu: {{theme}}", + "command.theme.scheme.cycle": "Promijeni shemu boja", + "command.theme.scheme.set": "Koristite shemu boja: {{scheme}}", + "command.language.cycle": "Promijeni jezik", + "command.language.set": "Koristite jezik: {{language}}", + "command.session.new": "Nova sesija", + "command.file.open": "Otvori datoteku", + "command.tab.close": "Zatvori karticu", + "command.tab.reopenClosed": "Ponovno otvori zatvorenu karticu", + "command.context.addSelection": "Dodajte odabir kontekstu", + "command.context.addSelection.description": "Dodaj odabrane retke iz trenutne datoteke", + "command.input.focus": "Fokusiraj unos", + "command.terminal.toggle": "Prebaci terminal", + "command.fileTree.toggle": "Uključi/isključi stablo datoteka", + "command.review.toggle": "Uključi pregled", + "command.terminal.new": "Novi terminal", + "command.terminal.new.description": "Napravite novu karticu terminala", + "command.steps.toggle": "Prebacivanje koraka", + "command.steps.toggle.description": "Prikažite ili sakrijte korake za trenutnu poruku", + "command.message.previous": "Prethodna poruka", + "command.message.previous.description": "Idi na prethodnu korisničku poruku", + "command.message.next": "Sljedeća poruka", + "command.message.next.description": "Idi na sljedeću korisničku poruku", + "command.model.choose": "Odaberite model", + "command.model.choose.description": "Odaberite drugi model", + "command.mcp.toggle": "Uključi/isključi MCPs", + "command.mcp.toggle.description": "Uključi/isključi MCPs", + "command.agent.cycle": "Promijeni agenta", + "command.agent.cycle.description": "Prijeđite na sljedećeg agenta", + "command.agent.cycle.reverse": "Vrati se na prethodnog agenta", + "command.agent.cycle.reverse.description": "Prijeđi na prethodnog agenta", + "command.model.variant.cycle": "Ciklusni napor razmišljanja", + "command.model.variant.cycle.description": "Prijeđite na sljedeću razinu napora", + "command.prompt.mode.shell": "Ljuska", + "command.prompt.mode.normal": "Upit", + "command.permissions.autoaccept.enable": "Automatsko prihvaćanje dopuštenja", + "command.permissions.autoaccept.disable": "Zaustavi automatsko prihvaćanje dozvola", + "command.workspace.toggle": "Uključivanje/isključivanje radnih prostora", + "command.workspace.toggle.description": "Omogućite ili onemogućite više radnih prostora na bočnoj traci", + "command.session.undo": "Poništi", + "command.session.undo.description": "Poništavanje zadnje poruke", + "command.session.redo": "Ponovi", + "command.session.redo.description": "Ponovite zadnju poništenu poruku", + "command.session.compact": "Sažmi sesiju", + "command.session.compact.description": "Sažmite sesiju kako biste smanjili veličinu konteksta", + "command.session.fork": "Odvoji od poruke", + "command.session.fork.description": "Stvorite novu sesiju iz prethodne poruke", + "command.session.share": "Podijeli sesiju", + "command.session.share.description": "Podijelite ovu sesiju i kopirajte URL u međuspremnik", + "command.session.unshare": "Poništi dijeljenje sesije", + "command.session.unshare.description": "Prestani dijeliti ovu sesiju", + "command.session.export": "Izvezi sesiju", + "command.session.export.description": "Izvezite puni transkript sesije kao JSON", + "palette.search.placeholder": "Pretraživanje datoteka, naredbi i sesija", + "palette.search.placeholder.home": "Naredbe i sesije pretraživanja", + "palette.empty": "Nema pronađenih rezultata", + "palette.group.commands": "Naredbe", + "palette.group.files": "Datoteke", + "dialog.provider.search.placeholder": "Pružatelji usluga pretraživanja", + "dialog.provider.empty": "Nije pronađen nijedan pružatelj usluga", + "dialog.provider.group.popular": "Popularan", + "dialog.provider.group.other": "ostalo", + "dialog.provider.custom.label": "Prilagođeni pružatelj kompatibilan sa OpenAI", + "dialog.provider.tag.recommended": "Preporučeno", + "dialog.provider.opencode.note": "Odabrani modeli uključujući Claude, GPT, Gemini i druge", + "dialog.provider.opencode.tagline": "Pouzdani optimizirani modeli", + "dialog.provider.opencodeGo.tagline": "Niska cijena pretplate za sve", + "dialog.provider.anthropic.note": "Izravan pristup Claude modelima, uključujući Pro i Max", + "dialog.provider.copilot.note": "AI modeli za pomoć kodiranja putem GitHub Copilot", + "dialog.provider.openai.note": "GPT modeli za brze, sposobne opće AI zadatke", + "dialog.provider.google.note": "Gemini modeli za brze, strukturirane odgovore", + "dialog.provider.openrouter.note": "Pristupite svim podržanim modelima od jednog pružatelja usluga", + "dialog.provider.vercel.note": "Unificirani pristup AI modelima s pametnim usmjeravanjem", + "dialog.model.select.title": "Odaberite model", + "dialog.model.search.placeholder": "Traži modele", + "dialog.model.empty": "Nema rezultata modela", + "dialog.model.manage": "Upravljanje modelima", + "dialog.model.manage.description": "Prilagodite koji se modeli pojavljuju u biraču modela.", + "dialog.model.manage.provider.toggle": "Uključi sve {{provider}} modele", + "dialog.model.unpaid.freeModels.title": "Besplatne modele nudi OpenCode", + "dialog.model.unpaid.addMore.title": "Dodajte još modela popularnih dobavljača", + "dialog.model.unpaid.viewMoreProviders": "Pogledajte više od 70 pružatelja usluga", + "dialog.provider.viewAll": "Prikaži više pružatelja usluga", + "provider.connect.title": "Povežite {{provider}}", + "provider.connect.title.anthropicProMax": "Prijavite se sa Claude Pro/Max", + "provider.connect.selectMethod": "Odaberite način prijave za {{provider}}.", + "provider.connect.method.apiKey": "Ključ API", + "provider.connect.method.browser": "preglednik", + "provider.connect.method.headless": "Bezglav", + "provider.connect.status.inProgress": "Autorizacija u tijeku...", + "provider.connect.status.waiting": "Čeka se autorizacija...", + "provider.connect.status.failed": "Autorizacija nije uspjela: {{error}}", + "provider.connect.apiKey.description": + "Enter vaš {{provider}} API ključ za povezivanje vašeg računa i korištenje {{provider}} modela u OpenCode.", + "provider.connect.apiKey.label": "{{provider}} API ključ", + "provider.connect.apiKey.placeholder": "Ključ API", + "provider.connect.apiKey.required": "Potreban je ključ API", + "provider.connect.opencodeZen.line1": + "OpenCode Zen vam daje pristup odabranom skupu pouzdanih optimiziranih modela za agente za kodiranje.", + "provider.connect.opencodeZen.line2": + "S jednim ključem API dobit ćete pristup modelima kao što su Claude, GPT, Gemini, GLM i još mnogo toga.", + "provider.connect.opencodeZen.visit.prefix": "Posjetiti", + "provider.connect.opencodeZen.visit.link": "otvoreni kod.ai/zen", + "provider.connect.opencodeZen.visit.suffix": "da preuzmete svoj ključ API.", + "provider.connect.oauth.code.visit.prefix": "Posjetiti", + "provider.connect.oauth.code.visit.link": "ovaj link", + "provider.connect.oauth.code.visit.suffix": + "za prikupljanje vašeg autorizacijskog koda za povezivanje vašeg računa i korištenje {{provider}} modela u OpenCode.", + "provider.connect.oauth.code.label": "{{method}} autorizacijski kod", + "provider.connect.oauth.code.placeholder": "Autorizacijski kod", + "provider.connect.oauth.code.required": "Potreban je autorizacijski kod", + "provider.connect.oauth.code.invalid": "Nevažeći autorizacijski kod", + "provider.connect.oauth.auto.visit.prefix": "Posjetiti", + "provider.connect.oauth.auto.visit.link": "ovaj link", + "provider.connect.oauth.auto.visit.suffix": + "i unesite kod ispod kako biste povezali svoj račun i koristili {{provider}} modele u OpenCode.", + "provider.connect.oauth.auto.confirmationCode": "Kod za potvrdu", + "provider.connect.toast.connected.title": "{{provider}} povezan", + "provider.connect.toast.connected.description": "{{provider}} modeli sada su dostupni za korištenje.", + "provider.custom.title": "Prilagođeni pružatelj usluga", + "provider.custom.unavailable": "Prilagođeni pružatelji usluga nisu dostupni na ovom poslužitelju", + "provider.custom.description.prefix": "Konfigurirajte OpenAI-kompatibilnog pružatelja usluga. Vidite", + "provider.custom.description.link": "konfiguracijski dokumenti pružatelja usluga", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "ID davatelja usluga", + "provider.custom.field.providerID.placeholder": "moj davatelj usluga", + "provider.custom.field.providerID.description": "Mala slova, brojevi, crtice ili podvlake", + "provider.custom.field.name.label": "Ime za prikaz", + "provider.custom.field.name.placeholder": "Moj AI Provider", + "provider.custom.field.baseURL.label": "Baza URL", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "Ključ API", + "provider.custom.field.apiKey.placeholder": "Ključ API", + "provider.custom.field.apiKey.description": + "Neobavezno. Ostavite prazno ako autentifikacijom upravljate putem zaglavlja.", + "provider.custom.models.label": "Modeli", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "model-id", + "provider.custom.models.name.label": "Ime", + "provider.custom.models.name.placeholder": "Ime za prikaz", + "provider.custom.models.remove": "Ukloni model", + "provider.custom.models.add": "Dodajte model", + "provider.custom.headers.label": "Zaglavlja (nije obavezno)", + "provider.custom.headers.key.label": "Zaglavlje", + "provider.custom.headers.key.placeholder": "Zaglavlje-Naziv", + "provider.custom.headers.value.label": "Vrijednost", + "provider.custom.headers.value.placeholder": "vrijednost", + "provider.custom.headers.remove": "Ukloni zaglavlje", + "provider.custom.headers.add": "Dodajte zaglavlje", + "provider.custom.error.providerID.required": "Potreban je ID davatelja usluga", + "provider.custom.error.providerID.format": "Koristite mala slova, brojeve, crtice ili podvlake", + "provider.custom.error.providerID.exists": "Taj ID davatelja već postoji", + "provider.custom.error.name.required": "Potrebno je ime za prikaz", + "provider.custom.error.baseURL.required": "Potrebna je baza URL", + "provider.custom.error.baseURL.format": "Mora započeti s http:// ili https://", + "provider.custom.error.required": "Potreban", + "provider.custom.error.duplicate": "Duplikat", + "provider.disconnect.toast.disconnected.title": "{{provider}} isključen", + "provider.disconnect.toast.disconnected.description": "{{provider}} modeli više nisu dostupni.", + "model.tag.free": "Besplatno", + "model.tag.latest": "Najnoviji", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "tekst", + "model.input.image": "slika", + "model.input.audio": "audio", + "model.input.video": "video", + "model.input.pdf": "pdf", + "model.tooltip.allows": "Dopušta: {{inputs}}", + "model.tooltip.context.label": "Kontekst", + "model.tooltip.inputs": "Unosi", + "model.tooltip.model": "Model", + "model.tooltip.provider": "Pružatelj usluga", + "model.tooltip.reasoning": "Rasuđivanje", + "model.tooltip.reasoning.allowed": "Omogućuje rasuđivanje", + "model.tooltip.reasoning.none": "Bez obrazloženja", + "model.tooltip.context": "Ograničenje konteksta {{limit}}", + "common.search.placeholder": "Pretraživanje", + "common.goBack": "Navigacija natrag", + "common.goForward": "Navigacija naprijed", + "common.loading": "Učitavanje", + "common.loading.ellipsis": "...", + "common.cancel": "Otkazati", + "common.clear": "Jasan", + "common.open": "Otvoriti", + "common.connect": "Poveži se", + "common.disconnect": "Prekini vezu", + "common.continue": "Nastaviti", + "common.submit": "Pošalji", + "common.save": "Uštedjeti", + "common.saving": "Spremanje...", + "common.default": "Zadano", + "common.attachment": "privitak", + "prompt.placeholder.shell": "Unesite naredbu ljuske... {{example}}", + "prompt.placeholder.normal": 'Pitajte bilo što... "{{example}}"', + "prompt.placeholder.simple": "Pitajte bilo što...", + "prompt.placeholder.summarizeComments": "Sažeti komentare…", + "prompt.placeholder.summarizeComment": "Sažeti komentar…", + "prompt.mode.shell": "Ljuska", + "prompt.mode.normal": "Upit", + "prompt.mode.shell.exit": "esc za izlaz", + "session.child.promptDisabled": "Sesije subagenta ne mogu se tražiti.", + "session.child.backToParent": "Povratak na glavnu sesiju.", + "prompt.example.1": "Ispravite TODO u bazi koda", + "prompt.example.2": "Koji je tehnološki skup ovog projekta?", + "prompt.example.3": "Popravi pokvarene testove", + "prompt.example.4": "Objasnite kako funkcionira autentifikacija", + "prompt.example.5": "Pronađite i popravite sigurnosne propuste", + "prompt.example.6": "Dodajte jedinične testove za korisničku uslugu", + "prompt.example.7": "Prepravite ovu funkciju da bude čitljivija", + "prompt.example.8": "Što ova greška znači?", + "prompt.example.9": "Pomozite mi otkloniti ovu pogrešku", + "prompt.example.10": "Generirajte API dokumentaciju", + "prompt.example.11": "Optimizirajte upite baze podataka", + "prompt.example.12": "Dodajte potvrdu unosa", + "prompt.example.13": "Stvorite novu komponentu za...", + "prompt.example.14": "Kako mogu implementirati ovaj projekt?", + "prompt.example.15": "Pregledajte moj kod radi najboljih praksi", + "prompt.example.16": "Dodajte rukovanje pogreškama ovoj funkciji", + "prompt.example.17": "Objasnite ovaj uzorak regularnog izraza", + "prompt.example.18": "Pretvorite ovo u TypeScript", + "prompt.example.19": "Dodajte bilježenje kroz bazu koda", + "prompt.example.20": "Koje su ovisnosti zastarjele?", + "prompt.example.21": "Pomozite mi napisati skriptu za migraciju", + "prompt.example.22": "Implementirajte predmemoriranje za ovu krajnju točku", + "prompt.example.23": "Dodajte paginaciju ovom popisu", + "prompt.example.24": "Kreirajte naredbu CLI za...", + "prompt.example.25": "Kako ovdje rade varijable okruženja?", + "prompt.popover.emptyResults": "Nema odgovarajućih rezultata", + "prompt.popover.emptyCommands": "Nema odgovarajućih naredbi", + "prompt.dropzone.label": "Ovdje ispustite slike, PDF-ove ili tekstualne datoteke", + "prompt.dropzone.file.label": "Ispustite u datoteku @mention", + "prompt.slash.badge.custom": "običaj", + "prompt.slash.badge.skill": "vještina", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "aktivan", + "prompt.context.includeActiveFile": "Uključi aktivnu datoteku", + "prompt.context.removeActiveFile": "Ukloni aktivnu datoteku iz konteksta", + "prompt.context.removeFile": "Ukloni datoteku iz konteksta", + "prompt.action.attachFile": "Dodajte datoteke", + "prompt.menu.addImagesAndFiles": "Dodajte datoteke i više", + "prompt.menu.imagesAndFiles": "Slike i datoteke", + "prompt.menu.commands": "Naredbe", + "prompt.menu.context": "Kontekst", + "prompt.menu.shellCommand": "Naredba ljuske", + "prompt.attachment.remove": "Ukloni privitak", + "prompt.action.send": "Poslati", + "prompt.action.stop": "Zaustavi", + "prompt.toast.pasteUnsupported.title": "Nepodržani privitak", + "prompt.toast.pasteUnsupported.description": "Ovdje se mogu priložiti samo slike, PDF-ovi ili tekstualne datoteke.", + "prompt.toast.attachmentDuplicate.title": "Ova datoteka je već učitana", + "prompt.toast.modelAgentRequired.title": "Odaberite agenta i model", + "prompt.toast.modelAgentRequired.description": "Odaberite agenta i model prije slanja upita.", + "prompt.toast.worktreeCreateFailed.title": "Izrada radnog stabla nije uspjela", + "prompt.toast.sessionCreateFailed.title": "Stvaranje sesije nije uspjelo", + "prompt.toast.shellSendFailed.title": "Slanje naredbe ljuske nije uspjelo", + "prompt.toast.commandSendFailed.title": "Slanje naredbe nije uspjelo", + "prompt.toast.promptSendFailed.title": "Slanje upita nije uspjelo", + "prompt.toast.promptSendFailed.description": "Nije moguće dohvatiti sesiju", + "dialog.mcp.title": "MCPs", + "dialog.mcp.description": "{{enabled}} od {{total}} omogućen", + "dialog.mcp.empty": "Nema konfiguriranih MCP-ova", + "dialog.lsp.empty": "LSPs automatski detektiran iz vrsta datoteka", + "dialog.plugins.empty": "Dodaci konfigurirani u opencode.json", + "mcp.status.connected": "povezan", + "mcp.status.failed": "nije uspio", + "mcp.status.needs_auth": "treba autorizaciju", + "mcp.status.disabled": "onemogućeno", + "mcp.auth.clickToAuthenticate": "Kliknite za autentifikaciju", + "dialog.fork.empty": "Nema poruka za račvanje", + "dialog.directory.search.placeholder": "Traži mape", + "dialog.directory.empty": "Nema pronađenih mapa", + "dialog.directory.action.selectFile": "Odaberite datoteku", + "dialog.directory.action.selectFolder": "Odaberite mapu", + "dialog.directory.root": "Korijen", + "dialog.directory.parent": "Roditelj", + "dialog.directory.readError": "Nije moguće pročitati ovu mapu", + "app.server.unreachable": "Nije moguće doći do {{server}}", + "app.server.retrying": "Automatski ponovni pokušaj...", + "app.server.otherServers": "Ostali poslužitelji", + "dialog.server.title": "poslužitelji", + "dialog.server.description": "Promijenite na koji se OpenCode poslužitelj povezuje ova aplikacija.", + "dialog.server.search.placeholder": "Pretraživanje poslužitelja", + "dialog.server.empty": "Još nema poslužitelja", + "dialog.server.add.title": "Dodaj poslužitelj", + "dialog.server.add.url": "Adresa poslužitelja", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "Nije moguće spojiti se na poslužitelj", + "dialog.server.add.checking": "Provjera...", + "dialog.server.add.button": "Dodaj poslužitelj", + "dialog.server.add.name": "Naziv poslužitelja (neobavezno)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "korisničko ime (nije obavezno)", + "dialog.server.add.usernamePlaceholder": "korisničko ime", + "dialog.server.add.password": "Lozinka (nije obavezno)", + "dialog.server.add.passwordPlaceholder": "lozinka", + "dialog.server.edit.title": "Uredi poslužitelj", + "dialog.server.default.title": "Zadani poslužitelj", + "dialog.server.default.description": + "Povežite se s ovim poslužiteljem prilikom pokretanja aplikacije umjesto pokretanja lokalnog poslužitelja. Zahtijeva ponovno pokretanje.", + "dialog.server.default.none": "Nijedan poslužitelj nije odabran", + "dialog.server.default.set": "Postavi trenutni poslužitelj kao zadani", + "dialog.server.default.clear": "Jasan", + "dialog.server.action.remove": "Ukloni poslužitelj", + "dialog.server.menu.edit": "Uredi", + "dialog.server.menu.default": "Postavi kao zadano", + "dialog.server.menu.defaultRemove": "Ukloni zadano", + "dialog.server.menu.delete": "Izbriši", + "dialog.server.current": "Trenutni poslužitelj", + "dialog.server.status.default": "Zadano", + "wsl.server.add": "Dodajte WSL poslužitelj", + "wsl.server.addShort": "Dodaj WSL", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "WSL poslužitelj", + "wsl.server.retryStart": "Ponovi početak", + "wsl.server.updating": "Ažuriranje...", + "wsl.onboarding.step.distro": "Odaberite distro", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "Provjera WSL...", + "wsl.onboarding.restartRequired": "Windows treba ponovno pokretanje kako bi završio instalaciju WSL.", + "wsl.onboarding.ready": "WSL je spreman.", + "wsl.onboarding.required": "Za nastavak je potreban WSL.", + "wsl.onboarding.checkingDistros": "Provjera distribucija...", + "wsl.onboarding.installingDistro": "Instaliranje {{distro}}...", + "wsl.onboarding.checkingDistro": "Provjera {{distro}}...", + "wsl.onboarding.listingDistros": "Popis distribucija...", + "wsl.onboarding.distroReady": "{{distro}} je spreman.", + "wsl.onboarding.distroNotInstalled": "{{distro}} još nije instaliran.", + "wsl.onboarding.openDistroOnce": "Otvorite {{distro}} jednom da završite postavljanje.", + "wsl.onboarding.finishingDistro": "Dovršavanje postavljanja za {{distro}}.", + "wsl.onboarding.pickDistro": "Odaberite distribuciju ili je instalirajte u nastavku.", + "wsl.onboarding.checkingOpencode": "Provjera OpenCode...", + "wsl.onboarding.checkingOpencodeIn": "Provjera OpenCode u {{distro}}...", + "wsl.onboarding.updatingOpencode": "Ažuriranje OpenCode...", + "wsl.onboarding.updatingOpencodeIn": "Ažuriranje OpenCode u {{distro}}...", + "wsl.onboarding.updateOpencodeIn": "Ažurirajte OpenCode u {{distro}}.", + "wsl.onboarding.updateOpencode": "Ažurirajte OpenCode", + "wsl.onboarding.opencodeReadyIn": "OpenCode je spreman u {{distro}}.", + "wsl.onboarding.opencodeReady": "OpenCode je spreman.", + "wsl.onboarding.installOpencodeIn": "Instalirajte OpenCode u {{distro}}.", + "wsl.onboarding.installOpencode": "Instalirajte OpenCode", + "wsl.onboarding.chooseDistroFirst": "Prvo odaberite distribuciju.", + "wsl.onboarding.loadFailed": "Nije uspjelo učitavanje stanja WSL.", + "wsl.onboarding.loading": "Učitavanje...", + "wsl.onboarding.installedDistros": "Instalirane distribucije", + "wsl.onboarding.checkAgain": "Provjerite ponovno", + "wsl.onboarding.distroStatus.ready": "Spreman", + "wsl.onboarding.distroStatus.checking": "Provjera...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode nije instaliran", + "wsl.onboarding.distroStatus.missingTools": "Nedostaje bash, curl", + "wsl.onboarding.distroStatus.unsupported": "Nepodržano · Koristite WSL 2", + "wsl.onboarding.needAnotherDistro": "Trebate drugu distribuciju?", + "wsl.onboarding.needAnotherDistroHint": "Instalirajte Linux distribuciju iz WSL kataloga", + "wsl.onboarding.wslNotInstalled.title": "WSL nije instaliran", + "wsl.onboarding.wslNotInstalled.description": + "WSL (Windows podsustav za Linux) je potreban prije nego što OpenCode može dodati WSL poslužitelj", + "wsl.onboarding.wslUnavailable.title": "WSL nedostupan", + "wsl.onboarding.wslUnavailable.description": "OpenCode nije mogao potvrditi WSL na ovom stroju.", + "wsl.onboarding.installWsl": "Instalirajte WSL", + "wsl.onboarding.windowsRestartRequired": + "Ponovo pokrenite Windows da dovršite instalaciju WSL, zatim ponovno otvorite OpenCode.", + "wsl.onboarding.next": "Sljedeći", + "wsl.onboarding.refresh": "Osvježiti", + "wsl.onboarding.allDistrosAdded": "Sve instalirane distribucije su već dodane.", + "wsl.onboarding.noDistros": "Još nije otkrivena nijedna distribucija.", + "wsl.onboarding.install": "Instalirati", + "wsl.onboarding.installing": "Instaliranje...", + "wsl.onboarding.installDistro": "Instalirajte distro", + "wsl.onboarding.searchDistros": "Pretražite distribucije", + "wsl.onboarding.wsl2Required": "Potreban je WSL 2.", + "wsl.onboarding.toolsRequired": "Ova distribucija treba bash i curl.", + "wsl.onboarding.openTerminal": "Otvori terminal", + "wsl.onboarding.path": "Put: {{path}}", + "wsl.onboarding.notFound": "nije pronađeno", + "wsl.onboarding.version": "Verzija: {{version}}", + "wsl.onboarding.unknown": "nepoznato", + "wsl.onboarding.desktopVersion": "radna površina {{version}}", + "wsl.onboarding.versionMismatch": "Instalirana verzija ne odgovara verziji aplikacije za stolna računala.", + "wsl.onboarding.adding": "Dodavanje...", + "help.tabs.toast.ariaLabel": "Predstavljamo Tabs. Organizirajte svoj rad i aktivne sesije pomoću kartica", + "help.tabs.toast.dismiss": "Odbaci Tab informacije", + "help.tabs.title": "Predstavljamo Tabs", + "help.tabs.description": "Organizirajte svoj rad i aktivne sesije pomoću kartica", + "help.tabs.date": "14. srpnja", + "help.tabs.introduction": "Radna površina OpenCode sada je izgrađena oko kartica.", + "help.tabs.sessions": + "Započnite novu sesiju na kartici ili otvorite postojeću sesiju iz bilo kojeg od svojih projekata. Otvorite novu karticu kada započnete nešto novo i zatvorite je kada završite.", + "help.tabs.organize": + "Održavanje nekoliko otvorenih kartica olakšava organiziranje vaših aktivnih sesija. Preimenujte kartice u nešto nezaboravno ako ih planirate zadržati.", + "help.tabs.home": + "Sve svoje sesije i projekte pronaći ćete na novom Home zaslonu. Odabirom sesije otvara se u kartici.", + "help.tabs.persistence": "Kada ponovno otvorite aplikaciju, vaše kartice su i dalje otvorene.", + "help.tabs.worktrees": + "Novi dizajn još ne podržava Git Worktrees, uskoro će biti dostupan. Dakle, ako biste radije nastavili koristiti prethodni izgled, možete se prebacivati ​​između izgleda u Postavkama. Samo imajte na umu da će novi izgled postati trajan za nekoliko tjedana.", + "server.row.noUsername": "nema korisničkog imena", + "dialog.project.edit.title": "Uredi projekt", + "dialog.project.edit.name": "Ime", + "dialog.project.edit.icon": "Ikona", + "dialog.project.edit.icon.alt": "Ikona projekta", + "dialog.project.edit.icon.hint": "Pritisnite ili povucite sliku", + "dialog.project.edit.icon.recommended": "Preporučeno: 128x128px", + "dialog.project.edit.color": "Boja", + "dialog.project.edit.color.select": "Odaberite boju {{color}}", + "dialog.project.edit.worktree.startup": "Skripta za pokretanje radnog prostora", + "dialog.project.edit.worktree.startup.description": + "Pokreće se nakon stvaranja novog radnog prostora (radnog stabla).", + "dialog.project.edit.worktree.startup.placeholder": "npr. lepinja instalirati", + "dialog.releaseNotes.action.getStarted": "Započnite", + "dialog.releaseNotes.action.next": "Sljedeći", + "dialog.releaseNotes.action.hideFuture": "Nemoj ih ubuduće prikazivati", + "dialog.releaseNotes.media.alt": "Pregled izdanja", + "context.breakdown.title": "Raščlamba konteksta", + "context.breakdown.note": + 'Približna raščlamba ulaznih tokena. "Ostalo" uključuje definicije alata i režijske troškove.', + "context.breakdown.system": "Sustav", + "context.breakdown.user": "Korisnik", + "context.breakdown.assistant": "Pomoćnik", + "context.breakdown.tool": "Pozivi alata", + "context.breakdown.other": "ostalo", + "context.systemPrompt.title": "Sustavski upit", + "context.rawMessages.title": "Sirove poruke", + "context.export.session": "Izvezi sesiju", + "context.stats.session": "Sesija", + "context.stats.messages": "Poruke", + "context.stats.provider": "Pružatelj usluga", + "context.stats.model": "Model", + "context.stats.limit": "Ograničenje konteksta", + "context.stats.totalTokens": "Ukupno žetona", + "context.stats.usage": "Korištenje", + "context.stats.inputTokens": "Ulazni tokeni", + "context.stats.outputTokens": "Izlazni žetoni", + "context.stats.reasoningTokens": "Reasoning Tokeni", + "context.stats.cacheTokens": "Tokeni predmemorije (čitanje/pisanje)", + "context.stats.userMessages": "Korisničke poruke", + "context.stats.assistantMessages": "Poruke pomoćnika", + "context.stats.totalCost": "Ukupni trošak", + "context.stats.sessionCreated": "Sesija je stvorena", + "context.stats.lastActivity": "Zadnja aktivnost", + "context.usage.tokens": "Tokeni", + "context.usage.usage": "Korištenje", + "context.usage.cost": "trošak", + "context.usage.clickToView": "Kliknite za pregled konteksta", + "context.usage.view": "Pogledajte korištenje konteksta", + "language.en": "engleski", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Deutsch", + "language.es": "španjolski", + "language.fr": "Français", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "poljski", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Norsk", + "language.br": "português (Brazil)", + "language.bs": "Bosanski", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "turski", + "toast.language.title": "Jezik", + "toast.language.description": "Prešao na {{language}}", + "toast.theme.title": "Tema je promijenjena", + "toast.scheme.title": "Shema boja", + "toast.workspace.enabled.title": "Radni prostori omogućeni", + "toast.workspace.enabled.description": "Više radnih stabala sada je prikazano na bočnoj traci", + "toast.workspace.disabled.title": "Radni prostori onemogućeni", + "toast.workspace.disabled.description": "Na bočnoj traci prikazano je samo glavno radno stablo", + "toast.permissions.autoaccept.on.title": "Automatsko prihvaćanje dopuštenja", + "toast.permissions.autoaccept.on.description": "Zahtjevi za dopuštenje bit će automatski odobreni", + "toast.permissions.autoaccept.off.title": "Zaustavljeno automatsko prihvaćanje dopuštenja", + "toast.permissions.autoaccept.off.description": "Za zahtjeve za dopuštenje bit će potrebno odobrenje", + "toast.model.none.title": "Nijedan model nije odabran", + "toast.model.none.description": "Povežite se s pružateljem usluga kako biste rezimirali ovu sesiju", + "toast.file.loadFailed.title": "Učitavanje datoteke nije uspjelo", + "toast.file.listFailed.title": "Popis datoteka nije uspio", + "toast.context.noLineSelection.title": "Bez odabira linije", + "toast.context.noLineSelection.description": "Najprije odaberite raspon redaka na kartici datoteke.", + "toast.session.share.copyFailed.title": "Kopiranje URL u međuspremnik nije uspjelo", + "toast.session.share.success.title": "Sesija podijeljena", + "toast.session.share.success.description": "Podijeli URL kopirano u međuspremnik!", + "toast.session.share.failed.title": "Dijeljenje sesije nije uspjelo", + "toast.session.share.failed.description": "Došlo je do pogreške prilikom dijeljenja sesije", + "toast.session.unshare.success.title": "Dijeljenje sesije je prekinuto", + "toast.session.unshare.success.description": "Dijeljenje sesije uspješno je prekinuto.", + "toast.session.unshare.failed.title": "Poništavanje dijeljenja sesije nije uspjelo", + "toast.session.unshare.failed.description": "Došlo je do pogreške prilikom prekida dijeljenja sesije", + "toast.session.export.success.title": "Sesija je izvezena", + "toast.session.export.success.description": "Spremljena sesija u {{filename}}", + "toast.session.export.failed.title": "Izvoz sesije nije uspio", + "toast.session.export.failed.description": "Došlo je do pogreške prilikom izvoza sesije", + "toast.session.listFailed.title": "Neuspješno učitavanje sesija za {{project}}", + "toast.project.reloadFailed.title": "Ponovno učitavanje {{project}} nije uspjelo", + "toast.update.title": "Ažuriranje dostupno", + "toast.update.description": "Nova verzija OpenCode ({{version}}) sada je dostupna za instalaciju.", + "toast.update.action.installRestart": "Instalirajte i ponovno pokrenite", + "toast.update.action.notYet": "Ne još", + "error.page.title": "Nešto nije u redu", + "error.page.description": "Došlo je do pogreške prilikom učitavanja aplikacije.", + "error.page.description.localServerStartup": "Došlo je do pogreške prilikom pokretanja lokalnog poslužitelja.", + "error.page.details.label": "Pojedinosti o pogrešci", + "error.page.action.restart": "Ponovno pokretanje", + "error.page.action.report": "Prijavi pogrešku", + "error.page.action.reported": "Prijavljena pogreška", + "error.page.action.exportLogs": "Izvoz zapisnika", + "error.page.action.checking": "Provjera...", + "error.page.action.checkUpdates": "Provjerite ima li ažuriranja", + "error.page.action.updateTo": "Ažurirajte na {{version}}", + "error.page.circular": "[Kružni]", + "error.page.report.prefix": "Prijavite ovu grešku OpenCode timu", + "error.page.report.discord": "na Discord", + "error.page.version": "Verzija: {{version}}", + "error.dev.rootNotFound": + "Korijenski element nije pronađen. Jeste li ga zaboravili dodati u svoj index.html? Ili je možda atribut id-a pogrešno napisan?", + "error.serverSync.connectFailed": + "Nije moguće spojiti se na poslužitelj. Postoji li poslužitelj koji radi na `{{url}}`?", + "error.serverSDK.noServerAvailable": "Nema dostupnog poslužitelja", + "error.serverSDK.serverNotAvailable": "Poslužitelj nije dostupan", + "error.childStore.persistedCacheCreateFailed": "Stvaranje trajne predmemorije nije uspjelo", + "error.childStore.persistedProjectMetadataCreateFailed": "Stvaranje trajnih metapodataka projekta nije uspjelo", + "error.childStore.persistedProjectIconCreateFailed": "Stvaranje trajne ikone projekta nije uspjelo", + "error.childStore.storeCreateFailed": "Izrada trgovine nije uspjela", + "directory.error.invalidUrl": "Nevažeći direktorij u URL.", + "error.chain.unknown": "Nepoznata greška", + "error.server.invalidConfiguration": "Nevažeća konfiguracija", + "error.chain.causedBy": "Uzrokovano:", + "error.chain.apiError": "API greška", + "error.chain.status": "Status: {{status}}", + "error.chain.retryable": "Može se ponoviti: {{retryable}}", + "error.chain.responseBody": "Tijelo odgovora:\n{{body}}", + "error.chain.didYouMean": "Jeste li mislili: {{suggestions}}", + "error.chain.modelNotFound": "Model nije pronađen: {{provider}}/{{model}}", + "error.chain.checkConfig": "Provjerite nazive dobavljača/modela svoje konfiguracije (opencode.json).", + "error.chain.mcpFailed": + 'MCP poslužitelj "{{name}}" nije uspio. Napomena, OpenCode još ne podržava MCP autentifikaciju.', + "error.chain.providerAuthFailed": "Provjera autentičnosti davatelja nije uspjela ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + 'Inicijalizacija pružatelja "{{provider}}" nije uspjela. Provjerite vjerodajnice i konfiguraciju.', + "error.chain.configJsonInvalid": "Konfiguracijska datoteka na {{path}} nije važeća JSON(C)", + "error.chain.configJsonInvalidWithMessage": "Konfiguracijska datoteka na {{path}} nije valjana JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + 'Imenik "{{dir}}" u {{path}} nije valjan. Preimenujte direktorij u "{{suggestion}}" ili ga uklonite. Ovo je uobičajena tipfelerska pogreška.', + "error.chain.configFrontmatterError": "Neuspješno analiziranje prednjeg materijala u {{path}}:\n{{message}}", + "error.chain.configInvalid": "Konfiguracijska datoteka na {{path}} je nevažeća", + "error.chain.configInvalidWithMessage": "Konfiguracijska datoteka na {{path}} je nevažeća: {{message}}", + "notification.permission.title": "Potrebno dopuštenje", + "notification.permission.description": "{{sessionTitle}} u {{projectName}} treba dopuštenje", + "notification.question.title": "Pitanje", + "notification.question.description": "{{sessionTitle}} u {{projectName}} ima pitanje", + "notification.action.goToSession": "Idi na sesiju", + "notification.session.responseReady.title": "Odgovor spreman", + "notification.session.error.title": "Pogreška sesije", + "notification.session.error.fallbackDescription": "Došlo je do pogreške", + "home.recentProjects": "Nedavni projekti", + "home.empty.title": "Nema nedavnih projekata", + "home.empty.description": "Započnite otvaranjem lokalnog projekta", + "home.title": "Početna", + "home.projects": "Projekti", + "home.project.add": "Dodaj projekt", + "home.recentlyClosed": "Nedavno zatvoreno", + "home.server.collapse": "Sažmi projekte poslužitelja", + "home.server.expand": "Proširite poslužiteljske projekte", + "home.sessions.search.placeholder": "Sesije pretraživanja", + "home.sessions.search.placeholder.scoped": "Pretražite sesije u {{scope}}", + "home.sessions.search.sessions": "Sjednice", + "home.sessions.search.noResults": "Nema pronađenih sesija za {{query}}", + "home.sessions.empty": "Ovdje još nema ništa", + "home.sessions.empty.description": "Izradite sesiju da biste započeli", + "home.sessions.group.today": "Danas", + "home.sessions.group.yesterday": "Jučer", + "home.sessions.group.older": "Starije", + "home.providerTip": + "Povežite se s više od 75 pružatelja usluga za korištenje drugih modela, uključujući Claude, GPT, Gemini itd.", + "session.tab.session": "Sesija", + "session.tab.review": "Pregled", + "session.tab.context": "Kontekst", + "session.tab.unknown": "Nepoznata sesija", + "session.panel.reviewAndFiles": "Pregled i datoteke", + "session.error.notFound": "Ovu sesiju nije moguće pronaći", + "session.error.notFound.description": "Ova kartica ukazuje na sesiju koja više ne postoji na ovom poslužitelju.", + "session.error.notFound.closeTab": "Zatvori Tab", + "session.error.serverConnection": "Ne mogu se spojiti na ovaj poslužitelj", + "session.review.filesChanged": "Datoteke promijenjene {{count}}", + "session.review.change.one": "Promijeniti", + "session.review.change.other": "Promjene", + "session.review.loadingChanges": "Učitavanje promjena...", + "session.review.empty": "Još nema promjena u ovoj sesiji", + "session.review.noVcs": "Sustav kontrole verzija Git nije otkriven, promjene nisu prikazane", + "session.review.noVcs.createGit.title": "Napravite Git spremište", + "session.review.noVcs.createGit.description": "Pratite, pregledajte i poništite promjene u ovom projektu", + "session.review.noVcs.createGit.actionLoading": "Stvaranje Git repozitorija...", + "session.review.noVcs.createGit.action": "Napravi Git spremište", + "session.review.noSnapshot": "Praćenje snimke onemogućeno je u konfiguraciji, tako da promjene sesije nisu dostupne", + "session.review.noChanges": "Nema promjena", + "session.review.noUncommittedChanges": "Još nema neizvršenih promjena", + "session.review.noBranchChanges": "Još nema promjena grane", + "session.files.selectToOpen": "Odaberite datoteku za otvaranje", + "session.files.all": "Sve datoteke", + "session.files.empty": "Nema datoteka", + "session.files.binaryContent": "Binarna datoteka (sadržaj se ne može prikazati)", + "session.messages.renderEarlier": "Prikaži ranije poruke", + "session.messages.loadingEarlier": "Učitavanje ranijih poruka...", + "session.messages.loadEarlier": "Učitaj ranije poruke", + "session.messages.loading": "Učitavanje poruka...", + "session.messages.jumpToLatest": "Skoči na najnovije", + "session.context.addToContext": "Dodajte {{selection}} u kontekst", + "session.todo.title": "Zadaci", + "session.todo.collapse": "Kolaps", + "session.todo.expand": "Proširiti", + "session.todo.progress": "{{done}} od {{total}} zadataka dovršen", + "session.question.progress": "{{current}} od {{total}} pitanja", + "session.question.minimize": "Smanjite pitanje", + "session.question.restore": "Vrati pitanje", + "session.question.pending.one": "{{count}} pitanje na čekanju", + "session.question.pending.other": "{{count}} pitanja na čekanju", + "session.question.pending.few": "{{count}} pitanja na čekanju", + "session.followupDock.summary.one": "{{count}} poruka u čekanju", + "session.followupDock.summary.other": "{{count}} poruke u redu čekanja", + "session.followupDock.summary.few": "{{count}} poruke u redu čekanja", + "session.followupDock.sendNow": "Pošalji sada", + "session.followupDock.edit": "Uredi", + "session.followupDock.collapse": "Sažmi poruke u redu čekanja", + "session.followupDock.expand": "Proširi poruke u čekanju", + "session.revertDock.summary.one": "{{count}} vratio poruku", + "session.revertDock.summary.other": "{{count}} je vratio poruke", + "session.revertDock.summary.few": "{{count}} vraćene poruke", + "session.revertDock.collapse": "Sažmi vraćene poruke", + "session.revertDock.expand": "Proširi vraćene poruke", + "session.revertDock.restore": "Vrati poruku", + "session.new.title": "Gradite bilo što", + "session.new.project.new": "Novi projekt", + "session.new.project.search": "Pretražite projekte", + "session.new.project.add": "Dodaj projekt", + "session.new.worktree.main": "Glavna grana", + "session.new.worktree.mainWithBranch": "Glavna grana ({{branch}})", + "session.new.worktree.create": "Stvorite novo radno stablo", + "session.new.workspace.runIn": "Pokrenite sesiju", + "session.new.workspace.triggerLocal": "Lokalni", + "session.new.workspace.local": "Lokalno spremište", + "session.new.workspace.existing": "Radni prostor…", + "session.new.git.none": "Ne Git", + "session.new.lastModified": "Zadnja izmjena", + "session.header.search.placeholder": "Traži {{project}}", + "session.header.searchFiles": "Pretraživanje datoteka", + "session.header.openIn": "Otvori u", + "session.header.open.action": "Otvorite {{app}}", + "session.header.open.ariaLabel": "Otvori u {{app}}", + "session.header.open.menu": "Otvorene opcije", + "session.header.open.copyPath": "Kopiraj put", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "File Explorer", + "session.header.open.fileManager": "Upravitelj datoteka", + "session.header.reveal.finder": "Otkrij u Finder", + "session.header.reveal.fileExplorer": "Otkrij u File Explorer", + "session.header.reveal.containingFolder": "Otvori mapu koja sadrži", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Terminal", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "Stanje", + "status.popover.ariaLabel": "Konfiguracije poslužitelja", + "status.popover.tab.servers": "poslužitelji", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "Dodaci", + "status.popover.action.manageServers": "Upravljanje poslužiteljima", + "session.share.popover.title": "Objavi na webu", + "session.share.popover.description.shared": "Ova je sesija javna na webu. Dostupan je svima s vezom.", + "session.share.popover.description.unshared": "Podijelite sesiju javno na webu. Bit će dostupna svima s vezom.", + "session.share.action.share": "Udio", + "session.share.action.publish": "Objaviti", + "session.share.action.publishing": "Objavljivanje...", + "session.share.action.unpublish": "Poništi objavu", + "session.share.action.unpublishing": "Poništavanje objave...", + "session.share.action.view": "Prikaz", + "session.share.copy.copied": "Kopirano", + "session.share.copy.copyLink": "Kopiraj vezu", + "lsp.tooltip.none": "Nema LSP poslužitelja", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "Učitavanje upita...", + "terminal.loading": "Učitavanje terminala...", + "terminal.title": "Terminal", + "terminal.title.numbered": "Terminal {{number}}", + "terminal.close": "Zatvori terminal", + "terminal.connectionLost.title": "Veza izgubljena", + "terminal.connectionLost.abnormalClose": "WebSocket nenormalno zatvoren: {{code}}", + "terminal.connectionLost.description": + "Veza terminala je prekinuta. To se može dogoditi kada se poslužitelj ponovno pokrene.", + "terminal.connectTicket.csrfError": + "PTY karta za spajanje odbijena provjerama porijekla ili CSRF. Provjerite konfiguraciju poslužitelja CORS.", + "terminal.connectTicket.statusError": "PTY povezivanje karte nije uspjelo sa {{status}}", + "titlebar.update": "Ažurirati", + "titlebar.updateVersion": "Ažurirajte {{version}}", + "common.closeTab": "Zatvori karticu", + "common.dismiss": "Odbaciti", + "common.moreCountSuffix": "(još još {{count}})", + "common.requestFailed": "Zahtjev nije uspio", + "common.moreOptions": "Više opcija", + "common.learnMore": "Saznajte više", + "common.rename": "Preimenovati", + "common.export": "Izvoz", + "common.reset": "Resetiraj", + "common.archive": "Arhiva", + "common.delete": "Izbriši", + "common.close": "Zatvoriti", + "common.edit": "Uredi", + "common.loadMore": "Učitaj više", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Izbriši", + "common.key.home": "Početna", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Umetnuti", + "common.unknown": "nepoznato", + "common.time.justNow": "Upravo sada", + "common.time.minutesAgo.short": "Prije {{count}}m", + "common.time.hoursAgo.short": "prije {{count}}h", + "common.time.daysAgo.short": "Prije {{count}}d", + "sidebar.menu.toggle": "Prebaci izbornik", + "sidebar.nav.projectsAndSessions": "Projekti i sesije", + "sidebar.settings": "Postavke", + "sidebar.help": "Pomoć", + "sidebar.workspaces.enable": "Omogući radne prostore", + "sidebar.workspaces.disable": "Onemogući radne prostore", + "sidebar.gettingStarted.title": "Početak rada", + "sidebar.gettingStarted.line1": "OpenCode uključuje besplatne modele tako da možete odmah početi.", + "sidebar.gettingStarted.line2": "Povežite bilo kojeg pružatelja za korištenje modela, uklj. Claude, GPT, Gemini itd.", + "sidebar.project.recentSessions": "Nedavne sesije", + "sidebar.project.viewAllSessions": "Pogledajte sve sesije", + "sidebar.project.clearNotifications": "Očistite obavijesti", + "sidebar.empty.title": "Nema otvorenih projekata", + "sidebar.empty.description": "Otvorite projekt da biste započeli", + "debugBar.ariaLabel": "Dijagnostika izvedbe razvoja", + "debugBar.na": "n/a", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "Zadnji dovršeni prijelaz rute koji dodiruje stranicu sesije, mjereno od početka usmjerivača do prve boje nakon što se slegne.", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "Broj sličica u sekundi tijekom zadnjih 5 sekundi.", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "Najgore vrijeme kadra u zadnjih 5 sekundi.", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "Sličice dulje od 32 ms u zadnjih 5 sekundi.", + "debugBar.long.label": "LONG", + "debugBar.long.tip": "Blokirano vrijeme i broj dugih zadataka u zadnjih 5 sekundi. Maksimalni zadatak: {{max}}.", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "Najgore uočeno kašnjenje unosa u zadnjih 5 sekundi.", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": + "Približno trajanje interakcije u zadnjih 5 sekundi. Ovo je slično INP, a ne službeni Web Vitals INP.", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "Kumulativna promjena izgleda za trenutni vijek trajanja aplikacije.", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "Iskorišteni JS hrpa u odnosu na ograničenje hrpe. Samo Chromium.", + "debugBar.mem.tip": "Iskorišteni JS hrpa u odnosu na ograničenje hrpe. {{used}} od {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Prisilno fokusiranje stilova na sve interaktivne elemente", + "debugBar.focus.on": "ON", + "debugBar.focus.off": "OFF", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Nametnite cijeli smjer izgleda aplikacije bez promjene odabranog jezika", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode Radna površina", + "settings.section.desktop": "Radna površina", + "settings.section.server": "Poslužitelj", + "settings.tab.general": "Općenito", + "settings.tab.shortcuts": "Prečaci", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "WSL integracija", + "settings.desktop.wsl.description": "Pokrenite OpenCode poslužitelj unutar WSL na Windows.", + "settings.general.section.appearance": "Izgled", + "settings.general.section.advanced": "Napredno", + "settings.general.section.notifications": "Obavijesti sustava", + "settings.general.section.updates": "Ažuriranja", + "settings.general.section.sounds": "Zvučni efekti", + "settings.general.section.feed": "hraniti se", + "settings.general.section.display": "Prikaz", + "settings.general.row.language.title": "Jezik", + "settings.general.row.language.description": "Promijenite jezik prikaza za OpenCode", + "settings.general.row.shell.title": "Terminal školjka", + "settings.general.row.shell.description": "Ljuska koju koriste alati terminala i agenta", + "settings.general.row.shell.autoDefault": "Automatski (zadano)", + "settings.general.row.shell.terminalOnly": "samo terminal", + "settings.general.row.appearance.title": "Izgled", + "settings.general.row.appearance.description": "Prilagodite kako OpenCode izgleda na vašem uređaju", + "settings.general.row.colorScheme.title": "Shema boja", + "settings.general.row.colorScheme.description": + "Odaberite hoće li OpenCode slijediti sistemsku, svijetlu ili tamnu temu", + "settings.general.row.theme.title": "Tema", + "settings.general.row.theme.description": "Prilagodite način na koji je OpenCode tematiziran.", + "settings.general.row.font.title": "Font koda", + "settings.general.row.font.description": "Prilagodite font koji se koristi u blokovima koda", + "settings.general.row.terminalFont.title": "Font Terminal", + "settings.general.row.terminalFont.description": "Prilagodite font koji se koristi u terminalu", + "settings.general.row.uiFont.title": "UI font", + "settings.general.row.uiFont.description": "Prilagodite font koji se koristi u cijelom sučelju", + "settings.general.row.followup.title": "Praćenje ponašanja", + "settings.general.row.followup.description": + "Odaberite hoće li se naknadni upiti usmjeravati odmah ili čekati u redu", + "settings.general.row.followup.option.queue": "Red", + "settings.general.row.followup.option.steer": "Upravljati", + "settings.general.row.showFileTree.title": "Stablo datoteka", + "settings.general.row.showFileTree.description": "Prikaži ploču stabla datoteka u sesijama", + "settings.general.row.showNavigation.title": "Navigacijske kontrole", + "settings.general.row.showNavigation.description": + "Prikaži gumbe za povratak i naprijed u naslovnoj traci radne površine", + "settings.general.row.showSearch.title": "Paleta naredbi", + "settings.general.row.showSearch.description": "Prikaži gumb palete za pretraživanje i naredbe u naslovnoj traci", + "settings.general.row.showTerminal.title": "Terminal", + "settings.general.row.showTerminal.description": "Prikaži gumb terminala u naslovnoj traci radne površine", + "settings.general.row.showStatus.title": "Status poslužitelja", + "settings.general.row.showStatus.description": "Prikaži gumb statusa poslužitelja u naslovnoj traci", + "settings.general.row.mobileTitlebarBottom.title": "Donja navigacija", + "settings.general.row.mobileTitlebarBottom.description": + "Postavite naslovnu traku i kartice sesije na dno zaslona na mobilnom telefonu", + "settings.general.row.showCustomAgents.title": "Prikaži agenta", + "settings.general.row.showCustomAgents.description": + "Prebacivanje između agenata u skladatelju. Kada je skriven, zadana je Build agent.", + "settings.general.row.reasoningSummaries.title": "Prikaži sažetke obrazloženja", + "settings.general.row.reasoningSummaries.description": "Prikažite sažetke obrazloženja modela na vremenskoj traci", + "settings.general.row.shellToolPartsExpanded.title": "Proširite dijelove alata školjke", + "settings.general.row.shellToolPartsExpanded.description": + "Prikažite dijelove alata ljuske proširene prema zadanim postavkama na vremenskoj traci", + "settings.general.row.editToolPartsExpanded.title": "Proširi uređivanje dijelova alata", + "settings.general.row.editToolPartsExpanded.description": + "Prikažite dijelove alata za uređivanje, pisanje i zakrpe prema zadanim postavkama na vremenskoj traci", + "settings.general.row.newInterface.title": "Novi izgled", + "settings.general.row.newInterface.badge": "Novi", + "settings.general.row.newInterface.description": + "Koristite nove kartice i početni izgled. Prebacivanje između izgleda na ograničeno vrijeme.", + "settings.general.row.newInterfaceNotice.title": "Sada koristite novi izgled", + "settings.general.row.newInterfaceNotice.description": "Prethodni izgled više nije dostupan", + "settings.general.row.newInterfaceNotice.dismiss": "Odbaciti", + "settings.general.row.pinchZoom.title": "Stisnite prste za zumiranje", + "settings.general.row.pinchZoom.description": + "Za zumiranje dopustite prstohvat dodirne površine i Ctrl pokrete pomicanja", + "settings.general.row.wayland.title": "Koristite izvorni Wayland", + "settings.general.row.wayland.description": "Onemogući rezervni X11 na Wayland. Zahtijeva ponovno pokretanje.", + "settings.general.row.wayland.tooltip": + "Na Linux s monitorima s miješanom brzinom osvježavanja izvorni Wayland može biti stabilniji.", + "settings.general.row.releaseNotes.title": "Bilješke o izdanju", + "settings.general.row.releaseNotes.description": "Prikaži skočne prozore Što je novo nakon ažuriranja", + "settings.updates.row.startup.title": "Provjerite ima li ažuriranja pri pokretanju", + "settings.updates.row.startup.description": "Automatski provjeri ima li ažuriranja kada se OpenCode pokrene", + "settings.updates.row.check.title": "Provjerite ima li ažuriranja", + "settings.updates.row.check.description": "Ručno provjerite postoje li ažuriranja i instalirajte ih ako su dostupna", + "settings.updates.action.checkNow": "Provjerite sada", + "settings.updates.action.checking": "Provjera...", + "settings.updates.action.downloading": "Preuzimanje...", + "settings.updates.action.installing": "Instaliranje...", + "settings.updates.toast.latest.title": "U toku ste", + "settings.updates.toast.latest.description": "Imate najnoviju verziju OpenCode.", + "sound.option.none": "Nijedan", + "sound.option.alert01": "Upozorenje 01", + "sound.option.alert02": "Upozorenje 02", + "sound.option.alert03": "Upozorenje 03", + "sound.option.alert04": "Upozorenje 04", + "sound.option.alert05": "Upozorenje 05", + "sound.option.alert06": "Upozorenje 06", + "sound.option.alert07": "Upozorenje 07", + "sound.option.alert08": "Upozorenje 08", + "sound.option.alert09": "Upozorenje 09", + "sound.option.alert10": "Upozorenje 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "Ne 01", + "sound.option.nope02": "Ne 02", + "sound.option.nope03": "Ne 03", + "sound.option.nope04": "Ne 04", + "sound.option.nope05": "Ne 05", + "sound.option.nope06": "Ne 06", + "sound.option.nope07": "Ne 07", + "sound.option.nope08": "Ne 08", + "sound.option.nope09": "Ne 09", + "sound.option.nope10": "Ne 10", + "sound.option.nope11": "Ne 11", + "sound.option.nope12": "Ne 12", + "sound.option.yup01": "Da 01", + "sound.option.yup02": "Da 02", + "sound.option.yup03": "Da 03", + "sound.option.yup04": "Da 04", + "sound.option.yup05": "Da 05", + "sound.option.yup06": "Da 06", + "settings.general.notifications.agent.title": "Agent", + "settings.general.notifications.agent.description": + "Prikaži obavijest sustava kada je agent dovršen ili treba pozornost", + "settings.general.notifications.permissions.title": "Dozvole", + "settings.general.notifications.permissions.description": "Prikaži obavijest sustava kada je potrebna dozvola", + "settings.general.notifications.errors.title": "Greške", + "settings.general.notifications.errors.description": "Prikaži obavijest sustava kada se pojavi greška", + "settings.general.sounds.agent.title": "Agent", + "settings.general.sounds.agent.description": "Pusti zvuk kada je agent gotov ili mu treba pozornost", + "settings.general.sounds.permissions.title": "Dozvole", + "settings.general.sounds.permissions.description": "Pusti zvuk kada je potrebno dopuštenje", + "settings.general.sounds.errors.title": "Greške", + "settings.general.sounds.errors.description": "Pusti zvuk kada se pojavi pogreška", + "settings.shortcuts.title": "Tipkovnički prečaci", + "settings.shortcuts.reset.button": "Vrati na zadane postavke", + "settings.shortcuts.reset.toast.title": "Ponovno postavljanje prečaca", + "settings.shortcuts.reset.toast.description": "Tipkovnički prečaci vraćeni su na zadane postavke.", + "settings.shortcuts.conflict.title": "Prečac se već koristi", + "settings.shortcuts.conflict.description": "{{keybind}} je već dodijeljen {{titles}}.", + "settings.shortcuts.unassigned": "Nedodijeljeno", + "settings.shortcuts.pressKeys": "Pritisnite tipke", + "settings.shortcuts.search.placeholder": "Prečaci za pretraživanje", + "settings.shortcuts.search.empty": "Nema pronađenih prečaca", + "settings.shortcuts.group.general": "Općenito", + "settings.shortcuts.group.session": "Sesija", + "settings.shortcuts.group.navigation": "Navigacija", + "settings.shortcuts.group.modelAndAgent": "Model i agent", + "settings.shortcuts.group.terminal": "Terminal", + "settings.shortcuts.group.prompt": "Upit", + "settings.providers.title": "Pružatelji usluga", + "settings.providers.description": "Ovdje će se moći konfigurirati postavke pružatelja usluga.", + "settings.providers.section.connected": "Povezani pružatelji usluga", + "settings.providers.connected.empty": "Nema povezanih pružatelja usluga", + "settings.providers.connected.environmentDescription": "Povezano iz varijabli vaše okoline", + "settings.providers.section.popular": "Popularni pružatelji usluga", + "settings.providers.custom.description": "Dodajte pružatelja kompatibilnog sa OpenAI prema bazi URL.", + "settings.providers.tag.environment": "okoliš", + "settings.providers.tag.config": "Konfiguracija", + "settings.providers.tag.custom": "Običaj", + "settings.providers.tag.other": "ostalo", + "settings.models.title": "Modeli", + "settings.models.description": "Ovdje će se moći konfigurirati postavke modela.", + "settings.agents.title": "Agenti", + "settings.agents.description": "Ovdje će se moći konfigurirati postavke agenta.", + "settings.commands.title": "Naredbe", + "settings.commands.description": "Ovdje će se moći konfigurirati postavke naredbi.", + "settings.mcp.title": "MCP", + "settings.mcp.description": "Ovdje će se moći konfigurirati postavke MCP.", + "settings.permissions.title": "Dozvole", + "settings.permissions.description": "Kontrolirajte koje alate poslužitelj može koristiti prema zadanim postavkama.", + "settings.permissions.section.tools": "Alati", + "settings.permissions.toast.updateFailed.title": "Ažuriranje dopuštenja nije uspjelo", + "settings.permissions.action.allow": "Dopusti", + "settings.permissions.action.ask": "Pitajte", + "settings.permissions.action.deny": "poreći", + "settings.permissions.tool.read.title": "čitati", + "settings.permissions.tool.read.description": "Čitanje datoteke (odgovara putanji datoteke)", + "settings.permissions.tool.edit.title": "Uredi", + "settings.permissions.tool.edit.description": "Mijenjajte datoteke, uključujući uređivanja, pisanje i zakrpe", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "Usporedite datoteke koristeći glob uzorke", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "Pretražujte sadržaj datoteke pomoću regularnih izraza", + "settings.permissions.tool.list.title": "Popis", + "settings.permissions.tool.list.description": "Popis datoteka unutar direktorija", + "settings.permissions.tool.bash.title": "Bash", + "settings.permissions.tool.bash.description": "Pokretanje naredbi ljuske", + "settings.permissions.tool.task.title": "Zadatak", + "settings.permissions.tool.task.description": "Pokretanje pod-agenta", + "settings.permissions.tool.skill.title": "Vještina", + "settings.permissions.tool.skill.description": "Učitajte vještinu po imenu", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "Izvršite upite jezičnog poslužitelja", + "settings.permissions.tool.todowrite.title": "Todo Write", + "settings.permissions.tool.todowrite.description": "Ažurirajte popis obveza", + "settings.permissions.tool.webfetch.title": "Web Fetch", + "settings.permissions.tool.webfetch.description": "Dohvaćanje sadržaja sa URL", + "settings.permissions.tool.websearch.title": "Web pretraživanje", + "settings.permissions.tool.websearch.description": "Pretraži web", + "settings.permissions.tool.external_directory.title": "Vanjski imenik", + "settings.permissions.tool.external_directory.description": "Pristup datotekama izvan direktorija projekta", + "settings.permissions.tool.doom_loop.title": "Doom Loop", + "settings.permissions.tool.doom_loop.description": "Otkrijte ponovljene pozive alata s identičnim unosom", + "session.delete.failed.title": "Brisanje sesije nije uspjelo", + "session.delete.title": "Izbriši sesiju", + "session.delete.confirm": 'Izbrisati sesiju "{{name}}"?', + "session.delete.button": "Izbriši sesiju", + "workspace.new": "Novi radni prostor", + "workspace.type.local": "lokalni", + "workspace.type.sandbox": "pješčanik", + "workspace.create.failed.title": "Izrada radnog prostora nije uspjela", + "workspace.delete.failed.title": "Brisanje radnog prostora nije uspjelo", + "workspace.resetting.title": "Ponovno postavljanje radnog prostora", + "workspace.resetting.description": "Ovo može potrajati minutu.", + "workspace.reset.failed.title": "Poništavanje radnog prostora nije uspjelo", + "workspace.reset.success.title": "Resetiranje radnog prostora", + "workspace.reset.success.description": "Radni prostor sada odgovara zadanoj grani.", + "workspace.error.stillPreparing": "Radni prostor je još u pripremi", + "workspace.status.checking": "Provjera nespojenih promjena...", + "workspace.status.error": "Nije moguće potvrditi git status.", + "workspace.status.clean": "Nisu otkrivene nespojene promjene.", + "workspace.status.dirty": "Nespojene promjene otkrivene u ovom radnom prostoru.", + "workspace.delete.title": "Delete radni prostor", + "workspace.delete.confirm": 'Delete radni prostor "{{name}}"?', + "workspace.delete.button": "Delete radni prostor", + "workspace.reset.title": "Resetiraj radni prostor", + "workspace.reset.confirm": 'Resetirati radni prostor "{{name}}"?', + "workspace.reset.button": "Resetiraj radni prostor", + "workspace.reset.archived.none": "Nijedna aktivna sesija neće biti arhivirana.", + "workspace.reset.archived.one": "1 sesija će biti arhivirana.", + "workspace.reset.archived.many": "{{count}} sesije će biti arhivirane.", + "workspace.reset.note": "Ovo će resetirati radni prostor kako bi odgovarao zadanoj grani.", + "dialog.usageExceeded.dontShowAgain": "Ne prikazuj ponovno", +} diff --git a/packages/app/src/i18n/hu.ts b/packages/app/src/i18n/hu.ts new file mode 100644 index 000000000000..664abf8ee4c0 --- /dev/null +++ b/packages/app/src/i18n/hu.ts @@ -0,0 +1,1170 @@ +import { DESKTOP_NATIVE_KEYS } from "./desktop-native" + +const desktop = [ + "OpenCode", + "Fájl", + "Szerkesztés", + "Nézet", + "Ugrás", + "Ablak", + "Súgó", + "Frissítések keresése...", + "Beállítások", + "Webview újratöltése", + "Újraindítás", + "Naplók exportálása...", + "Új munkamenet", + "Projekt megnyitása...", + "Új ablak", + "Ablak bezárása", + "Visszavonás", + "Újra", + "Kivágás", + "Másolás", + "Beillesztés", + "Törlés", + "Összes kijelölése", + "Oldalsáv ki- és bekapcsolása", + "Terminál ki- és bekapcsolása", + "Fájlfastruktúra ki- és bekapcsolása", + "Újratöltés", + "Fejlesztői eszközök ki- és bekapcsolása", + "Valódi méret", + "Nagyítás", + "Kicsinyítés", + "Teljes képernyő ki- és bekapcsolása", + "Vissza", + "Előre", + "Előző munkamenet", + "Következő munkamenet", + "Előző projekt", + "Következő projekt", + "Kis méret", + "Teljes méret", + "OpenCode dokumentáció", + "Támogatási fórum", + "Visszajelzés küldése", + "Hiba jelentése", + "OpenCode menü", + "A frissítések keresése sikertelen.", + "Frissítési hiba", + "A legfrissebb verziót használja.", + "Nincs frissítés", + "A(z) {{version}} frissítés letöltődött. Újraindítja most?", + "A frissítés készen áll", + "Újraindítás", + "Később", + "Újraindítás", + "Naplók exportálása", + "Várakozás folytatása", + "Kilépés", + "Az OpenCode betöltése sikertelen", + "Az OpenCode ablaka váratlanul leállt", + "Az OpenCode nem válaszol", + "Újraindíthatja az alkalmazást, megnyithatja a naplókat, vagy folytathatja a várakozást.", + "Ablak: {{window}}\nURL: {{url}}\nHiba: {{code}} {{description}}", + "Ablak: {{window}}\nOk: {{reason}}\nKód: {{code}}", + "", + "Mappa kiválasztása", + "Fájl kiválasztása", + "Fájl mentése", + "Fájlok", + "Helyi kiszolgáló", + "A WSL csak Windows rendszeren érhető el", + "A WSL nem érhető el", + "A telepített WSL-disztribúciók felsorolása sikertelen", + "Az online WSL-disztribúciók felsorolása sikertelen", + "Nem hajthatók végre parancsok a disztribúcióban", + "A WSL telepítése sikertelen", + "A disztribúció telepítése sikertelen: {{distro}}", + "Az OpenCode telepítése sikertelen", + "A(z) {{distro}} már hozzá van adva", + "Az opencode nincs telepítve ebben a disztribúcióban", + "Az opencode telepítve van, de nem futtatható", + "Az OpenCode nincs telepítve ebben: {{distro}}", + "Az OpenCode frissítése befejeződött, de a(z) {{distro}} továbbra is ezt jelenti: {{installed}}; a várt érték: {{expected}}", + "nincs verzió", + "A WSL-kiszolgáló indítás után kilépett (code={{code}} signal={{signal}})", + "A WSL-kiszolgáló azelőtt kilépett, hogy üzemkésszé vált volna (code={{code}} signal={{signal}}){{output}}", + "A(z) {{distro}} segédfolyamatának állapotellenőrzése {{timeout}} ms után időtúllépés miatt megszakadt", + "A(z) {{command}} {{args}} parancs {{timeout}} ms után időtúllépés miatt megszakadt", + "A port lekérése sikertelen", + "A fájl nem lett kiválasztva a választóban", + "A kiválasztott mellékletek meghaladják a(z) {{limit}} MB-os korlátot", +] + +export const dict = { + ...Object.fromEntries(DESKTOP_NATIVE_KEYS.map((key, index) => [key, desktop[index]])), + "command.category.suggested": "Javasolt", + "command.category.view": "Nézet", + "command.category.project": "Projekt", + "command.category.provider": "Szolgáltató", + "command.category.server": "Kiszolgáló", + "command.category.session": "Munkamenet", + "command.category.theme": "Téma", + "command.category.language": "Nyelv", + "command.category.file": "Fájl", + "command.category.context": "Kontextus", + "command.category.terminal": "Terminál", + "command.category.model": "Modell", + "command.category.mcp": "MCP", + "command.category.agent": "Ügynök", + "command.category.permissions": "Engedélyek", + "command.category.workspace": "Munkaterület", + "command.category.settings": "Beállítások", + "command.logs.export": "Naplók exportálása", + "theme.scheme.system": "Rendszer", + "theme.scheme.light": "Világos", + "theme.scheme.dark": "Sötét", + "command.sidebar.toggle": "Oldalsáv váltása", + "command.project.open": "Projekt megnyitása", + "command.project.previous": "Előző projekt", + "command.project.next": "Következő projekt", + "command.project.index": "Váltson a {{index}} projektre", + "command.provider.connect": "Szolgáltató csatlakoztatása", + "command.server.switch": "Kiszolgáló váltása", + "command.settings.open": "Beállítások megnyitása", + "command.session.previous": "Előző munkamenet", + "command.session.next": "Következő munkamenet", + "command.session.previous.unseen": "Előző olvasatlan munkamenet", + "command.session.next.unseen": "Következő olvasatlan munkamenet", + "command.session.archive": "Munkamenet archiválása", + "command.palette": "Parancs paletta", + "command.theme.cycle": "Téma váltása", + "command.theme.set": "Használd a témát: {{theme}}", + "command.theme.scheme.cycle": "Színséma váltása", + "command.theme.scheme.set": "Használja a színsémát: {{scheme}}", + "command.language.cycle": "Nyelv váltása", + "command.language.set": "Nyelv használata: {{language}}", + "command.session.new": "Új munkamenet", + "command.file.open": "Nyissa meg a fájlt", + "command.tab.close": "Lap bezárása", + "command.tab.reopenClosed": "Nyissa meg újra a bezárt lapot", + "command.context.addSelection": "Kijelölés hozzáadása a kontextushoz", + "command.context.addSelection.description": "Kijelölt sorok hozzáadása az aktuális fájlból", + "command.input.focus": "Beviteli mező fókuszálása", + "command.terminal.toggle": "Kapcsolja be a terminált", + "command.fileTree.toggle": "Fájlfa váltása", + "command.review.toggle": "Áttekintés átváltása", + "command.terminal.new": "Új terminál", + "command.terminal.new.description": "Hozzon létre egy új terminállapot", + "command.steps.toggle": "Lépések váltása", + "command.steps.toggle.description": "Az aktuális üzenet lépéseinek megjelenítése vagy elrejtése", + "command.message.previous": "Előző üzenet", + "command.message.previous.description": "Ugrás az előző felhasználói üzenetre", + "command.message.next": "Következő üzenet", + "command.message.next.description": "Ugrás a következő felhasználói üzenetre", + "command.model.choose": "Válasszon modellt", + "command.model.choose.description": "Válasszon másik modellt", + "command.mcp.toggle": "MCPs váltás", + "command.mcp.toggle.description": "MCPs váltás", + "command.agent.cycle": "Ügynök váltása", + "command.agent.cycle.description": "Váltson a következő ügynökre", + "command.agent.cycle.reverse": "Váltás az előző ügynökre", + "command.agent.cycle.reverse.description": "Váltás az előző ügynökre", + "command.model.variant.cycle": "Ciklikus gondolkodási erőfeszítés", + "command.model.variant.cycle.description": "Váltson a következő erőfeszítési szintre", + "command.prompt.mode.shell": "Shell", + "command.prompt.mode.normal": "Utasítás", + "command.permissions.autoaccept.enable": "Engedélyek automatikus elfogadása", + "command.permissions.autoaccept.disable": "Állítsa le az engedélyek automatikus elfogadását", + "command.workspace.toggle": "Munkaterületek váltása", + "command.workspace.toggle.description": "Több munkaterület engedélyezése vagy letiltása az oldalsávon", + "command.session.undo": "Visszavonás", + "command.session.undo.description": "Az utolsó üzenet visszavonása", + "command.session.redo": "Újra", + "command.session.redo.description": "Ismételje meg az utolsó visszavont üzenetet", + "command.session.compact": "Munkamenet tömörítése", + "command.session.compact.description": "A kontextus méretének csökkentése érdekében foglalja össze a munkamenetet", + "command.session.fork": "Elágazás az üzenettől", + "command.session.fork.description": "Hozzon létre új munkamenetet egy korábbi üzenetből", + "command.session.share": "Munkamenet megosztása", + "command.session.share.description": "Ossza meg ezt a munkamenetet, és másolja a URL fájlt a vágólapra", + "command.session.unshare": "Munkamenet megosztásának megszüntetése", + "command.session.unshare.description": "Állítsa le a munkamenet megosztását", + "command.session.export": "Exportálási munkamenet", + "command.session.export.description": "Exportálja a teljes munkamenet-átiratot JSON formátumban", + "palette.search.placeholder": "Fájlok, parancsok és munkamenetek keresése", + "palette.search.placeholder.home": "Parancsok és munkamenetek keresése", + "palette.empty": "Nincs találat", + "palette.group.commands": "Parancsok", + "palette.group.files": "Fájlok", + "dialog.provider.search.placeholder": "Szolgáltatók keresése", + "dialog.provider.empty": "Nem található szolgáltató", + "dialog.provider.group.popular": "Népszerű", + "dialog.provider.group.other": "Más", + "dialog.provider.custom.label": "Egyedi OpenAI-kompatibilis szolgáltató", + "dialog.provider.tag.recommended": "Ajánlott", + "dialog.provider.opencode.note": "Összeválogatott modellek, köztük Claude, GPT, Gemini és még sok más", + "dialog.provider.opencode.tagline": "Megbízható optimalizált modellek", + "dialog.provider.opencodeGo.tagline": "Olcsó előfizetés mindenki számára", + "dialog.provider.anthropic.note": "Közvetlen hozzáférés a Claude modellekhez, beleértve a Pro és Max modelleket", + "dialog.provider.copilot.note": "AI modellek a kódoláshoz a GitHub Copilot segítségével", + "dialog.provider.openai.note": "GPT modellek a gyors, általános AI-feladatokhoz", + "dialog.provider.google.note": "Gemini modellek a gyors, strukturált válaszokhoz", + "dialog.provider.openrouter.note": "Hozzáférés az összes támogatott modellhez egy szolgáltatótól", + "dialog.provider.vercel.note": "Egységes hozzáférés az AI modellekhez intelligens útválasztással", + "dialog.model.select.title": "Válasszon modellt", + "dialog.model.search.placeholder": "Modellek keresése", + "dialog.model.empty": "Nincsenek modelleredmények", + "dialog.model.manage": "Modellek kezelése", + "dialog.model.manage.description": "Testreszabhatja, hogy mely modellek jelenjenek meg a modellválasztóban.", + "dialog.model.manage.provider.toggle": "Kapcsolja be az összes {{provider}} modellt", + "dialog.model.unpaid.freeModels.title": "A OpenCode ingyenes modelljei", + "dialog.model.unpaid.addMore.title": "Adjon hozzá további modelleket a népszerű szolgáltatóktól", + "dialog.model.unpaid.viewMoreProviders": "További 70+ szolgáltató megtekintése", + "dialog.provider.viewAll": "További szolgáltatók megjelenítése", + "provider.connect.title": "Csatlakoztassa a {{provider}}-t", + "provider.connect.title.anthropicProMax": "Jelentkezzen be a Claude Pro/Max", + "provider.connect.selectMethod": "Válassza ki a {{provider}} bejelentkezési módját.", + "provider.connect.method.apiKey": "API kulcs", + "provider.connect.method.browser": "Böngésző", + "provider.connect.method.headless": "Fejetlen", + "provider.connect.status.inProgress": "Az engedélyezés folyamatban...", + "provider.connect.status.waiting": "Várakozás az engedélyezésre...", + "provider.connect.status.failed": "Az engedélyezés sikertelen: {{error}}", + "provider.connect.apiKey.description": + "Enter az Ön {{provider}} API kulcsa fiókja összekapcsolásához és a {{provider}} modellek használatához a OpenCode-ben.", + "provider.connect.apiKey.label": "{{provider}} API kulcs", + "provider.connect.apiKey.placeholder": "API kulcs", + "provider.connect.apiKey.required": "API kulcs szükséges", + "provider.connect.opencodeZen.line1": + "A OpenCode Zen hozzáférést biztosít a kódoló ügynökök számára megbízható, optimalizált modellek válogatott készletéhez.", + "provider.connect.opencodeZen.line2": + "Egyetlen API kulccsal hozzáférhet olyan modellekhez, mint a Claude, GPT, Gemini, GLM és még sok más.", + "provider.connect.opencodeZen.visit.prefix": "Látogatás", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": "hogy átvegye a API kulcsát.", + "provider.connect.oauth.code.visit.prefix": "Látogatás", + "provider.connect.oauth.code.visit.link": "ezt a linket", + "provider.connect.oauth.code.visit.suffix": + "az engedélyezési kód összegyűjtéséhez fiókja összekapcsolásához és a {{provider}} modellek használatához a OpenCode-ben.", + "provider.connect.oauth.code.label": "{{method}} engedélyezési kód", + "provider.connect.oauth.code.placeholder": "Engedélyezési kód", + "provider.connect.oauth.code.required": "Engedélyezési kód szükséges", + "provider.connect.oauth.code.invalid": "Érvénytelen engedélyezési kód", + "provider.connect.oauth.auto.visit.prefix": "Látogatás", + "provider.connect.oauth.auto.visit.link": "ezt a linket", + "provider.connect.oauth.auto.visit.suffix": + "és írja be az alábbi kódot fiókja összekapcsolásához, és használja a {{provider}} modelleket a OpenCode-ben.", + "provider.connect.oauth.auto.confirmationCode": "Megerősítő kód", + "provider.connect.toast.connected.title": "{{provider}} csatlakoztatva", + "provider.connect.toast.connected.description": "A {{provider}} modellek már használhatók.", + "provider.custom.title": "Egyedi szolgáltató", + "provider.custom.unavailable": "Egyéni szolgáltatók nem érhetők el ezen a szerveren", + "provider.custom.description.prefix": "Konfiguráljon egy OpenAI-kompatibilis szolgáltatót. Lásd a", + "provider.custom.description.link": "szolgáltató konfigurációs dokumentumai", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "Szolgáltató azonosítója", + "provider.custom.field.providerID.placeholder": "a szolgáltatóm", + "provider.custom.field.providerID.description": "Kisbetűk, számok, kötőjelek vagy aláhúzásjelek", + "provider.custom.field.name.label": "Megjelenítési név", + "provider.custom.field.name.placeholder": "AI szolgáltatóm", + "provider.custom.field.baseURL.label": "Alap URL", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "API kulcs", + "provider.custom.field.apiKey.placeholder": "API kulcs", + "provider.custom.field.apiKey.description": + "Választható. Hagyja üresen, ha a hitelesítést fejléceken keresztül kezeli.", + "provider.custom.models.label": "Modellek", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "modell-azonosító", + "provider.custom.models.name.label": "Név", + "provider.custom.models.name.placeholder": "Megjelenítési név", + "provider.custom.models.remove": "Modell eltávolítása", + "provider.custom.models.add": "Modell hozzáadása", + "provider.custom.headers.label": "Fejlécek (opcionális)", + "provider.custom.headers.key.label": "Fejléc", + "provider.custom.headers.key.placeholder": "Header-Name", + "provider.custom.headers.value.label": "Érték", + "provider.custom.headers.value.placeholder": "érték", + "provider.custom.headers.remove": "Fejléc eltávolítása", + "provider.custom.headers.add": "Fejléc hozzáadása", + "provider.custom.error.providerID.required": "Szolgáltatói azonosító szükséges", + "provider.custom.error.providerID.format": "Használjon kisbetűket, számokat, kötőjeleket vagy aláhúzásjeleket", + "provider.custom.error.providerID.exists": "Ez a szolgáltatói azonosító már létezik", + "provider.custom.error.name.required": "A megjelenített név kötelező", + "provider.custom.error.baseURL.required": "Alap URL szükséges", + "provider.custom.error.baseURL.format": "http:// vagy https:// karakterekkel kell kezdődnie", + "provider.custom.error.required": "Kívánt", + "provider.custom.error.duplicate": "Másolat", + "provider.disconnect.toast.disconnected.title": "{{provider}} leválasztva", + "provider.disconnect.toast.disconnected.description": "A {{provider}} modellek már nem kaphatók.", + "model.tag.free": "Ingyenes", + "model.tag.latest": "Legújabb", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "szöveg", + "model.input.image": "kép", + "model.input.audio": "hang-", + "model.input.video": "videó", + "model.input.pdf": "pdf", + "model.tooltip.allows": "Lehetővé teszi: {{inputs}}", + "model.tooltip.context.label": "Kontextus", + "model.tooltip.inputs": "Bemenetek", + "model.tooltip.model": "Modell", + "model.tooltip.provider": "Szolgáltató", + "model.tooltip.reasoning": "Érvelés", + "model.tooltip.reasoning.allowed": "Érvelést tesz lehetővé", + "model.tooltip.reasoning.none": "Nincs érvelés", + "model.tooltip.context": "Kontextuskorlát {{limit}}", + "common.search.placeholder": "Keresés", + "common.goBack": "Navigáljon vissza", + "common.goForward": "Navigáljon előre", + "common.loading": "Betöltés", + "common.loading.ellipsis": "...", + "common.cancel": "Mégsem", + "common.clear": "Törlés", + "common.open": "Nyitott", + "common.connect": "Csatlakozás", + "common.disconnect": "Leválasztás", + "common.continue": "Folytatás", + "common.submit": "Beküld", + "common.save": "Megtakarítás", + "common.saving": "Megtakarítás...", + "common.default": "Alapértelmezett", + "common.attachment": "mellékletet", + "prompt.placeholder.shell": "Enter shell parancs... {{example}}", + "prompt.placeholder.normal": 'Kérdezz bármit... "{{example}}"', + "prompt.placeholder.simple": "Kérdezz bármit...", + "prompt.placeholder.summarizeComments": "A megjegyzések összegzése…", + "prompt.placeholder.summarizeComment": "Komment összefoglalása…", + "prompt.mode.shell": "Shell", + "prompt.mode.normal": "Utasítás", + "prompt.mode.shell.exit": "esc a kilépéshez", + "session.child.promptDisabled": "Az alügynöki munkamenetek nem kérhetők fel.", + "session.child.backToParent": "Vissza a fő munkamenethez.", + "prompt.example.1": "Javítson ki egy TODO-t a kódbázisban", + "prompt.example.2": "Mi ennek a projektnek a technológiai halmaza?", + "prompt.example.3": "Javítsa ki a hibás teszteket", + "prompt.example.4": "Ismertesse a hitelesítés működését", + "prompt.example.5": "Keresse meg és javítsa ki a biztonsági réseket", + "prompt.example.6": "Adjon hozzá egységteszteket a felhasználói szolgáltatáshoz", + "prompt.example.7": "Refaktorálja ezt a függvényt, hogy jobban olvasható legyen", + "prompt.example.8": "Mit jelent ez a hiba?", + "prompt.example.9": "Segítsen a probléma hibakeresésében", + "prompt.example.10": "API dokumentáció létrehozása", + "prompt.example.11": "Az adatbázis-lekérdezések optimalizálása", + "prompt.example.12": "Bemeneti ellenőrzés hozzáadása", + "prompt.example.13": "Hozzon létre egy új összetevőt a...", + "prompt.example.14": "Hogyan telepíthetem ezt a projektet?", + "prompt.example.15": "Tekintse át a kódomat a bevált módszerekért", + "prompt.example.16": "Adja hozzá a hibakezelést ehhez a funkcióhoz", + "prompt.example.17": "Magyarázza el ezt a reguláris kifejezést", + "prompt.example.18": "Konvertálja ezt TypeScript-re", + "prompt.example.19": "Naplózás hozzáadása a kódbázishoz", + "prompt.example.20": "Milyen függőségek elavultak?", + "prompt.example.21": "Segíts nekem migrációs szkriptet írni", + "prompt.example.22": "Gyorsítótárazás megvalósítása ehhez a végponthoz", + "prompt.example.23": "Lapozás hozzáadása ehhez a listához", + "prompt.example.24": "Hozzon létre egy CLI parancsot...", + "prompt.example.25": "Hogyan működnek itt a környezeti változók?", + "prompt.popover.emptyResults": "Nincsenek megfelelő eredmények", + "prompt.popover.emptyCommands": "Nincsenek megfelelő parancsok", + "prompt.dropzone.label": "Húzza ide a képeket, PDF-eket vagy szöveges fájlokat", + "prompt.dropzone.file.label": "Vidd a @említési fájlba", + "prompt.slash.badge.custom": "szokás", + "prompt.slash.badge.skill": "készség", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "aktív", + "prompt.context.includeActiveFile": "Aktív fájl hozzáadása", + "prompt.context.removeActiveFile": "Távolítsa el az aktív fájlt a kontextusból", + "prompt.context.removeFile": "Távolítsa el a fájlt a kontextusból", + "prompt.action.attachFile": "Fájlok hozzáadása", + "prompt.menu.addImagesAndFiles": "Fájlok hozzáadása és egyebek", + "prompt.menu.imagesAndFiles": "Képek és fájlok", + "prompt.menu.commands": "Parancsok", + "prompt.menu.context": "Kontextus", + "prompt.menu.shellCommand": "Shell parancs", + "prompt.attachment.remove": "Távolítsa el a mellékletet", + "prompt.action.send": "Elküld", + "prompt.action.stop": "Leállítás", + "prompt.toast.pasteUnsupported.title": "Nem támogatott melléklet", + "prompt.toast.pasteUnsupported.description": "Ide csak képeket, PDF-eket vagy szöveges fájlokat lehet csatolni.", + "prompt.toast.attachmentDuplicate.title": "Ezt a fájlt már feltöltötték", + "prompt.toast.modelAgentRequired.title": "Válasszon egy ügynököt és modellt", + "prompt.toast.modelAgentRequired.description": "A felszólítás elküldése előtt válasszon ügynököt és modellt.", + "prompt.toast.worktreeCreateFailed.title": "Nem sikerült létrehozni a munkafát", + "prompt.toast.sessionCreateFailed.title": "Nem sikerült létrehozni a munkamenetet", + "prompt.toast.shellSendFailed.title": "Nem sikerült elküldeni a shell parancsot", + "prompt.toast.commandSendFailed.title": "Nem sikerült elküldeni a parancsot", + "prompt.toast.promptSendFailed.title": "Nem sikerült elküldeni a felszólítást", + "prompt.toast.promptSendFailed.description": "Nem sikerült lekérni a munkamenetet", + "dialog.mcp.title": "MCPs", + "dialog.mcp.description": "{{enabled}}/{{total}} engedélyezve", + "dialog.mcp.empty": "Nincs konfigurálva MCP", + "dialog.lsp.empty": "A LSP automatikusan felismerhető a fájltípusokból", + "dialog.plugins.empty": "Az opencode.json fájlban konfigurált beépülő modulok", + "mcp.status.connected": "csatlakoztatva", + "mcp.status.failed": "sikertelen", + "mcp.status.needs_auth": "hitelesítést igényel", + "mcp.status.disabled": "letiltva", + "mcp.auth.clickToAuthenticate": "Kattintson a hitelesítéshez", + "dialog.fork.empty": "Nincsenek üzenetek, ahonnan elágazhatna", + "dialog.directory.search.placeholder": "Mappák keresése", + "dialog.directory.empty": "Nem találhatók mappák", + "dialog.directory.action.selectFile": "Válassza ki a fájlt", + "dialog.directory.action.selectFolder": "Válasszon mappát", + "dialog.directory.root": "Gyökér", + "dialog.directory.parent": "Szülő", + "dialog.directory.readError": "Ez a mappa nem olvasható", + "app.server.unreachable": "A {{server}} nem érhető el", + "app.server.retrying": "Automatikus újrapróbálkozás...", + "app.server.otherServers": "Egyéb szerverek", + "dialog.server.title": "Szerverek", + "dialog.server.description": "Állítsa be, hogy ez az alkalmazás melyik OpenCode szerverhez csatlakozzon.", + "dialog.server.search.placeholder": "Szerverek keresése", + "dialog.server.empty": "Még nincsenek szerverek", + "dialog.server.add.title": "Szerver hozzáadása", + "dialog.server.add.url": "Szerver címe", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "Nem sikerült csatlakozni a szerverhez", + "dialog.server.add.checking": "Ellenőrzés...", + "dialog.server.add.button": "Szerver hozzáadása", + "dialog.server.add.name": "Szerver neve (nem kötelező)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "Felhasználónév (nem kötelező)", + "dialog.server.add.usernamePlaceholder": "felhasználónév", + "dialog.server.add.password": "Jelszó (nem kötelező)", + "dialog.server.add.passwordPlaceholder": "jelszó", + "dialog.server.edit.title": "Szerver szerkesztése", + "dialog.server.default.title": "Alapértelmezett szerver", + "dialog.server.default.description": + "Helyi szerver indítása helyett csatlakozzon ehhez a szerverhez az alkalmazás indításakor. Újraindítást igényel.", + "dialog.server.default.none": "Nincs kiválasztva szerver", + "dialog.server.default.set": "Az aktuális szerver beállítása alapértelmezettként", + "dialog.server.default.clear": "Törlés", + "dialog.server.action.remove": "Szerver eltávolítása", + "dialog.server.menu.edit": "Szerkesztés", + "dialog.server.menu.default": "Beállítás alapértelmezettként", + "dialog.server.menu.defaultRemove": "Alapértelmezés eltávolítása", + "dialog.server.menu.delete": "Törlés", + "dialog.server.current": "Jelenlegi szerver", + "dialog.server.status.default": "Alapértelmezett", + "wsl.server.add": "WSL szerver hozzáadása", + "wsl.server.addShort": "Adja hozzá a WSL-t", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "WSL szerver", + "wsl.server.retryStart": "Próbálja újra az indítást", + "wsl.server.updating": "Frissítés...", + "wsl.onboarding.step.distro": "Válasszon disztrót", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "WSL ellenőrzése...", + "wsl.onboarding.restartRequired": "A Windows készüléket újra kell indítani a WSL telepítésének befejezéséhez.", + "wsl.onboarding.ready": "A WSL készen áll.", + "wsl.onboarding.required": "A folytatáshoz WSL szükséges.", + "wsl.onboarding.checkingDistros": "A disztribúciók ellenőrzése...", + "wsl.onboarding.installingDistro": "{{distro}} telepítése...", + "wsl.onboarding.checkingDistro": "{{distro}} ellenőrzése...", + "wsl.onboarding.listingDistros": "A disztribúciók listázása...", + "wsl.onboarding.distroReady": "A {{distro}} készen áll.", + "wsl.onboarding.distroNotInstalled": "A {{distro}} még nincs telepítve.", + "wsl.onboarding.openDistroOnce": "Nyissa meg egyszer a {{distro}}-t a beállítás befejezéséhez.", + "wsl.onboarding.finishingDistro": "A {{distro}} befejező beállítása.", + "wsl.onboarding.pickDistro": "Válasszon disztrót vagy telepítsen egyet alább.", + "wsl.onboarding.checkingOpencode": "OpenCode ellenőrzése...", + "wsl.onboarding.checkingOpencodeIn": "OpenCode ellenőrzése a {{distro}}-ben...", + "wsl.onboarding.updatingOpencode": "OpenCode frissítése...", + "wsl.onboarding.updatingOpencodeIn": "OpenCode frissítése a {{distro}}-ben...", + "wsl.onboarding.updateOpencodeIn": "Frissítse a OpenCode-t a {{distro}}-ben.", + "wsl.onboarding.updateOpencode": "Frissítse a OpenCode-t", + "wsl.onboarding.opencodeReadyIn": "A OpenCode készen áll a {{distro}}-ben.", + "wsl.onboarding.opencodeReady": "A OpenCode készen áll.", + "wsl.onboarding.installOpencodeIn": "Telepítse a OpenCode-t a {{distro}}-be.", + "wsl.onboarding.installOpencode": "Telepítse a OpenCode-t", + "wsl.onboarding.chooseDistroFirst": "Először válasszon disztrót.", + "wsl.onboarding.loadFailed": "Nem sikerült betölteni a WSL állapotot.", + "wsl.onboarding.loading": "Betöltés...", + "wsl.onboarding.installedDistros": "Telepített disztribúciók", + "wsl.onboarding.checkAgain": "Ellenőrizze újra", + "wsl.onboarding.distroStatus.ready": "Kész", + "wsl.onboarding.distroStatus.checking": "Ellenőrzés...", + "wsl.onboarding.distroStatus.opencodeMissing": "A OpenCode nincs telepítve", + "wsl.onboarding.distroStatus.missingTools": "Hiányzik a bash, curl", + "wsl.onboarding.distroStatus.unsupported": "Nem támogatott · Használja a WSL 2-t", + "wsl.onboarding.needAnotherDistro": "Kell még egy disztró?", + "wsl.onboarding.needAnotherDistroHint": "Telepítsen egy Linux disztribúciót a WSL katalógusból", + "wsl.onboarding.wslNotInstalled.title": "A WSL nincs telepítve", + "wsl.onboarding.wslNotInstalled.description": + "A WSL (Windows alrendszer a Linux számára) szükséges ahhoz, hogy a OpenCode hozzáadhasson egy WSL szervert", + "wsl.onboarding.wslUnavailable.title": "A WSL nem elérhető", + "wsl.onboarding.wslUnavailable.description": "A OpenCode nem tudta ellenőrizni a WSL jelet ezen a gépen.", + "wsl.onboarding.installWsl": "Telepítse a WSL-t", + "wsl.onboarding.windowsRestartRequired": + "Indítsa újra a Windows programot a WSL telepítésének befejezéséhez, majd nyissa meg újra a OpenCode programot.", + "wsl.onboarding.next": "Következő", + "wsl.onboarding.refresh": "Frissítés", + "wsl.onboarding.allDistrosAdded": "Az összes telepített disztribúció már hozzáadva van.", + "wsl.onboarding.noDistros": "Még nem észleltek disztribúciót.", + "wsl.onboarding.install": "Telepítés", + "wsl.onboarding.installing": "Telepítés...", + "wsl.onboarding.installDistro": "Telepítse a disztribúciót", + "wsl.onboarding.searchDistros": "Keresés disztribúciókban", + "wsl.onboarding.wsl2Required": "WSL 2 szükséges.", + "wsl.onboarding.toolsRequired": "Ehhez a disztribúcióhoz bash és curl kell.", + "wsl.onboarding.openTerminal": "Nyissa meg a terminált", + "wsl.onboarding.path": "Útvonal: {{path}}", + "wsl.onboarding.notFound": "nem található", + "wsl.onboarding.version": "Kivitel: {{version}}", + "wsl.onboarding.unknown": "ismeretlen", + "wsl.onboarding.desktopVersion": "asztali {{version}}", + "wsl.onboarding.versionMismatch": "A telepített verzió nem egyezik az asztali alkalmazás verziójával.", + "wsl.onboarding.adding": "Hozzáadás...", + "help.tabs.toast.ariaLabel": "Bemutatjuk a Tab-ket. A lapokkal megszervezheti munkáját és aktív munkameneteit", + "help.tabs.toast.dismiss": "Tabs információ elvetése", + "help.tabs.title": "Bemutatjuk a Tab-ket", + "help.tabs.description": "A lapokkal megszervezheti munkáját és aktív munkameneteit", + "help.tabs.date": "július 14", + "help.tabs.introduction": "A OpenCode Desktop mostantól lapokra épül.", + "help.tabs.sessions": + "Indítson új munkamenetet egy lapon, vagy nyisson meg egy meglévő munkamenetet bármelyik projektből. Nyisson meg egy új lapot, amikor valami újat kezd, és zárja be, ha végzett.", + "help.tabs.organize": + "Néhány lap nyitva tartása megkönnyíti az aktív munkamenetek megszervezését. Nevezze át a lapokat valami emlékezetesre, ha azt tervezi, hogy megtartja őket.", + "help.tabs.home": + "Minden munkamenetét és projektjét megtalálja az új Home képernyőn. Ha kiválaszt egy munkamenetet, az egy lapon nyílik meg.", + "help.tabs.persistence": "Amikor újra megnyitja az alkalmazást, a lapok továbbra is nyitva maradnak.", + "help.tabs.worktrees": + "Az új kialakítás még nem támogatja a Git Worktrees-t, hamarosan megjelenik. Ha tehát szeretné folytatni az előző elrendezést, a Beállításokban válthat az elrendezések között. Ne feledje, hogy az új elrendezés néhány héten belül állandóvá válik.", + "server.row.noUsername": "nincs felhasználónév", + "dialog.project.edit.title": "Projekt szerkesztése", + "dialog.project.edit.name": "Név", + "dialog.project.edit.icon": "Ikon", + "dialog.project.edit.icon.alt": "Projekt ikonra", + "dialog.project.edit.icon.hint": "Kattintson vagy húzza a képet", + "dialog.project.edit.icon.recommended": "Javasolt: 128x128px", + "dialog.project.edit.color": "Szín", + "dialog.project.edit.color.select": "Válassza ki a {{color}} színt", + "dialog.project.edit.worktree.startup": "Munkaterület indító szkriptje", + "dialog.project.edit.worktree.startup.description": "Új munkaterület (munkafa) létrehozása után fut.", + "dialog.project.edit.worktree.startup.placeholder": "például zsemle telepítés", + "dialog.releaseNotes.action.getStarted": "Kezdje el", + "dialog.releaseNotes.action.next": "Következő", + "dialog.releaseNotes.action.hideFuture": "Ne mutasd ezeket a jövőben", + "dialog.releaseNotes.media.alt": "Kiadás előnézete", + "context.breakdown.title": "Kontextus bontása", + "context.breakdown.note": + "A beviteli tokenek hozzávetőleges bontása. Az „Egyéb” a szerszámdefiníciókat és az általános költségeket tartalmazza.", + "context.breakdown.system": "Rendszer", + "context.breakdown.user": "Felhasználó", + "context.breakdown.assistant": "Helyettes", + "context.breakdown.tool": "Szerszámhívások", + "context.breakdown.other": "Más", + "context.systemPrompt.title": "Rendszer prompt", + "context.rawMessages.title": "Nyers üzenetek", + "context.export.session": "Exportálási munkamenet", + "context.stats.session": "Munkamenet", + "context.stats.messages": "Üzenetek", + "context.stats.provider": "Szolgáltató", + "context.stats.model": "Modell", + "context.stats.limit": "Kontextuskorlát", + "context.stats.totalTokens": "Összes token", + "context.stats.usage": "Használat", + "context.stats.inputTokens": "Beviteli tokenek", + "context.stats.outputTokens": "Kimeneti tokenek", + "context.stats.reasoningTokens": "Érvelési tokenek", + "context.stats.cacheTokens": "Gyorsítótár tokenek (írás/olvasás)", + "context.stats.userMessages": "Felhasználói üzenetek", + "context.stats.assistantMessages": "Segéd üzenetek", + "context.stats.totalCost": "Teljes költség", + "context.stats.sessionCreated": "Munkamenet létrehozva", + "context.stats.lastActivity": "Utolsó tevékenység", + "context.usage.tokens": "Tokenek", + "context.usage.usage": "Használat", + "context.usage.cost": "Költség", + "context.usage.clickToView": "Kattintson a kontextus megtekintéséhez", + "context.usage.view": "Tekintse meg a környezethasználatot", + "language.en": "angol", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Deutsch", + "language.es": "Español", + "language.fr": "Français", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "Polski", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Norsk", + "language.br": "portugál (Brazília)", + "language.bs": "Bosanski", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Türkçe", + "toast.language.title": "Nyelv", + "toast.language.description": "{{language}}-re váltott", + "toast.theme.title": "Téma váltva", + "toast.scheme.title": "Színséma", + "toast.workspace.enabled.title": "Munkaterületek engedélyezve", + "toast.workspace.enabled.description": "Most több munkafa is megjelenik az oldalsávban", + "toast.workspace.disabled.title": "Munkaterületek letiltva", + "toast.workspace.disabled.description": "Csak a fő munkafa jelenik meg az oldalsávban", + "toast.permissions.autoaccept.on.title": "Engedélyek automatikus elfogadása", + "toast.permissions.autoaccept.on.description": "Az engedélykérések automatikusan jóváhagyásra kerülnek", + "toast.permissions.autoaccept.off.title": "Az engedélyek automatikus elfogadása leállítva", + "toast.permissions.autoaccept.off.description": "Az engedélykérésekhez jóváhagyás szükséges", + "toast.model.none.title": "Nincs kiválasztott modell", + "toast.model.none.description": "Csatlakozzon egy szolgáltatóhoz a munkamenet összefoglalásához", + "toast.file.loadFailed.title": "Nem sikerült betölteni a fájlt", + "toast.file.listFailed.title": "Nem sikerült listázni a fájlokat", + "toast.context.noLineSelection.title": "Nincs vonalválasztás", + "toast.context.noLineSelection.description": "Először válasszon ki egy sortartományt egy fájl lapon.", + "toast.session.share.copyFailed.title": "Nem sikerült a URL vágólapra másolása", + "toast.session.share.success.title": "Munkamenet megosztva", + "toast.session.share.success.description": "Megosztás URL vágólapra másolva!", + "toast.session.share.failed.title": "Nem sikerült megosztani a munkamenetet", + "toast.session.share.failed.description": "Hiba történt a munkamenet megosztása közben", + "toast.session.unshare.success.title": "Munkamenet megosztása visszavonva", + "toast.session.unshare.success.description": "A munkamenet megosztása sikeresen visszavonva!", + "toast.session.unshare.failed.title": "Nem sikerült megszüntetni a munkamenet megosztását", + "toast.session.unshare.failed.description": "Hiba történt a munkamenet megosztásának megszüntetése közben", + "toast.session.export.success.title": "Munkamenet exportálva", + "toast.session.export.success.description": "A munkamenet elmentve ide: {{filename}}", + "toast.session.export.failed.title": "Nem sikerült exportálni a munkamenetet", + "toast.session.export.failed.description": "Hiba történt a munkamenet exportálása közben", + "toast.session.listFailed.title": "Nem sikerült betölteni a {{project}} munkameneteit", + "toast.project.reloadFailed.title": "A {{project}} újratöltése nem sikerült", + "toast.update.title": "Frissítés elérhető", + "toast.update.description": "A OpenCode ({{version}}) új verziója már telepíthető.", + "toast.update.action.installRestart": "Telepítse és indítsa újra", + "toast.update.action.notYet": "Még nem", + "error.page.title": "Valami elromlott", + "error.page.description": "Hiba történt az alkalmazás betöltése közben.", + "error.page.description.localServerStartup": "Hiba történt a helyi szerver indításakor.", + "error.page.details.label": "Hiba részletei", + "error.page.action.restart": "Indítsa újra", + "error.page.action.report": "Jelentés hiba", + "error.page.action.reported": "Hiba jelentve", + "error.page.action.exportLogs": "Naplók exportálása", + "error.page.action.checking": "Ellenőrzés...", + "error.page.action.checkUpdates": "Ellenőrizze a frissítéseket", + "error.page.action.updateTo": "Frissítés a {{version}}-re", + "error.page.circular": "[Kör alakú]", + "error.page.report.prefix": "Kérjük, jelentse ezt a hibát a OpenCode csapatának", + "error.page.report.discord": "a Discord-n", + "error.page.version": "Kivitel: {{version}}", + "error.dev.rootNotFound": + "A gyökérelem nem található. Elfelejtette hozzáadni az index.html-hez? Vagy lehet, hogy az id attribútumot rosszul írták?", + "error.serverSync.connectFailed": "Nem sikerült csatlakozni a szerverhez. A `{{url}}`-n fut szerver?", + "error.serverSDK.noServerAvailable": "Nincs elérhető szerver", + "error.serverSDK.serverNotAvailable": "A szerver nem elérhető", + "error.childStore.persistedCacheCreateFailed": "Nem sikerült létrehozni a tartós gyorsítótárat", + "error.childStore.persistedProjectMetadataCreateFailed": "Nem sikerült létrehozni a megmaradt projekt metaadatait", + "error.childStore.persistedProjectIconCreateFailed": "Nem sikerült létrehozni a megmaradt projekt ikont", + "error.childStore.storeCreateFailed": "Nem sikerült létrehozni az üzletet", + "directory.error.invalidUrl": "Érvénytelen könyvtár a URL-ben.", + "error.chain.unknown": "Ismeretlen hiba", + "error.server.invalidConfiguration": "Érvénytelen konfiguráció", + "error.chain.causedBy": "Oka:", + "error.chain.apiError": "API hiba", + "error.chain.status": "Állapot: {{status}}", + "error.chain.retryable": "Újrapróbálható: {{retryable}}", + "error.chain.responseBody": "Válasz törzse:\n{{body}}", + "error.chain.didYouMean": "Erre gondolt: {{suggestions}}?", + "error.chain.modelNotFound": "A modell nem található: {{provider}}/{{model}}", + "error.chain.checkConfig": "Ellenőrizze a konfigurációs (opencode.json) szolgáltató/modell nevét", + "error.chain.mcpFailed": + 'A "{{name}}" MCP szerver meghibásodott. Megjegyzés: a OpenCode még nem támogatja a MCP hitelesítést.', + "error.chain.providerAuthFailed": "A szolgáltató hitelesítése nem sikerült ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + "Nem sikerült inicializálni a „{{provider}}” szolgáltatót. Ellenőrizze a hitelesítő adatokat és a konfigurációt.", + "error.chain.configJsonInvalid": "A {{path}} konfigurációs fájlja nem érvényes JSON(C)", + "error.chain.configJsonInvalidWithMessage": "A {{path}} konfigurációs fájlja nem érvényes JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + 'A "{{dir}}" könyvtár a {{path}}-ben nem érvényes. Nevezze át a könyvtárat "{{suggestion}}" névre, vagy távolítsa el. Ez egy gyakori elírás.', + "error.chain.configFrontmatterError": "A frontanyag elemzése nem sikerült a {{path}}-ben:\n{{message}}", + "error.chain.configInvalid": "A {{path}} konfigurációs fájl érvénytelen", + "error.chain.configInvalidWithMessage": "A {{path}} konfigurációs fájlja érvénytelen: {{message}}", + "notification.permission.title": "Engedély szükséges", + "notification.permission.description": "A {{sessionTitle}} {{projectName}}-ben engedélyre van szüksége", + "notification.question.title": "Kérdés", + "notification.question.description": "A {{sessionTitle}} {{projectName}}-ben van egy kérdése", + "notification.action.goToSession": "Ugrás a munkamenetre", + "notification.session.responseReady.title": "Válasz kész", + "notification.session.error.title": "Munkamenet hiba", + "notification.session.error.fallbackDescription": "Hiba történt", + "home.recentProjects": "Legutóbbi projektek", + "home.empty.title": "Nincsenek újabb projektek", + "home.empty.description": "Kezdje el egy helyi projekt megnyitásával", + "home.title": "Kezdőlap", + "home.projects": "Projektek", + "home.project.add": "Projekt hozzáadása", + "home.recentlyClosed": "Nemrég zárva", + "home.server.collapse": "Szerverprojektek összecsukása", + "home.server.expand": "Bővítse ki a szerverprojekteket", + "home.sessions.search.placeholder": "Munkamenetek keresése", + "home.sessions.search.placeholder.scoped": "Keresés a munkamenetekben a {{scope}} nyelven", + "home.sessions.search.sessions": "Munkamenetek", + "home.sessions.search.noResults": "Nem található munkamenet a {{query}} számára", + "home.sessions.empty": "Itt még semmi", + "home.sessions.empty.description": "A kezdéshez hozzon létre egy munkamenetet", + "home.sessions.group.today": "Ma", + "home.sessions.group.yesterday": "Tegnap", + "home.sessions.group.older": "Régebbi", + "home.providerTip": + "Csatlakozzon 75+ szolgáltatóhoz más modellek használatához, beleértve a Claude, GPT, Gemini stb.", + "session.tab.session": "Munkamenet", + "session.tab.review": "Tekintse át", + "session.tab.context": "Kontextus", + "session.tab.unknown": "Ismeretlen munkamenet", + "session.panel.reviewAndFiles": "Áttekintés és fájlok", + "session.error.notFound": "Ez a munkamenet nem található", + "session.error.notFound.description": "Ez a lap olyan munkamenetre mutat, amely már nem létezik ezen a kiszolgálón.", + "session.error.notFound.closeTab": "Zárja be a Tab-t", + "session.error.serverConnection": "Nem lehet csatlakozni ehhez a szerverhez", + "session.review.filesChanged": "A fájlok megváltoztak {{count}}", + "session.review.change.one": "Változás", + "session.review.change.other": "Változások", + "session.review.loadingChanges": "Módosítások betöltése...", + "session.review.empty": "Ebben a munkamenetben még nincs változás", + "session.review.noVcs": "Nem észlelt Git verzióvezérlő rendszert, a változások nem jelennek meg", + "session.review.noVcs.createGit.title": "Hozzon létre egy Git tárolót", + "session.review.noVcs.createGit.description": + "Kövesse nyomon, tekintse át és vonja vissza a változtatásokat ebben a projektben", + "session.review.noVcs.createGit.actionLoading": "Git adattár létrehozása...", + "session.review.noVcs.createGit.action": "Git tároló létrehozása", + "session.review.noSnapshot": + "A pillanatkép-követés le van tiltva a konfigurációban, így a munkamenet-módosítások nem érhetők el", + "session.review.noChanges": "Nincs változás", + "session.review.noUncommittedChanges": "Még nincsenek végrehajtatlan változtatások", + "session.review.noBranchChanges": "A fióktelep még nem változott", + "session.files.selectToOpen": "Válassza ki a megnyitandó fájlt", + "session.files.all": "Minden fájl", + "session.files.empty": "Nincsenek fájlok", + "session.files.binaryContent": "Bináris fájl (a tartalom nem jeleníthető meg)", + "session.messages.renderEarlier": "A korábbi üzenetek megjelenítése", + "session.messages.loadingEarlier": "Korábbi üzenetek betöltése...", + "session.messages.loadEarlier": "Korábbi üzenetek betöltése", + "session.messages.loading": "Üzenetek betöltése...", + "session.messages.jumpToLatest": "Ugrás a legújabbra", + "session.context.addToContext": "Adja hozzá a {{selection}}-t a kontextushoz", + "session.todo.title": "Feladatok", + "session.todo.collapse": "Összeomlás", + "session.todo.expand": "Bontsa ki", + "session.todo.progress": "{{done}}/{{total}} todos elkészült", + "session.question.progress": "{{current}}/{{total}} kérdések", + "session.question.minimize": "Minimalizálja a kérdést", + "session.question.restore": "Kérdés visszaállítása", + "session.question.pending.one": "{{count}} függőben lévő kérdés", + "session.question.pending.other": "{{count}} függőben lévő kérdések", + "session.followupDock.summary.one": "{{count}} sorba állított üzenet", + "session.followupDock.summary.other": "{{count}} sorba állított üzenetek", + "session.followupDock.sendNow": "Küldje el most", + "session.followupDock.edit": "Szerkesztés", + "session.followupDock.collapse": "A sorba állított üzenetek összecsukása", + "session.followupDock.expand": "A sorban álló üzenetek kibontása", + "session.revertDock.summary.one": "{{count}} visszavont üzenet", + "session.revertDock.summary.other": "{{count}} visszavont üzenetek", + "session.revertDock.collapse": "A visszagörgetett üzenetek összecsukása", + "session.revertDock.expand": "A visszagörgetett üzenetek kibontása", + "session.revertDock.restore": "Üzenet visszaállítása", + "session.new.title": "Építsen bármit", + "session.new.project.new": "Új projekt", + "session.new.project.search": "Projektek keresése", + "session.new.project.add": "Projekt hozzáadása", + "session.new.worktree.main": "Fő ág", + "session.new.worktree.mainWithBranch": "Fő ág ({{branch}})", + "session.new.worktree.create": "Új munkafa létrehozása", + "session.new.workspace.runIn": "Futtassa a munkamenetet", + "session.new.workspace.triggerLocal": "Helyi", + "session.new.workspace.local": "Helyi adattár", + "session.new.workspace.existing": "Munkaterület…", + "session.new.git.none": "Nincs Git", + "session.new.lastModified": "Utoljára módosítva", + "session.header.search.placeholder": "Keresés {{project}}", + "session.header.searchFiles": "Fájlok keresése", + "session.header.openIn": "Nyissa meg", + "session.header.open.action": "Nyissa meg a {{app}}-t", + "session.header.open.ariaLabel": "Nyitás {{app}}-ben", + "session.header.open.menu": "Nyissa meg az opciókat", + "session.header.open.copyPath": "Útvonal másolása", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "File Explorer", + "session.header.open.fileManager": "Fájlkezelő", + "session.header.reveal.finder": "Mutasd be a Finder-ben", + "session.header.reveal.fileExplorer": "Mutasd be a File Explorer-ben", + "session.header.reveal.containingFolder": "Nyissa meg a tartalmazó mappát", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Terminál", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "Állapot", + "status.popover.ariaLabel": "Szerver konfigurációk", + "status.popover.tab.servers": "Szerverek", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "Beépülő modulok", + "status.popover.action.manageServers": "Szerverek kezelése", + "session.share.popover.title": "Közzététel a weben", + "session.share.popover.description.shared": "Ez a munkamenet nyilvános a weben. A link birtokában bárki hozzáférhet.", + "session.share.popover.description.unshared": + "Ossza meg a munkamenetet nyilvánosan az interneten. A link birtokában bárki számára elérhető lesz.", + "session.share.action.share": "Részesedés", + "session.share.action.publish": "Közzététel", + "session.share.action.publishing": "Kiadás...", + "session.share.action.unpublish": "Közzététel visszavonása", + "session.share.action.unpublishing": "Közzététel visszavonása...", + "session.share.action.view": "Nézet", + "session.share.copy.copied": "Másolva", + "session.share.copy.copyLink": "Link másolása", + "lsp.tooltip.none": "Nincsenek LSP szerverek", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "Prompt betöltése...", + "terminal.loading": "Terminál betöltése...", + "terminal.title": "Terminál", + "terminal.title.numbered": "Terminal {{number}}", + "terminal.close": "Zárja be a terminált", + "terminal.connectionLost.title": "Kapcsolat megszakadt", + "terminal.connectionLost.abnormalClose": "WebSocket rendellenesen zárva: {{code}}", + "terminal.connectionLost.description": + "A terminál kapcsolat megszakadt. Ez akkor fordulhat elő, amikor a szerver újraindul.", + "terminal.connectTicket.csrfError": + "A PTY csatlakozási jegyet az eredet vagy a CSRF ellenőrzések elutasították. Ellenőrizze a szerver CORS konfigurációját.", + "terminal.connectTicket.statusError": "A PTY csatlakozási jegy sikertelen a {{status}}-vel", + "titlebar.update": "Frissítés", + "titlebar.updateVersion": "Frissítse a {{version}}-t", + "common.closeTab": "Lap bezárása", + "common.dismiss": "Elvetés", + "common.moreCountSuffix": "(+{{count}} további)", + "common.requestFailed": "A kérés sikertelen", + "common.moreOptions": "További lehetőségek", + "common.learnMore": "További információ", + "common.rename": "Átnevezés", + "common.export": "Exportálás", + "common.reset": "Alaphelyzet", + "common.archive": "Archívum", + "common.delete": "Törlés", + "common.close": "Bezárás", + "common.edit": "Szerkesztés", + "common.loadMore": "Töltsön be többet", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Törlés", + "common.key.home": "Kezdőlap", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Beszúrás", + "common.unknown": "ismeretlen", + "common.time.justNow": "Éppen most", + "common.time.minutesAgo.short": "{{count}}m ezelőtt", + "common.time.hoursAgo.short": "{{count}}h ezelőtt", + "common.time.daysAgo.short": "{{count}}d ezelőtt", + "sidebar.menu.toggle": "Váltó menü", + "sidebar.nav.projectsAndSessions": "Projektek és foglalkozások", + "sidebar.settings": "Beállítások", + "sidebar.help": "Segítség", + "sidebar.workspaces.enable": "Munkaterületek engedélyezése", + "sidebar.workspaces.disable": "Munkaterületek letiltása", + "sidebar.gettingStarted.title": "Kezdő lépések", + "sidebar.gettingStarted.line1": "A OpenCode ingyenes modelleket tartalmaz, így azonnal elkezdheti.", + "sidebar.gettingStarted.line2": + "Csatlakozzon bármely szolgáltatóhoz a modellek használatához, pl. Claude, GPT, Gemini stb.", + "sidebar.project.recentSessions": "Legutóbbi munkamenetek", + "sidebar.project.viewAllSessions": "Az összes munkamenet megtekintése", + "sidebar.project.clearNotifications": "Értesítések törlése", + "sidebar.empty.title": "Nincs nyitott projekt", + "sidebar.empty.description": "A kezdéshez nyisson meg egy projektet", + "debugBar.ariaLabel": "Fejlesztési teljesítmény diagnosztika", + "debugBar.na": "n/a", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "Utolsó befejezett útvonal-átmenet, amely egy munkamenet-oldalt érint, az útválasztó indulásától az első festésig mérve.", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "Gördülő képkockák másodpercenként az utolsó 5 másodpercben.", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "A legrosszabb képkockaidő az elmúlt 5 másodpercben.", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "32 ms-nál hosszabb képkockák az utolsó 5 másodpercben.", + "debugBar.long.label": "LONG", + "debugBar.long.tip": "Blokkolt idő és hosszú feladatok száma az utolsó 5 másodpercben. Max feladat: {{max}}.", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "A legrosszabb megfigyelt bemeneti késleltetés az elmúlt 5 másodpercben.", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": + "Az interakció hozzávetőleges időtartama az elmúlt 5 másodpercben. Ez a INP-szerű, nem a hivatalos Web Vitals INP.", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "Összesített elrendezési eltolódás az alkalmazás jelenlegi élettartamára vonatkozóan.", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "Használt JS kupac a kupackorláthoz képest. Csak a Chromium.", + "debugBar.mem.tip": "Használt JS kupac a kupackorláthoz képest. {{used}} vagy {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "A fókuszstílusok kényszerítése az összes interaktív elemre", + "debugBar.focus.on": "ON", + "debugBar.focus.off": "OFF", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": + "A teljes alkalmazáselrendezési irány kényszerítése a kiválasztott nyelv megváltoztatása nélkül", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode asztali számítógép", + "settings.section.desktop": "Asztali", + "settings.section.server": "Kiszolgáló", + "settings.tab.general": "Általános", + "settings.tab.shortcuts": "Parancsikonok", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "WSL integráció", + "settings.desktop.wsl.description": "Futtassa a OpenCode szervert a WSL belsejében a Windows rendszeren.", + "settings.general.section.appearance": "Megjelenés", + "settings.general.section.advanced": "Fejlett", + "settings.general.section.notifications": "Rendszerértesítések", + "settings.general.section.updates": "Frissítések", + "settings.general.section.sounds": "Hangeffektusok", + "settings.general.section.feed": "Takarmány", + "settings.general.section.display": "Kijelző", + "settings.general.row.language.title": "Nyelv", + "settings.general.row.language.description": "Módosítsa a OpenCode kijelző nyelvét", + "settings.general.row.shell.title": "Terminál shellje", + "settings.general.row.shell.description": "A terminál és az ügynökeszközök által használt shell", + "settings.general.row.shell.autoDefault": "Automatikus (alapértelmezett)", + "settings.general.row.shell.terminalOnly": "csak terminál", + "settings.general.row.appearance.title": "Megjelenés", + "settings.general.row.appearance.description": "Szabja személyre, hogyan néz ki a OpenCode az eszközén", + "settings.general.row.colorScheme.title": "Színséma", + "settings.general.row.colorScheme.description": + "Válassza ki, hogy a OpenCode a rendszer, a világos vagy a sötét témát követi-e", + "settings.general.row.theme.title": "Téma", + "settings.general.row.theme.description": "Szabja személyre a OpenCode témáját.", + "settings.general.row.font.title": "Kód betűtípus", + "settings.general.row.font.description": "Testreszabhatja a kódblokkban használt betűtípust", + "settings.general.row.terminalFont.title": "Terminal betűtípus", + "settings.general.row.terminalFont.description": "Testreszabhatja a terminálban használt betűtípust", + "settings.general.row.uiFont.title": "UI betűtípus", + "settings.general.row.uiFont.description": "Testreszabhatja a felületen használt betűtípust", + "settings.general.row.followup.title": "Nyomon követési viselkedés", + "settings.general.row.followup.description": + "Válassza ki, hogy a nyomon követési felszólítások azonnal irányítsák, vagy várakozzanak a sorban", + "settings.general.row.followup.option.queue": "Sor", + "settings.general.row.followup.option.steer": "Tinó", + "settings.general.row.showFileTree.title": "Fájlfa", + "settings.general.row.showFileTree.description": "A fájlfa panel megjelenítése a munkamenetekben", + "settings.general.row.showNavigation.title": "Navigációs vezérlők", + "settings.general.row.showNavigation.description": "A vissza és előre gombok megjelenítése az asztal címsorában", + "settings.general.row.showSearch.title": "Parancs paletta", + "settings.general.row.showSearch.description": "A kereső és a parancspaletta gomb megjelenítése a címsorban", + "settings.general.row.showTerminal.title": "Terminál", + "settings.general.row.showTerminal.description": "Jelenítse meg a terminál gombot az asztal címsorában", + "settings.general.row.showStatus.title": "Szerver állapota", + "settings.general.row.showStatus.description": "Jelenítse meg a szerver állapot gombját a címsorban", + "settings.general.row.mobileTitlebarBottom.title": "Alsó navigáció", + "settings.general.row.mobileTitlebarBottom.description": + "Helyezze el a címsort és a munkamenet füleket a képernyő aljára mobileszközön", + "settings.general.row.showCustomAgents.title": "Mutasd az ügynököt", + "settings.general.row.showCustomAgents.description": + "Váltás az ágensek között a zeneszerzőben. Ha rejtett, alapértelmezés szerint Build agent.", + "settings.general.row.reasoningSummaries.title": "Mutasson érvelési összefoglalókat", + "settings.general.row.reasoningSummaries.description": "Modell indoklási összefoglalók megjelenítése az idővonalon", + "settings.general.row.shellToolPartsExpanded.title": "Shelleszköz részeinek kibontása", + "settings.general.row.shellToolPartsExpanded.description": + "Alapértelmezés szerint kibontott shell eszközrészek megjelenítése az idővonalon", + "settings.general.row.editToolPartsExpanded.title": "A Szerkesztőeszköz részei kibontása", + "settings.general.row.editToolPartsExpanded.description": + "Az idővonalon alapértelmezés szerint kibontott szerkesztési, írási és javítási eszközrészek megjelenítése", + "settings.general.row.newInterface.title": "Új elrendezés", + "settings.general.row.newInterface.badge": "Új", + "settings.general.row.newInterface.description": + "Használja az új lapokat és a kezdőlap elrendezését. Váltás az elrendezések között korlátozott ideig.", + "settings.general.row.newInterfaceNotice.title": "Most új elrendezést használ", + "settings.general.row.newInterfaceNotice.description": "Az előző elrendezés már nem elérhető", + "settings.general.row.newInterfaceNotice.dismiss": "Elvetés", + "settings.general.row.pinchZoom.title": "Csípje össze a nagyításhoz", + "settings.general.row.pinchZoom.description": + "Engedélyezze az érintőpad összecsípését és a Ctrl-görgetést a nagyításhoz", + "settings.general.row.wayland.title": "Használja a natív Wayland-t", + "settings.general.row.wayland.description": "A X11 tartalék letiltása a Wayland-n. Újraindítást igényel.", + "settings.general.row.wayland.tooltip": + "A vegyes frissítési gyakoriságú monitorokkal rendelkező Linux esetében a natív Wayland stabilabb lehet.", + "settings.general.row.releaseNotes.title": "Kiadási megjegyzések", + "settings.general.row.releaseNotes.description": "Az Újdonságok előugró ablakok megjelenítése a frissítések után", + "settings.updates.row.startup.title": "Indításkor ellenőrizze a frissítéseket", + "settings.updates.row.startup.description": "A OpenCode indításakor automatikusan ellenőrizze a frissítéseket", + "settings.updates.row.check.title": "Ellenőrizze a frissítéseket", + "settings.updates.row.check.description": "Manuálisan ellenőrizze a frissítéseket, és telepítse, ha elérhető", + "settings.updates.action.checkNow": "Ellenőrizze most", + "settings.updates.action.checking": "Ellenőrzés...", + "settings.updates.action.downloading": "Letöltés...", + "settings.updates.action.installing": "Telepítés...", + "settings.updates.toast.latest.title": "Ön naprakész", + "settings.updates.toast.latest.description": "Ön a OpenCode legújabb verzióját futtatja.", + "sound.option.none": "Egyik sem", + "sound.option.alert01": "Figyelmeztetés 01", + "sound.option.alert02": "Figyelmeztetés 02", + "sound.option.alert03": "Figyelmeztetés 03", + "sound.option.alert04": "Figyelmeztetés 04", + "sound.option.alert05": "Figyelmeztetés 05", + "sound.option.alert06": "Figyelmeztetés 06", + "sound.option.alert07": "Figyelmeztetés 07", + "sound.option.alert08": "Figyelmeztetés 08", + "sound.option.alert09": "Figyelmeztetés 09", + "sound.option.alert10": "Figyelmeztetés 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "Nem 01", + "sound.option.nope02": "Nem 02", + "sound.option.nope03": "Nem 03", + "sound.option.nope04": "Nem 04", + "sound.option.nope05": "Nem 05", + "sound.option.nope06": "Nem 06", + "sound.option.nope07": "Nem 07", + "sound.option.nope08": "Nem 08", + "sound.option.nope09": "Nem 09", + "sound.option.nope10": "Nem 10", + "sound.option.nope11": "Nem 11", + "sound.option.nope12": "Nem 12", + "sound.option.yup01": "Igen 01", + "sound.option.yup02": "Igen 02", + "sound.option.yup03": "Igen 03", + "sound.option.yup04": "Igen 04", + "sound.option.yup05": "Igen 05", + "sound.option.yup06": "Igen 06", + "settings.general.notifications.agent.title": "Ügynök", + "settings.general.notifications.agent.description": + "Rendszerértesítés megjelenítése, ha az ügynök befejeződött vagy beavatkozásra van szüksége", + "settings.general.notifications.permissions.title": "Engedélyek", + "settings.general.notifications.permissions.description": + "Rendszerértesítés megjelenítése, ha engedélyre van szükség", + "settings.general.notifications.errors.title": "Hibák", + "settings.general.notifications.errors.description": "Rendszerértesítés megjelenítése hiba esetén", + "settings.general.sounds.agent.title": "Ügynök", + "settings.general.sounds.agent.description": "Hang lejátszása, ha az ügynök befejeződött vagy figyelmet igényel", + "settings.general.sounds.permissions.title": "Engedélyek", + "settings.general.sounds.permissions.description": "Hang lejátszása, ha engedélyre van szükség", + "settings.general.sounds.errors.title": "Hibák", + "settings.general.sounds.errors.description": "Hang lejátszása hiba esetén", + "settings.shortcuts.title": "Billentyűparancsok", + "settings.shortcuts.reset.button": "Állítsa vissza az alapértelmezett értékeket", + "settings.shortcuts.reset.toast.title": "Parancsikonok visszaállítása", + "settings.shortcuts.reset.toast.description": "A billentyűparancsok visszaálltak az alapértelmezett értékekre.", + "settings.shortcuts.conflict.title": "A parancsikon már használatban van", + "settings.shortcuts.conflict.description": "A {{keybind}} már hozzá van rendelve a {{titles}}-hez.", + "settings.shortcuts.unassigned": "Nincs hozzárendelve", + "settings.shortcuts.pressKeys": "Nyomja meg a gombokat", + "settings.shortcuts.search.placeholder": "Parancsikonok keresése", + "settings.shortcuts.search.empty": "Nem találhatók parancsikonok", + "settings.shortcuts.group.general": "Általános", + "settings.shortcuts.group.session": "Munkamenet", + "settings.shortcuts.group.navigation": "Navigáció", + "settings.shortcuts.group.modelAndAgent": "Modell és ügynök", + "settings.shortcuts.group.terminal": "Terminál", + "settings.shortcuts.group.prompt": "Utasítás", + "settings.providers.title": "Szolgáltatók", + "settings.providers.description": "A szolgáltató beállításai itt konfigurálhatók.", + "settings.providers.section.connected": "Csatlakozott szolgáltatók", + "settings.providers.connected.empty": "Nincsenek csatlakoztatott szolgáltatók", + "settings.providers.connected.environmentDescription": "A környezeti változókból csatlakozik", + "settings.providers.section.popular": "Népszerű szolgáltatók", + "settings.providers.custom.description": "Adjon hozzá egy OpenAI-kompatibilis szolgáltatót az alap URL segítségével.", + "settings.providers.tag.environment": "Környezet", + "settings.providers.tag.config": "Konfiguráció", + "settings.providers.tag.custom": "Szokás", + "settings.providers.tag.other": "Más", + "settings.models.title": "Modellek", + "settings.models.description": "A modellbeállítások itt konfigurálhatók.", + "settings.agents.title": "Ügynökök", + "settings.agents.description": "Az ügynök beállításai itt konfigurálhatók.", + "settings.commands.title": "Parancsok", + "settings.commands.description": "A parancsbeállítások itt konfigurálhatók.", + "settings.mcp.title": "MCP", + "settings.mcp.description": "A MCP beállítások itt konfigurálhatók.", + "settings.permissions.title": "Engedélyek", + "settings.permissions.description": + "Szabályozza, hogy a szerver milyen eszközöket használhat alapértelmezés szerint.", + "settings.permissions.section.tools": "Eszközök", + "settings.permissions.toast.updateFailed.title": "Nem sikerült frissíteni az engedélyeket", + "settings.permissions.action.allow": "Engedélyezze", + "settings.permissions.action.ask": "Kérdez", + "settings.permissions.action.deny": "Megtagadás", + "settings.permissions.tool.read.title": "Olvas", + "settings.permissions.tool.read.description": "Fájl olvasása (egyezik a fájl elérési útjával)", + "settings.permissions.tool.edit.title": "Szerkesztés", + "settings.permissions.tool.edit.description": + "Fájlok módosítása, beleértve a szerkesztéseket, írásokat és javításokat", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "Fájlok egyezése glob-mintákkal", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "Keresés a fájl tartalmában reguláris kifejezések használatával", + "settings.permissions.tool.list.title": "Lista", + "settings.permissions.tool.list.description": "Fájlok listázása egy könyvtárban", + "settings.permissions.tool.bash.title": "Bash", + "settings.permissions.tool.bash.description": "Futtassa a shell parancsokat", + "settings.permissions.tool.task.title": "Feladat", + "settings.permissions.tool.task.description": "Al-ügynökök indítása", + "settings.permissions.tool.skill.title": "Ügyesség", + "settings.permissions.tool.skill.description": "Töltsön be egy képességet név szerint", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "Nyelvi szerver lekérdezések futtatása", + "settings.permissions.tool.todowrite.title": "Todo Write", + "settings.permissions.tool.todowrite.description": "Frissítse a teendők listáját", + "settings.permissions.tool.webfetch.title": "Web Fetch", + "settings.permissions.tool.webfetch.description": "Tartalom lekérése URL-ről", + "settings.permissions.tool.websearch.title": "Webes keresés", + "settings.permissions.tool.websearch.description": "Keresés a weben", + "settings.permissions.tool.external_directory.title": "Külső címtár", + "settings.permissions.tool.external_directory.description": "Hozzáférés a projektkönyvtáron kívüli fájlokhoz", + "settings.permissions.tool.doom_loop.title": "Doom Loop", + "settings.permissions.tool.doom_loop.description": "Ismétlődő szerszámhívások észlelése azonos bemenettel", + "session.delete.failed.title": "Nem sikerült törölni a munkamenetet", + "session.delete.title": "Delete munkamenet", + "session.delete.confirm": "Delete „{{name}}” munkamenet?", + "session.delete.button": "Delete munkamenet", + "workspace.new": "Új munkaterület", + "workspace.type.local": "helyi", + "workspace.type.sandbox": "homokozó", + "workspace.create.failed.title": "Nem sikerült létrehozni a munkaterületet", + "workspace.delete.failed.title": "Nem sikerült törölni a munkaterületet", + "workspace.resetting.title": "Munkaterület visszaállítása", + "workspace.resetting.description": "Ez eltarthat egy percig.", + "workspace.reset.failed.title": "Nem sikerült visszaállítani a munkaterületet", + "workspace.reset.success.title": "Munkaterület visszaállítása", + "workspace.reset.success.description": "A munkaterület most megegyezik az alapértelmezett ággal.", + "workspace.error.stillPreparing": "A munkaterület még készül", + "workspace.status.checking": "Nem egyesített módosítások ellenőrzése...", + "workspace.status.error": "Nem lehet ellenőrizni a git állapotát.", + "workspace.status.clean": "Nem észleltek összevont változtatásokat.", + "workspace.status.dirty": "Nem egyesített változtatásokat észleltünk ezen a munkaterületen.", + "workspace.delete.title": "Delete munkaterület", + "workspace.delete.confirm": 'Delete munkaterület "{{name}}"?', + "workspace.delete.button": "Delete munkaterület", + "workspace.reset.title": "Állítsa vissza a munkaterületet", + "workspace.reset.confirm": "Visszaállítja a „{{name}}” munkaterületet?", + "workspace.reset.button": "Állítsa vissza a munkaterületet", + "workspace.reset.archived.none": "Az aktív munkamenetek nem lesznek archiválva.", + "workspace.reset.archived.one": "1 munkamenet archiválva lesz.", + "workspace.reset.archived.many": "A {{count}} munkamenetek archiválva lesznek.", + "workspace.reset.note": "Ezzel visszaállítja a munkaterületet, hogy megfeleljen az alapértelmezett ágnak.", + "dialog.usageExceeded.dontShowAgain": "Ne jelenjen meg újra", +} diff --git a/packages/app/src/i18n/hy.ts b/packages/app/src/i18n/hy.ts new file mode 100644 index 000000000000..6eac43b5e6dd --- /dev/null +++ b/packages/app/src/i18n/hy.ts @@ -0,0 +1,1165 @@ +export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Ֆայլ", + "desktop.menu.edit": "Խմբագրել", + "desktop.menu.view": "Դիտել", + "desktop.menu.go": "Գնալ", + "desktop.menu.window": "Պատուհան", + "desktop.menu.help": "Օգնություն", + "desktop.menu.checkForUpdates": "Ստուգեք թարմացումների համար...", + "desktop.menu.settings": "Կարգավորումներ", + "desktop.menu.reloadWebview": "Վերբեռնել Webview", + "desktop.menu.restart": "Վերագործարկեք", + "desktop.menu.exportLogs": "Արտահանման մատյաններ...", + "desktop.menu.newSession": "Նոր նիստ", + "desktop.menu.openProject": "Բաց նախագիծ...", + "desktop.menu.newWindow": "Նոր պատուհան", + "desktop.menu.closeWindow": "Փակել պատուհանը", + "desktop.menu.undo": "Հետարկել", + "desktop.menu.redo": "Կրկնել", + "desktop.menu.cut": "Կտրել", + "desktop.menu.copy": "Պատճեն", + "desktop.menu.paste": "Կպցնել", + "desktop.menu.delete": "Ջնջել", + "desktop.menu.selectAll": "Ընտրել բոլորը", + "desktop.menu.toggleSidebar": "Փոխարկել կողագոտին", + "desktop.menu.toggleTerminal": "Փոխարկել տերմինալը", + "desktop.menu.toggleFileTree": "Փոխարկել ֆայլերի ծառը", + "desktop.menu.reload": "Վերբեռնել", + "desktop.menu.toggleDeveloperTools": "Փոխարկել մշակողի գործիքները", + "desktop.menu.actualSize": "Փաստացի չափ", + "desktop.menu.zoomIn": "Խոշորացնել", + "desktop.menu.zoomOut": "Փոքրացնել", + "desktop.menu.toggleFullScreen": "Փոխարկել ամբողջ էկրանը", + "desktop.menu.back": "Հետ", + "desktop.menu.forward": "Առաջ", + "desktop.menu.previousSession": "Նախորդ նիստ", + "desktop.menu.nextSession": "Հաջորդ նիստ", + "desktop.menu.previousProject": "Նախորդ նախագիծ", + "desktop.menu.nextProject": "Հաջորդ նախագիծ", + "desktop.menu.minimize": "Նվազագույնի հասցնել", + "desktop.menu.maximize": "Առավելագույնի հասցնել", + "desktop.menu.documentation": "OpenCode Փաստաթղթեր", + "desktop.menu.supportForum": "Աջակցման ֆորում", + "desktop.menu.shareFeedback": "Կիսվել կարծիք", + "desktop.menu.reportBug": "Հաղորդել սխալի մասին", + "desktop.menu.ariaLabel": "OpenCode մենյու", + "desktop.updater.dialog.checkFailed.message": "Թարմացման ստուգումը ձախողվեց։", + "desktop.updater.dialog.checkFailed.title": "Թարմացման սխալ", + "desktop.updater.dialog.upToDate.message": "Դուք արդիական եք", + "desktop.updater.dialog.upToDate.title": "Թարմացումներ չկան", + "desktop.updater.dialog.ready.message": "Թարմացումը {{version}} ներբեռնվել է։ Վերագործարկե՞լ հիմա:", + "desktop.updater.dialog.ready.title": "Թարմացումը պատրաստ է", + "desktop.updater.dialog.restart": "Վերագործարկեք", + "desktop.updater.dialog.later": "Հետագայում", + "desktop.recovery.action.relaunch": "Վերագործարկում", + "desktop.recovery.action.exportLogs": "Արտահանման մատյաններ", + "desktop.recovery.action.keepWaiting": "Շարունակեք սպասել", + "desktop.recovery.action.quit": "Դուրս գալ", + "desktop.recovery.loadFailed": "OpenCode չհաջողվեց բեռնել", + "desktop.recovery.terminated": "OpenCode պատուհանն անսպասելիորեն ավարտվեց", + "desktop.recovery.unresponsive": "OpenCode-ը չի արձագանքում", + "desktop.recovery.unresponsive.detail": + "Դուք կարող եք վերագործարկել հավելվածը, բացել տեղեկամատյանները կամ շարունակել սպասել:", + "desktop.recovery.loadFailed.detail": "Պատուհան՝ {{window}}\nURL: {{url}}\nՍխալ՝ {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Պատուհան՝ {{window}}\nՊատճառը՝ {{reason}}\nԿոդ՝ {{code}}", + "desktop.recovery.unknown": "", + "desktop.dialog.chooseFolder": "Ընտրեք թղթապանակ", + "desktop.dialog.chooseFile": "Ընտրեք ֆայլ", + "desktop.dialog.saveFile": "Պահպանել ֆայլը", + "desktop.dialog.files": "Ֆայլեր", + "desktop.server.local": "Տեղական սերվեր", + "desktop.wsl.error.windowsOnly": "WSL հասանելի է միայն Windows", + "desktop.wsl.error.unavailable": "WSL անհասանելի է", + "desktop.wsl.error.listInstalled": "Չհաջողվեց ցուցակել տեղադրված WSL բաշխումները", + "desktop.wsl.error.listOnline": "Չհաջողվեց թվարկել առցանց WSL բաշխումները", + "desktop.wsl.error.executeDistro": "Հնարավոր չէ կատարել հրամաններ բաշխման մեջ", + "desktop.wsl.error.installWsl": "WSL տեղադրումը ձախողվեց", + "desktop.wsl.error.installDistro": "Չհաջողվեց տեղադրել բաշխում՝ {{distro}}", + "desktop.wsl.error.installOpencode": "OpenCode տեղադրումը ձախողվեց", + "desktop.wsl.error.alreadyAdded": "{{distro}} արդեն ավելացված է", + "desktop.wsl.error.opencodeMissing": "opencode-ը տեղադրված չէ այս բաշխում", + "desktop.wsl.error.opencodeCannotRun": "opencode-ը տեղադրված է, բայց չի կարող գործարկվել", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode տեղադրված չէ {{distro}}", + "desktop.wsl.error.updateVersion": + "OpenCode թարմացումն ավարտված է, բայց {{distro}}-ը դեռ հայտնում է {{installed}}; սպասվում է {{expected}}", + "desktop.wsl.error.noVersion": "առանց տարբերակ", + "desktop.wsl.error.serverExited": "WSL սերվերը դուրս է եկել գործարկումից հետո (code={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL սերվերը դուրս է եկել առողջանալուց առաջ (code={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": + "{{distro}} առողջության ստուգման կողային մեքենայի ժամանակը սպառվել է {{timeout}} ms", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} ժամանակը սպառվել է {{timeout}}ms", + "desktop.wsl.error.failedPort": "Չհաջողվեց ստանալ միացքը", + "desktop.picker.error.notSelected": "Ֆայլը ընտրողի կողմից ընտրված չէ", + "desktop.picker.error.sizeLimit": "Ընտրված հավելվածները գերազանցում են {{limit}} ՄԲ սահմանաչափը", + "command.category.suggested": "Առաջարկված", + "command.category.view": "Դիտել", + "command.category.project": "Նախագիծ", + "command.category.provider": "Մատակարար", + "command.category.server": "Սերվեր", + "command.category.session": "Նիստ", + "command.category.theme": "Թեմա", + "command.category.language": "Լեզու", + "command.category.file": "Ֆայլ", + "command.category.context": "Համատեքստ", + "command.category.terminal": "Տերմինալ", + "command.category.model": "Մոդել", + "command.category.mcp": "MCP", + "command.category.agent": "Գործակալ", + "command.category.permissions": "Թույլտվություններ", + "command.category.workspace": "Աշխատանքային տարածք", + "command.category.settings": "Կարգավորումներ", + "command.logs.export": "Արտահանել տեղեկամատյանները", + "theme.scheme.system": "Համակարգ", + "theme.scheme.light": "Բաց", + "theme.scheme.dark": "Մուգ", + "command.sidebar.toggle": "Փոխարկել կողագոտին", + "command.project.open": "Բացել նախագիծ", + "command.project.previous": "Նախորդ նախագիծ", + "command.project.next": "Հաջորդ նախագիծ", + "command.project.index": "Անցնել նախագծին {{index}}", + "command.provider.connect": "Միացեք մատակարարին", + "command.server.switch": "Փոխարկել սերվեր", + "command.settings.open": "Բացել կարգավորումները", + "command.session.previous": "Նախորդ նիստ", + "command.session.next": "Հաջորդ նիստ", + "command.session.previous.unseen": "Նախորդ չկարդացված նիստը", + "command.session.next.unseen": "Հաջորդ չկարդացված նիստը", + "command.session.archive": "Արխիվացնել նիստը", + "command.palette": "Հրամանների գունապնակ", + "command.theme.cycle": "Ցիկլի թեմա", + "command.theme.set": "Օգտագործել թեման՝ {{theme}}", + "command.theme.scheme.cycle": "Ցիկլի գունային սխեման", + "command.theme.scheme.set": "Օգտագործել գունային սխեման՝ {{scheme}}", + "command.language.cycle": "Ցիկլի լեզու", + "command.language.set": "Օգտագործել լեզուն՝ {{language}}", + "command.session.new": "Նոր նիստ", + "command.file.open": "Բացել ֆայլ", + "command.tab.close": "Փակել ներդիրը", + "command.tab.reopenClosed": "Վերաբացել փակ ներդիրը", + "command.context.addSelection": "Ավելացնել ընտրությունը համատեքստում", + "command.context.addSelection.description": "Ավելացնել ընտրված տողերը ընթացիկ ֆայլից", + "command.input.focus": "Կիզակետային մուտքագրում", + "command.terminal.toggle": "Փոխարկել տերմինալը", + "command.fileTree.toggle": "Փոխարկել ֆայլի ծառը", + "command.review.toggle": "Փոխարկել ակնարկ", + "command.terminal.new": "Նոր տերմինալ", + "command.terminal.new.description": "Ստեղծել նոր տերմինալի ներդիր", + "command.steps.toggle": "Փոխարկել քայլերը", + "command.steps.toggle.description": "Ցույց տալ կամ թաքցնել ընթացիկ հաղորդագրության քայլերը", + "command.message.previous": "Նախորդ հաղորդագրություն", + "command.message.previous.description": "Անցնել օգտվողի նախորդ հաղորդագրությունը", + "command.message.next": "Հաջորդ հաղորդագրություն", + "command.message.next.description": "Անցնել օգտվողի հաջորդ հաղորդագրությունը", + "command.model.choose": "Ընտրեք մոդել", + "command.model.choose.description": "Ընտրեք այլ մոդել", + "command.mcp.toggle": "Փոխարկել MCPs", + "command.mcp.toggle.description": "Փոխարկել MCPs", + "command.agent.cycle": "Փոխարկել գործակալը", + "command.agent.cycle.description": "Անցնել հաջորդ գործակալին", + "command.agent.cycle.reverse": "Անցնել նախորդ գործակալին", + "command.agent.cycle.reverse.description": "Անցնել նախորդ գործակալին", + "command.model.variant.cycle": "Փոխել մտածողության ջանքի մակարդակը", + "command.model.variant.cycle.description": "Անցնել հաջորդ ջանքերի մակարդակին", + "command.prompt.mode.shell": "Shell", + "command.prompt.mode.normal": "Հուշում", + "command.permissions.autoaccept.enable": "Ավտոմատ ընդունել թույլտվությունները", + "command.permissions.autoaccept.disable": "Դադարեցնել թույլտվությունների ավտոմատ ընդունումը", + "command.workspace.toggle": "Փոխարկել աշխատանքային տարածքները", + "command.workspace.toggle.description": "Միացնել կամ անջատել բազմաթիվ աշխատանքային տարածքներ կողագոտում", + "command.session.undo": "Հետարկել", + "command.session.undo.description": "Հետարկել վերջին հաղորդագրությունը", + "command.session.redo": "Կրկնել", + "command.session.redo.description": "Կրկնել վերջին չեղարկված հաղորդագրությունը", + "command.session.compact": "Կոմպակտ նիստ", + "command.session.compact.description": "Ամփոփեք նիստը՝ համատեքստի չափը նվազեցնելու համար", + "command.session.fork": "Ստեղծել ճյուղ հաղորդագրությունից", + "command.session.fork.description": "Ստեղծել նոր նիստ նախորդ հաղորդագրությունից", + "command.session.share": "Կիսվել նիստ", + "command.session.share.description": "Կիսվել այս նիստով և պատճենել URL-ը սեղմատախտակին", + "command.session.unshare": "Դադարեցնել նիստի համօգտագործումը", + "command.session.unshare.description": "Դադարեցնել այս նիստի համօգտագործումը", + "command.session.export": "Արտահանման նիստ", + "command.session.export.description": "Արտահանել ամբողջ նիստի տառադարձումը որպես JSON", + "palette.search.placeholder": "Որոնել ֆայլեր, հրամաններ և նիստեր", + "palette.search.placeholder.home": "Որոնման հրամաններ և նիստեր", + "palette.empty": "Արդյունքներ չեն գտնվել", + "palette.group.commands": "Հրամաններ", + "palette.group.files": "Ֆայլեր", + "dialog.provider.search.placeholder": "Որոնել մատակարարների", + "dialog.provider.empty": "Ոչ մի մատակարար չի գտնվել", + "dialog.provider.group.popular": "Հանրաճանաչ", + "dialog.provider.group.other": "Այլ", + "dialog.provider.custom.label": "Պատվիրված OpenAI-համատեղելի մատակարար", + "dialog.provider.tag.recommended": "Խորհուրդ է տրվում", + "dialog.provider.opencode.note": "Ընտրված մոդելներ, ներառյալ՝ Claude, GPT, Gemini և ավելին", + "dialog.provider.opencode.tagline": "Վստահելի օպտիմիզացված մոդելներ", + "dialog.provider.opencodeGo.tagline": "Ցածր գնով բաժանորդագրություն բոլորի համար", + "dialog.provider.anthropic.note": "Ուղիղ մուտք դեպի Claude մոդելներ, ներառյալ Pro և Max", + "dialog.provider.copilot.note": "AI մոդելներ կոդավորման օգնության համար՝ GitHub Copilot", + "dialog.provider.openai.note": "GPT մոդելներ արագ, ունակ ընդհանուր AI առաջադրանքների համար", + "dialog.provider.google.note": "Gemini մոդելներ արագ, կառուցվածքային պատասխանների համար", + "dialog.provider.openrouter.note": "Մուտք գործեք բոլոր աջակցվող մոդելները մեկ մատակարարից", + "dialog.provider.vercel.note": "Միասնական մուտք դեպի AI մոդելներ՝ խելացի երթուղիներով", + "dialog.model.select.title": "Ընտրել մոդել", + "dialog.model.search.placeholder": "Որոնել մոդելներ", + "dialog.model.empty": "Մոդելի արդյունքներ չկա", + "dialog.model.manage": "Կառավարել մոդելները", + "dialog.model.manage.description": "Անհատականացրեք, թե որ մոդելները կհայտնվեն մոդելի ընտրիչում:", + "dialog.model.manage.provider.toggle": "Փոխարկել բոլոր {{provider}} մոդելները", + "dialog.model.unpaid.freeModels.title": "Անվճար մոդելները տրամադրվում են OpenCode", + "dialog.model.unpaid.addMore.title": "Ավելացնել ավելի շատ մոդելներ հանրաճանաչ մատակարարներից", + "dialog.model.unpaid.viewMoreProviders": "Տես 70+ այլ մատակարարներ", + "dialog.provider.viewAll": "Ցույց տալ ավելի շատ մատակարարներ", + "provider.connect.title": "Միացեք {{provider}}", + "provider.connect.title.anthropicProMax": "Մուտք գործեք Claude Pro/Max-ով", + "provider.connect.selectMethod": "Ընտրեք մուտքի եղանակը {{provider}}-ի համար։", + "provider.connect.method.apiKey": "API բանալի", + "provider.connect.method.browser": "Դիտարկիչ", + "provider.connect.method.headless": "Առանց գրաֆիկական միջերեսի", + "provider.connect.status.inProgress": "Լիազորումն ընթացքի մեջ է...", + "provider.connect.status.waiting": "Սպասում է թույլտվության...", + "provider.connect.status.failed": "Լիազորումը ձախողվեց՝ {{error}}", + "provider.connect.apiKey.description": + "Մուտքագրեք ձեր {{provider}} API բանալին՝ ձեր հաշիվը միացնելու և OpenCode-ում {{provider}} մոդելներ օգտագործելու համար։", + "provider.connect.apiKey.label": "{{provider}} API բանալի", + "provider.connect.apiKey.placeholder": "API բանալի", + "provider.connect.apiKey.required": "API բանալի է պահանջվում", + "provider.connect.opencodeZen.line1": + "OpenCode Zen-ը թույլ է տալիս մուտք գործել կոդավորման գործակալների համար հուսալի օպտիմիզացված մոդելների հավաքածու։", + "provider.connect.opencodeZen.line2": + "Մեկ API բանալիով դուք մուտք կունենաք այնպիսի մոդելների, ինչպիսիք են՝ Claude, GPT, Gemini, GLM և ավելին:", + "provider.connect.opencodeZen.visit.prefix": "Այցելություն ", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": " ձեր API բանալին հավաքելու համար", + "provider.connect.oauth.code.visit.prefix": "Այցելություն ", + "provider.connect.oauth.code.visit.link": "այս հղումը", + "provider.connect.oauth.code.visit.suffix": + " հավաքել ձեր թույլտվության կոդը՝ ձեր հաշիվը միացնելու և OpenCode-ում {{provider}} մոդելներ օգտագործելու համար:", + "provider.connect.oauth.code.label": "{{method}} թույլտվության կոդ", + "provider.connect.oauth.code.placeholder": "Լիցենզավորման կոդ", + "provider.connect.oauth.code.required": "Պահանջվում է լիազորման կոդը", + "provider.connect.oauth.code.invalid": "Սխալ թույլտվության կոդը", + "provider.connect.oauth.auto.visit.prefix": "Այցելություն ", + "provider.connect.oauth.auto.visit.link": "այս հղումը", + "provider.connect.oauth.auto.visit.suffix": + " և մուտքագրեք ստորև ծածկագիրը՝ ձեր հաշիվը միացնելու և OpenCode-ում {{provider}} մոդելներ օգտագործելու համար:", + "provider.connect.oauth.auto.confirmationCode": "Հաստատման կոդը", + "provider.connect.toast.connected.title": "{{provider}} կապված", + "provider.connect.toast.connected.description": "{{provider}} մոդելներ այժմ հասանելի են օգտագործման համար։", + "provider.custom.title": "Պատվերով մատակարար", + "provider.custom.unavailable": "Պատվերով մատակարարներն անհասանելի են այս սերվերում", + "provider.custom.description.prefix": "Կարգավորել OpenAI-ի հետ համատեղելի մատակարար: Տեսեք ", + "provider.custom.description.link": "մատակարարի կազմաձևման փաստաթղթեր", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "Մատակարարի ID", + "provider.custom.field.providerID.placeholder": "myprovider", + "provider.custom.field.providerID.description": "Փոքրատառ, թվեր, գծիկներ կամ ընդգծում", + "provider.custom.field.name.label": "Ցուցադրման անուն", + "provider.custom.field.name.placeholder": "Իմ AI մատակարարը", + "provider.custom.field.baseURL.label": "Հիմնական URL", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "API բանալի", + "provider.custom.field.apiKey.placeholder": "API բանալի", + "provider.custom.field.apiKey.description": + "Ըստ ցանկության։ Դատարկ թողեք, եթե դուք կառավարում եք հեղինակությունը վերնագրերի միջոցով:", + "provider.custom.models.label": "Մոդելներ", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "model-id", + "provider.custom.models.name.label": "Անուն", + "provider.custom.models.name.placeholder": "Ցուցադրման անուն", + "provider.custom.models.remove": "Հեռացնել մոդելը", + "provider.custom.models.add": "Ավելացնել մոդել", + "provider.custom.headers.label": "Վերնագրեր (ըստ ցանկության)", + "provider.custom.headers.key.label": "Վերնագիր", + "provider.custom.headers.key.placeholder": "Header-Name", + "provider.custom.headers.value.label": "Արժեք", + "provider.custom.headers.value.placeholder": "արժեք", + "provider.custom.headers.remove": "Հեռացնել վերնագիրը", + "provider.custom.headers.add": "Ավելացնել վերնագիր", + "provider.custom.error.providerID.required": "Պահանջվում է մատակարարի ID", + "provider.custom.error.providerID.format": "Օգտագործեք փոքրատառեր, թվեր, գծիկներ կամ ընդգծում", + "provider.custom.error.providerID.exists": "Այդ մատակարարի ID-ն արդեն գոյություն ունի", + "provider.custom.error.name.required": "Ցուցադրել անունը պարտադիր է", + "provider.custom.error.baseURL.required": "Պահանջվում է բազային URL", + "provider.custom.error.baseURL.format": "Պետք է սկսել http:// կամ https://", + "provider.custom.error.required": "Պահանջվում", + "provider.custom.error.duplicate": "Կրկնօրինակ", + "provider.disconnect.toast.disconnected.title": "{{provider}} անջատված է", + "provider.disconnect.toast.disconnected.description": "{{provider}} մոդելներն այլևս հասանելի չեն:", + "model.tag.free": "Անվճար", + "model.tag.latest": "Վերջին", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "տեքստ", + "model.input.image": "պատկեր", + "model.input.audio": "ձայն", + "model.input.video": "տեսանյութ", + "model.input.pdf": "pdf", + "model.tooltip.allows": "Թույլ է տալիս՝ {{inputs}}", + "model.tooltip.context.label": "Համատեքստ", + "model.tooltip.inputs": "Մուտքագրումներ", + "model.tooltip.model": "Մոդել", + "model.tooltip.provider": "Մատակարար", + "model.tooltip.reasoning": "պատճառաբանում", + "model.tooltip.reasoning.allowed": "Թույլ է տալիս պատճառաբանել", + "model.tooltip.reasoning.none": "Ոչ հիմնավորում", + "model.tooltip.context": "Համատեքստային սահմանաչափ՝ {{limit}}", + "common.search.placeholder": "Որոնում", + "common.goBack": "Նավարկեք հետ", + "common.goForward": "Նավարկել առաջ", + "common.loading": "Բեռնվում", + "common.loading.ellipsis": "...", + "common.cancel": "Չեղարկել", + "common.clear": "Մաքրել", + "common.open": "Բացել", + "common.connect": "Միացեք", + "common.disconnect": "Անջատել կապը", + "common.continue": "Շարունակել", + "common.submit": "Ներկայացնել", + "common.save": "Պահել", + "common.saving": "Պահպանում...", + "common.default": "Լռելյայն", + "common.attachment": "կցված", + "prompt.placeholder.shell": "Մուտքագրեք shell հրամանը... {{example}}", + "prompt.placeholder.normal": "Հարցրեք որևէ բան... «{{example}}»", + "prompt.placeholder.simple": "Հարցրեք որեւէ բան...", + "prompt.placeholder.summarizeComments": "Ամփոփել մեկնաբանությունները…", + "prompt.placeholder.summarizeComment": "Ամփոփել մեկնաբանությունը…", + "prompt.mode.shell": "Shell", + "prompt.mode.normal": "Հուշում", + "prompt.mode.shell.exit": "դուրս գալու համար՝ esc", + "session.child.promptDisabled": "Ենթագենտի նիստերը չեն կարող հուշվել:", + "session.child.backToParent": "Վերադառնալ հիմնական նիստին։", + "prompt.example.1": "Ստուգել TODO կոդերի բազայում", + "prompt.example.2": "Ինչպիսի՞ն է այս նախագծի տեխնիկական փաթեթը։", + "prompt.example.3": "Ստուգել կոտրված թեստերը", + "prompt.example.4": "Բացատրեք, թե ինչպես է աշխատում նույնականացումը", + "prompt.example.5": "Գտեք և շտկեք անվտանգության խոցելիությունները", + "prompt.example.6": "Ավելացնել միավորի թեստեր օգտվողի ծառայության համար", + "prompt.example.7": "Վերափոխեք այս ֆունկցիան ավելի ընթեռնելի", + "prompt.example.8": "Ինչ է նշանակում այս սխալը", + "prompt.example.9": "Օգնիր ինձ կարգաբերել այս խնդիրը", + "prompt.example.10": "Ստեղծել API փաստաթղթեր", + "prompt.example.11": "Օպտիմալացնել տվյալների բազայի հարցումները", + "prompt.example.12": "Ավելացնել մուտքագրման վավերացում", + "prompt.example.13": "Ստեղծել նոր բաղադրիչ...", + "prompt.example.14": "Ինչպե՞ս կարող եմ տեղակայել այս նախագիծը", + "prompt.example.15": "Վերանայել իմ կոդը լավագույն փորձի համար", + "prompt.example.16": "Ավելացնել սխալների մշակումն այս ֆունկցիային", + "prompt.example.17": "Բացատրեք այս ռեգեքսի օրինակը", + "prompt.example.18": "Փոխարկեք սա TypeScript", + "prompt.example.19": "Ավելացնել գրանցում կոդերի բազայում", + "prompt.example.20": "Ի՞նչ կախվածություններն են հնացած:", + "prompt.example.21": "Օգնիր ինձ գրել միգրացիոն սցենար", + "prompt.example.22": "Իրականացնել քեշավորում այս վերջնակետի համար", + "prompt.example.23": "Ավելացնել էջադրում այս ցանկին", + "prompt.example.24": "Ստեղծել CLI հրաման...", + "prompt.example.25": "Ինչպե՞ս են այստեղ աշխատում շրջակա միջավայրի փոփոխականները", + "prompt.popover.emptyResults": "Համապատասխան արդյունքներ չկա", + "prompt.popover.emptyCommands": "Համապատասխան հրամաններ", + "prompt.dropzone.label": "Թողեք պատկերներ, PDF կամ տեքստային ֆայլեր այստեղ", + "prompt.dropzone.file.label": "Թողնել @mention ֆայլին", + "prompt.slash.badge.custom": "պատվերով", + "prompt.slash.badge.skill": "հմտություն", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "ակտիվ", + "prompt.context.includeActiveFile": "Ներառել ակտիվ ֆայլ", + "prompt.context.removeActiveFile": "Հեռացնել ակտիվ ֆայլը համատեքստից", + "prompt.context.removeFile": "Հեռացնել ֆայլը համատեքստից", + "prompt.action.attachFile": "Ավելացնել ֆայլեր", + "prompt.menu.addImagesAndFiles": "Ավելացնել ֆայլեր և ավելին", + "prompt.menu.imagesAndFiles": "Պատկերներ և ֆայլեր", + "prompt.menu.commands": "Հրամաններ", + "prompt.menu.context": "Համատեքստ", + "prompt.menu.shellCommand": "Shell հրաման", + "prompt.attachment.remove": "Հեռացնել հավելվածը", + "prompt.action.send": "Ուղարկել", + "prompt.action.stop": "Կանգնեցնել", + "prompt.toast.pasteUnsupported.title": "Չաջակցվող հավելված", + "prompt.toast.pasteUnsupported.description": "Այստեղ կարող են կցվել միայն պատկերներ, PDF կամ տեքստային ֆայլեր։", + "prompt.toast.attachmentDuplicate.title": "Այս ֆայլն արդեն վերբեռնվել է", + "prompt.toast.modelAgentRequired.title": "Ընտրեք գործակալ և մոդել", + "prompt.toast.modelAgentRequired.description": "Ընտրեք գործակալ և մոդել՝ նախքան հուշում ուղարկելը։", + "prompt.toast.worktreeCreateFailed.title": "Չհաջողվեց ստեղծել աշխատանքային ծառը", + "prompt.toast.sessionCreateFailed.title": "Չհաջողվեց ստեղծել նիստ", + "prompt.toast.shellSendFailed.title": "Չհաջողվեց ուղարկել shell հրամանը", + "prompt.toast.commandSendFailed.title": "Չհաջողվեց ուղարկել հրամանը", + "prompt.toast.promptSendFailed.title": "Չհաջողվեց ուղարկել հուշումը", + "prompt.toast.promptSendFailed.description": "Անհնար է առբերել նիստը", + "dialog.mcp.title": "MCPs", + "dialog.mcp.description": "{{enabled}}-ը {{total}}-ից միացված է", + "dialog.mcp.empty": "Կազմաձևված չէ MCPs", + "dialog.lsp.empty": "LSPs ավտոմատ հայտնաբերվում է ֆայլերի տեսակներից", + "dialog.plugins.empty": "Ընդլայնումները կազմաձևված են opencode.json-ում", + "mcp.status.connected": "միացված", + "mcp.status.failed": "ձախողվեց", + "mcp.status.needs_auth": "անհրաժեշտ է վավերացում", + "mcp.status.disabled": "անջատված", + "mcp.auth.clickToAuthenticate": "Սեղմեք՝ նույնականացնելու համար", + "dialog.fork.empty": "Չկան պատառաքաղված հաղորդագրություններ", + "dialog.directory.search.placeholder": "Որոնել թղթապանակներ", + "dialog.directory.empty": "Պանակներ չեն գտնվել", + "dialog.directory.action.selectFile": "Ընտրել ֆայլը", + "dialog.directory.action.selectFolder": "Ընտրել թղթապանակ", + "dialog.directory.root": "Արմատ", + "dialog.directory.parent": "Ծնող", + "dialog.directory.readError": "Անհնար է կարդալ այս թղթապանակը", + "app.server.unreachable": "Չհաջողվեց հասնել {{server}}", + "app.server.retrying": "Նորից ինքնաբերաբար...", + "app.server.otherServers": "Այլ սերվերներ", + "dialog.server.title": "Սերվերներ", + "dialog.server.description": "Փոխարկեք, թե որ OpenCode սերվերին է միանում այս հավելվածը։", + "dialog.server.search.placeholder": "Որոնման սերվերներ", + "dialog.server.empty": "Սերվերներ դեռ չկան", + "dialog.server.add.title": "Ավելացնել սերվեր", + "dialog.server.add.url": "Սերվերի հասցեն", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "Չհաջողվեց միանալ սերվերին", + "dialog.server.add.checking": "Ստուգում...", + "dialog.server.add.button": "Ավելացնել սերվեր", + "dialog.server.add.name": "Սերվերի անունը (ըստ ցանկության)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "Օգտագործողի անուն (ըստ ցանկության)", + "dialog.server.add.usernamePlaceholder": "օգտվողի անուն", + "dialog.server.add.password": "Գաղտնաբառ (ըստ ցանկության)", + "dialog.server.add.passwordPlaceholder": "գաղտնաբառ", + "dialog.server.edit.title": "Խմբագրել սերվերը", + "dialog.server.default.title": "Լռելյայն սերվեր", + "dialog.server.default.description": + "Միացեք այս սերվերին հավելվածի գործարկման ժամանակ՝ տեղական սերվեր գործարկելու փոխարեն։ Պահանջվում է վերագործարկում:", + "dialog.server.default.none": "ընտրված չէ սերվեր", + "dialog.server.default.set": "Սահմանել ընթացիկ սերվերը որպես լռելյայն", + "dialog.server.default.clear": "Մաքրել", + "dialog.server.action.remove": "Հեռացնել սերվերը", + "dialog.server.menu.edit": "Խմբագրել", + "dialog.server.menu.default": "Սահմանել որպես լռելյայն", + "dialog.server.menu.defaultRemove": "Հեռացնել լռելյայն", + "dialog.server.menu.delete": "Ջնջել", + "dialog.server.current": "Ընթացիկ սերվեր", + "dialog.server.status.default": "Լռելյայն", + "wsl.server.add": "Ավելացնել WSL սերվեր", + "wsl.server.addShort": "Ավելացնել WSL", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "WSL սերվեր", + "wsl.server.retryStart": "Փորձեք նորից սկսել", + "wsl.server.updating": "Թարմացվում է...", + "wsl.onboarding.step.distro": "Ընտրեք բաշխում", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "Ստուգում է WSL...", + "wsl.onboarding.restartRequired": "Windows-ին անհրաժեշտ է վերագործարկում՝ WSL-ի տեղադրումն ավարտելու համար։", + "wsl.onboarding.ready": "WSL պատրաստ է։", + "wsl.onboarding.required": "WSL անհրաժեշտ է շարունակելու համար։", + "wsl.onboarding.checkingDistros": "Ստուգում է բաշխումները...", + "wsl.onboarding.installingDistro": "Տեղադրվում է {{distro}}...", + "wsl.onboarding.checkingDistro": "Ստուգում է {{distro}}...", + "wsl.onboarding.listingDistros": "Ցուցակման բաշխումներ...", + "wsl.onboarding.distroReady": "{{distro}} պատրաստ է։", + "wsl.onboarding.distroNotInstalled": "{{distro}} դեռ տեղադրված չէ։", + "wsl.onboarding.openDistroOnce": "Բացեք {{distro}}-ը մեկ անգամ՝ կարգավորումն ավարտելու համար:", + "wsl.onboarding.finishingDistro": "{{distro}}-ի կարգավորումն ավարտվում է։", + "wsl.onboarding.pickDistro": "Ընտրեք բաշխումը կամ տեղադրեք ստորև։", + "wsl.onboarding.checkingOpencode": "Ստուգում է OpenCode...", + "wsl.onboarding.checkingOpencodeIn": "Ստուգում է OpenCode-ը {{distro}}...", + "wsl.onboarding.updatingOpencode": "Թարմացվում է OpenCode...", + "wsl.onboarding.updatingOpencodeIn": "Թարմացվում է OpenCode-ը {{distro}}...", + "wsl.onboarding.updateOpencodeIn": "Թարմացնել OpenCode-ը {{distro}}-ում։", + "wsl.onboarding.updateOpencode": "Թարմացնել OpenCode", + "wsl.onboarding.opencodeReadyIn": "OpenCode պատրաստ է {{distro}}-ում։", + "wsl.onboarding.opencodeReady": "OpenCode պատրաստ է։", + "wsl.onboarding.installOpencodeIn": "Տեղադրեք OpenCode-ը {{distro}}-ում։", + "wsl.onboarding.installOpencode": "Տեղադրեք OpenCode", + "wsl.onboarding.chooseDistroFirst": "Ընտրեք նախաբաշխումը։", + "wsl.onboarding.loadFailed": "Չհաջողվեց բեռնել WSL վիճակը։", + "wsl.onboarding.loading": "Բեռնվում է...", + "wsl.onboarding.installedDistros": "Տեղադրված բաշխումներ", + "wsl.onboarding.checkAgain": "Ստուգել նորից", + "wsl.onboarding.distroStatus.ready": "Պատրաստ է", + "wsl.onboarding.distroStatus.checking": "Ստուգում...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode տեղադրված չէ", + "wsl.onboarding.distroStatus.missingTools": "Բացակայում են bash-ը և curl-ը", + "wsl.onboarding.distroStatus.unsupported": "Չի աջակցվում · Օգտագործել WSL 2", + "wsl.onboarding.needAnotherDistro": "Պետք է մեկ այլ բաշխում", + "wsl.onboarding.needAnotherDistroHint": "Տեղադրեք Linux բաշխումը WSL կատալոգից", + "wsl.onboarding.wslNotInstalled.title": "WSL տեղադրված չէ", + "wsl.onboarding.wslNotInstalled.description": + "WSL (Windows Ենթահամակարգը Linux-ի համար) անհրաժեշտ է, որպեսզի OpenCode-ը կարողանա ավելացնել WSL սերվեր", + "wsl.onboarding.wslUnavailable.title": "WSL անհասանելի է", + "wsl.onboarding.wslUnavailable.description": "OpenCode-ը չկարողացավ հաստատել WSL-ն այս մեքենայի վրա։", + "wsl.onboarding.installWsl": "Տեղադրեք WSL", + "wsl.onboarding.windowsRestartRequired": + "Վերագործարկեք Windows՝ WSL-ի տեղադրումն ավարտելու համար, այնուհետև նորից բացեք OpenCode։", + "wsl.onboarding.next": "Հաջորդ", + "wsl.onboarding.refresh": "Թարմացնել", + "wsl.onboarding.allDistrosAdded": "Բոլոր տեղադրված բաշխումները արդեն ավելացված են։", + "wsl.onboarding.noDistros": "Դեռևս տարածումներ չեն հայտնաբերվել։", + "wsl.onboarding.install": "Տեղադրել", + "wsl.onboarding.installing": "Տեղադրվում է...", + "wsl.onboarding.installDistro": "Տեղադրել դիստրիբուտիվը", + "wsl.onboarding.searchDistros": "Որոնման բաշխումներ", + "wsl.onboarding.wsl2Required": "WSL 2 պարտադիր է։", + "wsl.onboarding.toolsRequired": "Այս դիստրիբուտիվին անհրաժեշտ են bash և curl։", + "wsl.onboarding.openTerminal": "Բացել տերմինալը", + "wsl.onboarding.path": "Ուղին՝ {{path}}", + "wsl.onboarding.notFound": "չի գտնվել", + "wsl.onboarding.version": "Տարբերակ՝ {{version}}", + "wsl.onboarding.unknown": "անհայտ", + "wsl.onboarding.desktopVersion": "աշխատասեղանի {{version}}", + "wsl.onboarding.versionMismatch": "Տեղադրված տարբերակը չի համապատասխանում աշխատասեղանի հավելվածի տարբերակին։", + "wsl.onboarding.adding": "Ավելացվում է...", + "help.tabs.toast.ariaLabel": "Ներկայացնում ենք ներդիրները։ Կազմակերպեք ձեր աշխատանքը և ակտիվ նիստերը ներդիրներով", + "help.tabs.toast.dismiss": "Փակել ներդիրների տեղեկությունները", + "help.tabs.title": "Ներկայացնում ենք ներդիրները", + "help.tabs.description": "Կազմակերպեք ձեր աշխատանքը և ակտիվ նիստերը ներդիրներով", + "help.tabs.date": "հուլիսի 14", + "help.tabs.introduction": "OpenCode Desktop-ն այժմ կառուցված է ներդիրների շուրջ։", + "help.tabs.sessions": + "Սկսեք նոր նիստ ներդիրում կամ բացեք գոյություն ունեցող նիստը ձեր ցանկացած նախագծից: Բացեք նոր ներդիր, երբ ինչ-որ նոր բան եք սկսում, և փակեք այն, երբ ավարտեք:", + "help.tabs.organize": + "Մի քանի ներդիր բաց պահելը հեշտացնում է ձեր ակտիվ նիստերի կազմակերպումը։ Վերանվանեք ներդիրները հիշարժան որևէ բանի, եթե նախատեսում եք դրանք պահել:", + "help.tabs.home": + "Դուք կգտնեք ձեր բոլոր նիստերն ու նախագծերը նոր Հիմնական էկրանին։ Ընտրելով նիստը՝ այն բացվում է ներդիրում:", + "help.tabs.persistence": "Երբ վերաբացեք հավելվածը, ձեր ներդիրները դեռ բաց են։", + "help.tabs.worktrees": + "Նոր դիզայնը դեռ չի աջակցում Git Worktrees-ին, այն շուտով կլինի: Այսպիսով, եթե նախընտրում եք շարունակել օգտագործել նախորդ դասավորությունը, կարող եք անցնել դասավորությունների միջև Կարգավորումներում: Պարզապես հիշեք, որ նոր դասավորությունը կդառնա մշտական ​​մի քանի շաբաթից:", + "server.row.noUsername": "առանց օգտվողի անուն", + "dialog.project.edit.title": "Խմբագրել նախագիծը", + "dialog.project.edit.name": "Անուն", + "dialog.project.edit.icon": "Պատկերակ", + "dialog.project.edit.icon.alt": "Նախագծի պատկերակ", + "dialog.project.edit.icon.hint": "Սեղմեք կամ քաշեք պատկերը", + "dialog.project.edit.icon.recommended": "Խորհուրդ է տրվում՝ 128x128px", + "dialog.project.edit.color": "Գունավոր", + "dialog.project.edit.color.select": "Ընտրել {{color}} գույնը", + "dialog.project.edit.worktree.startup": "Աշխատատարածքի գործարկման սկրիպտ", + "dialog.project.edit.worktree.startup.description": + "Աշխատում է նոր աշխատանքային տարածք (աշխատանքային ծառ) ստեղծելուց հետո", + "dialog.project.edit.worktree.startup.placeholder": "օր. bun տեղադրում", + "dialog.releaseNotes.action.getStarted": "Սկսել", + "dialog.releaseNotes.action.next": "Հաջորդ", + "dialog.releaseNotes.action.hideFuture": "Չցուցադրել դրանք ապագայում", + "dialog.releaseNotes.media.alt": "Թողարկման նախադիտում", + "context.breakdown.title": "Համատեքստային բաշխում", + "context.breakdown.note": + "Մուտքային նշանների մոտավոր բաժանում։ «Այլ»-ը ներառում է գործիքի սահմանումները և վերադիր ծախսերը:", + "context.breakdown.system": "Համակարգ", + "context.breakdown.user": "Օգտվող", + "context.breakdown.assistant": "Օգնական", + "context.breakdown.tool": "Գործիքների զանգեր", + "context.breakdown.other": "Այլ", + "context.systemPrompt.title": "Համակարգի հուշում", + "context.rawMessages.title": "Հում հաղորդագրություններ", + "context.export.session": "Արտահանման նիստ", + "context.stats.session": "Նիստ", + "context.stats.messages": "Հաղորդագրություններ", + "context.stats.provider": "Մատակարար", + "context.stats.model": "Մոդել", + "context.stats.limit": "Համատեքստային սահմանափակում", + "context.stats.totalTokens": "Ընդհանուր նշաններ", + "context.stats.usage": "Օգտագործում", + "context.stats.inputTokens": "Մուտքային նշաններ", + "context.stats.outputTokens": "Ելքի նշաններ", + "context.stats.reasoningTokens": "Դատողության թոքեններ", + "context.stats.cacheTokens": "Քեշի թոքեններ (կարդալ/գրել)", + "context.stats.userMessages": "Օգտվողի հաղորդագրություններ", + "context.stats.assistantMessages": "Օգնականի հաղորդագրություններ", + "context.stats.totalCost": "Ընդհանուր արժեքը", + "context.stats.sessionCreated": "Նիստը ստեղծվել է", + "context.stats.lastActivity": "Վերջին գործունեությունը", + "context.usage.tokens": "Թոքեններ", + "context.usage.usage": "Օգտագործում", + "context.usage.cost": "Արժեքը", + "context.usage.clickToView": "Սեղմեք՝ համատեքստը դիտելու համար", + "context.usage.view": "Դիտել համատեքստի օգտագործումը", + "language.en": "Անգլերեն", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Deutsch", + "language.es": "Español", + "language.fr": "Français", + "language.da": "Դանսկ", + "language.ja": "日本語", + "language.pl": "Պոլսկի", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Նորսկ", + "language.br": "Պորտուգալիա (Բրազիլիա)", + "language.bs": "Բոսանսկի", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Türkçe", + "toast.language.title": "Լեզու", + "toast.language.description": "Անցվել է {{language}}", + "toast.theme.title": "Թեմա է փոխվել", + "toast.scheme.title": "Գունային սխեման", + "toast.workspace.enabled.title": "Աշխատանքային տարածքները միացված են", + "toast.workspace.enabled.description": "Բազմաթիվ աշխատանքային ծառեր այժմ ցուցադրված են կողագոտում", + "toast.workspace.disabled.title": "Աշխատանքային տարածքներն անջատված են", + "toast.workspace.disabled.description": "Միայն հիմնական աշխատանքային ծառը ցուցադրված է կողագոտում", + "toast.permissions.autoaccept.on.title": "Ավտոմատների ընդունում", + "toast.permissions.autoaccept.on.description": "Թույլտվության հարցումներն ավտոմատ կերպով կհաստատվեն", + "toast.permissions.autoaccept.off.title": "Դադարեցվել է ավտոմատ ընդունելության թույլտվությունները", + "toast.permissions.autoaccept.off.description": "Թույլտվության հարցումները կպահանջեն հաստատում", + "toast.model.none.title": "Ընտրված չէ մոդել", + "toast.model.none.description": "Միացրեք մատակարարին՝ այս նիստն ամփոփելու համար", + "toast.file.loadFailed.title": "Չհաջողվեց բեռնել ֆայլը", + "toast.file.listFailed.title": "Չհաջողվեց ցուցակագրել ֆայլերը", + "toast.context.noLineSelection.title": "Տող չկա", + "toast.context.noLineSelection.description": "Ընտրեք տողերի տիրույթը ֆայլի ներդիրում:", + "toast.session.share.copyFailed.title": "Չհաջողվեց պատճենել URL-ը սեղմատախտակում", + "toast.session.share.success.title": "Նիստը համօգտագործված", + "toast.session.share.success.description": "Կիսվել URL-ը պատճենված է սեղմատախտակում:", + "toast.session.share.failed.title": "Չհաջողվեց կիսել նիստը", + "toast.session.share.failed.description": "Սխալ է տեղի ունեցել նիստը կիսելիս", + "toast.session.unshare.success.title": "Նիստի համօգտագործումը դադարեցված է", + "toast.session.unshare.success.description": "Նիստի համօգտագործումը հաջողությամբ դադարեցվեց", + "toast.session.unshare.failed.title": "Չհաջողվեց դադարեցնել նիստի համօգտագործումը", + "toast.session.unshare.failed.description": "Նիստի համօգտագործումը դադարեցնելիս սխալ է տեղի ունեցել", + "toast.session.export.success.title": "Նիստն արտահանվել է", + "toast.session.export.success.description": "Նիստը պահվել է {{filename}}-ում", + "toast.session.export.failed.title": "Չհաջողվեց արտահանել նիստը", + "toast.session.export.failed.description": "Սխալ է տեղի ունեցել նիստը արտահանելիս", + "toast.session.listFailed.title": "Չհաջողվեց բեռնել նիստերը {{project}}", + "toast.project.reloadFailed.title": "Չհաջողվեց վերաբեռնել {{project}}", + "toast.update.title": "Թարմացումը հասանելի է", + "toast.update.description": "OpenCode-ի ({{version}}) նոր տարբերակը այժմ հասանելի է տեղադրման համար:", + "toast.update.action.installRestart": "Տեղադրել և վերագործարկել", + "toast.update.action.notYet": "դեռ ոչ", + "error.page.title": "Սխալ առաջացավ", + "error.page.description": "Սխալ է տեղի ունեցել հավելվածը բեռնելիս։", + "error.page.description.localServerStartup": "Սխալ է տեղի ունեցել տեղական սերվերը գործարկելիս:", + "error.page.details.label": "Սխալի մանրամասներ", + "error.page.action.restart": "Վերագործարկեք", + "error.page.action.report": "Հաղորդել սխալ", + "error.page.action.reported": "Հաղորդվել է սխալ", + "error.page.action.exportLogs": "Արտահանման մատյաններ", + "error.page.action.checking": "Ստուգում...", + "error.page.action.checkUpdates": "Ստուգեք թարմացումների համար", + "error.page.action.updateTo": "Թարմացնել {{version}}", + "error.page.circular": "[Circular]", + "error.page.report.prefix": "Խնդրում ենք հայտնել այս սխալի մասին OpenCode թիմին", + "error.page.report.discord": "Discord", + "error.page.version": "Տարբերակ՝ {{version}}", + "error.dev.rootNotFound": + "Արմատային տարրը չի գտնվել։ Մոռացե՞լ եք այն ավելացնել ձեր index.html-ում: Կամ գուցե id հատկանիշը սխալ է գրվել:", + "error.serverSync.connectFailed": "Չհաջողվեց միանալ սերվերին։ Կա՞ սերվեր, որն աշխատում է `{{url}}`-ում:", + "error.serverSDK.noServerAvailable": "Սերվերը հասանելի չէ", + "error.serverSDK.serverNotAvailable": "Սերվերը հասանելի չէ", + "error.childStore.persistedCacheCreateFailed": "Չհաջողվեց ստեղծել մշտական ​​քեշ", + "error.childStore.persistedProjectMetadataCreateFailed": "Չհաջողվեց ստեղծել ծրագրի մշտական ​​մետատվյալներ", + "error.childStore.persistedProjectIconCreateFailed": "Չհաջողվեց ստեղծել շարունակական նախագծի պատկերակը", + "error.childStore.storeCreateFailed": "Չհաջողվեց ստեղծել խանութ", + "directory.error.invalidUrl": "Անվավեր գրացուցակ URL-ում։", + "error.chain.unknown": "Անհայտ սխալ", + "error.server.invalidConfiguration": "Սխալ կազմաձևում", + "error.chain.causedBy": "Պատճառված է՝", + "error.chain.apiError": "API սխալ", + "error.chain.status": "Կարգավիճակը՝ {{status}}", + "error.chain.retryable": "Կրկին փորձարկելի՝ {{retryable}}", + "error.chain.responseBody": "Պատասխանող մարմին՝\n{{body}}", + "error.chain.didYouMean": "Դուք նկատի ունեք՝ {{suggestions}}", + "error.chain.modelNotFound": "Մոդելը չի ​​գտնվել՝ {{provider}}/{{model}}", + "error.chain.checkConfig": "Ստուգեք ձեր կազմաձևը (opencode.json) մատակարարի/մոդելի անունները", + "error.chain.mcpFailed": + "MCP «{{name}}» սերվերը ձախողվեց: Նկատի ունեցեք, որ OpenCode-ը դեռ չի աջակցում MCP նույնականացումը:", + "error.chain.providerAuthFailed": "Մատակարարի նույնականացումը ձախողվեց ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + "Չհաջողվեց նախաստորագրել «{{provider}}» մատակարարը։ Ստուգեք հավատարմագրերը և կազմաձևումը:", + "error.chain.configJsonInvalid": "Կարգավորման ֆայլը {{path}}-ում վավեր չէ JSON(C)", + "error.chain.configJsonInvalidWithMessage": "Կարգավորման ֆայլը {{path}}-ում վավեր չէ JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + "«{{dir}}» գրացուցակը {{path}}-ում վավեր չէ: Վերանվանել գրացուցակը «{{suggestion}}» կամ հեռացնել այն: Սա սովորական տառասխալ է:", + "error.chain.configFrontmatterError": "Չհաջողվեց վերլուծել ճակատային նյութը {{path}}-ում՝\n{{message}}", + "error.chain.configInvalid": "Կարգավորման ֆայլը {{path}}-ում անվավեր է", + "error.chain.configInvalidWithMessage": "Կարգավորման ֆայլը {{path}}-ում անվավեր է՝ {{message}}", + "notification.permission.title": "Պահանջվում է թույլտվություն", + "notification.permission.description": "{{sessionTitle}}-ը {{projectName}}-ում թույլտվություն է պահանջում", + "notification.question.title": "Հարց", + "notification.question.description": "{{sessionTitle}} {{projectName}}-ում հարց կա", + "notification.action.goToSession": "Անցնել նիստին", + "notification.session.responseReady.title": "Պատասխանը պատրաստ է", + "notification.session.error.title": "Նիստի սխալ", + "notification.session.error.fallbackDescription": "Սխալ է տեղի ունեցել", + "home.recentProjects": "Վերջին նախագծեր", + "home.empty.title": "Վերջին նախագծեր չկան", + "home.empty.description": "Սկսեք՝ բացելով տեղական նախագիծ", + "home.title": "Տուն", + "home.projects": "Նախագծեր", + "home.project.add": "Ավելացնել նախագիծ", + "home.recentlyClosed": "Վերջերս փակված", + "home.server.collapse": "Փլուզել սերվերի նախագծերը", + "home.server.expand": "Ընդլայնել սերվերի նախագծերը", + "home.sessions.search.placeholder": "Որոնման նիստեր", + "home.sessions.search.placeholder.scoped": "Որոնել նիստեր {{scope}}-ում", + "home.sessions.search.sessions": "Նիստեր", + "home.sessions.search.noResults": "{{query}}", + "home.sessions.empty": "Այստեղ դեռ ոչինչ", + "home.sessions.empty.description": "Ստեղծեք նիստ՝ սկսելու համար", + "home.sessions.group.today": "Այսօր", + "home.sessions.group.yesterday": "Երեկ", + "home.sessions.group.older": "Հին", + "home.providerTip": + "Միացեք 75+ մատակարարների՝ այլ մոդելներ օգտագործելու համար, այդ թվում՝ Claude, GPT, Gemini և այլն", + "session.tab.session": "Նիստ", + "session.tab.review": "Վերանայել", + "session.tab.context": "Համատեքստ", + "session.tab.unknown": "Անհայտ նիստ", + "session.panel.reviewAndFiles": "Վերանայել և ֆայլեր", + "session.error.notFound": "Այս նիստը հնարավոր չէ գտնել", + "session.error.notFound.description": "Այս ներդիրը ցույց է տալիս նիստ, որն այլևս գոյություն չունի այս սերվերում։", + "session.error.notFound.closeTab": "Փակել ներդիրը", + "session.error.serverConnection": "Հնարավոր չէ միանալ այս սերվերին", + "session.review.filesChanged": "Ֆայլերը փոխվել են {{count}}", + "session.review.change.one": "Փոխել", + "session.review.change.other": "Փոփոխություններ", + "session.review.loadingChanges": "Բեռնվում են փոփոխություններ...", + "session.review.empty": "Այս նիստում դեռ փոփոխություններ չկան", + "session.review.noVcs": "Չի հայտնաբերվել Git Տարբերակի կառավարման համակարգ, փոփոխությունները չեն ցուցադրվում", + "session.review.noVcs.createGit.title": "Ստեղծել Git պահոց", + "session.review.noVcs.createGit.description": "Հետեւել, վերանայել և հետարկել այս նախագծի փոփոխությունները", + "session.review.noVcs.createGit.actionLoading": "Ստեղծվում է Git պահոց...", + "session.review.noVcs.createGit.action": "Ստեղծել Git պահոց", + "session.review.noSnapshot": + "Snapshot-ի հետագծումն անջատված է կազմաձևում, ուստի նիստի փոփոխություններն անհասանելի են", + "session.review.noChanges": "Ոչ փոփոխություններ", + "session.review.noUncommittedChanges": "Դեռեւս չկատարված փոփոխություններ", + "session.review.noBranchChanges": "Ճյուղի փոփոխություններ դեռ չկան", + "session.files.selectToOpen": "Ընտրեք ֆայլ բացելու համար", + "session.files.all": "Բոլոր ֆայլերը", + "session.files.empty": "Ֆայլեր չկան", + "session.files.binaryContent": "Երկուական ֆայլ (բովանդակությունը չի կարող ցուցադրվել)", + "session.messages.renderEarlier": "Ներկայացնել ավելի վաղ հաղորդագրությունները", + "session.messages.loadingEarlier": "Նախկին հաղորդագրությունների բեռնում...", + "session.messages.loadEarlier": "Բեռնել ավելի վաղ հաղորդագրությունները", + "session.messages.loading": "Բեռնվում է հաղորդագրություններ...", + "session.messages.jumpToLatest": "Անցնել վերջին", + "session.context.addToContext": "Ավելացնել {{selection}} համատեքստում", + "session.todo.title": "Անելիքներ", + "session.todo.collapse": "Ծալել", + "session.todo.expand": "Ընդարձակել", + "session.todo.progress": "{{done}}՝ {{total}} գործերից ավարտված", + "session.question.progress": "{{current}}՝ {{total}} հարցից", + "session.question.minimize": "Նվազագույնի հասցնել հարցը", + "session.question.restore": "Վերականգնել հարցը", + "session.question.pending.one": "{{count}} առկախ հարց", + "session.question.pending.other": "{{count}} առկախ հարցեր", + "session.followupDock.summary.one": "{{count}} հերթագրված հաղորդագրություն", + "session.followupDock.summary.other": "{{count}} հերթագրված հաղորդագրություններ", + "session.followupDock.sendNow": "Ուղարկել հիմա", + "session.followupDock.edit": "Խմբագրել", + "session.followupDock.collapse": "Ծալել հերթագրված հաղորդագրությունները", + "session.followupDock.expand": "Ընդարձակել հերթագրված հաղորդագրությունները", + "session.revertDock.summary.one": "{{count}} վերադարձված հաղորդագրություն", + "session.revertDock.summary.other": "{{count}} վերադարձված հաղորդագրություններ", + "session.revertDock.collapse": "Ծալել վերադարձված հաղորդագրությունները", + "session.revertDock.expand": "Ընդլայնել վերադարձված հաղորդագրությունները", + "session.revertDock.restore": "Վերականգնել հաղորդագրությունը", + "session.new.title": "Կառուցել որեւէ բան", + "session.new.project.new": "Նոր նախագիծ", + "session.new.project.search": "Որոնել նախագծեր", + "session.new.project.add": "Ավելացնել նախագիծ", + "session.new.worktree.main": "Հիմնական մասնաճյուղ", + "session.new.worktree.mainWithBranch": "Հիմնական մասնաճյուղ ({{branch}})", + "session.new.worktree.create": "Ստեղծել նոր աշխատանքային ծառ", + "session.new.workspace.runIn": "Գործարկել նիստը", + "session.new.workspace.triggerLocal": "Տեղական", + "session.new.workspace.local": "Տեղական պահոց", + "session.new.workspace.existing": "Աշխատանքային տարածք…", + "session.new.git.none": "Առանց Git-ի", + "session.new.lastModified": "Վերջին փոփոխությունը", + "session.header.search.placeholder": "Որոնում {{project}}", + "session.header.searchFiles": "Որոնել ֆայլեր", + "session.header.openIn": "Բացել", + "session.header.open.action": "Բացել {{app}}", + "session.header.open.ariaLabel": "Բացել {{app}}", + "session.header.open.menu": "Բացել ընտրանքները", + "session.header.open.copyPath": "Պատճենել ուղին", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "Ֆայլերի դիտարկիչ", + "session.header.open.fileManager": "Ֆայլերի կառավարիչ", + "session.header.reveal.finder": "Բացահայտեք Finder", + "session.header.reveal.fileExplorer": "Հայտնաբերել File Explorer-ում", + "session.header.reveal.containingFolder": "Բացել պարունակող թղթապանակ", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Տերմինալ", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "Կարգավիճակ", + "status.popover.ariaLabel": "Սերվերի կոնֆիգուրացիաներ", + "status.popover.tab.servers": "Սերվերներ", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "Ընդլայնումներ", + "status.popover.action.manageServers": "Կառավարել սերվերները", + "session.share.popover.title": "Հրապարակել համացանցում", + "session.share.popover.description.shared": + "Այս նիստը հրապարակային է համացանցում։ Այն հասանելի է բոլորին, ովքեր ունեն հղումը:", + "session.share.popover.description.unshared": + "Հանրայնորեն համօգտագործեք նիստը համացանցում։ Այն հասանելի կլինի բոլորին, ովքեր ունեն հղումը:", + "session.share.action.share": "Կիսվել", + "session.share.action.publish": "Հրապարակել", + "session.share.action.publishing": "Հրատարակում...", + "session.share.action.unpublish": "Չհրապարակել", + "session.share.action.unpublishing": "Չհրապարակվում է...", + "session.share.action.view": "Դիտել", + "session.share.copy.copied": "Պատճենված", + "session.share.copy.copyLink": "Պատճենել հղումը", + "lsp.tooltip.none": "Չկան LSP սերվեր", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "Բեռնվում է հուշում...", + "terminal.loading": "Բեռնվում է տերմինալը...", + "terminal.title": "Տերմինալ", + "terminal.title.numbered": "Տերմինալ {{number}}", + "terminal.close": "Փակել տերմինալը", + "terminal.connectionLost.title": "Կապը կորցրած", + "terminal.connectionLost.abnormalClose": "WebSocket փակվել է աննորմալ՝ {{code}}", + "terminal.connectionLost.description": + "տերմինալի կապն ընդհատվել է։ Դա կարող է տեղի ունենալ, երբ սերվերը վերագործարկվի:", + "terminal.connectTicket.csrfError": + "PTY կապի տոմսը մերժված է ծագման կամ CSRF չեկերի կողմից։ Ստուգեք սերվերի CORS կազմաձևը:", + "terminal.connectTicket.statusError": "PTY միացման տոմսը ձախողվեց {{status}}", + "titlebar.update": "Թարմացնել", + "titlebar.updateVersion": "Թարմացնել {{version}}", + "common.closeTab": "Փակել ներդիրը", + "common.dismiss": "Փակել", + "common.moreCountSuffix": " (+{{count}} ավելին)", + "common.requestFailed": "Հարցումը ձախողվեց", + "common.moreOptions": "Լրացուցիչ ընտրանքներ", + "common.learnMore": "Իմանալ ավելին", + "common.rename": "Վերանվանել", + "common.export": "Արտահանում", + "common.reset": "Վերականգնել", + "common.archive": "Արխիվ", + "common.delete": "Ջնջել", + "common.close": "Փակել", + "common.edit": "Խմբագրել", + "common.loadMore": "Բեռնել ավելին", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "անհայտ", + "common.time.justNow": "Հենց հիմա", + "common.time.minutesAgo.short": "{{count}}ր առաջ", + "common.time.hoursAgo.short": "{{count}}ժ առաջ", + "common.time.daysAgo.short": "{{count}}օր առաջ", + "sidebar.menu.toggle": "Փոխարկել ընտրացանկ", + "sidebar.nav.projectsAndSessions": "Նախագծեր և նիստեր", + "sidebar.settings": "Կարգավորումներ", + "sidebar.help": "Օգնություն", + "sidebar.workspaces.enable": "Միացնել աշխատանքային տարածքները", + "sidebar.workspaces.disable": "Անջատել աշխատանքային տարածքները", + "sidebar.gettingStarted.title": "Սկսում", + "sidebar.gettingStarted.line1": "OpenCode ներառում է անվճար մոդելներ, որպեսզի կարողանաք անմիջապես սկսել:", + "sidebar.gettingStarted.line2": + "Միացրեք ցանկացած մատակարարի՝ մոդելներ օգտագործելու համար, inc. Claude, GPT, Gemini և այլն", + "sidebar.project.recentSessions": "Վերջին նիստերը", + "sidebar.project.viewAllSessions": "Դիտել բոլոր նիստերը", + "sidebar.project.clearNotifications": "Մաքրել ծանուցումները", + "sidebar.empty.title": "Ոչ մի նախագիծ բաց", + "sidebar.empty.description": "Բացեք նախագիծ՝ սկսելու համար", + "debugBar.ariaLabel": "Զարգացման կատարողականի ախտորոշում", + "debugBar.na": "n/a", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "Վերջին ավարտված երթուղու անցումը հպվելով աշխատաշրջանի էջին, որը չափվում է երթուղիչի սկզբից մինչև այն նստելուց հետո առաջին ներկը:", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "Վայրկյանում գլորվող շրջանակներ վերջին 5 վայրկյանում", + "debugBar.frame.label": "ԿԱԴՐ", + "debugBar.frame.tip": "Վերջին 5 վայրկյանի ընթացքում կադրերի վատթարագույն ժամանակը։", + "debugBar.jank.label": "ԸՆԴՀԱՏՈՒՄ", + "debugBar.jank.tip": "32 մվ-ից ավելի շրջանակներ վերջին 5 վայրկյանում", + "debugBar.long.label": "ԵՐԿԱՐ", + "debugBar.long.tip": + "Արգելափակված ժամանակի և երկար առաջադրանքների քանակը վերջին 5 վայրկյանում։ Առավելագույն առաջադրանքը՝ {{max}}։", + "debugBar.delay.label": "ՀԱՊԱՂՈՒՄ", + "debugBar.delay.tip": "Վերջին 5 վայրկյանում գրանցված մուտքի վատթարագույն ուշացումը:", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": + "Փոխգործակցության մոտավոր տևողությունը վերջին 5 վայրկյանում։ Սա INPնման է, ոչ թե պաշտոնական Web Vitals INP:", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "Հավելվածի ընթացիկ դասավորության փոփոխություն։", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "Օգտագործված JS կույտ ընդդեմ կույտի սահմանաչափի։ Chromium միայն։", + "debugBar.mem.tip": "Օգտագործված JS կույտ ընդդեմ կույտի սահմանաչափի։ {{used}} {{limit}}-ից։", + "debugBar.focus.label": "ԿԵՆՏՐՈՆԱՑՈՒՄ", + "debugBar.focus.tip": "Ստիպել կենտրոնանալ ոճերը բոլոր ինտերակտիվ տարրերի վրա", + "debugBar.focus.on": "ՄԻԱՑ", + "debugBar.focus.off": "ԱՋԱՏ", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Ստիպել հավելվածի ամբողջական դասավորության ուղղությունը՝ առանց ընտրված լեզուն փոխելու", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode Desktop", + "settings.section.desktop": "Սեղանաշար", + "settings.section.server": "Սերվեր", + "settings.tab.general": "Ընդհանուր", + "settings.tab.shortcuts": "Դյուրանցումներ", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "WSL ինտեգրում", + "settings.desktop.wsl.description": "Գործարկեք OpenCode սերվերը WSL-ի ներսում՝ Windows-ում։", + "settings.general.section.appearance": "Արտաքին տեսք", + "settings.general.section.advanced": "Ընդլայնված", + "settings.general.section.notifications": "Համակարգի ծանուցումներ", + "settings.general.section.updates": "Թարմացումներ", + "settings.general.section.sounds": "Ձայնային էֆեկտներ", + "settings.general.section.feed": "Fed", + "settings.general.section.display": "Ցուցադրել", + "settings.general.row.language.title": "Լեզու", + "settings.general.row.language.description": "Փոխել ցուցադրման լեզուն OpenCode", + "settings.general.row.shell.title": "Տերմինալի Shell", + "settings.general.row.shell.description": "Shell-ն օգտագործվում է տերմինալի և գործակալի գործիքների կողմից", + "settings.general.row.shell.autoDefault": "Ավտոմատ (կանխադրված)", + "settings.general.row.shell.terminalOnly": "միայն տերմինալ", + "settings.general.row.appearance.title": "Արտաքին տեսք", + "settings.general.row.appearance.description": "Անհատականացրեք, թե ինչպես է OpenCode տեսքը ձեր սարքում", + "settings.general.row.colorScheme.title": "Գունային սխեման", + "settings.general.row.colorScheme.description": "Ընտրեք՝ OpenCode-ը հետևում է համակարգին, թեթև թե մուգ թեմային", + "settings.general.row.theme.title": "Թեմա", + "settings.general.row.theme.description": "Անհատականացրեք, թե ինչպես է OpenCode-ի թեմատիկությունը։", + "settings.general.row.font.title": "Կոդի տառատեսակ", + "settings.general.row.font.description": "Անհատականացրեք կոդերի բլոկներում օգտագործվող տառատեսակը", + "settings.general.row.terminalFont.title": "Տերմինալ տառատեսակ", + "settings.general.row.terminalFont.description": "Անհատականացրեք տերմինալում օգտագործվող տառատեսակը", + "settings.general.row.uiFont.title": "UI տառատեսակը", + "settings.general.row.uiFont.description": "Անհատականացրեք ինտերֆեյսի ընթացքում օգտագործվող տառատեսակը", + "settings.general.row.followup.title": "Հետագա պահվածք", + "settings.general.row.followup.description": "Ընտրեք՝ հետևելու հուշումներն անմիջապես կուղղվեն, թե սպասեք հերթում", + "settings.general.row.followup.option.queue": "Հերթ", + "settings.general.row.followup.option.steer": "Ղեկավար", + "settings.general.row.showFileTree.title": "Ֆայլի ծառ", + "settings.general.row.showFileTree.description": "Ցույց տալ ֆայլի ծառի վահանակը նիստերում", + "settings.general.row.showNavigation.title": "Նավարկության կառավարում", + "settings.general.row.showNavigation.description": "Ցույց տալ հետ և առաջ կոճակները աշխատասեղանի վերնագրի տողում", + "settings.general.row.showSearch.title": "Հրամանների գունապնակ", + "settings.general.row.showSearch.description": "Ցույց տալ որոնման և հրամանների պալիտրա կոճակը վերնագրի տողում", + "settings.general.row.showTerminal.title": "Տերմինալ", + "settings.general.row.showTerminal.description": "Ցույց տալ տերմինալի կոճակը աշխատասեղանի վերնագրի տողում", + "settings.general.row.showStatus.title": "Սերվերի կարգավիճակ", + "settings.general.row.showStatus.description": "Ցույց տալ սերվերի կարգավիճակի կոճակը վերնագրի տողում", + "settings.general.row.mobileTitlebarBottom.title": "Նավարկություն ներքևում", + "settings.general.row.mobileTitlebarBottom.description": + "Տեղադրեք վերնագրի տողն ու նիստի ներդիրները էկրանի ներքևի մասում բջջային հեռախոսի վրա", + "settings.general.row.showCustomAgents.title": "Ցույց տալ գործակալին", + "settings.general.row.showCustomAgents.description": + "Փոխարկեք կոմպոզիտորի գործակալների միջև։ Երբ թաքնված է, կանխադրված է Build agent:", + "settings.general.row.reasoningSummaries.title": "Ցույց տալ հիմնավորման ամփոփագրերը", + "settings.general.row.reasoningSummaries.description": "Ցուցադրել մոդելի հիմնավորման ամփոփագրերը ժամանակացույցում", + "settings.general.row.shellToolPartsExpanded.title": "Ընդարձակել Shell գործիքի մասերը", + "settings.general.row.shellToolPartsExpanded.description": + "Ցուցադրել ժամանակացույցում լռելյայնորեն ընդլայնված shell գործիքի մասերը", + "settings.general.row.editToolPartsExpanded.title": "Ընդարձակել խմբագրման գործիքի մասերը", + "settings.general.row.editToolPartsExpanded.description": + "Ցուցադրել խմբագրման, գրելու և կարկատելու գործիքի մասերը, որոնք լռելյայն ընդլայնվել են ժամանակացույցում", + "settings.general.row.newInterface.title": "Նոր դասավորություն", + "settings.general.row.newInterface.badge": "Նոր", + "settings.general.row.newInterface.description": + "Օգտագործեք նոր ներդիրները և տան դասավորությունը։ Անցեք դասավորությունների միջև սահմանափակ ժամանակով:", + "settings.general.row.newInterfaceNotice.title": "Դուք այժմ օգտագործում եք նոր դասավորություն", + "settings.general.row.newInterfaceNotice.description": "Նախորդ դասավորությունն այլևս հասանելի չէ", + "settings.general.row.newInterfaceNotice.dismiss": "Փակել", + "settings.general.row.pinchZoom.title": "Սեղմեք՝ խոշորացնելու համար", + "settings.general.row.pinchZoom.description": "Թույլատրել մատնաչափի սեղմումը և Ctrl-scroll ժեստերը մեծացնելու համար", + "settings.general.row.wayland.title": "Օգտագործել բնիկ Wayland", + "settings.general.row.wayland.description": "Անջատել X11-ի հետադարձ կապը Wayland-ում: Պահանջվում է վերագործարկում:", + "settings.general.row.wayland.tooltip": + "Linux-ի վրա՝ թարմացման արագության խառը մոնիտորներով, բնիկ Wayland-ը կարող է ավելի կայուն լինել:", + "settings.general.row.releaseNotes.title": "Թողարկման նշումներ", + "settings.general.row.releaseNotes.description": "Ցույց տալ, թե ինչ է նոր պատուհանները թարմացումներից հետո", + "settings.updates.row.startup.title": "Ստուգեք գործարկման ժամանակ թարմացումների համար", + "settings.updates.row.startup.description": "Ավտոմատ կերպով ստուգեք թարմացումների համար, երբ OpenCode-ը գործարկվի", + "settings.updates.row.check.title": "Ստուգեք թարմացումների համար", + "settings.updates.row.check.description": "Ձեռքով ստուգեք թարմացումների համար և տեղադրեք, եթե առկա է", + "settings.updates.action.checkNow": "Ստուգեք հիմա", + "settings.updates.action.checking": "Ստուգում...", + "settings.updates.action.downloading": "Ներբեռնվում է...", + "settings.updates.action.installing": "Տեղադրվում է...", + "settings.updates.toast.latest.title": "Դուք արդի եք", + "settings.updates.toast.latest.description": "Դուք օգտագործում եք OpenCode-ի վերջին տարբերակը։", + "sound.option.none": "Ոչ մեկը", + "sound.option.alert01": "Alert 01", + "sound.option.alert02": "Alert 02", + "sound.option.alert03": "Alert 03", + "sound.option.alert04": "Alert 04", + "sound.option.alert05": "Alert 05", + "sound.option.alert06": "Alert 06", + "sound.option.alert07": "Alert 07", + "sound.option.alert08": "Alert 08", + "sound.option.alert09": "Alert 09", + "sound.option.alert10": "Alert 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "Nope 01", + "sound.option.nope02": "Nope 02", + "sound.option.nope03": "Nope 03", + "sound.option.nope04": "Nope 04", + "sound.option.nope05": "Nope 05", + "sound.option.nope06": "Nope 06", + "sound.option.nope07": "Nope 07", + "sound.option.nope08": "Nope 08", + "sound.option.nope09": "Nope 09", + "sound.option.nope10": "Nope 10", + "sound.option.nope11": "Nope 11", + "sound.option.nope12": "Nope 12", + "sound.option.yup01": "Yup 01", + "sound.option.yup02": "Yup 02", + "sound.option.yup03": "Yup 03", + "sound.option.yup04": "Yup 04", + "sound.option.yup05": "Yup 05", + "sound.option.yup06": "Yup 06", + "settings.general.notifications.agent.title": "Գործակալ", + "settings.general.notifications.agent.description": + "Ցույց տալ համակարգի ծանուցումը, երբ գործակալն ավարտված է կամ ուշադրության կարիք ունի", + "settings.general.notifications.permissions.title": "Թույլտվություններ", + "settings.general.notifications.permissions.description": + "Ցույց տալ համակարգի ծանուցումը, երբ անհրաժեշտ է թույլտվություն", + "settings.general.notifications.errors.title": "Սխալներ", + "settings.general.notifications.errors.description": "Ցույց տալ համակարգի ծանուցումը, երբ սխալ է տեղի ունենում", + "settings.general.sounds.agent.title": "Գործակալ", + "settings.general.sounds.agent.description": "Նվագարկեք ձայնը, երբ գործակալն ավարտված է կամ ուշադրության կարիք ունի", + "settings.general.sounds.permissions.title": "Թույլտվություններ", + "settings.general.sounds.permissions.description": "Նվագարկել ձայնը, երբ անհրաժեշտ է թույլտվություն", + "settings.general.sounds.errors.title": "Սխալներ", + "settings.general.sounds.errors.description": "Նվագարկել ձայնը, երբ սխալ է տեղի ունենում", + "settings.shortcuts.title": "Ստեղնաշարի դյուրանցումներ", + "settings.shortcuts.reset.button": "Վերականգնել լռելյայն", + "settings.shortcuts.reset.toast.title": "Դյուրանցումների վերակայում", + "settings.shortcuts.reset.toast.description": "Ստեղնաշարի դյուրանցումները վերակայվել են կանխադրվածին։", + "settings.shortcuts.conflict.title": "Դյուրանցումն արդեն օգտագործվում է", + "settings.shortcuts.conflict.description": "{{keybind}}-ն արդեն նշանակված է {{titles}}-ին։", + "settings.shortcuts.unassigned": "Չնշանակված", + "settings.shortcuts.pressKeys": "Սեղմել ստեղները", + "settings.shortcuts.search.placeholder": "Որոնման դյուրանցումներ", + "settings.shortcuts.search.empty": "Դյուրանցումներ չեն գտնվել", + "settings.shortcuts.group.general": "Ընդհանուր", + "settings.shortcuts.group.session": "Նիստ", + "settings.shortcuts.group.navigation": "Նավարկություն", + "settings.shortcuts.group.modelAndAgent": "Մոդել և գործակալ", + "settings.shortcuts.group.terminal": "Տերմինալ", + "settings.shortcuts.group.prompt": "Հուշում", + "settings.providers.title": "Մատակարարներ", + "settings.providers.description": "Մատակարարի կարգավորումները կկարգավորվեն այստեղ։", + "settings.providers.section.connected": "Կապված մատակարարներ", + "settings.providers.connected.empty": "Կապված մատակարարներ չկան", + "settings.providers.connected.environmentDescription": "Միացված է ձեր միջավայրի փոփոխականներից", + "settings.providers.section.popular": "Հանրաճանաչ մատակարարներ", + "settings.providers.custom.description": "Ավելացնել OpenAI-համատեղելի մատակարար ըստ բազային URL։", + "settings.providers.tag.environment": "Շրջակա միջավայր", + "settings.providers.tag.config": "Կազմաձևում", + "settings.providers.tag.custom": "Պատվիրված", + "settings.providers.tag.other": "Այլ", + "settings.models.title": "Մոդելներ", + "settings.models.description": "Մոդելի կարգավորումները կարգավորելի կլինեն այստեղ։", + "settings.agents.title": "Գործակալներ", + "settings.agents.description": "Գործակալի կարգավորումները կկարգավորվեն այստեղ։", + "settings.commands.title": "Հրամաններ", + "settings.commands.description": "Հրամանի կարգավորումները կկարգավորվեն այստեղ։", + "settings.mcp.title": "MCP", + "settings.mcp.description": "MCP կարգավորումները կկարգավորվեն այստեղ։", + "settings.permissions.title": "Թույլտվություններ", + "settings.permissions.description": "Վերահսկեք, թե ինչ գործիքներ կարող է օգտագործել սերվերը լռելյայն։", + "settings.permissions.section.tools": "Գործիքներ", + "settings.permissions.toast.updateFailed.title": "Չհաջողվեց թարմացնել թույլտվությունները", + "settings.permissions.action.allow": "Թույլատրել", + "settings.permissions.action.ask": "Հարցրեք", + "settings.permissions.action.deny": "Մերժել", + "settings.permissions.tool.read.title": "Կարդալ", + "settings.permissions.tool.read.description": "Կարդում է ֆայլը (համընկնում է ֆայլի ուղու հետ)", + "settings.permissions.tool.edit.title": "Խմբագրել", + "settings.permissions.tool.edit.description": "Փոփոխեք ֆայլերը, ներառյալ խմբագրումները, գրությունները և պատչերը", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "Համապատասխանեցրեք ֆայլերը՝ օգտագործելով գլոբի նախշերը", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": + "Որոնել ֆայլի բովանդակությունը՝ օգտագործելով կանոնավոր արտահայտություններ", + "settings.permissions.tool.list.title": "Ցուցակ", + "settings.permissions.tool.list.description": "Ցուցակել ֆայլերը գրացուցակում", + "settings.permissions.tool.bash.title": "Bash", + "settings.permissions.tool.bash.description": "Գործարկել Shell հրամանները", + "settings.permissions.tool.task.title": "Առաջադրանք", + "settings.permissions.tool.task.description": "Ենթագործակալների գործարկում", + "settings.permissions.tool.skill.title": "Հմտություն", + "settings.permissions.tool.skill.description": "Բեռնել հմտությունը ըստ անունով", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "Գործարկել լեզվի սերվերի հարցումները", + "settings.permissions.tool.todowrite.title": "Todo Write", + "settings.permissions.tool.todowrite.description": "Թարմացնել անելիքների ցուցակը", + "settings.permissions.tool.webfetch.title": "Վեբ առբերում", + "settings.permissions.tool.webfetch.description": "Առբերել բովանդակությունը URL-ից", + "settings.permissions.tool.websearch.title": "Վեբ որոնում", + "settings.permissions.tool.websearch.description": "Որոնել համացանցում", + "settings.permissions.tool.external_directory.title": "Արտաքին գրացուցակ", + "settings.permissions.tool.external_directory.description": "Մուտք գործեք ֆայլեր նախագծի գրացուցակից դուրս", + "settings.permissions.tool.doom_loop.title": "Doom Loop", + "settings.permissions.tool.doom_loop.description": "Գտեք գործիքի կրկնվող զանգերը՝ նույն մուտքագրմամբ", + "session.delete.failed.title": "Չհաջողվեց ջնջել նիստը", + "session.delete.title": "Ջնջել նիստը", + "session.delete.confirm": "Ջնջե՞լ «{{name}}» նիստը", + "session.delete.button": "Ջնջել նիստը", + "workspace.new": "Նոր աշխատանքային տարածք", + "workspace.type.local": "տեղական", + "workspace.type.sandbox": "Sandbox", + "workspace.create.failed.title": "Չհաջողվեց ստեղծել աշխատանքային տարածք", + "workspace.delete.failed.title": "Չհաջողվեց ջնջել աշխատանքային տարածքը", + "workspace.resetting.title": "Աշխատանքային տարածքի վերակայում", + "workspace.resetting.description": "Սա կարող է տևել մեկ րոպե։", + "workspace.reset.failed.title": "Չհաջողվեց վերականգնել աշխատանքային տարածքը", + "workspace.reset.success.title": "Աշխատանքային տարածքի վերակայում", + "workspace.reset.success.description": "Աշխատանքային տարածքն այժմ համապատասխանում է լռելյայն ճյուղին։", + "workspace.error.stillPreparing": "Աշխատանքային տարածքը դեռ պատրաստվում է", + "workspace.status.checking": "Չմիաձուլված փոփոխությունների ստուգում...", + "workspace.status.error": "Հնարավոր չէ ստուգել git կարգավիճակը։", + "workspace.status.clean": "Չմիաձուլված փոփոխություններ չեն հայտնաբերվել։", + "workspace.status.dirty": "Չմիաձուլված փոփոխություններ են հայտնաբերվել այս աշխատանքային տարածքում։", + "workspace.delete.title": "Ջնջել աշխատանքային տարածքը", + "workspace.delete.confirm": "Ջնջե՞լ «{{name}}» աշխատանքային տարածքը", + "workspace.delete.button": "Ջնջել աշխատանքային տարածքը", + "workspace.reset.title": "Վերականգնել աշխատանքային տարածքը", + "workspace.reset.confirm": "Վերականգնե՞լ «{{name}}» աշխատանքային տարածքը", + "workspace.reset.button": "Վերականգնել աշխատանքային տարածքը", + "workspace.reset.archived.none": "Ակտիվ նիստեր չեն արխիվացվի։", + "workspace.reset.archived.one": "1 նիստ կարխիվացվի։", + "workspace.reset.archived.many": "{{count}} նիստերը կարխիվացվեն։", + "workspace.reset.note": "Սա կվերակայի աշխատանքային տարածքը, որպեսզի համապատասխանի լռելյայն ճյուղին:", + "dialog.usageExceeded.dontShowAgain": "Այլևս չցուցադրել", +} diff --git a/packages/app/src/i18n/id.ts b/packages/app/src/i18n/id.ts new file mode 100644 index 000000000000..96dc3c7592e4 --- /dev/null +++ b/packages/app/src/i18n/id.ts @@ -0,0 +1,1250 @@ +export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Berkas", + "desktop.menu.edit": "Sunting", + "desktop.menu.view": "Tampilan", + "desktop.menu.go": "Navigasi", + "desktop.menu.window": "Jendela", + "desktop.menu.help": "Bantuan", + "desktop.menu.checkForUpdates": "Periksa pembaruan...", + "desktop.menu.settings": "Pengaturan", + "desktop.menu.reloadWebview": "Muat ulang tampilan web", + "desktop.menu.restart": "Mulai ulang", + "desktop.menu.exportLogs": "Ekspor log...", + "desktop.menu.newSession": "Sesi baru", + "desktop.menu.openProject": "Buka proyek...", + "desktop.menu.newWindow": "Jendela baru", + "desktop.menu.closeWindow": "Tutup jendela", + "desktop.menu.undo": "Urungkan", + "desktop.menu.redo": "Ulangi", + "desktop.menu.cut": "Potong", + "desktop.menu.copy": "Salin", + "desktop.menu.paste": "Tempel", + "desktop.menu.delete": "Hapus", + "desktop.menu.selectAll": "Pilih semua", + "desktop.menu.toggleSidebar": "Alihkan panel samping", + "desktop.menu.toggleTerminal": "Alihkan terminal", + "desktop.menu.toggleFileTree": "Alihkan pohon berkas", + "desktop.menu.reload": "Muat ulang", + "desktop.menu.toggleDeveloperTools": "Alihkan alat pengembang", + "desktop.menu.actualSize": "Ukuran sebenarnya", + "desktop.menu.zoomIn": "Perbesar", + "desktop.menu.zoomOut": "Perkecil", + "desktop.menu.toggleFullScreen": "Alihkan layar penuh", + "desktop.menu.back": "Kembali", + "desktop.menu.forward": "Maju", + "desktop.menu.previousSession": "Sesi sebelumnya", + "desktop.menu.nextSession": "Sesi berikutnya", + "desktop.menu.previousProject": "Proyek sebelumnya", + "desktop.menu.nextProject": "Proyek berikutnya", + "desktop.menu.minimize": "Minimalkan", + "desktop.menu.maximize": "Maksimalkan", + "desktop.menu.documentation": "Dokumentasi OpenCode", + "desktop.menu.supportForum": "Forum dukungan", + "desktop.menu.shareFeedback": "Bagikan umpan balik", + "desktop.menu.reportBug": "Laporkan bug", + "desktop.menu.ariaLabel": "Menu OpenCode", + + "desktop.updater.dialog.checkFailed.message": "Pemeriksaan pembaruan gagal.", + "desktop.updater.dialog.checkFailed.title": "Kesalahan pembaruan", + "desktop.updater.dialog.upToDate.message": "Versi Anda sudah terbaru.", + "desktop.updater.dialog.upToDate.title": "Tidak ada pembaruan", + "desktop.updater.dialog.ready.message": "Pembaruan {{version}} telah diunduh. Mulai ulang sekarang?", + "desktop.updater.dialog.ready.title": "Pembaruan siap", + "desktop.updater.dialog.restart": "Mulai ulang", + "desktop.updater.dialog.later": "Nanti", + + "desktop.recovery.action.relaunch": "Luncurkan ulang", + "desktop.recovery.action.exportLogs": "Ekspor log", + "desktop.recovery.action.keepWaiting": "Tetap tunggu", + "desktop.recovery.action.quit": "Keluar", + "desktop.recovery.loadFailed": "OpenCode gagal dimuat", + "desktop.recovery.terminated": "Jendela OpenCode berhenti secara tidak terduga", + "desktop.recovery.unresponsive": "OpenCode tidak merespons", + "desktop.recovery.unresponsive.detail": "Anda dapat meluncurkan ulang aplikasi, membuka log, atau tetap menunggu.", + "desktop.recovery.loadFailed.detail": "Jendela: {{window}}\nURL: {{url}}\nKesalahan: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Jendela: {{window}}\nAlasan: {{reason}}\nKode: {{code}}", + "desktop.recovery.unknown": "", + + "desktop.dialog.chooseFolder": "Pilih folder", + "desktop.dialog.chooseFile": "Pilih berkas", + "desktop.dialog.saveFile": "Simpan berkas", + "desktop.dialog.files": "Berkas", + + "desktop.server.local": "Server lokal", + + "desktop.wsl.error.windowsOnly": "WSL hanya tersedia di Windows", + "desktop.wsl.error.unavailable": "WSL tidak tersedia", + "desktop.wsl.error.listInstalled": "Gagal menampilkan daftar distro WSL yang terinstal", + "desktop.wsl.error.listOnline": "Gagal menampilkan daftar distro WSL daring", + "desktop.wsl.error.executeDistro": "Tidak dapat menjalankan perintah di distro", + "desktop.wsl.error.installWsl": "Instalasi WSL gagal", + "desktop.wsl.error.installDistro": "Gagal menginstal distro: {{distro}}", + "desktop.wsl.error.installOpencode": "Instalasi OpenCode gagal", + "desktop.wsl.error.alreadyAdded": "{{distro}} sudah ditambahkan", + "desktop.wsl.error.opencodeMissing": "opencode belum terinstal di distro ini", + "desktop.wsl.error.opencodeCannotRun": "opencode telah terinstal, tetapi tidak dapat dijalankan", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode belum terinstal di {{distro}}", + "desktop.wsl.error.updateVersion": + "Pembaruan OpenCode selesai, tetapi {{distro}} masih melaporkan {{installed}}; seharusnya {{expected}}", + "desktop.wsl.error.noVersion": "tanpa versi", + "desktop.wsl.error.serverExited": "Server WSL berhenti setelah dimulai (kode={{code}} sinyal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "Server WSL berhenti sebelum siap (kode={{code}} sinyal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": + "Pemeriksaan kesehatan sidecar untuk {{distro}} kehabisan waktu setelah {{timeout}}ms", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} kehabisan waktu setelah {{timeout}}ms", + "desktop.wsl.error.failedPort": "Gagal mendapatkan porta", + + "desktop.picker.error.notSelected": "Berkas tidak dipilih melalui pemilih", + "desktop.picker.error.sizeLimit": "Lampiran yang dipilih melebihi batas {{limit}} MB", + + "command.category.suggested": "Disarankan", + "command.category.view": "Tampilan", + "command.category.project": "Proyek", + "command.category.provider": "Penyedia", + "command.category.server": "Server", + "command.category.session": "Sesi", + "command.category.theme": "Tema", + "command.category.language": "Bahasa", + "command.category.file": "Berkas", + "command.category.context": "Konteks", + "command.category.terminal": "Terminal", + "command.category.model": "Model", + "command.category.mcp": "MCP", + "command.category.agent": "Agen", + "command.category.permissions": "Izin", + "command.category.workspace": "Ruang kerja", + "command.category.settings": "Pengaturan", + "command.logs.export": "Ekspor log", + + "theme.scheme.system": "Sistem", + "theme.scheme.light": "Terang", + "theme.scheme.dark": "Gelap", + + "command.sidebar.toggle": "Alihkan panel samping", + "command.project.open": "Buka proyek", + "command.project.previous": "Proyek sebelumnya", + "command.project.next": "Proyek berikutnya", + "command.project.index": "Beralih ke proyek {{index}}", + "command.provider.connect": "Hubungkan penyedia", + "command.server.switch": "Ganti server", + "command.settings.open": "Buka pengaturan", + "command.session.previous": "Sesi sebelumnya", + "command.session.next": "Sesi berikutnya", + "command.session.previous.unseen": "Sesi sebelumnya yang belum dibaca", + "command.session.next.unseen": "Sesi berikutnya yang belum dibaca", + "command.session.archive": "Arsipkan sesi", + + "command.palette": "Palet perintah", + + "command.theme.cycle": "Ganti tema", + "command.theme.set": "Gunakan tema: {{theme}}", + "command.theme.scheme.cycle": "Ganti skema warna", + "command.theme.scheme.set": "Gunakan skema warna: {{scheme}}", + + "command.language.cycle": "Ganti bahasa", + "command.language.set": "Gunakan bahasa: {{language}}", + + "command.session.new": "Sesi baru", + "command.file.open": "Buka berkas", + "command.tab.close": "Tutup tab", + "command.tab.reopenClosed": "Buka kembali tab yang ditutup", + "command.context.addSelection": "Tambahkan pilihan ke konteks", + "command.context.addSelection.description": "Tambahkan baris yang dipilih dari berkas saat ini", + "command.input.focus": "Fokuskan masukan", + "command.terminal.toggle": "Alihkan terminal", + "command.fileTree.toggle": "Alihkan pohon berkas", + "command.review.toggle": "Alihkan tinjauan", + "command.terminal.new": "Terminal baru", + "command.terminal.new.description": "Buat tab terminal baru", + "command.steps.toggle": "Alihkan langkah", + "command.steps.toggle.description": "Tampilkan atau sembunyikan langkah untuk pesan saat ini", + "command.message.previous": "Pesan sebelumnya", + "command.message.previous.description": "Pergi ke pesan pengguna sebelumnya", + "command.message.next": "Pesan berikutnya", + "command.message.next.description": "Pergi ke pesan pengguna berikutnya", + "command.model.choose": "Pilih model", + "command.model.choose.description": "Pilih model yang berbeda", + "command.mcp.toggle": "Alihkan MCP", + "command.mcp.toggle.description": "Alihkan MCP", + "command.agent.cycle": "Ganti agen", + "command.agent.cycle.description": "Beralih ke agen berikutnya", + "command.agent.cycle.reverse": "Ganti agen mundur", + "command.agent.cycle.reverse.description": "Beralih ke agen sebelumnya", + "command.model.variant.cycle": "Ganti usaha berpikir", + "command.model.variant.cycle.description": "Beralih ke tingkat usaha berikutnya", + "command.prompt.mode.shell": "Shell", + "command.prompt.mode.normal": "Prompt", + "command.permissions.autoaccept.enable": "Terima izin otomatis", + "command.permissions.autoaccept.disable": "Hentikan penerimaan izin otomatis", + "command.workspace.toggle": "Alihkan ruang kerja", + "command.workspace.toggle.description": "Aktifkan atau nonaktifkan beberapa ruang kerja di panel samping", + "command.session.undo": "Urungkan", + "command.session.undo.description": "Urungkan pesan terakhir", + "command.session.redo": "Ulangi", + "command.session.redo.description": "Ulangi pesan yang diurungkan", + "command.session.compact": "Ringkas sesi", + "command.session.compact.description": "Ringkas sesi untuk mengurangi ukuran konteks", + "command.session.fork": "Fork dari pesan", + "command.session.fork.description": "Buat sesi baru dari pesan sebelumnya", + "command.session.share": "Bagikan sesi", + "command.session.share.description": "Bagikan sesi ini dan salin URL ke papan klip", + "command.session.unshare": "Hentikan berbagi", + "command.session.unshare.description": "Hentikan berbagi sesi ini", + + "command.session.export": "Ekspor sesi", + "command.session.export.description": "Ekspor transkrip sesi lengkap sebagai JSON", + + "palette.search.placeholder": "Cari berkas, perintah, dan sesi", + "palette.search.placeholder.home": "Cari perintah dan sesi", + "palette.empty": "Hasil tidak ditemukan", + "palette.group.commands": "Perintah", + "palette.group.files": "Berkas", + + "dialog.provider.search.placeholder": "Cari penyedia", + "dialog.provider.empty": "Penyedia tidak ditemukan", + "dialog.provider.group.popular": "Populer", + "dialog.provider.group.other": "Lainnya", + "dialog.provider.custom.label": "Penyedia kustom yang kompatibel dengan OpenAI", + "dialog.provider.tag.recommended": "Direkomendasikan", + "dialog.provider.opencode.note": "Model pilihan, termasuk Claude, GPT, Gemini, dan lainnya", + "dialog.provider.opencode.tagline": "Model andal yang dioptimalkan", + "dialog.provider.opencodeGo.tagline": "Langganan terjangkau untuk semua orang", + "dialog.provider.anthropic.note": "Akses langsung ke model Claude, termasuk Pro dan Max", + "dialog.provider.copilot.note": "Model AI untuk bantuan pengodean melalui GitHub Copilot", + "dialog.provider.openai.note": "Model GPT untuk tugas AI umum yang cepat dan mumpuni", + "dialog.provider.google.note": "Model Gemini untuk respons cepat dan terstruktur", + "dialog.provider.openrouter.note": "Akses semua model yang didukung dari satu penyedia", + "dialog.provider.vercel.note": "Akses terpadu ke model AI dengan perutean cerdas", + + "dialog.model.select.title": "Pilih model", + "dialog.model.search.placeholder": "Cari model", + "dialog.model.empty": "Tidak ada hasil model", + "dialog.model.manage": "Kelola model", + "dialog.model.manage.description": "Sesuaikan model mana yang muncul di pemilih model.", + "dialog.model.manage.provider.toggle": "Alihkan semua model {{provider}}", + + "dialog.model.unpaid.freeModels.title": "Model gratis disediakan oleh OpenCode", + "dialog.model.unpaid.addMore.title": "Tambahkan lebih banyak model dari penyedia populer", + "dialog.model.unpaid.viewMoreProviders": "Lihat 70+ penyedia lainnya", + + "dialog.provider.viewAll": "Tampilkan lebih banyak penyedia", + + "provider.connect.title": "Hubungkan {{provider}}", + "provider.connect.title.anthropicProMax": "Masuk dengan Claude Pro/Max", + "provider.connect.selectMethod": "Pilih metode masuk untuk {{provider}}.", + "provider.connect.method.apiKey": "Kunci API", + "provider.connect.method.browser": "Peramban", + "provider.connect.method.headless": "Headless", + "provider.connect.status.inProgress": "Otorisasi sedang berlangsung...", + "provider.connect.status.waiting": "Menunggu otorisasi...", + "provider.connect.status.failed": "Otorisasi gagal: {{error}}", + "provider.connect.apiKey.description": + "Masukkan kunci API {{provider}} untuk menghubungkan akun Anda dan gunakan model {{provider}} di OpenCode.", + "provider.connect.apiKey.label": "Kunci API {{provider}}", + "provider.connect.apiKey.placeholder": "Kunci API", + "provider.connect.apiKey.required": "Kunci API diperlukan", + "provider.connect.opencodeZen.line1": + "OpenCode Zen memberi Anda akses ke serangkaian model andal yang dioptimalkan untuk agen pengodean.", + "provider.connect.opencodeZen.line2": + "Dengan satu kunci API, Anda akan mendapatkan akses ke model seperti Claude, GPT, Gemini, GLM dan lainnya.", + "provider.connect.opencodeZen.visit.prefix": "Kunjungi ", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": " untuk mendapatkan kunci API Anda.", + "provider.connect.oauth.code.visit.prefix": "Kunjungi ", + "provider.connect.oauth.code.visit.link": "tautan ini", + "provider.connect.oauth.code.visit.suffix": + " untuk mendapatkan kode otorisasi guna menghubungkan akun Anda dan menggunakan model {{provider}} di OpenCode.", + "provider.connect.oauth.code.label": "Kode otorisasi {{method}}", + "provider.connect.oauth.code.placeholder": "Kode otorisasi", + "provider.connect.oauth.code.required": "Kode otorisasi diperlukan", + "provider.connect.oauth.code.invalid": "Kode otorisasi tidak valid", + "provider.connect.oauth.auto.visit.prefix": "Kunjungi ", + "provider.connect.oauth.auto.visit.link": "tautan ini", + "provider.connect.oauth.auto.visit.suffix": + " dan masukkan kode di bawah untuk menghubungkan akun dan menggunakan model {{provider}} di OpenCode.", + "provider.connect.oauth.auto.confirmationCode": "Kode konfirmasi", + "provider.connect.toast.connected.title": "{{provider}} terhubung", + "provider.connect.toast.connected.description": "Model {{provider}} sekarang tersedia untuk digunakan.", + + "provider.custom.title": "Penyedia kustom", + "provider.custom.unavailable": "Penyedia kustom tidak tersedia di server ini", + "provider.custom.description.prefix": "Konfigurasikan penyedia yang kompatibel dengan OpenAI. Lihat ", + "provider.custom.description.link": "dokumen konfigurasi penyedia", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "ID Penyedia", + "provider.custom.field.providerID.placeholder": "penyediaku", + "provider.custom.field.providerID.description": "Huruf kecil, angka, tanda hubung, atau garis bawah", + "provider.custom.field.name.label": "Nama tampilan", + "provider.custom.field.name.placeholder": "Penyedia AI Saya", + "provider.custom.field.baseURL.label": "URL Dasar", + "provider.custom.field.baseURL.placeholder": "https://api.penyediaku.com/v1", + "provider.custom.field.apiKey.label": "Kunci API", + "provider.custom.field.apiKey.placeholder": "Kunci API", + "provider.custom.field.apiKey.description": "Opsional. Kosongkan jika Anda mengelola autentikasi melalui tajuk.", + "provider.custom.models.label": "Model", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "model-id", + "provider.custom.models.name.label": "Nama", + "provider.custom.models.name.placeholder": "Nama Tampilan", + "provider.custom.models.remove": "Hapus model", + "provider.custom.models.add": "Tambah model", + "provider.custom.headers.label": "Tajuk (opsional)", + "provider.custom.headers.key.label": "Tajuk", + "provider.custom.headers.key.placeholder": "Nama-Tajuk", + "provider.custom.headers.value.label": "Nilai", + "provider.custom.headers.value.placeholder": "nilai", + "provider.custom.headers.remove": "Hapus tajuk", + "provider.custom.headers.add": "Tambah tajuk", + "provider.custom.error.providerID.required": "ID Penyedia diperlukan", + "provider.custom.error.providerID.format": "Gunakan huruf kecil, angka, tanda hubung, atau garis bawah", + "provider.custom.error.providerID.exists": "ID penyedia tersebut sudah ada", + "provider.custom.error.name.required": "Nama tampilan diperlukan", + "provider.custom.error.baseURL.required": "URL Dasar diperlukan", + "provider.custom.error.baseURL.format": "Harus dimulai dengan http:// atau https://", + "provider.custom.error.required": "Diperlukan", + "provider.custom.error.duplicate": "Duplikat", + + "provider.disconnect.toast.disconnected.title": "{{provider}} terputus", + "provider.disconnect.toast.disconnected.description": "Model {{provider}} tidak lagi tersedia.", + + "model.tag.free": "Gratis", + "model.tag.latest": "Terbaru", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "teks", + "model.input.image": "gambar", + "model.input.audio": "audio", + "model.input.video": "video", + "model.input.pdf": "pdf", + "model.tooltip.allows": "Mengizinkan: {{inputs}}", + "model.tooltip.context.label": "Konteks", + "model.tooltip.inputs": "Masukan", + "model.tooltip.model": "Model", + "model.tooltip.provider": "Penyedia", + "model.tooltip.reasoning": "Penalaran", + "model.tooltip.reasoning.allowed": "Mengizinkan penalaran", + "model.tooltip.reasoning.none": "Tanpa penalaran", + "model.tooltip.context": "Batas konteks {{limit}}", + + "common.search.placeholder": "Cari", + "common.goBack": "Navigasi mundur", + "common.goForward": "Navigasi maju", + "common.loading": "Memuat", + "common.loading.ellipsis": "...", + "common.cancel": "Batal", + "common.clear": "Bersihkan", + "common.open": "Buka", + "common.connect": "Hubungkan", + "common.disconnect": "Putuskan", + "common.continue": "Lanjutkan", + "common.submit": "Kirim", + "common.save": "Simpan", + "common.saving": "Menyimpan...", + "common.default": "Bawaan", + "common.attachment": "lampiran", + + "prompt.placeholder.shell": "Masukkan perintah shell... {{example}}", + "prompt.placeholder.normal": 'Tanyakan apa saja... "{{example}}"', + "prompt.placeholder.simple": "Tanyakan apa saja...", + "prompt.placeholder.summarizeComments": "Ringkas komentar…", + "prompt.placeholder.summarizeComment": "Ringkas komentar…", + "prompt.mode.shell": "Shell", + "prompt.mode.normal": "Prompt", + "prompt.mode.shell.exit": "esc untuk keluar", + "session.child.promptDisabled": "Sesi subagen tidak dapat diberi prompt.", + "session.child.backToParent": "Kembali ke sesi utama.", + + "prompt.example.1": "Perbaiki TODO di basis kode", + "prompt.example.2": "Apa tumpukan teknologi proyek ini?", + "prompt.example.3": "Perbaiki tes yang rusak", + "prompt.example.4": "Jelaskan cara kerja autentikasi", + "prompt.example.5": "Temukan dan perbaiki kerentanan keamanan", + "prompt.example.6": "Tambahkan pengujian unit untuk layanan pengguna", + "prompt.example.7": "Refaktor fungsi ini agar lebih mudah dibaca", + "prompt.example.8": "Apa arti kesalahan ini?", + "prompt.example.9": "Bantu saya mengawakutu masalah ini", + "prompt.example.10": "Hasilkan dokumentasi API", + "prompt.example.11": "Optimalkan kueri basis data", + "prompt.example.12": "Tambahkan validasi masukan", + "prompt.example.13": "Buat komponen baru untuk...", + "prompt.example.14": "Bagaimana cara menerapkan proyek ini?", + "prompt.example.15": "Tinjau kode saya untuk praktik terbaik", + "prompt.example.16": "Tambahkan penanganan kesalahan ke fungsi ini", + "prompt.example.17": "Jelaskan pola regex ini", + "prompt.example.18": "Konversi ini ke TypeScript", + "prompt.example.19": "Tambahkan pencatatan log di seluruh basis kode", + "prompt.example.20": "Dependensi mana yang sudah kedaluwarsa?", + "prompt.example.21": "Bantu saya menulis skrip migrasi", + "prompt.example.22": "Terapkan penembolokan untuk titik akhir ini", + "prompt.example.23": "Tambahkan paginasi ke daftar ini", + "prompt.example.24": "Buat perintah CLI untuk...", + "prompt.example.25": "Bagaimana cara kerja variabel lingkungan di sini?", + + "prompt.popover.emptyResults": "Tidak ada hasil yang cocok", + "prompt.popover.emptyCommands": "Tidak ada perintah yang cocok", + "prompt.dropzone.label": "Letakkan gambar, PDF, atau berkas teks di sini", + "prompt.dropzone.file.label": "Letakkan untuk menyebut berkas dengan @", + "prompt.slash.badge.custom": "kustom", + "prompt.slash.badge.skill": "keahlian", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "aktif", + "prompt.context.includeActiveFile": "Sertakan berkas aktif", + "prompt.context.removeActiveFile": "Hapus berkas aktif dari konteks", + "prompt.context.removeFile": "Hapus berkas dari konteks", + "prompt.action.attachFile": "Tambah berkas", + "prompt.menu.addImagesAndFiles": "Tambah berkas dan lainnya", + "prompt.menu.imagesAndFiles": "Gambar dan berkas", + "prompt.menu.commands": "Perintah", + "prompt.menu.context": "Konteks", + "prompt.menu.shellCommand": "Perintah shell", + "prompt.attachment.remove": "Hapus lampiran", + "prompt.action.send": "Kirim", + "prompt.action.stop": "Hentikan", + + "prompt.toast.pasteUnsupported.title": "Lampiran tidak didukung", + "prompt.toast.pasteUnsupported.description": "Hanya gambar, PDF, atau berkas teks yang dapat dilampirkan di sini.", + "prompt.toast.attachmentDuplicate.title": "Berkas ini sudah diunggah", + "prompt.toast.modelAgentRequired.title": "Pilih agen dan model", + "prompt.toast.modelAgentRequired.description": "Pilih agen dan model sebelum mengirim prompt.", + "prompt.toast.worktreeCreateFailed.title": "Gagal membuat worktree", + "prompt.toast.sessionCreateFailed.title": "Gagal membuat sesi", + "prompt.toast.shellSendFailed.title": "Gagal mengirim perintah shell", + "prompt.toast.commandSendFailed.title": "Gagal mengirim perintah", + "prompt.toast.promptSendFailed.title": "Gagal mengirim prompt", + "prompt.toast.promptSendFailed.description": "Tidak dapat mengambil sesi", + + "dialog.mcp.title": "MCP", + "dialog.mcp.description": "{{enabled}} dari {{total}} diaktifkan", + "dialog.mcp.empty": "Tidak ada MCP yang dikonfigurasi", + + "dialog.lsp.empty": "LSP terdeteksi otomatis dari jenis berkas", + "dialog.plugins.empty": "Plugin dikonfigurasi di opencode.json", + + "mcp.status.connected": "terhubung", + "mcp.status.failed": "gagal", + "mcp.status.needs_auth": "perlu autentikasi", + "mcp.status.disabled": "nonaktif", + "mcp.auth.clickToAuthenticate": "Klik untuk mengautentikasi", + + "dialog.fork.empty": "Tidak ada pesan yang dapat dicabangkan", + + "dialog.directory.search.placeholder": "Cari folder", + "dialog.directory.empty": "Folder tidak ditemukan", + "dialog.directory.action.selectFile": "Pilih berkas", + "dialog.directory.action.selectFolder": "Pilih folder", + "dialog.directory.root": "Akar", + "dialog.directory.parent": "Induk", + "dialog.directory.readError": "Tidak dapat membaca folder ini", + + "app.server.unreachable": "Tidak dapat menjangkau {{server}}", + "app.server.retrying": "Mencoba ulang secara otomatis...", + "app.server.otherServers": "Server lainnya", + + "dialog.server.title": "Server", + "dialog.server.description": "Ganti server OpenCode mana yang terhubung dengan aplikasi ini.", + "dialog.server.search.placeholder": "Cari server", + "dialog.server.empty": "Belum ada server", + "dialog.server.add.title": "Tambah server", + "dialog.server.add.url": "Alamat server", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "Tidak dapat terhubung ke server", + "dialog.server.add.checking": "Memeriksa...", + "dialog.server.add.button": "Tambah server", + "dialog.server.add.name": "Nama server (opsional)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "Nama pengguna (opsional)", + "dialog.server.add.usernamePlaceholder": "nama pengguna", + "dialog.server.add.password": "Kata sandi (opsional)", + "dialog.server.add.passwordPlaceholder": "kata sandi", + "dialog.server.edit.title": "Sunting server", + "dialog.server.default.title": "Server bawaan", + "dialog.server.default.description": + "Hubungkan ke server ini saat aplikasi diluncurkan, alih-alih memulai server lokal. Memerlukan mulai ulang.", + "dialog.server.default.none": "Tidak ada server dipilih", + "dialog.server.default.set": "Tetapkan server saat ini sebagai bawaan", + "dialog.server.default.clear": "Hapus", + "dialog.server.action.remove": "Hapus server", + + "dialog.server.menu.edit": "Sunting", + "dialog.server.menu.default": "Tetapkan sebagai bawaan", + "dialog.server.menu.defaultRemove": "Hapus bawaan", + "dialog.server.menu.delete": "Hapus", + "dialog.server.current": "Server Saat Ini", + "dialog.server.status.default": "Bawaan", + "wsl.server.add": "Tambah server WSL", + "wsl.server.addShort": "Tambah WSL", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "Server WSL", + "wsl.server.retryStart": "Coba mulai ulang", + "wsl.server.updating": "Memperbarui...", + "wsl.onboarding.step.distro": "Pilih distro", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "Memeriksa WSL...", + "wsl.onboarding.restartRequired": "Windows perlu dimulai ulang untuk menyelesaikan instalasi WSL.", + "wsl.onboarding.ready": "WSL siap.", + "wsl.onboarding.required": "WSL diperlukan untuk melanjutkan.", + "wsl.onboarding.checkingDistros": "Memeriksa distro...", + "wsl.onboarding.installingDistro": "Menginstal {{distro}}...", + "wsl.onboarding.checkingDistro": "Memeriksa {{distro}}...", + "wsl.onboarding.listingDistros": "Memuat daftar distro...", + "wsl.onboarding.distroReady": "{{distro}} siap.", + "wsl.onboarding.distroNotInstalled": "{{distro}} belum terinstal.", + "wsl.onboarding.openDistroOnce": "Buka {{distro}} sekali untuk menyelesaikan pengaturan.", + "wsl.onboarding.finishingDistro": "Menyelesaikan pengaturan untuk {{distro}}.", + "wsl.onboarding.pickDistro": "Pilih distro atau instal salah satu di bawah.", + "wsl.onboarding.checkingOpencode": "Memeriksa OpenCode...", + "wsl.onboarding.checkingOpencodeIn": "Memeriksa OpenCode di {{distro}}...", + "wsl.onboarding.updatingOpencode": "Memperbarui OpenCode...", + "wsl.onboarding.updatingOpencodeIn": "Memperbarui OpenCode di {{distro}}...", + "wsl.onboarding.updateOpencodeIn": "Perbarui OpenCode di {{distro}}.", + "wsl.onboarding.updateOpencode": "Perbarui OpenCode", + "wsl.onboarding.opencodeReadyIn": "OpenCode siap di {{distro}}.", + "wsl.onboarding.opencodeReady": "OpenCode siap.", + "wsl.onboarding.installOpencodeIn": "Instal OpenCode di {{distro}}.", + "wsl.onboarding.installOpencode": "Instal OpenCode", + "wsl.onboarding.chooseDistroFirst": "Pilih distro terlebih dahulu.", + "wsl.onboarding.loadFailed": "Gagal memuat keadaan WSL.", + "wsl.onboarding.loading": "Memuat...", + "wsl.onboarding.installedDistros": "Distro terinstal", + "wsl.onboarding.checkAgain": "Periksa lagi", + "wsl.onboarding.distroStatus.ready": "Siap", + "wsl.onboarding.distroStatus.checking": "Memeriksa...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode belum terinstal", + "wsl.onboarding.distroStatus.missingTools": "bash dan curl tidak tersedia", + "wsl.onboarding.distroStatus.unsupported": "Tidak didukung · Gunakan WSL 2", + "wsl.onboarding.needAnotherDistro": "Perlu distro lain?", + "wsl.onboarding.needAnotherDistroHint": "Instal distribusi Linux dari katalog WSL", + "wsl.onboarding.wslNotInstalled.title": "WSL belum terinstal", + "wsl.onboarding.wslNotInstalled.description": + "WSL (Windows Subsystem for Linux) diperlukan sebelum OpenCode dapat menambahkan server WSL", + "wsl.onboarding.wslUnavailable.title": "WSL tidak tersedia", + "wsl.onboarding.wslUnavailable.description": "OpenCode tidak dapat memverifikasi WSL di komputer ini.", + "wsl.onboarding.installWsl": "Instal WSL", + "wsl.onboarding.windowsRestartRequired": + "Mulai ulang Windows untuk menyelesaikan instalasi WSL, lalu buka kembali OpenCode.", + "wsl.onboarding.next": "Berikutnya", + "wsl.onboarding.refresh": "Muat ulang", + "wsl.onboarding.allDistrosAdded": "Semua distro yang terinstal sudah ditambahkan.", + "wsl.onboarding.noDistros": "Belum ada distro terdeteksi.", + "wsl.onboarding.install": "Instal", + "wsl.onboarding.installing": "Menginstal...", + "wsl.onboarding.installDistro": "Instal distro", + "wsl.onboarding.searchDistros": "Cari distro", + "wsl.onboarding.wsl2Required": "WSL 2 diperlukan.", + "wsl.onboarding.toolsRequired": "Distro ini memerlukan bash dan curl.", + "wsl.onboarding.openTerminal": "Buka terminal", + "wsl.onboarding.path": "Jalur: {{path}}", + "wsl.onboarding.notFound": "tidak ditemukan", + "wsl.onboarding.version": "Versi: {{version}}", + "wsl.onboarding.unknown": "tidak diketahui", + "wsl.onboarding.desktopVersion": "desktop {{version}}", + "wsl.onboarding.versionMismatch": "Versi terinstal tidak cocok dengan versi aplikasi desktop.", + "wsl.onboarding.adding": "Menambahkan...", + + "help.tabs.toast.ariaLabel": "Memperkenalkan Tab. Atur pekerjaan dan sesi aktif Anda dengan tab", + "help.tabs.toast.dismiss": "Tutup informasi tentang Tab", + "help.tabs.title": "Memperkenalkan Tab", + "help.tabs.description": "Atur pekerjaan dan sesi aktif Anda dengan tab", + "help.tabs.date": "14 Juli", + "help.tabs.introduction": "OpenCode Desktop kini dirancang dengan tab sebagai pusatnya.", + "help.tabs.sessions": + "Mulai sesi baru di tab, atau buka sesi yang sudah ada dari proyek Anda. Buka tab baru saat Anda memulai sesuatu yang baru, lalu tutup setelah selesai.", + "help.tabs.organize": + "Membiarkan beberapa tab tetap terbuka memudahkan Anda mengatur sesi aktif. Ganti nama tab agar mudah diingat jika Anda berencana mempertahankannya.", + "help.tabs.home": "Semua sesi dan proyek Anda tersedia di layar Beranda baru. Memilih sesi akan membukanya di tab.", + "help.tabs.persistence": "Saat Anda membuka kembali aplikasi, tab Anda tetap terbuka.", + "help.tabs.worktrees": + "Desain baru belum mendukung Git Worktrees, tetapi dukungan tersebut akan segera hadir. Jika Anda ingin tetap menggunakan tata letak sebelumnya, Anda dapat beralih antartata letak di Pengaturan. Perlu diingat bahwa tata letak baru akan menjadi permanen dalam beberapa minggu.", + "server.row.noUsername": "tanpa nama pengguna", + + "dialog.project.edit.title": "Sunting proyek", + "dialog.project.edit.name": "Nama", + "dialog.project.edit.icon": "Ikon", + "dialog.project.edit.icon.alt": "Ikon proyek", + "dialog.project.edit.icon.hint": "Klik atau seret gambar", + "dialog.project.edit.icon.recommended": "Disarankan: 128x128px", + "dialog.project.edit.color": "Warna", + "dialog.project.edit.color.select": "Pilih warna {{color}}", + "dialog.project.edit.worktree.startup": "Skrip awal ruang kerja", + "dialog.project.edit.worktree.startup.description": "Berjalan setelah membuat ruang kerja (worktree) baru.", + "dialog.project.edit.worktree.startup.placeholder": "mis. bun install", + + "dialog.releaseNotes.action.getStarted": "Mulai", + "dialog.releaseNotes.action.next": "Berikutnya", + "dialog.releaseNotes.action.hideFuture": "Jangan tampilkan ini di masa depan", + "dialog.releaseNotes.media.alt": "Pratinjau rilis", + + "dialog.usageExceeded.dontShowAgain": "Jangan tampilkan lagi", + + "context.breakdown.title": "Rincian Konteks", + "context.breakdown.note": 'Perkiraan rincian token masukan. "Lainnya" mencakup definisi alat dan beban tambahan.', + "context.breakdown.system": "Sistem", + "context.breakdown.user": "Pengguna", + "context.breakdown.assistant": "Asisten", + "context.breakdown.tool": "Panggilan Alat", + "context.breakdown.other": "Lainnya", + + "context.systemPrompt.title": "Prompt Sistem", + "context.rawMessages.title": "Pesan mentah", + + "context.export.session": "Ekspor sesi", + + "context.stats.session": "Sesi", + "context.stats.messages": "Pesan", + "context.stats.provider": "Penyedia", + "context.stats.model": "Model", + "context.stats.limit": "Batas Konteks", + "context.stats.totalTokens": "Total Token", + "context.stats.usage": "Penggunaan", + "context.stats.inputTokens": "Token Masukan", + "context.stats.outputTokens": "Token Keluaran", + "context.stats.reasoningTokens": "Token Penalaran", + "context.stats.cacheTokens": "Token Tembolok (baca/tulis)", + "context.stats.userMessages": "Pesan Pengguna", + "context.stats.assistantMessages": "Pesan Asisten", + "context.stats.totalCost": "Total Biaya", + "context.stats.sessionCreated": "Sesi Dibuat", + "context.stats.lastActivity": "Aktivitas Terakhir", + + "context.usage.tokens": "Token", + "context.usage.usage": "Penggunaan", + "context.usage.cost": "Biaya", + "context.usage.clickToView": "Klik untuk melihat konteks", + "context.usage.view": "Lihat penggunaan konteks", + + "language.en": "English", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Deutsch", + "language.es": "Español", + "language.fr": "Français", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "Polski", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Norsk", + "language.br": "Português (Brasil)", + "language.bs": "Bosanski", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Türkçe", + "toast.language.title": "Bahasa", + "toast.language.description": "Beralih ke {{language}}", + + "toast.theme.title": "Tema diganti", + "toast.scheme.title": "Skema warna", + + "toast.workspace.enabled.title": "Ruang kerja diaktifkan", + "toast.workspace.enabled.description": "Beberapa worktree sekarang ditampilkan di panel samping", + "toast.workspace.disabled.title": "Ruang kerja dinonaktifkan", + "toast.workspace.disabled.description": "Hanya worktree utama yang ditampilkan di panel samping", + + "toast.permissions.autoaccept.on.title": "Menerima izin secara otomatis", + "toast.permissions.autoaccept.on.description": "Permintaan izin akan disetujui secara otomatis", + "toast.permissions.autoaccept.off.title": "Berhenti menerima izin otomatis", + "toast.permissions.autoaccept.off.description": "Permintaan izin akan memerlukan persetujuan", + + "toast.model.none.title": "Tidak ada model dipilih", + "toast.model.none.description": "Hubungkan penyedia untuk meringkas sesi ini", + + "toast.file.loadFailed.title": "Gagal memuat berkas", + "toast.file.listFailed.title": "Gagal mendaftar berkas", + + "toast.context.noLineSelection.title": "Tidak ada pilihan baris", + "toast.context.noLineSelection.description": "Pilih rentang baris di tab berkas terlebih dahulu.", + + "toast.session.share.copyFailed.title": "Gagal menyalin URL ke papan klip", + "toast.session.share.success.title": "Sesi dibagikan", + "toast.session.share.success.description": "URL berbagi disalin ke papan klip!", + "toast.session.share.failed.title": "Gagal membagikan sesi", + "toast.session.share.failed.description": "Terjadi kesalahan saat membagikan sesi", + + "toast.session.unshare.success.title": "Berbagi sesi dihentikan", + "toast.session.unshare.success.description": "Berbagi sesi berhasil dihentikan!", + "toast.session.unshare.failed.title": "Gagal menghentikan berbagi sesi", + "toast.session.unshare.failed.description": "Terjadi kesalahan saat menghentikan berbagi sesi", + + "toast.session.export.success.title": "Sesi diekspor", + "toast.session.export.success.description": "Sesi disimpan ke {{filename}}", + "toast.session.export.failed.title": "Gagal mengekspor sesi", + "toast.session.export.failed.description": "Terjadi kesalahan saat mengekspor sesi", + + "toast.session.listFailed.title": "Gagal memuat sesi untuk {{project}}", + "toast.project.reloadFailed.title": "Gagal memuat ulang {{project}}", + + "toast.update.title": "Pembaruan tersedia", + "toast.update.description": "Versi baru OpenCode ({{version}}) sekarang tersedia untuk diinstal.", + "toast.update.action.installRestart": "Instal dan mulai ulang", + "toast.update.action.notYet": "Nanti saja", + + "error.page.title": "Terjadi kesalahan", + "error.page.description": "Terjadi kesalahan saat memuat aplikasi.", + "error.page.description.localServerStartup": "Terjadi kesalahan saat memulai server lokal.", + "error.page.details.label": "Detail Kesalahan", + "error.page.action.restart": "Mulai Ulang", + "error.page.action.report": "Laporkan Kesalahan", + "error.page.action.reported": "Kesalahan Dilaporkan", + "error.page.action.exportLogs": "Ekspor Log", + "error.page.action.checking": "Memeriksa...", + "error.page.action.checkUpdates": "Periksa pembaruan", + "error.page.action.updateTo": "Perbarui ke {{version}}", + "error.page.circular": "[Sirkular]", + "error.page.report.prefix": "Harap laporkan kesalahan ini ke tim OpenCode", + "error.page.report.discord": "di Discord", + "error.page.version": "Versi: {{version}}", + + "error.dev.rootNotFound": + "Elemen root tidak ditemukan. Apakah Anda lupa menambahkannya ke index.html? Atau mungkin atribut id salah eja?", + + "error.serverSync.connectFailed": "Tidak dapat terhubung ke server. Apakah ada server yang berjalan di `{{url}}`?", + "error.serverSDK.noServerAvailable": "Tidak ada server tersedia", + "error.serverSDK.serverNotAvailable": "Server tidak tersedia", + "error.childStore.persistedCacheCreateFailed": "Gagal membuat tembolok persisten", + "error.childStore.persistedProjectMetadataCreateFailed": "Gagal membuat metadata proyek persisten", + "error.childStore.persistedProjectIconCreateFailed": "Gagal membuat ikon proyek persisten", + "error.childStore.storeCreateFailed": "Gagal membuat penyimpanan", + "directory.error.invalidUrl": "Direktori tidak valid di URL.", + + "error.chain.unknown": "Kesalahan tidak diketahui", + "error.server.invalidConfiguration": "Konfigurasi tidak valid", + "error.chain.causedBy": "Disebabkan oleh:", + "error.chain.apiError": "Kesalahan API", + "error.chain.status": "Status: {{status}}", + "error.chain.retryable": "Dapat dicoba ulang: {{retryable}}", + "error.chain.responseBody": "Isi respons:\n{{body}}", + "error.chain.didYouMean": "Maksud Anda: {{suggestions}}", + "error.chain.modelNotFound": "Model tidak ditemukan: {{provider}}/{{model}}", + "error.chain.checkConfig": "Periksa nama penyedia/model di konfigurasi Anda (opencode.json)", + "error.chain.mcpFailed": 'Server MCP "{{name}}" gagal. Catatan: OpenCode belum mendukung autentikasi MCP.', + "error.chain.providerAuthFailed": "Autentikasi penyedia gagal ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + 'Gagal menginisialisasi penyedia "{{provider}}". Periksa kredensial dan konfigurasi.', + "error.chain.configJsonInvalid": "Berkas konfigurasi di {{path}} bukan JSON(C) yang valid", + "error.chain.configJsonInvalidWithMessage": "Berkas konfigurasi di {{path}} bukan JSON(C) yang valid: {{message}}", + "error.chain.configDirectoryTypo": + 'Direktori "{{dir}}" di {{path}} tidak valid. Ganti nama direktori menjadi "{{suggestion}}" atau hapus. Ini adalah kesalahan ketik yang umum.', + "error.chain.configFrontmatterError": "Gagal mengurai frontmatter di {{path}}:\n{{message}}", + "error.chain.configInvalid": "Berkas konfigurasi di {{path}} tidak valid", + "error.chain.configInvalidWithMessage": "Berkas konfigurasi di {{path}} tidak valid: {{message}}", + + "notification.permission.title": "Izin diperlukan", + "notification.permission.description": "{{sessionTitle}} di {{projectName}} memerlukan izin", + "notification.question.title": "Pertanyaan", + "notification.question.description": "{{sessionTitle}} di {{projectName}} memiliki pertanyaan", + "notification.action.goToSession": "Pergi ke sesi", + + "notification.session.responseReady.title": "Respons siap", + "notification.session.error.title": "Kesalahan sesi", + "notification.session.error.fallbackDescription": "Terjadi kesalahan", + + "home.recentProjects": "Proyek terbaru", + "home.empty.title": "Tidak ada proyek terbaru", + "home.empty.description": "Mulai dengan membuka proyek lokal", + "home.title": "Beranda", + "home.projects": "Proyek", + "home.project.add": "Tambah proyek", + "home.recentlyClosed": "Baru saja ditutup", + "home.server.collapse": "Ciutkan proyek server", + "home.server.expand": "Bentangkan proyek server", + "home.sessions.search.placeholder": "Cari sesi", + "home.sessions.search.placeholder.scoped": "Cari sesi di {{scope}}", + "home.sessions.search.sessions": "Sesi", + "home.sessions.search.noResults": "Tidak ada sesi ditemukan untuk {{query}}", + "home.sessions.empty": "Belum ada apa pun di sini", + "home.sessions.empty.description": "Buat sesi untuk memulai", + "home.sessions.group.today": "Hari ini", + "home.sessions.group.yesterday": "Kemarin", + "home.sessions.group.older": "Lebih lama", + "home.providerTip": + "Hubungkan ke 75+ penyedia untuk menggunakan model lain, termasuk Claude, GPT, Gemini, dan lainnya", + + "session.tab.session": "Sesi", + "session.tab.review": "Tinjauan", + "session.tab.context": "Konteks", + "session.tab.unknown": "Sesi Tidak Dikenal", + "session.panel.reviewAndFiles": "Tinjauan dan berkas", + "session.error.notFound": "Sesi ini tidak dapat ditemukan", + "session.error.notFound.description": "Tab ini mengarah ke sesi yang sudah tidak ada di server ini.", + "session.error.notFound.closeTab": "Tutup Tab", + "session.error.serverConnection": "Tidak dapat terhubung ke server ini", + "session.review.filesChanged": "{{count}} Berkas Berubah", + "session.review.change.one": "Perubahan", + "session.review.change.other": "Perubahan", + "session.review.loadingChanges": "Memuat perubahan...", + "session.review.empty": "Belum ada perubahan di sesi ini", + "session.review.noVcs": "Tidak ada sistem kontrol versi Git yang terdeteksi, perubahan tidak ditampilkan", + "session.review.noVcs.createGit.title": "Buat repositori Git", + "session.review.noVcs.createGit.description": "Lacak, tinjau, dan urungkan perubahan di proyek ini", + "session.review.noVcs.createGit.actionLoading": "Membuat repositori Git...", + "session.review.noVcs.createGit.action": "Buat repositori Git", + "session.review.noSnapshot": + "Pelacakan snapshot dinonaktifkan di konfigurasi, sehingga perubahan sesi tidak tersedia", + "session.review.noChanges": "Tidak ada perubahan", + "session.review.noUncommittedChanges": "Belum ada perubahan yang belum dikomit", + "session.review.noBranchChanges": "Belum ada perubahan cabang", + + "session.files.selectToOpen": "Pilih berkas untuk dibuka", + "session.files.all": "Semua berkas", + "session.files.empty": "Tidak ada berkas", + "session.files.binaryContent": "Berkas biner (konten tidak dapat ditampilkan)", + + "session.messages.renderEarlier": "Tampilkan pesan sebelumnya", + "session.messages.loadingEarlier": "Memuat pesan sebelumnya...", + "session.messages.loadEarlier": "Muat pesan sebelumnya", + "session.messages.loading": "Memuat pesan...", + "session.messages.jumpToLatest": "Lompat ke pesan terbaru", + + "session.context.addToContext": "Tambahkan {{selection}} ke konteks", + "session.todo.title": "Tugas", + "session.todo.collapse": "Ciutkan", + "session.todo.expand": "Bentangkan", + "session.todo.progress": "{{done}} dari {{total}} tugas selesai", + "session.question.progress": "{{current}} dari {{total}} pertanyaan", + "session.question.minimize": "Minimalkan pertanyaan", + "session.question.restore": "Pulihkan pertanyaan", + "session.question.pending.one": "{{count}} pertanyaan tertunda", + "session.question.pending.other": "{{count}} pertanyaan tertunda", + "session.followupDock.summary.one": "{{count}} pesan dalam antrean", + "session.followupDock.summary.other": "{{count}} pesan dalam antrean", + "session.followupDock.sendNow": "Kirim sekarang", + "session.followupDock.edit": "Sunting", + "session.followupDock.collapse": "Ciutkan pesan dalam antrean", + "session.followupDock.expand": "Bentangkan pesan dalam antrean", + "session.revertDock.summary.one": "{{count}} pesan diurungkan", + "session.revertDock.summary.other": "{{count}} pesan diurungkan", + "session.revertDock.collapse": "Ciutkan pesan yang diurungkan", + "session.revertDock.expand": "Bentangkan pesan yang diurungkan", + "session.revertDock.restore": "Pulihkan pesan", + + "session.new.title": "Buat apa saja", + "session.new.project.new": "Proyek baru", + "session.new.project.search": "Cari proyek", + "session.new.project.add": "Tambah proyek", + "session.new.worktree.main": "Cabang utama", + "session.new.worktree.mainWithBranch": "Cabang utama ({{branch}})", + "session.new.worktree.create": "Buat worktree baru", + "session.new.workspace.runIn": "Jalankan sesi dalam", + "session.new.workspace.triggerLocal": "Lokal", + "session.new.workspace.local": "Repositori lokal", + "session.new.workspace.existing": "Ruang kerja…", + "session.new.git.none": "Tanpa Git", + "session.new.lastModified": "Terakhir diubah", + + "session.header.search.placeholder": "Cari {{project}}", + "session.header.searchFiles": "Cari berkas", + "session.header.openIn": "Buka di", + "session.header.open.action": "Buka {{app}}", + "session.header.open.ariaLabel": "Buka di {{app}}", + "session.header.open.menu": "Opsi buka", + "session.header.open.copyPath": "Salin jalur", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "File Explorer", + "session.header.open.fileManager": "File Manager", + "session.header.reveal.finder": "Tampilkan di Finder", + "session.header.reveal.fileExplorer": "Tampilkan di File Explorer", + "session.header.reveal.containingFolder": "Buka folder yang memuatnya", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Terminal", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.sublimeText": "Sublime Text", + "session.header.open.app.powershell": "PowerShell", + + "status.popover.trigger": "Status", + "status.popover.ariaLabel": "Konfigurasi server", + "status.popover.tab.servers": "Server", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "Plugin", + "status.popover.action.manageServers": "Kelola server", + + "session.share.popover.title": "Publikasikan di web", + "session.share.popover.description.shared": "Sesi ini publik di web. Siapa pun dengan tautan dapat mengaksesnya.", + "session.share.popover.description.unshared": + "Bagikan sesi secara publik di web. Siapa pun dengan tautan dapat mengaksesnya.", + "session.share.action.share": "Bagikan", + "session.share.action.publish": "Publikasikan", + "session.share.action.publishing": "Mempublikasikan...", + "session.share.action.unpublish": "Batalkan publikasi", + "session.share.action.unpublishing": "Membatalkan publikasi...", + "session.share.action.view": "Lihat", + "session.share.copy.copied": "Tersalin", + "session.share.copy.copyLink": "Salin tautan", + + "lsp.tooltip.none": "Tidak ada server LSP", + "lsp.label.connected": "{{count}} LSP", + + "prompt.loading": "Memuat prompt...", + "terminal.loading": "Memuat terminal...", + "terminal.title": "Terminal", + "terminal.title.numbered": "Terminal {{number}}", + "terminal.close": "Tutup terminal", + "terminal.connectionLost.title": "Koneksi Terputus", + "terminal.connectionLost.abnormalClose": "WebSocket ditutup secara tidak normal: {{code}}", + "terminal.connectionLost.description": "Koneksi terminal terputus. Ini bisa terjadi saat server dimulai ulang.", + "terminal.connectTicket.csrfError": + "Tiket koneksi PTY ditolak oleh pemeriksaan asal atau CSRF. Periksa konfigurasi CORS server.", + "terminal.connectTicket.statusError": "Tiket koneksi PTY gagal dengan status {{status}}", + "titlebar.update": "Perbarui", + "titlebar.updateVersion": "Perbarui {{version}}", + + "common.closeTab": "Tutup tab", + "common.dismiss": "Tutup", + "common.moreCountSuffix": " (+{{count}} lainnya)", + "common.requestFailed": "Permintaan gagal", + "common.moreOptions": "Opsi lainnya", + "common.learnMore": "Pelajari lebih lanjut", + "common.rename": "Ganti nama", + "common.export": "Ekspor", + "common.reset": "Atur ulang", + "common.archive": "Arsipkan", + "common.delete": "Hapus", + "common.close": "Tutup", + "common.edit": "Sunting", + "common.loadMore": "Muat lebih banyak", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Spasi", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "tidak diketahui", + + "common.time.justNow": "Baru saja", + "common.time.minutesAgo.short": "{{count}}m lalu", + "common.time.hoursAgo.short": "{{count}}j lalu", + "common.time.daysAgo.short": "{{count}}h lalu", + + "sidebar.menu.toggle": "Alihkan menu", + "sidebar.nav.projectsAndSessions": "Proyek dan sesi", + "sidebar.settings": "Pengaturan", + "sidebar.help": "Bantuan", + "sidebar.workspaces.enable": "Aktifkan ruang kerja", + "sidebar.workspaces.disable": "Nonaktifkan ruang kerja", + "sidebar.gettingStarted.title": "Memulai", + "sidebar.gettingStarted.line1": "OpenCode menyertakan model gratis sehingga Anda dapat memulai dengan segera.", + "sidebar.gettingStarted.line2": + "Hubungkan penyedia mana pun untuk menggunakan model, termasuk Claude, GPT, Gemini, dll.", + "sidebar.project.recentSessions": "Sesi terbaru", + "sidebar.project.viewAllSessions": "Lihat semua sesi", + "sidebar.project.clearNotifications": "Hapus notifikasi", + "sidebar.empty.title": "Tidak ada proyek terbuka", + "sidebar.empty.description": "Buka proyek untuk memulai", + + "debugBar.ariaLabel": "Diagnostik kinerja pengembangan", + "debugBar.na": "n/a", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "Transisi rute terakhir yang mencapai halaman sesi, diukur sejak perute dimulai hingga render pertama setelah stabil.", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "Frame per detik yang dihitung secara bergulir selama 5 detik terakhir.", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "Waktu frame terburuk selama 5 detik terakhir.", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "Frame di atas 32ms dalam 5 detik terakhir.", + "debugBar.long.label": "LONG", + "debugBar.long.tip": "Waktu terblokir dan jumlah tugas panjang dalam 5 detik terakhir. Tugas maks: {{max}}.", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "Penundaan masukan terburuk yang diamati dalam 5 detik terakhir.", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": "Perkiraan durasi interaksi selama 5 detik terakhir. Ini mirip INP, bukan INP Web Vitals resmi.", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "Pergeseran tata letak kumulatif untuk masa pakai aplikasi saat ini.", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "Heap JS terpakai vs batas heap. Khusus Chromium.", + "debugBar.mem.tip": "Heap JS terpakai vs batas heap. {{used}} dari {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Paksa gaya fokus pada semua elemen interaktif", + "debugBar.focus.on": "AKTIF", + "debugBar.focus.off": "NONAKTIF", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Paksa arah tata letak seluruh aplikasi tanpa mengubah bahasa yang dipilih", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + + "app.name.desktop": "OpenCode Desktop", + + "settings.section.desktop": "Desktop", + "settings.section.server": "Server", + "settings.tab.general": "Umum", + "settings.tab.shortcuts": "Pintasan", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "Integrasi WSL", + "settings.desktop.wsl.description": "Jalankan server OpenCode di dalam WSL di Windows.", + + "settings.general.section.appearance": "Tampilan", + "settings.general.section.advanced": "Lanjutan", + "settings.general.section.notifications": "Notifikasi sistem", + "settings.general.section.updates": "Pembaruan", + "settings.general.section.sounds": "Efek suara", + "settings.general.section.feed": "Umpan", + "settings.general.section.display": "Tampilan", + + "settings.general.row.language.title": "Bahasa", + "settings.general.row.language.description": "Ubah bahasa tampilan untuk OpenCode", + "settings.general.row.shell.title": "Shell terminal", + "settings.general.row.shell.description": "Shell yang digunakan oleh terminal dan alat agen", + "settings.general.row.shell.autoDefault": "Otomatis (Bawaan)", + "settings.general.row.shell.terminalOnly": "hanya terminal", + "settings.general.row.appearance.title": "Tampilan", + "settings.general.row.appearance.description": "Sesuaikan tampilan OpenCode di perangkat Anda", + "settings.general.row.colorScheme.title": "Skema warna", + "settings.general.row.colorScheme.description": "Pilih apakah OpenCode mengikuti tema sistem, terang, atau gelap", + "settings.general.row.theme.title": "Tema", + "settings.general.row.theme.description": "Sesuaikan tema OpenCode.", + "settings.general.row.font.title": "Font kode", + "settings.general.row.font.description": "Sesuaikan font yang digunakan di blok kode", + "settings.general.row.terminalFont.title": "Font terminal", + "settings.general.row.terminalFont.description": "Sesuaikan font yang digunakan di terminal", + "settings.general.row.uiFont.title": "Font UI", + "settings.general.row.uiFont.description": "Sesuaikan font yang digunakan di seluruh antarmuka", + "settings.general.row.followup.title": "Perilaku lanjutan", + "settings.general.row.followup.description": + "Pilih apakah prompt lanjutan segera mengarahkan atau menunggu dalam antrean", + "settings.general.row.followup.option.queue": "Antrean", + "settings.general.row.followup.option.steer": "Arahkan", + "settings.general.row.showFileTree.title": "Pohon berkas", + "settings.general.row.showFileTree.description": "Tampilkan panel pohon berkas di sesi", + "settings.general.row.showNavigation.title": "Kontrol navigasi", + "settings.general.row.showNavigation.description": "Tampilkan tombol mundur dan maju di bilah judul desktop", + "settings.general.row.showSearch.title": "Palet perintah", + "settings.general.row.showSearch.description": "Tampilkan tombol pencarian dan palet perintah di bilah judul", + "settings.general.row.showTerminal.title": "Terminal", + "settings.general.row.showTerminal.description": "Tampilkan tombol terminal di bilah judul desktop", + "settings.general.row.showStatus.title": "Status server", + "settings.general.row.showStatus.description": "Tampilkan tombol status server di bilah judul", + "settings.general.row.mobileTitlebarBottom.title": "Navigasi bawah", + "settings.general.row.mobileTitlebarBottom.description": + "Tempatkan bilah judul dan tab sesi di bagian bawah layar pada perangkat seluler", + "settings.general.row.showCustomAgents.title": "Tampilkan agen", + "settings.general.row.showCustomAgents.description": + "Beralih antaragen di penyusun. Saat disembunyikan, Agen Build digunakan sebagai bawaan.", + "settings.general.row.reasoningSummaries.title": "Tampilkan ringkasan penalaran", + "settings.general.row.reasoningSummaries.description": "Tampilkan ringkasan penalaran model di linimasa", + "settings.general.row.shellToolPartsExpanded.title": "Bentangkan bagian alat shell", + "settings.general.row.shellToolPartsExpanded.description": + "Tampilkan bagian alat shell yang dibentangkan secara bawaan di linimasa", + "settings.general.row.editToolPartsExpanded.title": "Bentangkan bagian alat edit", + "settings.general.row.editToolPartsExpanded.description": + "Tampilkan bagian alat edit, tulis, dan patch yang dibentangkan secara bawaan di linimasa", + "settings.general.row.newInterface.title": "Tata letak baru", + "settings.general.row.newInterface.badge": "Baru", + "settings.general.row.newInterface.description": + "Gunakan tab dan tata letak beranda baru. Beralihlah antartata letak untuk waktu terbatas.", + "settings.general.row.newInterfaceNotice.title": "Anda sekarang menggunakan tata letak baru", + "settings.general.row.newInterfaceNotice.description": "Tata letak sebelumnya sudah tidak tersedia", + "settings.general.row.newInterfaceNotice.dismiss": "Tutup", + "settings.general.row.pinchZoom.title": "Cubit untuk zum", + "settings.general.row.pinchZoom.description": + "Izinkan gerakan cubit pada trackpad dan Ctrl-gulir untuk melakukan zum", + + "settings.general.row.wayland.title": "Gunakan Wayland asli", + "settings.general.row.wayland.description": "Nonaktifkan sistem cadangan X11 di Wayland. Memerlukan mulai ulang.", + "settings.general.row.wayland.tooltip": + "Di Linux dengan monitor berlaju penyegaran berbeda, Wayland asli bisa lebih stabil.", + + "settings.general.row.releaseNotes.title": "Catatan rilis", + "settings.general.row.releaseNotes.description": "Tampilkan pop-up Apa yang Baru setelah pembaruan", + + "settings.updates.row.startup.title": "Periksa pembaruan saat dimulai", + "settings.updates.row.startup.description": "Secara otomatis memeriksa pembaruan saat OpenCode diluncurkan", + "settings.updates.row.check.title": "Periksa pembaruan", + "settings.updates.row.check.description": "Periksa pembaruan secara manual dan instal jika tersedia", + "settings.updates.action.checkNow": "Periksa sekarang", + "settings.updates.action.checking": "Memeriksa...", + "settings.updates.action.downloading": "Mengunduh...", + "settings.updates.action.installing": "Menginstal...", + "settings.updates.toast.latest.title": "Versi Anda sudah terbaru", + "settings.updates.toast.latest.description": "Anda menjalankan versi terbaru OpenCode.", + "sound.option.none": "Tidak ada", + "sound.option.alert01": "Peringatan 01", + "sound.option.alert02": "Peringatan 02", + "sound.option.alert03": "Peringatan 03", + "sound.option.alert04": "Peringatan 04", + "sound.option.alert05": "Peringatan 05", + "sound.option.alert06": "Peringatan 06", + "sound.option.alert07": "Peringatan 07", + "sound.option.alert08": "Peringatan 08", + "sound.option.alert09": "Peringatan 09", + "sound.option.alert10": "Peringatan 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "Nope 01", + "sound.option.nope02": "Nope 02", + "sound.option.nope03": "Nope 03", + "sound.option.nope04": "Nope 04", + "sound.option.nope05": "Nope 05", + "sound.option.nope06": "Nope 06", + "sound.option.nope07": "Nope 07", + "sound.option.nope08": "Nope 08", + "sound.option.nope09": "Nope 09", + "sound.option.nope10": "Nope 10", + "sound.option.nope11": "Nope 11", + "sound.option.nope12": "Nope 12", + "sound.option.yup01": "Yup 01", + "sound.option.yup02": "Yup 02", + "sound.option.yup03": "Yup 03", + "sound.option.yup04": "Yup 04", + "sound.option.yup05": "Yup 05", + "sound.option.yup06": "Yup 06", + + "settings.general.notifications.agent.title": "Agen", + "settings.general.notifications.agent.description": + "Tampilkan notifikasi sistem saat agen selesai atau memerlukan perhatian", + "settings.general.notifications.permissions.title": "Izin", + "settings.general.notifications.permissions.description": "Tampilkan notifikasi sistem saat izin diperlukan", + "settings.general.notifications.errors.title": "Kesalahan", + "settings.general.notifications.errors.description": "Tampilkan notifikasi sistem saat terjadi kesalahan", + + "settings.general.sounds.agent.title": "Agen", + "settings.general.sounds.agent.description": "Mainkan suara saat agen selesai atau memerlukan perhatian", + "settings.general.sounds.permissions.title": "Izin", + "settings.general.sounds.permissions.description": "Mainkan suara saat izin diperlukan", + "settings.general.sounds.errors.title": "Kesalahan", + "settings.general.sounds.errors.description": "Mainkan suara saat terjadi kesalahan", + + "settings.shortcuts.title": "Pintasan keyboard", + "settings.shortcuts.reset.button": "Atur ulang ke bawaan", + "settings.shortcuts.reset.toast.title": "Pintasan diatur ulang", + "settings.shortcuts.reset.toast.description": "Pintasan keyboard telah diatur ulang ke bawaan.", + "settings.shortcuts.conflict.title": "Pintasan sudah digunakan", + "settings.shortcuts.conflict.description": "{{keybind}} sudah ditetapkan ke {{titles}}.", + "settings.shortcuts.unassigned": "Belum ditetapkan", + "settings.shortcuts.pressKeys": "Tekan tombol", + "settings.shortcuts.search.placeholder": "Cari pintasan", + "settings.shortcuts.search.empty": "Tidak ada pintasan ditemukan", + + "settings.shortcuts.group.general": "Umum", + "settings.shortcuts.group.session": "Sesi", + "settings.shortcuts.group.navigation": "Navigasi", + "settings.shortcuts.group.modelAndAgent": "Model dan agen", + "settings.shortcuts.group.terminal": "Terminal", + "settings.shortcuts.group.prompt": "Prompt", + + "settings.providers.title": "Penyedia", + "settings.providers.description": "Pengaturan penyedia akan dapat dikonfigurasi di sini.", + "settings.providers.section.connected": "Penyedia terhubung", + "settings.providers.connected.empty": "Tidak ada penyedia terhubung", + "settings.providers.connected.environmentDescription": "Terhubung dari variabel lingkungan Anda", + "settings.providers.section.popular": "Penyedia populer", + "settings.providers.custom.description": "Tambahkan penyedia yang kompatibel dengan OpenAI berdasarkan URL dasar.", + "settings.providers.tag.environment": "Lingkungan", + "settings.providers.tag.config": "Konfigurasi", + "settings.providers.tag.custom": "Kustom", + "settings.providers.tag.other": "Lainnya", + "settings.models.title": "Model", + "settings.models.description": "Pengaturan model akan dapat dikonfigurasi di sini.", + "settings.agents.title": "Agen", + "settings.agents.description": "Pengaturan agen akan dapat dikonfigurasi di sini.", + "settings.commands.title": "Perintah", + "settings.commands.description": "Pengaturan perintah akan dapat dikonfigurasi di sini.", + "settings.mcp.title": "MCP", + "settings.mcp.description": "Pengaturan MCP akan dapat dikonfigurasi di sini.", + + "settings.permissions.title": "Izin", + "settings.permissions.description": "Kontrol alat apa yang dapat digunakan server secara bawaan.", + "settings.permissions.section.tools": "Alat", + "settings.permissions.toast.updateFailed.title": "Gagal memperbarui izin", + + "settings.permissions.action.allow": "Izinkan", + "settings.permissions.action.ask": "Tanya", + "settings.permissions.action.deny": "Tolak", + + "settings.permissions.tool.read.title": "Baca", + "settings.permissions.tool.read.description": "Membaca berkas (mencocokkan jalur berkas)", + "settings.permissions.tool.edit.title": "Sunting", + "settings.permissions.tool.edit.description": "Memodifikasi berkas, termasuk suntingan, tulisan, dan patch", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "Cocokkan berkas menggunakan pola glob", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "Cari konten berkas menggunakan ekspresi reguler", + "settings.permissions.tool.list.title": "Daftar", + "settings.permissions.tool.list.description": "Daftarkan berkas dalam direktori", + "settings.permissions.tool.bash.title": "Bash", + "settings.permissions.tool.bash.description": "Jalankan perintah shell", + "settings.permissions.tool.task.title": "Tugas", + "settings.permissions.tool.task.description": "Luncurkan sub-agen", + "settings.permissions.tool.skill.title": "Keahlian", + "settings.permissions.tool.skill.description": "Muat keahlian berdasarkan nama", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "Jalankan kueri server bahasa", + "settings.permissions.tool.todowrite.title": "Tulis Tugas", + "settings.permissions.tool.todowrite.description": "Perbarui daftar tugas", + "settings.permissions.tool.webfetch.title": "Web Fetch", + "settings.permissions.tool.webfetch.description": "Ambil konten dari URL", + "settings.permissions.tool.websearch.title": "Pencarian Web", + "settings.permissions.tool.websearch.description": "Cari di web", + "settings.permissions.tool.external_directory.title": "Direktori Eksternal", + "settings.permissions.tool.external_directory.description": "Akses berkas di luar direktori proyek", + "settings.permissions.tool.doom_loop.title": "Doom Loop", + "settings.permissions.tool.doom_loop.description": "Deteksi panggilan alat berulang dengan masukan yang identik", + + "session.delete.failed.title": "Gagal menghapus sesi", + "session.delete.title": "Hapus sesi", + "session.delete.confirm": 'Hapus sesi "{{name}}"?', + "session.delete.button": "Hapus sesi", + + "workspace.new": "Ruang kerja baru", + "workspace.type.local": "lokal", + "workspace.type.sandbox": "sandbox", + "workspace.create.failed.title": "Gagal membuat ruang kerja", + "workspace.delete.failed.title": "Gagal menghapus ruang kerja", + "workspace.resetting.title": "Mengatur ulang ruang kerja", + "workspace.resetting.description": "Ini mungkin memakan waktu sebentar.", + "workspace.reset.failed.title": "Gagal mengatur ulang ruang kerja", + "workspace.reset.success.title": "Ruang kerja diatur ulang", + "workspace.reset.success.description": "Ruang kerja sekarang cocok dengan cabang bawaan.", + "workspace.error.stillPreparing": "Ruang kerja masih disiapkan", + "workspace.status.checking": "Memeriksa perubahan yang belum digabung...", + "workspace.status.error": "Tidak dapat memverifikasi status Git.", + "workspace.status.clean": "Tidak terdeteksi perubahan yang belum digabung.", + "workspace.status.dirty": "Terdeteksi perubahan yang belum digabung di ruang kerja ini.", + "workspace.delete.title": "Hapus ruang kerja", + "workspace.delete.confirm": 'Hapus ruang kerja "{{name}}"?', + "workspace.delete.button": "Hapus ruang kerja", + "workspace.reset.title": "Atur ulang ruang kerja", + "workspace.reset.confirm": 'Atur ulang ruang kerja "{{name}}"?', + "workspace.reset.button": "Atur ulang ruang kerja", + "workspace.reset.archived.none": "Tidak ada sesi aktif yang akan diarsipkan.", + "workspace.reset.archived.one": "1 sesi akan diarsipkan.", + "workspace.reset.archived.many": "{{count}} sesi akan diarsipkan.", + "workspace.reset.note": "Ini akan mengatur ulang ruang kerja agar cocok dengan cabang bawaan.", +} diff --git a/packages/app/src/i18n/is.ts b/packages/app/src/i18n/is.ts new file mode 100644 index 000000000000..a45ed9a40cb0 --- /dev/null +++ b/packages/app/src/i18n/is.ts @@ -0,0 +1,1157 @@ +import { DESKTOP_NATIVE_KEYS } from "./desktop-native" + +const desktop = [ + "OpenCode", + "Skrá", + "Breyta", + "Skoða", + "Fara", + "Gluggi", + "Hjálp", + "Leita að uppfærslum...", + "Stillingar", + "Endurhlaða Webview", + "Endurræsa", + "Flytja út atvikaskrár...", + "Ný seta", + "Opna verkefni...", + "Nýr gluggi", + "Loka glugga", + "Afturkalla", + "Endurtaka", + "Klippa", + "Afrita", + "Líma", + "Eyða", + "Velja allt", + "Víxla hliðarstiku", + "Víxla skjáhermi", + "Víxla skráartré", + "Endurhlaða", + "Víxla forritaraverkfærum", + "Raunstærð", + "Auka aðdrátt", + "Minnka aðdrátt", + "Víxla öllum skjánum", + "Til baka", + "Áfram", + "Fyrri seta", + "Næsta seta", + "Fyrra verkefni", + "Næsta verkefni", + "Lágmarka", + "Hámarka", + "OpenCode skjölun", + "Aðstoðarspjallborð", + "Deila ábendingu", + "Tilkynna villu", + "OpenCode-valmynd", + "Athugun á uppfærslu mistókst.", + "Villa í uppfærslu", + "Þú ert með nýjustu útgáfuna.", + "Engar uppfærslur", + "Uppfærsla {{version}} sótt. Endurræsa núna?", + "Uppfærsla tilbúin", + "Endurræsa", + "Seinna", + "Endurræsa forrit", + "Flytja út atvikaskrár", + "Bíða áfram", + "Hætta", + "Ekki tókst að hlaða OpenCode", + "OpenCode-glugganum var óvænt lokað", + "OpenCode svarar ekki", + "Þú getur endurræst forritið, opnað atvikaskrárnar eða haldið áfram að bíða.", + "Gluggi: {{window}}\nSlóð: {{url}}\nVilla: {{code}} {{description}}", + "Gluggi: {{window}}\nÁstæða: {{reason}}\nKóði: {{code}}", + "<óþekkt>", + "Veldu möppu", + "Veldu skrá", + "Vista skrá", + "Skrár", + "Staðbundinn þjónn", + "WSL er aðeins í boði á Windows", + "WSL er ekki í boði", + "Ekki tókst að telja upp uppsettar WSL-dreifingar", + "Ekki tókst að telja upp WSL-dreifingar á netinu", + "Ekki er hægt að keyra skipanir í dreifingu", + "Uppsetning WSL mistókst", + "Uppsetning dreifingar mistókst: {{distro}}", + "Uppsetning OpenCode mistókst", + "{{distro}} hefur þegar verið bætt við", + "opencode er ekki uppsett í þessari dreifingu", + "opencode er uppsett en ekki var hægt að keyra það", + "OpenCode er ekki uppsett í {{distro}}", + "Uppfærslu OpenCode lauk en {{distro}} tilkynnir enn {{installed}}; vænt var {{expected}}", + "engin útgáfa", + "WSL-þjónn hætti eftir ræsingu (code={{code}} signal={{signal}})", + "WSL-þjónn hætti áður en hann varð starfhæfur (code={{code}} signal={{signal}}){{output}}", + "Tímamörk heilsuprófunar hliðarferlis fyrir {{distro}} runnu út eftir {{timeout}} ms", + "Tímamörk {{command}} {{args}} runnu út eftir {{timeout}} ms", + "Ekki tókst að sækja gátt", + "Skráin var ekki valin í skráavalinu", + "Valin viðhengi fara yfir {{limit}} MB hámarkið", +] + +export const dict = { + ...Object.fromEntries(DESKTOP_NATIVE_KEYS.map((key, index) => [key, desktop[index]])), + "command.category.suggested": "Tillögur", + "command.category.view": "Skoða", + "command.category.project": "Verkefni", + "command.category.provider": "Þjónustuveita", + "command.category.server": "Netþjónn", + "command.category.session": "Seta", + "command.category.theme": "Þema", + "command.category.language": "Tungumál", + "command.category.file": "Skrá", + "command.category.context": "Samhengi", + "command.category.terminal": "Skjáhermir", + "command.category.model": "Líkan", + "command.category.mcp": "MCP", + "command.category.agent": "Fulltrúi", + "command.category.permissions": "Heimildir", + "command.category.workspace": "Vinnurými", + "command.category.settings": "Stillingar", + "command.logs.export": "Flytja út atvikaskrár", + "theme.scheme.system": "Kerfi", + "theme.scheme.light": "Ljóst", + "theme.scheme.dark": "Dökkt", + "command.sidebar.toggle": "Skiptu um hliðarstiku", + "command.project.open": "Opna verkefni", + "command.project.previous": "Fyrra verkefni", + "command.project.next": "Næsta verkefni", + "command.project.index": "Skiptu yfir í verkefnið {{index}}", + "command.provider.connect": "Tengja þjónustuveitu", + "command.server.switch": "Skipta um netþjón", + "command.settings.open": "Opna stillingar", + "command.session.previous": "Fyrri seta", + "command.session.next": "Næsta seta", + "command.session.previous.unseen": "Fyrri ólesin seta", + "command.session.next.unseen": "Næsta ólesna seta", + "command.session.archive": "Setja setu í geymslu", + "command.palette": "Skipunarspjald", + "command.theme.cycle": "Skipta um þema", + "command.theme.set": "Notaðu þema: {{theme}}", + "command.theme.scheme.cycle": "Skipta um litasamsetningu", + "command.theme.scheme.set": "Notaðu litasamsetningu: {{scheme}}", + "command.language.cycle": "Skipta um tungumál", + "command.language.set": "Notaðu tungumál: {{language}}", + "command.session.new": "Ný seta", + "command.file.open": "Opna skrá", + "command.tab.close": "Loka flipa", + "command.tab.reopenClosed": "Opnaðu aftur lokaðan flipa", + "command.context.addSelection": "Bættu vali við samhengi", + "command.context.addSelection.description": "Bættu við völdum línum úr núverandi skrá", + "command.input.focus": "Færa fókus í innslátt", + "command.terminal.toggle": "Víxla skjáhermi", + "command.fileTree.toggle": "Skiptu um skráartré", + "command.review.toggle": "Skiptu um skoðun", + "command.terminal.new": "Nýr skjáhermir", + "command.terminal.new.description": "Stofna nýjan skjáhermisflipa", + "command.steps.toggle": "Skiptu um skref", + "command.steps.toggle.description": "Sýna eða fela skref fyrir núverandi skilaboð", + "command.message.previous": "Fyrri skilaboð", + "command.message.previous.description": "Farðu í fyrri notandaskilaboð", + "command.message.next": "Næsta skilaboð", + "command.message.next.description": "Farðu í næstu notendaskilaboð", + "command.model.choose": "Veldu líkan", + "command.model.choose.description": "Veldu aðra gerð", + "command.mcp.toggle": "Skiptu um MCPs", + "command.mcp.toggle.description": "Skiptu um MCPs", + "command.agent.cycle": "Skipta um fulltrúa", + "command.agent.cycle.description": "Skiptu yfir í næsta fulltrúa", + "command.agent.cycle.reverse": "Skipta yfir í fyrri fulltrúa", + "command.agent.cycle.reverse.description": "Skiptu yfir í fyrri fulltrúa", + "command.model.variant.cycle": "Hringrásarhugsunarátak", + "command.model.variant.cycle.description": "Skiptu yfir á næsta átaksstig", + "command.prompt.mode.shell": "Skel", + "command.prompt.mode.normal": "Kvaðning", + "command.permissions.autoaccept.enable": "Samþykkja sjálfkrafa heimildir", + "command.permissions.autoaccept.disable": "Hætta að samþykkja heimildir sjálfkrafa", + "command.workspace.toggle": "Skiptu um vinnusvæði", + "command.workspace.toggle.description": "Virkja eða slökkva á mörgum vinnusvæðum í hliðarstikunni", + "command.session.undo": "Afturkalla", + "command.session.undo.description": "Afturkalla síðustu skilaboð", + "command.session.redo": "Endurtaka", + "command.session.redo.description": "Endurtaktu síðustu afturkölluðu skilaboðin", + "command.session.compact": "Þjappa setu", + "command.session.compact.description": "Draga setuna saman til að minnka samhengi", + "command.session.fork": "Kvíslast frá skilaboðum", + "command.session.fork.description": "Stofna nýja setu út frá fyrri skilaboðum", + "command.session.share": "Deila setu", + "command.session.share.description": "Deila þessari setu og afrita slóðina á klippispjaldið", + "command.session.unshare": "Hætta að deila setu", + "command.session.unshare.description": "Hætta að deila þessari setu", + "command.session.export": "Flytja út setu", + "command.session.export.description": "Flytja allt setuafritið út sem JSON", + "palette.search.placeholder": "Leitaðu að skrám, skipunum og fundum", + "palette.search.placeholder.home": "Leitaðu að skipunum og fundum", + "palette.empty": "Engar niðurstöður fundust", + "palette.group.commands": "Skipanir", + "palette.group.files": "Skrár", + "dialog.provider.search.placeholder": "Leita að veitendum", + "dialog.provider.empty": "Engar veitendur fundust", + "dialog.provider.group.popular": "Vinsælt", + "dialog.provider.group.other": "Annað", + "dialog.provider.custom.label": "Sérsniðin OpenAI-samhæfður veitandi", + "dialog.provider.tag.recommended": "Mælt er með", + "dialog.provider.opencode.note": "Sýndar gerðir þar á meðal Claude, GPT, Gemini og fleira", + "dialog.provider.opencode.tagline": "Áreiðanleg bjartsýni módel", + "dialog.provider.opencodeGo.tagline": "Lággjaldaáskrift fyrir alla", + "dialog.provider.anthropic.note": "Beinn aðgangur að Claude gerðum, þar á meðal Pro og Max", + "dialog.provider.copilot.note": "AI módel fyrir kóðaaðstoð í gegnum GitHub Copilot", + "dialog.provider.openai.note": "GPT gerðir fyrir hröð, fær almenn gervigreind verkefni", + "dialog.provider.google.note": "Gemini módel fyrir hröð, skipulögð viðbrögð", + "dialog.provider.openrouter.note": "Fáðu aðgang að öllum studdum gerðum frá einum þjónustuaðila", + "dialog.provider.vercel.note": "Sameinaður aðgangur að gervigreindum gerðum með snjallri leið", + "dialog.model.select.title": "Veldu líkan", + "dialog.model.search.placeholder": "Leitaðu að gerðum", + "dialog.model.empty": "Engar niðurstöður líkana", + "dialog.model.manage": "Stjórna módelum", + "dialog.model.manage.description": "Sérsníddu hvaða gerðir birtast í gerðavalinu.", + "dialog.model.manage.provider.toggle": "Skiptu um allar {{provider}} gerðir", + "dialog.model.unpaid.freeModels.title": "Ókeypis gerðir frá OpenCode", + "dialog.model.unpaid.addMore.title": "Bættu við fleiri gerðum frá vinsælum veitendum", + "dialog.model.unpaid.viewMoreProviders": "Sjáðu 70+ þjónustuveitendur í viðbót", + "dialog.provider.viewAll": "Sýna fleiri veitendur", + "provider.connect.title": "Tengdu {{provider}}", + "provider.connect.title.anthropicProMax": "Skráðu þig inn með Claude Pro/Max", + "provider.connect.selectMethod": "Veldu innskráningaraðferð fyrir {{provider}}.", + "provider.connect.method.apiKey": "API lykill", + "provider.connect.method.browser": "Vafri", + "provider.connect.method.headless": "Höfuðlaus", + "provider.connect.status.inProgress": "Heimild í gangi...", + "provider.connect.status.waiting": "Bíður eftir heimild...", + "provider.connect.status.failed": "Heimild mistókst: {{error}}", + "provider.connect.apiKey.description": + "Sláðu inn API-lykilinn þinn fyrir {{provider}} til að tengja reikninginn og nota líkön frá {{provider}} í OpenCode.", + "provider.connect.apiKey.label": "{{provider}} API lykill", + "provider.connect.apiKey.placeholder": "API lykill", + "provider.connect.apiKey.required": "API lykill er nauðsynlegur", + "provider.connect.opencodeZen.line1": + "OpenCode Zen veitir þér aðgang að safni af áreiðanlegum og fínstilltum gerðum fyrir kóðunarmiðla.", + "provider.connect.opencodeZen.line2": + "Með einum API lykli færðu aðgang að gerðum eins og Claude, GPT, Gemini, GLM og fleira.", + "provider.connect.opencodeZen.visit.prefix": "Heimsókn", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": "til að safna API lykilnum þínum.", + "provider.connect.oauth.code.visit.prefix": "Heimsókn", + "provider.connect.oauth.code.visit.link": "þennan hlekk", + "provider.connect.oauth.code.visit.suffix": + "til að safna heimildarkóðanum þínum til að tengja reikninginn þinn og nota {{provider}} gerðir í OpenCode.", + "provider.connect.oauth.code.label": "{{method}} heimildarkóði", + "provider.connect.oauth.code.placeholder": "Heimildarkóði", + "provider.connect.oauth.code.required": "Heimildarkóði er nauðsynlegur", + "provider.connect.oauth.code.invalid": "Ógildur heimildarkóði", + "provider.connect.oauth.auto.visit.prefix": "Heimsókn", + "provider.connect.oauth.auto.visit.link": "þennan hlekk", + "provider.connect.oauth.auto.visit.suffix": + "og sláðu inn kóðann hér að neðan til að tengja reikninginn þinn og nota {{provider}} gerðir í OpenCode.", + "provider.connect.oauth.auto.confirmationCode": "Staðfestingarkóði", + "provider.connect.toast.connected.title": "{{provider}} tengdur", + "provider.connect.toast.connected.description": "{{provider}} gerðir eru nú fáanlegar til notkunar.", + "provider.custom.title": "Sérsniðin veitandi", + "provider.custom.unavailable": "Sérsniðnar veitendur eru ekki tiltækar á þessum netþjóni", + "provider.custom.description.prefix": "Stilltu OpenAI-samhæfan þjónustuaðila. Sjáðu", + "provider.custom.description.link": "stillingarskjöl fyrir veitanda", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "Auðkenni veitanda", + "provider.custom.field.providerID.placeholder": "myprovider", + "provider.custom.field.providerID.description": "Lágstafir, tölustafir, bandstrik eða undirstrik", + "provider.custom.field.name.label": "Birta nafn", + "provider.custom.field.name.placeholder": "AI veitandinn minn", + "provider.custom.field.baseURL.label": "Grunnur URL", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "API lykill", + "provider.custom.field.apiKey.placeholder": "API lykill", + "provider.custom.field.apiKey.description": + "Valfrjálst. Skildu eftir autt ef þú stjórnar auðkenningu í gegnum hausa.", + "provider.custom.models.label": "Fyrirmyndir", + "provider.custom.models.id.label": "auðkenni", + "provider.custom.models.id.placeholder": "módel-id", + "provider.custom.models.name.label": "Nafn", + "provider.custom.models.name.placeholder": "Birtingarnafn", + "provider.custom.models.remove": "Fjarlægðu líkanið", + "provider.custom.models.add": "Bæta við líkani", + "provider.custom.headers.label": "Hausar (valfrjálst)", + "provider.custom.headers.key.label": "Haus", + "provider.custom.headers.key.placeholder": "Haus-nafn", + "provider.custom.headers.value.label": "Gildi", + "provider.custom.headers.value.placeholder": "gildi", + "provider.custom.headers.remove": "Fjarlægðu haus", + "provider.custom.headers.add": "Bæta við haus", + "provider.custom.error.providerID.required": "Auðkenni þjónustuveitanda er krafist", + "provider.custom.error.providerID.format": "Notaðu lágstafi, tölustafi, bandstrik eða undirstrik", + "provider.custom.error.providerID.exists": "Þetta auðkenni þjónustuveitunnar er þegar til", + "provider.custom.error.name.required": "Birtingarnafn er áskilið", + "provider.custom.error.baseURL.required": "Base URL er krafist", + "provider.custom.error.baseURL.format": "Verður að byrja á http:// eða https://", + "provider.custom.error.required": "Áskilið", + "provider.custom.error.duplicate": "Afrit", + "provider.disconnect.toast.disconnected.title": "{{provider}} aftengdur", + "provider.disconnect.toast.disconnected.description": "{{provider}} gerðir eru ekki lengur fáanlegar.", + "model.tag.free": "Ókeypis", + "model.tag.latest": "Nýjasta", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "texta", + "model.input.image": "mynd", + "model.input.audio": "hljóð", + "model.input.video": "myndband", + "model.input.pdf": "pdf", + "model.tooltip.allows": "Leyfir: {{inputs}}", + "model.tooltip.context.label": "Samhengi", + "model.tooltip.inputs": "Inntak", + "model.tooltip.model": "Líkan", + "model.tooltip.provider": "Þjónustuveita", + "model.tooltip.reasoning": "Rökstuðningur", + "model.tooltip.reasoning.allowed": "Leyfir rökstuðning", + "model.tooltip.reasoning.none": "Enginn rökstuðningur", + "model.tooltip.context": "Samhengismörk {{limit}}", + "common.search.placeholder": "Leita", + "common.goBack": "Sigla til baka", + "common.goForward": "Sigla áfram", + "common.loading": "Hleðsla", + "common.loading.ellipsis": "...", + "common.cancel": "Hætta við", + "common.clear": "Hreinsa", + "common.open": "Opið", + "common.connect": "Tengdu", + "common.disconnect": "Aftengjast", + "common.continue": "Halda áfram", + "common.submit": "Sendu inn", + "common.save": "Vista", + "common.saving": "Vistar...", + "common.default": "Sjálfgefið", + "common.attachment": "viðhengi", + "prompt.placeholder.shell": "Sláðu inn skeljarskipun... {{example}}", + "prompt.placeholder.normal": 'Spyrðu hvað sem er... "{{example}}"', + "prompt.placeholder.simple": "Spurðu hvað sem er...", + "prompt.placeholder.summarizeComments": "Taktu saman athugasemdir…", + "prompt.placeholder.summarizeComment": "Tekið saman athugasemd...", + "prompt.mode.shell": "Skel", + "prompt.mode.normal": "Kvaðning", + "prompt.mode.shell.exit": "esc að hætta", + "session.child.promptDisabled": "Ekki er hægt að biðja um undirboðslotur.", + "session.child.backToParent": "Aftur í aðalfund.", + "prompt.example.1": "Lagaðu TODO í kóðagrunninum", + "prompt.example.2": "Hver er tæknistafla þessa verkefnis?", + "prompt.example.3": "Lagaðu biluð próf", + "prompt.example.4": "Útskýrðu hvernig auðkenning virkar", + "prompt.example.5": "Finndu og lagfærðu öryggisgalla", + "prompt.example.6": "Bættu við einingaprófum fyrir notendaþjónustuna", + "prompt.example.7": "Endurstilltu þessa aðgerð til að vera læsilegri", + "prompt.example.8": "Hvað þýðir þessi villa?", + "prompt.example.9": "Hjálpaðu mér að kemba þetta mál", + "prompt.example.10": "Búðu til API skjöl", + "prompt.example.11": "Fínstilltu gagnagrunnsfyrirspurnir", + "prompt.example.12": "Bættu við inntaksstaðfestingu", + "prompt.example.13": "Búðu til nýjan íhlut fyrir...", + "prompt.example.14": "Hvernig set ég þetta verkefni í notkun?", + "prompt.example.15": "Skoðaðu kóðann minn fyrir bestu starfsvenjur", + "prompt.example.16": "Bættu villumeðferð við þessa aðgerð", + "prompt.example.17": "Útskýrðu þetta regex mynstur", + "prompt.example.18": "Umbreyttu þessu í TypeScript", + "prompt.example.19": "Bættu við skráningu í gegnum kóðagrunninn", + "prompt.example.20": "Hvaða ósjálfstæði eru úrelt?", + "prompt.example.21": "Hjálpaðu mér að skrifa flutningshandrit", + "prompt.example.22": "Innleiða skyndiminni fyrir þennan endapunkt", + "prompt.example.23": "Bættu blaðsíðu við þennan lista", + "prompt.example.24": "Búðu til CLI skipun fyrir...", + "prompt.example.25": "Hvernig virka umhverfisbreytur hér?", + "prompt.popover.emptyResults": "Engar samsvarandi niðurstöður", + "prompt.popover.emptyCommands": "Engar samsvarandi skipanir", + "prompt.dropzone.label": "Slepptu myndum, PDF-skjölum eða textaskrám hér", + "prompt.dropzone.file.label": "Slepptu í @nefna skrá", + "prompt.slash.badge.custom": "sérsniðin", + "prompt.slash.badge.skill": "færni", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "virkur", + "prompt.context.includeActiveFile": "Láttu virka skrá fylgja með", + "prompt.context.removeActiveFile": "Fjarlægðu virka skrá úr samhengi", + "prompt.context.removeFile": "Fjarlægðu skrá úr samhengi", + "prompt.action.attachFile": "Bæta við skrám", + "prompt.menu.addImagesAndFiles": "Bættu við skrám og fleira", + "prompt.menu.imagesAndFiles": "Myndir og skrár", + "prompt.menu.commands": "Skipanir", + "prompt.menu.context": "Samhengi", + "prompt.menu.shellCommand": "Skeljarskipun", + "prompt.attachment.remove": "Fjarlægðu viðhengi", + "prompt.action.send": "Senda", + "prompt.action.stop": "Stöðva", + "prompt.toast.pasteUnsupported.title": "Óstudd viðhengi", + "prompt.toast.pasteUnsupported.description": "Aðeins er hægt að hengja myndir, PDF-skjöl eða textaskrár hér við.", + "prompt.toast.attachmentDuplicate.title": "Þessari skrá hefur þegar verið hlaðið upp", + "prompt.toast.modelAgentRequired.title": "Veldu fulltrúa og líkan", + "prompt.toast.modelAgentRequired.description": "Veldu fulltrúa og líkan áður en þú sendir kvaðningu.", + "prompt.toast.worktreeCreateFailed.title": "Mistókst að búa til vinnutré", + "prompt.toast.sessionCreateFailed.title": "Ekki tókst að búa til lotu", + "prompt.toast.shellSendFailed.title": "Mistókst að senda skel skipun", + "prompt.toast.commandSendFailed.title": "Mistókst að senda skipun", + "prompt.toast.promptSendFailed.title": "Mistókst að senda tilkynningu", + "prompt.toast.promptSendFailed.description": "Ekki tókst að sækja lotu", + "dialog.mcp.title": "MCPs", + "dialog.mcp.description": "{{enabled}} af {{total}} virkt", + "dialog.mcp.empty": "Engar MCPs stilltar", + "dialog.lsp.empty": "LSPs greind sjálfkrafa úr skráargerðum", + "dialog.plugins.empty": "Viðbætur stilltar í opencode.json", + "mcp.status.connected": "tengdur", + "mcp.status.failed": "mistókst", + "mcp.status.needs_auth": "þarf heimild", + "mcp.status.disabled": "fatlaður", + "mcp.auth.clickToAuthenticate": "Smelltu til að auðkenna", + "dialog.fork.empty": "Engin skilaboð til að punga frá", + "dialog.directory.search.placeholder": "Leita í möppum", + "dialog.directory.empty": "Engar möppur fundust", + "dialog.directory.action.selectFile": "Veldu skrá", + "dialog.directory.action.selectFolder": "Veldu möppu", + "dialog.directory.root": "Rót", + "dialog.directory.parent": "Foreldri", + "dialog.directory.readError": "Get ekki lesið þessa möppu", + "app.server.unreachable": "Ekki tókst að ná í {{server}}", + "app.server.retrying": "Reynir sjálfkrafa aftur...", + "app.server.otherServers": "Aðrir netþjónar", + "dialog.server.title": "Netþjónar", + "dialog.server.description": "Skiptu um hvaða OpenCode miðlara þetta app tengist.", + "dialog.server.search.placeholder": "Leitaðu að netþjónum", + "dialog.server.empty": "Engir netþjónar ennþá", + "dialog.server.add.title": "Bæta við netþjóni", + "dialog.server.add.url": "Heimilisfang netþjóns", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "Gat ekki tengst þjóninum", + "dialog.server.add.checking": "Athugar...", + "dialog.server.add.button": "Bæta við netþjóni", + "dialog.server.add.name": "Nafn netþjóns (valfrjálst)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "Notandanafn (valfrjálst)", + "dialog.server.add.usernamePlaceholder": "notendanafn", + "dialog.server.add.password": "Lykilorð (valfrjálst)", + "dialog.server.add.passwordPlaceholder": "lykilorð", + "dialog.server.edit.title": "Breyta miðlara", + "dialog.server.default.title": "Sjálfgefinn þjónn", + "dialog.server.default.description": + "Tengstu við þennan netþjón við ræsingu forrits í stað þess að ræsa staðbundinn netþjón. Krefst endurræsingar.", + "dialog.server.default.none": "Enginn þjónn valinn", + "dialog.server.default.set": "Stilltu núverandi netþjón sem sjálfgefið", + "dialog.server.default.clear": "Hreinsa", + "dialog.server.action.remove": "Fjarlægðu netþjón", + "dialog.server.menu.edit": "Breyta", + "dialog.server.menu.default": "Stillt sem sjálfgefið", + "dialog.server.menu.defaultRemove": "Fjarlægja sjálfgefið", + "dialog.server.menu.delete": "Eyða", + "dialog.server.current": "Núverandi þjónn", + "dialog.server.status.default": "Sjálfgefið", + "wsl.server.add": "Bættu við WSL netþjóni", + "wsl.server.addShort": "Bættu við WSL", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "WSL netþjónn", + "wsl.server.retryStart": "Reyndu að byrja aftur", + "wsl.server.updating": "Uppfærir...", + "wsl.onboarding.step.distro": "Veldu distro", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "Athugar WSL...", + "wsl.onboarding.restartRequired": "Windows þarf endurræsingu til að klára uppsetningu WSL.", + "wsl.onboarding.ready": "WSL er tilbúinn.", + "wsl.onboarding.required": "WSL þarf til að halda áfram.", + "wsl.onboarding.checkingDistros": "Athugar dreifingar...", + "wsl.onboarding.installingDistro": "Setur upp {{distro}}...", + "wsl.onboarding.checkingDistro": "Athugar {{distro}}...", + "wsl.onboarding.listingDistros": "Birtir dreifingar...", + "wsl.onboarding.distroReady": "{{distro}} er tilbúinn.", + "wsl.onboarding.distroNotInstalled": "{{distro}} er ekki uppsett ennþá.", + "wsl.onboarding.openDistroOnce": "Opnaðu {{distro}} einu sinni til að ljúka uppsetningu.", + "wsl.onboarding.finishingDistro": "Að klára uppsetningu fyrir {{distro}}.", + "wsl.onboarding.pickDistro": "Veldu dreifingu eða settu upp fyrir neðan.", + "wsl.onboarding.checkingOpencode": "Athugar OpenCode...", + "wsl.onboarding.checkingOpencodeIn": "Athugar OpenCode í {{distro}}...", + "wsl.onboarding.updatingOpencode": "Uppfærir OpenCode...", + "wsl.onboarding.updatingOpencodeIn": "Uppfærir OpenCode í {{distro}}...", + "wsl.onboarding.updateOpencodeIn": "Uppfærðu OpenCode í {{distro}}.", + "wsl.onboarding.updateOpencode": "Uppfærðu OpenCode", + "wsl.onboarding.opencodeReadyIn": "OpenCode er tilbúið í {{distro}}.", + "wsl.onboarding.opencodeReady": "OpenCode er tilbúinn.", + "wsl.onboarding.installOpencodeIn": "Settu upp OpenCode í {{distro}}.", + "wsl.onboarding.installOpencode": "Settu upp OpenCode", + "wsl.onboarding.chooseDistroFirst": "Veldu dreifingu fyrst.", + "wsl.onboarding.loadFailed": "Mistókst að hlaða WSL stöðu.", + "wsl.onboarding.loading": "Hleður...", + "wsl.onboarding.installedDistros": "Uppsett dreifing", + "wsl.onboarding.checkAgain": "Athugaðu aftur", + "wsl.onboarding.distroStatus.ready": "Tilbúið", + "wsl.onboarding.distroStatus.checking": "Athugar...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode ekki uppsett", + "wsl.onboarding.distroStatus.missingTools": "Vantar bash, krullu", + "wsl.onboarding.distroStatus.unsupported": "Óstudd · Notaðu WSL 2", + "wsl.onboarding.needAnotherDistro": "Þarftu aðra dreifingu?", + "wsl.onboarding.needAnotherDistroHint": "Settu upp Linux dreifingu úr WSL vörulistanum", + "wsl.onboarding.wslNotInstalled.title": "WSL ekki uppsett", + "wsl.onboarding.wslNotInstalled.description": + "WSL (Windows undirkerfi fyrir Linux) þarf áður en OpenCode getur bætt við WSL netþjóni", + "wsl.onboarding.wslUnavailable.title": "WSL ekki í boði", + "wsl.onboarding.wslUnavailable.description": "OpenCode gat ekki staðfest WSL á þessari vél.", + "wsl.onboarding.installWsl": "Settu upp WSL", + "wsl.onboarding.windowsRestartRequired": + "Endurræstu Windows til að klára að setja upp WSL, opnaðu síðan OpenCode aftur.", + "wsl.onboarding.next": "Næst", + "wsl.onboarding.refresh": "Endurnýja", + "wsl.onboarding.allDistrosAdded": "Öllum uppsettum dreifingum er þegar bætt við.", + "wsl.onboarding.noDistros": "Engin dreifing hefur fundist ennþá.", + "wsl.onboarding.install": "Settu upp", + "wsl.onboarding.installing": "Setur upp...", + "wsl.onboarding.installDistro": "Settu upp distro", + "wsl.onboarding.searchDistros": "Leitaðu að dreifingum", + "wsl.onboarding.wsl2Required": "WSL 2 er krafist.", + "wsl.onboarding.toolsRequired": "Þetta distro þarf bash og krullu.", + "wsl.onboarding.openTerminal": "Opið flugstöð", + "wsl.onboarding.path": "Slóð: {{path}}", + "wsl.onboarding.notFound": "ekki fundið", + "wsl.onboarding.version": "Útgáfa: {{version}}", + "wsl.onboarding.unknown": "óþekkt", + "wsl.onboarding.desktopVersion": "skrifborð {{version}}", + "wsl.onboarding.versionMismatch": "Uppsett útgáfa passar ekki við útgáfu skrifborðsforritsins.", + "wsl.onboarding.adding": "Bætir við...", + "help.tabs.toast.ariaLabel": "Við kynnum Tab. Skipuleggðu vinnu þína og virkar lotur með flipa", + "help.tabs.toast.dismiss": "Hunsa upplýsingar Tab", + "help.tabs.title": "Við kynnum Tab", + "help.tabs.description": "Skipuleggðu vinnu þína og virkar lotur með flipa", + "help.tabs.date": "14. júlí", + "help.tabs.introduction": "OpenCode Desktop er nú byggt í kringum flipa.", + "help.tabs.sessions": + "Byrjaðu nýja lotu í flipa eða opnaðu fyrirliggjandi lotu úr einhverju verkefnanna þinna. Opnaðu nýjan flipa þegar þú ert að byrja á einhverju nýju og lokaðu honum þegar þú ert búinn.", + "help.tabs.organize": + "Með því að hafa nokkra flipa opna er auðveldara að skipuleggja virku seturnar þínar. Endurnefndu flipa á eftirminnilegan hátt ef þú ætlar að geyma þá.", + "help.tabs.home": "Þú finnur allar lotur og verkefni á nýja Home skjánum. Með því að velja lotu opnast það í flipa.", + "help.tabs.persistence": "Þegar þú opnar forritið aftur eru fliparnir þínir enn opnir.", + "help.tabs.worktrees": + "Nýja hönnunin styður ekki Git Worktrees ennþá, hún kemur fljótlega. Þannig að ef þú vilt halda áfram að nota fyrra útlitið geturðu skipt á milli útlita í stillingum. Hafðu bara í huga að nýja skipulagið verður varanlegt eftir nokkrar vikur.", + "server.row.noUsername": "ekkert notendanafn", + "dialog.project.edit.title": "Breyta verkefni", + "dialog.project.edit.name": "Nafn", + "dialog.project.edit.icon": "Táknmynd", + "dialog.project.edit.icon.alt": "Verkefnistákn", + "dialog.project.edit.icon.hint": "Smelltu eða dragðu mynd", + "dialog.project.edit.icon.recommended": "Mælt með: 128x128px", + "dialog.project.edit.color": "Litur", + "dialog.project.edit.color.select": "Veldu {{color}} lit", + "dialog.project.edit.worktree.startup": "Ræsingarhandrit vinnusvæðis", + "dialog.project.edit.worktree.startup.description": "Keyrir eftir að nýtt vinnusvæði (worktree) er búið til.", + "dialog.project.edit.worktree.startup.placeholder": "t.d. bun setja upp", + "dialog.releaseNotes.action.getStarted": "Byrjaðu", + "dialog.releaseNotes.action.next": "Næst", + "dialog.releaseNotes.action.hideFuture": "Ekki sýna þetta í framtíðinni", + "dialog.releaseNotes.media.alt": "Gefa út forskoðun", + "context.breakdown.title": "Sundurliðun samhengis", + "context.breakdown.note": + "Áætlað sundurliðun á inntakstáknum. „Annað“ felur í sér skilgreiningar á verkfærum og kostnaður.", + "context.breakdown.system": "Kerfi", + "context.breakdown.user": "Notandi", + "context.breakdown.assistant": "Aðstoðarmaður", + "context.breakdown.tool": "Verkfærasímtöl", + "context.breakdown.other": "Annað", + "context.systemPrompt.title": "Kerfisboð", + "context.rawMessages.title": "Hrá skilaboð", + "context.export.session": "Flytja út setu", + "context.stats.session": "Lota", + "context.stats.messages": "Skilaboð", + "context.stats.provider": "Þjónustuveita", + "context.stats.model": "Líkan", + "context.stats.limit": "Samhengismörk", + "context.stats.totalTokens": "Samtals tákn", + "context.stats.usage": "Notkun", + "context.stats.inputTokens": "Inntaksmerki", + "context.stats.outputTokens": "Úttakstókar", + "context.stats.reasoningTokens": "Röksemdamerki", + "context.stats.cacheTokens": "Skyndiminni tákn (lesa/skrifa)", + "context.stats.userMessages": "Notendaskilaboð", + "context.stats.assistantMessages": "Skilaboð aðstoðarmanns", + "context.stats.totalCost": "Heildarkostnaður", + "context.stats.sessionCreated": "Fundur búin til", + "context.stats.lastActivity": "Síðasta virkni", + "context.usage.tokens": "Tákn", + "context.usage.usage": "Notkun", + "context.usage.cost": "Kostnaður", + "context.usage.clickToView": "Smelltu til að skoða samhengi", + "context.usage.view": "Skoða samhengisnotkun", + "language.en": "ensku", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Deutsch", + "language.es": "Español", + "language.fr": "Français", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "Polski", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Norsk", + "language.br": "Português (Brasilía)", + "language.bs": "Bosanski", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Türkçe", + "toast.language.title": "Tungumál", + "toast.language.description": "Skipt yfir í {{language}}", + "toast.theme.title": "Þema skipt", + "toast.scheme.title": "Litasamsetning", + "toast.workspace.enabled.title": "Vinnusvæði virkt", + "toast.workspace.enabled.description": "Mörg vinnutré eru nú sýnd í hliðarstikunni", + "toast.workspace.disabled.title": "Vinnusvæði óvirk", + "toast.workspace.disabled.description": "Aðeins aðalvinnutréð er sýnt í hliðarstikunni", + "toast.permissions.autoaccept.on.title": "Sjálfvirkt samþykki heimilda", + "toast.permissions.autoaccept.on.description": "Leyfibeiðnir verða sjálfkrafa samþykktar", + "toast.permissions.autoaccept.off.title": "Hætti að samþykkja heimildir sjálfkrafa", + "toast.permissions.autoaccept.off.description": "Leyfisbeiðnir þurfa samþykki", + "toast.model.none.title": "Engin gerð valin", + "toast.model.none.description": "Tengdu þjónustuaðila til að draga saman þessa lotu", + "toast.file.loadFailed.title": "Mistókst að hlaða skrá", + "toast.file.listFailed.title": "Mistókst að skrá skrár", + "toast.context.noLineSelection.title": "Ekkert línuval", + "toast.context.noLineSelection.description": "Veldu línusvið í skráarflipa fyrst.", + "toast.session.share.copyFailed.title": "Mistókst að afrita URL á klemmuspjald", + "toast.session.share.success.title": "Fundi deilt", + "toast.session.share.success.description": "Deildu URL afritað á klemmuspjald!", + "toast.session.share.failed.title": "Ekki tókst að deila setu", + "toast.session.share.failed.description": "Villa kom upp þegar lotunni var deilt", + "toast.session.unshare.success.title": "Ekki deilt lotu", + "toast.session.unshare.success.description": "Lokað var við deilingu lotunnar!", + "toast.session.unshare.failed.title": "Mistókst að hætta við deilingu lotu", + "toast.session.unshare.failed.description": "Villa kom upp við að hætta að deila lotunni", + "toast.session.export.success.title": "Session flutt út", + "toast.session.export.success.description": "Vistað lota í {{filename}}", + "toast.session.export.failed.title": "Mistókst að flytja út lotu", + "toast.session.export.failed.description": "Villa kom upp við útflutning á lotunni", + "toast.session.listFailed.title": "Mistókst að hlaða lotum fyrir {{project}}", + "toast.project.reloadFailed.title": "Mistókst að endurhlaða {{project}}", + "toast.update.title": "Uppfærsla í boði", + "toast.update.description": "Ný útgáfa af OpenCode ({{version}}) er nú fáanleg til uppsetningar.", + "toast.update.action.installRestart": "Settu upp og endurræstu", + "toast.update.action.notYet": "Ekki enn", + "error.page.title": "Eitthvað fór úrskeiðis", + "error.page.description": "Villa kom upp við að hlaða forritinu.", + "error.page.description.localServerStartup": "Villa kom upp þegar staðbundinn þjónn var ræstur.", + "error.page.details.label": "Villuupplýsingar", + "error.page.action.restart": "Endurræstu", + "error.page.action.report": "Tilkynna villu", + "error.page.action.reported": "Villa tilkynnt", + "error.page.action.exportLogs": "Flytja út atvikaskrár", + "error.page.action.checking": "Athugar...", + "error.page.action.checkUpdates": "Leitaðu að uppfærslum", + "error.page.action.updateTo": "Uppfærsla í {{version}}", + "error.page.circular": "[Hringbréf]", + "error.page.report.prefix": "Vinsamlegast tilkynnið þessa villu til OpenCode teymisins", + "error.page.report.discord": "á Discord", + "error.page.version": "Útgáfa: {{version}}", + "error.dev.rootNotFound": + "Rótarþáttur fannst ekki. Gleymdirðu að bæta því við index.html þinn? Eða er id eigindin kannski rangt stafsett?", + "error.serverSync.connectFailed": "Gat ekki tengst þjóninum. Er netþjónn í gangi hjá `{{url}}`?", + "error.serverSDK.noServerAvailable": "Enginn netþjónn tiltækur", + "error.serverSDK.serverNotAvailable": "Miðlari ekki tiltækur", + "error.childStore.persistedCacheCreateFailed": "Mistókst að búa til viðvarandi skyndiminni", + "error.childStore.persistedProjectMetadataCreateFailed": "Mistókst að búa til viðvarandi lýsigögn verkefnis", + "error.childStore.persistedProjectIconCreateFailed": "Mistókst að búa til viðvarandi verkefnistákn", + "error.childStore.storeCreateFailed": "Mistókst að búa til verslun", + "directory.error.invalidUrl": "Ógild skrá í URL.", + "error.chain.unknown": "Óþekkt villa", + "error.server.invalidConfiguration": "Ógild stilling", + "error.chain.causedBy": "Orsakast af:", + "error.chain.apiError": "API villa", + "error.chain.status": "Staða: {{status}}", + "error.chain.retryable": "Hægt að reyna aftur: {{retryable}}", + "error.chain.responseBody": "Svarhluti:\n{{body}}", + "error.chain.didYouMean": "Áttirðu við: {{suggestions}}", + "error.chain.modelNotFound": "Gerð fannst ekki: {{provider}}/{{model}}", + "error.chain.checkConfig": "Athugaðu stillingar (opencode.json) þjónustuveitu/módelheiti", + "error.chain.mcpFailed": "MCP þjónn „{{name}}“ mistókst. Athugið, OpenCode styður ekki MCP auðkenningu ennþá.", + "error.chain.providerAuthFailed": "Auðkenning veitu mistókst ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + "Mistókst að frumstilla þjónustuveituna „{{provider}}“. Athugaðu skilríki og stillingar.", + "error.chain.configJsonInvalid": "Stillingarskrá á {{path}} er ekki gild JSON(C)", + "error.chain.configJsonInvalidWithMessage": "Stillingarskrá á {{path}} er ekki gild JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + 'Skráin „{{dir}}“ í {{path}} er ekki gild. Endurnefna möppuna í "{{suggestion}}" eða fjarlægðu hana. Þetta er algeng innsláttarvilla.', + "error.chain.configFrontmatterError": "Mistókst að flokka frammál í {{path}}:\n{{message}}", + "error.chain.configInvalid": "Stillingarskrá á {{path}} er ógild", + "error.chain.configInvalidWithMessage": "Stillingarskrá á {{path}} er ógild: {{message}}", + "notification.permission.title": "Leyfi krafist", + "notification.permission.description": "{{sessionTitle}} í {{projectName}} þarf leyfi", + "notification.question.title": "Spurning", + "notification.question.description": "{{sessionTitle}} í {{projectName}} hefur spurningu", + "notification.action.goToSession": "Farðu á fund", + "notification.session.responseReady.title": "Svar tilbúið", + "notification.session.error.title": "Lotuvilla", + "notification.session.error.fallbackDescription": "Villa kom upp", + "home.recentProjects": "Nýleg verkefni", + "home.empty.title": "Engin nýleg verkefni", + "home.empty.description": "Byrjaðu með því að opna staðbundið verkefni", + "home.title": "Heim", + "home.projects": "Verkefni", + "home.project.add": "Bæta við verkefni", + "home.recentlyClosed": "Nýlega lokað", + "home.server.collapse": "Dragðu saman netþjónaverkefni", + "home.server.expand": "Stækkaðu netþjónaverkefni", + "home.sessions.search.placeholder": "Leitarlotur", + "home.sessions.search.placeholder.scoped": "Leitarlotur í {{scope}}", + "home.sessions.search.sessions": "Fundir", + "home.sessions.search.noResults": "Engar lotur fundust fyrir {{query}}", + "home.sessions.empty": "Ekkert hérna ennþá", + "home.sessions.empty.description": "Búðu til lotu til að byrja", + "home.sessions.group.today": "Í dag", + "home.sessions.group.yesterday": "Í gær", + "home.sessions.group.older": "Eldri", + "home.providerTip": "Tengstu við 75+ veitendur til að nota aðrar gerðir, þar á meðal Claude, GPT, Gemini, osfrv", + "session.tab.session": "Lota", + "session.tab.review": "Upprifjun", + "session.tab.context": "Samhengi", + "session.tab.unknown": "Óþekkt lota", + "session.panel.reviewAndFiles": "Yfirferð og skrár", + "session.error.notFound": "Þessi lota finnst ekki", + "session.error.notFound.description": "Þessi flipi bendir á lotu sem er ekki lengur til á þessum netþjóni.", + "session.error.notFound.closeTab": "Lokaðu Tab", + "session.error.serverConnection": "Get ekki tengst þessum þjóni", + "session.review.filesChanged": "Skráum breytt {{count}}", + "session.review.change.one": "Breyta", + "session.review.change.other": "Breytingar", + "session.review.loadingChanges": "Hleður breytingum...", + "session.review.empty": "Engar breytingar á þessu þingi ennþá", + "session.review.noVcs": "Ekkert Git útgáfustýringarkerfi fannst, breytingar ekki birtar", + "session.review.noVcs.createGit.title": "Búðu til Git geymslu", + "session.review.noVcs.createGit.description": "Fylgstu með, skoðaðu og afturkallaðu breytingar á þessu verkefni", + "session.review.noVcs.createGit.actionLoading": "Býr til Git geymslu...", + "session.review.noVcs.createGit.action": "Búðu til Git geymslu", + "session.review.noSnapshot": + "Slökkt er á skyndimyndarakningu í stillingum, þannig að lotubreytingar eru ekki tiltækar", + "session.review.noChanges": "Engar breytingar", + "session.review.noUncommittedChanges": "Engar óbundnar breytingar ennþá", + "session.review.noBranchChanges": "Engar greinarbreytingar ennþá", + "session.files.selectToOpen": "Veldu skrá til að opna", + "session.files.all": "Allar skrár", + "session.files.empty": "Engar skrár", + "session.files.binaryContent": "Tvöfaldur skrá (ekki hægt að birta efni)", + "session.messages.renderEarlier": "Sendu fyrri skilaboð", + "session.messages.loadingEarlier": "Hleður fyrri skilaboðum...", + "session.messages.loadEarlier": "Hlaða fyrri skilaboðum", + "session.messages.loading": "Hleður skilaboð...", + "session.messages.jumpToLatest": "Farðu í nýjasta", + "session.context.addToContext": "Bættu {{selection}} við samhengi", + "session.todo.title": "Verkefnalisti", + "session.todo.collapse": "Hrun", + "session.todo.expand": "Stækkaðu", + "session.todo.progress": "{{done}} af {{total}} verkefnum lokið", + "session.question.progress": "{{current}} af {{total}} spurningum", + "session.question.minimize": "Lágmarka spurninguna", + "session.question.restore": "Endurheimta spurningu", + "session.question.pending.one": "{{count}} spurning í bið", + "session.question.pending.other": "{{count}} spurningar í bið", + "session.followupDock.summary.one": "{{count}} skilaboð í biðröð", + "session.followupDock.summary.other": "{{count}} skilaboð í biðröð", + "session.followupDock.sendNow": "Sendu núna", + "session.followupDock.edit": "Breyta", + "session.followupDock.collapse": "Draga saman skilaboð í biðröð", + "session.followupDock.expand": "Stækkaðu skilaboð í biðröð", + "session.revertDock.summary.one": "{{count}} afturkallað skilaboð", + "session.revertDock.summary.other": "{{count}} afturkallað skilaboð", + "session.revertDock.collapse": "Dragðu saman skilaboð sem eru afturkölluð", + "session.revertDock.expand": "Stækka afturkölluð skilaboð", + "session.revertDock.restore": "Endurheimta skilaboð", + "session.new.title": "Byggja hvað sem er", + "session.new.project.new": "Nýtt verkefni", + "session.new.project.search": "Leita að verkefnum", + "session.new.project.add": "Bæta við verkefni", + "session.new.worktree.main": "Aðalútibú", + "session.new.worktree.mainWithBranch": "Aðalútibú ({{branch}})", + "session.new.worktree.create": "Búðu til nýtt vinnutré", + "session.new.workspace.runIn": "Keyra setu í", + "session.new.workspace.triggerLocal": "Staðbundið", + "session.new.workspace.local": "Staðbundin geymsla", + "session.new.workspace.existing": "Vinnurými…", + "session.new.git.none": "Engin Git", + "session.new.lastModified": "Síðast breytt", + "session.header.search.placeholder": "Leitaðu að {{project}}", + "session.header.searchFiles": "Leitaðu að skrám", + "session.header.openIn": "Opið inn", + "session.header.open.action": "Opnaðu {{app}}", + "session.header.open.ariaLabel": "Opið í {{app}}", + "session.header.open.menu": "Opna valkosti", + "session.header.open.copyPath": "Afrita slóð", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "File Explorer", + "session.header.open.fileManager": "Skráastjóri", + "session.header.reveal.finder": "Sýna í Finder", + "session.header.reveal.fileExplorer": "Sýna í File Explorer", + "session.header.reveal.containingFolder": "Opnaðu möppuna sem inniheldur", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Skel", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "Staða", + "status.popover.ariaLabel": "Stillingar miðlara", + "status.popover.tab.servers": "Netþjónar", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "Viðbætur", + "status.popover.action.manageServers": "Stjórna netþjónum", + "session.share.popover.title": "Birta á vefnum", + "session.share.popover.description.shared": + "Þessi seta er opinber á vefnum. Allir sem hafa tengilinn geta opnað hana.", + "session.share.popover.description.unshared": + "Deildu setunni opinberlega á vefnum. Allir sem hafa tengilinn geta opnað hana.", + "session.share.action.share": "Deila", + "session.share.action.publish": "Birta", + "session.share.action.publishing": "Birtir...", + "session.share.action.unpublish": "Afbirta", + "session.share.action.unpublishing": "Hættir að birta...", + "session.share.action.view": "Skoða", + "session.share.copy.copied": "Afritað", + "session.share.copy.copyLink": "Afritaðu tengil", + "lsp.tooltip.none": "Engir LSP netþjónar", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "Hleður tilkynningu...", + "terminal.loading": "Hleður útstöð...", + "terminal.title": "Skel", + "terminal.title.numbered": "Skjáhermir {{number}}", + "terminal.close": "Lokaðu flugstöðinni", + "terminal.connectionLost.title": "Tenging rofin", + "terminal.connectionLost.abnormalClose": "WebSocket lokað óeðlilega: {{code}}", + "terminal.connectionLost.description": "Tengingin var rofin. Þetta getur gerst þegar þjónninn endurræsir sig.", + "terminal.connectTicket.csrfError": + "PTY tengimiði hafnað af uppruna eða CSRF ávísun. Athugaðu þjóninn CORS stillingar.", + "terminal.connectTicket.statusError": "PTY tengimiði mistókst með {{status}}", + "titlebar.update": "Uppfærsla", + "titlebar.updateVersion": "Uppfærðu {{version}}", + "common.closeTab": "Loka flipa", + "common.dismiss": "Segja frá", + "common.moreCountSuffix": "(+{{count}} meira)", + "common.requestFailed": "Beiðni mistókst", + "common.moreOptions": "Fleiri valkostir", + "common.learnMore": "Lærðu meira", + "common.rename": "Endurnefna", + "common.export": "Útflutningur", + "common.reset": "Endurstilla", + "common.archive": "Skjalasafn", + "common.delete": "Eyða", + "common.close": "Loka", + "common.edit": "Breyta", + "common.loadMore": "Hlaða meira", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Eyða", + "common.key.home": "Heim", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Settu inn", + "common.unknown": "óþekkt", + "common.time.justNow": "Bara núna", + "common.time.minutesAgo.short": "{{count}}m síðan", + "common.time.hoursAgo.short": "{{count}}h síðan", + "common.time.daysAgo.short": "{{count}}d síðan", + "sidebar.menu.toggle": "Skipta um valmynd", + "sidebar.nav.projectsAndSessions": "Verkefni og setur", + "sidebar.settings": "Stillingar", + "sidebar.help": "Hjálp", + "sidebar.workspaces.enable": "Virkjaðu vinnusvæði", + "sidebar.workspaces.disable": "Slökktu á vinnusvæðum", + "sidebar.gettingStarted.title": "Að byrja", + "sidebar.gettingStarted.line1": "OpenCode inniheldur ókeypis gerðir svo þú getir byrjað strax.", + "sidebar.gettingStarted.line2": + "Tengdu hvaða þjónustuaðila sem er til að nota módel, inc. Claude, GPT, Gemini osfrv.", + "sidebar.project.recentSessions": "Nýlegar setur", + "sidebar.project.viewAllSessions": "Skoða allar lotur", + "sidebar.project.clearNotifications": "Hreinsaðu tilkynningar", + "sidebar.empty.title": "Engin verkefni opin", + "sidebar.empty.description": "Opnaðu verkefni til að byrja", + "debugBar.ariaLabel": "Þróunarárangursgreiningar", + "debugBar.na": "n/a", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "Síðasta lokið leiðarskipti sem snertir lotusíðu, mæld frá byrjun beinis þar til fyrsta málningin eftir að hún sest.", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "Rámar á sekúndu rúllandi síðustu 5 sekúndur.", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "Versti rammatími síðustu 5 sekúndur.", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "Rammar yfir 32ms á síðustu 5 sekúndum.", + "debugBar.long.label": "LONG", + "debugBar.long.tip": "Útilokaður tími og löng verkefni á síðustu 5 sekúndum. Hámarksverkefni: {{max}}.", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "Versta inntakseinkun sem hefur sést á síðustu 5 sekúndum.", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": "Áætluð lengd víxlverkunar síðustu 5 sekúndur. Þetta er INP-líkt, ekki opinberu Web Vitals INP.", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "Uppsöfnuð skipulagsbreyting fyrir núverandi líftíma appsins.", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "Notað JS hrúga vs hrúgutakmark. Aðeins Chromium.", + "debugBar.mem.tip": "Notað JS hrúga vs hrúgutakmark. {{used}} af {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Þvingaðu fókusstíla á alla gagnvirka þætti", + "debugBar.focus.on": "ON", + "debugBar.focus.off": "OFF", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Þvingaðu stefnu útlits forritsins í heild sinni án þess að breyta valnu tungumáli", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode skjáborð", + "settings.section.desktop": "Skrifborð", + "settings.section.server": "Netþjónn", + "settings.tab.general": "Almennt", + "settings.tab.shortcuts": "Flýtileiðir", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "WSL samþætting", + "settings.desktop.wsl.description": "Keyrðu OpenCode netþjóninn inni í WSL á Windows.", + "settings.general.section.appearance": "Útlit", + "settings.general.section.advanced": "Ítarlegri", + "settings.general.section.notifications": "Kerfistilkynningar", + "settings.general.section.updates": "Uppfærslur", + "settings.general.section.sounds": "Hljóðbrellur", + "settings.general.section.feed": "Fæða", + "settings.general.section.display": "Skjár", + "settings.general.row.language.title": "Tungumál", + "settings.general.row.language.description": "Breyttu skjátungumálinu fyrir OpenCode", + "settings.general.row.shell.title": "Skel skjáhermis", + "settings.general.row.shell.description": "Skelin sem skjáhermirinn og verkfæri fulltrúans nota", + "settings.general.row.shell.autoDefault": "Sjálfvirkt (sjálfgefið)", + "settings.general.row.shell.terminalOnly": "eingöngu flugstöð", + "settings.general.row.appearance.title": "Útlit", + "settings.general.row.appearance.description": "Sérsníddu hvernig OpenCode lítur út á tækinu þínu", + "settings.general.row.colorScheme.title": "Litasamsetning", + "settings.general.row.colorScheme.description": "Veldu hvort OpenCode fylgir kerfis-, ljósu eða dökku þema", + "settings.general.row.theme.title": "Þema", + "settings.general.row.theme.description": "Sérsníddu hvernig OpenCode er þema.", + "settings.general.row.font.title": "Kóða leturgerð", + "settings.general.row.font.description": "Sérsníddu leturgerðina sem notuð er í kóðablokkum", + "settings.general.row.terminalFont.title": "Leturgerð skjáhermis", + "settings.general.row.terminalFont.description": "Sérsníddu leturgerðina sem notuð er í flugstöðinni", + "settings.general.row.uiFont.title": "UI leturgerð", + "settings.general.row.uiFont.description": "Sérsníddu leturgerðina sem notuð er í öllu viðmótinu", + "settings.general.row.followup.title": "Eftirfylgnihegðun", + "settings.general.row.followup.description": "Veldu hvort eftirfylgnibeiðnir stýra strax eða bíða í biðröð", + "settings.general.row.followup.option.queue": "Biðröð", + "settings.general.row.followup.option.steer": "Stýra", + "settings.general.row.showFileTree.title": "Skráartré", + "settings.general.row.showFileTree.description": "Sýndu skráartréspjaldið í lotum", + "settings.general.row.showNavigation.title": "Leiðsögustýringar", + "settings.general.row.showNavigation.description": "Sýndu aftur- og áframhnappana á titilstikunni á skjáborðinu", + "settings.general.row.showSearch.title": "Skipunarspjald", + "settings.general.row.showSearch.description": "Sýndu leitar- og skipanaspjaldhnappinn á titilstikunni", + "settings.general.row.showTerminal.title": "Skel", + "settings.general.row.showTerminal.description": "Sýndu flugstöðvarhnappinn á titilstikunni á skjáborðinu", + "settings.general.row.showStatus.title": "Staða netþjóns", + "settings.general.row.showStatus.description": "Sýndu stöðuhnapp netþjónsins á titilstikunni", + "settings.general.row.mobileTitlebarBottom.title": "Botnleiðsögn", + "settings.general.row.mobileTitlebarBottom.description": + "Settu titilstikuna og lotuflipana neðst á skjánum á farsímanum", + "settings.general.row.showCustomAgents.title": "Sýna fulltrúa", + "settings.general.row.showCustomAgents.description": + "Skiptu á milli fulltrúa í innsláttarreitnum. Þegar þeir eru faldir er Build-fulltrúinn sjálfgefinn.", + "settings.general.row.reasoningSummaries.title": "Sýndu samantektir um rökstuðning", + "settings.general.row.reasoningSummaries.description": "Birta rökstuðningssamantektir líkana á tímalínunni", + "settings.general.row.shellToolPartsExpanded.title": "Stækkaðu hluta skeljaverkfæra", + "settings.general.row.shellToolPartsExpanded.description": "Sýna hluta skelverkfæra stækkað sjálfgefið á tímalínunni", + "settings.general.row.editToolPartsExpanded.title": "Stækkaðu breytingaverkfærahluta", + "settings.general.row.editToolPartsExpanded.description": + "Sýna breytinga-, skrifa- og plástraverkfæri hluta sjálfgefið stækkað á tímalínunni", + "settings.general.row.newInterface.title": "Nýtt skipulag", + "settings.general.row.newInterface.badge": "Nýtt", + "settings.general.row.newInterface.description": + "Notaðu nýju flipana og heimilisútlitið. Skiptu á milli útlita í takmarkaðan tíma.", + "settings.general.row.newInterfaceNotice.title": "Þú ert núna að nota nýtt skipulag", + "settings.general.row.newInterfaceNotice.description": "Fyrra skipulagið er ekki lengur tiltækt", + "settings.general.row.newInterfaceNotice.dismiss": "Segja frá", + "settings.general.row.pinchZoom.title": "Klíptu til að þysja", + "settings.general.row.pinchZoom.description": "Leyfðu að klípa og Ctrl-fletta bendingar til að þysja", + "settings.general.row.wayland.title": "Notaðu innfæddan Wayland", + "settings.general.row.wayland.description": "Slökktu á X11 fallback á Wayland. Krefst endurræsingar.", + "settings.general.row.wayland.tooltip": + "Á Linux með skjám með blönduðum hressingarhraða getur innfæddur Wayland verið stöðugri.", + "settings.general.row.releaseNotes.title": "Útgáfuskýrslur", + "settings.general.row.releaseNotes.description": "Sýna hvað er nýtt sprettiglugga eftir uppfærslur", + "settings.updates.row.startup.title": "Leitaðu að uppfærslum við ræsingu", + "settings.updates.row.startup.description": "Athugaðu sjálfkrafa fyrir uppfærslur þegar OpenCode ræsir", + "settings.updates.row.check.title": "Leitaðu að uppfærslum", + "settings.updates.row.check.description": "Athugaðu handvirkt fyrir uppfærslur og settu upp ef það er tiltækt", + "settings.updates.action.checkNow": "Athugaðu núna", + "settings.updates.action.checking": "Athugar...", + "settings.updates.action.downloading": "Sækir...", + "settings.updates.action.installing": "Setur upp...", + "settings.updates.toast.latest.title": "Þú ert uppfærður", + "settings.updates.toast.latest.description": "Þú ert að keyra nýjustu útgáfuna af OpenCode.", + "sound.option.none": "Engin", + "sound.option.alert01": "Viðvörun 01", + "sound.option.alert02": "Viðvörun 02", + "sound.option.alert03": "Viðvörun 03", + "sound.option.alert04": "Viðvörun 04", + "sound.option.alert05": "Viðvörun 05", + "sound.option.alert06": "Viðvörun 06", + "sound.option.alert07": "Viðvörun 07", + "sound.option.alert08": "Viðvörun 08", + "sound.option.alert09": "Viðvörun 09", + "sound.option.alert10": "Viðvörun 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "Nei 01", + "sound.option.nope02": "Nei 02", + "sound.option.nope03": "Nei 03", + "sound.option.nope04": "Nei 04", + "sound.option.nope05": "Nei 05", + "sound.option.nope06": "Nei 06", + "sound.option.nope07": "Nei 07", + "sound.option.nope08": "Nei 08", + "sound.option.nope09": "Nei 09", + "sound.option.nope10": "Nei 10", + "sound.option.nope11": "Nei 11", + "sound.option.nope12": "Nei 12", + "sound.option.yup01": "Já 01", + "sound.option.yup02": "Já 02", + "sound.option.yup03": "Já 03", + "sound.option.yup04": "Já 04", + "sound.option.yup05": "Já 05", + "sound.option.yup06": "Já 06", + "settings.general.notifications.agent.title": "Fulltrúi", + "settings.general.notifications.agent.description": + "Sýna kerfistilkynningu þegar fulltrúi lýkur verki eða þarfnast athygli", + "settings.general.notifications.permissions.title": "Heimildir", + "settings.general.notifications.permissions.description": "Sýna kerfistilkynningu þegar leyfi er krafist", + "settings.general.notifications.errors.title": "Villur", + "settings.general.notifications.errors.description": "Sýna kerfistilkynningu þegar villa kemur upp", + "settings.general.sounds.agent.title": "Fulltrúi", + "settings.general.sounds.agent.description": "Spila hljóð þegar fulltrúinn lýkur verki eða þarfnast athygli", + "settings.general.sounds.permissions.title": "Heimildir", + "settings.general.sounds.permissions.description": "Spilaðu hljóð þegar leyfi er krafist", + "settings.general.sounds.errors.title": "Villur", + "settings.general.sounds.errors.description": "Spilaðu hljóð þegar villa kemur upp", + "settings.shortcuts.title": "Flýtivísar", + "settings.shortcuts.reset.button": "Endurstilla í sjálfgefna stillingar", + "settings.shortcuts.reset.toast.title": "Flýtivísar endurstillt", + "settings.shortcuts.reset.toast.description": "Flýtivísar hafa verið endurstilltir á sjálfgefnar stillingar.", + "settings.shortcuts.conflict.title": "Flýtileið þegar í notkun", + "settings.shortcuts.conflict.description": "{{keybind}} er þegar úthlutað til {{titles}}.", + "settings.shortcuts.unassigned": "Óúthlutað", + "settings.shortcuts.pressKeys": "Ýttu á takka", + "settings.shortcuts.search.placeholder": "Leitarflýtivísar", + "settings.shortcuts.search.empty": "Engar flýtileiðir fundust", + "settings.shortcuts.group.general": "Almennt", + "settings.shortcuts.group.session": "Lota", + "settings.shortcuts.group.navigation": "Leiðsögn", + "settings.shortcuts.group.modelAndAgent": "Líkan og fulltrúi", + "settings.shortcuts.group.terminal": "Skel", + "settings.shortcuts.group.prompt": "Kvaðning", + "settings.providers.title": "Veitendur", + "settings.providers.description": "Stillingar þjónustuveitunnar verða stillanlegar hér.", + "settings.providers.section.connected": "Tengdar veitendur", + "settings.providers.connected.empty": "Engar tengdar veitendur", + "settings.providers.connected.environmentDescription": "Tengdur frá umhverfisbreytum þínum", + "settings.providers.section.popular": "Vinsælir veitendur", + "settings.providers.custom.description": "Bættu við OpenAI-samhæfðum veitanda með grunni URL.", + "settings.providers.tag.environment": "Umhverfi", + "settings.providers.tag.config": "Uppsetning", + "settings.providers.tag.custom": "Sérsniðin", + "settings.providers.tag.other": "Annað", + "settings.models.title": "Fyrirmyndir", + "settings.models.description": "Líkanstillingar verða stillanlegar hér.", + "settings.agents.title": "Umboðsmenn", + "settings.agents.description": "Umboðsmannsstillingar verða stillanlegar hér.", + "settings.commands.title": "Skipanir", + "settings.commands.description": "Skipunarstillingar verða stillanlegar hér.", + "settings.mcp.title": "MCP", + "settings.mcp.description": "MCP stillingar verða stillanlegar hér.", + "settings.permissions.title": "Heimildir", + "settings.permissions.description": "Stjórnaðu því hvaða verkfæri þjónninn getur notað sjálfgefið.", + "settings.permissions.section.tools": "Verkfæri", + "settings.permissions.toast.updateFailed.title": "Mistókst að uppfæra heimildir", + "settings.permissions.action.allow": "Leyfa", + "settings.permissions.action.ask": "Spurðu", + "settings.permissions.action.deny": "Neita", + "settings.permissions.tool.read.title": "Lestu", + "settings.permissions.tool.read.description": "Að lesa skrá (passar við skráarslóðina)", + "settings.permissions.tool.edit.title": "Breyta", + "settings.permissions.tool.edit.description": "Breyttu skrám, þar með talið breytingum, skrifum og plástra", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "Passaðu skrár með því að nota glob mynstur", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "Leitaðu að innihaldi skráar með því að nota reglulegar tjáningar", + "settings.permissions.tool.list.title": "Listi", + "settings.permissions.tool.list.description": "Listaðu skrár í möppu", + "settings.permissions.tool.bash.title": "Bash", + "settings.permissions.tool.bash.description": "Keyra skel skipanir", + "settings.permissions.tool.task.title": "Verkefni", + "settings.permissions.tool.task.description": "Ræstu undir-umboðsmenn", + "settings.permissions.tool.skill.title": "Færni", + "settings.permissions.tool.skill.description": "Hlaða hæfileika með nafni", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "Keyra fyrirspurnir um tungumálaþjón", + "settings.permissions.tool.todowrite.title": "Todo Skrifa", + "settings.permissions.tool.todowrite.description": "Uppfærðu verkefnalistann", + "settings.permissions.tool.webfetch.title": "Vefur sækja", + "settings.permissions.tool.webfetch.description": "Sæktu efni úr URL", + "settings.permissions.tool.websearch.title": "Vefleit", + "settings.permissions.tool.websearch.description": "Leitaðu á vefnum", + "settings.permissions.tool.external_directory.title": "Ytri skráarskrá", + "settings.permissions.tool.external_directory.description": "Fáðu aðgang að skrám utan verkefnaskránnar", + "settings.permissions.tool.doom_loop.title": "Doom Loop", + "settings.permissions.tool.doom_loop.description": "Finndu endurtekin verkfærasímtöl með eins inntak", + "session.delete.failed.title": "Ekki tókst að eyða lotu", + "session.delete.title": "Eyða setu", + "session.delete.confirm": 'Eyða setunni "{{name}}"?', + "session.delete.button": "Eyða setu", + "workspace.new": "Nýtt vinnurými", + "workspace.type.local": "staðbundið", + "workspace.type.sandbox": "sandkassi", + "workspace.create.failed.title": "Mistókst að búa til vinnusvæði", + "workspace.delete.failed.title": "Mistókst að eyða vinnusvæði", + "workspace.resetting.title": "Núllstillir vinnusvæði", + "workspace.resetting.description": "Þetta gæti tekið eina mínútu.", + "workspace.reset.failed.title": "Mistókst að endurstilla vinnusvæði", + "workspace.reset.success.title": "Vinnusvæði endurstillt", + "workspace.reset.success.description": "Vinnusvæði passar nú við sjálfgefna útibúið.", + "workspace.error.stillPreparing": "Vinnusvæði er enn í undirbúningi", + "workspace.status.checking": "Leitar að ósameinuðum breytingum...", + "workspace.status.error": "Ekki hægt að staðfesta git stöðu.", + "workspace.status.clean": "Engar ósamræmdar breytingar fundust.", + "workspace.status.dirty": "Ósamræmdar breytingar fundust á þessu vinnusvæði.", + "workspace.delete.title": "Eyða vinnusvæði", + "workspace.delete.confirm": 'Eyða vinnusvæðinu "{{name}}"?', + "workspace.delete.button": "Eyða vinnusvæði", + "workspace.reset.title": "Endurstilla vinnusvæði", + "workspace.reset.confirm": 'Endurstilla vinnusvæði "{{name}}"?', + "workspace.reset.button": "Endurstilla vinnusvæði", + "workspace.reset.archived.none": "Engar virkar lotur verða settar í geymslu.", + "workspace.reset.archived.one": "1 seta verður sett í geymslu.", + "workspace.reset.archived.many": "{{count}} setur verða settar í geymslu.", + "workspace.reset.note": "Þetta mun endurstilla vinnusvæðið til að passa við sjálfgefna útibúið.", + "dialog.usageExceeded.dontShowAgain": "Ekki sýna aftur", +} diff --git a/packages/app/src/i18n/it.ts b/packages/app/src/i18n/it.ts new file mode 100644 index 000000000000..a093e11485a3 --- /dev/null +++ b/packages/app/src/i18n/it.ts @@ -0,0 +1,1176 @@ +export const dict = { + "command.category.suggested": "Suggeriti", + "command.category.view": "Visualizzazione", + "command.category.project": "Progetto", + "command.category.provider": "Provider", + "command.category.server": "Server", + "command.category.session": "Sessione", + "command.category.theme": "Tema", + "command.category.language": "Lingua", + "command.category.file": "File", + "command.category.context": "Contesto", + "command.category.terminal": "Terminale", + "command.category.model": "Modello", + "command.category.mcp": "MCP", + "command.category.agent": "Agente", + "command.category.permissions": "Autorizzazioni", + "command.category.workspace": "Area di lavoro", + "command.category.settings": "Impostazioni", + "command.logs.export": "Esporta log", + "theme.scheme.system": "Sistema", + "theme.scheme.light": "Chiaro", + "theme.scheme.dark": "Scuro", + "command.sidebar.toggle": "Mostra o nascondi la barra laterale", + "command.project.open": "Apri progetto", + "command.project.previous": "Progetto precedente", + "command.project.next": "Progetto successivo", + "command.project.index": "Passa al progetto {{index}}", + "command.provider.connect": "Connetti provider", + "command.server.switch": "Cambia server", + "command.settings.open": "Apri le impostazioni", + "command.session.previous": "Sessione precedente", + "command.session.next": "Sessione successiva", + "command.session.previous.unseen": "Sessione precedente non letta", + "command.session.next.unseen": "Sessione successiva non letta", + "command.session.archive": "Archivia sessione", + "command.palette": "Palette dei comandi", + "command.theme.cycle": "Cambia tema", + "command.theme.set": "Usa tema: {{theme}}", + "command.theme.scheme.cycle": "Cambia combinazione di colori", + "command.theme.scheme.set": "Usa combinazione di colori: {{scheme}}", + "command.language.cycle": "Cambia lingua", + "command.language.set": "Usa la lingua: {{language}}", + "command.session.new": "Nuova sessione", + "command.file.open": "Apri file", + "command.tab.close": "Chiudi scheda", + "command.tab.reopenClosed": "Riapri la scheda chiusa", + "command.context.addSelection": "Aggiungi la selezione al contesto", + "command.context.addSelection.description": "Aggiungi le righe selezionate dal file corrente", + "command.input.focus": "Attiva il campo di inserimento", + "command.terminal.toggle": "Mostra o nascondi il terminale", + "command.fileTree.toggle": "Mostra o nascondi l'albero dei file", + "command.review.toggle": "Mostra o nascondi la revisione", + "command.terminal.new": "Nuovo terminale", + "command.terminal.new.description": "Crea una nuova scheda terminale", + "command.steps.toggle": "Mostra o nascondi i passaggi", + "command.steps.toggle.description": "Mostra o nascondi i passaggi per il messaggio corrente", + "command.message.previous": "Messaggio precedente", + "command.message.previous.description": "Vai al messaggio utente precedente", + "command.message.next": "Messaggio successivo", + "command.message.next.description": "Vai al messaggio utente successivo", + "command.model.choose": "Scegli il modello", + "command.model.choose.description": "Seleziona un modello diverso", + "command.mcp.toggle": "Attiva o disattiva gli MCP", + "command.mcp.toggle.description": "Attiva o disattiva gli MCP", + "command.agent.cycle": "Cambia agente", + "command.agent.cycle.description": "Passa all'agente successivo", + "command.agent.cycle.reverse": "Cambia agente all'indietro", + "command.agent.cycle.reverse.description": "Passa all'agente precedente", + "command.model.variant.cycle": "Cambia livello di ragionamento", + "command.model.variant.cycle.description": "Passa al livello di ragionamento successivo", + "command.prompt.mode.shell": "Shell", + "command.prompt.mode.normal": "Prompt", + "command.permissions.autoaccept.enable": "Accetta automaticamente le autorizzazioni", + "command.permissions.autoaccept.disable": "Interrompi l'accettazione automatica delle autorizzazioni", + "command.workspace.toggle": "Attiva o disattiva le aree di lavoro", + "command.workspace.toggle.description": "Abilita o disabilita più aree di lavoro nella barra laterale", + "command.session.undo": "Annulla", + "command.session.undo.description": "Annulla l'ultimo messaggio", + "command.session.redo": "Ripeti", + "command.session.redo.description": "Ripristina l'ultimo messaggio annullato", + "command.session.compact": "Compatta sessione", + "command.session.compact.description": "Riepiloga la sessione per ridurre le dimensioni del contesto", + "command.session.fork": "Crea sessione dal messaggio", + "command.session.fork.description": "Crea una nuova sessione da un messaggio precedente", + "command.session.share": "Condividi sessione", + "command.session.share.description": "Condividi questa sessione e copia l'URL negli appunti", + "command.session.unshare": "Annulla condivisione sessione", + "command.session.unshare.description": "Interrompi la condivisione di questa sessione", + "command.session.export": "Esporta sessione", + "command.session.export.description": "Esporta la trascrizione completa della sessione in formato JSON", + + "palette.search.placeholder": "Cerca file, comandi e sessioni", + "palette.search.placeholder.home": "Cerca comandi e sessioni", + "palette.empty": "Nessun risultato trovato", + "palette.group.commands": "Comandi", + "palette.group.files": "File", + "dialog.provider.search.placeholder": "Cerca provider", + "dialog.provider.empty": "Nessun provider trovato", + "dialog.provider.group.popular": "Popolari", + "dialog.provider.group.other": "Altro", + "dialog.provider.custom.label": "Provider personalizzato compatibile con OpenAI", + "dialog.provider.tag.recommended": "Consigliato", + "dialog.provider.opencode.note": "Modelli selezionati tra cui Claude, GPT, Gemini e altri", + "dialog.provider.opencode.tagline": "Modelli affidabili e ottimizzati", + "dialog.provider.opencodeGo.tagline": "Abbonamento economico per tutti", + "dialog.provider.anthropic.note": "Accesso diretto ai modelli Claude, inclusi Pro e Max", + "dialog.provider.copilot.note": "Modelli di IA per assistere nella programmazione tramite GitHub Copilot", + "dialog.provider.openai.note": "Modelli GPT veloci e potenti per attività generiche di IA", + "dialog.provider.google.note": "Modelli Gemini per risposte rapide e strutturate", + "dialog.provider.openrouter.note": "Accedi a tutti i modelli supportati da un unico provider", + "dialog.provider.vercel.note": "Accesso unificato ai modelli di IA con instradamento intelligente", + "dialog.model.select.title": "Seleziona modello", + "dialog.model.search.placeholder": "Cerca modelli", + "dialog.model.empty": "Nessun modello trovato", + "dialog.model.manage": "Gestisci modelli", + "dialog.model.manage.description": "Personalizza quali modelli appaiono nel selettore del modello.", + "dialog.model.manage.provider.toggle": "Attiva o disattiva tutti i modelli {{provider}}", + "dialog.model.unpaid.freeModels.title": "Modelli gratuiti forniti da OpenCode", + "dialog.model.unpaid.addMore.title": "Aggiungi altri modelli dai provider più diffusi", + "dialog.model.unpaid.viewMoreProviders": "Scopri oltre 70 provider", + "dialog.provider.viewAll": "Mostra altri provider", + "provider.connect.title": "Connetti {{provider}}", + "provider.connect.title.anthropicProMax": "Accedi con Claude Pro/Max", + "provider.connect.selectMethod": "Seleziona il metodo di accesso per {{provider}}.", + "provider.connect.method.apiKey": "Chiave API", + "provider.connect.method.browser": "Browser", + "provider.connect.method.headless": "Headless", + "provider.connect.status.inProgress": "Autorizzazione in corso...", + "provider.connect.status.waiting": "In attesa di autorizzazione...", + "provider.connect.status.failed": "Autorizzazione fallita: {{error}}", + "provider.connect.apiKey.description": + "Inserisci la chiave API di {{provider}} per connettere il tuo account e utilizzare i modelli {{provider}} in OpenCode.", + "provider.connect.apiKey.label": "Chiave API di {{provider}}", + "provider.connect.apiKey.placeholder": "Chiave API", + "provider.connect.apiKey.required": "È richiesta la chiave API", + "provider.connect.opencodeZen.line1": + "OpenCode Zen offre l'accesso a una selezione di modelli affidabili e ottimizzati per gli agenti di programmazione.", + "provider.connect.opencodeZen.line2": + "Con una sola chiave API avrai accesso a modelli come Claude, GPT, Gemini, GLM e altri.", + "provider.connect.opencodeZen.visit.prefix": "Visita ", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": " per ottenere la tua chiave API.", + "provider.connect.oauth.code.visit.prefix": "Visita ", + "provider.connect.oauth.code.visit.link": "questo collegamento", + "provider.connect.oauth.code.visit.suffix": + " per ottenere il codice di autorizzazione, connettere il tuo account e usare i modelli {{provider}} in OpenCode.", + "provider.connect.oauth.code.label": "Codice di autorizzazione {{method}}", + "provider.connect.oauth.code.placeholder": "Codice di autorizzazione", + "provider.connect.oauth.code.required": "È richiesto il codice di autorizzazione", + "provider.connect.oauth.code.invalid": "Codice di autorizzazione non valido", + "provider.connect.oauth.auto.visit.prefix": "Visita ", + "provider.connect.oauth.auto.visit.link": "questo collegamento", + "provider.connect.oauth.auto.visit.suffix": + " e inserisci il codice qui sotto per connettere il tuo account e usare i modelli {{provider}} in OpenCode.", + "provider.connect.oauth.auto.confirmationCode": "Codice di conferma", + "provider.connect.toast.connected.title": "{{provider}} connesso", + "provider.connect.toast.connected.description": "I modelli {{provider}} sono ora disponibili per l'uso.", + "provider.custom.title": "Provider personalizzato", + "provider.custom.description.prefix": "Configura un provider compatibile con OpenAI. Consulta la ", + "provider.custom.description.link": "documentazione sulla configurazione dei provider", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "ID provider", + "provider.custom.field.providerID.placeholder": "myprovider", + "provider.custom.field.providerID.description": "Lettere minuscole, numeri, trattini o trattini bassi", + "provider.custom.field.name.label": "Nome da visualizzare", + "provider.custom.field.name.placeholder": "Il mio provider IA", + "provider.custom.field.baseURL.label": "URL di base", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "Chiave API", + "provider.custom.field.apiKey.placeholder": "Chiave API", + "provider.custom.field.apiKey.description": + "Opzionale. Lascia vuoto se gestisci l'autenticazione tramite intestazioni.", + "provider.custom.models.label": "Modelli", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "model-id", + "provider.custom.models.name.label": "Nome", + "provider.custom.models.name.placeholder": "Nome da visualizzare", + "provider.custom.models.remove": "Rimuovi il modello", + "provider.custom.models.add": "Aggiungi modello", + "provider.custom.headers.label": "Intestazioni (facoltative)", + "provider.custom.headers.key.label": "Intestazione", + "provider.custom.headers.key.placeholder": "Header-Name", + "provider.custom.headers.value.label": "Valore", + "provider.custom.headers.value.placeholder": "valore", + "provider.custom.headers.remove": "Rimuovi intestazione", + "provider.custom.headers.add": "Aggiungi intestazione", + "provider.custom.error.providerID.required": "L'ID provider è obbligatorio", + "provider.custom.error.providerID.format": "Utilizza lettere minuscole, numeri, trattini o trattini bassi", + "provider.custom.error.providerID.exists": "Questo ID provider esiste già", + "provider.custom.error.name.required": "Il nome visualizzato è obbligatorio", + "provider.custom.error.baseURL.required": "L'URL di base è obbligatorio", + "provider.custom.error.baseURL.format": "Deve iniziare con http:// o https://", + "provider.custom.error.required": "Necessario", + "provider.custom.error.duplicate": "Duplicato", + "provider.custom.unavailable": "I provider personalizzati non sono disponibili su questo server", + "provider.disconnect.toast.disconnected.title": "{{provider}} disconnesso", + "provider.disconnect.toast.disconnected.description": "I modelli {{provider}} non sono più disponibili.", + "model.tag.free": "Gratuito", + "model.tag.latest": "Più recente", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "testo", + "model.input.image": "immagine", + "model.input.audio": "audio", + "model.input.video": "video", + "model.input.pdf": "pdf", + "model.tooltip.allows": "Supporta: {{inputs}}", + "model.tooltip.context.label": "Contesto", + "model.tooltip.inputs": "Input", + "model.tooltip.model": "Modello", + "model.tooltip.provider": "Provider", + "model.tooltip.reasoning": "Ragionamento", + "model.tooltip.reasoning.allowed": "Supporta il ragionamento", + "model.tooltip.reasoning.none": "Nessun ragionamento", + "model.tooltip.context": "Limite del contesto: {{limit}}", + "common.search.placeholder": "Cerca", + "common.goBack": "Torna indietro", + "common.goForward": "Vai avanti", + "common.loading": "Caricamento", + "common.loading.ellipsis": "...", + "common.cancel": "Annulla", + "common.clear": "Cancella", + "common.open": "Apri", + "common.connect": "Connetti", + "common.disconnect": "Disconnetti", + "common.continue": "Continua", + "common.submit": "Invia", + "common.save": "Salva", + "common.saving": "Salvataggio...", + "common.default": "Predefinito", + "common.attachment": "allegato", + "prompt.placeholder.shell": "Inserisci il comando shell... {{example}}", + "prompt.placeholder.normal": 'Chiedi qualsiasi cosa... "{{example}}"', + "prompt.placeholder.simple": "Chiedi qualsiasi cosa...", + "prompt.placeholder.summarizeComments": "Riepiloga i commenti...", + "prompt.placeholder.summarizeComment": "Riepiloga il commento...", + "prompt.mode.shell": "Shell", + "prompt.mode.normal": "Prompt", + "prompt.mode.shell.exit": "esc per uscire", + "session.child.promptDisabled": "Non è possibile inviare prompt alle sessioni dei subagenti.", + "session.child.backToParent": "Torna alla sessione principale.", + "prompt.example.1": "Correggi un TODO nel codice sorgente", + "prompt.example.2": "Qual è lo stack tecnologico di questo progetto?", + "prompt.example.3": "Correggi i test non funzionanti", + "prompt.example.4": "Spiega come funziona l'autenticazione", + "prompt.example.5": "Trova e correggi le vulnerabilità di sicurezza", + "prompt.example.6": "Aggiungi test unitari per il servizio utente", + "prompt.example.7": "Rifattorizza questa funzione per renderla più leggibile", + "prompt.example.8": "Cosa significa questo errore?", + "prompt.example.9": "Aiutami a eseguire il debug di questo problema", + "prompt.example.10": "Genera documentazione API", + "prompt.example.11": "Ottimizza le query del database", + "prompt.example.12": "Aggiungi la convalida dell'input", + "prompt.example.13": "Crea un nuovo componente per...", + "prompt.example.14": "Come distribuisco questo progetto?", + "prompt.example.15": "Esamina il mio codice verificando che rispetti le buone pratiche", + "prompt.example.16": "Aggiungi la gestione degli errori a questa funzione", + "prompt.example.17": "Spiega questa espressione regolare", + "prompt.example.18": "Convertilo in TypeScript", + "prompt.example.19": "Aggiungi log in tutto il codice sorgente", + "prompt.example.20": "Quali dipendenze sono obsolete?", + "prompt.example.21": "Aiutami a scrivere uno script di migrazione", + "prompt.example.22": "Implementa la cache per questo endpoint", + "prompt.example.23": "Aggiungi la paginazione a questo elenco", + "prompt.example.24": "Crea un comando CLI per...", + "prompt.example.25": "Come funzionano le variabili d'ambiente qui?", + "prompt.popover.emptyResults": "Nessun risultato corrispondente", + "prompt.popover.emptyCommands": "Nessun comando corrispondente", + "prompt.dropzone.label": "Trascina qui immagini, PDF o file di testo", + "prompt.dropzone.file.label": "Trascina per menzionare il file con @", + "prompt.slash.badge.custom": "personalizzato", + "prompt.slash.badge.skill": "skill", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "attivo", + "prompt.context.includeActiveFile": "Includi file attivo", + "prompt.context.removeActiveFile": "Rimuovi il file attivo dal contesto", + "prompt.context.removeFile": "Rimuovi il file dal contesto", + "prompt.action.attachFile": "Aggiungi file", + "prompt.menu.addImagesAndFiles": "Aggiungi file e altro ancora", + "prompt.menu.imagesAndFiles": "Immagini e file", + "prompt.menu.commands": "Comandi", + "prompt.menu.context": "Contesto", + "prompt.menu.shellCommand": "Comando della shell", + "prompt.attachment.remove": "Rimuovi l'allegato", + "prompt.action.send": "Invia", + "prompt.action.stop": "Interrompi", + "prompt.toast.pasteUnsupported.title": "Allegato non supportato", + "prompt.toast.pasteUnsupported.description": "Qui è possibile allegare solo immagini, PDF o file di testo.", + "prompt.toast.attachmentDuplicate.title": "Questo file è già stato caricato", + "prompt.toast.modelAgentRequired.title": "Seleziona un agente e un modello", + "prompt.toast.modelAgentRequired.description": "Scegli un agente e un modello prima di inviare un prompt.", + "prompt.toast.worktreeCreateFailed.title": "Impossibile creare il worktree", + "prompt.toast.sessionCreateFailed.title": "Impossibile creare la sessione", + "prompt.toast.shellSendFailed.title": "Impossibile inviare il comando shell", + "prompt.toast.commandSendFailed.title": "Impossibile inviare il comando", + "prompt.toast.promptSendFailed.title": "Impossibile inviare il prompt", + "prompt.toast.promptSendFailed.description": "Impossibile recuperare la sessione", + "dialog.mcp.title": "MCP", + "dialog.mcp.description": "{{enabled}} di {{total}} abilitati", + "dialog.mcp.empty": "Nessun MCP configurato", + "dialog.lsp.empty": "LSP rilevati automaticamente in base ai tipi di file", + "dialog.plugins.empty": "Plugin configurati in opencode.json", + "mcp.status.connected": "collegato", + "mcp.status.failed": "fallito", + "mcp.status.needs_auth": "richiede l'autenticazione", + "mcp.status.disabled": "disabilitato", + "mcp.auth.clickToAuthenticate": "Fai clic per autenticarti", + "dialog.fork.empty": "Nessun messaggio da cui effettuare il fork", + "dialog.directory.search.placeholder": "Cerca cartelle", + "dialog.directory.empty": "Nessuna cartella trovata", + "dialog.directory.action.selectFile": "Seleziona file", + "dialog.directory.action.selectFolder": "Seleziona la cartella", + "dialog.directory.root": "Radice", + "dialog.directory.parent": "Cartella superiore", + "dialog.directory.readError": "Impossibile leggere questa cartella", + "app.server.unreachable": "Impossibile raggiungere {{server}}", + "app.server.retrying": "Nuovo tentativo automatico...", + "app.server.otherServers": "Altri server", + "dialog.server.title": "Server", + "dialog.server.description": "Cambia il server OpenCode a cui si connette l'app.", + "dialog.server.search.placeholder": "Cerca server", + "dialog.server.empty": "Ancora nessun server", + "dialog.server.add.title": "Aggiungi server", + "dialog.server.add.url": "Indirizzo del server", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "Impossibile connettersi al server", + "dialog.server.add.checking": "Controllo...", + "dialog.server.add.button": "Aggiungi server", + "dialog.server.add.name": "Nome del server (facoltativo)", + "dialog.server.add.namePlaceholder": "Host locale", + "dialog.server.add.username": "Nome utente (facoltativo)", + "dialog.server.add.usernamePlaceholder": "nomeutente", + "dialog.server.add.password": "Password (facoltativa)", + "dialog.server.add.passwordPlaceholder": "password", + "dialog.server.edit.title": "Modifica server", + "dialog.server.default.title": "Server predefinito", + "dialog.server.default.description": + "Connettiti a questo server all'avvio dell'app invece di avviare un server locale. Richiede il riavvio.", + "dialog.server.default.none": "Nessun server selezionato", + "dialog.server.default.set": "Imposta il server corrente come predefinito", + "dialog.server.default.clear": "Cancella", + "dialog.server.action.remove": "Rimuovi server", + "dialog.server.menu.edit": "Modifica", + "dialog.server.menu.default": "Imposta come predefinito", + "dialog.server.menu.defaultRemove": "Rimuovi predefinito", + "dialog.server.menu.delete": "Elimina", + "dialog.server.current": "Server corrente", + "dialog.server.status.default": "Predefinito", + "wsl.server.add": "Aggiungi il server WSL", + "wsl.server.addShort": "Aggiungi WSL", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "Server WSL", + "wsl.server.retryStart": "Riprova l'avvio", + "wsl.server.updating": "Aggiornamento...", + "wsl.onboarding.step.distro": "Scegli la distribuzione", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "Controllo WSL...", + "wsl.onboarding.restartRequired": "Windows deve essere riavviato per completare l'installazione di WSL.", + "wsl.onboarding.ready": "WSL è pronto.", + "wsl.onboarding.required": "WSL è necessario per continuare.", + "wsl.onboarding.checkingDistros": "Controllo delle distribuzioni...", + "wsl.onboarding.installingDistro": "Installazione di {{distro}}...", + "wsl.onboarding.checkingDistro": "Controllo {{distro}}...", + "wsl.onboarding.listingDistros": "Elenco delle distribuzioni...", + "wsl.onboarding.distroReady": "{{distro}} è pronto.", + "wsl.onboarding.distroNotInstalled": "{{distro}} non è ancora installato.", + "wsl.onboarding.openDistroOnce": "Apri {{distro}} una volta per completare la configurazione.", + "wsl.onboarding.finishingDistro": "Completamento della configurazione di {{distro}}.", + "wsl.onboarding.pickDistro": "Scegli una distribuzione o installane una qui sotto.", + "wsl.onboarding.checkingOpencode": "Controllo OpenCode...", + "wsl.onboarding.checkingOpencodeIn": "Controllo OpenCode in {{distro}}...", + "wsl.onboarding.updatingOpencode": "Aggiornamento OpenCode...", + "wsl.onboarding.updatingOpencodeIn": "Aggiornamento OpenCode in {{distro}}...", + "wsl.onboarding.updateOpencodeIn": "Aggiorna OpenCode in {{distro}}.", + "wsl.onboarding.updateOpencode": "Aggiorna OpenCode", + "wsl.onboarding.opencodeReadyIn": "OpenCode è pronto in {{distro}}.", + "wsl.onboarding.opencodeReady": "OpenCode è pronto.", + "wsl.onboarding.installOpencodeIn": "Installa OpenCode in {{distro}}.", + "wsl.onboarding.installOpencode": "Installa OpenCode", + "wsl.onboarding.chooseDistroFirst": "Scegli prima una distribuzione.", + "wsl.onboarding.loadFailed": "Impossibile caricare lo stato WSL.", + "wsl.onboarding.loading": "Caricamento...", + "wsl.onboarding.installedDistros": "Distribuzioni installate", + "wsl.onboarding.checkAgain": "Controlla di nuovo", + "wsl.onboarding.distroStatus.ready": "Pronto", + "wsl.onboarding.distroStatus.checking": "Controllo...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode non installato", + "wsl.onboarding.distroStatus.missingTools": "bash e curl non disponibili", + "wsl.onboarding.distroStatus.unsupported": "Non supportato · Utilizza WSL 2", + "wsl.onboarding.needAnotherDistro": "Hai bisogno di un'altra distribuzione?", + "wsl.onboarding.needAnotherDistroHint": "Installa una distribuzione Linux dal catalogo WSL", + "wsl.onboarding.wslNotInstalled.title": "WSL non installato", + "wsl.onboarding.wslNotInstalled.description": + "WSL (Sottosistema Windows per Linux) è necessario prima che OpenCode possa aggiungere un server WSL", + "wsl.onboarding.wslUnavailable.title": "WSL non disponibile", + "wsl.onboarding.wslUnavailable.description": "OpenCode non ha potuto verificare WSL su questa macchina.", + "wsl.onboarding.installWsl": "Installa WSL", + "wsl.onboarding.windowsRestartRequired": + "Riavvia Windows per completare l'installazione WSL, quindi riapri OpenCode.", + "wsl.onboarding.next": "Avanti", + "wsl.onboarding.refresh": "Aggiorna", + "wsl.onboarding.allDistrosAdded": "Tutte le distribuzioni installate sono già aggiunte.", + "wsl.onboarding.noDistros": "Nessuna distribuzione ancora rilevata.", + "wsl.onboarding.install": "Installa", + "wsl.onboarding.installing": "Installazione...", + "wsl.onboarding.installDistro": "Installa la distribuzione", + "wsl.onboarding.searchDistros": "Cerca distribuzioni", + "wsl.onboarding.wsl2Required": "WSL 2 è obbligatorio.", + "wsl.onboarding.toolsRequired": "Questa distribuzione richiede bash e curl.", + "wsl.onboarding.openTerminal": "Apri terminale", + "wsl.onboarding.path": "Percorso: {{path}}", + "wsl.onboarding.notFound": "non trovato", + "wsl.onboarding.version": "Versione: {{version}}", + "wsl.onboarding.unknown": "sconosciuto", + "wsl.onboarding.desktopVersion": "desktop {{version}}", + "wsl.onboarding.versionMismatch": "La versione installata non corrisponde alla versione dell'app desktop.", + "wsl.onboarding.adding": "Aggiunta...", + "help.tabs.toast.ariaLabel": "Novità: le schede. Organizza il lavoro e le sessioni attive con le schede", + "help.tabs.toast.dismiss": "Ignora le informazioni sulle schede", + "help.tabs.title": "Novità: le schede", + "help.tabs.description": "Organizza il lavoro e le sessioni attive con le schede", + "help.tabs.date": "14 luglio", + "help.tabs.introduction": "OpenCode Desktop ora è incentrato sulle schede.", + "help.tabs.sessions": + "Avvia una nuova sessione in una scheda oppure apri una sessione esistente da uno dei tuoi progetti. Apri una nuova scheda quando inizi qualcosa di nuovo e chiudila quando hai finito.", + "help.tabs.organize": + "Tenere aperte alcune schede semplifica l'organizzazione delle sessioni attive. Se prevedi di conservarle, rinominale con un nome facile da ricordare.", + "help.tabs.home": + "Troverai tutte le sessioni e i progetti nella nuova schermata Home. Quando selezioni una sessione, questa si apre in una scheda.", + "help.tabs.persistence": "Quando riapri l'app, le schede sono ancora aperte.", + "help.tabs.worktrees": + "Il nuovo design non supporta ancora Git Worktrees, ma il supporto arriverà presto. Se preferisci continuare a utilizzare la disposizione precedente, puoi passare da una disposizione all'altra nelle Impostazioni. Tieni presente che la nuova disposizione diventerà permanente tra alcune settimane.", + "server.row.noUsername": "nessun nome utente", + "dialog.project.edit.title": "Modifica progetto", + "dialog.project.edit.name": "Nome", + "dialog.project.edit.icon": "Icona", + "dialog.project.edit.icon.alt": "Icona del progetto", + "dialog.project.edit.icon.hint": "Fai clic o trascina un'immagine", + "dialog.project.edit.icon.recommended": "Consigliato: 128x128px", + "dialog.project.edit.color": "Colore", + "dialog.project.edit.color.select": "Seleziona il colore {{color}}", + "dialog.project.edit.worktree.startup": "Script di avvio dell'area di lavoro", + "dialog.project.edit.worktree.startup.description": + "Viene eseguito dopo la creazione di una nuova area di lavoro (worktree).", + "dialog.project.edit.worktree.startup.placeholder": "es. bun install", + "dialog.releaseNotes.action.getStarted": "Inizia", + "dialog.releaseNotes.action.next": "Avanti", + "dialog.releaseNotes.action.hideFuture": "Non mostrarli in futuro", + "dialog.releaseNotes.media.alt": "Anteprima delle novità", + "dialog.usageExceeded.dontShowAgain": "Non mostrare più", + + "context.breakdown.title": "Ripartizione del contesto", + "context.breakdown.note": + 'Ripartizione approssimativa dei token di input. "Altro" include le definizioni degli strumenti e i dati aggiuntivi.', + "context.breakdown.system": "Sistema", + "context.breakdown.user": "Utente", + "context.breakdown.assistant": "Assistente", + "context.breakdown.tool": "Chiamate agli strumenti", + "context.breakdown.other": "Altro", + "context.systemPrompt.title": "Prompt di sistema", + "context.rawMessages.title": "Messaggi non elaborati", + "context.export.session": "Esporta sessione", + + "context.stats.session": "Sessione", + "context.stats.messages": "Messaggi", + "context.stats.provider": "Provider", + "context.stats.model": "Modello", + "context.stats.limit": "Limite del contesto", + "context.stats.totalTokens": "Token totali", + "context.stats.usage": "Utilizzo", + "context.stats.inputTokens": "Token di input", + "context.stats.outputTokens": "Token di output", + "context.stats.reasoningTokens": "Token di ragionamento", + "context.stats.cacheTokens": "Token cache (lettura/scrittura)", + "context.stats.userMessages": "Messaggi utente", + "context.stats.assistantMessages": "Messaggi dell'assistente", + "context.stats.totalCost": "Costo totale", + "context.stats.sessionCreated": "Sessione creata", + "context.stats.lastActivity": "Ultima attività", + "context.usage.tokens": "Token", + "context.usage.usage": "Utilizzo", + "context.usage.cost": "Costo", + "context.usage.clickToView": "Fai clic per visualizzare il contesto", + "context.usage.view": "Visualizza l'utilizzo del contesto", + "language.en": "English", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Deutsch", + "language.es": "Español", + "language.fr": "Français", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "Polski", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Norsk", + "language.br": "Português (Brasil)", + "language.bs": "Bosanski", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Türkçe", + "toast.language.title": "Lingua", + "toast.language.description": "Lingua impostata su {{language}}", + "toast.theme.title": "Tema cambiato", + "toast.scheme.title": "Combinazione di colori", + "toast.workspace.enabled.title": "Aree di lavoro abilitate", + "toast.workspace.enabled.description": "Nella barra laterale vengono ora visualizzati più worktree", + "toast.workspace.disabled.title": "Aree di lavoro disabilitate", + "toast.workspace.disabled.description": "Nella barra laterale viene mostrato solo il worktree principale", + "toast.permissions.autoaccept.on.title": "Accettazione automatica delle autorizzazioni", + "toast.permissions.autoaccept.on.description": "Le richieste di autorizzazione verranno approvate automaticamente", + "toast.permissions.autoaccept.off.title": "Accettazione automatica delle autorizzazioni disattivata", + "toast.permissions.autoaccept.off.description": "Le richieste di autorizzazione richiederanno l'approvazione", + "toast.model.none.title": "Nessun modello selezionato", + "toast.model.none.description": "Connetti un provider per riepilogare questa sessione", + "toast.file.loadFailed.title": "Impossibile caricare il file", + "toast.file.listFailed.title": "Impossibile elencare i file", + "toast.context.noLineSelection.title": "Nessuna riga selezionata", + "toast.context.noLineSelection.description": "Selezionare prima un intervallo di righe nella scheda di un file.", + "toast.session.share.copyFailed.title": "Impossibile copiare l'URL negli appunti", + "toast.session.share.success.title": "Sessione condivisa", + "toast.session.share.success.description": "URL di condivisione copiato negli appunti", + "toast.session.share.failed.title": "Impossibile condividere la sessione", + "toast.session.share.failed.description": "Si è verificato un errore durante la condivisione della sessione", + "toast.session.unshare.success.title": "Sessione non condivisa", + "toast.session.unshare.success.description": "Condivisione della sessione annullata!", + "toast.session.unshare.failed.title": "Impossibile annullare la condivisione della sessione", + "toast.session.unshare.failed.description": + "Si è verificato un errore durante l'annullamento della condivisione della sessione", + "toast.session.export.success.title": "Sessione esportata", + "toast.session.export.success.description": "Sessione salvata in {{filename}}", + "toast.session.export.failed.title": "Impossibile esportare la sessione", + "toast.session.export.failed.description": "Si è verificato un errore durante l’esportazione della sessione", + + "toast.session.listFailed.title": "Impossibile caricare le sessioni per {{project}}", + "toast.project.reloadFailed.title": "Impossibile ricaricare {{project}}", + "toast.update.title": "Aggiornamento disponibile", + "toast.update.description": "Una nuova versione di OpenCode ({{version}}) è ora disponibile per l'installazione.", + "toast.update.action.installRestart": "Installa e riavvia", + "toast.update.action.notYet": "Non ancora", + "error.page.title": "Qualcosa è andato storto", + "error.page.description": "Si è verificato un errore durante il caricamento dell'applicazione.", + "error.page.description.localServerStartup": "Si è verificato un errore durante l'avvio del server locale.", + "error.page.details.label": "Dettagli errore", + "error.page.action.restart": "Riavvia", + "error.page.action.report": "Segnala errore", + "error.page.action.reported": "Errore segnalato", + "error.page.action.exportLogs": "Esporta log", + "error.page.action.checking": "Controllo...", + "error.page.action.checkUpdates": "Controlla gli aggiornamenti", + "error.page.action.updateTo": "Aggiorna a {{version}}", + "error.page.circular": "[Circular]", + "error.page.report.prefix": "Segnala questo errore al team OpenCode", + "error.page.report.discord": "su Discord", + "error.page.version": "Versione: {{version}}", + "error.dev.rootNotFound": + "Elemento radice non trovato. Hai dimenticato di aggiungerlo al tuo index.html? O forse l'attributo id è stato scritto in modo errato?", + "error.serverSync.connectFailed": "Impossibile connettersi al server. C'è un server in esecuzione a `{{url}}`?", + "error.serverSDK.noServerAvailable": "Nessun server disponibile", + "error.serverSDK.serverNotAvailable": "Server non disponibile", + "error.childStore.persistedCacheCreateFailed": "Impossibile creare la cache persistente", + "error.childStore.persistedProjectMetadataCreateFailed": "Impossibile creare metadati di progetto persistenti", + "error.childStore.persistedProjectIconCreateFailed": "Impossibile creare l'icona del progetto persistente", + "error.childStore.storeCreateFailed": "Impossibile creare lo store", + "directory.error.invalidUrl": "Cartella non valida nell'URL.", + "error.chain.unknown": "Errore sconosciuto", + "error.server.invalidConfiguration": "Configurazione non valida", + "error.chain.causedBy": "Causato da:", + "error.chain.apiError": "Errore API", + "error.chain.status": "Stato: {{status}}", + "error.chain.retryable": "Nuovo tentativo possibile: {{retryable}}", + "error.chain.responseBody": "Corpo della risposta:\n{{body}}", + "error.chain.didYouMean": "Forse intendi: {{suggestions}}", + "error.chain.modelNotFound": "Modello non trovato: {{provider}}/{{model}}", + "error.chain.checkConfig": "Controlla i nomi di provider e modelli nella configurazione (opencode.json)", + "error.chain.mcpFailed": + 'Il server MCP "{{name}}" non ha funzionato. Nota: OpenCode non supporta ancora l\'autenticazione MCP.', + "error.chain.providerAuthFailed": "Autenticazione del provider non riuscita ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + 'Impossibile inizializzare il provider "{{provider}}". Controlla credenziali e configurazione.', + "error.chain.configJsonInvalid": "Il file di configurazione in {{path}} non è valido JSON(C)", + "error.chain.configJsonInvalidWithMessage": "Il file di configurazione in {{path}} non è valido JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + 'La directory "{{dir}}" in {{path}} non è valida. Rinominare la directory in "{{suggestion}}" o rimuoverla. Questo è un errore di battitura comune.', + "error.chain.configFrontmatterError": "Impossibile analizzare il frontmatter in {{path}}:\n{{message}}", + "error.chain.configInvalid": "Il file di configurazione in {{path}} non è valido", + "error.chain.configInvalidWithMessage": "Il file di configurazione in {{path}} non è valido: {{message}}", + "notification.permission.title": "Autorizzazione richiesta", + "notification.permission.description": "{{sessionTitle}} in {{projectName}} necessita dell'autorizzazione", + "notification.question.title": "Domanda", + "notification.question.description": "{{sessionTitle}} in {{projectName}} ha una domanda", + "notification.action.goToSession": "Vai alla sessione", + "notification.session.responseReady.title": "Risposta pronta", + "notification.session.error.title": "Errore di sessione", + "notification.session.error.fallbackDescription": "Si è verificato un errore", + "home.recentProjects": "Progetti recenti", + "home.empty.title": "Nessun progetto recente", + "home.empty.description": "Inizia aprendo un progetto locale", + "home.title": "Home", + "home.projects": "Progetti", + "home.project.add": "Aggiungi progetto", + "home.recentlyClosed": "Chiusi di recente", + "home.server.collapse": "Comprimi progetti server", + "home.server.expand": "Espandi i progetti server", + "home.sessions.search.placeholder": "Cerca sessioni", + "home.sessions.search.placeholder.scoped": "Cerca sessioni in {{scope}}", + "home.sessions.search.sessions": "Sessioni", + "home.sessions.search.noResults": "Nessuna sessione trovata per {{query}}", + "home.sessions.empty": "Ancora nessun elemento", + "home.sessions.empty.description": "Crea una sessione per iniziare", + "home.sessions.group.today": "Oggi", + "home.sessions.group.yesterday": "Ieri", + "home.sessions.group.older": "Meno recenti", + "home.providerTip": "Connettiti a oltre 75 provider per utilizzare altri modelli, inclusi Claude, GPT, Gemini, ecc.", + "session.tab.session": "Sessione", + "session.tab.review": "Revisione", + "session.tab.context": "Contesto", + "session.tab.unknown": "Sessione sconosciuta", + "session.panel.reviewAndFiles": "Revisione e file", + "session.error.notFound": "Impossibile trovare questa sessione", + "session.error.notFound.description": "Questa scheda punta a una sessione che non esiste più su questo server.", + "session.error.notFound.closeTab": "Chiudi scheda", + "session.error.serverConnection": "Impossibile connettersi a questo server", + "session.review.filesChanged": "{{count}} file modificati", + "session.review.change.one": "Modifica", + "session.review.change.other": "Modifiche", + "session.review.loadingChanges": "Caricamento modifiche...", + "session.review.empty": "Nessuna modifica ancora in questa sessione", + "session.review.noVcs": "Nessun sistema di controllo della versione Git rilevato, modifiche non visualizzate", + "session.review.noVcs.createGit.title": "Crea un repository Git", + "session.review.noVcs.createGit.description": "Tieni traccia, rivedi e annulla le modifiche in questo progetto", + "session.review.noVcs.createGit.actionLoading": "Creazione del repository Git in corso...", + "session.review.noVcs.createGit.action": "Crea un repository Git", + "session.review.noSnapshot": + "Il tracciamento degli snapshot è disabilitato nella configurazione, quindi le modifiche della sessione non sono disponibili", + "session.review.noChanges": "Nessuna modifica", + "session.review.noUncommittedChanges": "Ancora nessuna modifica senza commit", + "session.review.noBranchChanges": "Ancora nessuna modifica del branch", + "session.files.selectToOpen": "Seleziona un file da aprire", + "session.files.all": "Tutti i file", + "session.files.empty": "Nessun file", + "session.files.binaryContent": "File binario (il contenuto non può essere visualizzato)", + "session.messages.renderEarlier": "Visualizza i messaggi precedenti", + "session.messages.loadingEarlier": "Caricamento dei messaggi precedenti...", + "session.messages.loadEarlier": "Carica i messaggi precedenti", + "session.messages.loading": "Caricamento messaggi...", + "session.messages.jumpToLatest": "Vai all'ultimo", + "session.context.addToContext": "Aggiungi {{selection}} al contesto", + "session.todo.title": "Attività", + "session.todo.collapse": "Comprimi", + "session.todo.expand": "Espandi", + "session.todo.progress": "{{done}} di {{total}} attività completate", + "session.question.progress": "{{current}} di {{total}} domande", + "session.question.minimize": "Riduci la domanda", + "session.question.restore": "Ripristina la domanda", + "session.question.pending.one": "{{count}} domanda in sospeso", + "session.question.pending.many": "{{count}} di domande in sospeso", + "session.question.pending.other": "{{count}} domande in sospeso", + "session.followupDock.summary.one": "{{count}} messaggio in coda", + "session.followupDock.summary.many": "{{count}} di messaggi in coda", + "session.followupDock.summary.other": "{{count}} messaggi in coda", + "session.followupDock.sendNow": "Invia ora", + "session.followupDock.edit": "Modifica", + "session.followupDock.collapse": "Comprimi i messaggi in coda", + "session.followupDock.expand": "Espandi i messaggi in coda", + "session.revertDock.summary.one": "{{count}} messaggio annullato", + "session.revertDock.summary.many": "{{count}} di messaggi annullati", + "session.revertDock.summary.other": "{{count}} messaggi annullati", + "session.revertDock.collapse": "Comprimi i messaggi annullati", + "session.revertDock.expand": "Espandi i messaggi annullati", + "session.revertDock.restore": "Ripristina il messaggio", + "session.new.title": "Crea qualsiasi cosa", + "session.new.project.new": "Nuovo progetto", + "session.new.project.search": "Cerca progetti", + "session.new.project.add": "Aggiungi progetto", + "session.new.worktree.main": "Branch principale", + "session.new.worktree.mainWithBranch": "Branch principale ({{branch}})", + "session.new.worktree.create": "Crea un nuovo worktree", + "session.new.workspace.runIn": "Esegui la sessione in", + "session.new.workspace.triggerLocal": "Locale", + "session.new.workspace.local": "Repository locale", + "session.new.workspace.existing": "Area di lavoro...", + "session.new.git.none": "Senza Git", + "session.new.lastModified": "Ultima modifica", + "session.header.search.placeholder": "Cerca {{project}}", + "session.header.searchFiles": "Cerca file", + "session.header.openIn": "Apri in", + "session.header.open.action": "Apri {{app}}", + "session.header.open.ariaLabel": "Apri in {{app}}", + "session.header.open.menu": "Opzioni di apertura", + "session.header.open.copyPath": "Copia percorso", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "Esplora file", + "session.header.open.fileManager": "Gestore file", + "session.header.reveal.finder": "Mostra nel Finder", + "session.header.reveal.fileExplorer": "Mostra in Esplora file", + "session.header.reveal.containingFolder": "Apri la cartella contenente", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Terminale", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "Stato", + "status.popover.ariaLabel": "Configurazioni del server", + "status.popover.tab.servers": "Server", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "Plugin", + "status.popover.action.manageServers": "Gestisci server", + "session.share.popover.title": "Pubblica sul web", + "session.share.popover.description.shared": + "Questa sessione è pubblica sul web. È accessibile a chiunque abbia il collegamento.", + "session.share.popover.description.unshared": + "Condividi la sessione pubblicamente sul web. Sarà accessibile a chiunque abbia il collegamento.", + "session.share.action.share": "Condividi", + "session.share.action.publish": "Pubblica", + "session.share.action.publishing": "Pubblicazione...", + "session.share.action.unpublish": "Annulla pubblicazione", + "session.share.action.unpublishing": "Annullamento della pubblicazione...", + "session.share.action.view": "Visualizza", + "session.share.copy.copied": "Copiato", + "session.share.copy.copyLink": "Copia collegamento", + "lsp.tooltip.none": "Nessun server LSP", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "Caricamento del prompt...", + "terminal.loading": "Caricamento terminale...", + "terminal.title": "Terminale", + "terminal.title.numbered": "Terminale {{number}}", + "terminal.close": "Chiudi il terminale", + "terminal.connectionLost.title": "Connessione persa", + "terminal.connectionLost.abnormalClose": "WebSocket chiuso in modo anomalo: {{code}}", + "terminal.connectionLost.description": + "La connessione del terminale è stata interrotta. Ciò può verificarsi al riavvio del server.", + "terminal.connectTicket.csrfError": + "Il ticket di connessione PTY è stato rifiutato dai controlli sull'origine o CSRF. Verifica la configurazione CORS del server.", + "terminal.connectTicket.statusError": "Il ticket di connessione PTY non è riuscito con lo stato {{status}}", + "titlebar.update": "Aggiorna", + "titlebar.updateVersion": "Aggiorna {{version}}", + "common.closeTab": "Chiudi scheda", + "common.dismiss": "Ignora", + "common.moreCountSuffix": " (+ altri {{count}})", + "common.requestFailed": "Richiesta non riuscita", + "common.moreOptions": "Altre opzioni", + "common.learnMore": "Saperne di più", + "common.rename": "Rinomina", + "common.export": "Esporta", + "common.reset": "Ripristina", + "common.archive": "Archivia", + "common.delete": "Elimina", + "common.close": "Chiudi", + "common.edit": "Modifica", + "common.loadMore": "Carica altri elementi", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Maiusc", + "common.key.meta": "Meta", + "common.key.space": "Spazio", + "common.key.backspace": "Backspace", + "common.key.enter": "Invio", + "common.key.tab": "Tab", + "common.key.delete": "Canc", + "common.key.home": "Home", + "common.key.end": "Fine", + "common.key.pageUp": "Pag su", + "common.key.pageDown": "Pag giù", + "common.key.insert": "Ins", + "common.unknown": "sconosciuto", + "common.time.justNow": "Adesso", + "common.time.minutesAgo.short": "{{count}}m fa", + "common.time.hoursAgo.short": "{{count}}h fa", + "common.time.daysAgo.short": "{{count}}d fa", + "sidebar.menu.toggle": "Mostra o nascondi il menu", + "sidebar.nav.projectsAndSessions": "Progetti e sessioni", + "sidebar.settings": "Impostazioni", + "sidebar.help": "Aiuto", + "sidebar.workspaces.enable": "Abilita aree di lavoro", + "sidebar.workspaces.disable": "Disabilita aree di lavoro", + "sidebar.gettingStarted.title": "Introduzione", + "sidebar.gettingStarted.line1": "OpenCode include modelli gratuiti così puoi iniziare immediatamente.", + "sidebar.gettingStarted.line2": "Connetti un provider per usare altri modelli, tra cui Claude, GPT, Gemini e altri.", + "sidebar.project.recentSessions": "Sessioni recenti", + "sidebar.project.viewAllSessions": "Visualizza tutte le sessioni", + "sidebar.project.clearNotifications": "Cancella notifiche", + "sidebar.empty.title": "Nessun progetto aperto", + "sidebar.empty.description": "Apri un progetto per iniziare", + "debugBar.ariaLabel": "Diagnostica delle prestazioni di sviluppo", + "debugBar.na": "n/d", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "Ultima transizione completata relativa a una pagina di sessione, misurata dall'avvio del router fino al primo rendering dopo la stabilizzazione.", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "Media mobile dei fotogrammi al secondo negli ultimi 5 secondi.", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "Tempo di rendering del fotogramma peggiore negli ultimi 5 secondi.", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "Fotogrammi con durata superiore a 32 ms negli ultimi 5 secondi.", + "debugBar.long.label": "LONG", + "debugBar.long.tip": + "Tempo bloccato e numero di attività lunghe negli ultimi 5 secondi. Attività più lunga: {{max}}.", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "Peggiore ritardo di risposta all'input osservato negli ultimi 5 secondi.", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": + "Durata approssimativa dell'interazione negli ultimi 5 secondi. È una misura simile a INP, non l'INP ufficiale di Web Vitals.", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "Spostamento cumulativo del layout per la durata corrente dell'app.", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "Heap JS utilizzato rispetto al limite dell'heap. Solo Chromium.", + "debugBar.mem.tip": "Heap JS utilizzato rispetto al limite dell'heap. {{used}} di {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Forza gli stili di focus su tutti gli elementi interattivi", + "debugBar.focus.on": "ON", + "debugBar.focus.off": "OFF", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Forza la direzione del layout dell’intera app senza cambiare la lingua selezionata", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode Desktop", + "settings.section.desktop": "Desktop", + "settings.section.server": "Server", + "settings.tab.general": "Generale", + "settings.tab.shortcuts": "Scorciatoie", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "Integrazione WSL", + "settings.desktop.wsl.description": "Esegui il server OpenCode all'interno di WSL su Windows.", + "settings.general.section.appearance": "Aspetto", + "settings.general.section.advanced": "Avanzato", + "settings.general.section.notifications": "Notifiche di sistema", + "settings.general.section.updates": "Aggiornamenti", + "settings.general.section.sounds": "Effetti sonori", + "settings.general.section.feed": "Feed", + "settings.general.section.display": "Visualizzazione", + "settings.general.row.language.title": "Lingua", + "settings.general.row.language.description": "Cambia la lingua di visualizzazione per OpenCode", + "settings.general.row.shell.title": "Shell del terminale", + "settings.general.row.shell.description": "Shell utilizzata dal terminale e dagli strumenti dell'agente", + "settings.general.row.shell.autoDefault": "Automatico (predefinito)", + "settings.general.row.shell.terminalOnly": "solo terminale", + "settings.general.row.appearance.title": "Aspetto", + "settings.general.row.appearance.description": "Personalizza l'aspetto di OpenCode sul tuo dispositivo", + "settings.general.row.colorScheme.title": "Combinazione di colori", + "settings.general.row.colorScheme.description": "Scegli se OpenCode segue il tema di sistema, chiaro o scuro", + "settings.general.row.theme.title": "Tema", + "settings.general.row.theme.description": "Personalizza il tema di OpenCode.", + "settings.general.row.font.title": "Carattere del codice", + "settings.general.row.font.description": "Personalizza il carattere utilizzato nei blocchi di codice", + "settings.general.row.terminalFont.title": "Carattere terminale", + "settings.general.row.terminalFont.description": "Personalizza il carattere utilizzato nel terminale", + "settings.general.row.uiFont.title": "Carattere dell'interfaccia utente", + "settings.general.row.uiFont.description": "Personalizza il carattere utilizzato nell'interfaccia", + "settings.general.row.followup.title": "Gestione dei prompt successivi", + "settings.general.row.followup.description": "Scegli se i prompt successivi intervengono subito o attendono in coda", + "settings.general.row.followup.option.queue": "Coda", + "settings.general.row.followup.option.steer": "Intervieni subito", + "settings.general.row.showFileTree.title": "Albero dei file", + "settings.general.row.showFileTree.description": "Mostra il pannello dell'albero dei file nelle sessioni", + "settings.general.row.showNavigation.title": "Controlli di navigazione", + "settings.general.row.showNavigation.description": + "Mostra i pulsanti Avanti e Indietro nella barra del titolo del desktop", + "settings.general.row.showSearch.title": "Palette dei comandi", + "settings.general.row.showSearch.description": + "Mostra il pulsante di ricerca e della palette dei comandi nella barra del titolo", + "settings.general.row.showTerminal.title": "Terminale", + "settings.general.row.showTerminal.description": + "Mostra il pulsante del terminale nella barra del titolo del desktop", + "settings.general.row.showStatus.title": "Stato del server", + "settings.general.row.showStatus.description": "Mostra il pulsante di stato del server nella barra del titolo", + "settings.general.row.mobileTitlebarBottom.title": "Navigazione in basso", + "settings.general.row.mobileTitlebarBottom.description": + "Posiziona la barra del titolo e le schede della sessione nella parte inferiore dello schermo sul dispositivo mobile", + "settings.general.row.showCustomAgents.title": "Mostra agente", + "settings.general.row.showCustomAgents.description": + "Passa da un agente all'altro nel campo di composizione. Se nascosto, viene usato l'agente Build.", + "settings.general.row.reasoningSummaries.title": "Mostra riassunti del ragionamento", + "settings.general.row.reasoningSummaries.description": + "Visualizza i riepiloghi del ragionamento del modello nella sequenza temporale", + "settings.general.row.shellToolPartsExpanded.title": "Espandi le parti dello strumento Shell", + "settings.general.row.shellToolPartsExpanded.description": + "Mostra le parti dello strumento Shell espanse per impostazione predefinita nella sequenza temporale", + "settings.general.row.editToolPartsExpanded.title": "Espandi le parti dello strumento di modifica", + "settings.general.row.editToolPartsExpanded.description": + "Mostra le parti degli strumenti di modifica, scrittura e patch espanse per impostazione predefinita nella sequenza temporale", + "settings.general.row.newInterface.title": "Nuova disposizione", + "settings.general.row.newInterface.badge": "Nuovo", + "settings.general.row.newInterface.description": + "Utilizza le nuove schede e il layout della home page. Passa da un layout all'altro per un periodo limitato.", + "settings.general.row.newInterfaceNotice.title": "Ora stai utilizzando il nuovo layout", + "settings.general.row.newInterfaceNotice.description": "Il layout precedente non è più disponibile", + "settings.general.row.newInterfaceNotice.dismiss": "Ignora", + "settings.general.row.pinchZoom.title": "Pizzica per ingrandire", + "settings.general.row.pinchZoom.description": + "Consenti i gesti di pizzicamento del trackpad e di scorrimento Ctrl per eseguire lo zoom", + "settings.general.row.wayland.title": "Usa Wayland nativo", + "settings.general.row.wayland.description": "Disabilita il fallback X11 su Wayland. Richiede il riavvio.", + "settings.general.row.wayland.tooltip": + "Su Linux con monitor dalle diverse frequenze di aggiornamento, Wayland nativo può essere più stabile.", + "settings.general.row.releaseNotes.title": "Note sulla versione", + "settings.general.row.releaseNotes.description": "Mostra i popup Novità dopo gli aggiornamenti", + "settings.updates.row.startup.title": "Controlla gli aggiornamenti all'avvio", + "settings.updates.row.startup.description": "Controlla automaticamente gli aggiornamenti all'avvio di OpenCode", + "settings.updates.row.check.title": "Controlla gli aggiornamenti", + "settings.updates.row.check.description": "Controlla manualmente gli aggiornamenti e installali se disponibili", + "settings.updates.action.checkNow": "Controlla ora", + "settings.updates.action.checking": "Controllo...", + "settings.updates.action.downloading": "Download in corso...", + "settings.updates.action.installing": "Installazione...", + "settings.updates.toast.latest.title": "OpenCode è aggiornato", + "settings.updates.toast.latest.description": "Stai utilizzando l'ultima versione di OpenCode.", + "sound.option.none": "Nessuno", + "sound.option.alert01": "Avviso 01", + "sound.option.alert02": "Avviso 02", + "sound.option.alert03": "Avviso 03", + "sound.option.alert04": "Avviso 04", + "sound.option.alert05": "Avviso 05", + "sound.option.alert06": "Avviso 06", + "sound.option.alert07": "Avviso 07", + "sound.option.alert08": "Avviso 08", + "sound.option.alert09": "Avviso 09", + "sound.option.alert10": "Avviso 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "No 01", + "sound.option.nope02": "No 02", + "sound.option.nope03": "No 03", + "sound.option.nope04": "No 04", + "sound.option.nope05": "No 05", + "sound.option.nope06": "No 06", + "sound.option.nope07": "No 07", + "sound.option.nope08": "No 08", + "sound.option.nope09": "No 09", + "sound.option.nope10": "No 10", + "sound.option.nope11": "No 11", + "sound.option.nope12": "No 12", + "sound.option.yup01": "Sì 01", + "sound.option.yup02": "Sì 02", + "sound.option.yup03": "Sì 03", + "sound.option.yup04": "Sì 04", + "sound.option.yup05": "Sì 05", + "sound.option.yup06": "Sì 06", + "settings.general.notifications.agent.title": "Agente", + "settings.general.notifications.agent.description": + "Mostra una notifica di sistema quando l'agente ha terminato o richiede attenzione", + "settings.general.notifications.permissions.title": "Autorizzazioni", + "settings.general.notifications.permissions.description": + "Mostra la notifica di sistema quando è richiesta un'autorizzazione", + "settings.general.notifications.errors.title": "Errori", + "settings.general.notifications.errors.description": "Mostra la notifica di sistema quando si verifica un errore", + "settings.general.sounds.agent.title": "Agente", + "settings.general.sounds.agent.description": "Riproduci un suono quando l'agente ha terminato o richiede attenzione", + "settings.general.sounds.permissions.title": "Autorizzazioni", + "settings.general.sounds.permissions.description": "Riproduci l'audio quando è richiesta un'autorizzazione", + "settings.general.sounds.errors.title": "Errori", + "settings.general.sounds.errors.description": "Riproduci un suono quando si verifica un errore", + "settings.shortcuts.title": "Scorciatoie da tastiera", + "settings.shortcuts.reset.button": "Ripristina le impostazioni predefinite", + "settings.shortcuts.reset.toast.title": "Scorciatoie ripristinate", + "settings.shortcuts.reset.toast.description": + "Le scorciatoie da tastiera sono state ripristinate ai valori predefiniti.", + "settings.shortcuts.conflict.title": "Scorciatoia già in uso", + "settings.shortcuts.conflict.description": "{{keybind}} è già assegnato a {{titles}}.", + "settings.shortcuts.unassigned": "Non assegnato", + "settings.shortcuts.pressKeys": "Premi i tasti", + "settings.shortcuts.search.placeholder": "Cerca scorciatoie", + "settings.shortcuts.search.empty": "Nessuna scorciatoia trovata", + "settings.shortcuts.group.general": "Generale", + "settings.shortcuts.group.session": "Sessione", + "settings.shortcuts.group.navigation": "Navigazione", + "settings.shortcuts.group.modelAndAgent": "Modello e agente", + "settings.shortcuts.group.terminal": "Terminale", + "settings.shortcuts.group.prompt": "Prompt", + "settings.providers.title": "Provider", + "settings.providers.description": "Le impostazioni dei provider saranno configurabili qui.", + "settings.providers.section.connected": "Provider connessi", + "settings.providers.connected.empty": "Nessun provider connesso", + "settings.providers.connected.environmentDescription": "Connesso tramite le variabili di ambiente", + "settings.providers.section.popular": "Provider più diffusi", + "settings.providers.custom.description": "Aggiungi un provider compatibile con OpenAI tramite l'URL di base.", + "settings.providers.tag.environment": "Ambiente", + "settings.providers.tag.config": "Configurazione", + "settings.providers.tag.custom": "Personalizzato", + "settings.providers.tag.other": "Altro", + "settings.models.title": "Modelli", + "settings.models.description": "Le impostazioni del modello saranno configurabili qui.", + "settings.agents.title": "Agenti", + "settings.agents.description": "Le impostazioni dell'agente saranno configurabili qui.", + "settings.commands.title": "Comandi", + "settings.commands.description": "Le impostazioni dei comandi saranno configurabili qui.", + "settings.mcp.title": "MCP", + "settings.mcp.description": "Le impostazioni MCP saranno configurabili qui.", + "settings.permissions.title": "Autorizzazioni", + "settings.permissions.description": + "Controlla quali strumenti può utilizzare il server per impostazione predefinita.", + "settings.permissions.section.tools": "Strumenti", + "settings.permissions.toast.updateFailed.title": "Impossibile aggiornare le autorizzazioni", + "settings.permissions.action.allow": "Consenti", + "settings.permissions.action.ask": "Chiedi", + "settings.permissions.action.deny": "Nega", + "settings.permissions.tool.read.title": "Lettura", + "settings.permissions.tool.read.description": "Lettura di un file (corrisponde al percorso del file)", + "settings.permissions.tool.edit.title": "Modifica", + "settings.permissions.tool.edit.description": "Modifica file, incluse modifiche, scritture e patch", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "Trova corrispondenze tra file usando pattern glob", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "Cerca il contenuto del file utilizzando le espressioni regolari", + "settings.permissions.tool.list.title": "Elenco", + "settings.permissions.tool.list.description": "Elenca i file all'interno di una directory", + "settings.permissions.tool.bash.title": "Bash", + "settings.permissions.tool.bash.description": "Esegui i comandi della shell", + "settings.permissions.tool.task.title": "Attività", + "settings.permissions.tool.task.description": "Avvia subagenti", + "settings.permissions.tool.skill.title": "Skill", + "settings.permissions.tool.skill.description": "Carica una skill in base al nome", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "Esegui query sul server di linguaggio", + "settings.permissions.tool.todowrite.title": "Scrittura attività", + "settings.permissions.tool.todowrite.description": "Aggiorna l'elenco delle attività", + "settings.permissions.tool.webfetch.title": "Recupero dal web", + "settings.permissions.tool.webfetch.description": "Recupera contenuto da un URL", + "settings.permissions.tool.websearch.title": "Ricerca sul web", + "settings.permissions.tool.websearch.description": "Cerca sul web", + "settings.permissions.tool.external_directory.title": "Directory esterna", + "settings.permissions.tool.external_directory.description": "Accedi ai file all'esterno della directory del progetto", + "settings.permissions.tool.doom_loop.title": "Ciclo ripetitivo", + "settings.permissions.tool.doom_loop.description": "Rileva chiamate ripetute di strumenti con input identico", + "session.delete.failed.title": "Impossibile eliminare la sessione", + "session.delete.title": "Elimina sessione", + "session.delete.confirm": 'Eliminare la sessione "{{name}}"?', + "session.delete.button": "Elimina sessione", + "workspace.new": "Nuova area di lavoro", + "workspace.type.local": "locale", + "workspace.type.sandbox": "sandbox", + "workspace.create.failed.title": "Impossibile creare l'area di lavoro", + "workspace.delete.failed.title": "Impossibile eliminare l'area di lavoro", + "workspace.resetting.title": "Reimpostazione dell'area di lavoro", + "workspace.resetting.description": "L'operazione potrebbe richiedere un minuto.", + "workspace.reset.failed.title": "Impossibile reimpostare l'area di lavoro", + "workspace.reset.success.title": "Area di lavoro reimpostata", + "workspace.reset.success.description": "L'area di lavoro ora corrisponde al branch predefinito.", + "workspace.error.stillPreparing": "L'area di lavoro è ancora in preparazione", + "workspace.status.checking": "Verifica delle modifiche non integrate in corso...", + "workspace.status.error": "Impossibile verificare lo stato di Git.", + "workspace.status.clean": "Nessuna modifica non integrata rilevata.", + "workspace.status.dirty": "Modifiche non integrate rilevate in quest'area di lavoro.", + "workspace.delete.title": "Elimina l'area di lavoro", + "workspace.delete.confirm": 'Eliminare l\'area di lavoro "{{name}}"?', + "workspace.delete.button": "Elimina l'area di lavoro", + "workspace.reset.title": "Reimposta l'area di lavoro", + "workspace.reset.confirm": 'Reimpostare l\'area di lavoro "{{name}}"?', + "workspace.reset.button": "Reimposta l'area di lavoro", + "workspace.reset.archived.none": "Nessuna sessione attiva verrà archiviata.", + "workspace.reset.archived.one": "1 sessione verrà archiviata.", + "workspace.reset.archived.many": "Verranno archiviate {{count}} sessioni.", + "workspace.reset.note": "L'area di lavoro verrà reimpostata in modo che corrisponda al branch predefinito.", + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "File", + "desktop.menu.edit": "Modifica", + "desktop.menu.view": "Vista", + "desktop.menu.go": "Vai", + "desktop.menu.window": "Finestra", + "desktop.menu.help": "Aiuto", + "desktop.menu.checkForUpdates": "Verifica aggiornamenti...", + "desktop.menu.settings": "Impostazioni", + "desktop.menu.reloadWebview": "Ricarica Webview", + "desktop.menu.restart": "Riavvia", + "desktop.menu.exportLogs": "Esporta log...", + "desktop.menu.newSession": "Nuova sessione", + "desktop.menu.openProject": "Apri progetto...", + "desktop.menu.newWindow": "Nuova finestra", + "desktop.menu.closeWindow": "Chiudi finestra", + "desktop.menu.undo": "Annulla", + "desktop.menu.redo": "Ripristina", + "desktop.menu.cut": "Taglia", + "desktop.menu.copy": "Copia", + "desktop.menu.paste": "Incolla", + "desktop.menu.delete": "Elimina", + "desktop.menu.selectAll": "Seleziona tutto", + "desktop.menu.toggleSidebar": "Mostra o nascondi la barra laterale", + "desktop.menu.toggleTerminal": "Mostra o nascondi il terminale", + "desktop.menu.toggleFileTree": "Mostra o nascondi l'albero dei file", + "desktop.menu.reload": "Ricarica", + "desktop.menu.toggleDeveloperTools": "Mostra o nascondi gli strumenti per sviluppatori", + "desktop.menu.actualSize": "Dimensioni effettive", + "desktop.menu.zoomIn": "Ingrandisci", + "desktop.menu.zoomOut": "Riduci", + "desktop.menu.toggleFullScreen": "Attiva o disattiva lo schermo intero", + "desktop.menu.back": "Indietro", + "desktop.menu.forward": "Avanti", + "desktop.menu.previousSession": "Sessione precedente", + "desktop.menu.nextSession": "Sessione successiva", + "desktop.menu.previousProject": "Progetto precedente", + "desktop.menu.nextProject": "Progetto successivo", + "desktop.menu.minimize": "Riduci a icona", + "desktop.menu.maximize": "Ingrandisci", + "desktop.menu.documentation": "Documentazione di OpenCode", + "desktop.menu.supportForum": "Forum di supporto", + "desktop.menu.shareFeedback": "Invia feedback", + "desktop.menu.reportBug": "Segnala un bug", + "desktop.menu.ariaLabel": "Menu OpenCode", + "desktop.updater.dialog.checkFailed.message": "Impossibile verificare la disponibilità di aggiornamenti.", + "desktop.updater.dialog.checkFailed.title": "Errore di aggiornamento", + "desktop.updater.dialog.upToDate.message": "La versione è aggiornata.", + "desktop.updater.dialog.upToDate.title": "Nessun aggiornamento", + "desktop.updater.dialog.ready.message": "L'aggiornamento {{version}} è stato scaricato. Riavviare ora?", + "desktop.updater.dialog.ready.title": "Aggiornamento pronto", + "desktop.updater.dialog.restart": "Riavvia", + "desktop.updater.dialog.later": "Più tardi", + "desktop.recovery.action.relaunch": "Riapri", + "desktop.recovery.action.exportLogs": "Esporta log", + "desktop.recovery.action.keepWaiting": "Continua ad attendere", + "desktop.recovery.action.quit": "Esci", + "desktop.recovery.loadFailed": "Impossibile caricare OpenCode", + "desktop.recovery.terminated": "La finestra di OpenCode si è chiusa in modo imprevisto", + "desktop.recovery.unresponsive": "OpenCode non risponde", + "desktop.recovery.unresponsive.detail": "Puoi riaprire l'app, aprire i log o continuare ad attendere.", + "desktop.recovery.loadFailed.detail": "Finestra: {{window}}\nURL: {{url}}\nErrore: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Finestra: {{window}}\nMotivo: {{reason}}\nCodice: {{code}}", + "desktop.recovery.unknown": "", + "desktop.dialog.chooseFolder": "Scegli una cartella", + "desktop.dialog.chooseFile": "Scegli un file", + "desktop.dialog.saveFile": "Salva file", + "desktop.dialog.files": "File", + "desktop.server.local": "Server locale", + "desktop.wsl.error.windowsOnly": "WSL è disponibile solo in Windows", + "desktop.wsl.error.unavailable": "WSL non è disponibile", + "desktop.wsl.error.listInstalled": "Impossibile elencare le distribuzioni WSL installate", + "desktop.wsl.error.listOnline": "Impossibile elencare le distribuzioni WSL disponibili online", + "desktop.wsl.error.executeDistro": "Impossibile eseguire comandi nella distribuzione", + "desktop.wsl.error.installWsl": "Installazione di WSL non riuscita", + "desktop.wsl.error.installDistro": "Impossibile installare la distribuzione: {{distro}}", + "desktop.wsl.error.installOpencode": "Installazione di OpenCode non riuscita", + "desktop.wsl.error.alreadyAdded": "{{distro}} è già stata aggiunta", + "desktop.wsl.error.opencodeMissing": "opencode non è installato in questa distribuzione", + "desktop.wsl.error.opencodeCannotRun": "opencode è installato, ma non è stato possibile eseguirlo", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode non è installato in {{distro}}", + "desktop.wsl.error.updateVersion": + "L'aggiornamento di OpenCode è terminato, ma {{distro}} segnala ancora la versione {{installed}}; era prevista la versione {{expected}}", + "desktop.wsl.error.noVersion": "nessuna versione", + "desktop.wsl.error.serverExited": "Il server WSL si è chiuso dopo l'avvio (code={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "Il server WSL si è chiuso prima di diventare operativo (code={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": + "Il controllo dello stato del sidecar per {{distro}} ha superato il tempo limite di {{timeout}}ms", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} ha superato il tempo limite di {{timeout}}ms", + "desktop.wsl.error.failedPort": "Impossibile ottenere la porta", + "desktop.picker.error.notSelected": "Il file non è stato selezionato nella finestra di selezione", + "desktop.picker.error.sizeLimit": "Gli allegati selezionati superano il limite di {{limit}} MB", +} diff --git a/packages/app/src/i18n/ja.ts b/packages/app/src/i18n/ja.ts index 56c63e0e7086..b96e8b544b2b 100644 --- a/packages/app/src/i18n/ja.ts +++ b/packages/app/src/i18n/ja.ts @@ -1,4 +1,102 @@ export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "ファイル", + "desktop.menu.edit": "編集", + "desktop.menu.view": "表示", + "desktop.menu.go": "移動", + "desktop.menu.window": "ウインドウ", + "desktop.menu.help": "ヘルプ", + "desktop.menu.checkForUpdates": "アップデートを確認...", + "desktop.menu.settings": "設定", + "desktop.menu.reloadWebview": "Webビューを再読み込み", + "desktop.menu.restart": "再起動", + "desktop.menu.exportLogs": "ログをエクスポート...", + "desktop.menu.newSession": "新しいセッション", + "desktop.menu.openProject": "プロジェクトを開く...", + "desktop.menu.newWindow": "新しいウインドウ", + "desktop.menu.closeWindow": "ウインドウを閉じる", + "desktop.menu.undo": "取り消す", + "desktop.menu.redo": "やり直す", + "desktop.menu.cut": "切り取り", + "desktop.menu.copy": "コピー", + "desktop.menu.paste": "ペースト", + "desktop.menu.delete": "削除", + "desktop.menu.selectAll": "すべてを選択", + "desktop.menu.toggleSidebar": "サイドバーの表示を切り替える", + "desktop.menu.toggleTerminal": "ターミナルの表示を切り替える", + "desktop.menu.toggleFileTree": "ファイルツリーの表示を切り替える", + "desktop.menu.reload": "再読み込み", + "desktop.menu.toggleDeveloperTools": "開発者ツールの表示を切り替える", + "desktop.menu.actualSize": "実際のサイズ", + "desktop.menu.zoomIn": "拡大", + "desktop.menu.zoomOut": "縮小", + "desktop.menu.toggleFullScreen": "フルスクリーン表示を切り替える", + "desktop.menu.back": "戻る", + "desktop.menu.forward": "進む", + "desktop.menu.previousSession": "前のセッション", + "desktop.menu.nextSession": "次のセッション", + "desktop.menu.previousProject": "前のプロジェクト", + "desktop.menu.nextProject": "次のプロジェクト", + "desktop.menu.minimize": "最小化", + "desktop.menu.maximize": "最大化", + "desktop.menu.documentation": "OpenCodeドキュメント", + "desktop.menu.supportForum": "サポートフォーラム", + "desktop.menu.shareFeedback": "フィードバックを送信", + "desktop.menu.reportBug": "バグを報告", + "desktop.menu.ariaLabel": "OpenCodeメニュー", + + "desktop.updater.dialog.checkFailed.message": "アップデートを確認できませんでした。", + "desktop.updater.dialog.checkFailed.title": "アップデートエラー", + "desktop.updater.dialog.upToDate.message": "最新の状態です。", + "desktop.updater.dialog.upToDate.title": "アップデートはありません", + "desktop.updater.dialog.ready.message": "アップデート{{version}}をダウンロードしました。今すぐ再起動しますか?", + "desktop.updater.dialog.ready.title": "アップデートの準備ができました", + "desktop.updater.dialog.restart": "再起動", + "desktop.updater.dialog.later": "後で", + + "desktop.recovery.action.relaunch": "再起動", + "desktop.recovery.action.exportLogs": "ログをエクスポート", + "desktop.recovery.action.keepWaiting": "待機を続ける", + "desktop.recovery.action.quit": "終了", + "desktop.recovery.loadFailed": "OpenCodeを読み込めませんでした", + "desktop.recovery.terminated": "OpenCodeのウインドウが予期せず終了しました", + "desktop.recovery.unresponsive": "OpenCodeが応答していません", + "desktop.recovery.unresponsive.detail": "アプリを再起動するか、ログを開くか、待機を続けることができます。", + "desktop.recovery.loadFailed.detail": "ウインドウ: {{window}}\nURL: {{url}}\nエラー: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "ウインドウ: {{window}}\n理由: {{reason}}\nコード: {{code}}", + "desktop.recovery.unknown": "<不明>", + + "desktop.dialog.chooseFolder": "フォルダを選択", + "desktop.dialog.chooseFile": "ファイルを選択", + "desktop.dialog.saveFile": "ファイルを保存", + "desktop.dialog.files": "ファイル", + "desktop.server.local": "ローカルサーバー", + + "desktop.wsl.error.windowsOnly": "WSLはWindowsでのみ利用できます", + "desktop.wsl.error.unavailable": "WSLを利用できません", + "desktop.wsl.error.listInstalled": "インストール済みのWSLディストリビューションの一覧を取得できませんでした", + "desktop.wsl.error.listOnline": "オンラインのWSLディストリビューションの一覧を取得できませんでした", + "desktop.wsl.error.executeDistro": "ディストリビューションでコマンドを実行できません", + "desktop.wsl.error.installWsl": "WSLのインストールに失敗しました", + "desktop.wsl.error.installDistro": "ディストリビューションのインストールに失敗しました: {{distro}}", + "desktop.wsl.error.installOpencode": "OpenCodeのインストールに失敗しました", + "desktop.wsl.error.alreadyAdded": "{{distro}}はすでに追加されています", + "desktop.wsl.error.opencodeMissing": "このディストリビューションにはopencodeがインストールされていません", + "desktop.wsl.error.opencodeCannotRun": "opencodeはインストールされていますが、実行できませんでした", + "desktop.wsl.error.opencodeNotInstalled": "{{distro}}にはOpenCodeがインストールされていません", + "desktop.wsl.error.updateVersion": + "OpenCodeのアップデートは完了しましたが、{{distro}}から報告されたバージョンはまだ{{installed}}です。想定されるバージョンは{{expected}}です", + "desktop.wsl.error.noVersion": "バージョンなし", + "desktop.wsl.error.serverExited": "WSLサーバーが起動後に終了しました (code={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSLサーバーが正常に稼働する前に終了しました (code={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": "{{distro}}のSidecarのヘルスチェックが{{timeout}}ms後にタイムアウトしました", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}}が{{timeout}}ms後にタイムアウトしました", + "desktop.wsl.error.failedPort": "ポートを取得できませんでした", + + "desktop.picker.error.notSelected": "ピッカーでファイルが選択されませんでした", + "desktop.picker.error.sizeLimit": "選択した添付ファイルが上限の{{limit}} MBを超えています", + "command.category.suggested": "おすすめ", "command.category.view": "表示", "command.category.project": "プロジェクト", @@ -16,6 +114,7 @@ export const dict = { "command.category.permissions": "権限", "command.category.workspace": "ワークスペース", "command.category.settings": "設定", + "command.logs.export": "ログをエクスポート", "theme.scheme.system": "システム", "theme.scheme.light": "ライト", "theme.scheme.dark": "ダーク", @@ -85,6 +184,9 @@ export const dict = { "command.session.share.description": "このセッションを共有しURLをクリップボードにコピー", "command.session.unshare": "セッションの共有を停止", "command.session.unshare.description": "このセッションの共有を停止", + "command.session.export": "セッションをエクスポート", + "command.session.export.description": "セッションの全記録を JSON としてエクスポート", + "palette.search.placeholder": "ファイル、コマンド、セッションを検索", "palette.search.placeholder.home": "コマンドとセッションを検索", "palette.empty": "結果が見つかりません", @@ -94,13 +196,14 @@ export const dict = { "dialog.provider.empty": "プロバイダーが見つかりません", "dialog.provider.group.popular": "人気", "dialog.provider.group.other": "その他", + "dialog.provider.custom.label": "OpenAI互換のカスタムプロバイダー", "dialog.provider.tag.recommended": "推奨", "dialog.provider.opencode.note": "Claude, GPT, Geminiなどを含む厳選されたモデル", "dialog.provider.opencode.tagline": "信頼性の高い最適化モデル", "dialog.provider.opencodeGo.tagline": "すべての人に低価格のサブスクリプション", - "dialog.provider.anthropic.note": "Claude Pro/MaxまたはAPIキーで接続", - "dialog.provider.copilot.note": "CopilotまたはAPIキーで接続", - "dialog.provider.openai.note": "ChatGPT Pro/PlusまたはAPIキーで接続", + "dialog.provider.anthropic.note": "ProやMaxを含むClaudeモデルに直接アクセス", + "dialog.provider.copilot.note": "GitHub Copilotを通じてコーディングを支援するAIモデル", + "dialog.provider.openai.note": "高速で高性能な汎用AIタスク向けのGPTモデル", "dialog.provider.google.note": "高速で構造化された応答のためのGeminiモデル", "dialog.provider.openrouter.note": "1つのプロバイダーからすべてのサポートされているモデルにアクセス", "dialog.provider.vercel.note": "スマートルーターによるAIモデルへの統合アクセス", @@ -112,11 +215,14 @@ export const dict = { "dialog.model.manage.provider.toggle": "すべての{{provider}}モデルを切り替え", "dialog.model.unpaid.freeModels.title": "OpenCodeが提供する無料モデル", "dialog.model.unpaid.addMore.title": "人気のプロバイダーからモデルを追加", + "dialog.model.unpaid.viewMoreProviders": "その他70以上のプロバイダーを見る", "dialog.provider.viewAll": "さらにプロバイダーを表示", "provider.connect.title": "{{provider}}を接続", "provider.connect.title.anthropicProMax": "Claude Pro/Maxでログイン", "provider.connect.selectMethod": "{{provider}}のログイン方法を選択してください。", "provider.connect.method.apiKey": "APIキー", + "provider.connect.method.browser": "ブラウザ", + "provider.connect.method.headless": "ヘッドレス モード", "provider.connect.status.inProgress": "認証中...", "provider.connect.status.waiting": "認証を待機中...", "provider.connect.status.failed": "認証に失敗しました: {{error}}", @@ -147,6 +253,7 @@ export const dict = { "provider.connect.toast.connected.title": "{{provider}}が接続されました", "provider.connect.toast.connected.description": "{{provider}}モデルが使用可能になりました。", "provider.custom.title": "カスタムプロバイダー", + "provider.custom.unavailable": "このサーバーではカスタムプロバイダーを利用できません", "provider.custom.description.prefix": "OpenAI互換のプロバイダーを設定します。詳細は", "provider.custom.description.link": "プロバイダー設定ドキュメント", "provider.custom.description.suffix": "をご覧ください。", @@ -195,7 +302,7 @@ export const dict = { "model.input.image": "画像", "model.input.audio": "音声", "model.input.video": "動画", - "model.input.pdf": "pdf", + "model.input.pdf": "PDF", "model.tooltip.allows": "対応: {{inputs}}", "model.tooltip.context.label": "コンテキスト", "model.tooltip.inputs": "入力", @@ -214,7 +321,7 @@ export const dict = { "common.clear": "クリア", "common.connect": "接続", "common.disconnect": "切断", - "common.continue": "送信", + "common.continue": "続行", "common.submit": "送信", "common.save": "保存", "common.saving": "保存中...", @@ -258,7 +365,7 @@ export const dict = { "prompt.popover.emptyResults": "一致する結果がありません", "prompt.popover.emptyCommands": "一致するコマンドがありません", "prompt.dropzone.label": "画像、PDF、またはテキストファイルをここにドロップしてください", - "prompt.dropzone.file.label": "ドロップして@メンションファイルを追加", + "prompt.dropzone.file.label": "ドロップしてファイルを@メンション", "prompt.slash.badge.custom": "カスタム", "prompt.slash.badge.skill": "スキル", "prompt.slash.badge.mcp": "mcp", @@ -401,6 +508,22 @@ export const dict = { "wsl.onboarding.desktopVersion": "デスクトップ {{version}}", "wsl.onboarding.versionMismatch": "インストールされているバージョンがデスクトップアプリのバージョンと一致しません。", "wsl.onboarding.adding": "追加中...", + + "help.tabs.toast.ariaLabel": "タブのご紹介。タブを使って作業と進行中のセッションを整理できます", + "help.tabs.toast.dismiss": "タブに関する案内を閉じる", + "help.tabs.title": "タブのご紹介", + "help.tabs.description": "タブを使って作業と進行中のセッションを整理できます", + "help.tabs.date": "7月14日", + "help.tabs.introduction": "OpenCode Desktopでタブを中心とした操作ができるようになりました。", + "help.tabs.sessions": + "新しいセッションをタブで開始したり、プロジェクトから既存のセッションを開いたりできます。新しい作業を始めるときは新しいタブを開き、作業が終わったら閉じます。", + "help.tabs.organize": + "複数のタブを開いておくと、進行中のセッションを整理しやすくなります。タブを残しておく場合は、覚えやすい名前に変更できます。", + "help.tabs.home": + "新しいホーム画面には、すべてのセッションとプロジェクトが表示されます。セッションを選択するとタブで開きます。", + "help.tabs.persistence": "アプリを再度開いたときも、タブは開いたままです。", + "help.tabs.worktrees": + "新しいデザインはまだGitワークツリーに対応していませんが、近日中に対応する予定です。以前のレイアウトを引き続き使用する場合は、設定でレイアウトを切り替えることができます。新しいレイアウトは数週間後に標準となる予定です。", "dialog.project.edit.title": "プロジェクトを編集", "dialog.project.edit.name": "名前", "dialog.project.edit.icon": "アイコン", @@ -413,6 +536,8 @@ export const dict = { "dialog.project.edit.worktree.startup.description": "新しいワークスペース (ワークツリー) を作成した後に実行されます。", "dialog.project.edit.worktree.startup.placeholder": "例: bun install", + "dialog.usageExceeded.dontShowAgain": "今後表示しない", + "context.breakdown.title": "コンテキストの内訳", "context.breakdown.note": '入力トークンのおおよその内訳です。"その他"にはツールの定義やオーバーヘッドが含まれます。', "context.breakdown.system": "システム", @@ -422,6 +547,8 @@ export const dict = { "context.breakdown.other": "その他", "context.systemPrompt.title": "システムプロンプト", "context.rawMessages.title": "生のメッセージ", + "context.export.session": "セッションをエクスポート", + "context.stats.session": "セッション", "context.stats.messages": "メッセージ", "context.stats.provider": "プロバイダー", @@ -488,6 +615,11 @@ export const dict = { "toast.session.unshare.success.description": "セッションの共有解除に成功しました!", "toast.session.unshare.failed.title": "セッションの共有解除に失敗しました", "toast.session.unshare.failed.description": "セッションの共有解除中にエラーが発生しました", + "toast.session.export.success.title": "セッションをエクスポートしました", + "toast.session.export.success.description": "セッションを {{filename}} に保存しました", + "toast.session.export.failed.title": "セッションのエクスポートに失敗しました", + "toast.session.export.failed.description": "セッションのエクスポート中にエラーが発生しました", + "toast.session.listFailed.title": "{{project}}のセッション読み込みに失敗しました", "toast.update.title": "アップデートが利用可能です", "toast.update.description": "OpenCodeの新しいバージョン ({{version}}) がインストール可能です。", @@ -567,7 +699,7 @@ export const dict = { "session.error.notFound.description": "このタブが参照するセッションは、このサーバーには存在しません。", "session.error.notFound.closeTab": "タブを閉じる", "session.error.serverConnection": "このサーバーに接続できません", - "session.review.filesChanged": "{{count}} ファイル変更", + "session.review.filesChanged": "変更されたファイル: {{count}}件", "session.review.change.one": "変更", "session.review.change.other": "変更", "session.review.loadingChanges": "変更を読み込み中...", @@ -657,10 +789,11 @@ export const dict = { "ターミナルの接続が中断されました。これはサーバーが再起動したときに発生することがあります。", "common.closeTab": "タブを閉じる", "common.dismiss": "閉じる", - "common.requestFailed": "リクエスト失敗", + "common.requestFailed": "リクエストに失敗しました", "common.moreOptions": "その他のオプション", "common.learnMore": "詳細", - "common.rename": "名前変更", + "common.rename": "名前を変更", + "common.export": "エクスポート", "common.reset": "リセット", "common.archive": "アーカイブ", "common.delete": "削除", @@ -734,8 +867,9 @@ export const dict = { "settings.general.row.mobileTitlebarBottom.title": "下部ナビゲーション", "settings.general.row.mobileTitlebarBottom.description": "モバイルではタイトルバーとセッションタブを画面下部に配置します", - "settings.general.row.showCustomAgents.title": "カスタムエージェント", - "settings.general.row.showCustomAgents.description": "コンポーザーにエージェント選択を表示します", + "settings.general.row.showCustomAgents.title": "エージェントを表示", + "settings.general.row.showCustomAgents.description": + "コンポーザーでエージェントを切り替えます。非表示の場合は、デフォルトでBuildエージェントが使用されます。", "settings.general.row.reasoningSummaries.title": "推論の要約を表示", "settings.general.row.reasoningSummaries.description": "タイムラインにモデルの推論の要約を表示します", "settings.general.row.shellToolPartsExpanded.title": "shell ツールパーツを展開", @@ -846,7 +980,7 @@ export const dict = { "settings.shortcuts.group.terminal": "ターミナル", "settings.shortcuts.group.prompt": "プロンプト", "settings.providers.title": "プロバイダー", - "settings.providers.description": "プロバイダー設定はここで構成できます。", + "settings.providers.description": "プロバイダー設定は今後ここで構成できるようになります。", "settings.providers.section.connected": "接続済みプロバイダー", "settings.providers.connected.empty": "接続済みプロバイダーはありません", "settings.providers.section.popular": "人気のプロバイダー", @@ -855,13 +989,13 @@ export const dict = { "settings.providers.tag.custom": "カスタム", "settings.providers.tag.other": "その他", "settings.models.title": "モデル", - "settings.models.description": "モデル設定はここで構成できます。", + "settings.models.description": "モデル設定は今後ここで構成できるようになります。", "settings.agents.title": "エージェント", - "settings.agents.description": "エージェント設定はここで構成できます。", + "settings.agents.description": "エージェント設定は今後ここで構成できるようになります。", "settings.commands.title": "コマンド", - "settings.commands.description": "コマンド設定はここで構成できます。", + "settings.commands.description": "コマンド設定は今後ここで構成できるようになります。", "settings.mcp.title": "MCP", - "settings.mcp.description": "MCP設定はここで構成できます。", + "settings.mcp.description": "MCP設定は今後ここで構成できるようになります。", "settings.permissions.title": "権限", "settings.permissions.description": "サーバーがデフォルトで使用できるツールを制御します。", "settings.permissions.section.tools": "ツール", @@ -955,6 +1089,9 @@ export const dict = { "session.question.progress": "{{total}} 問中 {{current}} 問", "session.header.open.finder": "Finder", "session.header.open.fileExplorer": "エクスプローラー", + "session.header.reveal.finder": "Finderで表示", + "session.header.reveal.fileExplorer": "エクスプローラーで表示", + "session.header.reveal.containingFolder": "親フォルダーを開く", "session.header.open.fileManager": "ファイルマネージャー", "session.header.open.app.vscode": "VS Code", "session.header.open.app.cursor": "Cursor", @@ -972,7 +1109,8 @@ export const dict = { "debugBar.ariaLabel": "開発パフォーマンス診断", "debugBar.na": "n/a", "debugBar.nav.label": "NAV", - "debugBar.nav.tip": "セッションページに触れる最後に完了したルート遷移。ルーター開始から安定後の最初の描画まで測定。", + "debugBar.nav.tip": + "セッションページに関係する最後に完了したルート遷移。ルーターの開始から処理完了後の最初の描画までを測定。", "debugBar.fps.label": "FPS", "debugBar.fps.tip": "過去5秒間のローリングフレーム/秒。", "debugBar.frame.label": "FRAME", @@ -991,6 +1129,14 @@ export const dict = { "debugBar.mem.label": "MEM", "debugBar.mem.tipUnavailable": "使用中の JS ヒープ対ヒープ制限。Chromium のみ。", "debugBar.mem.tip": "使用中の JS ヒープ対ヒープ制限。{{limit}} 中 {{used}}。", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "すべてのインタラクティブ要素にフォーカススタイルを強制適用", + "debugBar.focus.on": "オン", + "debugBar.focus.off": "オフ", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "選択中の言語を変更せずに、アプリ全体のレイアウト方向を強制設定", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", "common.key.ctrl": "Ctrl", "common.key.alt": "Alt", "common.key.shift": "Shift", @@ -1014,4 +1160,10 @@ export const dict = { "error.childStore.persistedProjectIconCreateFailed": "永続プロジェクトアイコンの作成に失敗しました", "error.childStore.storeCreateFailed": "ストアの作成に失敗しました", "terminal.connectionLost.abnormalClose": "WebSocket が異常終了しました: {{code}}", + "terminal.connectTicket.csrfError": + "PTY接続チケットは、オリジンまたはCSRFチェックによって拒否されました。サーバーのCORS設定を確認してください。", + "terminal.connectTicket.statusError": "PTY接続チケットがステータス {{status}} で失敗しました", + + "titlebar.update": "アップデート", + "titlebar.updateVersion": "アップデート {{version}}", } diff --git a/packages/app/src/i18n/ka.ts b/packages/app/src/i18n/ka.ts new file mode 100644 index 000000000000..be052930a2ec --- /dev/null +++ b/packages/app/src/i18n/ka.ts @@ -0,0 +1,1156 @@ +export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "ფაილი", + "desktop.menu.edit": "რედაქტირება", + "desktop.menu.view": "ნახვა", + "desktop.menu.go": "გადადით", + "desktop.menu.window": "ფანჯარა", + "desktop.menu.help": "დახმარება", + "desktop.menu.checkForUpdates": "შეამოწმეთ განახლებები...", + "desktop.menu.settings": "პარამეტრები", + "desktop.menu.reloadWebview": "გადატვირთვა Webview", + "desktop.menu.restart": "გადატვირთვა", + "desktop.menu.exportLogs": "ჟურნალების ექსპორტი...", + "desktop.menu.newSession": "ახალი სესია", + "desktop.menu.openProject": "გახსნა პროექტი...", + "desktop.menu.newWindow": "ახალი ფანჯარა", + "desktop.menu.closeWindow": "ფანჯრის დახურვა", + "desktop.menu.undo": "გაუქმება", + "desktop.menu.redo": "გამეორება", + "desktop.menu.cut": "მოჭრა", + "desktop.menu.copy": "ასლი", + "desktop.menu.paste": "ჩასმა", + "desktop.menu.delete": "წაშლა", + "desktop.menu.selectAll": "აირჩიეთ ყველა", + "desktop.menu.toggleSidebar": "გვერდითი ზოლის გადართვა", + "desktop.menu.toggleTerminal": "ტერმინალის ჩვენების გადართვა", + "desktop.menu.toggleFileTree": "ფაილის ხის გადართვა", + "desktop.menu.reload": "გადატვირთვა", + "desktop.menu.toggleDeveloperTools": "შემმუშავებლის ხელსაწყოების გადართვა", + "desktop.menu.actualSize": "ფაქტობრივი ზომა", + "desktop.menu.zoomIn": "გადიდება", + "desktop.menu.zoomOut": "Soom Out", + "desktop.menu.toggleFullScreen": "სრული ეკრანის გადართვა", + "desktop.menu.back": "უკან", + "desktop.menu.forward": "წინ", + "desktop.menu.previousSession": "წინა სესია", + "desktop.menu.nextSession": "შემდეგი სესია", + "desktop.menu.previousProject": "წინა პროექტი", + "desktop.menu.nextProject": "შემდეგი პროექტი", + "desktop.menu.minimize": "მინიმიზაცია", + "desktop.menu.maximize": "მაქსიმიზაცია", + "desktop.menu.documentation": "OpenCode დოკუმენტაცია", + "desktop.menu.supportForum": "მხარდაჭერის ფორუმი", + "desktop.menu.shareFeedback": "გაზიარება გამოხმაურება", + "desktop.menu.reportBug": "შეცდომის შესახებ შეტყობინება", + "desktop.menu.ariaLabel": "OpenCode მენიუ", + "desktop.updater.dialog.checkFailed.message": "განახლების შემოწმება ვერ მოხერხდა.", + "desktop.updater.dialog.checkFailed.title": "განახლების შეცდომა", + "desktop.updater.dialog.upToDate.message": "თქვენ განახლებული ხართ.", + "desktop.updater.dialog.upToDate.title": "განახლების გარეშე", + "desktop.updater.dialog.ready.message": "განახლება {{version}} ჩამოტვირთულია. გადატვირთვა ახლა?", + "desktop.updater.dialog.ready.title": "განახლება მზად არის", + "desktop.updater.dialog.restart": "გადატვირთვა", + "desktop.updater.dialog.later": "მოგვიანებით", + "desktop.recovery.action.relaunch": "ხელახლა გაშვება", + "desktop.recovery.action.exportLogs": "ჟურნალების ექსპორტი", + "desktop.recovery.action.keepWaiting": "მოელოდეთ", + "desktop.recovery.action.quit": "გამოსვლა", + "desktop.recovery.loadFailed": "OpenCode ვერ ჩაიტვირთა", + "desktop.recovery.terminated": "OpenCode ფანჯარა მოულოდნელად შეწყდა", + "desktop.recovery.unresponsive": "OpenCode არ პასუხობს", + "desktop.recovery.unresponsive.detail": "შეგიძლიათ ხელახლა გაუშვათ აპი, გახსნათ ჟურნალები ან გააგრძელოთ ლოდინი.", + "desktop.recovery.loadFailed.detail": "ფანჯარა: {{window}}\nURL: {{url}}\nშეცდომა: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "ფანჯარა: {{window}}\nმიზეზი: {{reason}}\nკოდი: {{code}}", + "desktop.recovery.unknown": "", + "desktop.dialog.chooseFolder": "აირჩიე საქაღალდე", + "desktop.dialog.chooseFile": "აირჩიე ფაილი", + "desktop.dialog.saveFile": "ფაილის შენახვა", + "desktop.dialog.files": "ფაილები", + "desktop.server.local": "ლოკალური სერვერი", + "desktop.wsl.error.windowsOnly": "WSL ხელმისაწვდომია მხოლოდ Windows", + "desktop.wsl.error.unavailable": "WSL მიუწვდომელია", + "desktop.wsl.error.listInstalled": "დაინსტალირებული WSL დისტროსიების სია ვერ მოიძებნა", + "desktop.wsl.error.listOnline": "ვერ განხორციელდა ონლაინ WSL დისტრიბუტების სიაში", + "desktop.wsl.error.executeDistro": "შეუძლებელია ბრძანებების შესრულება დისტროში", + "desktop.wsl.error.installWsl": "WSL ინსტალაცია ვერ მოხერხდა", + "desktop.wsl.error.installDistro": "დისტროს დაყენება ვერ მოხერხდა: {{distro}}", + "desktop.wsl.error.installOpencode": "OpenCode ინსტალაცია ვერ მოხერხდა", + "desktop.wsl.error.alreadyAdded": "{{distro}} უკვე დამატებულია", + "desktop.wsl.error.opencodeMissing": "opencode არ არის დაინსტალირებული ამ დისტროში", + "desktop.wsl.error.opencodeCannotRun": "opencode დაინსტალირებულია, მაგრამ ვერ გაშვება", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode არ არის დაინსტალირებული {{distro}}", + "desktop.wsl.error.updateVersion": + "OpenCode განახლება დასრულდა, მაგრამ {{distro}} კვლავ იუწყება {{installed}}; მოსალოდნელია {{expected}}", + "desktop.wsl.error.noVersion": "ვერსიის გარეშე", + "desktop.wsl.error.serverExited": "WSL სერვერი გავიდა გაშვების შემდეგ (კოდი={{code}} სიგნალი={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL სერვერი გავიდა გაჯანსაღებამდე (code={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": "Sidecar for {{distro}} ჯანმრთელობის შემოწმების დრო ამოიწურა {{timeout}}ms", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} დრო ამოიწურა {{timeout}}ms", + "desktop.wsl.error.failedPort": "პორტის მიღება ვერ მოხერხდა", + "desktop.picker.error.notSelected": "ფაილი არ იყო არჩეული ამომრჩევლის მიერ", + "desktop.picker.error.sizeLimit": "არჩეული დანართები აღემატება {{limit}} MB ლიმიტს", + "command.category.suggested": "შემოთავაზებულია", + "command.category.view": "ნახვა", + "command.category.project": "პროექტი", + "command.category.provider": "პროვაიდერი", + "command.category.server": "სერვერი", + "command.category.session": "სესია", + "command.category.theme": "თემა", + "command.category.language": "ენა", + "command.category.file": "ფაილი", + "command.category.context": "კონტექსტი", + "command.category.terminal": "ტერმინალი", + "command.category.model": "მოდელი", + "command.category.mcp": "MCP", + "command.category.agent": "აგენტი", + "command.category.permissions": "ნებართვები", + "command.category.workspace": "სამუშაო სივრცე", + "command.category.settings": "პარამეტრები", + "command.logs.export": "ექსპორტის ჟურნალები", + "theme.scheme.system": "სისტემა", + "theme.scheme.light": "ღია", + "theme.scheme.dark": "მუქი", + "command.sidebar.toggle": "გვერდითი ზოლის გადართვა", + "command.project.open": "გახსნა პროექტი", + "command.project.previous": "წინა პროექტი", + "command.project.next": "შემდეგი პროექტი", + "command.project.index": "პროექტზე გადართვა {{index}}", + "command.provider.connect": "დააკავშირე პროვაიდერი", + "command.server.switch": "სერვერის გადართვა", + "command.settings.open": "გახსნა პარამეტრები", + "command.session.previous": "წინა სესია", + "command.session.next": "შემდეგი სესია", + "command.session.previous.unseen": "წინა წაუკითხავი სესია", + "command.session.next.unseen": "შემდეგი წაუკითხავი სესია", + "command.session.archive": "სესიის დაარქივება", + "command.palette": "ბრძანების პალიტრა", + "command.theme.cycle": "ციკლის თემა", + "command.theme.set": "გამოიყენე თემა: {{theme}}", + "command.theme.scheme.cycle": "ციკლის ფერის სქემა", + "command.theme.scheme.set": "გამოიყენე ფერთა სქემა: {{scheme}}", + "command.language.cycle": "ციკლის ენა", + "command.language.set": "გამოიყენე ენა: {{language}}", + "command.session.new": "ახალი სესია", + "command.file.open": "გახსენით ფაილი", + "command.tab.close": "ჩანართის დახურვა", + "command.tab.reopenClosed": "დახურული ჩანართის ხელახლა გახსნა", + "command.context.addSelection": "მონიშვნის დამატება კონტექსტში", + "command.context.addSelection.description": "მორჩეული ხაზების დამატება მიმდინარე ფაილიდან", + "command.input.focus": "ფოკუსის შეყვანა", + "command.terminal.toggle": "ტერმინალის გადართვა", + "command.fileTree.toggle": "ფაილის ხის გადართვა", + "command.review.toggle": "მიმოხილვის გადართვა", + "command.terminal.new": "ახალი ტერმინალი", + "command.terminal.new.description": "ტერმინალის ახალი ჩანართის შექმნა", + "command.steps.toggle": "გადართვა ნაბიჯები", + "command.steps.toggle.description": "აჩვენეთ ან დამალეთ ნაბიჯები მიმდინარე შეტყობინებისთვის", + "command.message.previous": "წინა შეტყობინება", + "command.message.previous.description": "გადადით მომხმარებლის წინა შეტყობინებაზე", + "command.message.next": "შემდეგი შეტყობინება", + "command.message.next.description": "გადადით მომხმარებლის შემდეგ შეტყობინებაზე", + "command.model.choose": "აირჩიე მოდელი", + "command.model.choose.description": "აირჩიე სხვა მოდელი", + "command.mcp.toggle": "გადართვა MCPs", + "command.mcp.toggle.description": "გადართვა MCPs", + "command.agent.cycle": "შემდეგ აგენტზე გადასვლა", + "command.agent.cycle.description": "გადართვა შემდეგ აგენტზე", + "command.agent.cycle.reverse": "წინა აგენტზე გადასვლა", + "command.agent.cycle.reverse.description": "წინა აგენტზე გადასვლა", + "command.model.variant.cycle": "აზროვნების ძალისხმევის დონის შეცვლა", + "command.model.variant.cycle.description": "გადართვა ძალისხმევის შემდეგ დონეზე", + "command.prompt.mode.shell": "Shell", + "command.prompt.mode.normal": "მოთხოვნა", + "command.permissions.autoaccept.enable": "ნებართვების ავტომატური მიღება", + "command.permissions.autoaccept.disable": "ნებართვების ავტომატური მიღების შეწყვეტა", + "command.workspace.toggle": "სამუშაო სივრცის გადართვა", + "command.workspace.toggle.description": "ჩართეთ ან გამორთეთ მრავალი სამუშაო სივრცე გვერდითა ზოლში", + "command.session.undo": "გაუქმება", + "command.session.undo.description": "ბოლო შეტყობინების გაუქმება", + "command.session.redo": "გამეორება", + "command.session.redo.description": "გაამეორეთ ბოლო გაუქმებული შეტყობინება", + "command.session.compact": "კომპაქტური სესია", + "command.session.compact.description": "შეაჯამეთ სესია კონტექსტის ზომის შესამცირებლად", + "command.session.fork": "შეტყობინებიდან განშტოება", + "command.session.fork.description": "შექმენით ახალი სესია წინა შეტყობინებისგან", + "command.session.share": "გაზიარება სესიის", + "command.session.share.description": "გააზიარეთ ეს სესია და დააკოპირეთ URL ბუფერში", + "command.session.unshare": "გაზიარების სესიის გაუქმება", + "command.session.unshare.description": "შეწყვიტე ამ სესიის გაზიარება", + "command.session.export": "ექსპორტის სესია", + "command.session.export.description": "სესიის სრული ტრანსკრიპტის ექსპორტი, როგორც JSON", + "palette.search.placeholder": "ფაილების, ბრძანებების და სესიების ძიება", + "palette.search.placeholder.home": "ძებნის ბრძანებები და სესიები", + "palette.empty": "შედეგები არ მოიძებნა", + "palette.group.commands": "ბრძანებები", + "palette.group.files": "ფაილები", + "dialog.provider.search.placeholder": "ძებნის პროვაიდერები", + "dialog.provider.empty": "პროვაიდერები არ მოიძებნა", + "dialog.provider.group.popular": "პოპულარული", + "dialog.provider.group.other": "სხვა", + "dialog.provider.custom.label": "მორგებული OpenAI-თავსებადი პროვაიდერი", + "dialog.provider.tag.recommended": "რეკომენდებულია", + "dialog.provider.opencode.note": "კურირებული მოდელები, მათ შორის Claude, GPT, Gemini და სხვა", + "dialog.provider.opencode.tagline": "სანდო ოპტიმიზებული მოდელები", + "dialog.provider.opencodeGo.tagline": "დაბალფასიანი გამოწერა ყველასთვის", + "dialog.provider.anthropic.note": "პირდაპირი წვდომა Claude მოდელზე, მათ შორის Pro და Max", + "dialog.provider.copilot.note": "AI მოდელები კოდირების დახმარებისთვის GitHub Copilot", + "dialog.provider.openai.note": "GPT მოდელები სწრაფი, ზოგადი AI ამოცანების შესასრულებლად", + "dialog.provider.google.note": "Gemini მოდელები სწრაფი, სტრუქტურირებული პასუხებისთვის", + "dialog.provider.openrouter.note": "წვდომა ყველა მხარდაჭერილ მოდელზე ერთი პროვაიდერისგან", + "dialog.provider.vercel.note": "ერთიანი წვდომა AI მოდელებზე ჭკვიანი მარშრუტით", + "dialog.model.select.title": "აირჩიეთ მოდელი", + "dialog.model.search.placeholder": "მოდელების ძიება", + "dialog.model.empty": "მოდელის შედეგები არ არის", + "dialog.model.manage": "მოდელების მართვა", + "dialog.model.manage.description": "მოარგეთ რომელი მოდელები გამოჩნდება მოდელის ამომრჩეველში.", + "dialog.model.manage.provider.toggle": "ყველა {{provider}} მოდელის გადართვა", + "dialog.model.unpaid.freeModels.title": "უფასო მოდელები მოწოდებულია OpenCode", + "dialog.model.unpaid.addMore.title": "დაამატე მეტი მოდელები პოპულარული პროვაიდერებისგან", + "dialog.model.unpaid.viewMoreProviders": "იხილეთ 70+ სხვა პროვაიდერი", + "dialog.provider.viewAll": "აჩვენე მეტი პროვაიდერი", + "provider.connect.title": "დაკავშირება {{provider}}", + "provider.connect.title.anthropicProMax": "შესვლა Claude Pro/Max-ით", + "provider.connect.selectMethod": "აირჩიეთ შესვლის მეთოდი {{provider}}-ისთვის.", + "provider.connect.method.apiKey": "API გასაღები", + "provider.connect.method.browser": "ბრაუზერი", + "provider.connect.method.headless": "გრაფიკული ინტერფეისის გარეშე", + "provider.connect.status.inProgress": "ავტორიზაცია მიმდინარეობს...", + "provider.connect.status.waiting": "ველოდები ავტორიზაციას...", + "provider.connect.status.failed": "ავტორიზაცია ვერ მოხერხდა: {{error}}", + "provider.connect.apiKey.description": + "შეიყვანეთ თქვენი {{provider}} API გასაღები თქვენი ანგარიშის დასაკავშირებლად და გამოიყენეთ {{provider}} მოდელები OpenCode-ში.", + "provider.connect.apiKey.label": "{{provider}} API გასაღები", + "provider.connect.apiKey.placeholder": "API გასაღები", + "provider.connect.apiKey.required": "API გასაღები საჭიროა", + "provider.connect.opencodeZen.line1": + "OpenCode Zen გაძლევთ წვდომას კოდირების აგენტებისთვის საიმედო ოპტიმიზირებული მოდელების კურირებულ კომპლექტზე.", + "provider.connect.opencodeZen.line2": + "ერთი API გასაღებით თქვენ მიიღებთ წვდომას ისეთ მოდელებზე, როგორიცაა Claude, GPT, Gemini, GLM და სხვა.", + "provider.connect.opencodeZen.visit.prefix": "ეწვიეთ ", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": " თქვენი API გასაღების შესაგროვებლად.", + "provider.connect.oauth.code.visit.prefix": "ეწვიეთ ", + "provider.connect.oauth.code.visit.link": "ეს ბმული", + "provider.connect.oauth.code.visit.suffix": + " შეაგროვეთ თქვენი ავტორიზაციის კოდი თქვენი ანგარიშის დასაკავშირებლად და გამოიყენოთ {{provider}} მოდელები OpenCode-ში.", + "provider.connect.oauth.code.label": "{{method}} ავტორიზაციის კოდი", + "provider.connect.oauth.code.placeholder": "ავტორიზაციის კოდი", + "provider.connect.oauth.code.required": "საჭიროა ავტორიზაციის კოდი", + "provider.connect.oauth.code.invalid": "არასწორი ავტორიზაციის კოდი", + "provider.connect.oauth.auto.visit.prefix": "ეწვიეთ ", + "provider.connect.oauth.auto.visit.link": "ეს ბმული", + "provider.connect.oauth.auto.visit.suffix": + " და შეიყვანეთ ქვემოთ კოდი თქვენი ანგარიშის დასაკავშირებლად და გამოიყენეთ {{provider}} მოდელები OpenCode-ში.", + "provider.connect.oauth.auto.confirmationCode": "დადასტურების კოდი", + "provider.connect.toast.connected.title": "{{provider}} დაკავშირებული", + "provider.connect.toast.connected.description": "{{provider}} მოდელები ახლა ხელმისაწვდომია გამოსაყენებლად.", + "provider.custom.title": "მომხმარებელი პროვაიდერი", + "provider.custom.unavailable": "მორგებული პროვაიდერები მიუწვდომელია ამ სერვერზე", + "provider.custom.description.prefix": "OpenAI-თავსებადი პროვაიდერის კონფიგურაცია. იხილეთ ", + "provider.custom.description.link": "პროვაიდერის კონფიგურაციის დოკუმენტები", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "პროვაიდერის ID", + "provider.custom.field.providerID.placeholder": "myprovider", + "provider.custom.field.providerID.description": "მცირე ასოები, რიცხვები, დეფისები ან ქვედა ხაზი", + "provider.custom.field.name.label": "საჩვენებელი სახელი", + "provider.custom.field.name.placeholder": "ჩემი AI პროვაიდერი", + "provider.custom.field.baseURL.label": "ბაზა URL", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "API გასაღები", + "provider.custom.field.apiKey.placeholder": "API გასაღები", + "provider.custom.field.apiKey.description": + "სურვილისამებრ. დატოვეთ ცარიელი, თუ თქვენ მართავთ ავტორიზაციას სათაურების მეშვეობით.", + "provider.custom.models.label": "მოდელები", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "model-id", + "provider.custom.models.name.label": "სახელი", + "provider.custom.models.name.placeholder": "საჩვენებელი სახელი", + "provider.custom.models.remove": "მოდელის ამოღება", + "provider.custom.models.add": "მოდელის დამატება", + "provider.custom.headers.label": "Headers (სურვილისამებრ)", + "provider.custom.headers.key.label": "ჰედერი", + "provider.custom.headers.key.placeholder": "Header-Name", + "provider.custom.headers.value.label": "მნიშვნელობა", + "provider.custom.headers.value.placeholder": "მნიშვნელობა", + "provider.custom.headers.remove": "სათაურის წაშლა", + "provider.custom.headers.add": "სათაურის დამატება", + "provider.custom.error.providerID.required": "საჭიროა პროვაიდერის ID", + "provider.custom.error.providerID.format": "გამოიყენე მცირე ასოები, რიცხვები, დეფისები ან ქვედა ხაზი", + "provider.custom.error.providerID.exists": "ეს პროვაიდერის ID უკვე არსებობს", + "provider.custom.error.name.required": "საჩვენებელი სახელი აუცილებელია", + "provider.custom.error.baseURL.required": "საჭიროა ბაზის URL", + "provider.custom.error.baseURL.format": "უნდა დაიწყოს http:// ან https://", + "provider.custom.error.required": "საჭირო", + "provider.custom.error.duplicate": "დუბლიკატი", + "provider.disconnect.toast.disconnected.title": "{{provider}} გათიშულია", + "provider.disconnect.toast.disconnected.description": "{{provider}} მოდელები აღარ არის ხელმისაწვდომი.", + "model.tag.free": "უფასო", + "model.tag.latest": "უახლესი", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "ტექსტი", + "model.input.image": "სურათი", + "model.input.audio": "აუდიო", + "model.input.video": "ვიდეო", + "model.input.pdf": "pdf", + "model.tooltip.allows": "ნებას რთავს: {{inputs}}", + "model.tooltip.context.label": "კონტექსტი", + "model.tooltip.inputs": "შეყვანები", + "model.tooltip.model": "მოდელი", + "model.tooltip.provider": "პროვაიდერი", + "model.tooltip.reasoning": "მსჯელობა", + "model.tooltip.reasoning.allowed": "ნებას რთავს მსჯელობას", + "model.tooltip.reasoning.none": "მსჯელობის გარეშე", + "model.tooltip.context": "კონტექსტის ლიმიტი {{limit}}", + "common.search.placeholder": "ძებნა", + "common.goBack": "ნავიგაცია უკან", + "common.goForward": "ნავიგაცია წინ", + "common.loading": "იტვირთება", + "common.loading.ellipsis": "...", + "common.cancel": "გაუქმება", + "common.clear": "გასუფთავება", + "common.open": "გახსნა", + "common.connect": "დაკავშირება", + "common.disconnect": "გათიშვა", + "common.continue": "გაგრძელება", + "common.submit": "გაგზავნა", + "common.save": "შენახვა", + "common.saving": "შენახვა...", + "common.default": "ნაგულისხმევი", + "common.attachment": "დანართი", + "prompt.placeholder.shell": "შეიყვანეთ shell ბრძანება... {{example}}", + "prompt.placeholder.normal": 'იკითხეთ რაიმე... "{{example}}"', + "prompt.placeholder.simple": "იკითხე რაიმე...", + "prompt.placeholder.summarizeComments": "კომენტარების შეჯამება…", + "prompt.placeholder.summarizeComment": "კომენტარის შეჯამება…", + "prompt.mode.shell": "Shell", + "prompt.mode.normal": "მოთხოვნა", + "prompt.mode.shell.exit": "გასასვლელად დააჭირეთ esc-ს", + "session.child.promptDisabled": "სუბაგენტის სესიების მოთხოვნა შეუძლებელია.", + "session.child.backToParent": "უკან მთავარ სესიაზე.", + "prompt.example.1": "გაასწორეთ TODO კოდების ბაზაში", + "prompt.example.2": "რა არის ამ პროექტის ტექნიკური დასტა?", + "prompt.example.3": "გატეხილი ტესტების შესწორება", + "prompt.example.4": "ახსნა, როგორ მუშაობს ავთენტიფიკაცია", + "prompt.example.5": "იპოვეთ და შეასწორეთ უსაფრთხოების ხარვეზები", + "prompt.example.6": "დაამატეთ ერთეულის ტესტები მომხმარებლის სერვისისთვის", + "prompt.example.7": "გააკეთეთ ეს ფუნქცია უფრო წასაკითხად", + "prompt.example.8": "რას ნიშნავს ეს შეცდომა?", + "prompt.example.9": "დამეხმარეთ ამ საკითხის გამართვა", + "prompt.example.10": "შექმენით API დოკუმენტაცია", + "prompt.example.11": "მონაცემთა ბაზის მოთხოვნების ოპტიმიზაცია", + "prompt.example.12": "შეყვანის ვალიდაციის დამატება", + "prompt.example.13": "შექმენით ახალი კომპონენტი...", + "prompt.example.14": "როგორ განვათავსო ეს პროექტი?", + "prompt.example.15": "მიმოიხილე ჩემი კოდი საუკეთესო პრაქტიკისთვის", + "prompt.example.16": "შეცდომის დამუშავების დამატება ამ ფუნქციას", + "prompt.example.17": "განმარტეთ ეს რეგექსის ნიმუში", + "prompt.example.18": "გადააკეთე ეს TypeScript-ად", + "prompt.example.19": "დაამატეთ ჟურნალი კოდების ბაზაში", + "prompt.example.20": "რა დამოკიდებულებებია მოძველებული?", + "prompt.example.21": "დამეხმარეთ მიგრაციის სკრიპტის დაწერაში", + "prompt.example.22": "ქეშირების განხორციელება ამ ბოლო წერტილისთვის", + "prompt.example.23": "დაამატე გვერდი ამ სიაში", + "prompt.example.24": "შექმენით CLI ბრძანება...", + "prompt.example.25": "როგორ მუშაობს აქ გარემოს ცვლადები?", + "prompt.popover.emptyResults": "შესაბამისი შედეგები არ არის", + "prompt.popover.emptyCommands": "შესაბამისი ბრძანებები არ არის", + "prompt.dropzone.label": "ჩააგდე სურათები, PDF ან ტექსტური ფაილები აქ", + "prompt.dropzone.file.label": "ჩაშვება @mention ფაილზე", + "prompt.slash.badge.custom": "მორგებული", + "prompt.slash.badge.skill": "უნარი", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "აქტიური", + "prompt.context.includeActiveFile": "აქტიური ფაილის ჩართვა", + "prompt.context.removeActiveFile": "აქტიური ფაილის ამოღება კონტექსტიდან", + "prompt.context.removeFile": "ფაილის ამოღება კონტექსტიდან", + "prompt.action.attachFile": "ფაილების დამატება", + "prompt.menu.addImagesAndFiles": "ფაილების დამატება და სხვა", + "prompt.menu.imagesAndFiles": "სურათები და ფაილები", + "prompt.menu.commands": "ბრძანებები", + "prompt.menu.context": "კონტექსტი", + "prompt.menu.shellCommand": "Shell ბრძანება", + "prompt.attachment.remove": "დანართის წაშლა", + "prompt.action.send": "გაგზავნა", + "prompt.action.stop": "შეჩერება", + "prompt.toast.pasteUnsupported.title": "მხარდაუჭერელი დანართი", + "prompt.toast.pasteUnsupported.description": "აქ შეიძლება დაერთოს მხოლოდ სურათები, PDF ან ტექსტური ფაილები.", + "prompt.toast.attachmentDuplicate.title": "ეს ფაილი უკვე ატვირთულია", + "prompt.toast.modelAgentRequired.title": "აირჩიეთ აგენტი და მოდელი", + "prompt.toast.modelAgentRequired.description": "აირჩიეთ აგენტი და მოდელი მოთხოვნის გაგზავნამდე.", + "prompt.toast.worktreeCreateFailed.title": "ვერ შეიქმნა სამუშაო ხე", + "prompt.toast.sessionCreateFailed.title": "სესიის შექმნა ვერ მოხერხდა", + "prompt.toast.shellSendFailed.title": "Shell ბრძანების გაგზავნა ვერ მოხერხდა", + "prompt.toast.commandSendFailed.title": "ბრძანების გაგზავნა ვერ მოხერხდა", + "prompt.toast.promptSendFailed.title": "მოთხოვნის გაგზავნა ვერ მოხერხდა", + "prompt.toast.promptSendFailed.description": "შეუძლებელია სესიის მოძიება", + "dialog.mcp.title": "MCPs", + "dialog.mcp.description": "{{enabled}} / {{total}}-დან ჩართულია", + "dialog.mcp.empty": "არა MCPs კონფიგურირებული", + "dialog.lsp.empty": "LSPs ავტომატურად გამოვლენილია ფაილის ტიპებიდან", + "dialog.plugins.empty": "პლაგინები კონფიგურირებულია opencode.json-ში", + "mcp.status.connected": "დაკავშირებულია", + "mcp.status.failed": "ვერ მოხერხდა", + "mcp.status.needs_auth": "საჭიროა ავტორიზაცია", + "mcp.status.disabled": "გამორთულია", + "mcp.auth.clickToAuthenticate": "დააწკაპუნეთ ავთენტიფიკაციისთვის", + "dialog.fork.empty": "განშტოებისთვის შეტყობინებები არ არის", + "dialog.directory.search.placeholder": "საქაღალდეების ძიება", + "dialog.directory.empty": "საქაღალდეები არ მოიძებნა", + "dialog.directory.action.selectFile": "აირჩიეთ ფაილი", + "dialog.directory.action.selectFolder": "აირჩიე საქაღალდე", + "dialog.directory.root": "ძირეული", + "dialog.directory.parent": "მშობელი", + "dialog.directory.readError": "ამ საქაღალდის წაკითხვა შეუძლებელია", + "app.server.unreachable": "ვერ მივაღწიე {{server}}", + "app.server.retrying": "ვცდი ავტომატურად...", + "app.server.otherServers": "სხვა სერვერები", + "dialog.server.title": "სერვერები", + "dialog.server.description": "გადართეთ რომელ OpenCode სერვერს უკავშირდება ეს აპი.", + "dialog.server.search.placeholder": "სერვერების ძებნა", + "dialog.server.empty": "სერვერები ჯერ არ არის", + "dialog.server.add.title": "სერვერის დამატება", + "dialog.server.add.url": "სერვერის მისამართი", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "სერვერთან დაკავშირება ვერ მოხერხდა", + "dialog.server.add.checking": "შემოწმება...", + "dialog.server.add.button": "სერვერის დამატება", + "dialog.server.add.name": "სერვერის სახელი (არასავალდებულო)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "მომხმარებლის სახელი (არასავალდებულო)", + "dialog.server.add.usernamePlaceholder": "მომხმარებლის სახელი", + "dialog.server.add.password": "პაროლი (არასავალდებულო)", + "dialog.server.add.passwordPlaceholder": "პაროლი", + "dialog.server.edit.title": "სერვერის რედაქტირება", + "dialog.server.default.title": "ნაგულისხმევი სერვერი", + "dialog.server.default.description": + "დაკავშირება ამ სერვერთან აპის გაშვებისას, ადგილობრივი სერვერის გაშვების ნაცვლად. საჭიროებს გადატვირთვას.", + "dialog.server.default.none": "სერვერი არ არის არჩეული", + "dialog.server.default.set": "მიმდინარე სერვერის დაყენება ნაგულისხმევად", + "dialog.server.default.clear": "გასუფთავება", + "dialog.server.action.remove": "სერვერის წაშლა", + "dialog.server.menu.edit": "რედაქტირება", + "dialog.server.menu.default": "დაყენება ნაგულისხმევად", + "dialog.server.menu.defaultRemove": "ნაგულისხმევის ამოღება", + "dialog.server.menu.delete": "წაშლა", + "dialog.server.current": "მიმდინარე სერვერი", + "dialog.server.status.default": "ნაგულისხმევი", + "wsl.server.add": "დაამატე WSL სერვერი", + "wsl.server.addShort": "დაამატე WSL", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "WSL სერვერი", + "wsl.server.retryStart": "სცადეთ ხელახლა დაწყება", + "wsl.server.updating": "განახლება...", + "wsl.onboarding.step.distro": "აირჩიე დისტრო", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "შემოწმებულია WSL...", + "wsl.onboarding.restartRequired": "Windows საჭიროებს გადატვირთვას WSL-ის ინსტალაციის დასასრულებლად.", + "wsl.onboarding.ready": "WSL მზად არის.", + "wsl.onboarding.required": "WSL საჭიროა გასაგრძელებლად.", + "wsl.onboarding.checkingDistros": "გავრცელების შემოწმება...", + "wsl.onboarding.installingDistro": "ინსტალაცია {{distro}}...", + "wsl.onboarding.checkingDistro": "შემოწმებულია {{distro}}...", + "wsl.onboarding.listingDistros": "Listing Distros...", + "wsl.onboarding.distroReady": "{{distro}} მზად არის.", + "wsl.onboarding.distroNotInstalled": "{{distro}} ჯერ არ არის დაინსტალირებული.", + "wsl.onboarding.openDistroOnce": "გახსენით {{distro}} ერთხელ დაყენების დასასრულებლად.", + "wsl.onboarding.finishingDistro": "{{distro}}-ისთვის დაყენების დასრულება.", + "wsl.onboarding.pickDistro": "აირჩიეთ დისტრო ან დააინსტალირეთ ერთი ქვემოთ.", + "wsl.onboarding.checkingOpencode": "შემოწმებულია OpenCode...", + "wsl.onboarding.checkingOpencodeIn": "შემოწმებულია OpenCode-ში {{distro}}...", + "wsl.onboarding.updatingOpencode": "განახლება OpenCode...", + "wsl.onboarding.updatingOpencodeIn": "OpenCode განახლება ხდება {{distro}}...", + "wsl.onboarding.updateOpencodeIn": "განახლება OpenCode {{distro}}-ში.", + "wsl.onboarding.updateOpencode": "განახლება OpenCode", + "wsl.onboarding.opencodeReadyIn": "OpenCode მზად არის {{distro}}-ში.", + "wsl.onboarding.opencodeReady": "OpenCode მზად არის.", + "wsl.onboarding.installOpencodeIn": "დააინსტალირეთ OpenCode {{distro}}-ში.", + "wsl.onboarding.installOpencode": "დააინსტალირეთ OpenCode", + "wsl.onboarding.chooseDistroFirst": "აირჩიეთ ჯერ დისტრო.", + "wsl.onboarding.loadFailed": "ვერ ჩაიტვირთა WSL მდგომარეობა.", + "wsl.onboarding.loading": "იტვირთება...", + "wsl.onboarding.installedDistros": "დაინსტალირებული დისტროები", + "wsl.onboarding.checkAgain": "გადაამოწმეთ", + "wsl.onboarding.distroStatus.ready": "მზად", + "wsl.onboarding.distroStatus.checking": "შემოწმება...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode არ არის დაინსტალირებული", + "wsl.onboarding.distroStatus.missingTools": "აკლია bash და curl", + "wsl.onboarding.distroStatus.unsupported": "მხარდაუჭერელია · გამოიყენეთ WSL 2", + "wsl.onboarding.needAnotherDistro": "გჭირდებათ სხვა დისტრო?", + "wsl.onboarding.needAnotherDistroHint": "დააინსტალირეთ Linux დისტრიბუცია WSL კატალოგიდან", + "wsl.onboarding.wslNotInstalled.title": "WSL არ არის დაინსტალირებული", + "wsl.onboarding.wslNotInstalled.description": + "WSL (Windows ქვესისტემა Linux-ისთვის) საჭიროა, სანამ OpenCode შეძლებს WSL სერვერის დამატებას", + "wsl.onboarding.wslUnavailable.title": "WSL მიუწვდომელია", + "wsl.onboarding.wslUnavailable.description": "OpenCode ვერ დაადასტურა WSL ამ მოწყობილობაზე.", + "wsl.onboarding.installWsl": "დააინსტალირეთ WSL", + "wsl.onboarding.windowsRestartRequired": + "გადატვირთეთ Windows WSL-ის ინსტალაციის დასასრულებლად, შემდეგ ხელახლა გახსენით OpenCode.", + "wsl.onboarding.next": "შემდეგი", + "wsl.onboarding.refresh": "განახლება", + "wsl.onboarding.allDistrosAdded": "ყველა დაინსტალირებული დისტრო უკვე დამატებულია.", + "wsl.onboarding.noDistros": "გავრცელება ჯერ არ არის გამოვლენილი.", + "wsl.onboarding.install": "ინსტალაცია", + "wsl.onboarding.installing": "ინსტალაცია...", + "wsl.onboarding.installDistro": "Install Distro", + "wsl.onboarding.searchDistros": "ძიების დისტრიბუციები", + "wsl.onboarding.wsl2Required": "WSL 2 საჭიროა.", + "wsl.onboarding.toolsRequired": "ამ დისტროს სჭირდება bash და curl.", + "wsl.onboarding.openTerminal": "ტერმინალის გახსნა", + "wsl.onboarding.path": "გზა: {{path}}", + "wsl.onboarding.notFound": "ვერ მოიძებნა", + "wsl.onboarding.version": "ვერსია: {{version}}", + "wsl.onboarding.unknown": "უცნობი", + "wsl.onboarding.desktopVersion": "დესკტოპის {{version}}", + "wsl.onboarding.versionMismatch": "დაინსტალირებული ვერსია არ ემთხვევა დესკტოპის აპის ვერსიას.", + "wsl.onboarding.adding": "დამატება...", + "help.tabs.toast.ariaLabel": "გაცნობა ჩანართებს. მოაწყეთ თქვენი სამუშაო და აქტიური სესიები ჩანართებით", + "help.tabs.toast.dismiss": "ჩანართების ინფორმაციის უარყოფა", + "help.tabs.title": "ჩანართების გაცნობა", + "help.tabs.description": "მოაწყვეთ თქვენი სამუშაო და აქტიური სესიები ჩანართებით", + "help.tabs.date": "14 ივლისი", + "help.tabs.introduction": "OpenCode სამუშაო მაგიდა ახლა აგებულია ჩანართების გარშემო.", + "help.tabs.sessions": + "დაიწყეთ ახალი სესია ჩანართში, ან გახსენით არსებული სესია თქვენი რომელიმე პროექტიდან. გახსენით ახალი ჩანართი, როდესაც რაიმე ახალს იწყებთ და დახურეთ, როდესაც დაასრულებთ.", + "help.tabs.organize": + "რამდენიმე ჩანართის გახსნა გაადვილებს თქვენი აქტიური სესიების ორგანიზებას. გადაარქვით ჩანართებს რაიმე დასამახსოვრებლად, თუ აპირებთ მათ შენარჩუნებას.", + "help.tabs.home": + "თქვენ იპოვით ყველა თქვენს სესიას და პროექტს ახალ მთავარ ეკრანზე. სესიის არჩევა ხსნის მას ჩანართში.", + "help.tabs.persistence": "აპის ხელახლა გახსნისას, თქვენი ჩანართები კვლავ ღიაა.", + "help.tabs.worktrees": + "ახალი დიზაინი ჯერ არ უჭერს მხარს Git Worktrees-ს, ის მალე გამოვა. ასე რომ, თუ გსურთ გააგრძელოთ წინა განლაგების გამოყენება, შეგიძლიათ გადართოთ განლაგებებს შორის პარამეტრებიდან. უბრალოდ გაითვალისწინეთ, რომ ახალი განლაგება მუდმივი გახდება რამდენიმე კვირაში.", + "server.row.noUsername": "მომხმარებლის სახელის გარეშე", + "dialog.project.edit.title": "პროექტის რედაქტირება", + "dialog.project.edit.name": "სახელი", + "dialog.project.edit.icon": "ხატულა", + "dialog.project.edit.icon.alt": "პროექტის ხატულა", + "dialog.project.edit.icon.hint": "დააწკაპუნეთ ან გადაიტანეთ სურათზე", + "dialog.project.edit.icon.recommended": "რეკომენდებულია: 128x128px", + "dialog.project.edit.color": "ფერი", + "dialog.project.edit.color.select": "აირჩიეთ {{color}} ფერი", + "dialog.project.edit.worktree.startup": "სამუშაო სივრცის გაშვების სკრიპტი", + "dialog.project.edit.worktree.startup.description": "იშვება ახალი სამუშაო სივრცის (სამუშაო ხის) შექმნის შემდეგ", + "dialog.project.edit.worktree.startup.placeholder": "მაგ. bun ინსტალაცია", + "dialog.releaseNotes.action.getStarted": "დაწყება", + "dialog.releaseNotes.action.next": "შემდეგი", + "dialog.releaseNotes.action.hideFuture": "მომავალში არ მაჩვენო", + "dialog.releaseNotes.media.alt": "გამოშვების გადახედვა", + "context.breakdown.title": "კონტექსტის დაშლა", + "context.breakdown.note": 'შეყვანის ნიშნების სავარაუდო დაშლა. "სხვა" მოიცავს ხელსაწყოს განმარტებებს და ზედნადებს.', + "context.breakdown.system": "სისტემა", + "context.breakdown.user": "მომხმარებელი", + "context.breakdown.assistant": "ასისტენტი", + "context.breakdown.tool": "ხელსაწყოს გამოძახებები", + "context.breakdown.other": "სხვა", + "context.systemPrompt.title": "სისტემის მოთხოვნა", + "context.rawMessages.title": "დაუმუშავებელი შეტყობინებები", + "context.export.session": "ექსპორტის სესია", + "context.stats.session": "სესია", + "context.stats.messages": "შეტყობინებები", + "context.stats.provider": "პროვაიდერი", + "context.stats.model": "მოდელი", + "context.stats.limit": "კონტექსტის ლიმიტი", + "context.stats.totalTokens": "სულ ტოკენები", + "context.stats.usage": "გამოყენება", + "context.stats.inputTokens": "შეყვანის ნიშნები", + "context.stats.outputTokens": "გამომავალი ტოკენები", + "context.stats.reasoningTokens": "მსჯელობის ტოკენები", + "context.stats.cacheTokens": "ქეში ტოკენები (წაკითხვა/ჩაწერა)", + "context.stats.userMessages": "მომხმარებლის შეტყობინებები", + "context.stats.assistantMessages": "ასისტენტის შეტყობინებები", + "context.stats.totalCost": "საერთო ღირებულება", + "context.stats.sessionCreated": "სესია შეიქმნა", + "context.stats.lastActivity": "ბოლო აქტივობა", + "context.usage.tokens": "ტოკენები", + "context.usage.usage": "გამოყენება", + "context.usage.cost": "ღირებულება", + "context.usage.clickToView": "დააწკაპუნეთ კონტექსტის სანახავად", + "context.usage.view": "კონტექსტის გამოყენების ნახვა", + "language.en": "ინგლისური", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Deutsch", + "language.es": "Español", + "language.fr": "Français", + "language.da": "დანსკი", + "language.ja": "日本語", + "language.pl": "პოლსკი", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "ნორსკი", + "language.br": "პორტუგალია (ბრაზილია)", + "language.bs": "ბოსანსკი", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Türkçe", + "toast.language.title": "ენა", + "toast.language.description": "გადართულია {{language}}", + "toast.theme.title": "თემა შეიცვალა", + "toast.scheme.title": "ფერთა სქემა", + "toast.workspace.enabled.title": "სამუშაო სივრცე ჩართულია", + "toast.workspace.enabled.description": "მრავალი სამუშაო ხე ახლა ნაჩვენებია გვერდითა ზოლში", + "toast.workspace.disabled.title": "სამუშაო სივრცე გამორთულია", + "toast.workspace.disabled.description": "მხოლოდ ძირითადი სამუშაო ხე ნაჩვენებია გვერდითა ზოლში", + "toast.permissions.autoaccept.on.title": "ნებართვების ავტომატური მიღება", + "toast.permissions.autoaccept.on.description": "ნებართვის მოთხოვნები ავტომატურად დამტკიცდება", + "toast.permissions.autoaccept.off.title": "შეწყდა ნებართვების ავტომატური მიღება", + "toast.permissions.autoaccept.off.description": "ნებართვის მოთხოვნა საჭიროებს დამტკიცებას", + "toast.model.none.title": "მოდელი არ არის არჩეული", + "toast.model.none.description": "დააკავშირეთ პროვაიდერი ამ სესიის შესაჯამებლად", + "toast.file.loadFailed.title": "ფაილის ჩატვირთვა ვერ მოხერხდა", + "toast.file.listFailed.title": "ფაილების სია ვერ მოხერხდა", + "toast.context.noLineSelection.title": "ხაზი არ არის მონიშნული", + "toast.context.noLineSelection.description": "აირჩიეთ ხაზის დიაპაზონი ჯერ ფაილის ჩანართში.", + "toast.session.share.copyFailed.title": "ვერ მოხერხდა URL-ის კოპირება ბუფერში", + "toast.session.share.success.title": "სესია გაზიარებულია", + "toast.session.share.success.description": "გააზიარეთ URL კოპირებულია ბუფერში!", + "toast.session.share.failed.title": "სესიის გაზიარება ვერ მოხერხდა", + "toast.session.share.failed.description": "მოხდა შეცდომა სესიის გაზიარებისას", + "toast.session.unshare.success.title": "სესია გაუზიარებელი", + "toast.session.unshare.success.description": "სესია წარმატებით გაუზიარეს!", + "toast.session.unshare.failed.title": "ვერ მოხერხდა სესიის გაზიარების გაუქმება", + "toast.session.unshare.failed.description": "მოხდა შეცდომა სესიის გაზიარებისას", + "toast.session.export.success.title": "სესია ექსპორტირებული", + "toast.session.export.success.description": "სესია შენახულია {{filename}}", + "toast.session.export.failed.title": "სესიის ექსპორტი ვერ მოხერხდა", + "toast.session.export.failed.description": "მოხდა შეცდომა სესიის ექსპორტის დროს", + "toast.session.listFailed.title": "ვერ ჩაიტვირთა სესიები {{project}}", + "toast.project.reloadFailed.title": "ვერ ჩაიტვირთა {{project}}", + "toast.update.title": "ხელმისაწვდომია განახლება", + "toast.update.description": "OpenCode-ის ({{version}}) ახალი ვერსია ახლა ხელმისაწვდომია დასაინსტალირებლად.", + "toast.update.action.installRestart": "ინსტალაცია და გადატვირთვა", + "toast.update.action.notYet": "ჯერ არა", + "error.page.title": "რაღაც შეცდომა მოხდა", + "error.page.description": "მოხდა შეცდომა აპლიკაციის ჩატვირთვისას.", + "error.page.description.localServerStartup": "მოხდა შეცდომა ლოკალური სერვერის გაშვებისას.", + "error.page.details.label": "შეცდომის დეტალები", + "error.page.action.restart": "გადატვირთვა", + "error.page.action.report": "შეცდომის შესახებ შეტყობინება", + "error.page.action.reported": "მოხსენებული შეცდომა", + "error.page.action.exportLogs": "ჟურნალების ექსპორტი", + "error.page.action.checking": "შემოწმება...", + "error.page.action.checkUpdates": "შეამოწმეთ განახლებები", + "error.page.action.updateTo": "განახლება {{version}}", + "error.page.circular": "[Circular]", + "error.page.report.prefix": "გთხოვთ, შეატყობინოთ ეს შეცდომა OpenCode გუნდს", + "error.page.report.discord": "Discord", + "error.page.version": "ვერსია: {{version}}", + "error.dev.rootNotFound": + "ძირის ელემენტი ვერ მოიძებნა. დაგავიწყდათ მისი დამატება თქვენს index.html-ში? ან იქნებ id ატრიბუტი არასწორად არის დაწერილი?", + "error.serverSync.connectFailed": "სერვერთან დაკავშირება ვერ მოხერხდა. არის სერვერი გაშვებული `{{url}}`-ზე?", + "error.serverSDK.noServerAvailable": "სერვერი არ არის ხელმისაწვდომი", + "error.serverSDK.serverNotAvailable": "სერვერი მიუწვდომელია", + "error.childStore.persistedCacheCreateFailed": "შეუძლებელია ქეშის შექმნა", + "error.childStore.persistedProjectMetadataCreateFailed": "პროექტის მუდმივი მეტამონაცემების შექმნა ვერ მოხერხდა", + "error.childStore.persistedProjectIconCreateFailed": "პროექტის მუდმივი ხატის შექმნა ვერ მოხერხდა", + "error.childStore.storeCreateFailed": "მაღაზიის შექმნა ვერ მოხერხდა", + "directory.error.invalidUrl": "არასწორი დირექტორია URL-ში.", + "error.chain.unknown": "უცნობი შეცდომა", + "error.server.invalidConfiguration": "არასწორი კონფიგურაცია", + "error.chain.causedBy": "გამომწვევია:", + "error.chain.apiError": "API შეცდომა", + "error.chain.status": "სტატუსი: {{status}}", + "error.chain.retryable": "ხელახლა ცდა: {{retryable}}", + "error.chain.responseBody": "პასუხის სხეული:\n{{body}}", + "error.chain.didYouMean": "იგულისხმეთ: {{suggestions}}", + "error.chain.modelNotFound": "მოდელი ვერ მოიძებნა: {{provider}}/{{model}}", + "error.chain.checkConfig": "შეამოწმეთ თქვენი კონფიგურაცია (opencode.json) პროვაიდერის/მოდელების სახელები", + "error.chain.mcpFailed": + 'MCP სერვერი "{{name}}" ვერ მოხერხდა. შენიშვნა, OpenCode ჯერ არ უჭერს მხარს MCP ავთენტიფიკაციას.', + "error.chain.providerAuthFailed": "პროვაიდერის ავთენტიფიკაცია ვერ მოხერხდა ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + "ვერ მოხერხდა პროვაიდერის „{{provider}}“ ინიციალიზაცია. შეამოწმეთ რწმუნებათა სიგელები და კონფიგურაცია.", + "error.chain.configJsonInvalid": "კონფიგურაციის ფაილი {{path}}-ზე არ არის სწორი JSON(C)", + "error.chain.configJsonInvalidWithMessage": "კონფიგურაციის ფაილი {{path}}-ზე არ არის სწორი JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + 'ცნობარი "{{dir}}" {{path}}-ში არასწორია. დაარქვით დირექტორიას "{{suggestion}}" ან წაშალეთ იგი. ეს ჩვეულებრივი შეცდომაა.', + "error.chain.configFrontmatterError": "ვერ მოხერხდა ფრონტის მასალის გაანალიზება {{path}}-ში:\n{{message}}", + "error.chain.configInvalid": "კონფიგურაციის ფაილი {{path}}-ზე არასწორია", + "error.chain.configInvalidWithMessage": "კონფიგურაციის ფაილი {{path}}-ზე არასწორია: {{message}}", + "notification.permission.title": "ნებართვა საჭიროა", + "notification.permission.description": "{{sessionTitle}} {{projectName}}-ში საჭიროებს ნებართვას", + "notification.question.title": "კითხვა", + "notification.question.description": "{{sessionTitle}} {{projectName}}-ში აქვს შეკითხვა", + "notification.action.goToSession": "სესიაზე გადასვლა", + "notification.session.responseReady.title": "პასუხი მზად არის", + "notification.session.error.title": "სესიის შეცდომა", + "notification.session.error.fallbackDescription": "მოხდა შეცდომა", + "home.recentProjects": "ბოლო პროექტები", + "home.empty.title": "უახლესი პროექტები არ არის", + "home.empty.description": "დაიწყეთ ლოკალური პროექტის გახსნით", + "home.title": "მთავარი", + "home.projects": "პროექტები", + "home.project.add": "პროექტის დამატება", + "home.recentlyClosed": "ახლახან დაიხურა", + "home.server.collapse": "სერვერის პროექტების ჩაკეცვა", + "home.server.expand": "სერვერის პროექტების გაფართოება", + "home.sessions.search.placeholder": "ძიების სესიები", + "home.sessions.search.placeholder.scoped": "ძიების სესიები {{scope}}", + "home.sessions.search.sessions": "სესიები", + "home.sessions.search.noResults": "სესიები არ მოიძებნა {{query}}", + "home.sessions.empty": "აქ ჯერ არაფერი", + "home.sessions.empty.description": "შექმენით სესია დასაწყებად", + "home.sessions.group.today": "დღეს", + "home.sessions.group.yesterday": "გუშინ", + "home.sessions.group.older": "ძველი", + "home.providerTip": + "დაკავშირება 75+ პროვაიდერთან სხვა მოდელების გამოსაყენებლად, მათ შორის, Claude, GPT, Gemini და ა.შ.", + "session.tab.session": "სესია", + "session.tab.review": "მიმოხილვა", + "session.tab.context": "კონტექსტი", + "session.tab.unknown": "უცნობი სესია", + "session.panel.reviewAndFiles": "მიმოხილვა და ფაილები", + "session.error.notFound": "ეს სესია ვერ მოიძებნა", + "session.error.notFound.description": "ეს ჩანართი მიუთითებს სესიაზე, რომელიც აღარ არსებობს ამ სერვერზე.", + "session.error.notFound.closeTab": "ჩანართის დახურვა", + "session.error.serverConnection": "ამ სერვერთან დაკავშირება შეუძლებელია", + "session.review.filesChanged": "ფაილები შეიცვალა {{count}}", + "session.review.change.one": "შეცვლა", + "session.review.change.other": "ცვლილებები", + "session.review.loadingChanges": "ცვლილებების ჩატვირთვა...", + "session.review.empty": "ამ სესიაში ცვლილებები ჯერ არ არის", + "session.review.noVcs": "არ არის აღმოჩენილი Git ვერსიის კონტროლის სისტემა, ცვლილებები არ არის ნაჩვენები", + "session.review.noVcs.createGit.title": "შექმენით Git საცავი", + "session.review.noVcs.createGit.description": "თვალყური ადევნეთ, გადახედეთ და გააუქმეთ ცვლილებები ამ პროექტში", + "session.review.noVcs.createGit.actionLoading": "Git საცავის შექმნა...", + "session.review.noVcs.createGit.action": "შექმენით Git საცავი", + "session.review.noSnapshot": "Snapshot tracking გამორთულია კონფიგურაციაში, ამიტომ სესიის ცვლილებები მიუწვდომელია", + "session.review.noChanges": "ცვლილებები არ არის", + "session.review.noUncommittedChanges": "შეუსრულებელი ცვლილებები ჯერ არ არის", + "session.review.noBranchChanges": "ფილიალი ჯერ არ არის ცვლილებები", + "session.files.selectToOpen": "აირჩიეთ ფაილი გასახსნელად", + "session.files.all": "ყველა ფაილი", + "session.files.empty": "ფაილები არ არის", + "session.files.binaryContent": "ორობითი ფაილი (კონტენტის ჩვენება შეუძლებელია)", + "session.messages.renderEarlier": "ადრე შეტყობინებების რენდერი", + "session.messages.loadingEarlier": "ვიტვირთება ადრინდელი შეტყობინებები...", + "session.messages.loadEarlier": "ადრე შეტყობინებების ჩატვირთვა", + "session.messages.loading": "იტვირთება შეტყობინებები...", + "session.messages.jumpToLatest": "გადადით უახლესზე", + "session.context.addToContext": "დაამატე {{selection}} კონტექსტში", + "session.todo.title": "დავალებები", + "session.todo.collapse": "ჩაკეცვა", + "session.todo.expand": "გაფართოება", + "session.todo.progress": "{{done}} დასრულებული {{total}}-დან", + "session.question.progress": "{{current}} / {{total}} შეკითხვადან", + "session.question.minimize": "შეკითხვის მინიმიზაცია", + "session.question.restore": "კითხვის აღდგენა", + "session.question.pending.one": "{{count}} მომლოდინე შეკითხვა", + "session.question.pending.other": "{{count}} მომლოდინე შეკითხვა", + "session.followupDock.summary.one": "{{count}} რიგში დადებული შეტყობინება", + "session.followupDock.summary.other": "{{count}} რიგში შემავალი შეტყობინებები", + "session.followupDock.sendNow": "გაგზავნა ახლა", + "session.followupDock.edit": "რედაქტირება", + "session.followupDock.collapse": "შეტყობინებების რიგში ჩაკეცვა", + "session.followupDock.expand": "შეტყობინებების რიგში გაფართოება", + "session.revertDock.summary.one": "{{count}} შემობრუნებული შეტყობინება", + "session.revertDock.summary.other": "{{count}} შემობრუნებული შეტყობინებები", + "session.revertDock.collapse": "გაბრუნებული შეტყობინებების ჩაკეცვა", + "session.revertDock.expand": "გაფართოვებული შეტყობინებების გაფართოება", + "session.revertDock.restore": "წერილის აღდგენა", + "session.new.title": "აშენეთ რამე", + "session.new.project.new": "ახალი პროექტი", + "session.new.project.search": "პროექტების ძიება", + "session.new.project.add": "პროექტის დამატება", + "session.new.worktree.main": "მთავარი ფილიალი", + "session.new.worktree.mainWithBranch": "მთავარი ფილიალი ({{branch}})", + "session.new.worktree.create": "შექმენით ახალი სამუშაო ხე", + "session.new.workspace.runIn": "სესიის გაშვება", + "session.new.workspace.triggerLocal": "ადგილობრივი", + "session.new.workspace.local": "ადგილობრივი საცავი", + "session.new.workspace.existing": "სამუშაო სივრცე…", + "session.new.git.none": "Git-ის გარეშე", + "session.new.lastModified": "ბოლო ცვლილება", + "session.header.search.placeholder": "ძებნა {{project}}", + "session.header.searchFiles": "ფაილების ძიება", + "session.header.openIn": "გახსნა", + "session.header.open.action": "გახსენით {{app}}", + "session.header.open.ariaLabel": "გახსენით {{app}}", + "session.header.open.menu": "გახსნა პარამეტრები", + "session.header.open.copyPath": "ასლის ბილიკი", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "ფაილების მენეჯერი", + "session.header.open.fileManager": "ფაილ მენეჯერი", + "session.header.reveal.finder": "გამოვლენა Finder", + "session.header.reveal.fileExplorer": "გამოვლენა File Explorer-ში", + "session.header.reveal.containingFolder": "გახსენით შემცველი საქაღალდე", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "ტერმინალი", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "სტატუსი", + "status.popover.ariaLabel": "სერვერის კონფიგურაციები", + "status.popover.tab.servers": "სერვერები", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "დანამატები", + "status.popover.action.manageServers": "სერვერების მართვა", + "session.share.popover.title": "გამოქვეყნება ვებზე", + "session.share.popover.description.shared": "ეს სესია საჯაროა ინტერნეტში. ის ხელმისაწვდომია ყველასთვის ბმულით.", + "session.share.popover.description.unshared": + "სესიის საჯაროდ გაზიარება ვებში. ის ყველასთვის ხელმისაწვდომი იქნება ბმულით.", + "session.share.action.share": "გაზიარება", + "session.share.action.publish": "გამოქვეყნება", + "session.share.action.publishing": "გამოქვეყნება...", + "session.share.action.unpublish": "გამოქვეყნების გაუქმება", + "session.share.action.unpublishing": "გამოქვეყნების გაუქმება", + "session.share.action.view": "ნახვა", + "session.share.copy.copied": "კოპირებულია", + "session.share.copy.copyLink": "ბმულის კოპირება", + "lsp.tooltip.none": "LSP სერვერები არ არის", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "იტვირთება მოთხოვნა...", + "terminal.loading": "იტვირთება ტერმინალი...", + "terminal.title": "ტერმინალი", + "terminal.title.numbered": "ტერმინალი {{number}}", + "terminal.close": "ტერმინალის დახურვა", + "terminal.connectionLost.title": "კავშირი დაიკარგა", + "terminal.connectionLost.abnormalClose": "WebSocket დახურულია არანორმალურად: {{code}}", + "terminal.connectionLost.description": "ტერმინალის კავშირი შეწყდა. ეს შეიძლება მოხდეს სერვერის გადატვირთვისას.", + "terminal.connectTicket.csrfError": + "PTY დამაკავშირებელი ბილეთი უარყოფილია წარმოშობის ან CSRF ჩეკებით. შეამოწმეთ სერვერის CORS კონფიგურაცია.", + "terminal.connectTicket.statusError": "PTY დაკავშირების ბილეთი ვერ მოხერხდა {{status}}", + "titlebar.update": "განახლება", + "titlebar.updateVersion": "განახლება {{version}}", + "common.closeTab": "ჩანართის დახურვა", + "common.dismiss": "დატოვება", + "common.moreCountSuffix": " (+{{count}} მეტი)", + "common.requestFailed": "მოთხოვნა ვერ მოხერხდა", + "common.moreOptions": "მეტი პარამეტრები", + "common.learnMore": "შეიტყვეთ მეტი", + "common.rename": "გადარქმევა", + "common.export": "ექსპორტი", + "common.reset": "გადატვირთვა", + "common.archive": "არქივი", + "common.delete": "წაშლა", + "common.close": "დახურვა", + "common.edit": "რედაქტირება", + "common.loadMore": "ჩატვირთეთ მეტი", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "უცნობი", + "common.time.justNow": "მხოლოდ ახლა", + "common.time.minutesAgo.short": "{{count}}წთ წინ", + "common.time.hoursAgo.short": "{{count}}სთ წინ", + "common.time.daysAgo.short": "{{count}}დღის წინ", + "sidebar.menu.toggle": "გადართვა მენიუ", + "sidebar.nav.projectsAndSessions": "პროექტები და სესიები", + "sidebar.settings": "პარამეტრები", + "sidebar.help": "დახმარება", + "sidebar.workspaces.enable": "სამუშაო სივრცის ჩართვა", + "sidebar.workspaces.disable": "სამუშაო სივრცის გამორთვა", + "sidebar.gettingStarted.title": "დაწყება", + "sidebar.gettingStarted.line1": "OpenCode მოიცავს უფასო მოდელებს, ასე რომ თქვენ შეგიძლიათ დაუყოვნებლივ დაიწყოთ.", + "sidebar.gettingStarted.line2": + "დააკავშირეთ ნებისმიერი პროვაიდერი მოდელების გამოსაყენებლად, inc. Claude, GPT, Gemini და სხვ.", + "sidebar.project.recentSessions": "ბოლო სესიები", + "sidebar.project.viewAllSessions": "ყველა სესიის ნახვა", + "sidebar.project.clearNotifications": "შეტყობინებების გასუფთავება", + "sidebar.empty.title": "პროექტები არ არის გახსნილი", + "sidebar.empty.description": "გახსენით პროექტი დასაწყებად", + "debugBar.ariaLabel": "განვითარების შესრულების დიაგნოსტიკა", + "debugBar.na": "n/a", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "ბოლო დასრულებული მარშრუტის გადასვლა სესიის გვერდთან შეხებით, გაზომილი როუტერის დაწყებიდან პირველ შეღებვამდე მისი დალაგების შემდეგ.", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "მოძრავი კადრები წამში ბოლო 5 წამის განმავლობაში.", + "debugBar.frame.label": "კადრი", + "debugBar.frame.tip": "ყველაზე ცუდი კადრების დრო ბოლო 5 წამის განმავლობაში.", + "debugBar.jank.label": "შეფერხება", + "debugBar.jank.tip": "ჩარჩოები 32 ms-ზე მეტი ბოლო 5 წამში.", + "debugBar.long.label": "ხანგრძლივი", + "debugBar.long.tip": "დაბლოკილი დრო და ხანგრძლივი ამოცანების რაოდენობა ბოლო 5 წამში. მაქსიმალური დავალება: {{max}}.", + "debugBar.delay.label": "დაყოვნება", + "debugBar.delay.tip": "შეყვანის ყველაზე უარესი შეფერხება ბოლო 5 წამში.", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": + "ინტერაქციის სავარაუდო ხანგრძლივობა ბოლო 5 წამის განმავლობაში. ეს არის INP-ის მსგავსი და არა ოფიციალური Web Vitals INP.", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "განლაგების კუმულატიური ცვლა აპლიკაციის მიმდინარე სიცოცხლის ხანგრძლივობისთვის.", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "გამოყენებული JS heap vs heap limit. მხოლოდ Chromium.", + "debugBar.mem.tip": "გამოყენებული JS heap vs heap limit. {{used}} / {{limit}}-დან.", + "debugBar.focus.label": "ფოკუსი", + "debugBar.focus.tip": "აიძულებს ფოკუსირებას სტილებს ყველა ინტერაქტიულ ელემენტზე", + "debugBar.focus.on": "ჩართული", + "debugBar.focus.off": "გამორთული", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "აპის სრული განლაგების მიმართულების იძულება არჩეული ენის შეცვლის გარეშე", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode სამუშაო მაგიდა", + "settings.section.desktop": "დესკტოპი", + "settings.section.server": "სერვერი", + "settings.tab.general": "ზოგადი", + "settings.tab.shortcuts": "მალსახმობები", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "WSL ინტეგრაცია", + "settings.desktop.wsl.description": "გაუშვით OpenCode სერვერი WSL-ში Windows-ზე.", + "settings.general.section.appearance": "გარეგნობა", + "settings.general.section.advanced": "დამატებითი", + "settings.general.section.notifications": "სისტემის შეტყობინებები", + "settings.general.section.updates": "განახლებები", + "settings.general.section.sounds": "ხმოვანი ეფექტები", + "settings.general.section.feed": "არხი", + "settings.general.section.display": "ჩვენება", + "settings.general.row.language.title": "ენა", + "settings.general.row.language.description": "შეცვალეთ ჩვენების ენა OpenCode", + "settings.general.row.shell.title": "ტერმინალის გარსი", + "settings.general.row.shell.description": "Shell გამოიყენება ტერმინალის და აგენტის ხელსაწყოების მიერ", + "settings.general.row.shell.autoDefault": "ავტომატური (ნაგულისხმევი)", + "settings.general.row.shell.terminalOnly": "მხოლოდ ტერმინალი", + "settings.general.row.appearance.title": "გარეგნობა", + "settings.general.row.appearance.description": "მორგეთ, როგორ გამოიყურება OpenCode თქვენს მოწყობილობაზე", + "settings.general.row.colorScheme.title": "ფერთა სქემა", + "settings.general.row.colorScheme.description": "აირჩიეთ, მიჰყვება თუ არა OpenCode სისტემას, ღია თუ ბნელ თემას", + "settings.general.row.theme.title": "თემა", + "settings.general.row.theme.description": "მორგება, თუ როგორ არის OpenCode თემატური.", + "settings.general.row.font.title": "კოდის შრიფტი", + "settings.general.row.font.description": "მორგეთ კოდის ბლოკებში გამოყენებული შრიფტი", + "settings.general.row.terminalFont.title": "ტერმინალის შრიფტი", + "settings.general.row.terminalFont.description": "მორგეთ ტერმინალში გამოყენებული შრიფტი", + "settings.general.row.uiFont.title": "UI ფონტი", + "settings.general.row.uiFont.description": "დააყენეთ ინტერფეისში გამოყენებული შრიფტის მორგება", + "settings.general.row.followup.title": "შემდეგი ქცევა", + "settings.general.row.followup.description": + "აირჩიეთ, შემდგომი დაკვირვების მოთხოვნა მყისიერად იხელმძღვანელეთ თუ დაელოდეთ რიგში", + "settings.general.row.followup.option.queue": "რიგი", + "settings.general.row.followup.option.steer": "მმართველი", + "settings.general.row.showFileTree.title": "ფაილის ხე", + "settings.general.row.showFileTree.description": "ფაილის ხის პანელის ჩვენება სესიებში", + "settings.general.row.showNavigation.title": "ნავიგაციის კონტროლი", + "settings.general.row.showNavigation.description": "უკანა და წინსვლის ღილაკების ჩვენება დესკტოპის სათაურის ზოლში", + "settings.general.row.showSearch.title": "ბრძანების პალიტრა", + "settings.general.row.showSearch.description": "ძებნისა და ბრძანების პალიტრის ღილაკის ჩვენება სათაურის ზოლში", + "settings.general.row.showTerminal.title": "ტერმინალი", + "settings.general.row.showTerminal.description": "ტერმინალის ღილაკის ჩვენება დესკტოპის სათაურის ზოლში", + "settings.general.row.showStatus.title": "სერვერის სტატუსი", + "settings.general.row.showStatus.description": "სერვერის სტატუსის ღილაკის ჩვენება სათაურის ზოლში", + "settings.general.row.mobileTitlebarBottom.title": "ქვედა ნავიგაცია", + "settings.general.row.mobileTitlebarBottom.description": + "მოათავსეთ სათაურის ზოლი და სესიის ჩანართები ეკრანის ბოლოში მობილურზე", + "settings.general.row.showCustomAgents.title": "აგენტის ჩვენება", + "settings.general.row.showCustomAgents.description": + "გადართვა კომპოზიტორში აგენტებს შორის. როდესაც დამალულია, ნაგულისხმევად არის Build აგენტი.", + "settings.general.row.reasoningSummaries.title": "მსჯელობის შეჯამების ჩვენება", + "settings.general.row.reasoningSummaries.description": "მოდელების მსჯელობის რეზიუმეების ჩვენება ვადებში", + "settings.general.row.shellToolPartsExpanded.title": "Shell ხელსაწყოს ნაწილების გაფართოება", + "settings.general.row.shellToolPartsExpanded.description": + "Shell ხელსაწყოს ნაწილების ნაგულისხმევად გაფართოებული ჩვენება ქრონოლოგიაში", + "settings.general.row.editToolPartsExpanded.title": "გაფართოვდეს ხელსაწყოს ნაწილები", + "settings.general.row.editToolPartsExpanded.description": + "აჩვენეთ რედაქტირების, ჩაწერის და პაჩის ხელსაწყოს ნაწილები, რომლებიც ნაგულისხმევად გაფართოვდა ვადებში", + "settings.general.row.newInterface.title": "ახალი განლაგება", + "settings.general.row.newInterface.badge": "ახალი", + "settings.general.row.newInterface.description": + "გამოიყენეთ ახალი ჩანართები და სახლის განლაგება. განლაგებებს შორის გადართვა შეზღუდული დროით.", + "settings.general.row.newInterfaceNotice.title": "თქვენ ახლა იყენებთ ახალ განლაგებას", + "settings.general.row.newInterfaceNotice.description": "წინა განლაგება აღარ არის ხელმისაწვდომი", + "settings.general.row.newInterfaceNotice.dismiss": "დატოვება", + "settings.general.row.pinchZoom.title": "დააჭირე გასადიდებლად", + "settings.general.row.pinchZoom.description": "Trackpad pinch და Ctrl-scroll ჟესტებით მასშტაბირება", + "settings.general.row.wayland.title": "გამოიყენე მშობლიური Wayland", + "settings.general.row.wayland.description": "X11-ის გამორთვა Wayland-ზე. საჭიროებს გადატვირთვას.", + "settings.general.row.wayland.tooltip": + "Linux-ზე განახლების სიჩქარის შერეული მონიტორებით, მშობლიური Wayland შეიძლება იყოს უფრო სტაბილური.", + "settings.general.row.releaseNotes.title": "გამოშვების შენიშვნები", + "settings.general.row.releaseNotes.description": "აჩვენე რა არის ახალი ამომხტარი ფანჯარა განახლებების შემდეგ", + "settings.updates.row.startup.title": "შეამოწმეთ განახლებები გაშვებისას", + "settings.updates.row.startup.description": "ავტომატურად შეამოწმეთ განახლებები, როდესაც OpenCode გაშვება", + "settings.updates.row.check.title": "შეამოწმეთ განახლებები", + "settings.updates.row.check.description": "ხელით შეამოწმეთ განახლებები და დააინსტალირეთ, თუ შესაძლებელია", + "settings.updates.action.checkNow": "შეამოწმეთ ახლა", + "settings.updates.action.checking": "შემოწმება...", + "settings.updates.action.downloading": "ჩამოტვირთვა...", + "settings.updates.action.installing": "ინსტალაცია...", + "settings.updates.toast.latest.title": "თქვენ განახლებული ხართ", + "settings.updates.toast.latest.description": "თქვენ იყენებთ OpenCode-ის უახლეს ვერსიას.", + "sound.option.none": "არცერთი", + "sound.option.alert01": "Alert 01", + "sound.option.alert02": "Alert 02", + "sound.option.alert03": "Alert 03", + "sound.option.alert04": "Alert 04", + "sound.option.alert05": "Alert 05", + "sound.option.alert06": "Alert 06", + "sound.option.alert07": "Alert 07", + "sound.option.alert08": "Alert 08", + "sound.option.alert09": "Alert 09", + "sound.option.alert10": "Alert 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "Nope 01", + "sound.option.nope02": "Nope 02", + "sound.option.nope03": "Nope 03", + "sound.option.nope04": "Nope 04", + "sound.option.nope05": "Nope 05", + "sound.option.nope06": "Nope 06", + "sound.option.nope07": "Nope 07", + "sound.option.nope08": "Nope 08", + "sound.option.nope09": "Nope 09", + "sound.option.nope10": "Nope 10", + "sound.option.nope11": "Nope 11", + "sound.option.nope12": "Nope 12", + "sound.option.yup01": "Yup 01", + "sound.option.yup02": "Yup 02", + "sound.option.yup03": "Yup 03", + "sound.option.yup04": "Yup 04", + "sound.option.yup05": "Yup 05", + "sound.option.yup06": "Yup 06", + "settings.general.notifications.agent.title": "აგენტი", + "settings.general.notifications.agent.description": + "სისტემის შეტყობინების ჩვენება, როდესაც აგენტი დასრულებულია ან საჭიროებს ყურადღებას", + "settings.general.notifications.permissions.title": "ნებართვები", + "settings.general.notifications.permissions.description": "სისტემის შეტყობინების ჩვენება, როცა საჭიროა ნებართვა", + "settings.general.notifications.errors.title": "შეცდომები", + "settings.general.notifications.errors.description": "სისტემის შეტყობინების ჩვენება შეცდომის დადგომისას", + "settings.general.sounds.agent.title": "აგენტი", + "settings.general.sounds.agent.description": "ხმის დაკვრა, როცა აგენტი დასრულებულია ან საჭიროებს ყურადღებას", + "settings.general.sounds.permissions.title": "ნებართვები", + "settings.general.sounds.permissions.description": "ხმის დაკვრა როცა საჭიროა ნებართვა", + "settings.general.sounds.errors.title": "შეცდომები", + "settings.general.sounds.errors.description": "ხმის დაკვრა შეცდომის დროს", + "settings.shortcuts.title": "კლავიატურის მალსახმობები", + "settings.shortcuts.reset.button": "დაყენება ნაგულისხმევზე", + "settings.shortcuts.reset.toast.title": "მალსახმობები აღდგენილია", + "settings.shortcuts.reset.toast.description": "კლავიატურის მალსახმობები აღდგენილია ნაგულისხმევად.", + "settings.shortcuts.conflict.title": "მალსახი უკვე გამოიყენება", + "settings.shortcuts.conflict.description": "{{keybind}} უკვე მინიჭებულია {{titles}}-ს.", + "settings.shortcuts.unassigned": "მიუყენებელი", + "settings.shortcuts.pressKeys": "დააჭირე კლავიშებს", + "settings.shortcuts.search.placeholder": "ძებნის მალსახმობები", + "settings.shortcuts.search.empty": "მალსახები არ მოიძებნა", + "settings.shortcuts.group.general": "ზოგადი", + "settings.shortcuts.group.session": "სესია", + "settings.shortcuts.group.navigation": "ნავიგაცია", + "settings.shortcuts.group.modelAndAgent": "მოდელი და აგენტი", + "settings.shortcuts.group.terminal": "ტერმინალი", + "settings.shortcuts.group.prompt": "მოთხოვნა", + "settings.providers.title": "პროვაიდერები", + "settings.providers.description": "პროვაიდერის პარამეტრების კონფიგურაცია იქნება აქ.", + "settings.providers.section.connected": "დაკავშირებული პროვაიდერები", + "settings.providers.connected.empty": "დაკავშირებული პროვაიდერები არ არის", + "settings.providers.connected.environmentDescription": "დაკავშირებულია თქვენი გარემოს ცვლადებიდან", + "settings.providers.section.popular": "პოპულარული პროვაიდერები", + "settings.providers.custom.description": "დაამატე OpenAI-თავსებადი პროვაიდერი ბაზის მიხედვით: URL.", + "settings.providers.tag.environment": "გარემო", + "settings.providers.tag.config": "კონფიგურაცია", + "settings.providers.tag.custom": "მორგებული", + "settings.providers.tag.other": "სხვა", + "settings.models.title": "მოდელები", + "settings.models.description": "მოდელის პარამეტრების კონფიგურაცია იქნება აქ.", + "settings.agents.title": "აგენტები", + "settings.agents.description": "აგენტის პარამეტრების კონფიგურაცია იქნება აქ.", + "settings.commands.title": "ბრძანებები", + "settings.commands.description": "ბრძანების პარამეტრების კონფიგურაცია იქნება აქ.", + "settings.mcp.title": "MCP", + "settings.mcp.description": "MCP პარამეტრების კონფიგურაცია აქ იქნება შესაძლებელი.", + "settings.permissions.title": "ნებართვები", + "settings.permissions.description": "აკონტროლეთ, რომელი ხელსაწყოების გამოყენება შეუძლია სერვერს ნაგულისხმევად.", + "settings.permissions.section.tools": "ხელსაწყოები", + "settings.permissions.toast.updateFailed.title": "ნებართვების განახლება ვერ მოხერხდა", + "settings.permissions.action.allow": "დაშვება", + "settings.permissions.action.ask": "კითხვა", + "settings.permissions.action.deny": "უარი", + "settings.permissions.tool.read.title": "წაიკითხე", + "settings.permissions.tool.read.description": "ფაილის კითხვა (შეესაბამება ფაილის გზას)", + "settings.permissions.tool.edit.title": "რედაქტირება", + "settings.permissions.tool.edit.description": "ფაილების შეცვლა, რედაქტირების, ჩაწერებისა და პაჩების ჩათვლით", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "ფაილების შესატყვისი გლობალური შაბლონების გამოყენებით", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "ფაილის შიგთავსის ძიება რეგულარული გამონათქვამების გამოყენებით", + "settings.permissions.tool.list.title": "სია", + "settings.permissions.tool.list.description": "ფაილების სია დირექტორიაში", + "settings.permissions.tool.bash.title": "Bash", + "settings.permissions.tool.bash.description": "გარსის ბრძანებების გაშვება", + "settings.permissions.tool.task.title": "ამოცანა", + "settings.permissions.tool.task.description": "ქვე-აგენტების გაშვება", + "settings.permissions.tool.skill.title": "უნარი", + "settings.permissions.tool.skill.description": "უნარის ჩატვირთვა სახელით", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "ენის სერვერის მოთხოვნების გაშვება", + "settings.permissions.tool.todowrite.title": "Todo Write", + "settings.permissions.tool.todowrite.description": "განაახლე სამუშაოების სია", + "settings.permissions.tool.webfetch.title": "Web Fetch", + "settings.permissions.tool.webfetch.description": "კონტენტის მიღება URL", + "settings.permissions.tool.websearch.title": "ვებ ძიება", + "settings.permissions.tool.websearch.description": "მოძებნე ვებში", + "settings.permissions.tool.external_directory.title": "გარე დირექტორია", + "settings.permissions.tool.external_directory.description": "წვდომა ფაილებზე პროექტის დირექტორიას გარეთ", + "settings.permissions.tool.doom_loop.title": "Doom Loop", + "settings.permissions.tool.doom_loop.description": "იდენტური შეყვანით ხელსაწყოს განმეორებითი გამოძახებების აღმოჩენა", + "session.delete.failed.title": "სესიის წაშლა ვერ მოხერხდა", + "session.delete.title": "სესიის წაშლა", + "session.delete.confirm": "წაშალე სესია „{{name}}“?", + "session.delete.button": "სესიის წაშლა", + "workspace.new": "ახალი სამუშაო სივრცე", + "workspace.type.local": "ადგილობრივი", + "workspace.type.sandbox": "Sandbox", + "workspace.create.failed.title": "სამუშაო სივრცის შექმნა ვერ მოხერხდა", + "workspace.delete.failed.title": "სამუშაო სივრცის წაშლა ვერ მოხერხდა", + "workspace.resetting.title": "სამუშაო სივრცის გადაყენება", + "workspace.resetting.description": "ამას შეიძლება ერთი წუთი დასჭირდეს.", + "workspace.reset.failed.title": "სამუშაო სივრცის გადაყენება ვერ მოხერხდა", + "workspace.reset.success.title": "სამუშაო სივრცის გადატვირთვა", + "workspace.reset.success.description": "სამუშაო სივრცე ახლა ემთხვევა ნაგულისხმევ ფილიალს.", + "workspace.error.stillPreparing": "სამუშაო სივრცე ჯერ კიდევ მზადდება", + "workspace.status.checking": "შეუერთებელი ცვლილებების შემოწმება...", + "workspace.status.error": "git სტატუსის გადამოწმება შეუძლებელია.", + "workspace.status.clean": "გაუერთებელი ცვლილებები არ არის აღმოჩენილი.", + "workspace.status.dirty": "აღმოჩენილი ცვლილებები აღმოჩენილია ამ სამუშაო სივრცეში.", + "workspace.delete.title": "სამუშაო სივრცის წაშლა", + "workspace.delete.confirm": "სამუშაო სივრცის „{{name}}“ წაშლა?", + "workspace.delete.button": "სამუშაო სივრცის წაშლა", + "workspace.reset.title": "სამუშაო სივრცის გადატვირთვა", + "workspace.reset.confirm": 'სამუშაო სივრცის "{{name}}" გადატვირთვა?', + "workspace.reset.button": "სამუშაო სივრცის გადატვირთვა", + "workspace.reset.archived.none": "აქტიური სესიები არ იქნება დაარქივებული.", + "workspace.reset.archived.one": "1 სესია დაარქივდება.", + "workspace.reset.archived.many": "{{count}} სესია დაარქივდება.", + "workspace.reset.note": "ეს აღადგენს სამუშაო სივრცეს ნაგულისხმევი ფილიალის შესატყვისად.", + "dialog.usageExceeded.dontShowAgain": "აღარ მაჩვენო", +} diff --git a/packages/app/src/i18n/km.ts b/packages/app/src/i18n/km.ts new file mode 100644 index 000000000000..7f1b61fe3667 --- /dev/null +++ b/packages/app/src/i18n/km.ts @@ -0,0 +1,1151 @@ +export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "ឯកសារ", + "desktop.menu.edit": "កែសម្រួល", + "desktop.menu.view": "មើល", + "desktop.menu.go": "ទៅ", + "desktop.menu.window": "បង្អួច", + "desktop.menu.help": "ជំនួយ", + "desktop.menu.checkForUpdates": "ពិនិត្យមើលបច្ចុប្បន្នភាព...", + "desktop.menu.settings": "ការកំណត់", + "desktop.menu.reloadWebview": "ផ្ទុក Webview ឡើងវិញ", + "desktop.menu.restart": "ចាប់ផ្ដើមឡើងវិញ", + "desktop.menu.exportLogs": "នាំចេញកំណត់ហេតុ...", + "desktop.menu.newSession": "សម័យថ្មី។", + "desktop.menu.openProject": "បើកគម្រោង...", + "desktop.menu.newWindow": "បង្អួចថ្មី។", + "desktop.menu.closeWindow": "បិទបង្អួច", + "desktop.menu.undo": "មិនធ្វើវិញ", + "desktop.menu.redo": "ធ្វើឡើងវិញ", + "desktop.menu.cut": "កាត់", + "desktop.menu.copy": "ចម្លង", + "desktop.menu.paste": "បិទភ្ជាប់", + "desktop.menu.delete": "លុប", + "desktop.menu.selectAll": "ជ្រើសរើសទាំងអស់។", + "desktop.menu.toggleSidebar": "បិទ/បើករបារចំហៀង", + "desktop.menu.toggleTerminal": "បិទ/បើកស្ថានីយ", + "desktop.menu.toggleFileTree": "បិទបើកឯកសារមែកធាង", + "desktop.menu.reload": "ផ្ទុកឡើងវិញ", + "desktop.menu.toggleDeveloperTools": "បិទបើកឧបករណ៍អ្នកអភិវឌ្ឍន៍", + "desktop.menu.actualSize": "ទំហំពិត", + "desktop.menu.zoomIn": "ពង្រីក", + "desktop.menu.zoomOut": "ពង្រីក", + "desktop.menu.toggleFullScreen": "បិទ/បើកពេញអេក្រង់", + "desktop.menu.back": "ត្រឡប់មកវិញ", + "desktop.menu.forward": "ទៅមុខ", + "desktop.menu.previousSession": "សម័យមុន", + "desktop.menu.nextSession": "សម័យបន្ទាប់", + "desktop.menu.previousProject": "គម្រោងពីមុន", + "desktop.menu.nextProject": "គម្រោងបន្ទាប់", + "desktop.menu.minimize": "បង្រួមអប្បបរមា", + "desktop.menu.maximize": "អតិបរមា", + "desktop.menu.documentation": "ឯកសារ OpenCode", + "desktop.menu.supportForum": "វេទិកាគាំទ្រ", + "desktop.menu.shareFeedback": "ចែករំលែកមតិកែលម្អ", + "desktop.menu.reportBug": "រាយការណ៍អំពីបញ្ហា", + "desktop.menu.ariaLabel": "ម៉ឺនុយ OpenCode", + "desktop.updater.dialog.checkFailed.message": "ការត្រួតពិនិត្យការអាប់ដេតបានបរាជ័យ។", + "desktop.updater.dialog.checkFailed.title": "កំហុសក្នុងការអាប់ដេត", + "desktop.updater.dialog.upToDate.message": "អ្នកទាន់សម័យហើយ។", + "desktop.updater.dialog.upToDate.title": "គ្មានការអាប់ដេតទេ។", + "desktop.updater.dialog.ready.message": "អាប់ដេត {{version}} ត្រូវបានទាញយក។ ចាប់ផ្តើមឡើងវិញឥឡូវនេះ?", + "desktop.updater.dialog.ready.title": "ធ្វើបច្ចុប្បន្នភាពរួចរាល់", + "desktop.updater.dialog.restart": "ចាប់ផ្ដើមឡើងវិញ", + "desktop.updater.dialog.later": "ពេលក្រោយ", + "desktop.recovery.action.relaunch": "ចាប់ផ្តើមឡើងវិញ", + "desktop.recovery.action.exportLogs": "នាំចេញកំណត់ហេតុ", + "desktop.recovery.action.keepWaiting": "បន្តរង់ចាំ", + "desktop.recovery.action.quit": "ឈប់", + "desktop.recovery.loadFailed": "OpenCode បានបរាជ័យក្នុងការផ្ទុក", + "desktop.recovery.terminated": "បង្អួច OpenCode ត្រូវបានបញ្ចប់ដោយមិននឹកស្មានដល់", + "desktop.recovery.unresponsive": "OpenCode មិនឆ្លើយតបទេ។", + "desktop.recovery.unresponsive.detail": "អ្នកអាចបើកកម្មវិធីឡើងវិញ បើកកំណត់ហេតុ ឬបន្តរង់ចាំ។", + "desktop.recovery.loadFailed.detail": "បង្អួច៖ {{window}}\nURL៖ {{url}}\nកំហុស៖ {{code}} {{description}}", + "desktop.recovery.terminated.detail": "បង្អួច៖ {{window}}\nហេតុផល៖ {{reason}}\nលេខកូដ៖ {{code}}", + "desktop.recovery.unknown": "<មិនស្គាល់>", + "desktop.dialog.chooseFolder": "ជ្រើសរើសថតឯកសារ", + "desktop.dialog.chooseFile": "ជ្រើសរើសឯកសារ", + "desktop.dialog.saveFile": "រក្សាទុកឯកសារ", + "desktop.dialog.files": "ឯកសារ", + "desktop.server.local": "ម៉ាស៊ីនមេក្នុងស្រុក", + "desktop.wsl.error.windowsOnly": "WSL មាននៅលើ Windows ប៉ុណ្ណោះ។", + "desktop.wsl.error.unavailable": "WSL មិនអាចប្រើបានទេ។", + "desktop.wsl.error.listInstalled": "បានបរាជ័យក្នុងការរាយបញ្ជីការចែកចាយ WSL ដែលបានដំឡើង", + "desktop.wsl.error.listOnline": "បានបរាជ័យក្នុងការរាយបញ្ជីការចែកចាយ WSL តាមអ៊ីនធឺណិត", + "desktop.wsl.error.executeDistro": "មិនអាចប្រតិបត្តិពាក្យបញ្ជានៅក្នុង distro បានទេ។", + "desktop.wsl.error.installWsl": "ការដំឡើង WSL បានបរាជ័យ", + "desktop.wsl.error.installDistro": "បរាជ័យក្នុងការដំឡើង distro៖ {{distro}}", + "desktop.wsl.error.installOpencode": "ការដំឡើង OpenCode បានបរាជ័យ", + "desktop.wsl.error.alreadyAdded": "{{distro}} ត្រូវបានបន្ថែមរួចហើយ", + "desktop.wsl.error.opencodeMissing": "opencode មិនត្រូវបានដំឡើងនៅក្នុង distro នេះទេ។", + "desktop.wsl.error.opencodeCannotRun": "opencode ត្រូវបានដំឡើង ប៉ុន្តែមិនអាចដំណើរការបានទេ។", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode មិនត្រូវបានដំឡើងនៅក្នុង {{distro}} ទេ។", + "desktop.wsl.error.updateVersion": + "ការធ្វើបច្ចុប្បន្នភាព OpenCode បានបញ្ចប់ ប៉ុន្តែ {{distro}} នៅតែរាយការណ៍ {{installed}}; {{expected}} រំពឹងទុក", + "desktop.wsl.error.noVersion": "គ្មានកំណែ", + "desktop.wsl.error.serverExited": "ម៉ាស៊ីនមេ WSL បានចាកចេញបន្ទាប់ពីការចាប់ផ្ដើម (កូដ={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "ម៉ាស៊ីនមេ WSL បានចេញមុនពេលមានសុខភាពល្អ (កូដ={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": "Sidecar សម្រាប់ការពិនិត្យសុខភាព {{distro}} អស់ពេលបន្ទាប់ពី {{timeout}}ms", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} អស់ពេលបន្ទាប់ពី {{timeout}}ms", + "desktop.wsl.error.failedPort": "បរាជ័យក្នុងការទទួលបានច្រក", + "desktop.picker.error.notSelected": "ឯកសារមិនត្រូវបានជ្រើសរើសដោយអ្នកជ្រើសរើសទេ។", + "desktop.picker.error.sizeLimit": "ឯកសារភ្ជាប់ដែលបានជ្រើសរើសលើសពីដែនកំណត់ {{limit}} MB", + "command.category.suggested": "បានស្នើ", + "command.category.view": "មើល", + "command.category.project": "គម្រោង", + "command.category.provider": "អ្នកផ្តល់សេវា", + "command.category.server": "ម៉ាស៊ីនមេ", + "command.category.session": "សម័យ", + "command.category.theme": "ប្រធានបទ", + "command.category.language": "ភាសា", + "command.category.file": "ឯកសារ", + "command.category.context": "បរិបទ", + "command.category.terminal": "ស្ថានីយ", + "command.category.model": "ម៉ូដែល", + "command.category.mcp": "MCP", + "command.category.agent": "ភ្នាក់ងារ", + "command.category.permissions": "ការអនុញ្ញាត", + "command.category.workspace": "កន្លែងធ្វើការ", + "command.category.settings": "ការកំណត់", + "command.logs.export": "នាំចេញកំណត់ហេតុ", + "theme.scheme.system": "ប្រព័ន្ធ", + "theme.scheme.light": "ពន្លឺ", + "theme.scheme.dark": "ងងឹត", + "command.sidebar.toggle": "បិទ/បើករបារចំហៀង", + "command.project.open": "គម្រោងបើក", + "command.project.previous": "គម្រោងមុន។", + "command.project.next": "គម្រោងបន្ទាប់", + "command.project.index": "ប្តូរទៅគម្រោង {{index}}", + "command.provider.connect": "ភ្ជាប់អ្នកផ្តល់សេវា", + "command.server.switch": "ប្តូរម៉ាស៊ីនមេ", + "command.settings.open": "បើកការកំណត់", + "command.session.previous": "សម័យមុន។", + "command.session.next": "សម័យបន្ទាប់", + "command.session.previous.unseen": "សម័យមិនទាន់អានពីមុន", + "command.session.next.unseen": "សម័យមិនទាន់អានបន្ទាប់", + "command.session.archive": "សម័យបណ្ណសារ", + "command.palette": "ក្ដារលាយពាក្យបញ្ជា", + "command.theme.cycle": "ប្រធានបទវដ្ត", + "command.theme.set": "ប្រើប្រធានបទ៖ {{theme}}", + "command.theme.scheme.cycle": "ពណ៌ចម្រុះ", + "command.theme.scheme.set": "ប្រើពណ៌ចម្រុះ៖ {{scheme}}", + "command.language.cycle": "ភាសាវដ្ត", + "command.language.set": "ប្រើភាសា៖ {{language}}", + "command.session.new": "សម័យថ្មី។", + "command.file.open": "បើកឯកសារ", + "command.tab.close": "បិទផ្ទាំង", + "command.tab.reopenClosed": "បើកផ្ទាំងបិទឡើងវិញ", + "command.context.addSelection": "បន្ថែមការជ្រើសរើសទៅបរិបទ", + "command.context.addSelection.description": "បន្ថែមបន្ទាត់ដែលបានជ្រើសរើសពីឯកសារបច្ចុប្បន្ន", + "command.input.focus": "ការបញ្ចូលការផ្តោតអារម្មណ៍", + "command.terminal.toggle": "បិទ/បើកស្ថានីយ", + "command.fileTree.toggle": "បិទបើកមែកធាងឯកសារ", + "command.review.toggle": "បិទ/បើកការពិនិត្យឡើងវិញ", + "command.terminal.new": "ស្ថានីយថ្មី។", + "command.terminal.new.description": "បង្កើតផ្ទាំងស្ថានីយថ្មី។", + "command.steps.toggle": "បិទ/បើកជំហាន", + "command.steps.toggle.description": "បង្ហាញ ឬលាក់ជំហានសម្រាប់សារបច្ចុប្បន្ន", + "command.message.previous": "សារពីមុន", + "command.message.previous.description": "ទៅកាន់សារអ្នកប្រើប្រាស់មុន។", + "command.message.next": "សារបន្ទាប់", + "command.message.next.description": "ទៅកាន់សារអ្នកប្រើប្រាស់បន្ទាប់", + "command.model.choose": "ជ្រើសរើសម៉ូដែល", + "command.model.choose.description": "ជ្រើសរើសម៉ូដែលផ្សេង", + "command.mcp.toggle": "បិទ/បើក MCPs", + "command.mcp.toggle.description": "បិទ/បើក MCPs", + "command.agent.cycle": "ភ្នាក់ងារវដ្ត", + "command.agent.cycle.description": "ប្តូរទៅភ្នាក់ងារបន្ទាប់", + "command.agent.cycle.reverse": "ភ្នាក់ងាររង្វង់ថយក្រោយ", + "command.agent.cycle.reverse.description": "ប្តូរទៅភ្នាក់ងារមុន។", + "command.model.variant.cycle": "ការខិតខំប្រឹងប្រែងគិតជារង្វង់", + "command.model.variant.cycle.description": "ប្តូរទៅកម្រិតនៃកិច្ចខិតខំប្រឹងប្រែងបន្ទាប់", + "command.prompt.mode.shell": "សែល", + "command.prompt.mode.normal": "ប្រអប់បញ្ចូល", + "command.permissions.autoaccept.enable": "ការអនុញ្ញាតដោយស្វ័យប្រវត្តិ", + "command.permissions.autoaccept.disable": "បញ្ឈប់ការអនុញ្ញាតដោយស្វ័យប្រវត្តិ", + "command.workspace.toggle": "បិទ/បើកកន្លែងធ្វើការ", + "command.workspace.toggle.description": "បើក ឬបិទកន្លែងធ្វើការច្រើននៅក្នុងរបារចំហៀង", + "command.session.undo": "មិនធ្វើវិញ", + "command.session.undo.description": "មិនធ្វើសារចុងក្រោយ", + "command.session.redo": "ធ្វើឡើងវិញ", + "command.session.redo.description": "ធ្វើសារឡើងវិញនូវសារដែលមិនបានធ្វើចុងក្រោយ", + "command.session.compact": "សម័យបង្រួម", + "command.session.compact.description": "សង្ខេបសម័យដើម្បីកាត់បន្ថយទំហំបរិបទ", + "command.session.fork": "បំបែកចេញពីសារ", + "command.session.fork.description": "បង្កើតសម័យថ្មីពីសារមុន។", + "command.session.share": "សម័យចែករំលែក", + "command.session.share.description": "ចែករំលែកសម័យនេះ ហើយចម្លង URL ទៅក្ដារតម្បៀតខ្ទាស់", + "command.session.unshare": "ឈប់ចែករំលែកសម័យ", + "command.session.unshare.description": "ឈប់ចែករំលែកសម័យនេះ។", + "command.session.export": "សម័យនាំចេញ", + "command.session.export.description": "នាំចេញប្រតិចារឹកសម័យពេញជា JSON", + "palette.search.placeholder": "ស្វែងរកឯកសារ ពាក្យបញ្ជា និងសម័យ", + "palette.search.placeholder.home": "ស្វែងរកពាក្យបញ្ជា និងសម័យ", + "palette.empty": "រកមិនឃើញលទ្ធផលទេ។", + "palette.group.commands": "ពាក្យបញ្ជា", + "palette.group.files": "ឯកសារ", + "dialog.provider.search.placeholder": "អ្នកផ្តល់សេវាស្វែងរក", + "dialog.provider.empty": "រកមិនឃើញអ្នកផ្តល់សេវាទេ។", + "dialog.provider.group.popular": "ពេញនិយម", + "dialog.provider.group.other": "ផ្សេងទៀត។", + "dialog.provider.custom.label": "អ្នកផ្តល់សេវាដែលត្រូវគ្នានឹង OpenAI ផ្ទាល់ខ្លួន", + "dialog.provider.tag.recommended": "បានណែនាំ", + "dialog.provider.opencode.note": "ម៉ូដែលដែលបានជ្រើសរើសរួមមាន Claude, GPT, Gemini និងច្រើនទៀត", + "dialog.provider.opencode.tagline": "ម៉ូដែលដែលបានកែលម្អដែលអាចទុកចិត្តបាន។", + "dialog.provider.opencodeGo.tagline": "ការជាវតម្លៃទាបសម្រាប់អ្នករាល់គ្នា", + "dialog.provider.anthropic.note": "ការចូលប្រើដោយផ្ទាល់ទៅកាន់ម៉ូដែល Claude រួមទាំង Pro និង Max", + "dialog.provider.copilot.note": "ម៉ូដែល AI សម្រាប់ជំនួយការសរសេរកូដតាមរយៈ GitHub Copilot", + "dialog.provider.openai.note": "ម៉ូដែល GPT សម្រាប់កិច្ចការ AI ទូទៅដែលមានល្បឿនលឿន និងមានសមត្ថភាព", + "dialog.provider.google.note": "ម៉ូដែល Gemini សម្រាប់ការឆ្លើយតបរហ័ស និងមានរចនាសម្ព័ន្ធ", + "dialog.provider.openrouter.note": "ចូលប្រើម៉ូដែលដែលបានគាំទ្រទាំងអស់ពីអ្នកផ្តល់សេវាមួយ។", + "dialog.provider.vercel.note": "ការចូលប្រើប្រាស់រួមទៅកាន់ម៉ូដែល AI ជាមួយនឹងការកំណត់ផ្លូវឆ្លាតវៃ", + "dialog.model.select.title": "ជ្រើសរើសម៉ូដែល", + "dialog.model.search.placeholder": "ស្វែងរកម៉ូដែល", + "dialog.model.empty": "រកមិនឃើញម៉ូដែល", + "dialog.model.manage": "គ្រប់គ្រងម៉ូដែល", + "dialog.model.manage.description": "ប្ដូរម៉ូដែលដែលបង្ហាញក្នុងឧបករណ៍ជ្រើសរើសម៉ូដែលតាមបំណង។", + "dialog.model.manage.provider.toggle": "បិទ/បើកម៉ូដែល {{provider}} ទាំងអស់។", + "dialog.model.unpaid.freeModels.title": "ម៉ូដែលឥតគិតថ្លៃដែលផ្តល់ដោយ OpenCode", + "dialog.model.unpaid.addMore.title": "បន្ថែមម៉ូដែលជាច្រើនទៀតពីអ្នកផ្តល់សេវាពេញនិយម", + "dialog.model.unpaid.viewMoreProviders": "មើលអ្នកផ្តល់សេវា 70+ ទៀត។", + "dialog.provider.viewAll": "បង្ហាញអ្នកផ្តល់សេវាបន្ថែម", + "provider.connect.title": "ភ្ជាប់ {{provider}}", + "provider.connect.title.anthropicProMax": "ចូលដោយប្រើ Claude Pro/Max", + "provider.connect.selectMethod": "ជ្រើសរើសវិធីសាស្ត្រចូលសម្រាប់ {{provider}} ។", + "provider.connect.method.apiKey": "សោ API", + "provider.connect.method.browser": "កម្មវិធីរុករក", + "provider.connect.method.headless": "គ្មានក្បាល", + "provider.connect.status.inProgress": "ការអនុញ្ញាតកំពុងដំណើរការ...", + "provider.connect.status.waiting": "រង់ចាំការអនុញ្ញាត...", + "provider.connect.status.failed": "ការអនុញ្ញាតបានបរាជ័យ៖ {{error}}", + "provider.connect.apiKey.description": + "បញ្ចូល {{provider}} API key របស់អ្នក ដើម្បីភ្ជាប់គណនីរបស់អ្នក ហើយប្រើម៉ូដែល {{provider}} នៅក្នុង OpenCode។", + "provider.connect.apiKey.label": "សោ API {{provider}}", + "provider.connect.apiKey.placeholder": "សោ API", + "provider.connect.apiKey.required": "ត្រូវការសោ API", + "provider.connect.opencodeZen.line1": + "OpenCode Zen ផ្តល់ឱ្យអ្នកនូវម៉ូដែលដែលបានជ្រើសរើស និងកែលម្អសម្រាប់ភ្នាក់ងារសរសេរកូដ។", + "provider.connect.opencodeZen.line2": + "ជាមួយនឹងសោ API តែមួយ អ្នកនឹងទទួលបានការចូលប្រើម៉ូដែលដូចជា Claude, GPT, Gemini, GLM និងច្រើនទៀត។", + "provider.connect.opencodeZen.visit.prefix": "ទស្សនា", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": "ដើម្បីប្រមូលសោ API របស់អ្នក។", + "provider.connect.oauth.code.visit.prefix": "ទស្សនា", + "provider.connect.oauth.code.visit.link": "តំណនេះ។", + "provider.connect.oauth.code.visit.suffix": + "ដើម្បីប្រមូលលេខកូដអនុញ្ញាតរបស់អ្នកដើម្បីភ្ជាប់គណនីរបស់អ្នក និងប្រើម៉ូដែល {{provider}} នៅក្នុង OpenCode ។", + "provider.connect.oauth.code.label": "លេខកូដអនុញ្ញាត {{method}}", + "provider.connect.oauth.code.placeholder": "លេខកូដអនុញ្ញាត", + "provider.connect.oauth.code.required": "ទាមទារលេខកូដអនុញ្ញាត", + "provider.connect.oauth.code.invalid": "លេខកូដអនុញ្ញាតមិនត្រឹមត្រូវ", + "provider.connect.oauth.auto.visit.prefix": "ទស្សនា", + "provider.connect.oauth.auto.visit.link": "តំណនេះ។", + "provider.connect.oauth.auto.visit.suffix": + "ហើយបញ្ចូលលេខកូដខាងក្រោមដើម្បីភ្ជាប់គណនីរបស់អ្នក ហើយប្រើម៉ូដែល {{provider}} នៅក្នុង OpenCode។", + "provider.connect.oauth.auto.confirmationCode": "លេខកូដបញ្ជាក់", + "provider.connect.toast.connected.title": "{{provider}} បានភ្ជាប់", + "provider.connect.toast.connected.description": "ម៉ូដែល {{provider}} ឥឡូវអាចប្រើបាន។", + "provider.custom.title": "អ្នកផ្តល់សេវាផ្ទាល់ខ្លួន", + "provider.custom.unavailable": "អ្នកផ្តល់សេវាផ្ទាល់ខ្លួនមិនមាននៅលើម៉ាស៊ីនមេនេះទេ។", + "provider.custom.description.prefix": "កំណត់រចនាសម្ព័ន្ធអ្នកផ្តល់សេវាដែលត្រូវគ្នាជាមួយ OpenAI ។ សូមមើល", + "provider.custom.description.link": "ឯកសារកំណត់រចនាសម្ព័ន្ធអ្នកផ្តល់សេវា", + "provider.custom.description.suffix": "។", + "provider.custom.field.providerID.label": "លេខសម្គាល់អ្នកផ្តល់សេវា", + "provider.custom.field.providerID.placeholder": "myprovider", + "provider.custom.field.providerID.description": "អក្សរតូច លេខ សហសញ្ញា ឬសញ្ញាគូសក្រោម", + "provider.custom.field.name.label": "ឈ្មោះបង្ហាញ", + "provider.custom.field.name.placeholder": "អ្នកផ្តល់សេវា AI របស់ខ្ញុំ", + "provider.custom.field.baseURL.label": "URL មូលដ្ឋាន", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "សោ API", + "provider.custom.field.apiKey.placeholder": "សោ API", + "provider.custom.field.apiKey.description": "ស្រេចចិត្ត។ ទុកឱ្យទទេប្រសិនបើអ្នកគ្រប់គ្រងការផ្ទៀងផ្ទាត់តាមរយៈបឋមកថា។", + "provider.custom.models.label": "ម៉ូដែល", + "provider.custom.models.id.label": "លេខសម្គាល់", + "provider.custom.models.id.placeholder": "model-id", + "provider.custom.models.name.label": "ឈ្មោះ", + "provider.custom.models.name.placeholder": "ឈ្មោះបង្ហាញ", + "provider.custom.models.remove": "យកម៉ូដែលចេញ", + "provider.custom.models.add": "បន្ថែមម៉ូដែល", + "provider.custom.headers.label": "បឋមកថា (ជាជម្រើស)", + "provider.custom.headers.key.label": "បឋមកថា", + "provider.custom.headers.key.placeholder": "Header-Name", + "provider.custom.headers.value.label": "តម្លៃ", + "provider.custom.headers.value.placeholder": "តម្លៃ", + "provider.custom.headers.remove": "លុបបឋមកថា", + "provider.custom.headers.add": "បន្ថែមបឋមកថា", + "provider.custom.error.providerID.required": "ទាមទារលេខសម្គាល់អ្នកផ្តល់សេវា", + "provider.custom.error.providerID.format": "ប្រើអក្សរតូច លេខ សហសញ្ញា ឬសញ្ញាគូសក្រោម", + "provider.custom.error.providerID.exists": "លេខសម្គាល់អ្នកផ្តល់សេវានោះមានរួចហើយ", + "provider.custom.error.name.required": "ទាមទារឈ្មោះបង្ហាញ", + "provider.custom.error.baseURL.required": "ទាមទារ URL មូលដ្ឋាន", + "provider.custom.error.baseURL.format": "ត្រូវតែចាប់ផ្តើមជាមួយ http:// ឬ https://", + "provider.custom.error.required": "ទាមទារ", + "provider.custom.error.duplicate": "ស្ទួន", + "provider.disconnect.toast.disconnected.title": "{{provider}} ត្រូវបានផ្តាច់", + "provider.disconnect.toast.disconnected.description": "ម៉ូដែល {{provider}} លែងមានទៀតហើយ។", + "model.tag.free": "ឥតគិតថ្លៃ", + "model.tag.latest": "ចុងក្រោយ", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "អត្ថបទ\nរូបភាព", + "model.input.image": "រូបភាព", + "model.input.audio": "សំឡេង", + "model.input.video": "វីដេអូ", + "model.input.pdf": "pdf", + "model.tooltip.allows": "អនុញ្ញាត៖ {{inputs}}", + "model.tooltip.context.label": "បរិបទ", + "model.tooltip.inputs": "ធាតុបញ្ចូល", + "model.tooltip.model": "ម៉ូដែល", + "model.tooltip.provider": "អ្នកផ្តល់សេវា", + "model.tooltip.reasoning": "ហេតុផល", + "model.tooltip.reasoning.allowed": "អនុញ្ញាតឱ្យមានហេតុផល", + "model.tooltip.reasoning.none": "គ្មានហេតុផល", + "model.tooltip.context": "ដែនកំណត់បរិបទ {{limit}}", + "common.search.placeholder": "ស្វែងរក", + "common.goBack": "រុករកត្រឡប់មកវិញ", + "common.goForward": "រុករកទៅមុខ", + "common.loading": "កំពុងផ្ទុក", + "common.loading.ellipsis": "...", + "common.cancel": "បោះបង់", + "common.clear": "ច្បាស់", + "common.open": "បើក", + "common.connect": "ភ្ជាប់", + "common.disconnect": "ផ្តាច់", + "common.continue": "បន្ត", + "common.submit": "ដាក់ស្នើ", + "common.save": "រក្សាទុក", + "common.saving": "កំពុងរក្សាទុក...", + "common.default": "លំនាំដើម\nឯកសារភ្ជាប់", + "common.attachment": "ឯកសារភ្ជាប់", + "prompt.placeholder.shell": "បញ្ចូលពាក្យបញ្ជាសែល... {{example}}", + "prompt.placeholder.normal": 'សួរអ្វីក៏បាន... "{{example}}"', + "prompt.placeholder.simple": "សួរអ្វី...", + "prompt.placeholder.summarizeComments": "សង្ខេបមតិ...", + "prompt.placeholder.summarizeComment": "សង្ខេបមតិ...", + "prompt.mode.shell": "សែល", + "prompt.mode.normal": "ប្រអប់បញ្ចូល", + "prompt.mode.shell.exit": "esc ដើម្បីចេញ", + "session.child.promptDisabled": "សម័យ Subagent មិនអាចត្រូវបានសួរ។", + "session.child.backToParent": "ត្រឡប់ទៅសម័យមេ។", + "prompt.example.1": "ជួសជុល TODO នៅក្នុងមូលដ្ឋានកូដ", + "prompt.example.2": "តើអ្វីជាជង់បច្ចេកវិទ្យានៃគម្រោងនេះ?", + "prompt.example.3": "ជួសជុលការធ្វើតេស្តដែលខូច", + "prompt.example.4": "ពន្យល់ពីរបៀបដែលការផ្ទៀងផ្ទាត់ដំណើរការ", + "prompt.example.5": "ស្វែងរក និងជួសជុលភាពងាយរងគ្រោះផ្នែកសុវត្ថិភាព", + "prompt.example.6": "បន្ថែមការធ្វើតេស្តឯកតាសម្រាប់សេវាកម្មអ្នកប្រើប្រាស់", + "prompt.example.7": "កែប្រែមុខងារនេះឱ្យកាន់តែអាចអានបាន។", + "prompt.example.8": "តើកំហុសនេះមានន័យដូចម្តេច?", + "prompt.example.9": "ជួយខ្ញុំដោះស្រាយបញ្ហានេះ។", + "prompt.example.10": "បង្កើតឯកសារ API", + "prompt.example.11": "បង្កើនប្រសិទ្ធភាពសំណួរមូលដ្ឋានទិន្នន័យ", + "prompt.example.12": "បន្ថែមសុពលភាពបញ្ចូល", + "prompt.example.13": "បង្កើតសមាសធាតុថ្មីសម្រាប់...", + "prompt.example.14": "តើខ្ញុំដាក់ពង្រាយគម្រោងនេះដោយរបៀបណា?", + "prompt.example.15": "ពិនិត្យមើលកូដរបស់ខ្ញុំសម្រាប់ការអនុវត្តល្អបំផុត", + "prompt.example.16": "បន្ថែមការដោះស្រាយកំហុសទៅមុខងារនេះ។", + "prompt.example.17": "ពន្យល់ពីលំនាំ regex នេះ។", + "prompt.example.18": "បម្លែងវាទៅជា TypeScript", + "prompt.example.19": "បន្ថែមការកត់ត្រាពេញមូលដ្ឋានកូដ", + "prompt.example.20": "តើភាពអាស្រ័យអ្វីហួសសម័យ?", + "prompt.example.21": "ជួយខ្ញុំសរសេរស្គ្រីបការធ្វើចំណាកស្រុក", + "prompt.example.22": "អនុវត្តឃ្លាំងសម្ងាត់សម្រាប់ចំណុចបញ្ចប់នេះ។", + "prompt.example.23": "បន្ថែមលេខទំព័រទៅក្នុងបញ្ជីនេះ។", + "prompt.example.24": "បង្កើតពាក្យបញ្ជា CLI សម្រាប់...", + "prompt.example.25": "តើអថេរបរិស្ថានដំណើរការនៅទីនេះដោយរបៀបណា?", + "prompt.popover.emptyResults": "គ្មានលទ្ធផលដែលត្រូវគ្នា។", + "prompt.popover.emptyCommands": "គ្មានពាក្យបញ្ជាដែលត្រូវគ្នាទេ។", + "prompt.dropzone.label": "ទម្លាក់រូបភាព PDFs ឬឯកសារអត្ថបទនៅទីនេះ", + "prompt.dropzone.file.label": "ទម្លាក់ទៅឯកសារ @mention", + "prompt.slash.badge.custom": "ផ្ទាល់ខ្លួន", + "prompt.slash.badge.skill": "ជំនាញ", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "សកម្ម", + "prompt.context.includeActiveFile": "រួមបញ្ចូលឯកសារសកម្ម", + "prompt.context.removeActiveFile": "លុបឯកសារសកម្មចេញពីបរិបទ", + "prompt.context.removeFile": "លុបឯកសារចេញពីបរិបទ", + "prompt.action.attachFile": "បន្ថែមឯកសារ", + "prompt.menu.addImagesAndFiles": "បន្ថែមឯកសារ និងច្រើនទៀត", + "prompt.menu.imagesAndFiles": "រូបភាព និងឯកសារ", + "prompt.menu.commands": "ពាក្យបញ្ជា", + "prompt.menu.context": "បរិបទ", + "prompt.menu.shellCommand": "ពាក្យបញ្ជា Shell", + "prompt.attachment.remove": "លុបឯកសារភ្ជាប់ចេញ", + "prompt.action.send": "ផ្ញើ", + "prompt.action.stop": "ឈប់", + "prompt.toast.pasteUnsupported.title": "ឯកសារភ្ជាប់ដែលមិនគាំទ្រ", + "prompt.toast.pasteUnsupported.description": "មានតែរូបភាព PDF ឬឯកសារអត្ថបទប៉ុណ្ណោះដែលអាចភ្ជាប់មកទីនេះបាន។", + "prompt.toast.attachmentDuplicate.title": "ឯកសារនេះត្រូវបានផ្ទុកឡើងរួចហើយ", + "prompt.toast.modelAgentRequired.title": "ជ្រើសរើសភ្នាក់ងារ និងម៉ូដែល", + "prompt.toast.modelAgentRequired.description": "ជ្រើសរើសភ្នាក់ងារ និងម៉ូដែលមុនពេលផ្ញើប្រអប់បញ្ចូល។", + "prompt.toast.worktreeCreateFailed.title": "បរាជ័យក្នុងការបង្កើត Git worktree", + "prompt.toast.sessionCreateFailed.title": "បរាជ័យក្នុងការបង្កើតសម័យ", + "prompt.toast.shellSendFailed.title": "បរាជ័យក្នុងការផ្ញើពាក្យបញ្ជាសែល", + "prompt.toast.commandSendFailed.title": "បរាជ័យក្នុងការផ្ញើពាក្យបញ្ជា", + "prompt.toast.promptSendFailed.title": "បរាជ័យក្នុងការផ្ញើប្រអប់បញ្ចូល", + "prompt.toast.promptSendFailed.description": "មិនអាចទាញយកសម័យបានទេ។", + "dialog.mcp.title": "MCPs", + "dialog.mcp.description": "{{enabled}} នៃ {{total}} ត្រូវបានបើក", + "dialog.mcp.empty": "មិនបានកំណត់រចនាសម្ព័ន្ធ MCPs ទេ។", + "dialog.lsp.empty": "LSPs រកឃើញដោយស្វ័យប្រវត្តិពីប្រភេទឯកសារ", + "dialog.plugins.empty": "កម្មវិធីជំនួយដែលបានកំណត់រចនាសម្ព័ន្ធនៅក្នុង opencode.json", + "mcp.status.connected": "បានភ្ជាប់", + "mcp.status.failed": "បរាជ័យ", + "mcp.status.needs_auth": "ត្រូវការសិទ្ធិ", + "mcp.status.disabled": "បានបិទ", + "mcp.auth.clickToAuthenticate": "ចុចដើម្បីផ្ទៀងផ្ទាត់", + "dialog.fork.empty": "គ្មានសារដែលត្រូវបំបែកពី", + "dialog.directory.search.placeholder": "ស្វែងរកថត", + "dialog.directory.empty": "រកមិនឃើញថតឯកសារទេ។", + "dialog.directory.action.selectFile": "ជ្រើសរើសឯកសារ", + "dialog.directory.action.selectFolder": "ជ្រើសរើសថត", + "dialog.directory.root": "ឫស", + "dialog.directory.parent": "មាតាបិតា", + "dialog.directory.readError": "មិនអាចអានថតឯកសារនេះបានទេ។", + "app.server.unreachable": "មិនអាចទៅដល់ {{server}} បានទេ។", + "app.server.retrying": "កំពុងព្យាយាមម្តងទៀតដោយស្វ័យប្រវត្តិ...", + "app.server.otherServers": "ម៉ាស៊ីនមេផ្សេងទៀត។", + "dialog.server.title": "ម៉ាស៊ីនមេ", + "dialog.server.description": "ប្តូរម៉ាស៊ីនមេ OpenCode ដែលកម្មវិធីនេះភ្ជាប់ទៅ។", + "dialog.server.search.placeholder": "ម៉ាស៊ីនមេស្វែងរក", + "dialog.server.empty": "មិនទាន់មានម៉ាស៊ីនមេទេ។", + "dialog.server.add.title": "បន្ថែមម៉ាស៊ីនមេ", + "dialog.server.add.url": "អាសយដ្ឋានម៉ាស៊ីនមេ", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "មិនអាចភ្ជាប់ទៅម៉ាស៊ីនមេបានទេ។", + "dialog.server.add.checking": "កំពុងពិនិត្យ...", + "dialog.server.add.button": "បន្ថែមម៉ាស៊ីនមេ", + "dialog.server.add.name": "ឈ្មោះម៉ាស៊ីនមេ (ជាជម្រើស)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "ឈ្មោះអ្នកប្រើប្រាស់ (ជាជម្រើស)", + "dialog.server.add.usernamePlaceholder": "ឈ្មោះអ្នកប្រើ", + "dialog.server.add.password": "ពាក្យសម្ងាត់ (ជាជម្រើស)\nពាក្យសម្ងាត់", + "dialog.server.add.passwordPlaceholder": "ពាក្យសម្ងាត់", + "dialog.server.edit.title": "កែសម្រួលម៉ាស៊ីនមេ", + "dialog.server.default.title": "ម៉ាស៊ីនមេលំនាំដើម", + "dialog.server.default.description": + "ភ្ជាប់ទៅម៉ាស៊ីនមេនេះនៅពេលចាប់ផ្តើមកម្មវិធីជំនួសឱ្យការចាប់ផ្តើមម៉ាស៊ីនមេមូលដ្ឋាន។ ទាមទារការចាប់ផ្តើមឡើងវិញ។", + "dialog.server.default.none": "គ្មានម៉ាស៊ីនមេត្រូវបានជ្រើសរើសទេ។", + "dialog.server.default.set": "កំណត់ម៉ាស៊ីនមេបច្ចុប្បន្នជាលំនាំដើម", + "dialog.server.default.clear": "ច្បាស់", + "dialog.server.action.remove": "លុបម៉ាស៊ីនមេ", + "dialog.server.menu.edit": "កែសម្រួល", + "dialog.server.menu.default": "កំណត់ជាលំនាំដើម", + "dialog.server.menu.defaultRemove": "លុបលំនាំដើមចេញ", + "dialog.server.menu.delete": "លុប", + "dialog.server.current": "ម៉ាស៊ីនមេបច្ចុប្បន្ន", + "dialog.server.status.default": "លំនាំដើម", + "wsl.server.add": "បន្ថែមម៉ាស៊ីនមេ WSL", + "wsl.server.addShort": "បន្ថែម WSL", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "ម៉ាស៊ីនមេ WSL", + "wsl.server.retryStart": "ព្យាយាមចាប់ផ្តើមឡើងវិញ", + "wsl.server.updating": "កំពុងអាប់ដេត...", + "wsl.onboarding.step.distro": "ជ្រើសរើស distro", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "កំពុងពិនិត្យ WSL...", + "wsl.onboarding.restartRequired": "វីនដូត្រូវការការចាប់ផ្តើមឡើងវិញដើម្បីបញ្ចប់ការដំឡើង WSL ។", + "wsl.onboarding.ready": "WSL រួចរាល់ហើយ។", + "wsl.onboarding.required": "WSL ត្រូវបានទាមទារដើម្បីបន្ត។", + "wsl.onboarding.checkingDistros": "កំពុងពិនិត្យមើលការចែកចាយ...", + "wsl.onboarding.installingDistro": "កំពុងដំឡើង {{distro}}...", + "wsl.onboarding.checkingDistro": "កំពុងពិនិត្យ {{distro}}...", + "wsl.onboarding.listingDistros": "កំពុងរាយបញ្ជីការចែកចាយ...", + "wsl.onboarding.distroReady": "{{distro}} រួចរាល់ហើយ។", + "wsl.onboarding.distroNotInstalled": "{{distro}} មិនទាន់ដំឡើងនៅឡើយទេ។", + "wsl.onboarding.openDistroOnce": "បើក {{distro}} ម្តង ដើម្បីបញ្ចប់ការដំឡើង។", + "wsl.onboarding.finishingDistro": "បញ្ចប់ការដំឡើងសម្រាប់ {{distro}} ។", + "wsl.onboarding.pickDistro": "ជ្រើសរើស distro ឬដំឡើងមួយខាងក្រោម។", + "wsl.onboarding.checkingOpencode": "កំពុងពិនិត្យមើលកូដ OpenCode...", + "wsl.onboarding.checkingOpencodeIn": "កំពុងពិនិត្យកូដ OpenCode ក្នុង {{distro}}...", + "wsl.onboarding.updatingOpencode": "កំពុងអាប់ដេត OpenCode...", + "wsl.onboarding.updatingOpencodeIn": "កំពុងអាប់ដេត OpenCode ក្នុង {{distro}}...", + "wsl.onboarding.updateOpencodeIn": "ធ្វើបច្ចុប្បន្នភាព OpenCode ក្នុង {{distro}} ។", + "wsl.onboarding.updateOpencode": "ធ្វើបច្ចុប្បន្នភាព OpenCode", + "wsl.onboarding.opencodeReadyIn": "OpenCode គឺរួចរាល់នៅក្នុង {{distro}} ។", + "wsl.onboarding.opencodeReady": "OpenCode គឺរួចរាល់។", + "wsl.onboarding.installOpencodeIn": "ដំឡើង OpenCode ក្នុង {{distro}} ។", + "wsl.onboarding.installOpencode": "ដំឡើង OpenCode", + "wsl.onboarding.chooseDistroFirst": "ជ្រើសរើសការចែកចាយជាមុនសិន។", + "wsl.onboarding.loadFailed": "បានបរាជ័យក្នុងការផ្ទុកស្ថានភាព WSL ។", + "wsl.onboarding.loading": "កំពុងផ្ទុក...", + "wsl.onboarding.installedDistros": "បានដំឡើងការចែកចាយ", + "wsl.onboarding.checkAgain": "ពិនិត្យម្តងទៀត", + "wsl.onboarding.distroStatus.ready": "រួចរាល់", + "wsl.onboarding.distroStatus.checking": "កំពុងពិនិត្យ...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode មិនត្រូវបានដំឡើងទេ។", + "wsl.onboarding.distroStatus.missingTools": "បាត់ bash, curl", + "wsl.onboarding.distroStatus.unsupported": "មិនគាំទ្រ · ប្រើ WSL 2", + "wsl.onboarding.needAnotherDistro": "ត្រូវការអ្នកចែកចាយផ្សេងទៀតទេ?", + "wsl.onboarding.needAnotherDistroHint": "ដំឡើងការចែកចាយលីនុចពីកាតាឡុក WSL", + "wsl.onboarding.wslNotInstalled.title": "WSL មិនត្រូវបានដំឡើងទេ។", + "wsl.onboarding.wslNotInstalled.description": + "WSL (ប្រព័ន្ធរងវីនដូសម្រាប់លីនុច) ត្រូវបានទាមទារ មុនពេល OpenCode អាចបន្ថែមម៉ាស៊ីនមេ WSL", + "wsl.onboarding.wslUnavailable.title": "WSL មិនអាចប្រើបានទេ។", + "wsl.onboarding.wslUnavailable.description": "OpenCode មិនអាចផ្ទៀងផ្ទាត់ WSL នៅលើម៉ាស៊ីននេះបានទេ។", + "wsl.onboarding.installWsl": "ដំឡើង WSL", + "wsl.onboarding.windowsRestartRequired": + "ចាប់ផ្ដើម Windows ឡើងវិញ ដើម្បីបញ្ចប់ការដំឡើង WSL បន្ទាប់មកបើក OpenCode ឡើងវិញ។", + "wsl.onboarding.next": "បន្ទាប់", + "wsl.onboarding.refresh": "ធ្វើឱ្យស្រស់", + "wsl.onboarding.allDistrosAdded": "ការចែកចាយដែលបានដំឡើងទាំងអស់ត្រូវបានបន្ថែមរួចហើយ។", + "wsl.onboarding.noDistros": "មិនបានរកឃើញការចែកចាយនៅឡើយទេ។", + "wsl.onboarding.install": "ដំឡើង", + "wsl.onboarding.installing": "កំពុងដំឡើង...", + "wsl.onboarding.installDistro": "ដំឡើង distro", + "wsl.onboarding.searchDistros": "ស្វែងរកការចែកចាយ", + "wsl.onboarding.wsl2Required": "WSL 2 ត្រូវបានទាមទារ។", + "wsl.onboarding.toolsRequired": "ការចែកចាយនេះត្រូវការ bash និង curl ។", + "wsl.onboarding.openTerminal": "បើកស្ថានីយ", + "wsl.onboarding.path": "ផ្លូវ៖ {{path}}", + "wsl.onboarding.notFound": "រកមិនឃើញទេ។", + "wsl.onboarding.version": "កំណែ៖ {{version}}", + "wsl.onboarding.unknown": "មិនស្គាល់", + "wsl.onboarding.desktopVersion": "ផ្ទៃតុ {{version}}", + "wsl.onboarding.versionMismatch": "កំណែដែលបានដំឡើងមិនត្រូវគ្នានឹងកំណែកម្មវិធីកុំព្យូទ័រលើតុទេ។", + "wsl.onboarding.adding": "កំពុងបន្ថែម...", + "help.tabs.toast.ariaLabel": "ការណែនាំផ្ទាំង។ រៀបចំការងារ និងសម័យសកម្មរបស់អ្នកដោយប្រើផ្ទាំង", + "help.tabs.toast.dismiss": "ច្រានចោលព័ត៌មានផ្ទាំង", + "help.tabs.title": "ការណែនាំផ្ទាំង", + "help.tabs.description": "រៀបចំការងារ និងសម័យសកម្មរបស់អ្នកជាមួយផ្ទាំង", + "help.tabs.date": "ថ្ងៃទី 14 ខែកក្កដា", + "help.tabs.introduction": "OpenCode Desktop ឥឡូវនេះត្រូវបានបង្កើតឡើងនៅជុំវិញផ្ទាំង។", + "help.tabs.sessions": + "ចាប់ផ្តើមសម័យថ្មីនៅក្នុងផ្ទាំងមួយ ឬបើកសម័យដែលមានស្រាប់ពីគម្រោងណាមួយរបស់អ្នក។ បើកផ្ទាំងថ្មីនៅពេលអ្នកចាប់ផ្តើមអ្វីថ្មី ហើយបិទវានៅពេលអ្នករួចរាល់។", + "help.tabs.organize": + "ការបន្តបើកផ្ទាំងមួយចំនួនធ្វើឱ្យវាកាន់តែងាយស្រួលក្នុងការរៀបចំសម័យសកម្មរបស់អ្នក។ ប្តូរឈ្មោះផ្ទាំងទៅជាអ្វីមួយដែលគួរឱ្យចងចាំ ប្រសិនបើអ្នកមានគម្រោងរក្សាពួកវាឱ្យនៅជាប់។", + "help.tabs.home": + "អ្នកនឹងរកឃើញសម័យ និងគម្រោងរបស់អ្នកទាំងអស់នៅលើអេក្រង់ដើមថ្មី។ ការជ្រើសរើសសម័យបើកវានៅក្នុងផ្ទាំងមួយ។", + "help.tabs.persistence": "នៅពេលអ្នកបើកកម្មវិធីឡើងវិញ ផ្ទាំងរបស់អ្នកនៅតែបើក។", + "help.tabs.worktrees": + "ការរចនាថ្មីមិនទាន់គាំទ្រ Git Worktrees នៅឡើយទេ វានឹងមកដល់ក្នុងពេលឆាប់ៗនេះ។ ដូច្នេះប្រសិនបើអ្នកចង់បន្តប្រើប្លង់ពីមុន អ្នកអាចប្តូររវាងប្លង់នៅក្នុងការកំណត់។ សូមចងចាំថាប្លង់ថ្មីនឹងក្លាយទៅជាអចិន្ត្រៃយ៍ក្នុងរយៈពេលពីរបីសប្តាហ៍។", + "server.row.noUsername": "គ្មានឈ្មោះអ្នកប្រើប្រាស់", + "dialog.project.edit.title": "កែសម្រួលគម្រោង", + "dialog.project.edit.name": "ឈ្មោះ", + "dialog.project.edit.icon": "រូបតំណាង", + "dialog.project.edit.icon.alt": "រូបតំណាងគម្រោង", + "dialog.project.edit.icon.hint": "ចុច ឬអូសរូបភាព", + "dialog.project.edit.icon.recommended": "បានណែនាំ៖ 128x128px", + "dialog.project.edit.color": "ពណ៌", + "dialog.project.edit.color.select": "ជ្រើសរើសពណ៌ {{color}}", + "dialog.project.edit.worktree.startup": "ស្គ្រីបចាប់ផ្តើមកន្លែងធ្វើការ", + "dialog.project.edit.worktree.startup.description": "ដំណើរការបន្ទាប់ពីបង្កើតកន្លែងធ្វើការថ្មី (Git worktree)។", + "dialog.project.edit.worktree.startup.placeholder": "ឧ. ដំឡើងប៊ុន", + "dialog.releaseNotes.action.getStarted": "ចាប់ផ្តើម", + "dialog.releaseNotes.action.next": "បន្ទាប់", + "dialog.releaseNotes.action.hideFuture": "កុំបង្ហាញទាំងនេះនៅពេលអនាគត", + "dialog.releaseNotes.media.alt": "ចេញផ្សាយការមើលជាមុន", + "context.breakdown.title": "ការបំបែកបរិបទ", + "context.breakdown.note": 'ការបំបែកប្រហាក់ប្រហែលនៃនិមិត្តសញ្ញាបញ្ចូល។ "ផ្សេងទៀត" រួមបញ្ចូលនិយមន័យឧបករណ៍ និងតម្លៃលើស។', + "context.breakdown.system": "ប្រព័ន្ធ", + "context.breakdown.user": "អ្នកប្រើប្រាស់", + "context.breakdown.assistant": "ជំនួយការ", + "context.breakdown.tool": "ការហៅឧបករណ៍", + "context.breakdown.other": "ផ្សេងទៀត។", + "context.systemPrompt.title": "ប្រអប់បញ្ចូលប្រព័ន្ធ", + "context.rawMessages.title": "សារឆៅ", + "context.export.session": "សម័យនាំចេញ", + "context.stats.session": "សម័យ", + "context.stats.messages": "សារ", + "context.stats.provider": "អ្នកផ្តល់សេវា", + "context.stats.model": "ម៉ូដែល", + "context.stats.limit": "ដែនកំណត់បរិបទ", + "context.stats.totalTokens": "ថូខឹនសរុប", + "context.stats.usage": "ការប្រើប្រាស់", + "context.stats.inputTokens": "បញ្ចូលសញ្ញាសម្ងាត់", + "context.stats.outputTokens": "Output Token", + "context.stats.reasoningTokens": "សញ្ញាសម្គាល់ហេតុផល", + "context.stats.cacheTokens": "Cache Token (អាន/សរសេរ)", + "context.stats.userMessages": "សារអ្នកប្រើប្រាស់", + "context.stats.assistantMessages": "សារជំនួយ", + "context.stats.totalCost": "តម្លៃសរុប", + "context.stats.sessionCreated": "សម័យត្រូវបានបង្កើត", + "context.stats.lastActivity": "សកម្មភាពចុងក្រោយ", + "context.usage.tokens": "សញ្ញាសម្ងាត់", + "context.usage.usage": "ការប្រើប្រាស់", + "context.usage.cost": "តម្លៃ", + "context.usage.clickToView": "ចុចដើម្បីមើលបរិបទ", + "context.usage.view": "មើលការប្រើប្រាស់បរិបទ", + "language.en": "ភាសាអង់គ្លេស", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Deutsch", + "language.es": "អេស្ប៉ាណុល", + "language.fr": "បារាំង", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "ប៉ូលស្គី", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Norsk", + "language.br": "ព័រទុយហ្គាល់ (ប្រេស៊ីល)", + "language.bs": "បូសានស្គី", + "language.uk": "Українська", + "language.th": "ថៃ", + "language.tr": "Türkçe", + "toast.language.title": "ភាសា", + "toast.language.description": "បានប្តូរទៅ {{language}}", + "toast.theme.title": "បានប្តូររូបរាង", + "toast.scheme.title": "ពណ៌ចម្រុះ", + "toast.workspace.enabled.title": "បានបើកកន្លែងធ្វើការ", + "toast.workspace.enabled.description": "ឥឡូវនេះ Git worktree ជាច្រើនត្រូវបានបង្ហាញក្នុងរបារចំហៀង", + "toast.workspace.disabled.title": "កន្លែងធ្វើការត្រូវបានបិទ", + "toast.workspace.disabled.description": "មានតែ Git worktree ចម្បងប៉ុណ្ណោះដែលត្រូវបានបង្ហាញក្នុងរបារចំហៀង", + "toast.permissions.autoaccept.on.title": "ការអនុញ្ញាតដោយស្វ័យប្រវត្តិ", + "toast.permissions.autoaccept.on.description": "សំណើការអនុញ្ញាតនឹងត្រូវបានអនុម័តដោយស្វ័យប្រវត្តិ", + "toast.permissions.autoaccept.off.title": "បានបញ្ឈប់ការអនុញ្ញាតដោយស្វ័យប្រវត្តិ", + "toast.permissions.autoaccept.off.description": "សំណើសុំការអនុញ្ញាតនឹងទាមទារការយល់ព្រម", + "toast.model.none.title": "មិនបានជ្រើសរើសម៉ូដែលទេ។", + "toast.model.none.description": "ភ្ជាប់អ្នកផ្តល់សេវាដើម្បីសង្ខេបសម័យនេះ។", + "toast.file.loadFailed.title": "បរាជ័យក្នុងការផ្ទុកឯកសារ", + "toast.file.listFailed.title": "បរាជ័យក្នុងបញ្ជីឯកសារ", + "toast.context.noLineSelection.title": "គ្មានការជ្រើសរើសបន្ទាត់ទេ។", + "toast.context.noLineSelection.description": "ជ្រើសរើសជួរបន្ទាត់ក្នុងផ្ទាំងឯកសារជាមុនសិន។", + "toast.session.share.copyFailed.title": "បរាជ័យក្នុងការចម្លង URL ទៅក្ដារតម្បៀតខ្ទាស់", + "toast.session.share.success.title": "សម័យដែលបានចែករំលែក", + "toast.session.share.success.description": "ចែករំលែក URL ដែលបានចម្លងទៅក្ដារតម្បៀតខ្ទាស់!", + "toast.session.share.failed.title": "បរាជ័យក្នុងការចែករំលែកសម័យ", + "toast.session.share.failed.description": "កំហុសបានកើតឡើងខណៈពេលចែករំលែកសម័យ", + "toast.session.unshare.success.title": "សម័យមិនត្រូវបានចែករំលែក", + "toast.session.unshare.success.description": "សម័យបានឈប់ចែករំលែកដោយជោគជ័យ!", + "toast.session.unshare.failed.title": "បានបរាជ័យក្នុងការឈប់ចែករំលែកសម័យ", + "toast.session.unshare.failed.description": "កំហុសបានកើតឡើងខណៈពេលដែលមិនចែករំលែកសម័យ", + "toast.session.export.success.title": "បាននាំចេញសម័យ", + "toast.session.export.success.description": "បានរក្សាទុកសម័យទៅ {{filename}}", + "toast.session.export.failed.title": "បរាជ័យក្នុងការនាំចេញសម័យ", + "toast.session.export.failed.description": "កំហុសបានកើតឡើងខណៈពេលនាំចេញសម័យ", + "toast.session.listFailed.title": "បានបរាជ័យក្នុងការផ្ទុកសម័យសម្រាប់ {{project}}", + "toast.project.reloadFailed.title": "បានបរាជ័យក្នុងការផ្ទុក {{project}} ឡើងវិញ", + "toast.update.title": "មានបច្ចុប្បន្នភាព", + "toast.update.description": "កំណែថ្មីនៃ OpenCode ({{version}}) ឥឡូវនេះមានសម្រាប់ដំឡើងហើយ។", + "toast.update.action.installRestart": "ដំឡើង និងចាប់ផ្តើមឡើងវិញ", + "toast.update.action.notYet": "មិនទាន់", + "error.page.title": "មានអ្វីមួយខុសប្រក្រតី", + "error.page.description": "កំហុសបានកើតឡើងខណៈពេលកំពុងផ្ទុកកម្មវិធី។", + "error.page.description.localServerStartup": "កំហុសបានកើតឡើងខណៈពេលចាប់ផ្តើមម៉ាស៊ីនមេមូលដ្ឋាន។", + "error.page.details.label": "ព័ត៌មានលម្អិតអំពីកំហុស", + "error.page.action.restart": "ចាប់ផ្ដើមឡើងវិញ", + "error.page.action.report": "រាយការណ៍កំហុស", + "error.page.action.reported": "កំហុសត្រូវបានរាយការណ៍", + "error.page.action.exportLogs": "នាំចេញកំណត់ហេតុ", + "error.page.action.checking": "កំពុងពិនិត្យ...", + "error.page.action.checkUpdates": "ពិនិត្យមើលបច្ចុប្បន្នភាព", + "error.page.action.updateTo": "ធ្វើបច្ចុប្បន្នភាពទៅ {{version}}", + "error.page.circular": "[សារាចរ]", + "error.page.report.prefix": "សូមរាយការណ៍ពីកំហុសនេះទៅកាន់ក្រុម OpenCode", + "error.page.report.discord": "នៅលើ Discord", + "error.page.version": "កំណែ៖ {{version}}", + "error.dev.rootNotFound": + "រកមិនឃើញធាតុឫសទេ។ តើអ្នកភ្លេចបន្ថែមវាទៅ index.html របស់អ្នកទេ? ឬប្រហែលជាគុណលក្ខណៈលេខសម្គាល់ត្រូវបានសរសេរខុស?", + "error.serverSync.connectFailed": "មិនអាចភ្ជាប់ទៅម៉ាស៊ីនមេបានទេ។ តើមានម៉ាស៊ីនមេដែលកំពុងដំណើរការនៅ `{{url}}` ទេ?", + "error.serverSDK.noServerAvailable": "មិនមានម៉ាស៊ីនមេទេ។", + "error.serverSDK.serverNotAvailable": "ម៉ាស៊ីនមេមិនមានទេ។", + "error.childStore.persistedCacheCreateFailed": "បានបរាជ័យក្នុងការបង្កើតឃ្លាំងសម្ងាត់ដែលបន្ត", + "error.childStore.persistedProjectMetadataCreateFailed": "បានបរាជ័យក្នុងការបង្កើតទិន្នន័យមេតាគម្រោងដែលជាប់", + "error.childStore.persistedProjectIconCreateFailed": "បានបរាជ័យក្នុងការបង្កើតរូបតំណាងគម្រោងដែលបន្ត", + "error.childStore.storeCreateFailed": "បរាជ័យក្នុងការបង្កើតហាង", + "directory.error.invalidUrl": "ថតមិនត្រឹមត្រូវនៅក្នុង URL ។", + "error.chain.unknown": "កំហុសមិនស្គាល់", + "error.server.invalidConfiguration": "ការកំណត់មិនត្រឹមត្រូវ", + "error.chain.causedBy": "បង្កឡើងដោយ៖", + "error.chain.apiError": "កំហុស API", + "error.chain.status": "ស្ថានភាព៖ {{status}}", + "error.chain.retryable": "អាចសាកល្បងបាន៖ {{retryable}}", + "error.chain.responseBody": "តួការឆ្លើយតប៖\n{{body}}", + "error.chain.didYouMean": "តើអ្នកមានន័យថា៖ {{suggestions}}", + "error.chain.modelNotFound": "រកមិនឃើញម៉ូដែល៖ {{provider}}/{{model}}", + "error.chain.checkConfig": "ពិនិត្យការកំណត់រចនាសម្ព័ន្ធរបស់អ្នក (opencode.json) អ្នកផ្តល់សេវា/ឈ្មោះម៉ូដែល", + "error.chain.mcpFailed": 'ម៉ាស៊ីនមេ MCP "{{name}}" បានបរាជ័យ។ ចំណាំ OpenCode មិនគាំទ្រការផ្ទៀងផ្ទាត់ MCP នៅឡើយទេ។', + "error.chain.providerAuthFailed": "ការផ្ទៀងផ្ទាត់អ្នកផ្តល់សេវាបានបរាជ័យ ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + 'បានបរាជ័យក្នុងការចាប់ផ្តើមអ្នកផ្តល់សេវា "{{provider}}" ។ ពិនិត្យអត្តសញ្ញាណ និងការកំណត់រចនាសម្ព័ន្ធ។', + "error.chain.configJsonInvalid": "ឯកសារកំណត់រចនាសម្ព័ន្ធនៅ {{path}} មិនត្រឹមត្រូវ JSON(C)", + "error.chain.configJsonInvalidWithMessage": "ឯកសារកំណត់រចនាសម្ព័ន្ធនៅ {{path}} មិនត្រឹមត្រូវទេ JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + 'ថត "{{dir}}" នៅក្នុង {{path}} មិនត្រឹមត្រូវទេ។ ប្តូរឈ្មោះថតទៅជា "{{suggestion}}" ឬលុបវាចេញ។ នេះ​ជា​ការ​វាយ​ខុស​ធម្មតា។', + "error.chain.configFrontmatterError": "បរាជ័យក្នុងការញែកបញ្ហាមុខនៅក្នុង {{path}}៖\n{{message}}", + "error.chain.configInvalid": "ឯកសារកំណត់រចនាសម្ព័ន្ធនៅ {{path}} មិនត្រឹមត្រូវទេ។", + "error.chain.configInvalidWithMessage": "ឯកសារកំណត់រចនាសម្ព័ន្ធនៅ {{path}} មិនត្រឹមត្រូវទេ៖ {{message}}", + "notification.permission.title": "ទាមទារការអនុញ្ញាត", + "notification.permission.description": "{{sessionTitle}} ក្នុង {{projectName}} ត្រូវការការអនុញ្ញាត", + "notification.question.title": "សំណួរ", + "notification.question.description": "{{sessionTitle}} នៅក្នុង {{projectName}} មានសំណួរមួយ។", + "notification.action.goToSession": "ចូលទៅកាន់សម័យ", + "notification.session.responseReady.title": "ការឆ្លើយតបរួចរាល់", + "notification.session.error.title": "កំហុសសម័យ", + "notification.session.error.fallbackDescription": "កំហុសបានកើតឡើង", + "home.recentProjects": "គម្រោងថ្មីៗ", + "home.empty.title": "មិនមានគម្រោងថ្មីៗទេ។", + "home.empty.description": "ចាប់ផ្តើមដោយការបើកគម្រោងក្នុងស្រុក", + "home.title": "ទំព័រដើម", + "home.projects": "គម្រោង", + "home.project.add": "បន្ថែមគម្រោង", + "home.recentlyClosed": "ថ្មីៗនេះបានបិទ", + "home.server.collapse": "បង្រួមគម្រោងម៉ាស៊ីនមេ", + "home.server.expand": "ពង្រីកគម្រោងម៉ាស៊ីនមេ", + "home.sessions.search.placeholder": "សម័យស្វែងរក", + "home.sessions.search.placeholder.scoped": "សម័យស្វែងរកក្នុង {{scope}}", + "home.sessions.search.sessions": "សម័យ", + "home.sessions.search.noResults": "រកមិនឃើញសម័យសម្រាប់ {{query}} ទេ។", + "home.sessions.empty": "គ្មានអ្វីនៅទីនេះទេ។", + "home.sessions.empty.description": "បង្កើតសម័យដើម្បីចាប់ផ្តើម", + "home.sessions.group.today": "ថ្ងៃនេះ", + "home.sessions.group.yesterday": "ម្សិលមិញ", + "home.sessions.group.older": "ចាស់ជាង", + "home.providerTip": "ភ្ជាប់ជាមួយអ្នកផ្តល់សេវា 75+ ដើម្បីប្រើម៉ូដែលផ្សេងទៀត រួមទាំង Claude, GPT, Gemini ជាដើម។", + "session.tab.session": "សម័យ", + "session.tab.review": "ពិនិត្យ", + "session.tab.context": "បរិបទ", + "session.tab.unknown": "សម័យមិនស្គាល់", + "session.panel.reviewAndFiles": "ពិនិត្យ និងឯកសារ", + "session.error.notFound": "សម័យនេះមិនអាចរកឃើញទេ។", + "session.error.notFound.description": "ផ្ទាំងនេះចង្អុលទៅសម័យដែលលែងមាននៅលើម៉ាស៊ីនមេនេះ។", + "session.error.notFound.closeTab": "បិទផ្ទាំង", + "session.error.serverConnection": "មិនអាចភ្ជាប់ទៅម៉ាស៊ីនមេនេះទេ។", + "session.review.filesChanged": "ឯកសារបានផ្លាស់ប្តូរ {{count}}", + "session.review.change.one": "ការផ្លាស់ប្តូរ", + "session.review.change.other": "ការផ្លាស់ប្តូរ", + "session.review.loadingChanges": "កំពុងផ្ទុកការផ្លាស់ប្តូរ...", + "session.review.empty": "មិនមានការផ្លាស់ប្តូរនៅក្នុងសម័យនេះនៅឡើយទេ", + "session.review.noVcs": "គ្មានប្រព័ន្ធគ្រប់គ្រងកំណែ Git ត្រូវបានរកឃើញទេ ការផ្លាស់ប្តូរមិនត្រូវបានបង្ហាញទេ។", + "session.review.noVcs.createGit.title": "បង្កើតឃ្លាំង Git", + "session.review.noVcs.createGit.description": "តាមដាន ពិនិត្យ និងបោះបង់ការផ្លាស់ប្ដូរនៅក្នុងគម្រោងនេះ។", + "session.review.noVcs.createGit.actionLoading": "ការបង្កើតឃ្លាំង Git...", + "session.review.noVcs.createGit.action": "បង្កើតឃ្លាំង Git", + "session.review.noSnapshot": "ការតាមដានរូបថតត្រូវបានបិទនៅក្នុងការកំណត់ ដូច្នេះការផ្លាស់ប្តូរវេនមិនអាចប្រើបានទេ", + "session.review.noChanges": "គ្មានការផ្លាស់ប្តូរទេ។", + "session.review.noUncommittedChanges": "មិនទាន់មានការផ្លាស់ប្តូរដែលមិនទាន់បានកំណត់នៅឡើយ", + "session.review.noBranchChanges": "មិនទាន់មានការផ្លាស់ប្តូរសាខានៅឡើយទេ", + "session.files.selectToOpen": "ជ្រើសរើសឯកសារដើម្បីបើក", + "session.files.all": "ឯកសារទាំងអស់។", + "session.files.empty": "គ្មានឯកសារទេ។", + "session.files.binaryContent": "ឯកសារគោលពីរ (មាតិកាមិនអាចត្រូវបានបង្ហាញ)", + "session.messages.renderEarlier": "បង្ហាញសារមុន។", + "session.messages.loadingEarlier": "កំពុងផ្ទុកសារមុន...", + "session.messages.loadEarlier": "ផ្ទុកសារមុន។", + "session.messages.loading": "កំពុងផ្ទុកសារ...", + "session.messages.jumpToLatest": "លោតទៅចុងក្រោយបំផុត។", + "session.context.addToContext": "បន្ថែម {{selection}} ទៅបរិបទ", + "session.todo.title": "អ្វីដែលត្រូវធ្វើ", + "session.todo.collapse": "ដួលរលំ", + "session.todo.expand": "ពង្រីក", + "session.todo.progress": "{{done}} នៃ {{total}} ការងារត្រូវធ្វើបានបញ្ចប់", + "session.question.progress": "{{current}} នៃសំណួរ {{total}}", + "session.question.minimize": "បង្រួមសំណួរ", + "session.question.restore": "ស្ដារសំណួរ", + "session.question.pending.one": "{{count}} សំណួរដែលមិនទាន់សម្រេច", + "session.question.pending.other": "{{count}} សំណួរមិនទាន់សម្រេច", + "session.followupDock.summary.one": "សារដែលបានតម្រង់ជួរ {{count}}", + "session.followupDock.summary.other": "{{count}} សារដែលបានដាក់ជាជួរ", + "session.followupDock.sendNow": "ផ្ញើឥឡូវនេះ", + "session.followupDock.edit": "កែសម្រួល", + "session.followupDock.collapse": "បង្រួមសារដែលបានដាក់ជាជួរ", + "session.followupDock.expand": "ពង្រីកសារដែលបានដាក់ជាជួរ", + "session.revertDock.summary.one": "{{count}} ត្រឡប់សារវិញ។", + "session.revertDock.summary.other": "{{count}} ត្រឡប់សារវិញ។", + "session.revertDock.collapse": "បង្រួមសារដែលបានវិលត្រឡប់មកវិញ", + "session.revertDock.expand": "ពង្រីកសារត្រឡប់", + "session.revertDock.restore": "ស្តារសារឡើងវិញ", + "session.new.title": "សាងសង់អ្វីក៏បាន", + "session.new.project.new": "គម្រោងថ្មី។", + "session.new.project.search": "គម្រោងស្វែងរក", + "session.new.project.add": "បន្ថែមគម្រោង", + "session.new.worktree.main": "សាខាចម្បង", + "session.new.worktree.mainWithBranch": "សាខាចម្បង ({{branch}})", + "session.new.worktree.create": "បង្កើត Git worktree ថ្មី", + "session.new.workspace.runIn": "ដំណើរការសម័យក្នុង", + "session.new.workspace.triggerLocal": "ក្នុងស្រុក", + "session.new.workspace.local": "ឃ្លាំងមូលដ្ឋាន", + "session.new.workspace.existing": "កន្លែងធ្វើការ…", + "session.new.git.none": "គ្មាន Git", + "session.new.lastModified": "កែប្រែចុងក្រោយ", + "session.header.search.placeholder": "ស្វែងរក {{project}}", + "session.header.searchFiles": "ស្វែងរកឯកសារ", + "session.header.openIn": "បើកចូល", + "session.header.open.action": "បើក {{app}}", + "session.header.open.ariaLabel": "បើកក្នុង {{app}}", + "session.header.open.menu": "ជម្រើសបើក", + "session.header.open.copyPath": "ចម្លងផ្លូវ", + "session.header.open.finder": "អ្នកស្វែងរក", + "session.header.open.fileExplorer": "កម្មវិធីរុករកឯកសារ", + "session.header.open.fileManager": "កម្មវិធីគ្រប់គ្រងឯកសារ", + "session.header.reveal.finder": "បង្ហាញនៅក្នុង Finder", + "session.header.reveal.fileExplorer": "បង្ហាញនៅក្នុង File Explorer", + "session.header.reveal.containingFolder": "បើកថតដែលមាន", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Terminal", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "ស្ថានភាព", + "status.popover.ariaLabel": "ការកំណត់រចនាសម្ព័ន្ធម៉ាស៊ីនមេ", + "status.popover.tab.servers": "ម៉ាស៊ីនមេ", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "កម្មវិធីជំនួយ", + "status.popover.action.manageServers": "គ្រប់គ្រងម៉ាស៊ីនមេ", + "session.share.popover.title": "បោះផ្សាយនៅលើគេហទំព័រ", + "session.share.popover.description.shared": + "សម័យនេះគឺសាធារណៈនៅលើគេហទំព័រ។ វា​អាច​ចូល​ប្រើ​បាន​សម្រាប់​អ្នក​ណា​ដែល​មាន​តំណ។", + "session.share.popover.description.unshared": + "ចែករំលែកសម័យជាសាធារណៈនៅលើគេហទំព័រ។ វានឹងអាចចូលប្រើបានសម្រាប់អ្នកដែលមានតំណ។", + "session.share.action.share": "ចែករំលែក", + "session.share.action.publish": "បោះពុម្ព", + "session.share.action.publishing": "ការបោះពុម្ព...", + "session.share.action.unpublish": "ឈប់បោះផ្សាយ", + "session.share.action.unpublishing": "កំពុងឈប់បោះពុម្ព...", + "session.share.action.view": "មើល", + "session.share.copy.copied": "ចម្លង", + "session.share.copy.copyLink": "ចម្លងតំណ", + "lsp.tooltip.none": "គ្មានម៉ាស៊ីនមេ LSP ទេ។", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "កំពុង​ផ្ទុក​ប្រអប់បញ្ចូល...", + "terminal.loading": "កំពុងផ្ទុកស្ថានីយ...", + "terminal.title": "ស្ថានីយ", + "terminal.title.numbered": "ស្ថានីយ {{number}}", + "terminal.close": "បិទស្ថានីយ", + "terminal.connectionLost.title": "ការតភ្ជាប់បាត់", + "terminal.connectionLost.abnormalClose": "WebSocket បានបិទមិនធម្មតា៖ {{code}}", + "terminal.connectionLost.description": "ការតភ្ជាប់ស្ថានីយត្រូវបានរំខាន។ វាអាចកើតឡើងនៅពេលដែលម៉ាស៊ីនមេចាប់ផ្តើមឡើងវិញ។", + "terminal.connectTicket.csrfError": + "សំបុត្រភ្ជាប់ PTY ត្រូវបានបដិសេធដោយប្រភពដើម ឬការត្រួតពិនិត្យ CSRF ។ ពិនិត្យការកំណត់រចនាសម្ព័ន្ធ CORS ម៉ាស៊ីនមេ។", + "terminal.connectTicket.statusError": "សំបុត្រភ្ជាប់ PTY បានបរាជ័យជាមួយ {{status}}", + "titlebar.update": "អាប់ដេត", + "titlebar.updateVersion": "ធ្វើបច្ចុប្បន្នភាព {{version}}", + "common.closeTab": "បិទផ្ទាំង", + "common.dismiss": "ច្រានចោល", + "common.moreCountSuffix": "(+{{count}} ច្រើនទៀត)", + "common.requestFailed": "សំណើបានបរាជ័យ", + "common.moreOptions": "ជម្រើសច្រើនទៀត", + "common.learnMore": "ស្វែងយល់បន្ថែម", + "common.rename": "ប្តូរឈ្មោះ", + "common.export": "នាំចេញ", + "common.reset": "កំណត់ឡើងវិញ", + "common.archive": "បណ្ណសារ", + "common.delete": "លុប", + "common.close": "បិទ", + "common.edit": "កែសម្រួល", + "common.loadMore": "ផ្ទុកច្រើនទៀត", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "មិនស្គាល់", + "common.time.justNow": "ឥឡូវនេះ", + "common.time.minutesAgo.short": "{{count}}m មុន។", + "common.time.hoursAgo.short": "{{count}}h កន្លងទៅ", + "common.time.daysAgo.short": "{{count}}d មុន។", + "sidebar.menu.toggle": "បិទ/បើកម៉ឺនុយ", + "sidebar.nav.projectsAndSessions": "គម្រោង និងសម័យ", + "sidebar.settings": "ការកំណត់", + "sidebar.help": "ជំនួយ", + "sidebar.workspaces.enable": "បើកកន្លែងធ្វើការ", + "sidebar.workspaces.disable": "បិទកន្លែងធ្វើការ", + "sidebar.gettingStarted.title": "ការចាប់ផ្តើម", + "sidebar.gettingStarted.line1": "OpenCode រួមបញ្ចូលម៉ូដែលឥតគិតថ្លៃ ដូច្នេះអ្នកអាចចាប់ផ្តើមភ្លាមៗ។", + "sidebar.gettingStarted.line2": "ភ្ជាប់អ្នកផ្តល់សេវាណាមួយដើម្បីប្រើម៉ូដែល, inc ។ Claude, GPT, Gemini ជាដើម។", + "sidebar.project.recentSessions": "សម័យថ្មីៗ", + "sidebar.project.viewAllSessions": "មើលសម័យទាំងអស់។", + "sidebar.project.clearNotifications": "ជម្រះការជូនដំណឹង", + "sidebar.empty.title": "គ្មានគម្រោងបើកទេ។", + "sidebar.empty.description": "បើកគម្រោងដើម្បីចាប់ផ្តើម", + "debugBar.ariaLabel": "ការវិនិច្ឆ័យដំណើរការអភិវឌ្ឍន៍", + "debugBar.na": "n/a", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "ការផ្លាស់ប្តូរផ្លូវដែលបានបញ្ចប់ចុងក្រោយដោយប៉ះទំព័រសម័យមួយ ដែលវាស់វែងពីការចាប់ផ្តើមរ៉ោតទ័រ រហូតដល់ការលាបពណ៌ដំបូងបន្ទាប់ពីវាដោះស្រាយ។", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "ស៊ុមវិលក្នុងមួយវិនាទីក្នុងរយៈពេល 5 វិនាទីចុងក្រោយ។", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "ពេលវេលាស៊ុមអាក្រក់បំផុតក្នុងរយៈពេល 5 វិនាទីចុងក្រោយ។", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "ស៊ុមលើសពី 32ms ក្នុងរយៈពេល 5 វិនាទីចុងក្រោយ។", + "debugBar.long.label": "LONG", + "debugBar.long.tip": + "ពេលវេលាដែលបានទប់ស្កាត់ និងចំនួនកិច្ចការយូរក្នុងរយៈពេល 5 វិនាទីចុងក្រោយ។ ភារកិច្ចអតិបរមា៖ {{max}} ។", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "ការពន្យាពេលបញ្ចូលដែលបានសង្កេតឃើញអាក្រក់បំផុតក្នុងរយៈពេល 5 វិនាទីចុងក្រោយ។", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": + "រយៈពេលអន្តរកម្មប្រហាក់ប្រហែលក្នុងរយៈពេល 5 វិនាទីចុងក្រោយ។ នេះគឺដូច INP មិនមែន Web Vitals INP ផ្លូវការទេ។", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "ការផ្លាស់ប្តូរប្លង់សរុបសម្រាប់អាយុកាលកម្មវិធីបច្ចុប្បន្ន។", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "បានប្រើ JS heap ទល់នឹង heap limit ។ Chromium តែប៉ុណ្ណោះ។", + "debugBar.mem.tip": "បានប្រើ JS heap ទល់នឹង heap limit ។ {{used}} នៃ {{limit}} ។", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "បង្ខំរចនាប័ទ្មផ្តោតទៅលើធាតុអន្តរកម្មទាំងអស់។", + "debugBar.focus.on": "ON", + "debugBar.focus.off": "OFF", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "បង្ខំទិសដៅប្លង់កម្មវិធីពេញលេញដោយមិនផ្លាស់ប្តូរភាសាដែលបានជ្រើសរើស", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode Desktop", + "settings.section.desktop": "ផ្ទៃតុ", + "settings.section.server": "ម៉ាស៊ីនមេ", + "settings.tab.general": "ទូទៅ", + "settings.tab.shortcuts": "ផ្លូវកាត់", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "ការរួមបញ្ចូល WSL", + "settings.desktop.wsl.description": "ដំណើរការម៉ាស៊ីនមេ OpenCode នៅខាងក្នុង WSL នៅលើ Windows ។", + "settings.general.section.appearance": "រូបរាង", + "settings.general.section.advanced": "កម្រិតខ្ពស់", + "settings.general.section.notifications": "ការជូនដំណឹងប្រព័ន្ធ", + "settings.general.section.updates": "បច្ចុប្បន្នភាព", + "settings.general.section.sounds": "បែបផែនសំឡេង", + "settings.general.section.feed": "មតិព័ត៌មាន", + "settings.general.section.display": "បង្ហាញ", + "settings.general.row.language.title": "ភាសា", + "settings.general.row.language.description": "ប្តូរភាសាបង្ហាញសម្រាប់ OpenCode", + "settings.general.row.shell.title": "សែលស្ថានីយ", + "settings.general.row.shell.description": "សែលប្រើដោយឧបករណ៍ស្ថានីយ និងភ្នាក់ងារ", + "settings.general.row.shell.autoDefault": "ស្វ័យប្រវត្តិ (លំនាំដើម)\nស្ថានីយ", + "settings.general.row.shell.terminalOnly": "ប៉ុណ្ណោះ។", + "settings.general.row.appearance.title": "រូបរាង", + "settings.general.row.appearance.description": "ប្ដូរតាមបំណងពីរបៀបដែល OpenCode មើលទៅលើឧបករណ៍របស់អ្នក។", + "settings.general.row.colorScheme.title": "ពណ៌ចម្រុះ", + "settings.general.row.colorScheme.description": "ជ្រើសរើសថាតើ OpenCode ធ្វើតាមប្រព័ន្ធ ពន្លឺ ឬរូបរាងងងឹត", + "settings.general.row.theme.title": "ស្បែក", + "settings.general.row.theme.description": "ប្ដូរតាមបំណងពីរបៀបដែល OpenCode មានប្រធានបទ។", + "settings.general.row.font.title": "ពុម្ពអក្សរកូដ", + "settings.general.row.font.description": "ប្ដូរពុម្ពអក្សរដែលប្រើក្នុងប្លុកកូដតាមបំណង", + "settings.general.row.terminalFont.title": "ពុម្ពអក្សរស្ថានីយ", + "settings.general.row.terminalFont.description": "ប្ដូរពុម្ពអក្សរដែលប្រើក្នុងស្ថានីយតាមបំណង", + "settings.general.row.uiFont.title": "ពុម្ពអក្សរ UI", + "settings.general.row.uiFont.description": "ប្ដូរពុម្ពអក្សរតាមបំណងដែលបានប្រើទូទាំងចំណុចប្រទាក់", + "settings.general.row.followup.title": "ឥរិយាបថតាមដាន", + "settings.general.row.followup.description": "ជ្រើសរើសថាតើការតាមដានជំរុញភ្លាមៗ ឬរង់ចាំជាជួរ", + "settings.general.row.followup.option.queue": "ជួរ", + "settings.general.row.followup.option.steer": "ចង្កូត", + "settings.general.row.showFileTree.title": "មែកធាងឯកសារ", + "settings.general.row.showFileTree.description": "បង្ហាញបន្ទះមែកធាងឯកសារនៅក្នុងសម័យ", + "settings.general.row.showNavigation.title": "ការគ្រប់គ្រងការរុករក", + "settings.general.row.showNavigation.description": "បង្ហាញប៊ូតុងថយក្រោយ និងបញ្ជូនបន្តនៅក្នុងរបារចំណងជើងផ្ទៃតុ", + "settings.general.row.showSearch.title": "ក្ដារលាយពាក្យបញ្ជា", + "settings.general.row.showSearch.description": "បង្ហាញប៊ូតុងស្វែងរក និងក្ដារលាយពាក្យបញ្ជានៅក្នុងរបារចំណងជើង", + "settings.general.row.showTerminal.title": "ស្ថានីយ", + "settings.general.row.showTerminal.description": "បង្ហាញប៊ូតុងស្ថានីយនៅក្នុងរបារចំណងជើងផ្ទៃតុ", + "settings.general.row.showStatus.title": "ស្ថានភាពម៉ាស៊ីនមេ", + "settings.general.row.showStatus.description": "បង្ហាញប៊ូតុងស្ថានភាពម៉ាស៊ីនមេនៅក្នុងរបារចំណងជើង", + "settings.general.row.mobileTitlebarBottom.title": "ការរុករកខាងក្រោម", + "settings.general.row.mobileTitlebarBottom.description": "ដាក់របារចំណងជើង និងផ្ទាំងសម័យនៅខាងក្រោមអេក្រង់នៅលើទូរសព្ទ", + "settings.general.row.showCustomAgents.title": "បង្ហាញភ្នាក់ងារ", + "settings.general.row.showCustomAgents.description": + "ប្តូររវាងភ្នាក់ងារនៅក្នុងកម្មវិធីតែង។ នៅពេលលាក់ វាកំណត់លំនាំដើមទៅភ្នាក់ងារបង្កើត។", + "settings.general.row.reasoningSummaries.title": "បង្ហាញការសង្ខេបហេតុផល", + "settings.general.row.reasoningSummaries.description": "បង្ហាញសេចក្តីសង្ខេបហេតុផលរបស់ម៉ូដែលក្នុងបន្ទាត់ពេលវេលា", + "settings.general.row.shellToolPartsExpanded.title": "ពង្រីកផ្នែកឧបករណ៍សែល", + "settings.general.row.shellToolPartsExpanded.description": + "បង្ហាញផ្នែកឧបករណ៍សែលដែលបានពង្រីកតាមលំនាំដើមនៅក្នុងបន្ទាត់ពេលវេលា", + "settings.general.row.editToolPartsExpanded.title": "ពង្រីកផ្នែកឧបករណ៍កែសម្រួល", + "settings.general.row.editToolPartsExpanded.description": + "បង្ហាញការកែសម្រួល សរសេរ និងផ្នែកឧបករណ៍បំណះដែលបានពង្រីកតាមលំនាំដើមនៅក្នុងបន្ទាត់ពេលវេលា", + "settings.general.row.newInterface.title": "ប្លង់ថ្មី។", + "settings.general.row.newInterface.badge": "ថ្មី។", + "settings.general.row.newInterface.description": "ប្រើផ្ទាំងថ្មី និងប្លង់ផ្ទះ។ ប្តូររវាងប្លង់សម្រាប់រយៈពេលកំណត់។", + "settings.general.row.newInterfaceNotice.title": "ឥឡូវនេះ អ្នកកំពុងប្រើប្លង់ថ្មី។", + "settings.general.row.newInterfaceNotice.description": "ប្លង់ពីមុនលែងមានទៀតហើយ", + "settings.general.row.newInterfaceNotice.dismiss": "ច្រានចោល", + "settings.general.row.pinchZoom.title": "ខ្ទាស់ដើម្បីពង្រីក", + "settings.general.row.pinchZoom.description": "អនុញ្ញាត​ឱ្យ​ចុច​បន្ទះ​បន្ទះ​និង​កាយវិការ​បញ្ជា​-​រមូរ​ដើម្បី​ពង្រីក", + "settings.general.row.wayland.title": "ប្រើ Wayland ដើម", + "settings.general.row.wayland.description": "បិទដំណើរការ X11 fallback នៅលើ Wayland។ ទាមទារការចាប់ផ្តើមឡើងវិញ។", + "settings.general.row.wayland.tooltip": + "នៅលើលីនុចដែលមានម៉ូនីទ័រអត្រាធ្វើឱ្យស្រស់ចម្រុះ វេយលែនដើមអាចមានស្ថេរភាពជាងមុន។", + "settings.general.row.releaseNotes.title": "កំណត់ចំណាំចេញផ្សាយ", + "settings.general.row.releaseNotes.description": "បង្ហាញអ្វីដែលថ្មីលេចឡើងបន្ទាប់ពីការអាប់ដេត", + "settings.updates.row.startup.title": "ពិនិត្យមើលការអាប់ដេតនៅពេលចាប់ផ្តើម", + "settings.updates.row.startup.description": "ពិនិត្យមើលការអាប់ដេតដោយស្វ័យប្រវត្តិនៅពេលដែល OpenCode ចាប់ផ្តើម", + "settings.updates.row.check.title": "ពិនិត្យមើលបច្ចុប្បន្នភាព", + "settings.updates.row.check.description": "ពិនិត្យមើលបច្ចុប្បន្នភាពដោយដៃ ហើយដំឡើងប្រសិនបើមាន", + "settings.updates.action.checkNow": "ពិនិត្យឥឡូវនេះ", + "settings.updates.action.checking": "កំពុងពិនិត្យ...", + "settings.updates.action.downloading": "កំពុងទាញយក...", + "settings.updates.action.installing": "កំពុងដំឡើង...", + "settings.updates.toast.latest.title": "អ្នកទាន់សម័យហើយ។", + "settings.updates.toast.latest.description": "អ្នកកំពុងដំណើរការកំណែចុងក្រោយបំផុតនៃ OpenCode ។", + "sound.option.none": "គ្មានទេ។", + "sound.option.alert01": "ដាស់តឿន ០១", + "sound.option.alert02": "ដាស់តឿន ០២", + "sound.option.alert03": "ដាស់តឿន ០៣", + "sound.option.alert04": "ដាស់តឿន ០៤", + "sound.option.alert05": "ដាស់តឿន ០៥", + "sound.option.alert06": "ដាស់តឿន ០៦", + "sound.option.alert07": "ដាស់តឿន ០៧", + "sound.option.alert08": "ដាស់តឿន ០៨", + "sound.option.alert09": "ដាស់តឿន ០៩", + "sound.option.alert10": "ការជូនដំណឹង ១០", + "sound.option.bipbop01": "ប៊ីប-បប ០១", + "sound.option.bipbop02": "បុប្ផាបុប្ផា ០២", + "sound.option.bipbop03": "ប៊ីប-បូប ០៣", + "sound.option.bipbop04": "បុប្ផាព្រៃភ្នំ ០៤", + "sound.option.bipbop05": "ប៊ីប-បូប ០៥", + "sound.option.bipbop06": "ប៊ីប-បប ០៦", + "sound.option.bipbop07": "បុប្ផាបុប្ផា ០៧", + "sound.option.bipbop08": "បុប្ផាបុប្ផា ០៨", + "sound.option.bipbop09": "បុប្ផាផ្កាស្មៅ ០៩", + "sound.option.bipbop10": "ប៊ីបបប ១០", + "sound.option.staplebops01": "Staplebops ០១", + "sound.option.staplebops02": "Staplebops ០២", + "sound.option.staplebops03": "Staplebops ០៣", + "sound.option.staplebops04": "Staplebops ០៤", + "sound.option.staplebops05": "Staplebops ០៥", + "sound.option.staplebops06": "Staplebops ០៦", + "sound.option.staplebops07": "Staplebops ០៧", + "sound.option.nope01": "ទេ ០១", + "sound.option.nope02": "ទេ ០២", + "sound.option.nope03": "ទេ ០៣", + "sound.option.nope04": "ទេ ០៤", + "sound.option.nope05": "ទេ ០៥", + "sound.option.nope06": "គ្មានទេ ០៦", + "sound.option.nope07": "គ្មានទេ ០៧", + "sound.option.nope08": "ទេ ០៨", + "sound.option.nope09": "ទេ ០៩", + "sound.option.nope10": "ទេ ១០", + "sound.option.nope11": "ទេ ១១", + "sound.option.nope12": "ទេ ១២", + "sound.option.yup01": "បាទ ០១", + "sound.option.yup02": "បាទ ០២", + "sound.option.yup03": "បាទ ០៣", + "sound.option.yup04": "បាទ ០៤", + "sound.option.yup05": "បាទ ០៥", + "sound.option.yup06": "បាទ ០៦", + "settings.general.notifications.agent.title": "ភ្នាក់ងារ", + "settings.general.notifications.agent.description": + "បង្ហាញការជូនដំណឹងប្រព័ន្ធ នៅពេលដែលភ្នាក់ងារបញ្ចប់ ឬត្រូវការការយកចិត្តទុកដាក់", + "settings.general.notifications.permissions.title": "ការអនុញ្ញាត", + "settings.general.notifications.permissions.description": "បង្ហាញការជូនដំណឹងប្រព័ន្ធនៅពេលដែលត្រូវការការអនុញ្ញាត", + "settings.general.notifications.errors.title": "កំហុស", + "settings.general.notifications.errors.description": "បង្ហាញការជូនដំណឹងប្រព័ន្ធនៅពេលដែលមានកំហុសកើតឡើង", + "settings.general.sounds.agent.title": "ភ្នាក់ងារ", + "settings.general.sounds.agent.description": "ចាក់សំឡេងនៅពេលដែលភ្នាក់ងារបញ្ចប់ ឬត្រូវការការយកចិត្តទុកដាក់", + "settings.general.sounds.permissions.title": "ការអនុញ្ញាត", + "settings.general.sounds.permissions.description": "ចាក់សំឡេងនៅពេលដែលត្រូវការការអនុញ្ញាត", + "settings.general.sounds.errors.title": "កំហុស", + "settings.general.sounds.errors.description": "ចាក់សំឡេងនៅពេលមានកំហុសកើតឡើង", + "settings.shortcuts.title": "ផ្លូវកាត់ក្តារចុច", + "settings.shortcuts.reset.button": "កំណត់ឡើងវិញទៅលំនាំដើម", + "settings.shortcuts.reset.toast.title": "កំណត់ផ្លូវកាត់ឡើងវិញ", + "settings.shortcuts.reset.toast.description": "ផ្លូវកាត់ក្តារចុចត្រូវបានកំណត់ឡើងវិញទៅលំនាំដើម។", + "settings.shortcuts.conflict.title": "ផ្លូវកាត់ត្រូវបានប្រើប្រាស់រួចហើយ", + "settings.shortcuts.conflict.description": "{{keybind}} ត្រូវបានចាត់ឱ្យទៅ {{titles}} រួចហើយ។", + "settings.shortcuts.unassigned": "មិនបានកំណត់", + "settings.shortcuts.pressKeys": "ចុចគ្រាប់ចុច", + "settings.shortcuts.search.placeholder": "ផ្លូវកាត់ស្វែងរក", + "settings.shortcuts.search.empty": "រកមិនឃើញផ្លូវកាត់ទេ។", + "settings.shortcuts.group.general": "ទូទៅ", + "settings.shortcuts.group.session": "សម័យ", + "settings.shortcuts.group.navigation": "ការរុករក", + "settings.shortcuts.group.modelAndAgent": "ម៉ូដែល និងភ្នាក់ងារ", + "settings.shortcuts.group.terminal": "ស្ថានីយ", + "settings.shortcuts.group.prompt": "ប្រអប់បញ្ចូល", + "settings.providers.title": "អ្នកផ្តល់សេវា", + "settings.providers.description": "ការកំណត់អ្នកផ្តល់សេវានឹងអាចកំណត់បាននៅទីនេះ។", + "settings.providers.section.connected": "អ្នកផ្តល់សេវាដែលបានភ្ជាប់", + "settings.providers.connected.empty": "គ្មានអ្នកផ្តល់សេវាដែលបានតភ្ជាប់ទេ។", + "settings.providers.connected.environmentDescription": "បានភ្ជាប់ពីអថេរបរិស្ថានរបស់អ្នក។", + "settings.providers.section.popular": "អ្នកផ្តល់សេវាពេញនិយម", + "settings.providers.custom.description": "បន្ថែមអ្នកផ្តល់សេវាដែលត្រូវគ្នាជាមួយ OpenAI ដោយ URL មូលដ្ឋាន។", + "settings.providers.tag.environment": "បរិស្ថាន", + "settings.providers.tag.config": "កំណត់រចនាសម្ព័ន្ធ", + "settings.providers.tag.custom": "ផ្ទាល់ខ្លួន", + "settings.providers.tag.other": "ផ្សេងទៀត។", + "settings.models.title": "ម៉ូដែល", + "settings.models.description": "ការកំណត់ម៉ូដែលនឹងអាចកំណត់បាននៅទីនេះ។", + "settings.agents.title": "ភ្នាក់ងារ", + "settings.agents.description": "ការកំណត់ភ្នាក់ងារនឹងអាចកំណត់បាននៅទីនេះ។", + "settings.commands.title": "ពាក្យបញ្ជា", + "settings.commands.description": "ការកំណត់ពាក្យបញ្ជានឹងអាចកំណត់បាននៅទីនេះ។", + "settings.mcp.title": "MCP", + "settings.mcp.description": "ការកំណត់ MCP នឹងអាចកំណត់បាននៅទីនេះ។", + "settings.permissions.title": "ការអនុញ្ញាត", + "settings.permissions.description": "គ្រប់គ្រងឧបករណ៍អ្វីដែលម៉ាស៊ីនមេអាចប្រើតាមលំនាំដើម។", + "settings.permissions.section.tools": "ឧបករណ៍", + "settings.permissions.toast.updateFailed.title": "បរាជ័យក្នុងការធ្វើបច្ចុប្បន្នភាពការអនុញ្ញាត", + "settings.permissions.action.allow": "អនុញ្ញាត", + "settings.permissions.action.ask": "សួរ", + "settings.permissions.action.deny": "បដិសេធ", + "settings.permissions.tool.read.title": "អាន", + "settings.permissions.tool.read.description": "ការអានឯកសារ (ត្រូវនឹងផ្លូវឯកសារ)", + "settings.permissions.tool.edit.title": "កែសម្រួល", + "settings.permissions.tool.edit.description": "កែប្រែឯកសារ រួមទាំងការកែសម្រួល សរសេរ និងបំណះ", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "ផ្គូផ្គងឯកសារដោយប្រើលំនាំ glob", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "ស្វែងរកមាតិកាឯកសារដោយប្រើកន្សោមធម្មតា។", + "settings.permissions.tool.list.title": "បញ្ជី", + "settings.permissions.tool.list.description": "រាយបញ្ជីឯកសារនៅក្នុងថតមួយ។", + "settings.permissions.tool.bash.title": "Bash", + "settings.permissions.tool.bash.description": "ដំណើរការពាក្យបញ្ជាសែល", + "settings.permissions.tool.task.title": "កិច្ចការ", + "settings.permissions.tool.task.description": "បើកដំណើរការភ្នាក់ងាររង", + "settings.permissions.tool.skill.title": "ជំនាញ", + "settings.permissions.tool.skill.description": "ផ្ទុកជំនាញតាមឈ្មោះ", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "ដំណើរការសំណួរម៉ាស៊ីនមេភាសា", + "settings.permissions.tool.todowrite.title": "Todo Write", + "settings.permissions.tool.todowrite.description": "ធ្វើបច្ចុប្បន្នភាពបញ្ជីការងារត្រូវធ្វើ", + "settings.permissions.tool.webfetch.title": "ការទាញយកគេហទំព័រ", + "settings.permissions.tool.webfetch.description": "ទាញយកមាតិកាពី URL", + "settings.permissions.tool.websearch.title": "ការស្វែងរកតាមអ៊ីនធឺណិត", + "settings.permissions.tool.websearch.description": "ស្វែងរកគេហទំព័រ", + "settings.permissions.tool.external_directory.title": "ថតខាងក្រៅ", + "settings.permissions.tool.external_directory.description": "ចូលប្រើឯកសារនៅខាងក្រៅថតគម្រោង", + "settings.permissions.tool.doom_loop.title": "Doom Loop", + "settings.permissions.tool.doom_loop.description": "រកឃើញការហៅឧបករណ៍ម្តងហើយម្តងទៀតជាមួយនឹងការបញ្ចូលដូចគ្នា។", + "session.delete.failed.title": "បរាជ័យក្នុងការលុបសម័យ", + "session.delete.title": "លុបសម័យ", + "session.delete.confirm": 'លុបសម័យ "{{name}}"?', + "session.delete.button": "លុបសម័យ", + "workspace.new": "កន្លែងធ្វើការថ្មី។", + "workspace.type.local": "ក្នុងស្រុក", + "workspace.type.sandbox": "ប្រអប់ខ្សាច់", + "workspace.create.failed.title": "បរាជ័យក្នុងការបង្កើតកន្លែងធ្វើការ", + "workspace.delete.failed.title": "បរាជ័យក្នុងការលុបកន្លែងធ្វើការ", + "workspace.resetting.title": "កំណត់កន្លែងធ្វើការឡើងវិញ", + "workspace.resetting.description": "វាអាចចំណាយពេលមួយនាទី។", + "workspace.reset.failed.title": "បានបរាជ័យក្នុងការកំណត់កន្លែងធ្វើការឡើងវិញ", + "workspace.reset.success.title": "កំណត់កន្លែងធ្វើការឡើងវិញ", + "workspace.reset.success.description": "កន្លែងធ្វើការឥឡូវនេះត្រូវគ្នានឹងសាខាលំនាំដើម។", + "workspace.error.stillPreparing": "កន្លែងធ្វើការកំពុងរៀបចំនៅឡើយ", + "workspace.status.checking": "កំពុងពិនិត្យមើលការផ្លាស់ប្តូរដែលមិនរួមបញ្ចូលគ្នា...", + "workspace.status.error": "មិនអាចផ្ទៀងផ្ទាត់ស្ថានភាព git បានទេ។", + "workspace.status.clean": "រកមិនឃើញការផ្លាស់ប្តូរដែលមិនរួមបញ្ចូលគ្នាទេ។", + "workspace.status.dirty": "បានរកឃើញការផ្លាស់ប្តូរដែលមិនរួមបញ្ចូលគ្នានៅក្នុងកន្លែងធ្វើការនេះ។", + "workspace.delete.title": "លុបកន្លែងធ្វើការ", + "workspace.delete.confirm": 'លុបកន្លែងធ្វើការ "{{name}}"?', + "workspace.delete.button": "លុបកន្លែងធ្វើការ", + "workspace.reset.title": "កំណត់កន្លែងធ្វើការឡើងវិញ", + "workspace.reset.confirm": 'កំណត់ទំហំការងារ "{{name}}" ឡើងវិញ?', + "workspace.reset.button": "កំណត់ទំហំការងារឡើងវិញ", + "workspace.reset.archived.none": "គ្មានសម័យសកម្មនឹងត្រូវបានទុកក្នុងប័ណ្ណសារទេ។", + "workspace.reset.archived.one": "សម័យ 1 នឹងត្រូវបានទុកក្នុងប័ណ្ណសារ។", + "workspace.reset.archived.many": "សម័យ {{count}} នឹងត្រូវបានទុកក្នុងប័ណ្ណសារ។", + "workspace.reset.note": "វានឹងកំណត់កន្លែងធ្វើការឡើងវិញដើម្បីផ្គូផ្គងសាខាលំនាំដើម។", + "dialog.usageExceeded.dontShowAgain": "កុំបង្ហាញម្តងទៀត", +} diff --git a/packages/app/src/i18n/ko.ts b/packages/app/src/i18n/ko.ts index 02d9a5e0e189..b96fb4c59471 100644 --- a/packages/app/src/i18n/ko.ts +++ b/packages/app/src/i18n/ko.ts @@ -19,7 +19,7 @@ export const dict = { "theme.scheme.system": "시스템", "theme.scheme.light": "라이트", "theme.scheme.dark": "다크", - "command.sidebar.toggle": "사이드바 토글", + "command.sidebar.toggle": "사이드바 표시/숨기기", "command.project.open": "프로젝트 열기", "command.provider.connect": "공급자 연결", "command.server.switch": "서버 전환", @@ -42,12 +42,12 @@ export const dict = { "command.context.addSelection": "선택 영역을 컨텍스트에 추가", "command.context.addSelection.description": "현재 파일에서 선택한 줄을 추가", "command.input.focus": "입력창 포커스", - "command.terminal.toggle": "터미널 토글", - "command.fileTree.toggle": "파일 트리 토글", - "command.review.toggle": "검토 토글", + "command.terminal.toggle": "터미널 표시/숨기기", + "command.fileTree.toggle": "파일 트리 표시/숨기기", + "command.review.toggle": "검토 표시/숨기기", "command.terminal.new": "새 터미널", "command.terminal.new.description": "새 터미널 탭 생성", - "command.steps.toggle": "단계 토글", + "command.steps.toggle": "단계 표시/숨기기", "command.steps.toggle.description": "현재 메시지의 단계 표시/숨기기", "command.message.previous": "이전 메시지", "command.message.previous.description": "이전 사용자 메시지로 이동", @@ -55,8 +55,8 @@ export const dict = { "command.message.next.description": "다음 사용자 메시지로 이동", "command.model.choose": "모델 선택", "command.model.choose.description": "다른 모델 선택", - "command.mcp.toggle": "MCP 토글", - "command.mcp.toggle.description": "MCP 토글", + "command.mcp.toggle": "MCP 전환", + "command.mcp.toggle.description": "MCP 전환", "command.agent.cycle": "에이전트 순환", "command.agent.cycle.description": "다음 에이전트로 전환", "command.agent.cycle.reverse": "에이전트 역순환", @@ -81,6 +81,9 @@ export const dict = { "command.session.share.description": "이 세션을 공유하고 URL을 클립보드에 복사", "command.session.unshare": "세션 공유 중지", "command.session.unshare.description": "이 세션 공유 중지", + "command.session.export": "세션 내보내기", + "command.session.export.description": "전체 세션 기록을 JSON으로 내보내기", + "palette.search.placeholder": "파일, 명령어 및 세션 검색", "palette.search.placeholder.home": "명령어 및 세션 검색", "palette.empty": "결과 없음", @@ -90,13 +93,14 @@ export const dict = { "dialog.provider.empty": "공급자 없음", "dialog.provider.group.popular": "인기", "dialog.provider.group.other": "기타", + "dialog.provider.custom.label": "OpenAI 호환 사용자 지정 공급자", "dialog.provider.tag.recommended": "추천", "dialog.provider.opencode.note": "Claude, GPT, Gemini 등을 포함한 엄선된 모델", "dialog.provider.opencode.tagline": "신뢰할 수 있는 최적화 모델", "dialog.provider.opencodeGo.tagline": "모두를 위한 저렴한 구독", - "dialog.provider.anthropic.note": "Claude Pro/Max 또는 API 키로 연결", - "dialog.provider.copilot.note": "Copilot 또는 API 키로 연결", - "dialog.provider.openai.note": "ChatGPT Pro/Plus 또는 API 키로 연결", + "dialog.provider.anthropic.note": "Pro 및 Max를 포함한 Claude 모델에 직접 액세스", + "dialog.provider.copilot.note": "GitHub Copilot을 통한 코딩 지원용 AI 모델", + "dialog.provider.openai.note": "빠르고 강력한 범용 AI 작업을 위한 GPT 모델", "dialog.provider.google.note": "빠르고 구조화된 응답을 위한 Gemini 모델", "dialog.provider.openrouter.note": "모든 지원 모델을 단일 공급자에서 액세스", "dialog.provider.vercel.note": "스마트 라우팅을 통한 AI 모델 통합 액세스", @@ -108,11 +112,14 @@ export const dict = { "dialog.model.manage.provider.toggle": "모든 {{provider}} 모델 토글", "dialog.model.unpaid.freeModels.title": "OpenCode에서 제공하는 무료 모델", "dialog.model.unpaid.addMore.title": "인기 공급자의 모델 추가", + "dialog.model.unpaid.viewMoreProviders": "70개 이상의 공급자 더 보기", "dialog.provider.viewAll": "더 많은 공급자 보기", "provider.connect.title": "{{provider}} 연결", "provider.connect.title.anthropicProMax": "Claude Pro/Max로 로그인", "provider.connect.selectMethod": "{{provider}} 로그인 방법 선택", "provider.connect.method.apiKey": "API 키", + "provider.connect.method.browser": "브라우저", + "provider.connect.method.headless": "헤드리스 모드", "provider.connect.status.inProgress": "인증 진행 중...", "provider.connect.status.waiting": "인증 대기 중...", "provider.connect.status.failed": "인증 실패: {{error}}", @@ -143,6 +150,7 @@ export const dict = { "provider.connect.toast.connected.title": "{{provider}} 연결됨", "provider.connect.toast.connected.description": "이제 {{provider}} 모델을 사용할 수 있습니다.", "provider.custom.title": "사용자 지정 공급자", + "provider.custom.unavailable": "이 서버에서는 사용자 지정 공급자를 사용할 수 없습니다", "provider.custom.description.prefix": "OpenAI 호환 공급자를 구성합니다. ", "provider.custom.description.link": "공급자 구성 문서", "provider.custom.description.suffix": "를 참조하세요.", @@ -191,7 +199,7 @@ export const dict = { "model.input.image": "이미지", "model.input.audio": "오디오", "model.input.video": "비디오", - "model.input.pdf": "pdf", + "model.input.pdf": "PDF", "model.tooltip.allows": "지원: {{inputs}}", "model.tooltip.reasoning.allowed": "추론 허용", "model.tooltip.reasoning.none": "추론 없음", @@ -204,7 +212,7 @@ export const dict = { "common.cancel": "취소", "common.connect": "연결", "common.disconnect": "연결 해제", - "common.continue": "제출", + "common.continue": "계속", "common.submit": "제출", "common.save": "저장", "common.saving": "저장 중...", @@ -254,7 +262,7 @@ export const dict = { "prompt.context.includeActiveFile": "활성 파일 포함", "prompt.context.removeActiveFile": "컨텍스트에서 활성 파일 제거", "prompt.context.removeFile": "컨텍스트에서 파일 제거", - "prompt.action.attachFile": "파일 첨부", + "prompt.action.attachFile": "파일 추가", "prompt.menu.addImagesAndFiles": "파일 및 기타 항목 추가", "prompt.menu.imagesAndFiles": "이미지 및 파일", "prompt.menu.commands": "명령어", @@ -331,6 +339,8 @@ export const dict = { "dialog.project.edit.worktree.startup": "작업 공간 시작 스크립트", "dialog.project.edit.worktree.startup.description": "새 작업 공간(작업 트리)을 만든 뒤 실행됩니다.", "dialog.project.edit.worktree.startup.placeholder": "예: bun install", + "dialog.usageExceeded.dontShowAgain": "다시 표시하지 않기", + "context.breakdown.title": "컨텍스트 분석", "context.breakdown.note": '입력 토큰의 대략적인 분석입니다. "기타"에는 도구 정의 및 오버헤드가 포함됩니다.', "context.breakdown.system": "시스템", @@ -340,6 +350,8 @@ export const dict = { "context.breakdown.other": "기타", "context.systemPrompt.title": "시스템 프롬프트", "context.rawMessages.title": "원시 메시지", + "context.export.session": "세션 내보내기", + "context.stats.session": "세션", "context.stats.messages": "메시지", "context.stats.provider": "공급자", @@ -405,6 +417,11 @@ export const dict = { "toast.session.unshare.success.description": "세션 공유가 성공적으로 해제되었습니다!", "toast.session.unshare.failed.title": "세션 공유 해제 실패", "toast.session.unshare.failed.description": "세션 공유를 해제하는 동안 오류가 발생했습니다", + "toast.session.export.success.title": "세션을 내보냈습니다", + "toast.session.export.success.description": "세션 저장 위치: {{filename}}", + "toast.session.export.failed.title": "세션 내보내기 실패", + "toast.session.export.failed.description": "세션을 내보내는 동안 오류가 발생했습니다", + "toast.session.listFailed.title": "{{project}}에 대한 세션을 로드하지 못했습니다", "toast.update.title": "업데이트 가능", "toast.update.description": "OpenCode의 새 버전({{version}})을 설치할 수 있습니다.", @@ -539,6 +556,7 @@ export const dict = { "common.moreOptions": "더 많은 옵션", "common.learnMore": "더 알아보기", "common.rename": "이름 바꾸기", + "common.export": "내보내기", "common.reset": "초기화", "common.archive": "보관", "common.delete": "삭제", @@ -589,15 +607,15 @@ export const dict = { "settings.general.row.followup.title": "후속 조치 동작", "settings.general.row.followup.description": "후속 프롬프트를 즉시 실행할지 대기열에 넣을지 선택하세요", "settings.general.row.followup.option.queue": "대기열", - "settings.general.row.followup.option.steer": "조종", + "settings.general.row.followup.option.steer": "즉시 반영", "settings.general.row.reasoningSummaries.title": "추론 요약 표시", "settings.general.row.reasoningSummaries.description": "타임라인에 모델 추론 요약 표시", - "settings.general.row.shellToolPartsExpanded.title": "shell 도구 파트 펼치기", + "settings.general.row.shellToolPartsExpanded.title": "shell 도구 항목 펼치기", "settings.general.row.shellToolPartsExpanded.description": - "타임라인에서 기본적으로 shell 도구 파트를 펼친 상태로 표시합니다", - "settings.general.row.editToolPartsExpanded.title": "edit 도구 파트 펼치기", + "타임라인에서 기본적으로 shell 도구 항목을 펼친 상태로 표시합니다", + "settings.general.row.editToolPartsExpanded.title": "edit 도구 항목 펼치기", "settings.general.row.editToolPartsExpanded.description": - "타임라인에서 기본적으로 edit, write, patch 도구 파트를 펼친 상태로 표시합니다", + "타임라인에서 기본적으로 edit, write, patch 도구 항목을 펼친 상태로 표시합니다", "settings.general.row.wayland.title": "네이티브 Wayland 사용", "settings.general.row.wayland.description": "Wayland에서 X11 폴백을 비활성화합니다. 다시 시작해야 합니다.", "settings.general.row.wayland.tooltip": @@ -724,8 +742,8 @@ export const dict = { "settings.permissions.tool.bash.description": "셸 명령어 실행", "settings.permissions.tool.task.title": "작업", "settings.permissions.tool.task.description": "하위 에이전트 실행", - "settings.permissions.tool.skill.title": "기술", - "settings.permissions.tool.skill.description": "이름으로 기술 로드", + "settings.permissions.tool.skill.title": "스킬", + "settings.permissions.tool.skill.description": "이름으로 스킬 불러오기", "settings.permissions.tool.lsp.title": "LSP", "settings.permissions.tool.lsp.description": "언어 서버 쿼리 실행", "settings.permissions.tool.todowrite.title": "할 일 쓰기", @@ -796,6 +814,9 @@ export const dict = { "session.question.progress": "{{total}}개의 질문 중 {{current}}개", "session.header.open.finder": "Finder", "session.header.open.fileExplorer": "파일 탐색기", + "session.header.reveal.finder": "Finder에서 보기", + "session.header.reveal.fileExplorer": "파일 탐색기에서 보기", + "session.header.reveal.containingFolder": "이 항목이 있는 폴더 열기", "session.header.open.fileManager": "파일 관리자", "session.header.open.app.vscode": "VS Code", "session.header.open.app.cursor": "Cursor", @@ -832,6 +853,14 @@ export const dict = { "debugBar.mem.label": "MEM", "debugBar.mem.tipUnavailable": "사용된 JS 힙 대 힙 제한. Chromium 전용.", "debugBar.mem.tip": "사용된 JS 힙 대 힙 제한. {{limit}} 중 {{used}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "모든 대화형 요소에 포커스 스타일 강제 적용", + "debugBar.focus.on": "켬", + "debugBar.focus.off": "끔", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "선택한 언어를 변경하지 않고 전체 앱의 레이아웃 방향 강제 설정", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", "common.key.ctrl": "Ctrl", "common.key.alt": "Alt", "common.key.shift": "Shift", @@ -855,6 +884,12 @@ export const dict = { "error.childStore.persistedProjectIconCreateFailed": "영구 프로젝트 아이콘 생성 실패", "error.childStore.storeCreateFailed": "저장소 생성 실패", "terminal.connectionLost.abnormalClose": "WebSocket이 비정상적으로 닫힘: {{code}}", + "terminal.connectTicket.csrfError": + "PTY 연결 티켓이 오리진 또는 CSRF 검사에서 거부되었습니다. 서버의 CORS 구성을 확인하세요.", + "terminal.connectTicket.statusError": "PTY 연결 티켓 실패(상태: {{status}})", + + "titlebar.update": "업데이트", + "titlebar.updateVersion": "업데이트 {{version}}", "command.project.previous": "이전 프로젝트", "command.project.next": "다음 프로젝트", @@ -957,7 +992,7 @@ export const dict = { "home.sessions.group.today": "오늘", "home.sessions.group.yesterday": "어제", "home.sessions.group.older": "이전", - "home.providerTip": "75개 이상의 제공업체에 연결하여 Claude, GPT, Gemini 등의 다른 모델을 사용하세요", + "home.providerTip": "75개 이상의 공급자에 연결하여 Claude, GPT, Gemini 등의 다른 모델을 사용하세요", "session.tab.unknown": "알 수 없는 세션", "session.error.notFound": "이 세션을 찾을 수 없습니다", @@ -1000,8 +1035,9 @@ export const dict = { "settings.general.row.showStatus.description": "제목 표시줄에 서버 상태 버튼 표시", "settings.general.row.mobileTitlebarBottom.title": "하단 탐색", "settings.general.row.mobileTitlebarBottom.description": "모바일에서 제목 표시줄과 세션 탭을 화면 하단에 배치", - "settings.general.row.showCustomAgents.title": "사용자 지정 에이전트", - "settings.general.row.showCustomAgents.description": "입력창에 에이전트 선택기 표시", + "settings.general.row.showCustomAgents.title": "에이전트 표시", + "settings.general.row.showCustomAgents.description": + "입력창에서 에이전트를 전환합니다. 숨기면 기본적으로 Build 에이전트를 사용합니다.", "settings.general.row.newInterface.title": "새 레이아웃", "settings.general.row.newInterface.badge": "신규", "settings.general.row.newInterface.description": @@ -1013,4 +1049,119 @@ export const dict = { "settings.general.row.pinchZoom.description": "트랙패드 핀치 및 Ctrl-스크롤 제스처로 확대/축소 허용", "settings.updates.action.downloading": "다운로드 중...", "settings.updates.action.installing": "설치 중...", + + "command.logs.export": "로그 내보내기", + + "help.tabs.toast.ariaLabel": "탭을 소개합니다. 탭으로 작업과 활성 세션을 정리하세요", + "help.tabs.toast.dismiss": "탭 정보 닫기", + "help.tabs.title": "탭 소개", + "help.tabs.description": "탭으로 작업과 활성 세션을 정리하세요", + "help.tabs.date": "7월 14일", + "help.tabs.introduction": "이제 OpenCode Desktop은 탭을 중심으로 구성됩니다.", + "help.tabs.sessions": + "탭에서 새 세션을 시작하거나 프로젝트에서 기존 세션을 여세요. 새로운 작업을 시작할 때 새 탭을 열고, 작업을 마치면 닫으세요.", + "help.tabs.organize": + "탭을 몇 개 열어 두면 활성 세션을 더 쉽게 정리할 수 있습니다. 탭을 계속 열어 둘 예정이라면 기억하기 쉬운 이름으로 바꾸세요.", + "help.tabs.home": "새 홈 화면에서 모든 세션과 프로젝트를 확인할 수 있습니다. 세션을 선택하면 탭에서 열립니다.", + "help.tabs.persistence": "앱을 다시 열어도 탭은 그대로 열려 있습니다.", + "help.tabs.worktrees": + "새 디자인은 아직 Git Worktrees를 지원하지 않지만 곧 지원할 예정입니다. 이전 레이아웃을 계속 사용하려면 설정에서 레이아웃을 전환할 수 있습니다. 단, 몇 주 후에는 새 레이아웃이 영구 적용됩니다.", + + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "파일", + "desktop.menu.edit": "편집", + "desktop.menu.view": "보기", + "desktop.menu.go": "이동", + "desktop.menu.window": "윈도우", + "desktop.menu.help": "도움말", + "desktop.menu.checkForUpdates": "업데이트 확인...", + "desktop.menu.settings": "설정", + "desktop.menu.reloadWebview": "WebView 새로 고침", + "desktop.menu.restart": "다시 시작", + "desktop.menu.exportLogs": "로그 내보내기...", + "desktop.menu.newSession": "새 세션", + "desktop.menu.openProject": "프로젝트 열기...", + "desktop.menu.newWindow": "새 윈도우", + "desktop.menu.closeWindow": "윈도우 닫기", + "desktop.menu.undo": "실행 취소", + "desktop.menu.redo": "다시 실행", + "desktop.menu.cut": "잘라내기", + "desktop.menu.copy": "복사", + "desktop.menu.paste": "붙여넣기", + "desktop.menu.delete": "삭제", + "desktop.menu.selectAll": "모두 선택", + "desktop.menu.toggleSidebar": "사이드바 표시/숨기기", + "desktop.menu.toggleTerminal": "터미널 표시/숨기기", + "desktop.menu.toggleFileTree": "파일 트리 표시/숨기기", + "desktop.menu.reload": "새로 고침", + "desktop.menu.toggleDeveloperTools": "개발자 도구 표시/숨기기", + "desktop.menu.actualSize": "실제 크기", + "desktop.menu.zoomIn": "확대", + "desktop.menu.zoomOut": "축소", + "desktop.menu.toggleFullScreen": "전체 화면 전환", + "desktop.menu.back": "뒤로", + "desktop.menu.forward": "앞으로", + "desktop.menu.previousSession": "이전 세션", + "desktop.menu.nextSession": "다음 세션", + "desktop.menu.previousProject": "이전 프로젝트", + "desktop.menu.nextProject": "다음 프로젝트", + "desktop.menu.minimize": "최소화", + "desktop.menu.maximize": "최대화", + "desktop.menu.documentation": "OpenCode 문서", + "desktop.menu.supportForum": "지원 포럼", + "desktop.menu.shareFeedback": "피드백 보내기", + "desktop.menu.reportBug": "버그 신고", + "desktop.menu.ariaLabel": "OpenCode 메뉴", + + "desktop.updater.dialog.checkFailed.message": "업데이트를 확인하지 못했습니다.", + "desktop.updater.dialog.checkFailed.title": "업데이트 오류", + "desktop.updater.dialog.upToDate.message": "최신 버전을 사용 중입니다.", + "desktop.updater.dialog.upToDate.title": "업데이트 없음", + "desktop.updater.dialog.ready.message": "업데이트 {{version}} 다운로드가 완료되었습니다. 지금 다시 시작할까요?", + "desktop.updater.dialog.ready.title": "업데이트 준비 완료", + "desktop.updater.dialog.restart": "다시 시작", + "desktop.updater.dialog.later": "나중에", + + "desktop.recovery.action.relaunch": "다시 실행", + "desktop.recovery.action.exportLogs": "로그 내보내기", + "desktop.recovery.action.keepWaiting": "계속 기다리기", + "desktop.recovery.action.quit": "종료", + "desktop.recovery.loadFailed": "OpenCode를 불러오지 못했습니다", + "desktop.recovery.terminated": "OpenCode 윈도우가 예기치 않게 종료되었습니다", + "desktop.recovery.unresponsive": "OpenCode가 응답하지 않습니다", + "desktop.recovery.unresponsive.detail": "앱을 다시 실행하거나 로그를 열거나 계속 기다릴 수 있습니다.", + "desktop.recovery.loadFailed.detail": "윈도우: {{window}}\nURL: {{url}}\n오류: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "윈도우: {{window}}\n원인: {{reason}}\n코드: {{code}}", + "desktop.recovery.unknown": "<알 수 없음>", + + "desktop.dialog.chooseFolder": "폴더 선택", + "desktop.dialog.chooseFile": "파일 선택", + "desktop.dialog.saveFile": "파일 저장", + "desktop.dialog.files": "파일", + "desktop.server.local": "로컬 서버", + + "desktop.wsl.error.windowsOnly": "WSL은 Windows에서만 사용할 수 있습니다", + "desktop.wsl.error.unavailable": "WSL을 사용할 수 없습니다", + "desktop.wsl.error.listInstalled": "설치된 WSL 배포판 목록을 가져오지 못했습니다", + "desktop.wsl.error.listOnline": "온라인 WSL 배포판 목록을 가져오지 못했습니다", + "desktop.wsl.error.executeDistro": "배포판에서 명령을 실행할 수 없습니다", + "desktop.wsl.error.installWsl": "WSL 설치 실패", + "desktop.wsl.error.installDistro": "배포판 설치 실패: {{distro}}", + "desktop.wsl.error.installOpencode": "OpenCode 설치 실패", + "desktop.wsl.error.alreadyAdded": "{{distro}} 배포판은 이미 추가되었습니다", + "desktop.wsl.error.opencodeMissing": "이 배포판에 opencode가 설치되어 있지 않습니다", + "desktop.wsl.error.opencodeCannotRun": "opencode가 설치되어 있지만 실행할 수 없습니다", + "desktop.wsl.error.opencodeNotInstalled": "{{distro}}에 OpenCode가 설치되어 있지 않습니다", + "desktop.wsl.error.updateVersion": + "OpenCode 업데이트가 완료되었지만 {{distro}}에서 여전히 {{installed}} 버전으로 표시됩니다. 예상 버전: {{expected}}", + "desktop.wsl.error.noVersion": "버전 없음", + "desktop.wsl.error.serverExited": "WSL 서버가 시작 후 종료되었습니다(코드={{code}} 신호={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL 서버가 정상 상태가 되기 전에 종료되었습니다(코드={{code}} 신호={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": "{{distro}} 사이드카의 상태 확인이 {{timeout}}ms 후 시간 초과되었습니다", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} 명령이 {{timeout}}ms 후 시간 초과되었습니다", + "desktop.wsl.error.failedPort": "포트를 가져오지 못했습니다", + + "desktop.picker.error.notSelected": "선택기에서 파일을 선택하지 않았습니다", + "desktop.picker.error.sizeLimit": "선택한 첨부 파일이 {{limit}} MB 제한을 초과합니다", } diff --git a/packages/app/src/i18n/lo.ts b/packages/app/src/i18n/lo.ts new file mode 100644 index 000000000000..acdc26df08aa --- /dev/null +++ b/packages/app/src/i18n/lo.ts @@ -0,0 +1,1148 @@ +export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "ໄຟລ໌", + "desktop.menu.edit": "ແກ້ໄຂ", + "desktop.menu.view": "ເບິ່ງ", + "desktop.menu.go": "ໄປ", + "desktop.menu.window": "ປ່ອງຢ້ຽມ", + "desktop.menu.help": "ຊ່ວຍ", + "desktop.menu.checkForUpdates": "ກວດເບິ່ງການອັບເດດ...", + "desktop.menu.settings": "ການຕັ້ງຄ່າ", + "desktop.menu.reloadWebview": "ໂຫຼດ Webview ຄືນໃໝ່", + "desktop.menu.restart": "ຣີສະຕາດ", + "desktop.menu.exportLogs": "ບັນທຶກການສົ່ງອອກ...", + "desktop.menu.newSession": "ເຊດຊັນໃໝ່", + "desktop.menu.openProject": "ເປີດໂຄງການ...", + "desktop.menu.newWindow": "ໜ້າຈໍໃໝ່", + "desktop.menu.closeWindow": "ປິດໜ້າຈໍ", + "desktop.menu.undo": "ຍົກເລີກ", + "desktop.menu.redo": "ເຮັດຄືນ", + "desktop.menu.cut": "ຕັດ", + "desktop.menu.copy": "ສຳເນົາ", + "desktop.menu.paste": "ວາງ", + "desktop.menu.delete": "ລຶບ", + "desktop.menu.selectAll": "ເລືອກທັງໝົດ", + "desktop.menu.toggleSidebar": "ສະຫຼັບແຖບດ້ານຂ້າງ", + "desktop.menu.toggleTerminal": "ສະຫຼັບສະຖານີ", + "desktop.menu.toggleFileTree": "ປິດ/ເປີດ File Tree", + "desktop.menu.reload": "ໂຫຼດໃໝ່", + "desktop.menu.toggleDeveloperTools": "ສະຫຼັບເຄື່ອງມືນັກພັດທະນາ", + "desktop.menu.actualSize": "ຂະໜາດຕົວຈິງ", + "desktop.menu.zoomIn": "ຊູມເຂົ້າ", + "desktop.menu.zoomOut": "ຊູມອອກ", + "desktop.menu.toggleFullScreen": "ສະຫຼັບເຕັມຈໍ", + "desktop.menu.back": "ກັບ", + "desktop.menu.forward": "ສົ່ງຕໍ່", + "desktop.menu.previousSession": "ເຊດຊັນກ່ອນໜ້າ", + "desktop.menu.nextSession": "ເຊດຊັນຕໍ່ໄປ", + "desktop.menu.previousProject": "ໂຄງການກ່ອນໜ້າ", + "desktop.menu.nextProject": "ໂຄງການຕໍ່ໄປ", + "desktop.menu.minimize": "ຫຍໍ້ລົງ", + "desktop.menu.maximize": "ສູງສຸດ", + "desktop.menu.documentation": "ເອກະສານ OpenCode", + "desktop.menu.supportForum": "ກະດານສະຫນັບສະຫນູນ", + "desktop.menu.shareFeedback": "ແບ່ງປັນຄວາມຄິດເຫັນ", + "desktop.menu.reportBug": "ລາຍງານຂໍ້ຜິດພາດ", + "desktop.menu.ariaLabel": "ເມນູ OpenCode", + "desktop.updater.dialog.checkFailed.message": "ກວດສອບການອັບເດດບໍ່ສຳເລັດ.", + "desktop.updater.dialog.checkFailed.title": "ອັບເດດຜິດພາດ", + "desktop.updater.dialog.upToDate.message": "ທ່ານອັບເດດແລ້ວ.", + "desktop.updater.dialog.upToDate.title": "ບໍ່ມີການອັບເດດ", + "desktop.updater.dialog.ready.message": "ດາວໂຫຼດອັບເດດ {{version}} ແລ້ວ. ຣີສະຕາດດຽວນີ້ບໍ?", + "desktop.updater.dialog.ready.title": "ອັບເດດພ້ອມແລ້ວ", + "desktop.updater.dialog.restart": "ຣີສະຕາດ", + "desktop.updater.dialog.later": "ຕໍ່ມາ", + "desktop.recovery.action.relaunch": "ເປີດຄືນໃໝ່", + "desktop.recovery.action.exportLogs": "ບັນທຶກການສົ່ງອອກ", + "desktop.recovery.action.keepWaiting": "ລໍຖ້າຕໍ່ໄປ", + "desktop.recovery.action.quit": "ອອກ", + "desktop.recovery.loadFailed": "OpenCode ລົ້ມເຫລວໃນການໂຫລດ", + "desktop.recovery.terminated": "ປ່ອງຢ້ຽມ OpenCode ຖືກປິດໂດຍບໍ່ຄາດຄິດ", + "desktop.recovery.unresponsive": "OpenCode ບໍ່ຕອບສະໜອງ", + "desktop.recovery.unresponsive.detail": "ທ່ານສາມາດເປີດແອັບຄືນໃໝ່, ເປີດບັນທຶກ, ຫຼືລໍຖ້າຕໍ່ໄປ.", + "desktop.recovery.loadFailed.detail": "ປ່ອງຢ້ຽມ: {{window}}\nURL: {{url}}\nຂໍ້ຜິດພາດ: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "ປ່ອງຢ້ຽມ: {{window}}\nເຫດຜົນ: {{reason}}\nລະຫັດ: {{code}}", + "desktop.recovery.unknown": "<ບໍ່ຮູ້ຈັກ>", + "desktop.dialog.chooseFolder": "ເລືອກໂຟນເດີ", + "desktop.dialog.chooseFile": "ເລືອກໄຟລ໌", + "desktop.dialog.saveFile": "ບັນທຶກໄຟລ໌", + "desktop.dialog.files": "ໄຟລ໌", + "desktop.server.local": "ເຊີບເວີທ້ອງຖິ່ນ", + "desktop.wsl.error.windowsOnly": "WSL ສາມາດໃຊ້ໄດ້ໃນ Windows ເທົ່ານັ້ນ", + "desktop.wsl.error.unavailable": "WSL ບໍ່ສາມາດໃຊ້ໄດ້", + "desktop.wsl.error.listInstalled": "ລົ້ມເຫລວໃນລາຍຊື່ WSL distros ທີ່ຕິດຕັ້ງ", + "desktop.wsl.error.listOnline": "ລົ້ມເຫລວໃນລາຍຊື່ WSL distros ອອນໄລນ໌", + "desktop.wsl.error.executeDistro": "ບໍ່ສາມາດປະຕິບັດຄໍາສັ່ງໃນ distro", + "desktop.wsl.error.installWsl": "ການຕິດຕັ້ງ WSL ລົ້ມເຫລວ", + "desktop.wsl.error.installDistro": "ລົ້ມເຫລວໃນການຕິດຕັ້ງ distro: {{distro}}", + "desktop.wsl.error.installOpencode": "ການຕິດຕັ້ງ OpenCode ລົ້ມເຫລວ", + "desktop.wsl.error.alreadyAdded": "{{distro}} ຖືກເພີ່ມແລ້ວ", + "desktop.wsl.error.opencodeMissing": "opencode ບໍ່ໄດ້ຕິດຕັ້ງຢູ່ໃນ distro ນີ້", + "desktop.wsl.error.opencodeCannotRun": "opencode ຖືກຕິດຕັ້ງແຕ່ບໍ່ສາມາດດໍາເນີນການໄດ້", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode ບໍ່ໄດ້ຕິດຕັ້ງຢູ່ໃນ {{distro}}", + "desktop.wsl.error.updateVersion": + "ການປັບປຸງ OpenCode ສໍາເລັດແລ້ວແຕ່ {{distro}} ຍັງລາຍງານ {{installed}}; ຄາດວ່າ {{expected}}", + "desktop.wsl.error.noVersion": "ບໍ່ມີສະບັບ", + "desktop.wsl.error.serverExited": "ເຊີບເວີ WSL ອອກຈາກການເລີ່ມຕົ້ນ (code={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "ເຊີບເວີ WSL ອອກກ່ອນທີ່ຈະມີສຸຂະພາບດີ (code={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": "Sidecar ສໍາລັບການກວດສອບສຸຂະພາບ {{distro}} ໝົດເວລາຫຼັງຈາກ {{timeout}}ms", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} ໝົດເວລາຫຼັງຈາກ {{timeout}}ms", + "desktop.wsl.error.failedPort": "ລົ້ມເຫລວໃນການເອົາພອດ", + "desktop.picker.error.notSelected": "ໄຟລ໌ບໍ່ໄດ້ຖືກເລືອກໂດຍຕົວເລືອກ", + "desktop.picker.error.sizeLimit": "ໄຟລ໌ແນບທີ່ເລືອກເກີນຂີດຈຳກັດ {{limit}} MB", + "command.category.suggested": "ແນະນຳ", + "command.category.view": "ເບິ່ງ", + "command.category.project": "ໂຄງການ", + "command.category.provider": "ຜູ້ໃຫ້ບໍລິການ", + "command.category.server": "ເຊີບເວີ", + "command.category.session": "ເຊດຊັນ", + "command.category.theme": "ຫົວຂໍ້", + "command.category.language": "ພາສາ", + "command.category.file": "ໄຟລ໌", + "command.category.context": "ບໍລິບົດ", + "command.category.terminal": "ສະຖານີ", + "command.category.model": "ຕົວແບບ", + "command.category.mcp": "MCP", + "command.category.agent": "ຕົວແທນ", + "command.category.permissions": "ການອະນຸຍາດ", + "command.category.workspace": "ພື້ນທີ່ເຮັດວຽກ", + "command.category.settings": "ການຕັ້ງຄ່າ", + "command.logs.export": "ບັນທຶກການສົ່ງອອກ", + "theme.scheme.system": "ລະບົບ", + "theme.scheme.light": "ແສງສະຫວ່າງ", + "theme.scheme.dark": "ມືດ", + "command.sidebar.toggle": "ສະຫຼັບແຖບດ້ານຂ້າງ", + "command.project.open": "ເປີດໂຄງການ", + "command.project.previous": "ໂຄງການທີ່ຜ່ານມາ", + "command.project.next": "ໂຄງການຕໍ່ໄປ", + "command.project.index": "ປ່ຽນເປັນໂຄງການ {{index}}", + "command.provider.connect": "ເຊື່ອມຕໍ່ຜູ້ໃຫ້ບໍລິການ", + "command.server.switch": "ສະຫຼັບເຊີບເວີ", + "command.settings.open": "ເປີດການຕັ້ງຄ່າ", + "command.session.previous": "ເຊດຊັນທີ່ຜ່ານມາ", + "command.session.next": "ເຊດຊັນຕໍ່ໄປ", + "command.session.previous.unseen": "ເຊດຊັນທີ່ຍັງບໍ່ໄດ້ອ່ານຜ່ານມາ", + "command.session.next.unseen": "ເຊດຊັນທີ່ຍັງບໍ່ໄດ້ອ່ານຕໍ່ໄປ", + "command.session.archive": "ຮວບຮວມເຊດຊັນ", + "command.palette": "ແຖບຄໍາສັ່ງ", + "command.theme.cycle": "ຮູບແບບສີສັນຮອບວຽນ", + "command.theme.set": "ໃຊ້ຫົວຂໍ້: {{theme}}", + "command.theme.scheme.cycle": "ໂຄງການສີຂອງວົງຈອນ", + "command.theme.scheme.set": "ໃຊ້ຮູບແບບສີ: {{scheme}}", + "command.language.cycle": "ພາສາຮອບວຽນ", + "command.language.set": "ໃຊ້ພາສາ: {{language}}", + "command.session.new": "ເຊດຊັນໃໝ່", + "command.file.open": "ເປີດໄຟລ໌", + "command.tab.close": "ປິດແຖບ", + "command.tab.reopenClosed": "ເປີດແຖບປິດຄືນໃໝ່", + "command.context.addSelection": "ເພີ່ມການເລືອກໃສ່ບໍລິບົດ", + "command.context.addSelection.description": "ເພີ່ມສາຍທີ່ເລືອກຈາກໄຟລ໌ປັດຈຸບັນ", + "command.input.focus": "ໂຟກັສໃສ່", + "command.terminal.toggle": "ປິດ/ເປີດ terminal", + "command.fileTree.toggle": "ສະຫຼັບຕົ້ນໄມ້ໄຟລ໌", + "command.review.toggle": "ສະຫຼັບການທົບທວນຄືນ", + "command.terminal.new": "ສະຖານີໃໝ່", + "command.terminal.new.description": "ສ້າງແຖບ terminal ໃໝ່", + "command.steps.toggle": "ສະຫຼັບຂັ້ນຕອນ", + "command.steps.toggle.description": "ສະແດງ ຫຼືເຊື່ອງຂັ້ນຕອນສຳລັບຂໍ້ຄວາມປັດຈຸບັນ", + "command.message.previous": "ຂໍ້ຄວາມກ່ອນໜ້າ", + "command.message.previous.description": "ໄປຫາຂໍ້ຄວາມຜູ້ໃຊ້ທີ່ຜ່ານມາ", + "command.message.next": "ຂໍ້ຄວາມຕໍ່ໄປ", + "command.message.next.description": "ໄປຫາຂໍ້ຄວາມຜູ້ໃຊ້ຕໍ່ໄປ", + "command.model.choose": "ເລືອກຕົວແບບ", + "command.model.choose.description": "ເລືອກຕົວແບບອື່ນ", + "command.mcp.toggle": "ສະຫຼັບ MCPs", + "command.mcp.toggle.description": "ສະຫຼັບ MCPs", + "command.agent.cycle": "ຕົວແທນວົງຈອນ", + "command.agent.cycle.description": "ສະຫຼັບໄປຫາຕົວແທນຕໍ່ໄປ", + "command.agent.cycle.reverse": "ວົງຈອນຕົວແທນກັບຫຼັງ", + "command.agent.cycle.reverse.description": "ສະຫຼັບໄປຫາຕົວແທນກ່ອນໜ້າ", + "command.model.variant.cycle": "ຄວາມພະຍາຍາມຄິດຮອບວຽນ", + "command.model.variant.cycle.description": "ປ່ຽນໄປສູ່ລະດັບຄວາມພະຍາຍາມຕໍ່ໄປ", + "command.prompt.mode.shell": "Shell", + "command.prompt.mode.normal": "Prompt", + "command.permissions.autoaccept.enable": "ຍອມຮັບການອະນຸຍາດອັດຕະໂນມັດ", + "command.permissions.autoaccept.disable": "ຢຸດການຍອມຮັບອັດຕະໂນມັດ", + "command.workspace.toggle": "ສະຫຼັບພື້ນທີ່ເຮັດວຽກ", + "command.workspace.toggle.description": "ເປີດ ຫຼືປິດພື້ນທີ່ເຮັດວຽກຫຼາຍບ່ອນຢູ່ໃນແຖບດ້ານຂ້າງ", + "command.session.undo": "ຍົກເລີກ", + "command.session.undo.description": "ຍົກເລີກຂໍ້ຄວາມສຸດທ້າຍ", + "command.session.redo": "ເຮັດຄືນ", + "command.session.redo.description": "ເຮັດຄືນຂໍ້ຄວາມທີ່ຍົກເລີກຫຼ້າສຸດ", + "command.session.compact": "ຊ່ວງເວລາກະທັດຮັດ", + "command.session.compact.description": "ສະຫຼຸບກອງປະຊຸມເພື່ອຫຼຸດຂະໜາດບໍລິບົດ", + "command.session.fork": "ສ້ອມຈາກຂໍ້ຄວາມ", + "command.session.fork.description": "ສ້າງເຊດຊັນໃໝ່ຈາກຂໍ້ຄວາມກ່ອນໜ້າ", + "command.session.share": "ແບ່ງປັນເຊດຊັນ", + "command.session.share.description": "ແບ່ງປັນເຊດຊັນນີ້ ແລະສຳເນົາ URL ໃສ່ຄລິບບອດ", + "command.session.unshare": "ເຊົາແບ່ງປັນເຊດຊັນ", + "command.session.unshare.description": "ຢຸດການແບ່ງປັນເຊດຊັນນີ້", + "command.session.export": "ເຊດຊັນສົ່ງອອກ", + "command.session.export.description": "ສົ່ງອອກການຖອດຂໍ້ຄວາມຂອງເຊດຊັນເຕັມເປັນ JSON", + "palette.search.placeholder": "ຄົ້ນຫາໄຟລ໌, ຄໍາສັ່ງ, ແລະເຊດຊັນ", + "palette.search.placeholder.home": "ຄົ້ນຫາຄໍາສັ່ງ ແລະເຊດຊັນ", + "palette.empty": "ບໍ່ພົບຜົນການຊອກຫາ", + "palette.group.commands": "ຄໍາສັ່ງ", + "palette.group.files": "ໄຟລ໌", + "dialog.provider.search.placeholder": "ຜູ້ໃຫ້ບໍລິການຄົ້ນຫາ", + "dialog.provider.empty": "ບໍ່ພົບຜູ້ໃຫ້ບໍລິການ", + "dialog.provider.group.popular": "ນິຍົມ", + "dialog.provider.group.other": "ອື່ນໆ", + "dialog.provider.custom.label": "ຜູ້ໃຫ້ບໍລິການທີ່ເຂົ້າກັນໄດ້ກັບ OpenAI ແບບກຳນົດເອງ", + "dialog.provider.tag.recommended": "ແນະນຳ", + "dialog.provider.opencode.note": "ແບບທີ່ຄັດສັນມາລວມທັງ Claude, GPT, Gemini ແລະອື່ນໆ", + "dialog.provider.opencode.tagline": "ຮູບແບບການເພີ່ມປະສິດທິພາບທີ່ເຊື່ອຖືໄດ້", + "dialog.provider.opencodeGo.tagline": "ການສະໝັກໃຊ້ລາຄາຕໍ່າສຳລັບທຸກຄົນ", + "dialog.provider.anthropic.note": "ເຂົ້າເຖິງຕົວແບບ Claude ໂດຍກົງ, ລວມທັງ Pro ແລະ Max", + "dialog.provider.copilot.note": "ຮູບແບບ AI ສໍາລັບການຊ່ວຍເຫຼືອການເຂົ້າລະຫັດຜ່ານ GitHub Copilot", + "dialog.provider.openai.note": "ແບບ GPT ສໍາລັບວຽກງານ AI ທົ່ວໄປທີ່ໄວ, ມີຄວາມສາມາດ", + "dialog.provider.google.note": "ແບບ Gemini ສໍາລັບການຕອບສະຫນອງໄວ, ມີໂຄງສ້າງ", + "dialog.provider.openrouter.note": "ເຂົ້າເຖິງທຸກຮູບແບບທີ່ຮອງຮັບຈາກຜູ້ໃຫ້ບໍລິການດຽວ", + "dialog.provider.vercel.note": "ການເຂົ້າເຖິງແບບຮວມຕົວແບບ AI ດ້ວຍການກຳນົດເສັ້ນທາງອັດສະລິຍະ", + "dialog.model.select.title": "ເລືອກຕົວແບບ", + "dialog.model.search.placeholder": "ຄົ້ນຫາຕົວແບບ", + "dialog.model.empty": "ບໍ່ພົບຕົວແບບ", + "dialog.model.manage": "ຈັດການຕົວແບບ", + "dialog.model.manage.description": "ປັບແຕ່ງຕົວແບບທີ່ປາກົດຢູ່ໃນຕົວເລືອກຕົວແບບ.", + "dialog.model.manage.provider.toggle": "ສະຫຼັບທຸກລຸ້ນ {{provider}}", + "dialog.model.unpaid.freeModels.title": "ແບບຟຣີສະໜອງໃຫ້ໂດຍ OpenCode", + "dialog.model.unpaid.addMore.title": "ເພີ່ມຮູບແບບເພີ່ມເຕີມຈາກຜູ້ໃຫ້ບໍລິການທີ່ນິຍົມ", + "dialog.model.unpaid.viewMoreProviders": "ເບິ່ງ 70+ ຜູ້ໃຫ້ບໍລິການເພີ່ມເຕີມ", + "dialog.provider.viewAll": "ສະແດງຜູ້ໃຫ້ບໍລິການເພີ່ມເຕີມ", + "provider.connect.title": "ເຊື່ອມຕໍ່ {{provider}}", + "provider.connect.title.anthropicProMax": "ເຂົ້າສູ່ລະບົບດ້ວຍ Claude Pro/Max", + "provider.connect.selectMethod": "ເລືອກວິທີການເຂົ້າສູ່ລະບົບສໍາລັບ {{provider}}.", + "provider.connect.method.apiKey": "ລະຫັດ API", + "provider.connect.method.browser": "ຕົວທ່ອງເວັບ", + "provider.connect.method.headless": "ບໍ່ມີຫົວ", + "provider.connect.status.inProgress": "ກໍາລັງດໍາເນີນຢູ່...", + "provider.connect.status.waiting": "ລໍຖ້າການອະນຸຍາດ...", + "provider.connect.status.failed": "ການອະນຸຍາດລົ້ມເຫລວ: {{error}}", + "provider.connect.apiKey.description": + "ໃສ່ລະຫັດ API {{provider}} ຂອງທ່ານເພື່ອເຊື່ອມຕໍ່ບັນຊີຂອງທ່ານ ແລະໃຊ້ຕົວແບບ {{provider}} ໃນ OpenCode.", + "provider.connect.apiKey.label": "ລະຫັດ API {{provider}}", + "provider.connect.apiKey.placeholder": "ລະຫັດ API", + "provider.connect.apiKey.required": "ຕ້ອງການລະຫັດ API", + "provider.connect.opencodeZen.line1": + "OpenCode Zen ໃຫ້ທ່ານເຂົ້າເຖິງຊຸດຮູບແບບການປັບແຕ່ງທີ່ໜ້າເຊື່ອຖືໄດ້ສຳລັບຕົວແທນການເຂົ້າລະຫັດ.", + "provider.connect.opencodeZen.line2": + "ດ້ວຍລະຫັດ API ດຽວເຈົ້າຈະໄດ້ຮັບການເຂົ້າເຖິງຕົວແບບເຊັ່ນ: Claude, GPT, Gemini, GLM ແລະອື່ນໆ.", + "provider.connect.opencodeZen.visit.prefix": "ຢ້ຽມຢາມ", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": "ເພື່ອເກັບກຳລະຫັດ API ຂອງທ່ານ.", + "provider.connect.oauth.code.visit.prefix": "ຢ້ຽມຢາມ", + "provider.connect.oauth.code.visit.link": "ລິ້ງນີ້", + "provider.connect.oauth.code.visit.suffix": + "ເພື່ອເກັບກຳລະຫັດການອະນຸຍາດຂອງທ່ານເພື່ອເຊື່ອມຕໍ່ບັນຊີຂອງທ່ານ ແລະໃຊ້ຕົວແບບ {{provider}} ໃນ OpenCode.", + "provider.connect.oauth.code.label": "ລະຫັດການອະນຸຍາດ {{method}}", + "provider.connect.oauth.code.placeholder": "ລະຫັດການອະນຸຍາດ", + "provider.connect.oauth.code.required": "ຕ້ອງການລະຫັດການອະນຸຍາດ", + "provider.connect.oauth.code.invalid": "ລະຫັດການອະນຸຍາດບໍ່ຖືກຕ້ອງ", + "provider.connect.oauth.auto.visit.prefix": "ຢ້ຽມຢາມ", + "provider.connect.oauth.auto.visit.link": "ລິ້ງນີ້", + "provider.connect.oauth.auto.visit.suffix": + "ແລະໃສ່ລະຫັດຂ້າງລຸ່ມນີ້ເພື່ອເຊື່ອມຕໍ່ບັນຊີຂອງທ່ານ ແລະໃຊ້ຕົວແບບ {{provider}} ໃນ OpenCode.", + "provider.connect.oauth.auto.confirmationCode": "ລະຫັດຢືນຢັນ", + "provider.connect.toast.connected.title": "{{provider}} ເຊື່ອມຕໍ່", + "provider.connect.toast.connected.description": "ລຸ້ນ {{provider}} ມີໃຫ້ນຳໃຊ້ແລ້ວ.", + "provider.custom.title": "ຜູ້ໃຫ້ບໍລິການກຳນົດເອງ", + "provider.custom.unavailable": "ຜູ້ໃຫ້ບໍລິການແບບກຳນົດເອງບໍ່ສາມາດໃຊ້ໄດ້ໃນເຊີບເວີນີ້", + "provider.custom.description.prefix": "ຕັ້ງຄ່າຜູ້ໃຫ້ບໍລິການທີ່ເຂົ້າກັນໄດ້ກັບ OpenAI. ເບິ່ງ", + "provider.custom.description.link": "docs config ຜູ້ໃຫ້ບໍລິການ", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "ລະຫັດຜູ້ໃຫ້ບໍລິການ", + "provider.custom.field.providerID.placeholder": "myprovider", + "provider.custom.field.providerID.description": "ໂຕພິມນ້ອຍ, ຕົວເລກ, ຂີດຫຍໍ້, ຫຼືຂີດກ້ອງ", + "provider.custom.field.name.label": "ຊື່ສະແດງ", + "provider.custom.field.name.placeholder": "ຜູ້ໃຫ້ບໍລິການ AI ຂອງຂ້ອຍ", + "provider.custom.field.baseURL.label": "URL ພື້ນຖານ", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "ລະຫັດ API", + "provider.custom.field.apiKey.placeholder": "ລະຫັດ API", + "provider.custom.field.apiKey.description": "ທາງເລືອກ. ປ່ອຍຫວ່າງໄວ້ຖ້າທ່ານຈັດການການກວດສອບຜ່ານສ່ວນຫົວ.", + "provider.custom.models.label": "ແບບ", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "model-id", + "provider.custom.models.name.label": "ຊື່", + "provider.custom.models.name.placeholder": "ຊື່ສະແດງ", + "provider.custom.models.remove": "ເອົາຕົວແບບອອກ", + "provider.custom.models.add": "ເພີ່ມຕົວແບບ", + "provider.custom.headers.label": "ສ່ວນຫົວ (ທາງເລືອກ)", + "provider.custom.headers.key.label": "ສ່ວນຫົວ", + "provider.custom.headers.key.placeholder": "Header-Name", + "provider.custom.headers.value.label": "ຄ່າ", + "provider.custom.headers.value.placeholder": "ຄ່າ", + "provider.custom.headers.remove": "ເອົາສ່ວນຫົວອອກ", + "provider.custom.headers.add": "ເພີ່ມສ່ວນຫົວ", + "provider.custom.error.providerID.required": "ຕ້ອງການລະຫັດຜູ້ໃຫ້ບໍລິການ", + "provider.custom.error.providerID.format": "ໃຊ້ຕົວພິມນ້ອຍ, ຕົວເລກ, ຂີດຊື່, ຫຼືຂີດກ້ອງ", + "provider.custom.error.providerID.exists": "ລະຫັດຜູ້ໃຫ້ບໍລິການນັ້ນມີຢູ່ແລ້ວ", + "provider.custom.error.name.required": "ຕ້ອງສະແດງຊື່", + "provider.custom.error.baseURL.required": "ຕ້ອງການ URL ພື້ນຖານ", + "provider.custom.error.baseURL.format": "ຕ້ອງເລີ່ມຕົ້ນດ້ວຍ http:// ຫຼື https://", + "provider.custom.error.required": "ຕ້ອງການ", + "provider.custom.error.duplicate": "ຊໍ້າກັນ", + "provider.disconnect.toast.disconnected.title": "{{provider}} ຕັດການເຊື່ອມຕໍ່ແລ້ວ", + "provider.disconnect.toast.disconnected.description": "ໂມເດວ {{provider}} ບໍ່ມີແລ້ວ.", + "model.tag.free": "ຟຣີ", + "model.tag.latest": "ຫຼ້າສຸດ", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "ຂໍ້ຄວາມ", + "model.input.image": "ຮູບພາບ", + "model.input.audio": "ສຽງ", + "model.input.video": "ວິດີໂອ", + "model.input.pdf": "pdf", + "model.tooltip.allows": "ອະນຸຍາດ: {{inputs}}", + "model.tooltip.context.label": "ບໍລິບົດ", + "model.tooltip.inputs": "ວັດສະດຸປ້ອນ", + "model.tooltip.model": "ຕົວແບບ", + "model.tooltip.provider": "ຜູ້ໃຫ້ບໍລິການ", + "model.tooltip.reasoning": "ເຫດຜົນ", + "model.tooltip.reasoning.allowed": "ອະນຸຍາດໃຫ້ມີເຫດຜົນ", + "model.tooltip.reasoning.none": "ບໍ່ມີເຫດຜົນ", + "model.tooltip.context": "ຂອບເຂດຈໍາກັດ {{limit}}", + "common.search.placeholder": "ຊອກຫາ", + "common.goBack": "ນຳທາງກັບຄືນ", + "common.goForward": "ນຳທາງໄປຂ້າງໜ້າ", + "common.loading": "ກຳລັງໂຫຼດ", + "common.loading.ellipsis": "...", + "common.cancel": "ຍົກເລີກ", + "common.clear": "ຈະແຈ້ງ", + "common.open": "ເປີດ", + "common.connect": "ເຊື່ອມຕໍ່", + "common.disconnect": "ຕັດການເຊື່ອມຕໍ່", + "common.continue": "ສືບຕໍ່", + "common.submit": "ສົ່ງ", + "common.save": "ບັນທຶກ", + "common.saving": "ກຳລັງບັນທຶກ...", + "common.default": "ຄ່າເລີ່ມຕົ້ນ", + "common.attachment": "ໄຟລ໌ແນບ", + "prompt.placeholder.shell": "ໃສ່ຄຳສັ່ງ shell... {{example}}", + "prompt.placeholder.normal": 'ຖາມຫຍັງ ... "{{example}}"', + "prompt.placeholder.simple": "ຖາມຫຍັງ...", + "prompt.placeholder.summarizeComments": "ສະຫຼຸບຄຳເຫັນ...", + "prompt.placeholder.summarizeComment": "ສະຫຼຸບຄຳເຫັນ...", + "prompt.mode.shell": "Shell", + "prompt.mode.normal": "Prompt", + "prompt.mode.shell.exit": "esc ເພື່ອອອກ", + "session.child.promptDisabled": "ບໍ່ສາມາດສົ່ງ prompt ໃຫ້ເຊດຊັນ subagent ໄດ້.", + "session.child.backToParent": "ກັບໄປທີ່ເຊດຊັນຫຼັກ.", + "prompt.example.1": "ແກ້ໄຂ TODO ໃນ codebase", + "prompt.example.2": "ເທັກໂນໂລຢີຂອງໂຄງການນີ້ແມ່ນຫຍັງ?", + "prompt.example.3": "ແກ້ໄຂການທົດສອບທີ່ແຕກຫັກ", + "prompt.example.4": "ອະທິບາຍວິທີການກວດສອບຄວາມຖືກຕ້ອງ", + "prompt.example.5": "ຊອກຫາ ແລະແກ້ໄຂຊ່ອງໂຫວ່ດ້ານຄວາມປອດໄພ", + "prompt.example.6": "ເພີ່ມການທົດສອບຫນ່ວຍບໍລິການສໍາລັບການບໍລິການຜູ້ໃຊ້", + "prompt.example.7": "ສະທ້ອນຟັງຊັນນີ້ເພື່ອໃຫ້ສາມາດອ່ານໄດ້ຫຼາຍຂຶ້ນ", + "prompt.example.8": "ຂໍ້ຜິດພາດນີ້ຫມາຍຄວາມວ່າແນວໃດ?", + "prompt.example.9": "ຊ່ວຍຂ້ອຍແກ້ໄຂບັນຫານີ້", + "prompt.example.10": "ສ້າງເອກະສານ API", + "prompt.example.11": "ເພີ່ມປະສິດທິພາບການສອບຖາມຖານຂໍ້ມູນ", + "prompt.example.12": "ເພີ່ມການກວດສອບການປ້ອນຂໍ້ມູນ", + "prompt.example.13": "ສ້າງອົງປະກອບໃຫມ່ສໍາລັບ ...", + "prompt.example.14": "ຂ້ອຍຈະນຳໃຊ້ໂຄງການນີ້ແນວໃດ?", + "prompt.example.15": "ທົບທວນລະຫັດຂອງຂ້ອຍສໍາລັບການປະຕິບັດທີ່ດີທີ່ສຸດ", + "prompt.example.16": "ເພີ່ມການຈັດການຂໍ້ຜິດພາດກັບຟັງຊັນນີ້", + "prompt.example.17": "ອະທິບາຍຮູບແບບ regex ນີ້", + "prompt.example.18": "ປ່ຽນອັນນີ້ເປັນ TypeScript", + "prompt.example.19": "ເພີ່ມການບັນທຶກໃນທົ່ວ codebase", + "prompt.example.20": "ການເພິ່ງພາອາໄສອັນໃດທີ່ລ້າສະໄຫມ?", + "prompt.example.21": "ຊ່ວຍຂ້ອຍຂຽນສະຄຣິບການເຄື່ອນຍ້າຍ", + "prompt.example.22": "ປະຕິບັດຖານຄວາມຈໍາສໍາລັບຈຸດສິ້ນສຸດນີ້", + "prompt.example.23": "ເພີ່ມ pagination ໃສ່ບັນຊີລາຍຊື່ນີ້", + "prompt.example.24": "ສ້າງຄໍາສັ່ງ CLI ສໍາລັບ ...", + "prompt.example.25": "ຕົວແປສະພາບແວດລ້ອມເຮັດວຽກແນວໃດຢູ່ທີ່ນີ້?", + "prompt.popover.emptyResults": "ບໍ່ມີຜົນໄດ້ຮັບທີ່ກົງກັນ", + "prompt.popover.emptyCommands": "ບໍ່ມີຄໍາສັ່ງທີ່ກົງກັນ", + "prompt.dropzone.label": "ວາງຮູບ, PDFs, ຫຼືໄຟລ໌ຂໍ້ຄວາມໃສ່ບ່ອນນີ້", + "prompt.dropzone.file.label": "ວາງໃສ່ໄຟລ໌ @mention", + "prompt.slash.badge.custom": "ແບບກຳນົດເອງ", + "prompt.slash.badge.skill": "ທັກສະ", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "ເຄື່ອນໄຫວ", + "prompt.context.includeActiveFile": "ລວມເອົາໄຟລ໌ທີ່ໃຊ້ງານຢູ່", + "prompt.context.removeActiveFile": "ເອົາໄຟລ໌ທີ່ໃຊ້ວຽກອອກຈາກບໍລິບົດ", + "prompt.context.removeFile": "ເອົາໄຟລ໌ອອກຈາກບໍລິບົດ", + "prompt.action.attachFile": "ເພີ່ມໄຟລ໌", + "prompt.menu.addImagesAndFiles": "ເພີ່ມໄຟລ໌ ແລະອື່ນໆອີກ", + "prompt.menu.imagesAndFiles": "ຮູບພາບ ແລະໄຟລ໌", + "prompt.menu.commands": "ຄໍາສັ່ງ", + "prompt.menu.context": "ບໍລິບົດ", + "prompt.menu.shellCommand": "ຄໍາສັ່ງ Shell", + "prompt.attachment.remove": "ເອົາໄຟລ໌ແນບອອກ", + "prompt.action.send": "ສົ່ງ", + "prompt.action.stop": "ຢຸດ", + "prompt.toast.pasteUnsupported.title": "ບໍ່ຮອງຮັບໄຟລ໌ແນບ", + "prompt.toast.pasteUnsupported.description": "ພຽງແຕ່ຮູບພາບ, PDFs, ຫຼືໄຟລ໌ຂໍ້ຄວາມສາມາດຕິດຢູ່ນີ້.", + "prompt.toast.attachmentDuplicate.title": "ໄຟລ໌ນີ້ໄດ້ຖືກອັບໂຫລດໄປກ່ອນແລ້ວ", + "prompt.toast.modelAgentRequired.title": "ເລືອກຕົວແທນ ແລະຕົວແບບ", + "prompt.toast.modelAgentRequired.description": "ເລືອກຕົວແທນ ແລະຕົວແບບກ່ອນສົ່ງ prompt.", + "prompt.toast.worktreeCreateFailed.title": "ສ້າງ Git worktree ບໍ່ສຳເລັດ", + "prompt.toast.sessionCreateFailed.title": "ລົ້ມເຫລວໃນການສ້າງເຊດຊັນ", + "prompt.toast.shellSendFailed.title": "ລົ້ມເຫລວໃນການສົ່ງຄໍາສັ່ງ shell", + "prompt.toast.commandSendFailed.title": "ລົ້ມເຫລວໃນການສົ່ງຄໍາສັ່ງ", + "prompt.toast.promptSendFailed.title": "ສົ່ງ prompt ບໍ່ສຳເລັດ", + "prompt.toast.promptSendFailed.description": "ບໍ່ສາມາດດຶງຂໍ້ມູນເຊດຊັນໄດ້", + "dialog.mcp.title": "MCPs", + "dialog.mcp.description": "{{enabled}} ຂອງ {{total}} ຖືກເປີດໃຊ້", + "dialog.mcp.empty": "ບໍ່ມີ MCPs ທີ່ຖືກຕັ້ງຄ່າ", + "dialog.lsp.empty": "LSPs ກວດພົບອັດຕະໂນມັດຈາກປະເພດໄຟລ໌", + "dialog.plugins.empty": "ປລັກອິນຖືກຕັ້ງຄ່າໃນ opencode.json", + "mcp.status.connected": "ເຊື່ອມຕໍ່", + "mcp.status.failed": "ລົ້ມເຫລວ", + "mcp.status.needs_auth": "ຕ້ອງການການຮັບຮອງ", + "mcp.status.disabled": "ປິດໃຊ້ງານ", + "mcp.auth.clickToAuthenticate": "ຄລິກເພື່ອພິສູດຢືນຢັນ", + "dialog.fork.empty": "ບໍ່ມີຂໍ້ຄວາມທີ່ຈະແຍກອອກຈາກ", + "dialog.directory.search.placeholder": "ຄົ້ນຫາໂຟນເດີ", + "dialog.directory.empty": "ບໍ່ພົບໂຟນເດີ", + "dialog.directory.action.selectFile": "ເລືອກໄຟລ໌", + "dialog.directory.action.selectFolder": "ເລືອກໂຟນເດີ", + "dialog.directory.root": "ຮາກ", + "dialog.directory.parent": "ພໍ່ແມ່", + "dialog.directory.readError": "ບໍ່ສາມາດອ່ານໂຟນເດີນີ້ໄດ້", + "app.server.unreachable": "ບໍ່ສາມາດບັນລຸ {{server}}", + "app.server.retrying": "ກຳລັງລອງໃໝ່ໂດຍອັດຕະໂນມັດ...", + "app.server.otherServers": "ເຊີບເວີອື່ນໆ", + "dialog.server.title": "ເຊີບເວີ", + "dialog.server.description": "ສະຫຼັບເຊີບເວີ OpenCode ທີ່ແອັບຯນີ້ເຊື່ອມຕໍ່ກັບ.", + "dialog.server.search.placeholder": "ເຊີບເວີຄົ້ນຫາ", + "dialog.server.empty": "ບໍ່ມີເຊີບເວີເທື່ອ", + "dialog.server.add.title": "ເພີ່ມເຊີບເວີ", + "dialog.server.add.url": "ທີ່ຢູ່ເຊີບເວີ", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "ບໍ່ສາມາດເຊື່ອມຕໍ່ກັບເຊີບເວີໄດ້", + "dialog.server.add.checking": "ກຳລັງກວດສອບ...", + "dialog.server.add.button": "ເພີ່ມເຊີບເວີ", + "dialog.server.add.name": "ຊື່ເຊີບເວີ (ທາງເລືອກ)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "ຊື່ຜູ້ໃຊ້ (ທາງເລືອກ)", + "dialog.server.add.usernamePlaceholder": "ຊື່ຜູ້ໃຊ້", + "dialog.server.add.password": "ລະຫັດຜ່ານ (ທາງເລືອກ)", + "dialog.server.add.passwordPlaceholder": "ລະຫັດຜ່ານ", + "dialog.server.edit.title": "ແກ້ໄຂເຊີບເວີ", + "dialog.server.default.title": "ເຊີບເວີເລີ່ມຕົ້ນ", + "dialog.server.default.description": + "ເຊື່ອມຕໍ່ຫາເຊີບເວີນີ້ເມື່ອເປີດແອັບຯ ແທນທີ່ຈະເລີ່ມຕົ້ນເຊີບເວີທ້ອງຖິ່ນ. ຕ້ອງການຣີສະຕາດ.", + "dialog.server.default.none": "ບໍ່ໄດ້ເລືອກເຊີບເວີ", + "dialog.server.default.set": "ຕັ້ງເຊີບເວີປັດຈຸບັນເປັນຄ່າເລີ່ມຕົ້ນ", + "dialog.server.default.clear": "ຈະແຈ້ງ", + "dialog.server.action.remove": "ເອົາເຊີບເວີອອກ", + "dialog.server.menu.edit": "ແກ້ໄຂ", + "dialog.server.menu.default": "ຕັ້ງເປັນຄ່າເລີ່ມຕົ້ນ", + "dialog.server.menu.defaultRemove": "ເອົາຄ່າເລີ່ມຕົ້ນ", + "dialog.server.menu.delete": "ລຶບ", + "dialog.server.current": "ເຊີບເວີປັດຈຸບັນ", + "dialog.server.status.default": "ຄ່າເລີ່ມຕົ້ນ", + "wsl.server.add": "ເພີ່ມເຊີບເວີ WSL", + "wsl.server.addShort": "ເພີ່ມ WSL", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "ເຊີບເວີ WSL", + "wsl.server.retryStart": "ລອງເລີ່ມໃໝ່", + "wsl.server.updating": "ກຳລັງອັບເດດ...", + "wsl.onboarding.step.distro": "ເລືອກ distro", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "ກຳລັງກວດສອບ WSL...", + "wsl.onboarding.restartRequired": "Windows ຕ້ອງການຣີສະຕາດເພື່ອສຳເລັດການຕິດຕັ້ງ WSL.", + "wsl.onboarding.ready": "WSL ພ້ອມແລ້ວ.", + "wsl.onboarding.required": "WSL ແມ່ນຕ້ອງການເພື່ອສືບຕໍ່.", + "wsl.onboarding.checkingDistros": "ກຳລັງກວດສອບການລົບກວນ...", + "wsl.onboarding.installingDistro": "ກຳລັງຕິດຕັ້ງ {{distro}}...", + "wsl.onboarding.checkingDistro": "ກຳລັງກວດສອບ {{distro}}...", + "wsl.onboarding.listingDistros": "ລາຍຊື່ການລົບກວນ...", + "wsl.onboarding.distroReady": "{{distro}} ພ້ອມແລ້ວ.", + "wsl.onboarding.distroNotInstalled": "{{distro}} ຍັງບໍ່ໄດ້ຕິດຕັ້ງເທື່ອ.", + "wsl.onboarding.openDistroOnce": "ເປີດ {{distro}} ຄັ້ງໜຶ່ງເພື່ອສຳເລັດການຕັ້ງຄ່າ.", + "wsl.onboarding.finishingDistro": "ກຳລັງສຳເລັດການຕັ້ງຄ່າ {{distro}}.", + "wsl.onboarding.pickDistro": "ເລືອກ distro ຫຼືຕິດຕັ້ງຫນຶ່ງຂ້າງລຸ່ມນີ້.", + "wsl.onboarding.checkingOpencode": "ກຳລັງກວດສອບ OpenCode...", + "wsl.onboarding.checkingOpencodeIn": "ກຳລັງກວດສອບ OpenCode ໃນ {{distro}}...", + "wsl.onboarding.updatingOpencode": "ກຳລັງອັບເດດ OpenCode...", + "wsl.onboarding.updatingOpencodeIn": "ກຳລັງອັບເດດ OpenCode ໃນ {{distro}}...", + "wsl.onboarding.updateOpencodeIn": "ອັບເດດ OpenCode ໃນ {{distro}}.", + "wsl.onboarding.updateOpencode": "ອັບເດດ OpenCode", + "wsl.onboarding.opencodeReadyIn": "OpenCode ແມ່ນພ້ອມແລ້ວໃນ {{distro}}.", + "wsl.onboarding.opencodeReady": "OpenCode ພ້ອມແລ້ວ.", + "wsl.onboarding.installOpencodeIn": "ຕິດຕັ້ງ OpenCode ໃນ {{distro}}.", + "wsl.onboarding.installOpencode": "ຕິດຕັ້ງ OpenCode", + "wsl.onboarding.chooseDistroFirst": "ເລືອກ distro ກ່ອນ.", + "wsl.onboarding.loadFailed": "ລົ້ມເຫລວໃນການໂຫຼດສະຖານະ WSL.", + "wsl.onboarding.loading": "ກຳລັງໂຫລດ...", + "wsl.onboarding.installedDistros": "ຕິດຕັ້ງ distros", + "wsl.onboarding.checkAgain": "ກວດເບິ່ງອີກຄັ້ງ", + "wsl.onboarding.distroStatus.ready": "ພ້ອມ", + "wsl.onboarding.distroStatus.checking": "ກຳລັງກວດສອບ...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode ບໍ່ໄດ້ຕິດຕັ້ງ", + "wsl.onboarding.distroStatus.missingTools": "ຂາດ bash, curl", + "wsl.onboarding.distroStatus.unsupported": "ບໍ່ຮອງຮັບ · ໃຊ້ WSL 2", + "wsl.onboarding.needAnotherDistro": "ຕ້ອງການ distro ອື່ນບໍ?", + "wsl.onboarding.needAnotherDistroHint": "ຕິດຕັ້ງການແຈກຢາຍ Linux ຈາກລາຍການ WSL", + "wsl.onboarding.wslNotInstalled.title": "WSL ບໍ່ໄດ້ຕິດຕັ້ງ", + "wsl.onboarding.wslNotInstalled.description": + "WSL (ລະບົບຍ່ອຍຂອງ Windows ສໍາລັບ Linux) ກ່ອນທີ່ OpenCode ສາມາດເພີ່ມເຄື່ອງແມ່ຂ່າຍ WSL ໄດ້", + "wsl.onboarding.wslUnavailable.title": "WSL ບໍ່ສາມາດໃຊ້ໄດ້", + "wsl.onboarding.wslUnavailable.description": "OpenCode ບໍ່ສາມາດກວດສອບ WSL ໃນເຄື່ອງນີ້ໄດ້.", + "wsl.onboarding.installWsl": "ຕິດຕັ້ງ WSL", + "wsl.onboarding.windowsRestartRequired": "ຣີສະຕາດ Windows ເພື່ອສຳເລັດການຕິດຕັ້ງ WSL, ຈາກນັ້ນເປີດ OpenCode ຄືນໃໝ່.", + "wsl.onboarding.next": "ຕໍ່ໄປ", + "wsl.onboarding.refresh": "ໂຫຼດຂໍ້ມູນຄືນໃໝ່", + "wsl.onboarding.allDistrosAdded": "ການຕິດຕັ້ງທັງໝົດຖືກເພີ່ມແລ້ວ.", + "wsl.onboarding.noDistros": "ບໍ່ພົບການລົບກວນເທື່ອ.", + "wsl.onboarding.install": "ຕິດຕັ້ງ", + "wsl.onboarding.installing": "ກຳລັງຕິດຕັ້ງ...", + "wsl.onboarding.installDistro": "ຕິດຕັ້ງ distro", + "wsl.onboarding.searchDistros": "ຄົ້ນຫາ distros", + "wsl.onboarding.wsl2Required": "WSL 2 ແມ່ນຕ້ອງການ.", + "wsl.onboarding.toolsRequired": "distro ນີ້ຕ້ອງການ bash ແລະ curl.", + "wsl.onboarding.openTerminal": "ເປີດ terminal", + "wsl.onboarding.path": "ເສັ້ນທາງ: {{path}}", + "wsl.onboarding.notFound": "ບໍ່ພົບ", + "wsl.onboarding.version": "ລຸ້ນ: {{version}}", + "wsl.onboarding.unknown": "ບໍ່ຮູ້ຈັກ", + "wsl.onboarding.desktopVersion": "ເດັສທັອບ {{version}}", + "wsl.onboarding.versionMismatch": "ເວີຊັນທີ່ຕິດຕັ້ງບໍ່ກົງກັບເວີຊັນຂອງແອັບ desktop.", + "wsl.onboarding.adding": "ກຳລັງເພີ່ມ...", + "help.tabs.toast.ariaLabel": "ແນະນຳແຖບ. ຈັດລະບຽບການເຮັດວຽກແລະກອງປະຊຸມການເຄື່ອນໄຫວຂອງທ່ານດ້ວຍແຖບ", + "help.tabs.toast.dismiss": "ປິດຂໍ້ມູນແຖບ", + "help.tabs.title": "ແນະນຳແຖບ", + "help.tabs.description": "ຈັດກອງປະຊຸມການເຮັດວຽກ ແລະການເຄື່ອນໄຫວຂອງທ່ານດ້ວຍແຖບ", + "help.tabs.date": "ກໍລະກົດ 14", + "help.tabs.introduction": "OpenCode Desktop ຕອນນີ້ຖືກສ້າງຂຶ້ນໃນແຖບຕ່າງໆ.", + "help.tabs.sessions": + "ເລີ່ມເຊດຊັນໃໝ່ໃນແຖບໃດໜຶ່ງ, ຫຼືເປີດເຊດຊັນທີ່ມີຢູ່ແລ້ວຈາກໂຄງການໃດໆກໍຕາມຂອງເຈົ້າ. ເປີດແຖບໃໝ່ເມື່ອທ່ານເລີ່ມອັນໃໝ່, ແລະປິດມັນເມື່ອທ່ານສຳເລັດ.", + "help.tabs.organize": + "ການເປີດບາງແຖບເຮັດໃຫ້ມັນງ່າຍຂຶ້ນໃນການຈັດກອງປະຊຸມທີ່ມີການເຄື່ອນໄຫວຂອງທ່ານ. ປ່ຽນຊື່ແຖບເປັນສິ່ງທີ່ໜ້າຈົດຈຳ ຖ້າທ່ານວາງແຜນທີ່ຈະຮັກສາພວກມັນໄວ້.", + "help.tabs.home": "ທ່ານຈະພົບເຫັນເຊດຊັນ ແລະໂຄງການທັງໝົດຂອງທ່ານໃນໜ້າຈໍຫຼັກໃໝ່. ການເລືອກເຊດຊັນຈະເປີດມັນຢູ່ໃນແຖບ.", + "help.tabs.persistence": "ເມື່ອທ່ານເປີດແອັບຄືນໃໝ່, ແຖບຂອງທ່ານຍັງເປີດຢູ່.", + "help.tabs.worktrees": + "ການອອກແບບໃໝ່ຍັງບໍ່ຮອງຮັບ Git Worktrees ເທື່ອ, ມັນຈະມາໃນໄວໆນີ້. ສະນັ້ນຖ້າທ່ານຕ້ອງການສືບຕໍ່ໃຊ້ໂຄງຮ່າງກ່ອນໜ້າ, ທ່ານສາມາດສະຫຼັບລະຫວ່າງການຈັດວາງໃນການຕັ້ງຄ່າ. ພຽງແຕ່ຈື່ໄວ້ວ່າຮູບແບບໃຫມ່ຈະກາຍເປັນຖາວອນໃນສອງສາມອາທິດ.", + "server.row.noUsername": "ບໍ່ມີຊື່ຜູ້ໃຊ້", + "dialog.project.edit.title": "ແກ້ໄຂໂຄງການ", + "dialog.project.edit.name": "ຊື່", + "dialog.project.edit.icon": "ໄອຄອນ", + "dialog.project.edit.icon.alt": "ໄອຄອນໂຄງການ", + "dialog.project.edit.icon.hint": "ຄລິກ ຫຼື ລາກຮູບ", + "dialog.project.edit.icon.recommended": "ແນະນຳ: 128x128px", + "dialog.project.edit.color": "ສີ", + "dialog.project.edit.color.select": "ເລືອກສີ {{color}}", + "dialog.project.edit.worktree.startup": "ສະຄຣິບເລີ່ມຕົ້ນພື້ນທີ່ເຮັດວຽກ", + "dialog.project.edit.worktree.startup.description": "ເຮັດວຽກຫຼັງຈາກສ້າງພື້ນທີ່ເຮັດວຽກໃໝ່ (Git worktree).", + "dialog.project.edit.worktree.startup.placeholder": "ຕົວຢ່າງ: bun ຕິດຕັ້ງ", + "dialog.releaseNotes.action.getStarted": "ເລີ່ມຕົ້ນ", + "dialog.releaseNotes.action.next": "ຕໍ່ໄປ", + "dialog.releaseNotes.action.hideFuture": "ຢ່າສະແດງສິ່ງເຫຼົ່ານີ້ໃນອະນາຄົດ", + "dialog.releaseNotes.media.alt": "ປ່ອຍຕົວຢ່າງ", + "context.breakdown.title": "ການແບ່ງບໍລິບົດ", + "context.breakdown.note": 'ການແບ່ງຕົວໂດຍປະມານຂອງໂທເຄັນການປ້ອນຂໍ້ມູນ. "ອື່ນໆ" ປະກອບມີຄໍານິຍາມເຄື່ອງມືແລະ overhead.', + "context.breakdown.system": "ລະບົບ", + "context.breakdown.user": "ຜູ້ໃຊ້", + "context.breakdown.assistant": "ຜູ້ຊ່ວຍ", + "context.breakdown.tool": "ໂທເຄື່ອງມື", + "context.breakdown.other": "ອື່ນໆ", + "context.systemPrompt.title": "System prompt", + "context.rawMessages.title": "ຂໍ້ຄວາມດິບ", + "context.export.session": "ເຊດຊັນສົ່ງອອກ", + "context.stats.session": "ເຊດຊັນ", + "context.stats.messages": "ຂໍ້ຄວາມ", + "context.stats.provider": "ຜູ້ໃຫ້ບໍລິການ", + "context.stats.model": "ຕົວແບບ", + "context.stats.limit": "ຂອບເຂດຈໍາກັດ", + "context.stats.totalTokens": "ໂທເຄັນທັງໝົດ", + "context.stats.usage": "ການນໍາໃຊ້", + "context.stats.inputTokens": "Input Token", + "context.stats.outputTokens": "Output Token", + "context.stats.reasoningTokens": "ໂທເຄັນເຫດຜົນ", + "context.stats.cacheTokens": "Cache Token (ອ່ານ/ຂຽນ)", + "context.stats.userMessages": "ຂໍ້ຄວາມຜູ້ໃຊ້", + "context.stats.assistantMessages": "ຂໍ້ຄວາມຜູ້ຊ່ວຍ", + "context.stats.totalCost": "ຄ່າໃຊ້ຈ່າຍທັງໝົດ", + "context.stats.sessionCreated": "ສ້າງເຊດຊັນແລ້ວ", + "context.stats.lastActivity": "ການເຄື່ອນໄຫວຫຼ້າສຸດ", + "context.usage.tokens": "ໂທເຄັນ", + "context.usage.usage": "ການນໍາໃຊ້", + "context.usage.cost": "ຄ່າໃຊ້ຈ່າຍ", + "context.usage.clickToView": "ຄລິກເພື່ອເບິ່ງບໍລິບົດ", + "context.usage.view": "ເບິ່ງການໃຊ້ງານບໍລິບົດ", + "language.en": "ພາສາອັງກິດ", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Deutsch", + "language.es": "Español", + "language.fr": "Français", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "Polski", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Norsk", + "language.br": "ປອກຕຸຍການ (ບຣາຊິວ)", + "language.bs": "Bosanski", + "language.uk": "Українська", + "language.th": "ໄທ", + "language.tr": "Türkçe", + "toast.language.title": "ພາສາ", + "toast.language.description": "ປ່ຽນເປັນ {{language}}", + "toast.theme.title": "ປ່ຽນຮູບແບບສີສັນແລ້ວ", + "toast.scheme.title": "ຮູບແບບສີ", + "toast.workspace.enabled.title": "ພື້ນທີ່ເຮັດວຽກຖືກເປີດໃຊ້", + "toast.workspace.enabled.description": "ດຽວນີ້ Git worktree ຫຼາຍອັນສະແດງຢູ່ໃນແຖບດ້ານຂ້າງ", + "toast.workspace.disabled.title": "ພື້ນທີ່ເຮັດວຽກຖືກປິດໄວ້", + "toast.workspace.disabled.description": "ສະແດງສະເພາະ Git worktree ຫຼັກໃນແຖບດ້ານຂ້າງ", + "toast.permissions.autoaccept.on.title": "ການອະນຸຍາດອັດຕະໂນມັດ", + "toast.permissions.autoaccept.on.description": "ການຮ້ອງຂໍການອະນຸຍາດຈະຖືກອະນຸມັດໂດຍອັດຕະໂນມັດ", + "toast.permissions.autoaccept.off.title": "ຢຸດການອະນຸຍາດອັດຕະໂນມັດ", + "toast.permissions.autoaccept.off.description": "ການຮ້ອງຂໍການອະນຸຍາດຈະຕ້ອງມີການອະນຸມັດ", + "toast.model.none.title": "ບໍ່ໄດ້ເລືອກຕົວແບບ", + "toast.model.none.description": "ເຊື່ອມຕໍ່ຜູ້ໃຫ້ບໍລິການເພື່ອສະຫຼຸບກອງປະຊຸມນີ້", + "toast.file.loadFailed.title": "ລົ້ມເຫລວໃນການໂຫຼດໄຟລ໌", + "toast.file.listFailed.title": "ລົ້ມເຫລວໃນລາຍການໄຟລ໌", + "toast.context.noLineSelection.title": "ບໍ່ມີການເລືອກແຖວ", + "toast.context.noLineSelection.description": "ເລືອກໄລຍະແຖວໃນແຖບໄຟລ໌ກ່ອນ.", + "toast.session.share.copyFailed.title": "ລົ້ມເຫລວໃນການສຳເນົາ URL ໄປໃສ່ຄລິບບອດ", + "toast.session.share.success.title": "ແບ່ງປັນເຊດຊັນ", + "toast.session.share.success.description": "ແບ່ງປັນ URL ທີ່ສຳເນົາໄວ້ໃນຄລິບບອດແລ້ວ!", + "toast.session.share.failed.title": "ລົ້ມເຫລວໃນການແບ່ງປັນເຊດຊັນ", + "toast.session.share.failed.description": "ເກີດຄວາມຜິດພາດໃນຂະນະທີ່ແບ່ງປັນເຊດຊັນ", + "toast.session.unshare.success.title": "ເຊົາແບ່ງປັນເຊດຊັນແລ້ວ", + "toast.session.unshare.success.description": "ເຊົາແບ່ງປັນເຊດຊັນສຳເລັດແລ້ວ!", + "toast.session.unshare.failed.title": "ຍົກເລີກການແບ່ງປັນເຊດຊັນບໍ່ສຳເລັດ", + "toast.session.unshare.failed.description": "ເກີດຄວາມຜິດພາດໃນຂະນະທີ່ຍົກເລີກການແບ່ງປັນເຊດຊັນ", + "toast.session.export.success.title": "ສົ່ງອອກເຊດຊັນແລ້ວ", + "toast.session.export.success.description": "ບັນທຶກເຊດຊັນໃສ່ {{filename}}", + "toast.session.export.failed.title": "ລົ້ມເຫລວໃນການສົ່ງອອກເຊດຊັນ", + "toast.session.export.failed.description": "ມີຂໍ້ຜິດພາດເກີດຂຶ້ນໃນຂະນະທີ່ສົ່ງອອກເຊດຊັນ", + "toast.session.listFailed.title": "ລົ້ມເຫລວໃນການໂຫລດເຊດຊັນສໍາລັບ {{project}}", + "toast.project.reloadFailed.title": "ໂຫຼດ {{project}} ຄືນໃໝ່ບໍ່ສຳເລັດ", + "toast.update.title": "ມີອັບເດດ", + "toast.update.description": "ເວີຊັນໃໝ່ຂອງ OpenCode ({{version}}) ມີໃຫ້ຕິດຕັ້ງແລ້ວ.", + "toast.update.action.installRestart": "ຕິດຕັ້ງ ແລະປິດເປີດໃໝ່", + "toast.update.action.notYet": "ຍັງບໍ່ທັນ", + "error.page.title": "ມີບາງຢ່າງຜິດພາດ", + "error.page.description": "ເກີດຄວາມຜິດພາດໃນລະຫວ່າງການໂຫລດແອັບພລິເຄຊັນ.", + "error.page.description.localServerStartup": "ເກີດຄວາມຜິດພາດຂຶ້ນໃນຂະນະທີ່ເລີ່ມເຊີບເວີທ້ອງຖິ່ນ.", + "error.page.details.label": "ລາຍລະອຽດຂໍ້ຜິດພາດ", + "error.page.action.restart": "ຣີສະຕາດ", + "error.page.action.report": "ລາຍງານຄວາມຜິດພາດ", + "error.page.action.reported": "ລາຍງານຂໍ້ຜິດພາດ", + "error.page.action.exportLogs": "ບັນທຶກການສົ່ງອອກ", + "error.page.action.checking": "ກຳລັງກວດສອບ...", + "error.page.action.checkUpdates": "ກວດສອບການອັບເດດ", + "error.page.action.updateTo": "ອັບເດດເປັນ {{version}}", + "error.page.circular": "[Circular]", + "error.page.report.prefix": "ກະລຸນາລາຍງານຄວາມຜິດພາດນີ້ໃຫ້ທີມງານ OpenCode", + "error.page.report.discord": "ໃນ Discord", + "error.page.version": "ລຸ້ນ: {{version}}", + "error.dev.rootNotFound": + "ບໍ່ພົບອົງປະກອບຮາກ. ທ່ານລືມເພີ່ມມັນໃສ່ index.html ຂອງທ່ານບໍ? ຫຼືບາງທີຄຸນສົມບັດ id ມີການສະກົດຜິດ?", + "error.serverSync.connectFailed": "ບໍ່ສາມາດເຊື່ອມຕໍ່ກັບເຊີບເວີໄດ້. ມີເຊີບເວີທີ່ເຮັດວຽກຢູ່ `{{url}}` ບໍ?", + "error.serverSDK.noServerAvailable": "ບໍ່ມີເຊີບເວີ", + "error.serverSDK.serverNotAvailable": "ບໍ່ມີເຊີບເວີ", + "error.childStore.persistedCacheCreateFailed": "ລົ້ມເຫລວໃນການສ້າງແຄດທີ່ຍັງຄົງຄ້າງ", + "error.childStore.persistedProjectMetadataCreateFailed": "ລົ້ມເຫລວໃນການສ້າງ metadata ຂອງໂຄງການທີ່ຍັງຄົງຄ້າງ", + "error.childStore.persistedProjectIconCreateFailed": "ລົ້ມເຫລວໃນການສ້າງໄອຄອນໂຄງການທີ່ຍັງຄົງຄ້າງ", + "error.childStore.storeCreateFailed": "ລົ້ມເຫລວໃນການສ້າງຮ້ານ", + "directory.error.invalidUrl": "ໄດເລກະທໍລີບໍ່ຖືກຕ້ອງໃນ URL.", + "error.chain.unknown": "ຄວາມຜິດພາດທີ່ບໍ່ຮູ້ຈັກ", + "error.server.invalidConfiguration": "ການຕັ້ງຄ່າບໍ່ຖືກຕ້ອງ", + "error.chain.causedBy": "ເກີດຈາກ:", + "error.chain.apiError": "API ຜິດພາດ", + "error.chain.status": "ສະຖານະ: {{status}}", + "error.chain.retryable": "ລອງໃຊ້ໃໝ່ໄດ້: {{retryable}}", + "error.chain.responseBody": "ເນື້ອໃນການຕອບສະໜອງ:\n{{body}}", + "error.chain.didYouMean": "ເຈົ້າຫມາຍຄວາມວ່າ: {{suggestions}}", + "error.chain.modelNotFound": "ບໍ່ພົບໂມເດວ: {{provider}}/{{model}}", + "error.chain.checkConfig": "ກວດເບິ່ງການຕັ້ງຄ່າ (opencode.json) ຜູ້ໃຫ້ບໍລິການ/ຊື່ແບບຈໍາລອງຂອງທ່ານ", + "error.chain.mcpFailed": 'ເຊີບເວີ MCP "{{name}}" ລົ້ມເຫລວ. ໝາຍເຫດ, OpenCode ບໍ່ຮອງຮັບການພິສູດຢືນຢັນ MCP ເທື່ອ.', + "error.chain.providerAuthFailed": "ການພິສູດຢືນຢັນຜູ້ໃຫ້ບໍລິການລົ້ມເຫລວ ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + 'ລົ້ມເຫລວໃນການເລີ່ມຕົ້ນຜູ້ໃຫ້ບໍລິການ "{{provider}}". ກວດເບິ່ງຂໍ້ມູນປະຈໍາຕົວແລະການຕັ້ງຄ່າ.', + "error.chain.configJsonInvalid": "ໄຟລ໌ Config ຢູ່ {{path}} ບໍ່ຖືກຕ້ອງ JSON(C)", + "error.chain.configJsonInvalidWithMessage": "ໄຟລ໌ Config ຢູ່ {{path}} ບໍ່ຖືກຕ້ອງ JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + 'Directory "{{dir}}" ໃນ {{path}} ບໍ່ຖືກຕ້ອງ. ປ່ຽນຊື່ໄດເລກະທໍລີເປັນ "{{suggestion}}" ຫຼືເອົາມັນອອກ. ນີ້ແມ່ນການພິມຜິດທົ່ວໄປ.', + "error.chain.configFrontmatterError": "ລົ້ມເຫລວໃນການວິເຄາະເລື່ອງໜ້າໃນ {{path}}:\n{{message}}", + "error.chain.configInvalid": "ໄຟລ໌ Config ຢູ່ {{path}} ບໍ່ຖືກຕ້ອງ", + "error.chain.configInvalidWithMessage": "ໄຟລ໌ Config ຢູ່ {{path}} ບໍ່ຖືກຕ້ອງ: {{message}}", + "notification.permission.title": "ຕ້ອງມີການອະນຸຍາດ", + "notification.permission.description": "{{sessionTitle}} ໃນ {{projectName}} ຕ້ອງການການອະນຸຍາດ", + "notification.question.title": "ຄໍາຖາມ", + "notification.question.description": "{{sessionTitle}} ໃນ {{projectName}} ມີຄໍາຖາມ", + "notification.action.goToSession": "ໄປທີ່ເຊດຊັນ", + "notification.session.responseReady.title": "ການຕອບສະໜອງພ້ອມແລ້ວ", + "notification.session.error.title": "ເຊດຊັນຜິດພາດ", + "notification.session.error.fallbackDescription": "ເກີດຄວາມຜິດພາດຂຶ້ນ", + "home.recentProjects": "ໂຄງການທີ່ຜ່ານມາ", + "home.empty.title": "ບໍ່ມີໂຄງການທີ່ຜ່ານມາ", + "home.empty.description": "ເລີ່ມຕົ້ນໂດຍການເປີດໂຄງການທ້ອງຖິ່ນ", + "home.title": "ໜ້າຫຼັກ", + "home.projects": "ໂຄງການ", + "home.project.add": "ເພີ່ມໂຄງການ", + "home.recentlyClosed": "ປິດບໍ່ດົນມານີ້", + "home.server.collapse": "ຍຸບໂຄງການເຊີບເວີ", + "home.server.expand": "ຂະຫຍາຍໂຄງການເຊີບເວີ", + "home.sessions.search.placeholder": "ເຊດຊັນຄົ້ນຫາ", + "home.sessions.search.placeholder.scoped": "ຄົ້ນຫາເຊດຊັນໃນ {{scope}}", + "home.sessions.search.sessions": "ເຊດຊັນ", + "home.sessions.search.noResults": "ບໍ່ພົບເຊດຊັນສຳລັບ {{query}}", + "home.sessions.empty": "ບໍ່ມີຫຍັງຢູ່ທີ່ນີ້ເທື່ອ", + "home.sessions.empty.description": "ສ້າງເຊດຊັນເພື່ອເລີ່ມຕົ້ນ", + "home.sessions.group.today": "ມື້ນີ້", + "home.sessions.group.yesterday": "ມື້ວານນີ້", + "home.sessions.group.older": "ເກົ່າ", + "home.providerTip": "ເຊື່ອມຕໍ່ກັບຜູ້ໃຫ້ບໍລິການ 75+ ເພື່ອໃຊ້ຮູບແບບອື່ນໆ, ລວມທັງ Claude, GPT, Gemini, ແລະອື່ນໆ.", + "session.tab.session": "ເຊດຊັນ", + "session.tab.review": "ການທົບທວນຄືນ", + "session.tab.context": "ບໍລິບົດ", + "session.tab.unknown": "ເຊດຊັນທີ່ບໍ່ຮູ້ຈັກ", + "session.panel.reviewAndFiles": "ການທົບທວນຄືນແລະໄຟລ໌", + "session.error.notFound": "ບໍ່ພົບເຊດຊັນນີ້", + "session.error.notFound.description": "ແຖບນີ້ຊີ້ໄປຫາເຊດຊັນທີ່ບໍ່ມີຢູ່ໃນເຊີບເວີນີ້ແລ້ວ.", + "session.error.notFound.closeTab": "ປິດແຖບ", + "session.error.serverConnection": "ບໍ່ສາມາດເຊື່ອມຕໍ່ກັບເຊີບເວີນີ້ໄດ້", + "session.review.filesChanged": "ໄຟລ໌ປ່ຽນ {{count}}", + "session.review.change.one": "ປ່ຽນແປງ", + "session.review.change.other": "ການປ່ຽນແປງ", + "session.review.loadingChanges": "ກຳລັງໂຫຼດການປ່ຽນແປງ...", + "session.review.empty": "ບໍ່ມີການປ່ຽນແປງໃນເຊດຊັນນີ້ເທື່ອ", + "session.review.noVcs": "ບໍ່ພົບລະບົບການຄວບຄຸມເວີຊັນ Git, ການປ່ຽນແປງບໍ່ສະແດງ", + "session.review.noVcs.createGit.title": "ສ້າງບ່ອນເກັບຂໍ້ມູນ Git", + "session.review.noVcs.createGit.description": "ຕິດຕາມ, ທົບທວນ, ແລະຍົກເລີກການປ່ຽນແປງໃນໂຄງການນີ້", + "session.review.noVcs.createGit.actionLoading": "ກຳລັງສ້າງບ່ອນເກັບຂໍ້ມູນ Git...", + "session.review.noVcs.createGit.action": "ສ້າງບ່ອນເກັບຂໍ້ມູນ Git", + "session.review.noSnapshot": "ການຕິດຕາມພາບຖ່າຍຖືກປິດໃຊ້ງານຢູ່ໃນການຕັ້ງຄ່າ, ດັ່ງນັ້ນການປ່ຽນແປງເຊດຊັນບໍ່ສາມາດໃຊ້ໄດ້", + "session.review.noChanges": "ບໍ່ມີການປ່ຽນແປງ", + "session.review.noUncommittedChanges": "ບໍ່ມີການປ່ຽນແປງທີ່ບໍ່ໄດ້ຕົກລົງເທື່ອ", + "session.review.noBranchChanges": "ບໍ່ມີການປ່ຽນແປງສາຂາເທື່ອ", + "session.files.selectToOpen": "ເລືອກໄຟລ໌ທີ່ຈະເປີດ", + "session.files.all": "ໄຟລ໌ທັງໝົດ", + "session.files.empty": "ບໍ່ມີໄຟລ໌", + "session.files.binaryContent": "ໄຟລ໌ຖານສອງ (ເນື້ອຫາບໍ່ສາມາດສະແດງໄດ້)", + "session.messages.renderEarlier": "ສະແດງຂໍ້ຄວາມກ່ອນໜ້ານີ້", + "session.messages.loadingEarlier": "ກຳລັງໂຫຼດຂໍ້ຄວາມກ່ອນໜ້ານີ້...", + "session.messages.loadEarlier": "ໂຫຼດຂໍ້ຄວາມກ່ອນໜ້ານີ້", + "session.messages.loading": "ກຳລັງໂຫຼດຂໍ້ຄວາມ...", + "session.messages.jumpToLatest": "ຂ້າມໄປຫາຫຼ້າສຸດ", + "session.context.addToContext": "ເພີ່ມ {{selection}} ໃສ່ບໍລິບົດ", + "session.todo.title": "ສິ່ງທີ່ຕ້ອງເຮັດ", + "session.todo.collapse": "ຫຍໍ້ລົງ", + "session.todo.expand": "ຂະຫຍາຍ", + "session.todo.progress": "{{done}} ຂອງ {{total}} todos ສຳເລັດແລ້ວ", + "session.question.progress": "{{current}} ຂອງ {{total}} ຄໍາຖາມ", + "session.question.minimize": "ຫຍໍ້ຄໍາຖາມ", + "session.question.restore": "ຟື້ນຟູຄໍາຖາມ", + "session.question.pending.one": "{{count}} ຄຳຖາມທີ່ຍັງຄ້າງຢູ່", + "session.question.pending.other": "{{count}} ຄຳຖາມທີ່ຍັງຄ້າງຢູ່", + "session.followupDock.summary.one": "{{count}} ຄິວຂໍ້ຄວາມ", + "session.followupDock.summary.other": "{{count}} ຄິວຂໍ້ຄວາມ", + "session.followupDock.sendNow": "ສົ່ງດຽວນີ້", + "session.followupDock.edit": "ແກ້ໄຂ", + "session.followupDock.collapse": "ຫຍໍ້ຂໍ້ຄວາມທີ່ຢູ່ໃນຄິວລົງ", + "session.followupDock.expand": "ຂະຫຍາຍຂໍ້ຄວາມທີ່ຢູ່ໃນຄິວ", + "session.revertDock.summary.one": "{{count}} ມ້ວນຂໍ້ຄວາມກັບຄືນ", + "session.revertDock.summary.other": "{{count}} ມ້ວນຂໍ້ຄວາມກັບຄືນ", + "session.revertDock.collapse": "ຫຍໍ້ຂໍ້ຄວາມທີ່ມ້ວນຄືນ", + "session.revertDock.expand": "ຂະຫຍາຍຂໍ້ຄວາມທີ່ມ້ວນຄືນ", + "session.revertDock.restore": "ຟື້ນຟູຂໍ້ຄວາມ", + "session.new.title": "ສ້າງສິ່ງໃດ", + "session.new.project.new": "ໂຄງການໃໝ່", + "session.new.project.search": "ໂຄງການຄົ້ນຫາ", + "session.new.project.add": "ເພີ່ມໂຄງການ", + "session.new.worktree.main": "ສາຂາຫຼັກ", + "session.new.worktree.mainWithBranch": "ສາຂາຫຼັກ ({{branch}})", + "session.new.worktree.create": "ສ້າງ Git worktree ໃໝ່", + "session.new.workspace.runIn": "ແລ່ນເຊສຊັນໃນ", + "session.new.workspace.triggerLocal": "ທ້ອງຖິ່ນ", + "session.new.workspace.local": "ພື້ນທີ່ເກັບຂໍ້ມູນທ້ອງຖິ່ນ", + "session.new.workspace.existing": "ພື້ນທີ່ເຮັດວຽກ...", + "session.new.git.none": "ບໍ່ມີ Git", + "session.new.lastModified": "ດັດແກ້ຫຼ້າສຸດ", + "session.header.search.placeholder": "ຄົ້ນຫາ {{project}}", + "session.header.searchFiles": "ຊອກຫາໄຟລ໌", + "session.header.openIn": "ເປີດໃນ", + "session.header.open.action": "ເປີດ {{app}}", + "session.header.open.ariaLabel": "ເປີດໃນ {{app}}", + "session.header.open.menu": "ເປີດທາງເລືອກ", + "session.header.open.copyPath": "ສຳເນົາເສັ້ນທາງ", + "session.header.open.finder": "ຊອກຫາ", + "session.header.open.fileExplorer": "File Explorer", + "session.header.open.fileManager": "ຜູ້ຈັດການໄຟລ໌", + "session.header.reveal.finder": "ເປີດເຜີຍໃນ Finder", + "session.header.reveal.fileExplorer": "ເປີດເຜີຍໃນ File Explorer", + "session.header.reveal.containingFolder": "ເປີດໂຟນເດີທີ່ບັນຈຸ", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Terminal", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "ສະຖານະ", + "status.popover.ariaLabel": "ການຕັ້ງຄ່າເຊີບເວີ", + "status.popover.tab.servers": "ເຊີບເວີ", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "ປລັກອິນ", + "status.popover.action.manageServers": "ຈັດການເຊີບເວີ", + "session.share.popover.title": "ເຜີຍແຜ່ໃນເວັບ", + "session.share.popover.description.shared": "ເຊດຊັນນີ້ແມ່ນສາທາລະນະໃນເວັບ. ມັນສາມາດເຂົ້າເຖິງທຸກຄົນທີ່ມີການເຊື່ອມຕໍ່.", + "session.share.popover.description.unshared": + "ແບ່ງປັນເຊດຊັນສາທາລະນະໃນເວັບ. ມັນຈະສາມາດເຂົ້າເຖິງທຸກຄົນທີ່ມີການເຊື່ອມຕໍ່.", + "session.share.action.share": "ແບ່ງປັນ", + "session.share.action.publish": "ເຜີຍແຜ່", + "session.share.action.publishing": "ກຳລັງເຜີຍແຜ່...", + "session.share.action.unpublish": "ຍົກເລີກການເຜີຍແຜ່", + "session.share.action.unpublishing": "ກຳລັງຍົກເລີກການເຜີຍແຜ່...", + "session.share.action.view": "ເບິ່ງ", + "session.share.copy.copied": "ສຳເນົາແລ້ວ", + "session.share.copy.copyLink": "ສຳເນົາລິ້ງ", + "lsp.tooltip.none": "ບໍ່ມີເຊີບເວີ LSP", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "ກຳລັງໂຫຼດຂໍ້ຄວາມ...", + "terminal.loading": "ກຳລັງໂຫຼດເຄື່ອງໃຊ້...", + "terminal.title": "ສະຖານີ", + "terminal.title.numbered": "ສະຖານີ {{number}}", + "terminal.close": "ປິດ terminal", + "terminal.connectionLost.title": "ສູນເສຍການເຊື່ອມຕໍ່", + "terminal.connectionLost.abnormalClose": "WebSocket ປິດຢ່າງຜິດປົກກະຕິ: {{code}}", + "terminal.connectionLost.description": + "ການເຊື່ອມຕໍ່ຢູ່ປາຍຍອດຖືກຂັດຈັງຫວະ. ອັນນີ້ສາມາດເກີດຂຶ້ນໄດ້ເມື່ອເຊີບເວີຣີສະຕາດ.", + "terminal.connectTicket.csrfError": + "ປີ້ເຊື່ອມຕໍ່ PTY ຖືກປະຕິເສດໂດຍການກວດສອບຕົ້ນທາງ ຫຼື CSRF. ກວດເບິ່ງເຊີບເວີ CORS config.", + "terminal.connectTicket.statusError": "ປີ້ເຊື່ອມຕໍ່ PTY ລົ້ມເຫລວກັບ {{status}}", + "titlebar.update": "ອັບເດດ", + "titlebar.updateVersion": "ອັບເດດ {{version}}", + "common.closeTab": "ປິດແຖບ", + "common.dismiss": "ປິດ", + "common.moreCountSuffix": "(+{{count}} ເພີ່ມເຕີມ)", + "common.requestFailed": "ການຮ້ອງຂໍລົ້ມເຫລວ", + "common.moreOptions": "ທາງເລືອກເພີ່ມເຕີມ", + "common.learnMore": "ສຶກສາເພີ່ມເຕີມ", + "common.rename": "ປ່ຽນຊື່", + "common.export": "ສົ່ງອອກ", + "common.reset": "ຣີເຊັດ", + "common.archive": "ຮວບຮວມ", + "common.delete": "ລຶບ", + "common.close": "ປິດ", + "common.edit": "ແກ້ໄຂ", + "common.loadMore": "ໂຫຼດເພີ່ມເຕີມ", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "ບໍ່ຮູ້ຈັກ", + "common.time.justNow": "ດຽວນີ້", + "common.time.minutesAgo.short": "{{count}}m ກ່ອນໜ້ານີ້", + "common.time.hoursAgo.short": "{{count}}h ກ່ອນຫນ້ານີ້", + "common.time.daysAgo.short": "{{count}}d ກ່ອນຫນ້ານີ້", + "sidebar.menu.toggle": "ສະຫຼັບເມນູ", + "sidebar.nav.projectsAndSessions": "ໂຄງການ ແລະກອງປະຊຸມ", + "sidebar.settings": "ການຕັ້ງຄ່າ", + "sidebar.help": "ຊ່ວຍ", + "sidebar.workspaces.enable": "ເປີດໃຊ້ພື້ນທີ່ເຮັດວຽກ", + "sidebar.workspaces.disable": "ປິດການໃຊ້ງານພື້ນທີ່ເຮັດວຽກ", + "sidebar.gettingStarted.title": "ການເລີ່ມຕົ້ນ", + "sidebar.gettingStarted.line1": "OpenCode ປະກອບມີຮູບແບບຟຣີເພື່ອໃຫ້ທ່ານສາມາດເລີ່ມຕົ້ນໄດ້ທັນທີ.", + "sidebar.gettingStarted.line2": "ເຊື່ອມຕໍ່ຜູ້ໃຫ້ບໍລິການໃດນຶ່ງເພື່ອໃຊ້ແບບຈໍາລອງ, inc. Claude, GPT, Gemini ແລະອື່ນໆ.", + "sidebar.project.recentSessions": "ເຊດຊັນທີ່ຜ່ານມາ", + "sidebar.project.viewAllSessions": "ເບິ່ງເຊດຊັນທັງໝົດ", + "sidebar.project.clearNotifications": "ລຶບການແຈ້ງເຕືອນ", + "sidebar.empty.title": "ບໍ່ມີໂຄງການເປີດ", + "sidebar.empty.description": "ເປີດໂຄງການເພື່ອເລີ່ມຕົ້ນ", + "debugBar.ariaLabel": "ການວິນິດໄສປະສິດທິພາບການພັດທະນາ", + "debugBar.na": "n/a", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "ການປ່ຽນເສັ້ນທາງທີ່ສຳເລັດຫຼ້າສຸດໂດຍແຕະໃສ່ໜ້າເຊສຊັນ, ວັດແທກຈາກການເລີ່ມຕົ້ນຂອງເຣົາເຕີຈົນຮອດສີທຳອິດຫຼັງຈາກທີ່ມັນຕົກລົງ.", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "ເຟຣມມ້ວນຕໍ່ວິນາທີໃນໄລຍະ 5 ວິນາທີທີ່ຜ່ານມາ.", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "ເວລາເຟຣມຮ້າຍແຮງທີ່ສຸດໃນຮອບ 5 ວິນາທີທີ່ຜ່ານມາ.", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "ເຟຣມຫຼາຍກວ່າ 32ms ໃນ 5 ວິນາທີສຸດທ້າຍ.", + "debugBar.long.label": "LONG", + "debugBar.long.tip": "ເວລາທີ່ຖືກບລັອກ ແລະນັບວຽກຍາວໃນ 5 ວິນາທີສຸດທ້າຍ. ໜ້າວຽກສູງສຸດ: {{max}}.", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "ການຊັກຊ້າການປ້ອນຂໍ້ມູນທີ່ສັງເກດເຫັນຮ້າຍແຮງທີ່ສຸດໃນ 5 ວິນາທີທີ່ຜ່ານມາ.", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": + "ໄລຍະເວລາການໂຕ້ຕອບໂດຍປະມານໃນໄລຍະ 5 ວິນາທີທີ່ຜ່ານມາ. ນີ້ແມ່ນຄ້າຍຄື INP, ບໍ່ແມ່ນ Web Vitals INP ທີ່ເປັນທາງການ.", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "ການປ່ຽນຮູບແບບສະສົມສຳລັບອາຍຸຂອງແອັບປັດຈຸບັນ.", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "ໃຊ້ JS heap vs heap limit. Chromium ເທົ່ານັ້ນ.", + "debugBar.mem.tip": "ໃຊ້ JS heap ທຽບກັບ heap limit. {{used}} ຂອງ {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "ບັງຄັບຮູບແບບຈຸດສຸມຢູ່ໃນອົງປະກອບການໂຕ້ຕອບທັງໝົດ", + "debugBar.focus.on": "ON", + "debugBar.focus.off": "OFF", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "ບັງຄັບທິດທາງການຈັດວາງແອັບເຕັມໂດຍບໍ່ປ່ຽນພາສາທີ່ເລືອກ", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode Desktop", + "settings.section.desktop": "ເດັສທັອບ", + "settings.section.server": "ເຊີບເວີ", + "settings.tab.general": "ທົ່ວໄປ", + "settings.tab.shortcuts": "ທາງລັດ", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "ການເຊື່ອມໂຍງ WSL", + "settings.desktop.wsl.description": "ແລ່ນເຊີບເວີ OpenCode ພາຍໃນ WSL ໃນ Windows.", + "settings.general.section.appearance": "ຮູບລັກສະນະ", + "settings.general.section.advanced": "ຂັ້ນສູງ", + "settings.general.section.notifications": "ການແຈ້ງເຕືອນລະບົບ", + "settings.general.section.updates": "ອັບເດດ", + "settings.general.section.sounds": "ເອັບເຟັກສຽງ", + "settings.general.section.feed": "ອາຫານ", + "settings.general.section.display": "ຈໍສະແດງຜົນ", + "settings.general.row.language.title": "ພາສາ", + "settings.general.row.language.description": "ປ່ຽນພາສາສະແດງສໍາລັບ OpenCode", + "settings.general.row.shell.title": "Shell ຂອງເທີມິນອນ", + "settings.general.row.shell.description": "Shell ທີ່ໃຊ້ໂດຍເຄື່ອງໃຊ້ປາຍທາງ ແລະຕົວແທນ", + "settings.general.row.shell.autoDefault": "ອັດຕະໂນມັດ (ຄ່າເລີ່ມຕົ້ນ)", + "settings.general.row.shell.terminalOnly": "terminal ເທົ່ານັ້ນ", + "settings.general.row.appearance.title": "ຮູບລັກສະນະ", + "settings.general.row.appearance.description": "ປັບແຕ່ງວິທີ OpenCode ເບິ່ງຢູ່ໃນອຸປະກອນຂອງທ່ານ", + "settings.general.row.colorScheme.title": "ຮູບແບບສີ", + "settings.general.row.colorScheme.description": "ເລືອກວ່າ OpenCode ປະຕິບັດຕາມລະບົບ, ແສງສະຫວ່າງ, ຫຼືຮູບແບບຊ້ໍາ", + "settings.general.row.theme.title": "ຫົວຂໍ້", + "settings.general.row.theme.description": "ປັບແຕ່ງວິທີ OpenCode ເປັນຫົວຂໍ້.", + "settings.general.row.font.title": "ຕົວອັກສອນລະຫັດ", + "settings.general.row.font.description": "ປັບແຕ່ງຕົວອັກສອນທີ່ໃຊ້ໃນບລັອກລະຫັດ", + "settings.general.row.terminalFont.title": "ຕົວອັກສອນປາຍ", + "settings.general.row.terminalFont.description": "ປັບແຕ່ງຟອນທີ່ໃຊ້ຢູ່ໃນເຄື່ອງໝາຍປາຍທາງ", + "settings.general.row.uiFont.title": "ຟອນ UI", + "settings.general.row.uiFont.description": "ປັບແຕ່ງຟອນທີ່ໃຊ້ໃນທົ່ວອິນເຕີເຟດ", + "settings.general.row.followup.title": "ພຶດຕິກໍາການຕິດຕາມ", + "settings.general.row.followup.description": "ເລືອກວ່າການຕິດຕາມການກະຕຸ້ນເຕືອນທັນທີຫຼືລໍຖ້າຢູ່ໃນຄິວ", + "settings.general.row.followup.option.queue": "ຄິວ", + "settings.general.row.followup.option.steer": "ຊີ້ນໍາ", + "settings.general.row.showFileTree.title": "ຕົ້ນໄມ້ໄຟລ໌", + "settings.general.row.showFileTree.description": "ສະແດງແຖບຕົ້ນໄມ້ໄຟລ໌ໃນເຊດຊັນຕ່າງໆ", + "settings.general.row.showNavigation.title": "ການຄວບຄຸມການນໍາທາງ", + "settings.general.row.showNavigation.description": "ສະແດງປຸ່ມກັບຄືນ ແລະສົ່ງຕໍ່ໃນແຖບຫົວຂໍ້ desktop", + "settings.general.row.showSearch.title": "ແຖບຄໍາສັ່ງ", + "settings.general.row.showSearch.description": "ສະແດງປຸ່ມ palette ຄົ້ນຫາ ແລະຄໍາສັ່ງຢູ່ໃນແຖບຫົວຂໍ້", + "settings.general.row.showTerminal.title": "ສະຖານີ", + "settings.general.row.showTerminal.description": "ສະແດງປຸ່ມ terminal ໃນແຖບຫົວຂໍ້ desktop", + "settings.general.row.showStatus.title": "ສະຖານະເຊີບເວີ", + "settings.general.row.showStatus.description": "ສະແດງປຸ່ມສະຖານະເຊີບເວີໃນແຖບຫົວຂໍ້", + "settings.general.row.mobileTitlebarBottom.title": "ການນໍາທາງລຸ່ມ", + "settings.general.row.mobileTitlebarBottom.description": "ວາງແຖບຫົວຂໍ້ ແລະແຖບເຊດຊັນຢູ່ລຸ່ມສຸດຂອງໜ້າຈໍໃນມືຖື", + "settings.general.row.showCustomAgents.title": "ສະແດງຕົວແທນ", + "settings.general.row.showCustomAgents.description": + "ສະຫຼັບລະຫວ່າງຕົວແທນໃນຕົວປະກອບ. ເມື່ອຖືກເຊື່ອງໄວ້, ເລີ່ມຕົ້ນທີ່ຈະສ້າງຕົວແທນ.", + "settings.general.row.reasoningSummaries.title": "ສະແດງການສັງລວມເຫດຜົນ", + "settings.general.row.reasoningSummaries.description": "ສະແດງສະຫຼຸບເຫດຜົນຂອງຕົວແບບໃນທາມລາຍ", + "settings.general.row.shellToolPartsExpanded.title": "ຂະຫຍາຍສ່ວນຂອງເຄື່ອງມື Shell", + "settings.general.row.shellToolPartsExpanded.description": + "ສະແດງສ່ວນຂອງເຄື່ອງມື Shell ແບບຂະຫຍາຍເປັນຄ່າເລີ່ມຕົ້ນໃນໄທມ໌ລາຍ", + "settings.general.row.editToolPartsExpanded.title": "ຂະຫຍາຍພາກສ່ວນເຄື່ອງມືແກ້ໄຂ", + "settings.general.row.editToolPartsExpanded.description": + "ສະ​ແດງ​ການ​ແກ້​ໄຂ, ຂຽນ, ແລະ​ການ​ແກ້​ໄຂ​ສ່ວນ​ເຄື່ອງ​ມື​ທີ່​ຂະ​ຫຍາຍ​ໂດຍ​ຄ່າ​ເລີ່ມ​ຕົ້ນ​ໃນ​ໄລ​ຍະ​ເວ​ລາ", + "settings.general.row.newInterface.title": "ໂຄງຮ່າງໃໝ່", + "settings.general.row.newInterface.badge": "ໃໝ່", + "settings.general.row.newInterface.description": "ໃຊ້ແຖບໃໝ່ ແລະຮູບແບບໜ້າຫຼັກ. ສະຫຼັບລະຫວ່າງໂຄງຮ່າງເປັນເວລາຈຳກັດ.", + "settings.general.row.newInterfaceNotice.title": "ຕອນນີ້ທ່ານກຳລັງໃຊ້ໂຄງຮ່າງໃໝ່", + "settings.general.row.newInterfaceNotice.description": "ຮູບແບບກ່ອນໜ້ານີ້ບໍ່ມີແລ້ວ", + "settings.general.row.newInterfaceNotice.dismiss": "ປິດ", + "settings.general.row.pinchZoom.title": "ບີບເພື່ອຊູມ", + "settings.general.row.pinchZoom.description": "ອະ​ນຸ​ຍາດ​ໃຫ້​ການ pinch trackpad ແລະ gestures Ctrl-scroll ເພື່ອຊູມ", + "settings.general.row.wayland.title": "ໃຊ້ Wayland ພື້ນເມືອງ", + "settings.general.row.wayland.description": "ປິດການໃຊ້ງານ X11 fallback ໃນ Wayland. ຕ້ອງການຣີສະຕາດ.", + "settings.general.row.wayland.tooltip": + "ໃນ Linux ທີ່ມີຈໍພາບອັດຕາການໂຫຼດຫນ້າຈໍຄືນແບບປະສົມ, Wayland ພື້ນເມືອງສາມາດມີຄວາມຫມັ້ນຄົງຫຼາຍ.", + "settings.general.row.releaseNotes.title": "ບັນທຶກການປ່ອຍ", + "settings.general.row.releaseNotes.description": "ສະແດງປັອບອັບໃໝ່ແມ່ນຫຍັງຫຼັງຈາກອັບເດດ", + "settings.updates.row.startup.title": "ກວດເບິ່ງການອັບເດດກ່ຽວກັບການເລີ່ມຕົ້ນ", + "settings.updates.row.startup.description": "ກວດສອບການອັບເດດໂດຍອັດຕະໂນມັດເມື່ອ OpenCode ເປີດ", + "settings.updates.row.check.title": "ກວດສອບການອັບເດດ", + "settings.updates.row.check.description": "ກວດສອບການອັບເດດດ້ວຍຕົນເອງ ແລະຕິດຕັ້ງຖ້າມີ", + "settings.updates.action.checkNow": "ກວດເບິ່ງດຽວນີ້", + "settings.updates.action.checking": "ກຳລັງກວດສອບ...", + "settings.updates.action.downloading": "ກຳລັງດາວໂຫຼດ...", + "settings.updates.action.installing": "ກຳລັງຕິດຕັ້ງ...", + "settings.updates.toast.latest.title": "ທ່ານອັບເດດແລ້ວ", + "settings.updates.toast.latest.description": "ທ່ານກຳລັງໃຊ້ OpenCode ເວີຊັນຫຼ້າສຸດ.", + "sound.option.none": "ບໍ່ມີ", + "sound.option.alert01": "ແຈ້ງເຕືອນ 01", + "sound.option.alert02": "ແຈ້ງເຕືອນ 02", + "sound.option.alert03": "ແຈ້ງເຕືອນ 03", + "sound.option.alert04": "ແຈ້ງເຕືອນ 04", + "sound.option.alert05": "ແຈ້ງເຕືອນ 05", + "sound.option.alert06": "ແຈ້ງເຕືອນ 06", + "sound.option.alert07": "ແຈ້ງເຕືອນ 07", + "sound.option.alert08": "ແຈ້ງເຕືອນ 08", + "sound.option.alert09": "ແຈ້ງເຕືອນ 09", + "sound.option.alert10": "ແຈ້ງເຕືອນ 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "ບິບໂບ 02", + "sound.option.bipbop03": "ບິບໂບ 03", + "sound.option.bipbop04": "ບິບໂບ 04", + "sound.option.bipbop05": "ບິບໂບ 05", + "sound.option.bipbop06": "ບິບໂບ 06", + "sound.option.bipbop07": "ບິບໂບ 07", + "sound.option.bipbop08": "ບຸນບັ້ງໄຟ 08", + "sound.option.bipbop09": "ບິບໂບ 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "ບໍ່ 01", + "sound.option.nope02": "ບໍ່ 02", + "sound.option.nope03": "ບໍ່ 03", + "sound.option.nope04": "ບໍ່ 04", + "sound.option.nope05": "ບໍ່ 05", + "sound.option.nope06": "ບໍ່ 06", + "sound.option.nope07": "ບໍ່ 07", + "sound.option.nope08": "ບໍ່ 08", + "sound.option.nope09": "ບໍ່ 09", + "sound.option.nope10": "ບໍ່ 10", + "sound.option.nope11": "ບໍ່ 11", + "sound.option.nope12": "ບໍ່ 12", + "sound.option.yup01": "ແມ່ນແລ້ວ 01", + "sound.option.yup02": "Yup 02", + "sound.option.yup03": "ແມ່ນແລ້ວ 03", + "sound.option.yup04": "Yup 04", + "sound.option.yup05": "Yup 05", + "sound.option.yup06": "Yup 06", + "settings.general.notifications.agent.title": "ຕົວແທນ", + "settings.general.notifications.agent.description": + "ສະແດງການແຈ້ງເຕືອນລະບົບເມື່ອຕົວແທນຄົບຖ້ວນສົມບູນ ຫຼືຕ້ອງການຄວາມສົນໃຈ", + "settings.general.notifications.permissions.title": "ການອະນຸຍາດ", + "settings.general.notifications.permissions.description": "ສະແດງການແຈ້ງເຕືອນລະບົບເມື່ອຕ້ອງການການອະນຸຍາດ", + "settings.general.notifications.errors.title": "ຄວາມຜິດພາດ", + "settings.general.notifications.errors.description": "ສະແດງການແຈ້ງເຕືອນລະບົບເມື່ອມີຂໍ້ຜິດພາດເກີດຂຶ້ນ", + "settings.general.sounds.agent.title": "ຕົວແທນ", + "settings.general.sounds.agent.description": "ຫຼິ້ນສຽງເມື່ອຕົວແທນສົມບູນ ຫຼືຕ້ອງການຄວາມສົນໃຈ", + "settings.general.sounds.permissions.title": "ການອະນຸຍາດ", + "settings.general.sounds.permissions.description": "ຫຼິ້ນສຽງເມື່ອຕ້ອງການການອະນຸຍາດ", + "settings.general.sounds.errors.title": "ຄວາມຜິດພາດ", + "settings.general.sounds.errors.description": "ຫຼິ້ນສຽງເມື່ອມີຂໍ້ຜິດພາດເກີດຂຶ້ນ", + "settings.shortcuts.title": "ປຸ່ມລັດແປ້ນພິມ", + "settings.shortcuts.reset.button": "ຣີເຊັດເປັນຄ່າເລີ່ມຕົ້ນ", + "settings.shortcuts.reset.toast.title": "ຣີເຊັດທາງລັດ", + "settings.shortcuts.reset.toast.description": "ປຸ່ມລັດຖືກຕັ້ງຄືນເປັນຄ່າເລີ່ມຕົ້ນ.", + "settings.shortcuts.conflict.title": "ທາງລັດໃຊ້ຢູ່ແລ້ວ", + "settings.shortcuts.conflict.description": "{{keybind}} ຖືກມອບໝາຍໃຫ້ {{titles}} ແລ້ວ.", + "settings.shortcuts.unassigned": "ບໍ່ໄດ້ມອບໝາຍ", + "settings.shortcuts.pressKeys": "ກົດປຸ່ມ", + "settings.shortcuts.search.placeholder": "ທາງລັດຄົ້ນຫາ", + "settings.shortcuts.search.empty": "ບໍ່ພົບທາງລັດ", + "settings.shortcuts.group.general": "ທົ່ວໄປ", + "settings.shortcuts.group.session": "ເຊດຊັນ", + "settings.shortcuts.group.navigation": "ການນໍາທາງ", + "settings.shortcuts.group.modelAndAgent": "ຕົວແບບ ແລະຕົວແທນ", + "settings.shortcuts.group.terminal": "ສະຖານີ", + "settings.shortcuts.group.prompt": "Prompt", + "settings.providers.title": "ຜູ້ໃຫ້ບໍລິການ", + "settings.providers.description": "ການຕັ້ງຄ່າຜູ້ໃຫ້ບໍລິການຈະຖືກຕັ້ງຄ່າໄດ້ທີ່ນີ້.", + "settings.providers.section.connected": "ຜູ້ໃຫ້ບໍລິການເຊື່ອມຕໍ່", + "settings.providers.connected.empty": "ບໍ່ມີຜູ້ໃຫ້ບໍລິການເຊື່ອມຕໍ່", + "settings.providers.connected.environmentDescription": "ເຊື່ອມຕໍ່ຈາກຕົວແປສະພາບແວດລ້ອມຂອງທ່ານ", + "settings.providers.section.popular": "ຜູ້ໃຫ້ບໍລິການທີ່ນິຍົມ", + "settings.providers.custom.description": "ເພີ່ມຜູ້ໃຫ້ບໍລິການທີ່ເຂົ້າກັນໄດ້ກັບ OpenAI ໂດຍ URL ພື້ນຖານ.", + "settings.providers.tag.environment": "ສະພາບແວດລ້ອມ", + "settings.providers.tag.config": "ການຕັ້ງຄ່າ", + "settings.providers.tag.custom": "ກຳນົດເອງ", + "settings.providers.tag.other": "ອື່ນໆ", + "settings.models.title": "ຕົວແບບ", + "settings.models.description": "ການຕັ້ງຄ່າຕົວແບບຈະຕັ້ງຄ່າໄດ້ທີ່ນີ້.", + "settings.agents.title": "ຕົວແທນ", + "settings.agents.description": "ການຕັ້ງຄ່າຕົວແທນຈະຖືກຕັ້ງຄ່າໄດ້ທີ່ນີ້.", + "settings.commands.title": "ຄໍາສັ່ງ", + "settings.commands.description": "ການຕັ້ງຄ່າຄໍາສັ່ງຈະຖືກຕັ້ງຄ່າໄດ້ທີ່ນີ້.", + "settings.mcp.title": "MCP", + "settings.mcp.description": "ການຕັ້ງຄ່າ MCP ຈະຖືກຕັ້ງຄ່າໄດ້ທີ່ນີ້.", + "settings.permissions.title": "ການອະນຸຍາດ", + "settings.permissions.description": "ຄວບຄຸມເຄື່ອງມືທີ່ເຊີບເວີໃຊ້ໄດ້ໂດຍຄ່າເລີ່ມຕົ້ນ.", + "settings.permissions.section.tools": "ເຄື່ອງມື", + "settings.permissions.toast.updateFailed.title": "ລົ້ມເຫລວໃນການປັບປຸງການອະນຸຍາດ", + "settings.permissions.action.allow": "ອະນຸຍາດ", + "settings.permissions.action.ask": "ຖາມ", + "settings.permissions.action.deny": "ປະຕິເສດ", + "settings.permissions.tool.read.title": "ອ່ານ", + "settings.permissions.tool.read.description": "ການອ່ານໄຟລ໌ (ກົງກັບເສັ້ນທາງໄຟລ໌)", + "settings.permissions.tool.edit.title": "ແກ້ໄຂ", + "settings.permissions.tool.edit.description": "ແກ້ໄຂໄຟລ໌, ລວມທັງການແກ້ໄຂ, ຂຽນ, ແລະແກ້ໄຂ", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "ຈັບຄູ່ໄຟລ໌ໂດຍໃຊ້ຮູບແບບ glob", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "ຄົ້ນ​ຫາ​ເນື້ອ​ຫາ​ຂອງ​ໄຟລ​໌​ໂດຍ​ນໍາ​ໃຊ້​ສໍາ​ນວນ​ປົກ​ກະ​ຕິ​", + "settings.permissions.tool.list.title": "ລາຍການ", + "settings.permissions.tool.list.description": "ລາຍຊື່ໄຟລ໌ພາຍໃນໄດເລກະທໍລີ", + "settings.permissions.tool.bash.title": "ບາຊ", + "settings.permissions.tool.bash.description": "ດໍາເນີນການຄໍາສັ່ງ shell", + "settings.permissions.tool.task.title": "ວຽກງານ", + "settings.permissions.tool.task.description": "ເປີດຕົວຕົວແທນຍ່ອຍ", + "settings.permissions.tool.skill.title": "ທັກສະ", + "settings.permissions.tool.skill.description": "ໂຫຼດທັກສະຕາມຊື່", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "ດໍາເນີນການສອບຖາມເຊີບເວີພາສາ", + "settings.permissions.tool.todowrite.title": "Todo ຂຽນ", + "settings.permissions.tool.todowrite.description": "ອັບເດດລາຍການທີ່ຕ້ອງເຮັດ", + "settings.permissions.tool.webfetch.title": "ການດຶງຂໍ້ມູນເວັບ", + "settings.permissions.tool.webfetch.description": "ເອົາເນື້ອຫາຈາກ URL", + "settings.permissions.tool.websearch.title": "ຄົ້ນຫາເວັບ", + "settings.permissions.tool.websearch.description": "ຊອກຫາເວັບ", + "settings.permissions.tool.external_directory.title": "ໄດເລກະທໍລີພາຍນອກ", + "settings.permissions.tool.external_directory.description": "ເຂົ້າເຖິງໄຟລ໌ນອກໄດເລກະທໍລີໂຄງການ", + "settings.permissions.tool.doom_loop.title": "Doom Loop", + "settings.permissions.tool.doom_loop.description": "ກວດພົບການໂທດ້ວຍເຄື່ອງມືຊ້ຳໆດ້ວຍການປ້ອນຂໍ້ມູນຄືກັນ", + "session.delete.failed.title": "ລົ້ມເຫລວໃນການລຶບເຊດຊັນ", + "session.delete.title": "ລຶບເຊດຊັນ", + "session.delete.confirm": 'ລຶບເຊດຊັນ "{{name}}" ບໍ?', + "session.delete.button": "ລຶບເຊດຊັນ", + "workspace.new": "ພື້ນທີ່ເຮັດວຽກໃໝ່", + "workspace.type.local": "ທ້ອງຖິ່ນ", + "workspace.type.sandbox": "ກ່ອງຊາຍ", + "workspace.create.failed.title": "ລົ້ມເຫລວໃນການສ້າງພື້ນທີ່ເຮັດວຽກ", + "workspace.delete.failed.title": "ລົ້ມເຫລວໃນການລຶບພື້ນທີ່ເຮັດວຽກ", + "workspace.resetting.title": "ຣີເຊັດພື້ນທີ່ເຮັດວຽກ", + "workspace.resetting.description": "ນີ້ອາດຈະໃຊ້ເວລານາທີ.", + "workspace.reset.failed.title": "ລົ້ມເຫລວໃນການຣີເຊັດພື້ນທີ່ເຮັດວຽກ", + "workspace.reset.success.title": "ຣີເຊັດພື້ນທີ່ເຮັດວຽກ", + "workspace.reset.success.description": "ພື້ນທີ່ເຮັດວຽກຕອນນີ້ກົງກັບສາຂາເລີ່ມຕົ້ນ.", + "workspace.error.stillPreparing": "ພື້ນທີ່ເຮັດວຽກກຳລັງກະກຽມຢູ່", + "workspace.status.checking": "ກຳລັງກວດສອບການປ່ຽນແປງທີ່ບໍ່ໄດ້ຮວມ...", + "workspace.status.error": "ບໍ່ສາມາດກວດສອບສະຖານະ git ໄດ້.", + "workspace.status.clean": "ບໍ່ພົບການປ່ຽນແປງທີ່ບໍ່ຮວມເຂົ້າກັນ.", + "workspace.status.dirty": "ກວດພົບການປ່ຽນແປງທີ່ບໍ່ຮວມຢູ່ໃນບ່ອນເຮັດວຽກນີ້.", + "workspace.delete.title": "ລຶບພື້ນທີ່ເຮັດວຽກ", + "workspace.delete.confirm": 'ລຶບພື້ນທີ່ເຮັດວຽກ "{{name}}" ບໍ?', + "workspace.delete.button": "ລຶບພື້ນທີ່ເຮັດວຽກ", + "workspace.reset.title": "ຣີເຊັດພື້ນທີ່ເຮັດວຽກ", + "workspace.reset.confirm": 'ຣີເຊັດພື້ນທີ່ເຮັດວຽກ "{{name}}" ບໍ?', + "workspace.reset.button": "ຣີເຊັດພື້ນທີ່ເຮັດວຽກ", + "workspace.reset.archived.none": "ບໍ່ມີເຊດຊັນທີ່ເຄື່ອນໄຫວຈະຖືກເກັບໄວ້.", + "workspace.reset.archived.one": "1 ເຊດຊັນຈະຖືກເກັບໄວ້.", + "workspace.reset.archived.many": "ເຊດຊັນ {{count}} ຈະຖືກເກັບໄວ້.", + "workspace.reset.note": "ນີ້ຈະຣີເຊັດພື້ນທີ່ເຮັດວຽກໃຫ້ກົງກັບສາຂາເລີ່ມຕົ້ນ.", + "dialog.usageExceeded.dontShowAgain": "ຢ່າສະແດງອີກ", +} diff --git a/packages/app/src/i18n/lt.ts b/packages/app/src/i18n/lt.ts new file mode 100644 index 000000000000..ba161eb31879 --- /dev/null +++ b/packages/app/src/i18n/lt.ts @@ -0,0 +1,1173 @@ +import { DESKTOP_NATIVE_KEYS } from "./desktop-native" + +const desktop = [ + "OpenCode", + "Failas", + "Taisa", + "Rodymas", + "Eiti", + "Langas", + "Žinynas", + "Tikrinti, ar yra naujinimų...", + "Nuostatos", + "Įkelti Webview iš naujo", + "Paleisti iš naujo", + "Eksportuoti žurnalus...", + "Naujas seansas", + "Atverti projektą...", + "Naujas langas", + "Užverti langą", + "Atšaukti", + "Pakartoti", + "Iškirpti", + "Kopijuoti", + "Įdėti", + "Pašalinti", + "Pažymėti viską", + "Rodyti arba slėpti parankinę", + "Rodyti arba slėpti terminalą", + "Rodyti arba slėpti failų medį", + "Įkelti iš naujo", + "Rodyti arba slėpti programavimo priemones", + "Tikras dydis", + "Padidinti", + "Sumažinti", + "Rodyti arba slėpti visą ekraną", + "Atgal", + "Pirmyn", + "Ankstesnis seansas", + "Kitas seansas", + "Ankstesnis projektas", + "Kitas projektas", + "Suskleisti", + "Išskleisti", + "OpenCode dokumentacija", + "Pagalbos forumas", + "Pateikti atsiliepimą", + "Pranešti apie klaidą", + "OpenCode meniu", + "Naujinių patikrinti nepavyko.", + "Naujinimo klaida", + "Naudojate naujausią versiją.", + "Naujinių nėra", + "Naujinimas {{version}} parsiųstas. Paleisti iš naujo dabar?", + "Naujinimas paruoštas", + "Paleisti iš naujo", + "Vėliau", + "Paleisti iš naujo", + "Eksportuoti žurnalus", + "Laukti toliau", + "Baigti darbą", + "OpenCode įkelti nepavyko", + "OpenCode langas netikėtai užsidarė", + "OpenCode neatsako", + "Galite paleisti programą iš naujo, atverti žurnalus arba laukti toliau.", + "Langas: {{window}}\nURL: {{url}}\nKlaida: {{code}} {{description}}", + "Langas: {{window}}\nPriežastis: {{reason}}\nKodas: {{code}}", + "", + "Pasirinkite aplanką", + "Pasirinkite failą", + "Įrašyti failą", + "Failai", + "Vietinis serveris", + "WSL veikia tik sistemoje Windows", + "WSL nepasiekiamas", + "Nepavyko išvardyti įdiegtų WSL distributyvų", + "Nepavyko išvardyti internete pasiekiamų WSL distributyvų", + "Negalima vykdyti komandų distributyve", + "WSL įdiegti nepavyko", + "Nepavyko įdiegti distributyvo: {{distro}}", + "OpenCode įdiegti nepavyko", + "{{distro}} jau pridėtas", + "opencode šiame distributyve neįdiegtas", + "opencode įdiegtas, bet jo paleisti nepavyko", + "OpenCode neįdiegtas distributyve {{distro}}", + "OpenCode naujinimas baigtas, bet {{distro}} vis dar praneša {{installed}}; tikėtasi {{expected}}", + "versijos nėra", + "WSL serveris užsidarė po paleidimo (code={{code}} signal={{signal}})", + "WSL serveris užsidarė prieš pradėdamas tinkamai veikti (code={{code}} signal={{signal}}){{output}}", + "Baigėsi {{distro}} pagalbinio proceso būklės patikros {{timeout}} ms skirtasis laikas", + "Baigėsi komandai {{command}} {{args}} skirtas {{timeout}} ms laikas", + "Nepavyko gauti prievado", + "Failas nebuvo pasirinktas failų parinkiklyje", + "Pasirinkti priedai viršija {{limit}} MB ribą", +] + +export const dict = { + ...Object.fromEntries(DESKTOP_NATIVE_KEYS.map((key, index) => [key, desktop[index]])), + "command.category.suggested": "Siūloma", + "command.category.view": "Rodinys", + "command.category.project": "Projektas", + "command.category.provider": "Teikėjas", + "command.category.server": "Serveris", + "command.category.session": "Seansas", + "command.category.theme": "tema", + "command.category.language": "Kalba", + "command.category.file": "Failas", + "command.category.context": "Kontekstas", + "command.category.terminal": "Terminalas", + "command.category.model": "Modelis", + "command.category.mcp": "MCP", + "command.category.agent": "Agentas", + "command.category.permissions": "Leidimai", + "command.category.workspace": "Darbo sritis", + "command.category.settings": "Nustatymai", + "command.logs.export": "Eksportuoti žurnalus", + "theme.scheme.system": "Sistema", + "theme.scheme.light": "Šviesi", + "theme.scheme.dark": "Tamsi", + "command.sidebar.toggle": "Perjungti šoninę juostą", + "command.project.open": "Atidaryti projektą", + "command.project.previous": "Ankstesnis projektas", + "command.project.next": "Kitas projektas", + "command.project.index": "Perjunkite į projektą {{index}}", + "command.provider.connect": "Prijungti teikėją", + "command.server.switch": "Perjungti serverį", + "command.settings.open": "Atidaryti nustatymus", + "command.session.previous": "Ankstesnis seansas", + "command.session.next": "Kitas seansas", + "command.session.previous.unseen": "Ankstesnis neskaitytas seansas", + "command.session.next.unseen": "Kitas neskaitytas seansas", + "command.session.archive": "Archyvuoti seansą", + "command.palette": "Komandų paletė", + "command.theme.cycle": "Perjungti temą", + "command.theme.set": "Naudokite temą: {{theme}}", + "command.theme.scheme.cycle": "Perjungti spalvų schemą", + "command.theme.scheme.set": "Naudokite spalvų schemą: {{scheme}}", + "command.language.cycle": "Perjungti kalbą", + "command.language.set": "Naudokite kalbą: {{language}}", + "command.session.new": "Naujas seansas", + "command.file.open": "Atidaryti failą", + "command.tab.close": "Uždaryti skirtuką", + "command.tab.reopenClosed": "Iš naujo atidaryti uždarytą skirtuką", + "command.context.addSelection": "Pridėkite pasirinkimą prie konteksto", + "command.context.addSelection.description": "Pridėkite pasirinktas eilutes iš dabartinio failo", + "command.input.focus": "Fokusuoti įvesties lauką", + "command.terminal.toggle": "Perjungti terminalą", + "command.fileTree.toggle": "Perjungti failų medį", + "command.review.toggle": "Perjungti peržiūrą", + "command.terminal.new": "Naujas terminalas", + "command.terminal.new.description": "Sukurkite naują terminalo skirtuką", + "command.steps.toggle": "Perjungti žingsnius", + "command.steps.toggle.description": "Rodyti arba slėpti dabartinio pranešimo veiksmus", + "command.message.previous": "Ankstesnė žinutė", + "command.message.previous.description": "Eikite į ankstesnį vartotojo pranešimą", + "command.message.next": "Kitas pranešimas", + "command.message.next.description": "Eikite į kitą vartotojo pranešimą", + "command.model.choose": "Pasirinkite modelį", + "command.model.choose.description": "Pasirinkite kitą modelį", + "command.mcp.toggle": "Perjungti MCPs", + "command.mcp.toggle.description": "Perjungti MCPs", + "command.agent.cycle": "Perjungti agentą", + "command.agent.cycle.description": "Perjunkite į kitą agentą", + "command.agent.cycle.reverse": "Perjungti į ankstesnį agentą", + "command.agent.cycle.reverse.description": "Perjungti į ankstesnį agentą", + "command.model.variant.cycle": "Perkelkite mąstymo pastangas", + "command.model.variant.cycle.description": "Perjunkite į kitą pastangų lygį", + "command.prompt.mode.shell": "Apvalkalas", + "command.prompt.mode.normal": "Užklausa", + "command.permissions.autoaccept.enable": "Automatiškai priimti leidimus", + "command.permissions.autoaccept.disable": "Sustabdykite automatinį leidimų priėmimą", + "command.workspace.toggle": "Perjungti darbo sritis", + "command.workspace.toggle.description": "Šoninėje juostoje įgalinkite arba išjunkite kelias darbo sritis", + "command.session.undo": "Anuliuoti", + "command.session.undo.description": "Anuliuoti paskutinį pranešimą", + "command.session.redo": "Perdaryti", + "command.session.redo.description": "Pakartokite paskutinį anuliuotą pranešimą", + "command.session.compact": "Glaudinti seansą", + "command.session.compact.description": "Apibendrinti seansą, kad sumažėtų kontekstas", + "command.session.fork": "Atskirti nuo pranešimo", + "command.session.fork.description": "Sukurti naują seansą iš ankstesnio pranešimo", + "command.session.share": "Bendrinti seansą", + "command.session.share.description": "Bendrinti šį seansą ir nukopijuoti URL į mainų sritį", + "command.session.unshare": "Atšaukti seanso bendrinimą", + "command.session.unshare.description": "Nebebendrinti šio seanso", + "command.session.export": "Eksportuoti seansą", + "command.session.export.description": "Eksportuokite visą seanso stenogramą kaip JSON", + "palette.search.placeholder": "Ieškokite failų, komandų ir seansų", + "palette.search.placeholder.home": "Ieškoti komandų ir seansų", + "palette.empty": "Rezultatų nerasta", + "palette.group.commands": "Komandos", + "palette.group.files": "Failai", + "dialog.provider.search.placeholder": "Paieškos teikėjai", + "dialog.provider.empty": "Teikėjų nerasta", + "dialog.provider.group.popular": "Populiarus", + "dialog.provider.group.other": "Kita", + "dialog.provider.custom.label": "Pasirinktinis su OpenAI suderinamas tiekėjas", + "dialog.provider.tag.recommended": "Rekomenduojama", + "dialog.provider.opencode.note": "Kuruojami modeliai, įskaitant Claude, GPT, Gemini ir kt.", + "dialog.provider.opencode.tagline": "Patikimi optimizuoti modeliai", + "dialog.provider.opencodeGo.tagline": "Mažos kainos abonementas visiems", + "dialog.provider.anthropic.note": "Tiesioginė prieiga prie Claude modelių, įskaitant Pro ir Max", + "dialog.provider.copilot.note": "AI modeliai, skirti kodavimo pagalbai per GitHub Copilot", + "dialog.provider.openai.note": "GPT modeliai, skirti greitoms, bendroms AI užduotims atlikti", + "dialog.provider.google.note": "Gemini modeliai greitiems, struktūriniams atsakymams", + "dialog.provider.openrouter.note": "Pasiekite visus palaikomus modelius iš vieno tiekėjo", + "dialog.provider.vercel.note": "Vieninga prieiga prie AI modelių su išmaniuoju maršruto parinkimu", + "dialog.model.select.title": "Pasirinkite modelį", + "dialog.model.search.placeholder": "Ieškoti modelių", + "dialog.model.empty": "Nėra modelio rezultatų", + "dialog.model.manage": "Tvarkyti modelius", + "dialog.model.manage.description": "Tinkinkite, kurie modeliai rodomi modelio parinkiklyje.", + "dialog.model.manage.provider.toggle": "Perjungti visus {{provider}} modelius", + "dialog.model.unpaid.freeModels.title": "Nemokami OpenCode modeliai", + "dialog.model.unpaid.addMore.title": "Pridėkite daugiau populiarių tiekėjų modelių", + "dialog.model.unpaid.viewMoreProviders": "Žr. daugiau nei 70 tiekėjų", + "dialog.provider.viewAll": "Rodyti daugiau teikėjų", + "provider.connect.title": "Prijunkite {{provider}}", + "provider.connect.title.anthropicProMax": "Prisijunkite naudodami Claude Pro/Max", + "provider.connect.selectMethod": "Pasirinkite {{provider}} prisijungimo būdą.", + "provider.connect.method.apiKey": "API raktas", + "provider.connect.method.browser": "Naršyklė", + "provider.connect.method.headless": "Be galvos", + "provider.connect.status.inProgress": "Vykdoma prieigos teisė...", + "provider.connect.status.waiting": "Laukiama įgaliojimo...", + "provider.connect.status.failed": "Autorizacija nepavyko: {{error}}", + "provider.connect.apiKey.description": + "Įveskite {{provider}} API raktą, kad susietumėte paskyrą ir naudotumėte {{provider}} modelius programoje OpenCode.", + "provider.connect.apiKey.label": "{{provider}} API raktas", + "provider.connect.apiKey.placeholder": "API raktas", + "provider.connect.apiKey.required": "Reikalingas API raktas", + "provider.connect.opencodeZen.line1": + "OpenCode Zen suteikia prieigą prie kuruojamo patikimų optimizuotų kodavimo agentų modelių rinkinio.", + "provider.connect.opencodeZen.line2": + "Su vienu API raktu galėsite pasiekti tokius modelius kaip Claude, GPT, Gemini, GLM ir kt.", + "provider.connect.opencodeZen.visit.prefix": "Aplankykite", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": "norėdami pasiimti savo API raktą.", + "provider.connect.oauth.code.visit.prefix": "Aplankykite", + "provider.connect.oauth.code.visit.link": "šią nuorodą", + "provider.connect.oauth.code.visit.suffix": + "rinkti prieigos kodą, kad galėtumėte prisijungti prie paskyros ir naudoti {{provider}} modelius OpenCode.", + "provider.connect.oauth.code.label": "{{method}} autorizacijos kodas", + "provider.connect.oauth.code.placeholder": "Autorizacijos kodas", + "provider.connect.oauth.code.required": "Reikalingas autorizacijos kodas", + "provider.connect.oauth.code.invalid": "Neteisingas prieigos teisės kodas", + "provider.connect.oauth.auto.visit.prefix": "Apsilankykite", + "provider.connect.oauth.auto.visit.link": "šią nuorodą", + "provider.connect.oauth.auto.visit.suffix": + "ir įveskite toliau esantį kodą, kad susietumėte paskyrą ir naudotumėte {{provider}} modelius OpenCode.", + "provider.connect.oauth.auto.confirmationCode": "Patvirtinimo kodas", + "provider.connect.toast.connected.title": "{{provider}} prijungtas", + "provider.connect.toast.connected.description": "Dabar galima naudoti {{provider}} modelius.", + "provider.custom.title": "Pasirinktinis teikėjas", + "provider.custom.unavailable": "Pasirinktiniai teikėjai šiame serveryje nepasiekiami", + "provider.custom.description.prefix": "Sukonfigūruokite su OpenAI suderinamą teikėją. Žiūrėkite", + "provider.custom.description.link": "teikėjo konfigūracijos dokumentai", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "Teikėjo ID", + "provider.custom.field.providerID.placeholder": "mano teikėjas", + "provider.custom.field.providerID.description": "Mažosios raidės, skaičiai, brūkšneliai arba apatiniai brūkšniai", + "provider.custom.field.name.label": "Rodomas vardas", + "provider.custom.field.name.placeholder": "Mano AI teikėjas", + "provider.custom.field.baseURL.label": "Pagrindas URL", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "API raktas", + "provider.custom.field.apiKey.placeholder": "API raktas", + "provider.custom.field.apiKey.description": + "Neprivaloma. Palikite tuščią, jei autentifikavimą valdote per antraštes.", + "provider.custom.models.label": "Modeliai", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "modelio ID", + "provider.custom.models.name.label": "Vardas", + "provider.custom.models.name.placeholder": "Rodomas pavadinimas", + "provider.custom.models.remove": "Pašalinti modelį", + "provider.custom.models.add": "Pridėti modelį", + "provider.custom.headers.label": "Antraštės (nebūtina)", + "provider.custom.headers.key.label": "Antraštė", + "provider.custom.headers.key.placeholder": "Antraštė-Pavadinimas", + "provider.custom.headers.value.label": "Vertė", + "provider.custom.headers.value.placeholder": "vertė", + "provider.custom.headers.remove": "Pašalinti antraštę", + "provider.custom.headers.add": "Pridėti antraštę", + "provider.custom.error.providerID.required": "Reikalingas teikėjo ID", + "provider.custom.error.providerID.format": + "Naudokite mažąsias raides, skaičius, brūkšnelius arba apatinius brūkšnius", + "provider.custom.error.providerID.exists": "Tas teikėjo ID jau yra", + "provider.custom.error.name.required": "Būtinas rodomas vardas", + "provider.custom.error.baseURL.required": "Reikalingas pagrindas URL", + "provider.custom.error.baseURL.format": "Turi prasidėti http:// arba https://", + "provider.custom.error.required": "Privaloma", + "provider.custom.error.duplicate": "Pasikartoti", + "provider.disconnect.toast.disconnected.title": "{{provider}} atjungtas", + "provider.disconnect.toast.disconnected.description": "{{provider}} modeliai nebepasiekiami.", + "model.tag.free": "Nemokama", + "model.tag.latest": "Naujausias", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "tekstą", + "model.input.image": "vaizdas", + "model.input.audio": "garso", + "model.input.video": "vaizdo įrašą", + "model.input.pdf": "pdf", + "model.tooltip.allows": "Leidžia: {{inputs}}", + "model.tooltip.context.label": "Kontekstas", + "model.tooltip.inputs": "Įėjimai", + "model.tooltip.model": "Modelis", + "model.tooltip.provider": "Teikėjas", + "model.tooltip.reasoning": "Samprotavimas", + "model.tooltip.reasoning.allowed": "Leidžia samprotauti", + "model.tooltip.reasoning.none": "Jokių samprotavimų", + "model.tooltip.context": "Konteksto riba {{limit}}", + "common.search.placeholder": "Ieškoti", + "common.goBack": "Grįžti atgal", + "common.goForward": "Eikite į priekį", + "common.loading": "Įkeliama", + "common.loading.ellipsis": "...", + "common.cancel": "Atšaukti", + "common.clear": "Išvalyti", + "common.open": "Atidaryti", + "common.connect": "Prisijunkite", + "common.disconnect": "Atsijungti", + "common.continue": "Tęsti", + "common.submit": "Pateikti", + "common.save": "Išsaugoti", + "common.saving": "Išsaugoma...", + "common.default": "Numatytoji", + "common.attachment": "priedą", + "prompt.placeholder.shell": "Įveskite apvalkalo komandą... {{example}}", + "prompt.placeholder.normal": 'Paklauskite bet ko... "{{example}}"', + "prompt.placeholder.simple": "Paklausk bet ko...", + "prompt.placeholder.summarizeComments": "Apibendrinkite komentarus…", + "prompt.placeholder.summarizeComment": "Apibendrinti komentarą…", + "prompt.mode.shell": "Apvalkalas", + "prompt.mode.normal": "Užklausa", + "prompt.mode.shell.exit": "esc, kad išeitumėte", + "session.child.promptDisabled": "Poagento seansui negalima siųsti užklausų.", + "session.child.backToParent": "Grįžti į pagrindinį seansą.", + "prompt.example.1": "Pataisykite TODO kodų bazėje", + "prompt.example.2": "Kokia šio projekto techninė dalis?", + "prompt.example.3": "Pataisykite sugedusius testus", + "prompt.example.4": "Paaiškinkite, kaip veikia autentifikavimas", + "prompt.example.5": "Raskite ir ištaisykite saugos spragas", + "prompt.example.6": "Pridėkite naudotojo paslaugos vienetų testus", + "prompt.example.7": "Pataisykite šią funkciją, kad ji būtų lengviau skaitoma", + "prompt.example.8": "Ką reiškia ši klaida?", + "prompt.example.9": "Padėkite man derinti šią problemą", + "prompt.example.10": "Sukurkite API dokumentaciją", + "prompt.example.11": "Optimizuokite duomenų bazės užklausas", + "prompt.example.12": "Pridėti įvesties patvirtinimą", + "prompt.example.13": "Sukurkite naują komponentą...", + "prompt.example.14": "Kaip įdiegti šį projektą?", + "prompt.example.15": "Peržiūrėkite mano kodą, kad gautumėte geriausią praktiką", + "prompt.example.16": "Prie šios funkcijos pridėkite klaidų tvarkymą", + "prompt.example.17": "Paaiškinkite šį reguliarųjį reiškinį", + "prompt.example.18": "Konvertuokite tai į TypeScript", + "prompt.example.19": "Pridėkite registravimą visoje kodų bazėje", + "prompt.example.20": "Kokios priklausomybės yra pasenusios?", + "prompt.example.21": "Padėkite man parašyti perkėlimo scenarijų", + "prompt.example.22": "Įdiekite šio galutinio taško talpyklą", + "prompt.example.23": "Į šį sąrašą įtraukite puslapius", + "prompt.example.24": "Sukurkite komandą CLI, skirtą...", + "prompt.example.25": "Kaip čia veikia aplinkos kintamieji?", + "prompt.popover.emptyResults": "Nėra atitinkančių rezultatų", + "prompt.popover.emptyCommands": "Nėra atitinkamų komandų", + "prompt.dropzone.label": "Čia numeskite vaizdus, ​​PDF ar tekstinius failus", + "prompt.dropzone.file.label": "Nukreipkite į @minėjimo failą", + "prompt.slash.badge.custom": "paprotys", + "prompt.slash.badge.skill": "įgūdžių", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "aktyvus", + "prompt.context.includeActiveFile": "Įtraukti aktyvų failą", + "prompt.context.removeActiveFile": "Pašalinkite aktyvų failą iš konteksto", + "prompt.context.removeFile": "Pašalinti failą iš konteksto", + "prompt.action.attachFile": "Pridėti failus", + "prompt.menu.addImagesAndFiles": "Pridėkite failus ir daugiau", + "prompt.menu.imagesAndFiles": "Vaizdai ir failai", + "prompt.menu.commands": "Komandos", + "prompt.menu.context": "Kontekstas", + "prompt.menu.shellCommand": "Apvalkalo komanda", + "prompt.attachment.remove": "Pašalinti priedą", + "prompt.action.send": "Siųsti", + "prompt.action.stop": "Stabdyti", + "prompt.toast.pasteUnsupported.title": "Nepalaikomas priedas", + "prompt.toast.pasteUnsupported.description": "Čia galima pridėti tik vaizdus, ​​PDF arba tekstinius failus.", + "prompt.toast.attachmentDuplicate.title": "Šis failas jau buvo įkeltas", + "prompt.toast.modelAgentRequired.title": "Pasirinkite agentą ir modelį", + "prompt.toast.modelAgentRequired.description": "Prieš siųsdami raginimą, pasirinkite agentą ir modelį.", + "prompt.toast.worktreeCreateFailed.title": "Nepavyko sukurti darbo medžio", + "prompt.toast.sessionCreateFailed.title": "Nepavyko sukurti seanso", + "prompt.toast.shellSendFailed.title": "Nepavyko išsiųsti apvalkalo komandos", + "prompt.toast.commandSendFailed.title": "Nepavyko išsiųsti komandos", + "prompt.toast.promptSendFailed.title": "Nepavyko išsiųsti raginimo", + "prompt.toast.promptSendFailed.description": "Nepavyko nuskaityti seanso", + "dialog.mcp.title": "MCPs", + "dialog.mcp.description": "Įjungtas {{enabled}} arba {{total}}", + "dialog.mcp.empty": "MCP nesukonfigūruota", + "dialog.lsp.empty": "LSP automatiškai aptinkami pagal failų tipus", + "dialog.plugins.empty": "Papildiniai sukonfigūruoti opencode.json", + "mcp.status.connected": "prijungtas", + "mcp.status.failed": "nepavyko", + "mcp.status.needs_auth": "reikia autentifikavimo", + "mcp.status.disabled": "neįgalus", + "mcp.auth.clickToAuthenticate": "Spustelėkite, kad patvirtintumėte", + "dialog.fork.empty": "Nėra pranešimų, iš kurių būtų galima išsišakoti", + "dialog.directory.search.placeholder": "Ieškokite aplankų", + "dialog.directory.empty": "Aplankų nerasta", + "dialog.directory.action.selectFile": "Pasirinkite failą", + "dialog.directory.action.selectFolder": "Pasirinkite aplanką", + "dialog.directory.root": "Šaknis", + "dialog.directory.parent": "Tėvas", + "dialog.directory.readError": "Nepavyko perskaityti šio aplanko", + "app.server.unreachable": "Nepavyko pasiekti {{server}}", + "app.server.retrying": "Automatiškai bandoma iš naujo...", + "app.server.otherServers": "Kiti serveriai", + "dialog.server.title": "Serveriai", + "dialog.server.description": "Perjunkite, prie kurio OpenCode serverio jungiasi ši programa.", + "dialog.server.search.placeholder": "Paieškos serveriai", + "dialog.server.empty": "Serverių dar nėra", + "dialog.server.add.title": "Pridėti serverį", + "dialog.server.add.url": "Serverio adresas", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "Nepavyko prisijungti prie serverio", + "dialog.server.add.checking": "Tikrinama...", + "dialog.server.add.button": "Pridėti serverį", + "dialog.server.add.name": "Serverio pavadinimas (neprivaloma)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "Vartotojo vardas (neprivaloma)", + "dialog.server.add.usernamePlaceholder": "vartotojo vardas", + "dialog.server.add.password": "Slaptažodis (neprivaloma)", + "dialog.server.add.passwordPlaceholder": "slaptažodis", + "dialog.server.edit.title": "Redaguoti serverį", + "dialog.server.default.title": "Numatytasis serveris", + "dialog.server.default.description": + "Prisijunkite prie šio serverio paleidę programą, o ne paleiskite vietinį serverį. Reikia paleisti iš naujo.", + "dialog.server.default.none": "Nepasirinktas serveris", + "dialog.server.default.set": "Nustatyti dabartinį serverį kaip numatytąjį", + "dialog.server.default.clear": "Aišku", + "dialog.server.action.remove": "Pašalinti serverį", + "dialog.server.menu.edit": "Redaguoti", + "dialog.server.menu.default": "Nustatyti kaip numatytąjį", + "dialog.server.menu.defaultRemove": "Pašalinti numatytąjį", + "dialog.server.menu.delete": "Ištrinti", + "dialog.server.current": "Dabartinis serveris", + "dialog.server.status.default": "Numatytoji", + "wsl.server.add": "Pridėti WSL serverį", + "wsl.server.addShort": "Pridėkite WSL", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "WSL serveris", + "wsl.server.retryStart": "Pabandykite pradėti iš naujo", + "wsl.server.updating": "Atnaujinama...", + "wsl.onboarding.step.distro": "Pasirinkite distro", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "Tikrinama WSL...", + "wsl.onboarding.restartRequired": "Windows reikia paleisti iš naujo, kad būtų baigtas WSL diegimas.", + "wsl.onboarding.ready": "WSL yra paruoštas.", + "wsl.onboarding.required": "Norint tęsti, reikia WSL.", + "wsl.onboarding.checkingDistros": "Tikrinamos distribucijos...", + "wsl.onboarding.installingDistro": "Diegimas {{distro}}...", + "wsl.onboarding.checkingDistro": "Tikrinama {{distro}}...", + "wsl.onboarding.listingDistros": "Sąrašas platinimo...", + "wsl.onboarding.distroReady": "{{distro}} yra paruoštas.", + "wsl.onboarding.distroNotInstalled": "{{distro}} dar neįdiegtas.", + "wsl.onboarding.openDistroOnce": "Atidarykite {{distro}} vieną kartą, kad užbaigtumėte sąranką.", + "wsl.onboarding.finishingDistro": "{{distro}} apdailos sąranka.", + "wsl.onboarding.pickDistro": "Pasirinkite platinimą arba įdiekite jį žemiau.", + "wsl.onboarding.checkingOpencode": "Tikrinama OpenCode...", + "wsl.onboarding.checkingOpencodeIn": "Tikrinama OpenCode {{distro}}...", + "wsl.onboarding.updatingOpencode": "Atnaujinamas OpenCode...", + "wsl.onboarding.updatingOpencodeIn": "Atnaujinamas OpenCode {{distro}}...", + "wsl.onboarding.updateOpencodeIn": "Atnaujinkite OpenCode {{distro}}.", + "wsl.onboarding.updateOpencode": "Atnaujinkite OpenCode", + "wsl.onboarding.opencodeReadyIn": "OpenCode yra paruoštas {{distro}}.", + "wsl.onboarding.opencodeReady": "OpenCode yra paruoštas.", + "wsl.onboarding.installOpencodeIn": "Įdiekite OpenCode į {{distro}}.", + "wsl.onboarding.installOpencode": "Įdiekite OpenCode", + "wsl.onboarding.chooseDistroFirst": "Pirmiausia pasirinkite distribuciją.", + "wsl.onboarding.loadFailed": "Nepavyko įkelti WSL būsenos.", + "wsl.onboarding.loading": "Įkeliama...", + "wsl.onboarding.installedDistros": "Įdiegtos distribucijos", + "wsl.onboarding.checkAgain": "Patikrinkite dar kartą", + "wsl.onboarding.distroStatus.ready": "Paruošta", + "wsl.onboarding.distroStatus.checking": "Tikrinama...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode neįdiegtas", + "wsl.onboarding.distroStatus.missingTools": "Trūksta bash, curl", + "wsl.onboarding.distroStatus.unsupported": "Nepalaikoma · Naudokite WSL 2", + "wsl.onboarding.needAnotherDistro": "Reikia kito platinimo?", + "wsl.onboarding.needAnotherDistroHint": "Įdiekite Linux paskirstymą iš WSL katalogo", + "wsl.onboarding.wslNotInstalled.title": "WSL neįdiegtas", + "wsl.onboarding.wslNotInstalled.description": + "Kad OpenCode galėtų pridėti WSL serverį, reikalingas WSL (Windows posistemis, skirtas Linux)", + "wsl.onboarding.wslUnavailable.title": "WSL nepasiekiamas", + "wsl.onboarding.wslUnavailable.description": "OpenCode nepavyko patikrinti WSL šiame įrenginyje.", + "wsl.onboarding.installWsl": "Įdiekite WSL", + "wsl.onboarding.windowsRestartRequired": + "Iš naujo paleiskite Windows, kad užbaigtumėte WSL diegimą, tada iš naujo atidarykite OpenCode.", + "wsl.onboarding.next": "Kitas", + "wsl.onboarding.refresh": "Atnaujinti", + "wsl.onboarding.allDistrosAdded": "Visos įdiegtos distribucijos jau pridėtos.", + "wsl.onboarding.noDistros": "Dar neaptikta jokių paskirstymų.", + "wsl.onboarding.install": "Įdiegti", + "wsl.onboarding.installing": "Diegiama...", + "wsl.onboarding.installDistro": "Įdiekite distro", + "wsl.onboarding.searchDistros": "Ieškoti paskirstymų", + "wsl.onboarding.wsl2Required": "Reikalingas WSL 2.", + "wsl.onboarding.toolsRequired": "Šiam platinimui reikia bash ir curl.", + "wsl.onboarding.openTerminal": "Atidarykite terminalą", + "wsl.onboarding.path": "Kelias: {{path}}", + "wsl.onboarding.notFound": "nerasta", + "wsl.onboarding.version": "Versija: {{version}}", + "wsl.onboarding.unknown": "nežinomas", + "wsl.onboarding.desktopVersion": "darbalaukis {{version}}", + "wsl.onboarding.versionMismatch": "Įdiegta versija neatitinka darbalaukio programos versijos.", + "wsl.onboarding.adding": "Pridedama...", + "help.tabs.toast.ariaLabel": "Pristatome Tab. Tvarkykite savo darbą ir aktyvias sesijas naudodami skirtukus", + "help.tabs.toast.dismiss": "Atsisakyti Tabs informacijos", + "help.tabs.title": "Pristatome Tab", + "help.tabs.description": "Tvarkykite savo darbą ir aktyvias sesijas naudodami skirtukus", + "help.tabs.date": "liepos 14 d", + "help.tabs.introduction": "OpenCode Desktop dabar sukurtas iš skirtukų.", + "help.tabs.sessions": + "Pradėkite naują seansą skirtuke arba atidarykite esamą seansą iš bet kurio savo projekto. Atidarykite naują skirtuką, kai pradedate ką nors naujo, ir uždarykite, kai baigsite.", + "help.tabs.organize": + "Jei atidarysite kelis skirtukus, bus lengviau organizuoti aktyvias sesijas. Pervardykite skirtukus į kažką įsimintino, jei planuojate juos palikti.", + "help.tabs.home": + "Visas savo sesijas ir projektus rasite naujajame Home ekrane. Pasirinkus sesiją, ji atidaroma skirtuke.", + "help.tabs.persistence": "Kai iš naujo atidarote programą, skirtukai vis dar yra atidaryti.", + "help.tabs.worktrees": + "Naujasis dizainas dar nepalaiko Git Worktrees, jis pasirodys netrukus. Taigi, jei norite ir toliau naudoti ankstesnį išdėstymą, galite perjungti išdėstymus nustatymuose. Tiesiog nepamirškite, kad naujasis išdėstymas taps nuolatinis po kelių savaičių.", + "server.row.noUsername": "jokio vartotojo vardo", + "dialog.project.edit.title": "Redaguoti projektą", + "dialog.project.edit.name": "Vardas", + "dialog.project.edit.icon": "Piktograma", + "dialog.project.edit.icon.alt": "Projekto piktograma", + "dialog.project.edit.icon.hint": "Spustelėkite arba vilkite vaizdą", + "dialog.project.edit.icon.recommended": "Rekomenduojama: 128x128px", + "dialog.project.edit.color": "Spalva", + "dialog.project.edit.color.select": "Pasirinkite {{color}} spalvą", + "dialog.project.edit.worktree.startup": "Darbo srities paleidimo scenarijus", + "dialog.project.edit.worktree.startup.description": "Veikia sukūrus naują darbo sritį (darbo medį).", + "dialog.project.edit.worktree.startup.placeholder": "pvz. bandelė įdiegti", + "dialog.releaseNotes.action.getStarted": "Pradėkite", + "dialog.releaseNotes.action.next": "Kitas", + "dialog.releaseNotes.action.hideFuture": "Nerodykite šių dalykų ateityje", + "dialog.releaseNotes.media.alt": "Išleidimo peržiūra", + "context.breakdown.title": "Konteksto suskirstymas", + "context.breakdown.note": + "Apytikslis įvesties prieigos raktų suskirstymas. „Kita“ apima įrankių apibrėžimus ir pridėtines išlaidas.", + "context.breakdown.system": "Sistema", + "context.breakdown.user": "Vartotojas", + "context.breakdown.assistant": "Padėjėjas", + "context.breakdown.tool": "Įrankio skambučiai", + "context.breakdown.other": "Kita", + "context.systemPrompt.title": "Sistemos raginimas", + "context.rawMessages.title": "Neapdoroti pranešimai", + "context.export.session": "Eksportuoti seansą", + "context.stats.session": "Seansas", + "context.stats.messages": "Žinutės", + "context.stats.provider": "Teikėjas", + "context.stats.model": "Modelis", + "context.stats.limit": "Konteksto riba", + "context.stats.totalTokens": "Iš viso žetonų", + "context.stats.usage": "Naudojimas", + "context.stats.inputTokens": "Įvesties žetonai", + "context.stats.outputTokens": "Išvesties žetonai", + "context.stats.reasoningTokens": "Samprotavimo ženklai", + "context.stats.cacheTokens": "Talpyklos prieigos raktai (skaityti / rašyti)", + "context.stats.userMessages": "Vartotojo pranešimai", + "context.stats.assistantMessages": "Asistento pranešimai", + "context.stats.totalCost": "Bendra kaina", + "context.stats.sessionCreated": "Seansas sukurtas", + "context.stats.lastActivity": "Paskutinė veikla", + "context.usage.tokens": "Žetonai", + "context.usage.usage": "Naudojimas", + "context.usage.cost": "Kaina", + "context.usage.clickToView": "Spustelėkite norėdami pamatyti kontekstą", + "context.usage.view": "Peržiūrėkite kontekstinį naudojimą", + "language.en": "anglų kalba", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Deutsch", + "language.es": "Español", + "language.fr": "Français", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "Polski", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Norsk", + "language.br": "portugalų k. (Brazilija)", + "language.bs": "Bosanskis", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Turkçe", + "toast.language.title": "Kalba", + "toast.language.description": "Perjungta į {{language}}", + "toast.theme.title": "Tema perjungta", + "toast.scheme.title": "Spalvų schema", + "toast.workspace.enabled.title": "Darbo sritys įjungtos", + "toast.workspace.enabled.description": "Dabar šoninėje juostoje rodomi keli darbo medžiai", + "toast.workspace.disabled.title": "Darbo vietos išjungtos", + "toast.workspace.disabled.description": "Šoninėje juostoje rodomas tik pagrindinis darbo medis", + "toast.permissions.autoaccept.on.title": "Automatinis leidimų priėmimas", + "toast.permissions.autoaccept.on.description": "Leidimų prašymai bus patvirtinti automatiškai", + "toast.permissions.autoaccept.off.title": "Sustabdė automatinį leidimų priėmimą", + "toast.permissions.autoaccept.off.description": "Reikės patvirtinti leidimo prašymus", + "toast.model.none.title": "Nepasirinktas joks modelis", + "toast.model.none.description": "Prisijunkite prie teikėjo, kad apibendrintumėte šią sesiją", + "toast.file.loadFailed.title": "Nepavyko įkelti failo", + "toast.file.listFailed.title": "Nepavyko įtraukti failų sąrašo", + "toast.context.noLineSelection.title": "Nėra linijos pasirinkimo", + "toast.context.noLineSelection.description": "Pirmiausia failo skirtuke pasirinkite eilučių diapazoną.", + "toast.session.share.copyFailed.title": "Nepavyko nukopijuoti URL į mainų sritį", + "toast.session.share.success.title": "Seansas bendrinamas", + "toast.session.share.success.description": "Dalintis URL nukopijuotas į iškarpinę!", + "toast.session.share.failed.title": "Nepavyko bendrinti seanso", + "toast.session.share.failed.description": "Bendrinant seansą įvyko klaida", + "toast.session.unshare.success.title": "Seanso bendrinimas atšauktas", + "toast.session.unshare.success.description": "Seanso bendrinimas sėkmingai atšauktas!", + "toast.session.unshare.failed.title": "Nepavyko atšaukti seanso bendrinimo", + "toast.session.unshare.failed.description": "Atšaukiant seanso bendrinimą įvyko klaida", + "toast.session.export.success.title": "Seansas eksportuotas", + "toast.session.export.success.description": "Seansas išsaugotas {{filename}}", + "toast.session.export.failed.title": "Nepavyko eksportuoti seanso", + "toast.session.export.failed.description": "Eksportuojant seansą įvyko klaida", + "toast.session.listFailed.title": "Nepavyko įkelti seansų, skirtų {{project}}", + "toast.project.reloadFailed.title": "Nepavyko iš naujo įkelti {{project}}", + "toast.update.title": "Galimas atnaujinimas", + "toast.update.description": "Dabar galima įdiegti naują OpenCode ({{version}}) versiją.", + "toast.update.action.installRestart": "Įdiekite ir paleiskite iš naujo", + "toast.update.action.notYet": "Dar ne", + "error.page.title": "Kažkas nutiko", + "error.page.description": "Įkeliant programą įvyko klaida.", + "error.page.description.localServerStartup": "Paleidžiant vietinį serverį įvyko klaida.", + "error.page.details.label": "Išsami informacija apie klaidą", + "error.page.action.restart": "Paleisti iš naujo", + "error.page.action.report": "Pranešti apie klaidą", + "error.page.action.reported": "Pranešta apie klaidą", + "error.page.action.exportLogs": "Eksportuoti žurnalus", + "error.page.action.checking": "Tikrinama...", + "error.page.action.checkUpdates": "Patikrinkite, ar nėra atnaujinimų", + "error.page.action.updateTo": "Atnaujinkite į {{version}}", + "error.page.circular": "[Aplinkraštis]", + "error.page.report.prefix": "Praneškite apie šią klaidą OpenCode komandai", + "error.page.report.discord": "ant Discord", + "error.page.version": "Versija: {{version}}", + "error.dev.rootNotFound": + "Šakninis elementas nerastas. Ar pamiršote jį įtraukti į index.html? O gal id atributas buvo neteisingai parašytas?", + "error.serverSync.connectFailed": "Nepavyko prisijungti prie serverio. Ar `{{url}}` veikia serveris?", + "error.serverSDK.noServerAvailable": "Nėra serverio", + "error.serverSDK.serverNotAvailable": "Serveris nepasiekiamas", + "error.childStore.persistedCacheCreateFailed": "Nepavyko sukurti nuolatinės talpyklos", + "error.childStore.persistedProjectMetadataCreateFailed": "Nepavyko sukurti išliekančių projekto metaduomenų", + "error.childStore.persistedProjectIconCreateFailed": "Nepavyko sukurti išliekančio projekto piktogramos", + "error.childStore.storeCreateFailed": "Nepavyko sukurti parduotuvės", + "directory.error.invalidUrl": "Neteisingas katalogas URL.", + "error.chain.unknown": "Nežinoma klaida", + "error.server.invalidConfiguration": "Netinkama konfigūracija", + "error.chain.causedBy": "Sukėlė:", + "error.chain.apiError": "API klaida", + "error.chain.status": "Būsena: {{status}}", + "error.chain.retryable": "Galima pakartotinai: {{retryable}}", + "error.chain.responseBody": "Atsakymo turinys:\n{{body}}", + "error.chain.didYouMean": "Ar turėjote omenyje: {{suggestions}}", + "error.chain.modelNotFound": "Modelis nerastas: {{provider}}/{{model}}", + "error.chain.checkConfig": "Patikrinkite konfigūracijos (opencode.json) teikėjo / modelio pavadinimus", + "error.chain.mcpFailed": + "MCP serveris „{{name}}“ nepavyko. Atminkite, kad OpenCode dar nepalaiko MCP autentifikavimo.", + "error.chain.providerAuthFailed": "Teikėjo autentifikavimas nepavyko ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + "Nepavyko inicijuoti teikėjo „{{provider}}“. Patikrinkite kredencialus ir konfigūraciją.", + "error.chain.configJsonInvalid": "{{path}} konfigūracijos failas negalioja JSON(C)", + "error.chain.configJsonInvalidWithMessage": "{{path}} konfigūracijos failas negalioja JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + "Katalogas „{{dir}}“, esantis {{path}}, negalioja. Pervardykite katalogą į „{{suggestion}}“ arba pašalinkite jį. Tai dažna rašybos klaida.", + "error.chain.configFrontmatterError": "Nepavyko išanalizuoti frontmatter {{path}}:\n{{message}}", + "error.chain.configInvalid": "Konfigūracijos failas {{path}} yra neteisingas", + "error.chain.configInvalidWithMessage": "Konfigūracijos failas, esantis {{path}}, yra neteisingas: {{message}}", + "notification.permission.title": "Reikalingas leidimas", + "notification.permission.description": "{{sessionTitle}} {{projectName}} reikia leidimo", + "notification.question.title": "Klausimas", + "notification.question.description": "{{sessionTitle}} {{projectName}} turi klausimą", + "notification.action.goToSession": "Eiti į sesiją", + "notification.session.responseReady.title": "Atsakymas paruoštas", + "notification.session.error.title": "Seanso klaida", + "notification.session.error.fallbackDescription": "Įvyko klaida", + "home.recentProjects": "Naujausi projektai", + "home.empty.title": "Nėra naujausių projektų", + "home.empty.description": "Pradėkite atidarydami vietinį projektą", + "home.title": "Pagrindinis", + "home.projects": "Projektai", + "home.project.add": "Pridėti projektą", + "home.recentlyClosed": "Neseniai uždaryta", + "home.server.collapse": "Sutraukti serverio projektus", + "home.server.expand": "Išplėsti serverio projektus", + "home.sessions.search.placeholder": "Paieškos seansai", + "home.sessions.search.placeholder.scoped": "Ieškoti seansų {{scope}}", + "home.sessions.search.sessions": "Sesijos", + "home.sessions.search.noResults": "Nerasta jokių {{query}} seansų", + "home.sessions.empty": "Čia dar nieko", + "home.sessions.empty.description": "Norėdami pradėti, sukurkite sesiją", + "home.sessions.group.today": "Šiandien", + "home.sessions.group.yesterday": "vakar", + "home.sessions.group.older": "Vyresni", + "home.providerTip": + "Prisijunkite prie 75 ir daugiau tiekėjų, kad galėtumėte naudoti kitus modelius, įskaitant Claude, GPT, Gemini ir kt.", + "session.tab.session": "Seansas", + "session.tab.review": "Apžvalga", + "session.tab.context": "Kontekstas", + "session.tab.unknown": "Nežinomas seansas", + "session.panel.reviewAndFiles": "Apžvalga ir failai", + "session.error.notFound": "Šios sesijos rasti nepavyko", + "session.error.notFound.description": "Šis skirtukas nurodo seansą, kurio šiame serveryje nebėra.", + "session.error.notFound.closeTab": "Uždarykite Tab", + "session.error.serverConnection": "Nepavyksta prisijungti prie šio serverio", + "session.review.filesChanged": "Failai pakeisti {{count}}", + "session.review.change.one": "Keisti", + "session.review.change.other": "Pakeitimai", + "session.review.loadingChanges": "Įkeliami pakeitimai...", + "session.review.empty": "Pakeitimų šioje sesijoje dar nėra", + "session.review.noVcs": "Neaptikta Git versijos valdymo sistema, pakeitimai nerodomi", + "session.review.noVcs.createGit.title": "Sukurkite Git saugyklą", + "session.review.noVcs.createGit.description": "Stebėkite, peržiūrėkite ir anuliuokite šio projekto pakeitimus", + "session.review.noVcs.createGit.actionLoading": "Kuriama Git saugykla...", + "session.review.noVcs.createGit.action": "Sukurkite Git saugyklą", + "session.review.noSnapshot": + "Konfigūracijos metu momentinės nuotraukos stebėjimas išjungtas, todėl seanso pakeitimai nepasiekiami", + "session.review.noChanges": "Jokių pakeitimų", + "session.review.noUncommittedChanges": "Dar nėra nepadarytų pakeitimų", + "session.review.noBranchChanges": "Šakoje pakeitimų dar nėra", + "session.files.selectToOpen": "Pasirinkite failą, kurį norite atidaryti", + "session.files.all": "Visi failai", + "session.files.empty": "Failų nėra", + "session.files.binaryContent": "Dvejetainis failas (turinys negali būti rodomas)", + "session.messages.renderEarlier": "Pateikti ankstesnius pranešimus", + "session.messages.loadingEarlier": "Įkeliami ankstesni pranešimai...", + "session.messages.loadEarlier": "Įkelti ankstesnius pranešimus", + "session.messages.loading": "Įkeliami pranešimai...", + "session.messages.jumpToLatest": "Pereiti prie naujausio", + "session.context.addToContext": "Pridėkite {{selection}} prie konteksto", + "session.todo.title": "Užduotys", + "session.todo.collapse": "Sutraukti", + "session.todo.expand": "Išskleisti", + "session.todo.progress": "{{done}} iš {{total}} todos baigtas", + "session.question.progress": "{{current}} iš {{total}} klausimų", + "session.question.minimize": "Sumažinti klausimą", + "session.question.restore": "Atkurti klausimą", + "session.question.pending.one": "Laukiamas klausimas {{count}}", + "session.question.pending.other": "{{count}} laukiantys klausimai", + "session.question.pending.few": "{{count}} laukiantys klausimai", + "session.question.pending.many": "{{count}} laukiamo klausimo", + "session.followupDock.summary.one": "{{count}} eilėje esantis pranešimas", + "session.followupDock.summary.other": "{{count}} eilėje esantys pranešimai", + "session.followupDock.summary.few": "{{count}} eilėje esantys pranešimai", + "session.followupDock.summary.many": "{{count}} eilėje esančio pranešimo", + "session.followupDock.sendNow": "Siųsti dabar", + "session.followupDock.edit": "Redaguoti", + "session.followupDock.collapse": "Sutraukti eilėje esančius pranešimus", + "session.followupDock.expand": "Išplėskite eilėje esančius pranešimus", + "session.revertDock.summary.one": "{{count}} atšauktas pranešimas", + "session.revertDock.summary.other": "{{count}} atšaukti pranešimai", + "session.revertDock.summary.few": "{{count}} atšaukti pranešimai", + "session.revertDock.summary.many": "{{count}} atšaukto pranešimo", + "session.revertDock.collapse": "Sutraukti atšauktus pranešimus", + "session.revertDock.expand": "Išplėskite atšauktus pranešimus", + "session.revertDock.restore": "Atkurti pranešimą", + "session.new.title": "Statyti bet ką", + "session.new.project.new": "Naujas projektas", + "session.new.project.search": "Ieškoti projektų", + "session.new.project.add": "Pridėti projektą", + "session.new.worktree.main": "Pagrindinė šaka", + "session.new.worktree.mainWithBranch": "Pagrindinė šaka ({{branch}})", + "session.new.worktree.create": "Sukurti naują darbo medį", + "session.new.workspace.runIn": "Vykdykite sesiją", + "session.new.workspace.triggerLocal": "Vietinis", + "session.new.workspace.local": "Vietinė saugykla", + "session.new.workspace.existing": "Darbo sritis…", + "session.new.git.none": "Nėra Git", + "session.new.lastModified": "Paskutinis modifikuotas", + "session.header.search.placeholder": "Ieškoti {{project}}", + "session.header.searchFiles": "Ieškokite failų", + "session.header.openIn": "Atidaryti", + "session.header.open.action": "Atidarykite {{app}}", + "session.header.open.ariaLabel": "Atidaryti {{app}}", + "session.header.open.menu": "Atidarykite parinktis", + "session.header.open.copyPath": "Kopijuoti kelią", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "File Explorer", + "session.header.open.fileManager": "Failų tvarkytuvė", + "session.header.reveal.finder": "Atskleiskite Finder", + "session.header.reveal.fileExplorer": "Atskleiskite File Explorer", + "session.header.reveal.containingFolder": "Atidarykite aplanką, kuriame yra", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Terminalas", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "Būsena", + "status.popover.ariaLabel": "Serverio konfigūracijos", + "status.popover.tab.servers": "Serveriai", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "Papildiniai", + "status.popover.action.manageServers": "Tvarkyti serverius", + "session.share.popover.title": "Paskelbti internete", + "session.share.popover.description.shared": "Ši sesija yra vieša internete. Ją gali pasiekti visi, turintys nuorodą.", + "session.share.popover.description.unshared": + "Bendrinkite sesiją viešai žiniatinklyje. Ją galės pasiekti visi, turintys nuorodą.", + "session.share.action.share": "Dalintis", + "session.share.action.publish": "Paskelbti", + "session.share.action.publishing": "Skelbiama...", + "session.share.action.unpublish": "Atšaukti paskelbimą", + "session.share.action.unpublishing": "Atšaukiamas paskelbimas...", + "session.share.action.view": "Rodinys", + "session.share.copy.copied": "Nukopijuota", + "session.share.copy.copyLink": "Nukopijuoti nuorodą", + "lsp.tooltip.none": "Nėra LSP serverių", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "Įkeliamas raginimas...", + "terminal.loading": "Įkeliamas terminalas...", + "terminal.title": "Terminalas", + "terminal.title.numbered": "Terminalas {{number}}", + "terminal.close": "Uždarykite terminalą", + "terminal.connectionLost.title": "Ryšys nutrūko", + "terminal.connectionLost.abnormalClose": "WebSocket neįprastai uždarytas: {{code}}", + "terminal.connectionLost.description": + "Terminalo ryšys nutrūko. Tai gali atsitikti, kai serveris paleidžiamas iš naujo.", + "terminal.connectTicket.csrfError": + "PTY prijungimo bilietas atmestas dėl kilmės arba CSRF patikrinimų. Patikrinkite serverio CORS konfigūraciją.", + "terminal.connectTicket.statusError": "PTY prisijungimo bilietas nepavyko naudojant {{status}}", + "titlebar.update": "Atnaujinti", + "titlebar.updateVersion": "Atnaujinkite {{version}}", + "common.closeTab": "Uždaryti skirtuką", + "common.dismiss": "Atsisakyti", + "common.moreCountSuffix": "(+{{count}} daugiau)", + "common.requestFailed": "Užklausa nepavyko", + "common.moreOptions": "Daugiau parinkčių", + "common.learnMore": "Sužinokite daugiau", + "common.rename": "Pervardyti", + "common.export": "Eksportuoti", + "common.reset": "Nustatyti iš naujo", + "common.archive": "Archyvas", + "common.delete": "Ištrinti", + "common.close": "Uždaryti", + "common.edit": "Redaguoti", + "common.loadMore": "Įkelti daugiau", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Ištrinti", + "common.key.home": "Pagrindinis", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Įterpti", + "common.unknown": "nežinomas", + "common.time.justNow": "Tik dabar", + "common.time.minutesAgo.short": "Prieš {{count}}m", + "common.time.hoursAgo.short": "Prieš {{count}}h", + "common.time.daysAgo.short": "Prieš {{count}}d", + "sidebar.menu.toggle": "Perjungti meniu", + "sidebar.nav.projectsAndSessions": "Projektai ir užsiėmimai", + "sidebar.settings": "Nustatymai", + "sidebar.help": "Pagalba", + "sidebar.workspaces.enable": "Įgalinti darbo sritis", + "sidebar.workspaces.disable": "Išjungti darbo sritis", + "sidebar.gettingStarted.title": "Darbo pradžia", + "sidebar.gettingStarted.line1": "OpenCode apima nemokamus modelius, todėl galite pradėti iš karto.", + "sidebar.gettingStarted.line2": + "Prijunkite bet kurį teikėją, kad galėtumėte naudoti modelius, įskaitant. Claude, GPT, Gemini ir kt.", + "sidebar.project.recentSessions": "Naujausi seansai", + "sidebar.project.viewAllSessions": "Peržiūrėkite visas sesijas", + "sidebar.project.clearNotifications": "Išvalyti pranešimus", + "sidebar.empty.title": "Jokių atvirų projektų", + "sidebar.empty.description": "Norėdami pradėti, atidarykite projektą", + "debugBar.ariaLabel": "Vystymosi veiklos diagnostika", + "debugBar.na": "n/a", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "Paskutinis baigtas maršruto perėjimas, liečiant seanso puslapį, matuojant nuo maršrutizatoriaus pradžios iki pirmojo dažymo po to, kai jis nusistovi.", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "Slenkantys kadrai per sekundę per paskutines 5 sekundes.", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "Blogiausias kadro laikas per paskutines 5 sekundes.", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "Kadrai daugiau nei 32 ms per paskutines 5 sekundes.", + "debugBar.long.label": "LONG", + "debugBar.long.tip": + "Užblokuotas laikas ir ilgų užduočių skaičius per paskutines 5 sekundes. Maksimali užduotis: {{max}}.", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "Blogiausias pastebėtas įvesties delsimas per paskutines 5 sekundes.", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": + "Apytikslė sąveikos trukmė per paskutines 5 sekundes. Tai panašu į INP, o ne į oficialų „Web Vitals INP“.", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "Suminis išdėstymo poslinkis dabartiniam programos veikimo laikui.", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "Naudota JS krūva ir krūvos riba. Tik Chromium.", + "debugBar.mem.tip": "Naudota JS krūva ir krūvos riba. {{used}} arba {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Priverskite fokusuoti visus interaktyvius elementus", + "debugBar.focus.on": "ON", + "debugBar.focus.off": "OFF", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Priverskite visą programos išdėstymo kryptį nekeisdami pasirinktos kalbos", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode darbalaukis", + "settings.section.desktop": "Darbalaukis", + "settings.section.server": "Serveris", + "settings.tab.general": "Bendra", + "settings.tab.shortcuts": "Spartieji klavišai", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "WSL integracija", + "settings.desktop.wsl.description": "Paleiskite OpenCode serverį WSL viduje Windows.", + "settings.general.section.appearance": "Išvaizda", + "settings.general.section.advanced": "Išplėstinė", + "settings.general.section.notifications": "Sistemos pranešimai", + "settings.general.section.updates": "Atnaujinimai", + "settings.general.section.sounds": "Garso efektai", + "settings.general.section.feed": "Pašaras", + "settings.general.section.display": "Ekranas", + "settings.general.row.language.title": "Kalba", + "settings.general.row.language.description": "Pakeiskite OpenCode ekrano kalbą", + "settings.general.row.shell.title": "Terminalo apvalkalas", + "settings.general.row.shell.description": "Terminalo ir agento įrankių naudojamas apvalkalas", + "settings.general.row.shell.autoDefault": "Automatinis (numatytasis)", + "settings.general.row.shell.terminalOnly": "tik terminalas", + "settings.general.row.appearance.title": "Išvaizda", + "settings.general.row.appearance.description": "Tinkinkite, kaip OpenCode atrodo jūsų įrenginyje", + "settings.general.row.colorScheme.title": "Spalvų schema", + "settings.general.row.colorScheme.description": "Pasirinkite, ar OpenCode seka sistemos, šviesios ar tamsios temos", + "settings.general.row.theme.title": "tema", + "settings.general.row.theme.description": "Tinkinkite OpenCode temą.", + "settings.general.row.font.title": "Kodo šriftas", + "settings.general.row.font.description": "Tinkinkite kodo blokuose naudojamą šriftą", + "settings.general.row.terminalFont.title": "Šriftas Terminal", + "settings.general.row.terminalFont.description": "Tinkinkite terminale naudojamą šriftą", + "settings.general.row.uiFont.title": "UI šriftas", + "settings.general.row.uiFont.description": "Tinkinkite visoje sąsajoje naudojamą šriftą", + "settings.general.row.followup.title": "Tolesnis elgesys", + "settings.general.row.followup.description": + "Pasirinkite, ar tolesni raginimai bus nukreipti nedelsiant, ar laukti eilėje", + "settings.general.row.followup.option.queue": "Eilė", + "settings.general.row.followup.option.steer": "Vairuoti", + "settings.general.row.showFileTree.title": "Failų medis", + "settings.general.row.showFileTree.description": "Rodyti failų medžio skydelį seansuose", + "settings.general.row.showNavigation.title": "Navigacijos valdikliai", + "settings.general.row.showNavigation.description": "Rodyti mygtukus atgal ir pirmyn darbalaukio pavadinimo juostoje", + "settings.general.row.showSearch.title": "Komandų paletė", + "settings.general.row.showSearch.description": "Rodyti paieškos ir komandų paletės mygtuką pavadinimo juostoje", + "settings.general.row.showTerminal.title": "Terminalas", + "settings.general.row.showTerminal.description": "Rodyti terminalo mygtuką darbalaukio pavadinimo juostoje", + "settings.general.row.showStatus.title": "Serverio būsena", + "settings.general.row.showStatus.description": "Rodyti serverio būsenos mygtuką pavadinimo juostoje", + "settings.general.row.mobileTitlebarBottom.title": "Apatinė navigacija", + "settings.general.row.mobileTitlebarBottom.description": + "Įdėkite pavadinimo juostą ir seanso skirtukus mobiliojo telefono ekrano apačioje", + "settings.general.row.showCustomAgents.title": "Rodyti agentą", + "settings.general.row.showCustomAgents.description": + "Perjunkite tarp kompozitoriaus agentų. Kai paslėpta, numatytasis kūrimo agentas.", + "settings.general.row.reasoningSummaries.title": "Rodyti samprotavimų santraukas", + "settings.general.row.reasoningSummaries.description": "Rodyti modelio motyvų santraukas laiko juostoje", + "settings.general.row.shellToolPartsExpanded.title": "Išskleiskite apvalkalo įrankių dalis", + "settings.general.row.shellToolPartsExpanded.description": + "Rodyti pagal numatytuosius nustatymus išplėstas apvalkalo įrankio dalis laiko juostoje", + "settings.general.row.editToolPartsExpanded.title": "Išplėskite redagavimo įrankio dalis", + "settings.general.row.editToolPartsExpanded.description": + "Rodyti pagal numatytuosius nustatymus laiko juostoje išplėstas redagavimo, rašymo ir pataisymo įrankio dalis", + "settings.general.row.newInterface.title": "Naujas išdėstymas", + "settings.general.row.newInterface.badge": "Nauja", + "settings.general.row.newInterface.description": + "Naudokite naujus skirtukus ir pagrindinio puslapio išdėstymą. Perjungti išdėstymą ribotą laiką.", + "settings.general.row.newInterfaceNotice.title": "Dabar naudojate naują išdėstymą", + "settings.general.row.newInterfaceNotice.description": "Ankstesnis išdėstymas nebepasiekiamas", + "settings.general.row.newInterfaceNotice.dismiss": "Atsisakyti", + "settings.general.row.pinchZoom.title": "Suimkite, kad padidintumėte mastelį", + "settings.general.row.pinchZoom.description": "Leiskite priartinti valdiklį ir Ctrl slinkimo gestus", + "settings.general.row.wayland.title": "Naudokite vietinį Wayland", + "settings.general.row.wayland.description": "Išjungti atsarginį X11 Wayland. Reikia paleisti iš naujo.", + "settings.general.row.wayland.tooltip": + "Linux su mišraus atnaujinimo dažnio monitoriais vietinis Wayland gali būti stabilesnis.", + "settings.general.row.releaseNotes.title": "Išleidimo pastabos", + "settings.general.row.releaseNotes.description": "Po atnaujinimų rodyti iššokančius langus „Kas naujo“.", + "settings.updates.row.startup.title": "Patikrinkite, ar nėra naujinimų paleidžiant", + "settings.updates.row.startup.description": "Automatiškai patikrinkite, ar nėra naujinimų, kai paleidžiamas OpenCode", + "settings.updates.row.check.title": "Patikrinkite, ar nėra atnaujinimų", + "settings.updates.row.check.description": "Rankiniu būdu patikrinkite, ar nėra naujinimų, ir įdiekite, jei yra", + "settings.updates.action.checkNow": "Patikrinkite dabar", + "settings.updates.action.checking": "Tikrinama...", + "settings.updates.action.downloading": "Atsisiunčiama...", + "settings.updates.action.installing": "Diegiama...", + "settings.updates.toast.latest.title": "Jūs esate atnaujintas", + "settings.updates.toast.latest.description": "Naudojate naujausią OpenCode versiją.", + "sound.option.none": "Nėra", + "sound.option.alert01": "Įspėjimas 01", + "sound.option.alert02": "Įspėjimas 02", + "sound.option.alert03": "Įspėjimas 03", + "sound.option.alert04": "Įspėjimas 04", + "sound.option.alert05": "Įspėjimas 05", + "sound.option.alert06": "Įspėjimas 06", + "sound.option.alert07": "Įspėjimas 07", + "sound.option.alert08": "Įspėjimas 08", + "sound.option.alert09": "Įspėjimas 09", + "sound.option.alert10": "Įspėjimas 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "Ne 01", + "sound.option.nope02": "Ne 02", + "sound.option.nope03": "Ne 03", + "sound.option.nope04": "Ne 04", + "sound.option.nope05": "Ne 05", + "sound.option.nope06": "Ne 06", + "sound.option.nope07": "Ne 07", + "sound.option.nope08": "Ne 08", + "sound.option.nope09": "Ne 09", + "sound.option.nope10": "Ne 10", + "sound.option.nope11": "Ne 11", + "sound.option.nope12": "Ne 12", + "sound.option.yup01": "Taip 01", + "sound.option.yup02": "Taip 02", + "sound.option.yup03": "Taip 03", + "sound.option.yup04": "Taip 04", + "sound.option.yup05": "Taip 05", + "sound.option.yup06": "Taip 06", + "settings.general.notifications.agent.title": "Agentas", + "settings.general.notifications.agent.description": + "Rodyti sistemos pranešimą, kai agentas baigtas arba jam reikia dėmesio", + "settings.general.notifications.permissions.title": "Leidimai", + "settings.general.notifications.permissions.description": "Rodyti sistemos pranešimą, kai reikalingas leidimas", + "settings.general.notifications.errors.title": "Klaidos", + "settings.general.notifications.errors.description": "Rodyti sistemos pranešimą, kai įvyksta klaida", + "settings.general.sounds.agent.title": "Agentas", + "settings.general.sounds.agent.description": "Leisti garsą, kai agentas baigtas arba jam reikia dėmesio", + "settings.general.sounds.permissions.title": "Leidimai", + "settings.general.sounds.permissions.description": "Leisti garsą, kai reikia leidimo", + "settings.general.sounds.errors.title": "Klaidos", + "settings.general.sounds.errors.description": "Leisti garsą, kai įvyksta klaida", + "settings.shortcuts.title": "Spartieji klavišai", + "settings.shortcuts.reset.button": "Atstatyti į numatytuosius nustatymus", + "settings.shortcuts.reset.toast.title": "Spartieji klavišai nustatyti iš naujo", + "settings.shortcuts.reset.toast.description": "Spartieji klavišai buvo atkurti į numatytuosius nustatymus.", + "settings.shortcuts.conflict.title": "Spartusis klavišas jau naudojamas", + "settings.shortcuts.conflict.description": "{{keybind}} jau priskirtas {{titles}}.", + "settings.shortcuts.unassigned": "Nepriskirta", + "settings.shortcuts.pressKeys": "Paspauskite klavišus", + "settings.shortcuts.search.placeholder": "Paieškos spartieji klavišai", + "settings.shortcuts.search.empty": "Nerasta jokių sparčiųjų klavišų", + "settings.shortcuts.group.general": "Bendra", + "settings.shortcuts.group.session": "Seansas", + "settings.shortcuts.group.navigation": "Navigacija", + "settings.shortcuts.group.modelAndAgent": "Modelis ir agentas", + "settings.shortcuts.group.terminal": "Terminalas", + "settings.shortcuts.group.prompt": "Užklausa", + "settings.providers.title": "Teikėjai", + "settings.providers.description": "Teikėjo nustatymus bus galima konfigūruoti čia.", + "settings.providers.section.connected": "Prisijungę teikėjai", + "settings.providers.connected.empty": "Nėra prisijungusių teikėjų", + "settings.providers.connected.environmentDescription": "Prisijungta iš jūsų aplinkos kintamųjų", + "settings.providers.section.popular": "Populiarūs tiekėjai", + "settings.providers.custom.description": "Pridėkite su OpenAI suderinamą tiekėją pagal bazinį URL.", + "settings.providers.tag.environment": "Aplinka", + "settings.providers.tag.config": "Konfigūracija", + "settings.providers.tag.custom": "Pasirinktinis", + "settings.providers.tag.other": "Kita", + "settings.models.title": "Modeliai", + "settings.models.description": "Čia bus konfigūruojami modelio nustatymai.", + "settings.agents.title": "Agentai", + "settings.agents.description": "Agento nustatymus bus galima konfigūruoti čia.", + "settings.commands.title": "Komandos", + "settings.commands.description": "Čia bus galima konfigūruoti komandų nustatymus.", + "settings.mcp.title": "MCP", + "settings.mcp.description": "Čia bus galima konfigūruoti MCP nustatymus.", + "settings.permissions.title": "Leidimai", + "settings.permissions.description": + "Valdykite, kokius įrankius serveris gali naudoti pagal numatytuosius nustatymus.", + "settings.permissions.section.tools": "Įrankiai", + "settings.permissions.toast.updateFailed.title": "Nepavyko atnaujinti leidimų", + "settings.permissions.action.allow": "Leisti", + "settings.permissions.action.ask": "Paklausk", + "settings.permissions.action.deny": "Neigti", + "settings.permissions.tool.read.title": "Skaityti", + "settings.permissions.tool.read.description": "Failo skaitymas (atitinka failo kelią)", + "settings.permissions.tool.edit.title": "Redaguoti", + "settings.permissions.tool.edit.description": "Keiskite failus, įskaitant redagavimus, įrašus ir pataisas", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "Suderinkite failus naudodami globos šablonus", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "Ieškokite failo turinio naudodami įprastus posakius", + "settings.permissions.tool.list.title": "Sąrašas", + "settings.permissions.tool.list.description": "Išvardykite failus kataloge", + "settings.permissions.tool.bash.title": "Bash", + "settings.permissions.tool.bash.description": "Vykdykite apvalkalo komandas", + "settings.permissions.tool.task.title": "Užduotis", + "settings.permissions.tool.task.description": "Paleisti antrinius agentus", + "settings.permissions.tool.skill.title": "Įgūdis", + "settings.permissions.tool.skill.description": "Įkelkite įgūdžius pagal pavadinimą", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "Vykdykite kalbos serverio užklausas", + "settings.permissions.tool.todowrite.title": "Todo Rašyti", + "settings.permissions.tool.todowrite.description": "Atnaujinkite darbų sąrašą", + "settings.permissions.tool.webfetch.title": "Web Fetch", + "settings.permissions.tool.webfetch.description": "Gaukite turinį iš URL", + "settings.permissions.tool.websearch.title": "Interneto paieška", + "settings.permissions.tool.websearch.description": "Ieškokite internete", + "settings.permissions.tool.external_directory.title": "Išorinis katalogas", + "settings.permissions.tool.external_directory.description": "Pasiekite failus už projekto katalogo ribų", + "settings.permissions.tool.doom_loop.title": "Doom Loop", + "settings.permissions.tool.doom_loop.description": + "Aptikti pasikartojančius įrankių iškvietimus naudojant identišką įvestį", + "session.delete.failed.title": "Nepavyko ištrinti sesijos", + "session.delete.title": "Ištrinti seansą", + "session.delete.confirm": 'Ištrinti seansą "{{name}}"?', + "session.delete.button": "Ištrinti seansą", + "workspace.new": "Nauja darbo vieta", + "workspace.type.local": "vietinis", + "workspace.type.sandbox": "smėlio dėžė", + "workspace.create.failed.title": "Nepavyko sukurti darbo vietos", + "workspace.delete.failed.title": "Nepavyko ištrinti darbo srities", + "workspace.resetting.title": "Iš naujo nustatoma darbo sritis", + "workspace.resetting.description": "Tai gali užtrukti minutę.", + "workspace.reset.failed.title": "Nepavyko iš naujo nustatyti darbo srities", + "workspace.reset.success.title": "Darbo sritis nustatyta iš naujo", + "workspace.reset.success.description": "Dabar darbo sritis atitinka numatytąją šaką.", + "workspace.error.stillPreparing": "Darbo vieta vis dar ruošiama", + "workspace.status.checking": "Tikrinama, ar nėra nesujungtų pakeitimų...", + "workspace.status.error": "Nepavyko patvirtinti git būsenos.", + "workspace.status.clean": "Neaptikta jokių nesujungtų pakeitimų.", + "workspace.status.dirty": "Šioje darbo srityje aptikti nesujungti pakeitimai.", + "workspace.delete.title": "Ištrinti darbo sritį", + "workspace.delete.confirm": 'Ištrinti darbo sritį "{{name}}"?', + "workspace.delete.button": "Ištrinti darbo sritį", + "workspace.reset.title": "Iš naujo nustatyti darbo sritį", + "workspace.reset.confirm": "Iš naujo nustatyti darbo sritį „{{name}}“?", + "workspace.reset.button": "Iš naujo nustatyti darbo sritį", + "workspace.reset.archived.none": "Jokia aktyvi sesija nebus archyvuojama.", + "workspace.reset.archived.one": "1 sesija bus suarchyvuota.", + "workspace.reset.archived.many": "{{count}} sesijos bus archyvuojamos.", + "workspace.reset.note": "Tai iš naujo nustatys darbo sritį, kad ji atitiktų numatytąją šaką.", + "dialog.usageExceeded.dontShowAgain": "Daugiau nerodyti", +} diff --git a/packages/app/src/i18n/lv.ts b/packages/app/src/i18n/lv.ts new file mode 100644 index 000000000000..df4c5b2dcd91 --- /dev/null +++ b/packages/app/src/i18n/lv.ts @@ -0,0 +1,1162 @@ +export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Fails", + "desktop.menu.edit": "Rediģēt", + "desktop.menu.view": "Skats", + "desktop.menu.go": "Iet", + "desktop.menu.window": "Logs", + "desktop.menu.help": "Palīdzība", + "desktop.menu.checkForUpdates": "Pārbaudīt atjauninājumus...", + "desktop.menu.settings": "Iestatījumi", + "desktop.menu.reloadWebview": "Pārlādēt tīmekļa skatu", + "desktop.menu.restart": "Restartēt", + "desktop.menu.exportLogs": "Eksportēt žurnālus...", + "desktop.menu.newSession": "Jauna sesija", + "desktop.menu.openProject": "Atvērt projektu...", + "desktop.menu.newWindow": "Jauns logs", + "desktop.menu.closeWindow": "Aizvērt logu", + "desktop.menu.undo": "Atsaukt", + "desktop.menu.redo": "Atkārtot", + "desktop.menu.cut": "Izgriezt", + "desktop.menu.copy": "Kopēt", + "desktop.menu.paste": "Ielīmēt", + "desktop.menu.delete": "Dzēst", + "desktop.menu.selectAll": "Atlasīt visu", + "desktop.menu.toggleSidebar": "Rādīt/Slēpt sānjoslu", + "desktop.menu.toggleTerminal": "Rādīt/Slēpt termināli", + "desktop.menu.toggleFileTree": "Rādīt/Slēpt failu koku", + "desktop.menu.reload": "Pārlādēt", + "desktop.menu.toggleDeveloperTools": "Rādīt/Slēpt izstrādātāja rīkus", + "desktop.menu.actualSize": "Sākotnējais izmērs", + "desktop.menu.zoomIn": "Tuvināt", + "desktop.menu.zoomOut": "Samazināt", + "desktop.menu.toggleFullScreen": "Pilnekrāna režīms", + "desktop.menu.back": "Atpakaļ", + "desktop.menu.forward": "Uz priekšu", + "desktop.menu.previousSession": "Iepriekšējā sesija", + "desktop.menu.nextSession": "Nākamā sesija", + "desktop.menu.previousProject": "Iepriekšējais projekts", + "desktop.menu.nextProject": "Nākamais projekts", + "desktop.menu.minimize": "Minimizēt", + "desktop.menu.maximize": "Maksimizēt", + "desktop.menu.documentation": "OpenCode dokumentācija", + "desktop.menu.supportForum": "Atbalsta forums", + "desktop.menu.shareFeedback": "Sniegt atsauksmi", + "desktop.menu.reportBug": "Ziņot par kļūdu", + "desktop.menu.ariaLabel": "OpenCode izvēlne", + "desktop.updater.dialog.checkFailed.message": "Neizdevās pārbaudīt atjauninājumus.", + "desktop.updater.dialog.checkFailed.title": "Atjaunināšanas kļūda", + "desktop.updater.dialog.upToDate.message": "Jums ir jaunākā versija.", + "desktop.updater.dialog.upToDate.title": "Nav atjauninājumu", + "desktop.updater.dialog.ready.message": "Atjauninājums {{version}} lejupielādēts. Vai pārstartēt tagad?", + "desktop.updater.dialog.ready.title": "Atjauninājums gatavs", + "desktop.updater.dialog.restart": "Pārstartēt", + "desktop.updater.dialog.later": "Vēlāk", + "desktop.recovery.action.relaunch": "Palaist no jauna", + "desktop.recovery.action.exportLogs": "Eksportēt žurnālus", + "desktop.recovery.action.keepWaiting": "Turpināt gaidīt", + "desktop.recovery.action.quit": "Iziet", + "desktop.recovery.loadFailed": "Neizdevās ielādēt OpenCode", + "desktop.recovery.terminated": "OpenCode logs negaidīti aizvērts", + "desktop.recovery.unresponsive": "OpenCode neatbild", + "desktop.recovery.unresponsive.detail": "Varat palaist lietotni no jauna, atvērt žurnālus vai turpināt gaidīt.", + "desktop.recovery.loadFailed.detail": "Logs: {{window}}\nURL: {{url}}\nKļūda: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Logs: {{window}}\nIemesls: {{reason}}\nKods: {{code}}", + "desktop.recovery.unknown": "", + "desktop.dialog.chooseFolder": "Izvēlieties mapi", + "desktop.dialog.chooseFile": "Izvēlieties failu", + "desktop.dialog.saveFile": "Saglabāt failu", + "desktop.dialog.files": "Faili", + "desktop.server.local": "Lokālais serveris", + "desktop.wsl.error.windowsOnly": "WSL ir pieejams tikai Windows", + "desktop.wsl.error.unavailable": "WSL nav pieejams", + "desktop.wsl.error.listInstalled": "Neizdevās uzskaitīt instalētās WSL distribūcijas", + "desktop.wsl.error.listOnline": "Neizdevās uzskaitīt tiešsaistes WSL distribūcijas", + "desktop.wsl.error.executeDistro": "Nevar izpildīt komandas distribūcijā", + "desktop.wsl.error.installWsl": "WSL instalēšana neizdevās", + "desktop.wsl.error.installDistro": "Neizdevās instalēt distribūciju: {{distro}}", + "desktop.wsl.error.installOpencode": "OpenCode instalēšana neizdevās", + "desktop.wsl.error.alreadyAdded": "{{distro}} jau ir pievienota", + "desktop.wsl.error.opencodeMissing": "opencode nav instalēts šajā distribūcijā", + "desktop.wsl.error.opencodeCannotRun": "opencode ir instalēts, bet to nevar palaist", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode nav instalēts {{distro}}", + "desktop.wsl.error.updateVersion": + "OpenCode atjaunināšana pabeigta, bet {{distro}} joprojām rāda {{installed}}; gaidīts {{expected}}", + "desktop.wsl.error.noVersion": "nav versijas", + "desktop.wsl.error.serverExited": "WSL serveris izslēdzās pēc palaišanas (kods={{code}} signāls={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL serveris izslēdzās pirms kļuva gatavs darbam (kods={{code}} signāls={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": "{{distro}} pārbaudes Sidecar laiks beidzās pēc {{timeout}} ms", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} laiks beidzās pēc {{timeout}} ms", + "desktop.wsl.error.failedPort": "Neizdevās iegūt portu", + "desktop.picker.error.notSelected": "Fails netika izvēlēts ar atlasītāju", + "desktop.picker.error.sizeLimit": "Izvēlētie pielikumi pārsniedz {{limit}} MB ierobežojumu", + "command.category.suggested": "Ieteikts", + "command.category.view": "Skats", + "command.category.project": "Projekts", + "command.category.provider": "Pakalpojumu sniedzējs", + "command.category.server": "Serveris", + "command.category.session": "Sesija", + "command.category.theme": "Tēma", + "command.category.language": "Valoda", + "command.category.file": "Fails", + "command.category.context": "Konteksts", + "command.category.terminal": "Terminālis", + "command.category.model": "Modelis", + "command.category.mcp": "MCP", + "command.category.agent": "Aģents", + "command.category.permissions": "Atļaujas", + "command.category.workspace": "Darbtelpa", + "command.category.settings": "Iestatījumi", + "command.logs.export": "Eksportēt žurnālus", + "theme.scheme.system": "Sistēma", + "theme.scheme.light": "Gaišs", + "theme.scheme.dark": "Tumšs", + "command.sidebar.toggle": "Pārslēgt sānjoslu", + "command.project.open": "Atvērt projektu", + "command.project.previous": "Iepriekšējais projekts", + "command.project.next": "Nākamais projekts", + "command.project.index": "Pārslēgties uz projektu {{index}}", + "command.provider.connect": "Pievienot pakalpojumu sniedzēju", + "command.server.switch": "Pārslēgt serveri", + "command.settings.open": "Atvērt iestatījumus", + "command.session.previous": "Iepriekšējā sesija", + "command.session.next": "Nākamā sesija", + "command.session.previous.unseen": "Iepriekšējā nelasītā sesija", + "command.session.next.unseen": "Nākamā nelasītā sesija", + "command.session.archive": "Arhivēt sesiju", + "command.palette": "Komandu palete", + "command.theme.cycle": "Mainīt motīvu", + "command.theme.set": "Izmantot motīvu: {{theme}}", + "command.theme.scheme.cycle": "Mainīt krāsu shēmu", + "command.theme.scheme.set": "Izmantot krāsu shēmu: {{scheme}}", + "command.language.cycle": "Mainīt valodu", + "command.language.set": "Izmantot valodu: {{language}}", + "command.session.new": "Jauna sesija", + "command.file.open": "Atvērt failu", + "command.tab.close": "Aizvērt cilni", + "command.tab.reopenClosed": "Atvērt aizvērtu cilni", + "command.context.addSelection": "Pievienot atlasi kontekstam", + "command.context.addSelection.description": "Pievienot atlasītās rindas no pašreizējā faila", + "command.input.focus": "Aktivizēt ievadi", + "command.terminal.toggle": "Rādīt/paslēpt termināli", + "command.fileTree.toggle": "Rādīt/paslēpt failu koku", + "command.review.toggle": "Rādīt/paslēpt pārskatu", + "command.terminal.new": "Jauns terminālis", + "command.terminal.new.description": "Izveidot jaunu termināļa cilni", + "command.steps.toggle": "Rādīt/paslēpt soļus", + "command.steps.toggle.description": "Rādīt vai slēpt soļus šim ziņojumam", + "command.message.previous": "Iepriekšējais ziņojums", + "command.message.previous.description": "Pāriet uz iepriekšējo lietotāja ziņojumu", + "command.message.next": "Nākamais ziņojums", + "command.message.next.description": "Pāriet uz nākamo lietotāja ziņojumu", + "command.model.choose": "Izvēlēties modeli", + "command.model.choose.description": "Izvēlieties citu modeli", + "command.mcp.toggle": "Pārslēgt MCP", + "command.mcp.toggle.description": "Pārslēgt MCP", + "command.agent.cycle": "Mainīt aģentu", + "command.agent.cycle.description": "Pārslēgt uz nākamo aģentu", + "command.agent.cycle.reverse": "Mainīt aģentu atpakaļ", + "command.agent.cycle.reverse.description": "Pārslēgt uz iepriekšējo aģentu", + "command.model.variant.cycle": "Mainīt domāšanas līmeni", + "command.model.variant.cycle.description": "Pārslēgt uz nākamo līmeni", + "command.prompt.mode.shell": "Čaula", + "command.prompt.mode.normal": "Uzvedne", + "command.permissions.autoaccept.enable": "Automātiski pieņemt atļaujas", + "command.permissions.autoaccept.disable": "Apturēt automātisku atļauju pieņemšanu", + "command.workspace.toggle": "Pārslēgt darbvietas", + "command.workspace.toggle.description": "Ieslēgt vai izslēgt vairākas darbvietas sānjoslā", + "command.session.undo": "Atsaukt", + "command.session.undo.description": "Atsaukt pēdējo ziņojumu", + "command.session.redo": "Atatsaukt", + "command.session.redo.description": "Atatsaukt pēdējo atsaukto ziņojumu", + "command.session.compact": "Saspiest sesiju", + "command.session.compact.description": "Kopsavilkt sesiju, lai samazinātu konteksta apjomu", + "command.session.fork": "Atzarot no ziņojuma", + "command.session.fork.description": "Izveidot jaunu sesiju no iepriekšēja ziņojuma", + "command.session.share": "Kopīgot sesiju", + "command.session.share.description": "Kopīgot šo sesiju un kopēt URL starpliktuvē", + "command.session.unshare": "Pārtraukt kopīgošanu", + "command.session.unshare.description": "Pārtraukt šīs sesijas kopīgošanu", + "command.session.export": "Eksportēt sesiju", + "command.session.export.description": "Eksportēt pilnu sesijas transkriptu kā JSON", + "palette.search.placeholder": "Meklēt failus, komandas un sesijas", + "palette.search.placeholder.home": "Meklēt komandas un sesijas", + "palette.empty": "Rezultāti nav atrasti", + "palette.group.commands": "Komandas", + "palette.group.files": "Faili", + "dialog.provider.search.placeholder": "Meklēt nodrošinātājus", + "dialog.provider.empty": "Nodrošinātāji nav atrasti", + "dialog.provider.group.popular": "Populāri", + "dialog.provider.group.other": "Citi", + "dialog.provider.custom.label": "Pielāgots OpenAI saderīgs nodrošinātājs", + "dialog.provider.tag.recommended": "Ieteikts", + "dialog.provider.opencode.note": "Atlasīti modeļi, tostarp Claude, GPT, Gemini un citi", + "dialog.provider.opencode.tagline": "Uzticami optimizēti modeļi", + "dialog.provider.opencodeGo.tagline": "Zemas cenas abonements visiem", + "dialog.provider.anthropic.note": "Tieša piekļuve Claude modeļiem, tostarp Pro un Max", + "dialog.provider.copilot.note": "AI modeļi programmēšanas atbalstam ar GitHub Copilot", + "dialog.provider.openai.note": "GPT modeļi ātriem, spējīgiem vispārējiem AI uzdevumiem", + "dialog.provider.google.note": "Gemini modeļi ātrām, strukturētām atbildēm", + "dialog.provider.openrouter.note": "Piekļuve visiem atbalstītajiem modeļiem no viena nodrošinātāja", + "dialog.provider.vercel.note": "Vienota piekļuve AI modeļiem ar viedu maršrutēšanu", + "dialog.model.select.title": "Izvēlieties modeli", + "dialog.model.search.placeholder": "Meklēt modeļus", + "dialog.model.empty": "Modeļi nav atrasti", + "dialog.model.manage": "Pārvaldīt modeļus", + "dialog.model.manage.description": "Pielāgojiet, kuri modeļi tiek rādīti modeļu atlasītājā.", + "dialog.model.manage.provider.toggle": "Pārslēgt visus {{provider}} modeļus", + "dialog.model.unpaid.freeModels.title": "Bezmaksas modeļi no OpenCode", + "dialog.model.unpaid.addMore.title": "Pievienot vairāk modeļu no populāriem nodrošinātājiem", + "dialog.model.unpaid.viewMoreProviders": "Skatīt vēl 70+ nodrošinātājus", + "dialog.provider.viewAll": "Rādīt vairāk nodrošinātāju", + "provider.connect.title": "Savienot {{provider}}", + "provider.connect.title.anthropicProMax": "Pieteikties ar Claude Pro/Max", + "provider.connect.selectMethod": "Izvēlieties pieteikšanās metodi pakalpojumam {{provider}}.", + "provider.connect.method.apiKey": "API atslēga", + "provider.connect.method.browser": "Pārlūks", + "provider.connect.method.headless": "Bezgalvas režīms", + "provider.connect.status.inProgress": "Notiek autorizācija...", + "provider.connect.status.waiting": "Gaida autorizāciju...", + "provider.connect.status.failed": "Autorizācija neizdevās: {{error}}", + "provider.connect.apiKey.description": + "Ievadiet savu {{provider}} API atslēgu, lai savienotu kontu un izmantotu {{provider}} modeļus OpenCode.", + "provider.connect.apiKey.label": "{{provider}} API atslēga", + "provider.connect.apiKey.placeholder": "API atslēga", + "provider.connect.apiKey.required": "Nepieciešama API atslēga", + "provider.connect.opencodeZen.line1": + "OpenCode Zen nodrošina piekļuvi atlasītiem uzticamiem optimizētiem modeļiem kodēšanas aģentiem.", + "provider.connect.opencodeZen.line2": + "Ar vienu API atslēgu iegūsiet piekļuvi tādiem modeļiem kā Claude, GPT, Gemini, GLM un citiem.", + "provider.connect.opencodeZen.visit.prefix": "Apmeklējiet", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": ", lai saņemtu savu API atslēgu.", + "provider.connect.oauth.code.visit.prefix": "Apmeklējiet", + "provider.connect.oauth.code.visit.link": "šo saiti", + "provider.connect.oauth.code.visit.suffix": + ", lai saņemtu autorizācijas kodu, savienotu kontu un izmantotu {{provider}} modeļus OpenCode.", + "provider.connect.oauth.code.label": "{{method}} autorizācijas kods", + "provider.connect.oauth.code.placeholder": "Autorizācijas kods", + "provider.connect.oauth.code.required": "Nepieciešams autorizācijas kods", + "provider.connect.oauth.code.invalid": "Nederīgs autorizācijas kods", + "provider.connect.oauth.auto.visit.prefix": "Apmeklējiet", + "provider.connect.oauth.auto.visit.link": "šo saiti", + "provider.connect.oauth.auto.visit.suffix": + " un ievadiet zemāk redzamo kodu, lai savienotu kontu un izmantotu {{provider}} modeļus OpenCode.", + "provider.connect.oauth.auto.confirmationCode": "Apstiprinājuma kods", + "provider.connect.toast.connected.title": "{{provider}} savienots", + "provider.connect.toast.connected.description": "{{provider}} modeļi tagad ir pieejami lietošanai.", + "provider.custom.title": "Pielāgots nodrošinātājs", + "provider.custom.unavailable": "Pielāgoti nodrošinātāji šajā serverī nav pieejami", + "provider.custom.description.prefix": "Konfigurējiet ar OpenAI saderīgu nodrošinātāju. Skatiet", + "provider.custom.description.link": "nodrošinātāja konfigurācijas dokumentāciju", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "Nodrošinātāja ID", + "provider.custom.field.providerID.placeholder": "mananodrosinatajs", + "provider.custom.field.providerID.description": "Mazie burti, cipari, domuzīmes vai pasvītras", + "provider.custom.field.name.label": "Parādāmais nosaukums", + "provider.custom.field.name.placeholder": "Mans AI nodrošinātājs", + "provider.custom.field.baseURL.label": "Bāzes URL", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "API atslēga", + "provider.custom.field.apiKey.placeholder": "API atslēga", + "provider.custom.field.apiKey.description": + "Nav obligāti. Atstājiet tukšu, ja autentifikāciju pārvaldāt ar galvenēm.", + "provider.custom.models.label": "Modeļi", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "model-id", + "provider.custom.models.name.label": "Nosaukums", + "provider.custom.models.name.placeholder": "Parādāmais nosaukums", + "provider.custom.models.remove": "Noņemt modeli", + "provider.custom.models.add": "Pievienot modeli", + "provider.custom.headers.label": "Galvenes (nav obligāti)", + "provider.custom.headers.key.label": "Galvene", + "provider.custom.headers.key.placeholder": "Galvenes-nosaukums", + "provider.custom.headers.value.label": "Vērtība", + "provider.custom.headers.value.placeholder": "vērtība", + "provider.custom.headers.remove": "Noņemt galveni", + "provider.custom.headers.add": "Pievienot galveni", + "provider.custom.error.providerID.required": "Nepieciešams norādīt nodrošinātāja ID", + "provider.custom.error.providerID.format": "Izmantojiet mazos burtus, ciparus, domuzīmes vai pasvītras", + "provider.custom.error.providerID.exists": "Šāds nodrošinātāja ID jau pastāv", + "provider.custom.error.name.required": "Nepieciešams parādāmais nosaukums", + "provider.custom.error.baseURL.required": "Nepieciešams pamata URL", + "provider.custom.error.baseURL.format": "Jāsākas ar http:// vai https://", + "provider.custom.error.required": "Obligāti", + "provider.custom.error.duplicate": "Dublikāts", + "provider.disconnect.toast.disconnected.title": "{{provider}} atvienots", + "provider.disconnect.toast.disconnected.description": "{{provider}} modeļi vairs nav pieejami.", + "model.tag.free": "Bezmaksas", + "model.tag.latest": "Jaunākais", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "teksts", + "model.input.image": "attēls", + "model.input.audio": "audio", + "model.input.video": "video", + "model.input.pdf": "pdf", + "model.tooltip.allows": "Atļauj: {{inputs}}", + "model.tooltip.context.label": "Konteksts", + "model.tooltip.inputs": "Ievades", + "model.tooltip.model": "Modelis", + "model.tooltip.provider": "Nodrošinātājs", + "model.tooltip.reasoning": "Spriešana", + "model.tooltip.reasoning.allowed": "Atļauta spriešana", + "model.tooltip.reasoning.none": "Nav spriešanas", + "model.tooltip.context": "Konteksta ierobežojums {{limit}}", + "common.search.placeholder": "Meklēt", + "common.goBack": "Atpakaļ", + "common.goForward": "Uz priekšu", + "common.loading": "Ielādējas", + "common.loading.ellipsis": "...", + "common.cancel": "Atcelt", + "common.clear": "Notīrīt", + "common.open": "Atvērt", + "common.connect": "Pievienoties", + "common.disconnect": "Atvienoties", + "common.continue": "Turpināt", + "common.submit": "Iesniegt", + "common.save": "Saglabāt", + "common.saving": "Saglabājas...", + "common.default": "Noklusējums", + "common.attachment": "pielikums", + "prompt.placeholder.shell": "Ievadiet čaulas komandu... {{example}}", + "prompt.placeholder.normal": 'Uzdodiet jebko... "{{example}}"', + "prompt.placeholder.simple": "Uzdodiet jebko...", + "prompt.placeholder.summarizeComments": "Kopsavilkt komentārus…", + "prompt.placeholder.summarizeComment": "Kopsavilkt komentāru…", + "prompt.mode.shell": "Čaula", + "prompt.mode.normal": "Uzdot", + "prompt.mode.shell.exit": "esc, lai izietu", + "session.child.promptDisabled": "Apakšaģenta sesijās nevar uzdot jautājumus.", + "session.child.backToParent": "Atpakaļ uz galveno sesiju.", + "prompt.example.1": "Izlabot TODO kodā", + "prompt.example.2": "Kāda ir šī projekta tehnoloģiju kaudze?", + "prompt.example.3": "Salabot bojātos testus", + "prompt.example.4": "Paskaidro, kā darbojas autentifikācija", + "prompt.example.5": "Atrodi un novērs drošības ievainojamības", + "prompt.example.6": "Pievieno vienību testus lietotāja servisam", + "prompt.example.7": "Pārstrukturē šo funkciju, lai tā būtu saprotamāka", + "prompt.example.8": "Ko nozīmē šī kļūda?", + "prompt.example.9": "Palīdzi atrast un labot šo problēmu", + "prompt.example.10": "Ģenerē API dokumentāciju", + "prompt.example.11": "Optimizē datubāzes vaicājumus", + "prompt.example.12": "Pievieno ievades validāciju", + "prompt.example.13": "Izveido jaunu komponenti...", + "prompt.example.14": "Kā izvietot šo projektu?", + "prompt.example.15": "Pārskati manu kodu labākajai praksei", + "prompt.example.16": "Pievieno kļūdu apstrādi šai funkcijai", + "prompt.example.17": "Paskaidro šo regex paraugu", + "prompt.example.18": "Pārveido šo uz TypeScript", + "prompt.example.19": "Pievieno žurnālošanu visā kodā", + "prompt.example.20": "Kuras atkarības ir novecojušas?", + "prompt.example.21": "Palīdzi uzrakstīt migrācijas skriptu", + "prompt.example.22": "Ievies kešošanu šim galapunktam", + "prompt.example.23": "Pievieno lapošanu šim sarakstam", + "prompt.example.24": "Izveido CLI komandu...", + "prompt.example.25": "Kā šeit darbojas vides mainīgie?", + "prompt.popover.emptyResults": "Nav atbilstošu rezultātu", + "prompt.popover.emptyCommands": "Nav atbilstošu komandu", + "prompt.dropzone.label": "Nomet šeit attēlus, PDF vai teksta failus", + "prompt.dropzone.file.label": "Nomet, lai @pieminētu failu", + "prompt.slash.badge.custom": "pielāgots", + "prompt.slash.badge.skill": "prasme", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "aktīvs", + "prompt.context.includeActiveFile": "Iekļaut aktīvo failu", + "prompt.context.removeActiveFile": "Noņemt aktīvo failu no konteksta", + "prompt.context.removeFile": "Noņemt failu no konteksta", + "prompt.action.attachFile": "Pievienot failus", + "prompt.menu.addImagesAndFiles": "Pievienot failus un citus", + "prompt.menu.imagesAndFiles": "Attēli un faili", + "prompt.menu.commands": "Komandas", + "prompt.menu.context": "Konteksts", + "prompt.menu.shellCommand": "Čaulas komanda", + "prompt.attachment.remove": "Noņemt pielikumu", + "prompt.action.send": "Sūtīt", + "prompt.action.stop": "Apturēt", + "prompt.toast.pasteUnsupported.title": "Neatbalstīts pielikums", + "prompt.toast.pasteUnsupported.description": "Šeit var pievienot tikai attēlus, PDF vai teksta failus.", + "prompt.toast.attachmentDuplicate.title": "Šis fails jau ir augšupielādēts", + "prompt.toast.modelAgentRequired.title": "Izvēlieties aģentu un modeli", + "prompt.toast.modelAgentRequired.description": "Pirms nosūtīšanas izvēlieties aģentu un modeli.", + "prompt.toast.worktreeCreateFailed.title": "Neizdevās izveidot darba koku", + "prompt.toast.sessionCreateFailed.title": "Neizdevās izveidot sesiju", + "prompt.toast.shellSendFailed.title": "Neizdevās nosūtīt čaulas komandu", + "prompt.toast.commandSendFailed.title": "Neizdevās nosūtīt komandu", + "prompt.toast.promptSendFailed.title": "Neizdevās nosūtīt pieprasījumu", + "prompt.toast.promptSendFailed.description": "Neizdevās iegūt sesiju", + "dialog.mcp.title": "MCP", + "dialog.mcp.description": "{{enabled}} no {{total}} ieslēgti", + "dialog.mcp.empty": "Nav konfigurētu MCP", + "dialog.lsp.empty": "LSP automātiski noteikti pēc failu tipiem", + "dialog.plugins.empty": "Spraudņi konfigurēti opencode.json", + "mcp.status.connected": "savienots", + "mcp.status.failed": "neizdevās", + "mcp.status.needs_auth": "nepieciešama autorizācija", + "mcp.status.disabled": "atspējots", + "mcp.auth.clickToAuthenticate": "Autentificējieties", + "dialog.fork.empty": "Nav ziņu, no kurām atzarot", + "dialog.directory.search.placeholder": "Meklēt mapes", + "dialog.directory.empty": "Mapes nav atrastas", + "dialog.directory.action.selectFile": "Izvēlieties failu", + "dialog.directory.action.selectFolder": "Izvēlieties mapi", + "dialog.directory.root": "Sakne", + "dialog.directory.parent": "Vecāks", + "dialog.directory.readError": "Neizdevās nolasīt šo mapi", + "app.server.unreachable": "Neizdevās sasniegt {{server}}", + "app.server.retrying": "Automātiska atkārtota mēģināšana...", + "app.server.otherServers": "Citi serveri", + "dialog.server.title": "Serveri", + "dialog.server.description": "Mainiet, pie kura OpenCode servera šī lietotne pieslēdzas.", + "dialog.server.search.placeholder": "Meklēt serverus", + "dialog.server.empty": "Vēl nav serveru", + "dialog.server.add.title": "Pievienot serveri", + "dialog.server.add.url": "Servera adrese", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "Neizdevās izveidot savienojumu ar serveri", + "dialog.server.add.checking": "Pārbauda...", + "dialog.server.add.button": "Pievienot serveri", + "dialog.server.add.name": "Servera nosaukums (nav obligāti)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "Lietotājvārds (nav obligāti)", + "dialog.server.add.usernamePlaceholder": "lietotājvārds", + "dialog.server.add.password": "Parole (nav obligāti)", + "dialog.server.add.passwordPlaceholder": "parole", + "dialog.server.edit.title": "Rediģēt serveri", + "dialog.server.default.title": "Noklusējuma serveris", + "dialog.server.default.description": + "Pievienoties šim serverim, palaižot lietotni, nevis startēt lokālo serveri. Nepieciešama pārstartēšana.", + "dialog.server.default.none": "Nav izvēlēts serveris", + "dialog.server.default.set": "Iestatīt pašreizējo kā noklusējumu", + "dialog.server.default.clear": "Notīrīt", + "dialog.server.action.remove": "Noņemt serveri", + "dialog.server.menu.edit": "Rediģēt", + "dialog.server.menu.default": "Iestatīt kā noklusējumu", + "dialog.server.menu.defaultRemove": "Noņemt noklusējumu", + "dialog.server.menu.delete": "Dzēst", + "dialog.server.current": "Pašreizējais serveris", + "dialog.server.status.default": "Noklusējuma", + "wsl.server.add": "Pievienot WSL serveri", + "wsl.server.addShort": "Pievienot WSL", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "WSL serveris", + "wsl.server.retryStart": "Mēģināt vēlreiz", + "wsl.server.updating": "Atjaunina...", + "wsl.onboarding.step.distro": "Izvēlieties distribūciju", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "Pārbauda WSL...", + "wsl.onboarding.restartRequired": "Lai pabeigtu WSL instalēšanu, nepieciešama Windows pārstartēšana.", + "wsl.onboarding.ready": "WSL ir gatavs.", + "wsl.onboarding.required": "Turpināšanai nepieciešams WSL.", + "wsl.onboarding.checkingDistros": "Pārbauda distribūcijas...", + "wsl.onboarding.installingDistro": "Instalē {{distro}}...", + "wsl.onboarding.checkingDistro": "Pārbauda {{distro}}...", + "wsl.onboarding.listingDistros": "Uzskaita distribūcijas...", + "wsl.onboarding.distroReady": "{{distro}} ir gatava.", + "wsl.onboarding.distroNotInstalled": "{{distro}} vēl nav instalēta.", + "wsl.onboarding.openDistroOnce": "Atveriet {{distro}} vienu reizi, lai pabeigtu iestatīšanu.", + "wsl.onboarding.finishingDistro": "Pabeidzu {{distro}} iestatīšanu.", + "wsl.onboarding.pickDistro": "Izvēlieties distribūciju vai instalējiet kādu no zemāk redzamajām.", + "wsl.onboarding.checkingOpencode": "Pārbaudu OpenCode...", + "wsl.onboarding.checkingOpencodeIn": "Pārbaudu OpenCode distribūcijā {{distro}}...", + "wsl.onboarding.updatingOpencode": "Atjauninu OpenCode...", + "wsl.onboarding.updatingOpencodeIn": "Atjauninu OpenCode distribūcijā {{distro}}...", + "wsl.onboarding.updateOpencodeIn": "Atjauniniet OpenCode distribūcijā {{distro}}.", + "wsl.onboarding.updateOpencode": "Atjauniniet OpenCode", + "wsl.onboarding.opencodeReadyIn": "OpenCode ir gatavs distribūcijā {{distro}}.", + "wsl.onboarding.opencodeReady": "OpenCode ir gatavs.", + "wsl.onboarding.installOpencodeIn": "Instalējiet OpenCode distribūcijā {{distro}}.", + "wsl.onboarding.installOpencode": "Instalējiet OpenCode", + "wsl.onboarding.chooseDistroFirst": "Vispirms izvēlieties distribūciju.", + "wsl.onboarding.loadFailed": "Neizdevās ielādēt WSL stāvokli.", + "wsl.onboarding.loading": "Ielādē...", + "wsl.onboarding.installedDistros": "Instalētās distribūcijas", + "wsl.onboarding.checkAgain": "Pārbaudīt vēlreiz", + "wsl.onboarding.distroStatus.ready": "Gatavs", + "wsl.onboarding.distroStatus.checking": "Pārbaudu...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode nav instalēts", + "wsl.onboarding.distroStatus.missingTools": "Trūkst bash, curl", + "wsl.onboarding.distroStatus.unsupported": "Nav atbalstīts · Izmantojiet WSL 2", + "wsl.onboarding.needAnotherDistro": "Nepieciešama cita distribūcija?", + "wsl.onboarding.needAnotherDistroHint": "Instalējiet Linux distribūciju no WSL kataloga", + "wsl.onboarding.wslNotInstalled.title": "WSL nav instalēts", + "wsl.onboarding.wslNotInstalled.description": + "Pirms OpenCode var pievienot WSL serveri, nepieciešams WSL (Windows Subsystem for Linux)", + "wsl.onboarding.wslUnavailable.title": "WSL nav pieejams", + "wsl.onboarding.wslUnavailable.description": "OpenCode neizdevās pārbaudīt WSL šajā datorā.", + "wsl.onboarding.installWsl": "Instalēt WSL", + "wsl.onboarding.windowsRestartRequired": + "Restartējiet Windows, lai pabeigtu WSL instalēšanu, pēc tam atveriet OpenCode no jauna.", + "wsl.onboarding.next": "Tālāk", + "wsl.onboarding.refresh": "Atsvaidzināt", + "wsl.onboarding.allDistrosAdded": "Visas instalētās distribūcijas jau ir pievienotas.", + "wsl.onboarding.noDistros": "Distribūcijas vēl nav atrastas.", + "wsl.onboarding.install": "Instalēt", + "wsl.onboarding.installing": "Notiek instalēšana...", + "wsl.onboarding.installDistro": "Instalēt distribūciju", + "wsl.onboarding.searchDistros": "Meklēt distribūcijas", + "wsl.onboarding.wsl2Required": "Nepieciešams WSL 2.", + "wsl.onboarding.toolsRequired": "Šai distribūcijai nepieciešami bash un curl.", + "wsl.onboarding.openTerminal": "Atvērt termināli", + "wsl.onboarding.path": "Ceļš: {{path}}", + "wsl.onboarding.notFound": "nav atrasts", + "wsl.onboarding.version": "Versija: {{version}}", + "wsl.onboarding.unknown": "nezināms", + "wsl.onboarding.desktopVersion": "darbvirsmas {{version}}", + "wsl.onboarding.versionMismatch": "Instalētā versija neatbilst darbvirsmas lietotnes versijai.", + "wsl.onboarding.adding": "Pievieno...", + "help.tabs.toast.ariaLabel": "Iepazīstinām ar cilnēm. Organizējiet darbu un aktīvās sesijas ar cilnēm", + "help.tabs.toast.dismiss": "Aizvērt cilņu informāciju", + "help.tabs.title": "Iepazīstinām ar cilnēm", + "help.tabs.description": "Organizējiet darbu un aktīvās sesijas ar cilnēm", + "help.tabs.date": "14. jūlijs", + "help.tabs.introduction": "OpenCode Desktop tagad balstās uz cilnēm.", + "help.tabs.sessions": + "Sāciet jaunu sesiju cilnē vai atveriet esošu sesiju no jebkura projekta. Atveriet jaunu cilni, uzsākot ko jaunu, un aizveriet to, kad esat pabeidzis.", + "help.tabs.organize": + "Dažas atvērtas cilnes atvieglo aktīvo sesiju pārvaldību. Ja plānojat tās paturēt, pārdēvējiet cilnes saprotamāk.", + "help.tabs.home": + "Visas sesijas un projektus atradīsiet jaunajā sākuma ekrānā. Izvēloties sesiju, tā tiks atvērta cilnē.", + "help.tabs.persistence": "Atverot lietotni no jauna, jūsu cilnes paliek atvērtas.", + "help.tabs.worktrees": + "Jaunais dizains vēl neatbalsta Git Worktrees, tas drīzumā būs pieejams. Ja vēlaties turpināt lietot iepriekšējo izkārtojumu, varat pārslēgties starp izkārtojumiem iestatījumos. Ņemiet vērā, ka jaunais izkārtojums pēc dažām nedēļām kļūs pastāvīgs.", + "server.row.noUsername": "nav lietotājvārda", + "dialog.project.edit.title": "Rediģēt projektu", + "dialog.project.edit.name": "Nosaukums", + "dialog.project.edit.icon": "Ikona", + "dialog.project.edit.icon.alt": "Projekta ikona", + "dialog.project.edit.icon.hint": "Noklikšķiniet vai ievelciet attēlu", + "dialog.project.edit.icon.recommended": "Ieteicams: 128x128px", + "dialog.project.edit.color": "Krāsa", + "dialog.project.edit.color.select": "Izvēlieties {{color}} krāsu", + "dialog.project.edit.worktree.startup": "Darbtelpas starta skripts", + "dialog.project.edit.worktree.startup.description": "Tiek palaists pēc jaunas darbtelpas (worktree) izveides.", + "dialog.project.edit.worktree.startup.placeholder": "piem., bun install", + "dialog.releaseNotes.action.getStarted": "Sākt", + "dialog.releaseNotes.action.next": "Tālāk", + "dialog.releaseNotes.action.hideFuture": "Turpmāk nerādīt", + "dialog.releaseNotes.media.alt": "Versijas priekšskatījums", + "context.breakdown.title": "Konteksta sadalījums", + "context.breakdown.note": 'Aptuvens ievades tokenu sadalījums. "Citi" ietver rīku definīcijas un piesaisti.', + "context.breakdown.system": "Sistēma", + "context.breakdown.user": "Lietotājs", + "context.breakdown.assistant": "Asistents", + "context.breakdown.tool": "Rīku izsaukumi", + "context.breakdown.other": "Citi", + "context.systemPrompt.title": "Sistēmas uzvedne", + "context.rawMessages.title": "Neapstrādātas ziņas", + "context.export.session": "Eksportēt sesiju", + "context.stats.session": "Sesija", + "context.stats.messages": "Ziņas", + "context.stats.provider": "Pakalpojumu sniedzējs", + "context.stats.model": "Modelis", + "context.stats.limit": "Konteksta ierobežojums", + "context.stats.totalTokens": "Kopā žetonu", + "context.stats.usage": "Izlietojums", + "context.stats.inputTokens": "Ievades žetoni", + "context.stats.outputTokens": "Izvades žetoni", + "context.stats.reasoningTokens": "Loģikas žetoni", + "context.stats.cacheTokens": "Keša žetoni (lasīšana/rakstīšana)", + "context.stats.userMessages": "Lietotāja ziņas", + "context.stats.assistantMessages": "Asistenta ziņas", + "context.stats.totalCost": "Kopējās izmaksas", + "context.stats.sessionCreated": "Sesija izveidota", + "context.stats.lastActivity": "Pēdējā aktivitāte", + "context.usage.tokens": "Žetoni", + "context.usage.usage": "Izlietojums", + "context.usage.cost": "Izmaksas", + "context.usage.clickToView": "Noklikšķiniet, lai skatītu kontekstu", + "context.usage.view": "Skatīt konteksta izlietojumu", + "language.en": "English", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Deutsch", + "language.es": "Español", + "language.fr": "Français", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "Polski", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Norsk", + "language.br": "Português (Brasil)", + "language.bs": "Bosanski", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Türkçe", + "toast.language.title": "Valoda", + "toast.language.description": "Valoda nomainīta uz {{language}}", + "toast.theme.title": "Tēma nomainīta", + "toast.scheme.title": "Krāsu shēma", + "toast.workspace.enabled.title": "Darbtelpas ieslēgtas", + "toast.workspace.enabled.description": "Sānu joslā tagad redzamas vairākas darba kopijas", + "toast.workspace.disabled.title": "Darbtelpas izslēgtas", + "toast.workspace.disabled.description": "Sānu joslā redzama tikai galvenā darba kopija", + "toast.permissions.autoaccept.on.title": "Atļaujas tiek automātiski apstiprinātas", + "toast.permissions.autoaccept.on.description": "Atļauju pieprasījumi tiks apstiprināti automātiski", + "toast.permissions.autoaccept.off.title": "Automātiska atļauju apstiprināšana apturēta", + "toast.permissions.autoaccept.off.description": "Atļauju pieprasījumiem būs nepieciešams apstiprinājums", + "toast.model.none.title": "Nav izvēlēts modelis", + "toast.model.none.description": "Pievienojiet nodrošinātāju, lai apkopotu šo sesiju", + "toast.file.loadFailed.title": "Neizdevās ielādēt failu", + "toast.file.listFailed.title": "Neizdevās uzskaitīt failus", + "toast.context.noLineSelection.title": "Nav izvēlētas rindas", + "toast.context.noLineSelection.description": "Vispirms izvēlieties rindu diapazonu faila cilnē.", + "toast.session.share.copyFailed.title": "Neizdevās kopēt URL starpliktuvē", + "toast.session.share.success.title": "Sesija kopīgota", + "toast.session.share.success.description": "Kopīgošanas URL nokopēts starpliktuvē!", + "toast.session.share.failed.title": "Neizdevās kopīgot sesiju", + "toast.session.share.failed.description": "Radās kļūda, kopīgojot sesiju", + "toast.session.unshare.success.title": "Sesija atsaistīta", + "toast.session.unshare.success.description": "Sesija veiksmīgi atsaistīta!", + "toast.session.unshare.failed.title": "Neizdevās pārtraukt sesijas kopīgošanu", + "toast.session.unshare.failed.description": "Radās kļūda, pārtraucot sesijas kopīgošanu", + "toast.session.export.success.title": "Sesija eksportēta", + "toast.session.export.success.description": "Sesija saglabāta kā {{filename}}", + "toast.session.export.failed.title": "Neizdevās eksportēt sesiju", + "toast.session.export.failed.description": "Radās kļūda, eksportējot sesiju", + "toast.session.listFailed.title": "Neizdevās ielādēt sesijas projektam {{project}}", + "toast.project.reloadFailed.title": "Neizdevās pārlādēt {{project}}", + "toast.update.title": "Pieejams atjauninājums", + "toast.update.description": "Pieejama jauna OpenCode versija ({{version}}) instalēšanai.", + "toast.update.action.installRestart": "Instalēt un restartēt", + "toast.update.action.notYet": "Vēlāk", + "error.page.title": "Kaut kas nogāja greizi", + "error.page.description": "Radās kļūda, ielādējot lietotni.", + "error.page.description.localServerStartup": "Radās kļūda, startējot lokālo serveri.", + "error.page.details.label": "Kļūdas detaļas", + "error.page.action.restart": "Restartēt", + "error.page.action.report": "Ziņot par kļūdu", + "error.page.action.reported": "Kļūda ziņota", + "error.page.action.exportLogs": "Eksportēt žurnālus", + "error.page.action.checking": "Pārbauda...", + "error.page.action.checkUpdates": "Pārbaudīt atjauninājumus", + "error.page.action.updateTo": "Atjaunināt uz {{version}}", + "error.page.circular": "[Ciklisks]", + "error.page.report.prefix": "Lūdzu, ziņojiet par šo kļūdu OpenCode komandai", + "error.page.report.discord": "Discord", + "error.page.version": "Versija: {{version}}", + "error.dev.rootNotFound": + "Saknes elements nav atrasts. Vai aizmirsāt to pievienot index.html? Vai arī id atribūts ir kļūdaini uzrakstīts?", + "error.serverSync.connectFailed": + "Neizdevās izveidot savienojumu ar serveri. Vai serveris darbojas adresē `{{url}}`?", + "error.serverSDK.noServerAvailable": "Nav pieejams neviens serveris", + "error.serverSDK.serverNotAvailable": "Serveris nav pieejams", + "error.childStore.persistedCacheCreateFailed": "Neizdevās izveidot saglabāto kešatmiņu", + "error.childStore.persistedProjectMetadataCreateFailed": "Neizdevās izveidot saglabātos projekta metadatus", + "error.childStore.persistedProjectIconCreateFailed": "Neizdevās izveidot saglabāto projekta ikonu", + "error.childStore.storeCreateFailed": "Neizdevās izveidot krātuvi", + "directory.error.invalidUrl": "Nederīgs direktorijs URL.", + "error.chain.unknown": "Nezināma kļūda", + "error.server.invalidConfiguration": "Nederīga konfigurācija", + "error.chain.causedBy": "Iemesls:", + "error.chain.apiError": "API kļūda", + "error.chain.status": "Statuss: {{status}}", + "error.chain.retryable": "Atkārtojams: {{retryable}}", + "error.chain.responseBody": "Atbildes saturs:\n{{body}}", + "error.chain.didYouMean": "Vai domājāt: {{suggestions}}", + "error.chain.modelNotFound": "Modelis nav atrasts: {{provider}}/{{model}}", + "error.chain.checkConfig": "Pārbaudiet konfigurāciju (opencode.json) pakalpojuma/modela nosaukumus", + "error.chain.mcpFailed": + 'MCP serveris "{{name}}" neizdevās. Ņemiet vērā, OpenCode vēl neatbalsta MCP autentifikāciju.', + "error.chain.providerAuthFailed": "Pakalpojuma autentifikācija neizdevās ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + 'Neizdevās inicializēt pakalpojumu "{{provider}}". Pārbaudiet akreditācijas datus un konfigurāciju.', + "error.chain.configJsonInvalid": "Konfigurācijas fails {{path}} nav derīgs JSON(C)", + "error.chain.configJsonInvalidWithMessage": "Konfigurācijas fails {{path}} nav derīgs JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + 'Direktorijs "{{dir}}" failā {{path}} nav derīgs. Pārdēvējiet direktoriju uz "{{suggestion}}" vai izdzēsiet to. Tā ir bieža drukas kļūda.', + "error.chain.configFrontmatterError": "Neizdevās parsēt frontmatter failā {{path}}:\n{{message}}", + "error.chain.configInvalid": "Konfigurācijas fails {{path}} nav derīgs", + "error.chain.configInvalidWithMessage": "Konfigurācijas fails {{path}} nav derīgs: {{message}}", + "notification.permission.title": "Nepieciešama atļauja", + "notification.permission.description": "{{sessionTitle}} projektā {{projectName}} nepieciešama atļauja", + "notification.question.title": "Jautājums", + "notification.question.description": "{{sessionTitle}} projektā {{projectName}} ir jautājums", + "notification.action.goToSession": "Doties uz sesiju", + "notification.session.responseReady.title": "Atbilde gatava", + "notification.session.error.title": "Sesijas kļūda", + "notification.session.error.fallbackDescription": "Radās kļūda", + "home.recentProjects": "Nesenie projekti", + "home.empty.title": "Nav neseno projektu", + "home.empty.description": "Sāciet, atverot lokālu projektu", + "home.title": "Sākums", + "home.projects": "Projekti", + "home.project.add": "Pievienot projektu", + "home.recentlyClosed": "Nesen aizvērti", + "home.server.collapse": "Sakļaut servera projektus", + "home.server.expand": "Izvērst servera projektus", + "home.sessions.search.placeholder": "Meklēt sesijas", + "home.sessions.search.placeholder.scoped": "Meklēt sesijas {{scope}}", + "home.sessions.search.sessions": "Sesijas", + "home.sessions.search.noResults": "Sesijas ar {{query}} nav atrastas", + "home.sessions.empty": "Šeit vēl nav nekā", + "home.sessions.empty.description": "Izveidojiet sesiju, lai sāktu", + "home.sessions.group.today": "Šodien", + "home.sessions.group.yesterday": "Vakar", + "home.sessions.group.older": "Vecākas", + "home.providerTip": + "Pievienojiet vairāk nekā 75 pakalpojumu sniedzējus, lai izmantotu citus modeļus, tostarp Claude, GPT, Gemini u.c.", + "session.tab.session": "Sesija", + "session.tab.review": "Pārskats", + "session.tab.context": "Konteksts", + "session.tab.unknown": "Nezināma sesija", + "session.panel.reviewAndFiles": "Pārskats un faili", + "session.error.notFound": "Šī sesija nav atrodama", + "session.error.notFound.description": "Šī cilne norāda uz sesiju, kas vairs neeksistē šajā serverī.", + "session.error.notFound.closeTab": "Aizvērt cilni", + "session.error.serverConnection": "Nevar izveidot savienojumu ar šo serveri", + "session.review.filesChanged": "Mainīti faili: {{count}}", + "session.review.change.one": "Izmaiņa", + "session.review.change.other": "Izmaiņas", + "session.review.loadingChanges": "Notiek izmaiņu ielāde...", + "session.review.empty": "Šajā sesijā vēl nav izmaiņu", + "session.review.noVcs": "Nav atrasta Git versiju kontrole, izmaiņas netiek rādītas", + "session.review.noVcs.createGit.title": "Izveidot Git repozitoriju", + "session.review.noVcs.createGit.description": "Izseko, pārskati un atsauc izmaiņas šajā projektā", + "session.review.noVcs.createGit.actionLoading": "Notiek Git repozitorija izveide...", + "session.review.noVcs.createGit.action": "Izveidot Git repozitoriju", + "session.review.noSnapshot": + "Konfigurācijā atspējota momentuzņēmumu izsekošana, tāpēc sesijas izmaiņas nav pieejamas", + "session.review.noChanges": "Nav izmaiņu", + "session.review.noUncommittedChanges": "Vēl nav neapstiprinātu izmaiņu", + "session.review.noBranchChanges": "Vēl nav zara izmaiņu", + "session.files.selectToOpen": "Izvēlies failu atvēršanai", + "session.files.all": "Visi faili", + "session.files.empty": "Nav failu", + "session.files.binaryContent": "Binārs fails (saturs nav skatāms)", + "session.messages.renderEarlier": "Rādīt agrākos ziņojumus", + "session.messages.loadingEarlier": "Notiek agrāko ziņojumu ielāde...", + "session.messages.loadEarlier": "Ielādēt agrākos ziņojumus", + "session.messages.loading": "Notiek ziņojumu ielāde...", + "session.messages.jumpToLatest": "Pāriet uz jaunāko", + "session.context.addToContext": "Pievienot {{selection}} kontekstam", + "session.todo.title": "Darāmais", + "session.todo.collapse": "Sakļaut", + "session.todo.expand": "Izvērst", + "session.todo.progress": "{{done}} no {{total}} darbiem izpildīti", + "session.question.progress": "{{current}} no {{total}} jautājumiem", + "session.question.minimize": "Minimizēt jautājumu", + "session.question.restore": "Atjaunot jautājumu", + "session.question.pending.one": "{{count}} neatbildēts jautājums", + "session.question.pending.other": "{{count}} neatbildēti jautājumi", + "session.question.pending.zero": "{{count}} neatbildētu jautājumu", + "session.followupDock.summary.one": "{{count}} rindā gaidoša ziņa", + "session.followupDock.summary.other": "{{count}} rindā gaidošas ziņas", + "session.followupDock.summary.zero": "{{count}} rindā gaidošu ziņu", + "session.followupDock.sendNow": "Sūtīt tagad", + "session.followupDock.edit": "Rediģēt", + "session.followupDock.collapse": "Sakļaut rindā gaidošās ziņas", + "session.followupDock.expand": "Izvērst rindā gaidošās ziņas", + "session.revertDock.summary.one": "{{count}} atsaukta ziņa", + "session.revertDock.summary.other": "{{count}} atsauktas ziņas", + "session.revertDock.summary.zero": "{{count}} atsauktu ziņu", + "session.revertDock.collapse": "Sakļaut atsauktās ziņas", + "session.revertDock.expand": "Izvērst atsauktās ziņas", + "session.revertDock.restore": "Atjaunot ziņu", + "session.new.title": "Izveido jebko", + "session.new.project.new": "Jauns projekts", + "session.new.project.search": "Meklēt projektus", + "session.new.project.add": "Pievienot projektu", + "session.new.worktree.main": "Galvenā zars", + "session.new.worktree.mainWithBranch": "Galvenā zars ({{branch}})", + "session.new.worktree.create": "Izveidot jaunu darba koku", + "session.new.workspace.runIn": "Palaist sesiju iekš", + "session.new.workspace.triggerLocal": "Lokāli", + "session.new.workspace.local": "Lokālais repozitorijs", + "session.new.workspace.existing": "Darbtelpa…", + "session.new.git.none": "Nav Git", + "session.new.lastModified": "Pēdējoreiz mainīts", + "session.header.search.placeholder": "Meklēt {{project}}", + "session.header.searchFiles": "Meklēt failus", + "session.header.openIn": "Atvērt ar", + "session.header.open.action": "Atvērt ar {{app}}", + "session.header.open.ariaLabel": "Atvērt ar {{app}}", + "session.header.open.menu": "Atvēršanas opcijas", + "session.header.open.copyPath": "Kopēt ceļu", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "Failu pārlūks", + "session.header.open.fileManager": "Failu pārvaldnieks", + "session.header.reveal.finder": "Parādīt Finder", + "session.header.reveal.fileExplorer": "Parādīt failu pārlūkā", + "session.header.reveal.containingFolder": "Atvērt saturējošo mapi", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Terminālis", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "Statuss", + "status.popover.ariaLabel": "Servera konfigurācijas", + "status.popover.tab.servers": "Serveri", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "Spraudņi", + "status.popover.action.manageServers": "Pārvaldīt serverus", + "session.share.popover.title": "Publicēt tīmeklī", + "session.share.popover.description.shared": + "Šī sesija ir publiski pieejama tīmeklī. Tai var piekļūt ikviens ar saiti.", + "session.share.popover.description.unshared": "Kopīgot sesiju publiski tīmeklī. Tai varēs piekļūt ikviens ar saiti.", + "session.share.action.share": "Kopīgot", + "session.share.action.publish": "Publicēt", + "session.share.action.publishing": "Publicē...", + "session.share.action.unpublish": "Noņemt no publicēšanas", + "session.share.action.unpublishing": "Noņem no publicēšanas...", + "session.share.action.view": "Skatīt", + "session.share.copy.copied": "Nokopēts", + "session.share.copy.copyLink": "Kopēt saiti", + "lsp.tooltip.none": "Nav LSP serveru", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "Ielādē uzvedni...", + "terminal.loading": "Ielādē termināli...", + "terminal.title": "Terminālis", + "terminal.title.numbered": "Terminālis {{number}}", + "terminal.close": "Aizvērt termināli", + "terminal.connectionLost.title": "Savienojums zudis", + "terminal.connectionLost.abnormalClose": "WebSocket savienojums neparasti pārtraukts: {{code}}", + "terminal.connectionLost.description": + "Termināļa savienojums tika pārtraukts. Tas var notikt, ja serveris tiek restartēts.", + "terminal.connectTicket.csrfError": + "PTY savienojuma biļeti noraidīja izcelsmes vai CSRF pārbaudes. Pārbaudiet servera CORS konfigurāciju.", + "terminal.connectTicket.statusError": "PTY savienojuma biļete neizdevās ar statusu {{status}}", + "titlebar.update": "Atjaunināt", + "titlebar.updateVersion": "Atjaunināt uz {{version}}", + "common.closeTab": "Aizvērt cilni", + "common.dismiss": "Aizvērt", + "common.moreCountSuffix": " (+{{count}} vēl)", + "common.requestFailed": "Pieprasījums neizdevās", + "common.moreOptions": "Vairāk opciju", + "common.learnMore": "Uzzināt vairāk", + "common.rename": "Pārdēvēt", + "common.export": "Eksportēt", + "common.reset": "Atiestatīt", + "common.archive": "Arhivēt", + "common.delete": "Dzēst", + "common.close": "Aizvērt", + "common.edit": "Rediģēt", + "common.loadMore": "Ielādēt vairāk", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "nezināms", + "common.time.justNow": "Tikko", + "common.time.minutesAgo.short": "pirms {{count}} min", + "common.time.hoursAgo.short": "pirms {{count}} h", + "common.time.daysAgo.short": "pirms {{count}} d", + "sidebar.menu.toggle": "Pārslēgt izvēlni", + "sidebar.nav.projectsAndSessions": "Projekti un sesijas", + "sidebar.settings": "Iestatījumi", + "sidebar.help": "Palīdzība", + "sidebar.workspaces.enable": "Ieslēgt darba telpas", + "sidebar.workspaces.disable": "Izslēgt darba telpas", + "sidebar.gettingStarted.title": "Darba sākšana", + "sidebar.gettingStarted.line1": "OpenCode ietver bezmaksas modeļus, lai varētu sākt uzreiz.", + "sidebar.gettingStarted.line2": + "Pievienojiet jebkuru nodrošinātāju, lai izmantotu modeļus, t.sk. Claude, GPT, Gemini u.c.", + "sidebar.project.recentSessions": "Nesenās sesijas", + "sidebar.project.viewAllSessions": "Skatīt visas sesijas", + "sidebar.project.clearNotifications": "Notīrīt paziņojumus", + "sidebar.empty.title": "Nav atvērts neviens projekts", + "sidebar.empty.description": "Atveriet projektu, lai sāktu", + "debugBar.ariaLabel": "Izstrādes veiktspējas diagnostika", + "debugBar.na": "nav", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "Pēdējā pabeigtā maršruta pāreja, kas skar sesijas lapu, mērīts no maršrutētāja sākuma līdz pirmajam attēlojumam pēc stabilizācijas.", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "Kustīgais kadru skaits sekundē pēdējās 5 sekundēs.", + "debugBar.frame.label": "KADRS", + "debugBar.frame.tip": "Sliktākais kadra laiks pēdējās 5 sekundēs.", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "Kadri virs 32 ms pēdējās 5 sekundēs.", + "debugBar.long.label": "LONG", + "debugBar.long.tip": "Bloķētais laiks un garo uzdevumu skaits pēdējās 5 sekundēs. Maks. uzdevums: {{max}}.", + "debugBar.delay.label": "AIZKAVE", + "debugBar.delay.tip": "Sliktākā novērotā ievades aizkave pēdējās 5 sekundēs.", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": + "Aptuvenais mijiedarbības ilgums pēdējās 5 sekundēs. Tas ir līdzīgs INP, nevis oficiālais Web Vitals INP.", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "Kopējā izkārtojuma nobīde pašreizējā lietotnes darbības laikā.", + "debugBar.mem.label": "ATMIŅA", + "debugBar.mem.tipUnavailable": "Izmantotā JS kaudze pret kaudzes limitu. Tikai Chromium.", + "debugBar.mem.tip": "Izmantotā JS kaudze: {{used}} no {{limit}}.", + "debugBar.focus.label": "FOKUSS", + "debugBar.focus.tip": "Piespiedu kārtā parādīt fokusa stilus visiem interaktīvajiem elementiem", + "debugBar.focus.on": "IESL.", + "debugBar.focus.off": "IZSL.", + "debugBar.direction.label": "VIRZIENS", + "debugBar.direction.tip": "Piespiedu kārtā lietot pilnu lietotnes izkārtojuma virzienu, nemainot izvēlēto valodu", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode darbvirsma", + "settings.section.desktop": "Darbvirsma", + "settings.section.server": "Serveris", + "settings.tab.general": "Vispārīgi", + "settings.tab.shortcuts": "Saīsnes", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "WSL integrācija", + "settings.desktop.wsl.description": "Palaist OpenCode serveri WSL vidē uz Windows.", + "settings.general.section.appearance": "Izskats", + "settings.general.section.advanced": "Paplašināti", + "settings.general.section.notifications": "Sistēmas paziņojumi", + "settings.general.section.updates": "Atjauninājumi", + "settings.general.section.sounds": "Skaņas efekti", + "settings.general.section.feed": "Plūsma", + "settings.general.section.display": "Displejs", + "settings.general.row.language.title": "Valoda", + "settings.general.row.language.description": "Mainīt OpenCode saskarnes valodu", + "settings.general.row.shell.title": "Termināļa čaula", + "settings.general.row.shell.description": "Čaula, ko izmanto terminālis un aģenta rīki", + "settings.general.row.shell.autoDefault": "Automātiski (noklusējums)", + "settings.general.row.shell.terminalOnly": "tikai terminālis", + "settings.general.row.appearance.title": "Izskats", + "settings.general.row.appearance.description": "Pielāgojiet, kā OpenCode izskatās jūsu ierīcē", + "settings.general.row.colorScheme.title": "Krāsu shēma", + "settings.general.row.colorScheme.description": + "Izvēlieties, vai OpenCode sekos sistēmas, gaišajai vai tumšajai tēmai", + "settings.general.row.theme.title": "Tēma", + "settings.general.row.theme.description": "Pielāgojiet OpenCode tēmu.", + "settings.general.row.font.title": "Koda fonts", + "settings.general.row.font.description": "Pielāgojiet fontu, kas tiek izmantots koda blokos", + "settings.general.row.terminalFont.title": "Termināļa fonts", + "settings.general.row.terminalFont.description": "Pielāgojiet fontu, kas tiek izmantots terminālī", + "settings.general.row.uiFont.title": "Saskarnes fonts", + "settings.general.row.uiFont.description": "Pielāgojiet fontu visā saskarnē", + "settings.general.row.followup.title": "Turpmākā darbība", + "settings.general.row.followup.description": "Izvēlieties, vai turpmākie uzvedumi tiek izpildīti uzreiz vai rindā", + "settings.general.row.followup.option.queue": "Rinda", + "settings.general.row.followup.option.steer": "Izpildīt uzreiz", + "settings.general.row.showFileTree.title": "Failu koks", + "settings.general.row.showFileTree.description": "Rādīt failu koka paneli sesijās", + "settings.general.row.showNavigation.title": "Navigācijas vadīklas", + "settings.general.row.showNavigation.description": "Rādīt atpakaļ un uz priekšu pogas darbvirsmas virsraksta joslā", + "settings.general.row.showSearch.title": "Komandu palete", + "settings.general.row.showSearch.description": "Rādīt meklēšanas un komandu paletes pogu virsraksta joslā", + "settings.general.row.showTerminal.title": "Terminālis", + "settings.general.row.showTerminal.description": "Rādīt termināļa pogu darbvirsmas virsraksta joslā", + "settings.general.row.showStatus.title": "Servera statuss", + "settings.general.row.showStatus.description": "Rādīt servera statusa pogu virsraksta joslā", + "settings.general.row.mobileTitlebarBottom.title": "Apakšējā navigācija", + "settings.general.row.mobileTitlebarBottom.description": + "Rādīt virsraksta joslu un sesiju cilnes ekrāna apakšā mobilajās ierīcēs", + "settings.general.row.showCustomAgents.title": "Rādīt aģentu", + "settings.general.row.showCustomAgents.description": + "Pārslēgties starp aģentiem redaktorā. Ja paslēpts, tiek izmantots Build aģents.", + "settings.general.row.reasoningSummaries.title": "Rādīt pamatojuma kopsavilkumus", + "settings.general.row.reasoningSummaries.description": "Rādīt modeļa pamatojuma kopsavilkumus laika joslā", + "settings.general.row.shellToolPartsExpanded.title": "Izvērst čaulas rīka daļas", + "settings.general.row.shellToolPartsExpanded.description": + "Pēc noklusējuma rādīt čaulas rīka daļas izvērstas laika joslā", + "settings.general.row.editToolPartsExpanded.title": "Izvērst rediģēšanas rīka daļas", + "settings.general.row.editToolPartsExpanded.description": + "Pēc noklusējuma rādīt rediģēšanas, rakstīšanas un labošanas rīka daļas izvērstas laika joslā", + "settings.general.row.newInterface.title": "Jauns izkārtojums", + "settings.general.row.newInterface.badge": "Jauns", + "settings.general.row.newInterface.description": + "Izmantot jauno cilņu un sākuma izkārtojumu. Ierobežotu laiku var pārslēgties starp izkārtojumiem.", + "settings.general.row.newInterfaceNotice.title": "Tagad izmantojat jauno izkārtojumu", + "settings.general.row.newInterfaceNotice.description": "Iepriekšējais izkārtojums vairs nav pieejams", + "settings.general.row.newInterfaceNotice.dismiss": "Aizvērt", + "settings.general.row.pinchZoom.title": "Tuvināt ar šķipsnu", + "settings.general.row.pinchZoom.description": "Atļaut tuvināšanu ar skārienpaliktņa šķipsnu un Ctrl-ritināšanu", + "settings.general.row.wayland.title": "Izmantot vietējo Wayland", + "settings.general.row.wayland.description": "Atspējot X11 rezerves režīmu Wayland vidē. Nepieciešama pārstartēšana.", + "settings.general.row.wayland.tooltip": + "Linux ar dažādu atsvaidzes ātrumu monitoriem vietējais Wayland var būt stabilāks.", + "settings.general.row.releaseNotes.title": "Izlaiduma piezīmes", + "settings.general.row.releaseNotes.description": "Rādīt Jaunumu logus pēc atjauninājumiem", + "settings.updates.row.startup.title": "Pārbaudīt atjauninājumus startējot", + "settings.updates.row.startup.description": "Automātiski pārbaudīt atjauninājumus, palaižot OpenCode", + "settings.updates.row.check.title": "Pārbaudīt atjauninājumus", + "settings.updates.row.check.description": "Manuāli pārbaudīt un instalēt atjauninājumus, ja pieejami", + "settings.updates.action.checkNow": "Pārbaudīt tagad", + "settings.updates.action.checking": "Pārbauda...", + "settings.updates.action.downloading": "Lejupielādē...", + "settings.updates.action.installing": "Instalē...", + "settings.updates.toast.latest.title": "Jums ir jaunākā versija", + "settings.updates.toast.latest.description": "Jūs izmantojat jaunāko OpenCode versiju.", + "sound.option.none": "Nav", + "sound.option.alert01": "Brīdinājums 01", + "sound.option.alert02": "Brīdinājums 02", + "sound.option.alert03": "Brīdinājums 03", + "sound.option.alert04": "Brīdinājums 04", + "sound.option.alert05": "Brīdinājums 05", + "sound.option.alert06": "Brīdinājums 06", + "sound.option.alert07": "Brīdinājums 07", + "sound.option.alert08": "Brīdinājums 08", + "sound.option.alert09": "Brīdinājums 09", + "sound.option.alert10": "Brīdinājums 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "Nope 01", + "sound.option.nope02": "Nope 02", + "sound.option.nope03": "Nope 03", + "sound.option.nope04": "Nope 04", + "sound.option.nope05": "Nope 05", + "sound.option.nope06": "Nope 06", + "sound.option.nope07": "Nope 07", + "sound.option.nope08": "Nope 08", + "sound.option.nope09": "Nope 09", + "sound.option.nope10": "Nope 10", + "sound.option.nope11": "Nope 11", + "sound.option.nope12": "Nope 12", + "sound.option.yup01": "Yup 01", + "sound.option.yup02": "Yup 02", + "sound.option.yup03": "Yup 03", + "sound.option.yup04": "Yup 04", + "sound.option.yup05": "Yup 05", + "sound.option.yup06": "Yup 06", + "settings.general.notifications.agent.title": "Aģents", + "settings.general.notifications.agent.description": + "Rādīt sistēmas paziņojumu, kad aģents ir pabeigts vai nepieciešama uzmanība", + "settings.general.notifications.permissions.title": "Atļaujas", + "settings.general.notifications.permissions.description": "Rādīt sistēmas paziņojumu, kad nepieciešama atļauja", + "settings.general.notifications.errors.title": "Kļūdas", + "settings.general.notifications.errors.description": "Rādīt sistēmas paziņojumu, kad notiek kļūda", + "settings.general.sounds.agent.title": "Aģents", + "settings.general.sounds.agent.description": "Atskaņot skaņu, kad aģents ir pabeigts vai nepieciešama uzmanība", + "settings.general.sounds.permissions.title": "Atļaujas", + "settings.general.sounds.permissions.description": "Atskaņot skaņu, kad nepieciešama atļauja", + "settings.general.sounds.errors.title": "Kļūdas", + "settings.general.sounds.errors.description": "Atskaņot skaņu, kad notiek kļūda", + "settings.shortcuts.title": "Tastatūras saīsnes", + "settings.shortcuts.reset.button": "Atjaunot noklusējumus", + "settings.shortcuts.reset.toast.title": "Saīsnes atjaunotas", + "settings.shortcuts.reset.toast.description": "Tastatūras saīsnes ir atjaunotas uz noklusējuma vērtībām.", + "settings.shortcuts.conflict.title": "Saīsne jau tiek izmantota", + "settings.shortcuts.conflict.description": "{{keybind}} jau ir piešķirts {{titles}}.", + "settings.shortcuts.unassigned": "Nav piešķirts", + "settings.shortcuts.pressKeys": "Nospiediet taustiņus", + "settings.shortcuts.search.placeholder": "Meklēt saīsnes", + "settings.shortcuts.search.empty": "Saīsnes nav atrastas", + "settings.shortcuts.group.general": "Vispārīgi", + "settings.shortcuts.group.session": "Sesija", + "settings.shortcuts.group.navigation": "Navigācija", + "settings.shortcuts.group.modelAndAgent": "Modelis un aģents", + "settings.shortcuts.group.terminal": "Terminālis", + "settings.shortcuts.group.prompt": "Uzvedne", + "settings.providers.title": "Pakalpojumu sniedzēji", + "settings.providers.description": "Pakalpojumu iestatījumus varēs konfigurēt šeit.", + "settings.providers.section.connected": "Pievienotie pakalpojumi", + "settings.providers.connected.empty": "Nav pievienotu pakalpojumu", + "settings.providers.connected.environmentDescription": "Pievienots no jūsu vides mainīgajiem", + "settings.providers.section.popular": "Populāri pakalpojumi", + "settings.providers.custom.description": "Pievienojiet OpenAI saderīgu pakalpojumu, norādot bāzes URL.", + "settings.providers.tag.environment": "Vide", + "settings.providers.tag.config": "Konfigurācija", + "settings.providers.tag.custom": "Pielāgots", + "settings.providers.tag.other": "Citi", + "settings.models.title": "Modeļi", + "settings.models.description": "Modeļu iestatījumus varēs konfigurēt šeit.", + "settings.agents.title": "Aģenti", + "settings.agents.description": "Šeit varēs konfigurēt aģentu iestatījumus.", + "settings.commands.title": "Komandas", + "settings.commands.description": "Šeit varēs konfigurēt komandu iestatījumus.", + "settings.mcp.title": "MCP", + "settings.mcp.description": "Šeit varēs konfigurēt MCP iestatījumus.", + "settings.permissions.title": "Atļaujas", + "settings.permissions.description": "Kontrolējiet, kādus rīkus serveris var izmantot pēc noklusējuma.", + "settings.permissions.section.tools": "Rīki", + "settings.permissions.toast.updateFailed.title": "Neizdevās atjaunināt atļaujas", + "settings.permissions.action.allow": "Atļaut", + "settings.permissions.action.ask": "Jautāt", + "settings.permissions.action.deny": "Liegt", + "settings.permissions.tool.read.title": "Lasīt", + "settings.permissions.tool.read.description": "Faila lasīšana (atbilst faila ceļam)", + "settings.permissions.tool.edit.title": "Rediģēt", + "settings.permissions.tool.edit.description": "Mainīt failus, tostarp labojumus, ierakstus un ielāpus", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "Atrast failus, izmantojot glob paraugus", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "Meklēt failu saturu ar regulārajām izteiksmēm", + "settings.permissions.tool.list.title": "Saraksts", + "settings.permissions.tool.list.description": "Uzskaitīt failus mapē", + "settings.permissions.tool.bash.title": "Bash", + "settings.permissions.tool.bash.description": "Izpildīt čaulas komandas", + "settings.permissions.tool.task.title": "Uzdevums", + "settings.permissions.tool.task.description": "Palaist apakšaģentus", + "settings.permissions.tool.skill.title": "Prasme", + "settings.permissions.tool.skill.description": "Ielādēt prasmi pēc nosaukuma", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "Izpildīt valodas servera vaicājumus", + "settings.permissions.tool.todowrite.title": "Todo rakstīšana", + "settings.permissions.tool.todowrite.description": "Atjaunināt uzdevumu sarakstu", + "settings.permissions.tool.webfetch.title": "Web iegūšana", + "settings.permissions.tool.webfetch.description": "Iegūt saturu no URL", + "settings.permissions.tool.websearch.title": "Tīmekļa meklēšana", + "settings.permissions.tool.websearch.description": "Meklēt tīmeklī", + "settings.permissions.tool.external_directory.title": "Ārējais katalogs", + "settings.permissions.tool.external_directory.description": "Piekļūt failiem ārpus projekta mapes", + "settings.permissions.tool.doom_loop.title": "Doom Loop", + "settings.permissions.tool.doom_loop.description": "Noteikt atkārtotus rīka izsaukumus ar identisku ievadi", + "session.delete.failed.title": "Neizdevās dzēst sesiju", + "session.delete.title": "Dzēst sesiju", + "session.delete.confirm": 'Dzēst sesiju "{{name}}"?', + "session.delete.button": "Dzēst sesiju", + "workspace.new": "Jauna darba vide", + "workspace.type.local": "lokāla", + "workspace.type.sandbox": "smilškaste", + "workspace.create.failed.title": "Neizdevās izveidot darba vidi", + "workspace.delete.failed.title": "Neizdevās dzēst darba vidi", + "workspace.resetting.title": "Darba vides atiestatīšana", + "workspace.resetting.description": "Tas var aizņemt minūti.", + "workspace.reset.failed.title": "Neizdevās atiestatīt darba vidi", + "workspace.reset.success.title": "Darba vide atiestatīta", + "workspace.reset.success.description": "Darba vide tagad atbilst noklusētajam zaram.", + "workspace.error.stillPreparing": "Darba vide vēl tiek sagatavota", + "workspace.status.checking": "Pārbauda nesapludinātās izmaiņas...", + "workspace.status.error": "Nevar pārbaudīt git statusu.", + "workspace.status.clean": "Nesapludinātas izmaiņas nav atrastas.", + "workspace.status.dirty": "Šajā darba vidē ir nesapludinātas izmaiņas.", + "workspace.delete.title": "Dzēst darbvietu", + "workspace.delete.confirm": 'Dzēst darbvietu "{{name}}"?', + "workspace.delete.button": "Dzēst darbvietu", + "workspace.reset.title": "Atiestatīt darbvietu", + "workspace.reset.confirm": 'Atiestatīt darbvietu "{{name}}"?', + "workspace.reset.button": "Atiestatīt darbvietu", + "workspace.reset.archived.none": "Neviena aktīva sesija netiks arhivēta.", + "workspace.reset.archived.one": "Tiks arhivēta 1 sesija.", + "workspace.reset.archived.many": "Tiks arhivētas {{count}} sesijas.", + "workspace.reset.note": "Darbvieta tiks atiestatīta uz noklusējuma zara stāvokli.", + "dialog.usageExceeded.dontShowAgain": "Vairs nerādīt", +} diff --git a/packages/app/src/i18n/mk.ts b/packages/app/src/i18n/mk.ts new file mode 100644 index 000000000000..01e60baa408b --- /dev/null +++ b/packages/app/src/i18n/mk.ts @@ -0,0 +1,1166 @@ +export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Датотека", + "desktop.menu.edit": "Уреди", + "desktop.menu.view": "Прикажи", + "desktop.menu.go": "Оди", + "desktop.menu.window": "Прозорец", + "desktop.menu.help": "Помош", + "desktop.menu.checkForUpdates": "Проверете дали има ажурирања...", + "desktop.menu.settings": "Поставки", + "desktop.menu.reloadWebview": "Вчитај повторно Webview", + "desktop.menu.restart": "Рестартирајте", + "desktop.menu.exportLogs": "Извези дневници...", + "desktop.menu.newSession": "Нова сесија", + "desktop.menu.openProject": "Отворен проект...", + "desktop.menu.newWindow": "Нов прозорец", + "desktop.menu.closeWindow": "Затвори го прозорецот", + "desktop.menu.undo": "Врати", + "desktop.menu.redo": "Повторете", + "desktop.menu.cut": "Исечете", + "desktop.menu.copy": "Копирај", + "desktop.menu.paste": "Вметни", + "desktop.menu.delete": "Избриши", + "desktop.menu.selectAll": "Изберете Сите", + "desktop.menu.toggleSidebar": "Вклучете ја страничната лента", + "desktop.menu.toggleTerminal": "Вклучете го терминалот", + "desktop.menu.toggleFileTree": "Вклучете го стеблото на датотеката", + "desktop.menu.reload": "Вчитај повторно", + "desktop.menu.toggleDeveloperTools": "Вклучете ги алатките за програмери", + "desktop.menu.actualSize": "Вистинска големина", + "desktop.menu.zoomIn": "Зумирајте", + "desktop.menu.zoomOut": "Одзумирај", + "desktop.menu.toggleFullScreen": "Вклучете го цел екран", + "desktop.menu.back": "Назад", + "desktop.menu.forward": "Напред", + "desktop.menu.previousSession": "Претходна сесија", + "desktop.menu.nextSession": "Следна сесија", + "desktop.menu.previousProject": "Претходен проект", + "desktop.menu.nextProject": "Следен проект", + "desktop.menu.minimize": "Минимизирајте", + "desktop.menu.maximize": "Максимизирај", + "desktop.menu.documentation": "OpenCode Документација", + "desktop.menu.supportForum": "Форум за поддршка", + "desktop.menu.shareFeedback": "Споделете повратни информации", + "desktop.menu.reportBug": "Пријавете бубачка", + "desktop.menu.ariaLabel": "OpenCode мени", + "desktop.updater.dialog.checkFailed.message": "Проверката за ажурирање не успеа.", + "desktop.updater.dialog.checkFailed.title": "Грешка во ажурирањето", + "desktop.updater.dialog.upToDate.message": "Ажуриран си.", + "desktop.updater.dialog.upToDate.title": "Нема ажурирања", + "desktop.updater.dialog.ready.message": "Преземено е ажурирањето {{version}}. Да се ​​рестартира сега?", + "desktop.updater.dialog.ready.title": "Подготвено за ажурирање", + "desktop.updater.dialog.restart": "Рестартирајте", + "desktop.updater.dialog.later": "Подоцна", + "desktop.recovery.action.relaunch": "Рестартирајте", + "desktop.recovery.action.exportLogs": "Извоз на дневници", + "desktop.recovery.action.keepWaiting": "Продолжете да чекате", + "desktop.recovery.action.quit": "Откажи", + "desktop.recovery.loadFailed": "OpenCode не успеа да се вчита", + "desktop.recovery.terminated": "Прозорецот OpenCode неочекувано заврши", + "desktop.recovery.unresponsive": "OpenCode не реагира", + "desktop.recovery.unresponsive.detail": + "Може да ја рестартирате апликацијата, да ги отворите дневниците или да продолжите да чекате.", + "desktop.recovery.loadFailed.detail": "Прозорец: {{window}}\nURL: {{url}}\nГрешка: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Прозорец: {{window}}\nПричина: {{reason}}\nШифра: {{code}}", + "desktop.recovery.unknown": "<непознато>", + "desktop.dialog.chooseFolder": "Изберете папка", + "desktop.dialog.chooseFile": "Изберете датотека", + "desktop.dialog.saveFile": "Зачувај датотека", + "desktop.dialog.files": "Датотеки", + "desktop.server.local": "Локален сервер", + "desktop.wsl.error.windowsOnly": "WSL е достапна само на Windows", + "desktop.wsl.error.unavailable": "WSL е недостапен", + "desktop.wsl.error.listInstalled": "Не успеа да се наведат инсталираните WSL дистрибуции", + "desktop.wsl.error.listOnline": "Не успеа да се наведат онлајн дистрибуции WSL", + "desktop.wsl.error.executeDistro": "Не може да се извршат команди во дистрибуција", + "desktop.wsl.error.installWsl": "инсталацијата WSL не успеа", + "desktop.wsl.error.installDistro": "Не успеа да се инсталира дистрибуцијата: {{distro}}", + "desktop.wsl.error.installOpencode": "инсталацијата OpenCode не успеа", + "desktop.wsl.error.alreadyAdded": "{{distro}} е веќе додаден", + "desktop.wsl.error.opencodeMissing": "opencode не е инсталиран во оваа дистрибуција", + "desktop.wsl.error.opencodeCannotRun": "opencode е инсталиран, но не може да се изврши", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode не е инсталиран во {{distro}}", + "desktop.wsl.error.updateVersion": + "OpenCode ажурирањето е завршено, но {{distro}} сè уште известува {{installed}}; се очекува {{expected}}", + "desktop.wsl.error.noVersion": "нема верзија", + "desktop.wsl.error.serverExited": "WSL серверот излезе по стартувањето (код={{code}} сигнал={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL серверот излезе пред да стане здрав (шифра={{code}} сигнал={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": "Страничната кола за {{distro}} здравствена проверка истече по {{timeout}}ms", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} истече по {{timeout}}ms", + "desktop.wsl.error.failedPort": "Не успеа да се добие порта", + "desktop.picker.error.notSelected": "Датотеката не беше избрана од избирачот", + "desktop.picker.error.sizeLimit": "Избраните прилози ја надминуваат границата {{limit}} MB", + "command.category.suggested": "Предложено", + "command.category.view": "Прикажи", + "command.category.project": "Проект", + "command.category.provider": "Провајдер", + "command.category.server": "Сервер", + "command.category.session": "Сесија", + "command.category.theme": "Тема", + "command.category.language": "Јазик", + "command.category.file": "Датотека", + "command.category.context": "Контекст", + "command.category.terminal": "Терминал", + "command.category.model": "Модел", + "command.category.mcp": "MCP", + "command.category.agent": "Агент", + "command.category.permissions": "Дозволи", + "command.category.workspace": "Работен простор", + "command.category.settings": "Поставки", + "command.logs.export": "Извезете логови", + "theme.scheme.system": "Систем", + "theme.scheme.light": "Светлина", + "theme.scheme.dark": "Темно", + "command.sidebar.toggle": "Вклучете ја страничната лента", + "command.project.open": "Отворен проект", + "command.project.previous": "Претходен проект", + "command.project.next": "Следен проект", + "command.project.index": "Префрли се на проект {{index}}", + "command.provider.connect": "Поврзете провајдер", + "command.server.switch": "Префрли сервер", + "command.settings.open": "Отворете ги поставките", + "command.session.previous": "Претходна сесија", + "command.session.next": "Следна сесија", + "command.session.previous.unseen": "Претходна непрочитана сесија", + "command.session.next.unseen": "Следна непрочитана сесија", + "command.session.archive": "Сесија за архива", + "command.palette": "Палета на команди", + "command.theme.cycle": "Тема за циклус", + "command.theme.set": "Користете ја темата: {{theme}}", + "command.theme.scheme.cycle": "Циклус шема на бои", + "command.theme.scheme.set": "Користете шема на бои: {{scheme}}", + "command.language.cycle": "Јазик на циклус", + "command.language.set": "Користете јазик: {{language}}", + "command.session.new": "Нова сесија", + "command.file.open": "Отворете ја датотеката", + "command.tab.close": "Затвори ја картичката", + "command.tab.reopenClosed": "Повторно отворете го затворениот таб", + "command.context.addSelection": "Додадете избор во контекст", + "command.context.addSelection.description": "Додадете избрани линии од тековната датотека", + "command.input.focus": "Фокусирајте го влезот", + "command.terminal.toggle": "Вклучете го терминалот", + "command.fileTree.toggle": "Вклучете го дрвото на датотеки", + "command.review.toggle": "Вклучи преглед", + "command.terminal.new": "Нов терминал", + "command.terminal.new.description": "Направете нова картичка за терминал", + "command.steps.toggle": "Вклучете ги чекорите", + "command.steps.toggle.description": "Прикажи или скриј чекори за тековната порака", + "command.message.previous": "Претходна порака", + "command.message.previous.description": "Одете на претходната корисничка порака", + "command.message.next": "Следна порака", + "command.message.next.description": "Одете на следната корисничка порака", + "command.model.choose": "Изберете модел", + "command.model.choose.description": "Изберете различен модел", + "command.mcp.toggle": "Вклучи MCPs", + "command.mcp.toggle.description": "Вклучи MCPs", + "command.agent.cycle": "Циклус агент", + "command.agent.cycle.description": "Префрлете се на следниот агент", + "command.agent.cycle.reverse": "Циклирајте го агентот наназад", + "command.agent.cycle.reverse.description": "Префрлете се на претходниот агент", + "command.model.variant.cycle": "Циклус напор за размислување", + "command.model.variant.cycle.description": "Префрлете се на следното ниво на напор", + "command.prompt.mode.shell": "Школка", + "command.prompt.mode.normal": "Прашај", + "command.permissions.autoaccept.enable": "Автоматско прифаќање дозволи", + "command.permissions.autoaccept.disable": "Стоп за автоматско прифаќање дозволи", + "command.workspace.toggle": "Вклучете работни простори", + "command.workspace.toggle.description": "Овозможете или оневозможете повеќе работни простори во страничната лента", + "command.session.undo": "Врати", + "command.session.undo.description": "Вратете ја последната порака", + "command.session.redo": "Повторете", + "command.session.redo.description": "Повторете ја последната отповикана порака", + "command.session.compact": "Компактна сесија", + "command.session.compact.description": "Сумирајте ја сесијата за да ја намалите големината на контекстот", + "command.session.fork": "Разгранување од порака", + "command.session.fork.description": "Креирајте нова сесија од претходната порака", + "command.session.share": "Споделете сесија", + "command.session.share.description": "Споделете ја оваа сесија и копирајте го URL во таблата со исечоци", + "command.session.unshare": "Откажете ја сесијата за споделување", + "command.session.unshare.description": "Престанете да ја споделувате оваа сесија", + "command.session.export": "Сесија за извоз", + "command.session.export.description": "Извезете го целосниот препис на сесијата како JSON", + "palette.search.placeholder": "Пребарувајте датотеки, команди и сесии", + "palette.search.placeholder.home": "Барај команди и сесии", + "palette.empty": "Не се пронајдени резултати", + "palette.group.commands": "Наредби", + "palette.group.files": "Датотеки", + "dialog.provider.search.placeholder": "Пребарајте провајдери", + "dialog.provider.empty": "Не се пронајдени провајдери", + "dialog.provider.group.popular": "Популарни", + "dialog.provider.group.other": "Друго", + "dialog.provider.custom.label": "Прилагодено OpenAI-компатибилен провајдер", + "dialog.provider.tag.recommended": "Препорачано", + "dialog.provider.opencode.note": "Курирани модели вклучувајќи Claude, GPT, Gemini и повеќе", + "dialog.provider.opencode.tagline": "Сигурни оптимизирани модели", + "dialog.provider.opencodeGo.tagline": "Ниска цена претплата за секого", + "dialog.provider.anthropic.note": "Директен пристап до Claude модели, вклучувајќи ги Pro и Max", + "dialog.provider.copilot.note": "Модели со вештачка интелигенција за помош за кодирање преку GitHub Copilot", + "dialog.provider.openai.note": "GPT модели за брзи, способни општи задачи со вештачка интелигенција", + "dialog.provider.google.note": "Gemini модели за брзи, структурирани одговори", + "dialog.provider.openrouter.note": "Пристапете до сите поддржани модели од еден провајдер", + "dialog.provider.vercel.note": "Унифициран пристап до модели со вештачка интелигенција со паметно рутирање", + "dialog.model.select.title": "Изберете модел", + "dialog.model.search.placeholder": "Пребарајте модели", + "dialog.model.empty": "Нема резултати од моделот", + "dialog.model.manage": "Управувајте со моделите", + "dialog.model.manage.description": "Прилагодете кои модели се појавуваат во избирачот на модели.", + "dialog.model.manage.provider.toggle": "Вклучете ги сите {{provider}} модели", + "dialog.model.unpaid.freeModels.title": "Бесплатни модели обезбедени од OpenCode", + "dialog.model.unpaid.addMore.title": "Додадете повеќе модели од популарни провајдери", + "dialog.model.unpaid.viewMoreProviders": "Видете повеќе од 70 провајдери", + "dialog.provider.viewAll": "Прикажи повеќе провајдери", + "provider.connect.title": "Поврзете се {{provider}}", + "provider.connect.title.anthropicProMax": "Најавете се со Claude Pro/Max", + "provider.connect.selectMethod": "Изберете метод за најавување за {{provider}}.", + "provider.connect.method.apiKey": "клуч API", + "provider.connect.method.browser": "Прелистувач", + "provider.connect.method.headless": "Без глава", + "provider.connect.status.inProgress": "Овластувањето е во тек...", + "provider.connect.status.waiting": "Се чека овластување...", + "provider.connect.status.failed": "Овластувањето не успеа: {{error}}", + "provider.connect.apiKey.description": + "Внесете го вашиот клуч {{provider}} API за да ја поврзете вашата сметка и да користите {{provider}} модели во OpenCode.", + "provider.connect.apiKey.label": "{{provider}} API клуч", + "provider.connect.apiKey.placeholder": "клуч API", + "provider.connect.apiKey.required": "Потребен е клуч API", + "provider.connect.opencodeZen.line1": + "OpenCode Zen ви дава пристап до куриран сет на сигурни оптимизирани модели за агенти за кодирање.", + "provider.connect.opencodeZen.line2": + "Со еден клуч API ќе добиете пристап до модели како што се Claude, GPT, Gemini, GLM и повеќе.", + "provider.connect.opencodeZen.visit.prefix": "Посетете", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": "да го соберете вашиот клуч API.", + "provider.connect.oauth.code.visit.prefix": "Посетете", + "provider.connect.oauth.code.visit.link": "оваа врска", + "provider.connect.oauth.code.visit.suffix": + "да го соберете вашиот код за авторизација за да ја поврзете вашата сметка и да користите {{provider}} модели во OpenCode.", + "provider.connect.oauth.code.label": "{{method}} код за авторизација", + "provider.connect.oauth.code.placeholder": "Код за авторизација", + "provider.connect.oauth.code.required": "Потребна е шифра за авторизација", + "provider.connect.oauth.code.invalid": "Неважечки код за авторизација", + "provider.connect.oauth.auto.visit.prefix": "Посетете", + "provider.connect.oauth.auto.visit.link": "оваа врска", + "provider.connect.oauth.auto.visit.suffix": + "и внесете го кодот подолу за да ја поврзете вашата сметка и да користите {{provider}} модели во OpenCode.", + "provider.connect.oauth.auto.confirmationCode": "Код за потврда", + "provider.connect.toast.connected.title": "{{provider}} поврзан", + "provider.connect.toast.connected.description": "Моделите {{provider}} сега се достапни за употреба.", + "provider.custom.title": "Прилагоден провајдер", + "provider.custom.unavailable": "Прилагодените провајдери се недостапни на овој сервер", + "provider.custom.description.prefix": "Конфигурирајте OpenAI-компатибилен провајдер. Видете го", + "provider.custom.description.link": "документи за конфигурација на провајдерот", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "ИД на провајдер", + "provider.custom.field.providerID.placeholder": "мојот провајдер", + "provider.custom.field.providerID.description": "Мали букви, бројки, цртички или долни црти", + "provider.custom.field.name.label": "Прикажано име", + "provider.custom.field.name.placeholder": "Мојот провајдер со вештачка интелигенција", + "provider.custom.field.baseURL.label": "База URL", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "клуч API", + "provider.custom.field.apiKey.placeholder": "клуч API", + "provider.custom.field.apiKey.description": + "Факултативно. Оставете празно ако управувате со авторизација преку заглавија.", + "provider.custom.models.label": "Модели", + "provider.custom.models.id.label": "ИД", + "provider.custom.models.id.placeholder": "модел-ид", + "provider.custom.models.name.label": "Име", + "provider.custom.models.name.placeholder": "Прикажано име", + "provider.custom.models.remove": "Отстранете го моделот", + "provider.custom.models.add": "Додадете модел", + "provider.custom.headers.label": "Заглавија (изборно)", + "provider.custom.headers.key.label": "Заглавие", + "provider.custom.headers.key.placeholder": "Заглавие-Име", + "provider.custom.headers.value.label": "Вредност", + "provider.custom.headers.value.placeholder": "вредност", + "provider.custom.headers.remove": "Отстранете го заглавието", + "provider.custom.headers.add": "Додадете заглавие", + "provider.custom.error.providerID.required": "Потребна е идентификација на провајдер", + "provider.custom.error.providerID.format": "Користете мали букви, бројки, цртички или долни црти", + "provider.custom.error.providerID.exists": "ИД на провајдер веќе постои", + "provider.custom.error.name.required": "Потребно е име за прикажување", + "provider.custom.error.baseURL.required": "Потребна е основа URL", + "provider.custom.error.baseURL.format": "Мора да започне со http:// или https://", + "provider.custom.error.required": "Задолжително", + "provider.custom.error.duplicate": "Дупликат", + "provider.disconnect.toast.disconnected.title": "{{provider}} исклучен", + "provider.disconnect.toast.disconnected.description": "{{provider}} моделите веќе не се достапни.", + "model.tag.free": "Бесплатно", + "model.tag.latest": "Најнови", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "текст", + "model.input.image": "слика", + "model.input.audio": "аудио", + "model.input.video": "видео", + "model.input.pdf": "pdf", + "model.tooltip.allows": "Дозволува: {{inputs}}", + "model.tooltip.context.label": "Контекст", + "model.tooltip.inputs": "Влезови", + "model.tooltip.model": "Модел", + "model.tooltip.provider": "Провајдер", + "model.tooltip.reasoning": "Расудување", + "model.tooltip.reasoning.allowed": "Дозволува расудување", + "model.tooltip.reasoning.none": "Без расудување", + "model.tooltip.context": "Контекстно ограничување {{limit}}", + "common.search.placeholder": "Пребарување", + "common.goBack": "Одете назад", + "common.goForward": "Одете напред", + "common.loading": "Се вчитува", + "common.loading.ellipsis": "...", + "common.cancel": "Откажи", + "common.clear": "Јасно", + "common.open": "Отвори", + "common.connect": "Поврзете се", + "common.disconnect": "Исклучете се", + "common.continue": "Продолжи", + "common.submit": "Поднесете", + "common.save": "Зачувај", + "common.saving": "Се зачувува...", + "common.default": "Стандардно", + "common.attachment": "приврзаност", + "prompt.placeholder.shell": "Внесете школка команда... {{example}}", + "prompt.placeholder.normal": 'Прашај што било... "{{example}}"', + "prompt.placeholder.simple": "Прашај што било...", + "prompt.placeholder.summarizeComments": "Сумирајте ги коментарите…", + "prompt.placeholder.summarizeComment": "Сумирајте го коментарот…", + "prompt.mode.shell": "Школка", + "prompt.mode.normal": "Прашај", + "prompt.mode.shell.exit": "esc за излез", + "session.child.promptDisabled": "Сесиите на субагентите не можат да бидат поттикнати.", + "session.child.backToParent": "Назад на главната сесија.", + "prompt.example.1": "Поправете TODO во базата на кодови", + "prompt.example.2": "Кој е технолошкиот куп на овој проект?", + "prompt.example.3": "Поправете ги скршените тестови", + "prompt.example.4": "Објаснете како функционира автентикацијата", + "prompt.example.5": "Најдете и поправете ги безбедносните пропусти", + "prompt.example.6": "Додадете тестови на единицата за корисничката услуга", + "prompt.example.7": "Рефакторирајте ја оваа функција за да биде почитлива", + "prompt.example.8": "Што значи оваа грешка?", + "prompt.example.9": "Помогнете ми да го отстранам овој проблем", + "prompt.example.10": "Создадете API документација", + "prompt.example.11": "Оптимизирајте ги барањата за базата на податоци", + "prompt.example.12": "Додадете валидација на влезот", + "prompt.example.13": "Создадете нова компонента за...", + "prompt.example.14": "Како да го распоредам овој проект?", + "prompt.example.15": "Прегледајте го мојот код за најдобри практики", + "prompt.example.16": "Додајте справување со грешки на оваа функција", + "prompt.example.17": "Објаснете ја оваа регекс шема", + "prompt.example.18": "Претворете го ова во TypeScript", + "prompt.example.19": "Додадете логирање низ базата на кодови", + "prompt.example.20": "Кои зависности се застарени?", + "prompt.example.21": "Помогнете ми да напишам скрипта за миграција", + "prompt.example.22": "Спроведување на кеширање за оваа крајна точка", + "prompt.example.23": "Додајте страници на оваа листа", + "prompt.example.24": "Направете CLI команда за...", + "prompt.example.25": "Како функционираат променливите на животната средина овде?", + "prompt.popover.emptyResults": "Нема соодветни резултати", + "prompt.popover.emptyCommands": "Нема соодветни команди", + "prompt.dropzone.label": "Оставете слики, PDFs или текстуални датотеки овде", + "prompt.dropzone.file.label": "Спуштете се во датотеката @mention", + "prompt.slash.badge.custom": "обичај", + "prompt.slash.badge.skill": "вештина", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "активни", + "prompt.context.includeActiveFile": "Вклучете активна датотека", + "prompt.context.removeActiveFile": "Отстранете ја активната датотека од контекст", + "prompt.context.removeFile": "Отстранете ја датотеката од контекст", + "prompt.action.attachFile": "Додадете датотеки", + "prompt.menu.addImagesAndFiles": "Додадете датотеки и повеќе", + "prompt.menu.imagesAndFiles": "Слики и датотеки", + "prompt.menu.commands": "Наредби", + "prompt.menu.context": "Контекст", + "prompt.menu.shellCommand": "Команда за школка", + "prompt.attachment.remove": "Отстранете го прилогот", + "prompt.action.send": "Испрати", + "prompt.action.stop": "Стоп", + "prompt.toast.pasteUnsupported.title": "Неподдржан прилог", + "prompt.toast.pasteUnsupported.description": "Овде може да се прикачат само слики, PDFs или текстуални датотеки.", + "prompt.toast.attachmentDuplicate.title": "Оваа датотека е веќе поставена", + "prompt.toast.modelAgentRequired.title": "Изберете агент и модел", + "prompt.toast.modelAgentRequired.description": "Изберете агент и модел пред да испратите известување.", + "prompt.toast.worktreeCreateFailed.title": "Не успеа да се создаде работно дрво", + "prompt.toast.sessionCreateFailed.title": "Не успеа да се создаде сесија", + "prompt.toast.shellSendFailed.title": "Не успеа да се испрати школка команда", + "prompt.toast.commandSendFailed.title": "Не успеа да се испрати командата", + "prompt.toast.promptSendFailed.title": "Не успеа да се испрати потсетник", + "prompt.toast.promptSendFailed.description": "Не може да се врати сесијата", + "dialog.mcp.title": "MCPс", + "dialog.mcp.description": "{{enabled}} од {{total}} е овозможено", + "dialog.mcp.empty": "Не се конфигурирани MCPs", + "dialog.lsp.empty": "LSPs автоматски се открива од типовите на датотеки", + "dialog.plugins.empty": "Приклучоци конфигурирани во opencode.json", + "mcp.status.connected": "поврзани", + "mcp.status.failed": "не успеа", + "mcp.status.needs_auth": "треба авт", + "mcp.status.disabled": "оневозможено", + "mcp.auth.clickToAuthenticate": "Кликнете за автентикација", + "dialog.fork.empty": "Нема пораки од кои може да се префрлите", + "dialog.directory.search.placeholder": "Пребарајте папки", + "dialog.directory.empty": "Не се пронајдени папки", + "dialog.directory.action.selectFile": "Изберете датотека", + "dialog.directory.action.selectFolder": "Изберете папка", + "dialog.directory.root": "Корен", + "dialog.directory.parent": "Родител", + "dialog.directory.readError": "Не може да се прочита оваа папка", + "app.server.unreachable": "Не можеше да достигне {{server}}", + "app.server.retrying": "Автоматски се обидува повторно...", + "app.server.otherServers": "Други сервери", + "dialog.server.title": "Сервери", + "dialog.server.description": "Променете на кој OpenCode сервер се поврзува оваа апликација.", + "dialog.server.search.placeholder": "Пребарувајте сервери", + "dialog.server.empty": "Сè уште нема сервери", + "dialog.server.add.title": "Додај сервер", + "dialog.server.add.url": "Адреса на серверот", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "Не може да се поврзе со серверот", + "dialog.server.add.checking": "Се проверува...", + "dialog.server.add.button": "Додај сервер", + "dialog.server.add.name": "Име на сервер (изборно)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "Корисничко име (изборно)", + "dialog.server.add.usernamePlaceholder": "корисничко име", + "dialog.server.add.password": "Лозинка (изборно)", + "dialog.server.add.passwordPlaceholder": "лозинка", + "dialog.server.edit.title": "Уреди сервер", + "dialog.server.default.title": "Стандарден сервер", + "dialog.server.default.description": + "Поврзете се со овој сервер при стартување на апликацијата наместо да стартувате локален сервер. Потребно е рестартирање.", + "dialog.server.default.none": "Нема избран сервер", + "dialog.server.default.set": "Поставете го тековниот сервер како стандарден", + "dialog.server.default.clear": "Јасно", + "dialog.server.action.remove": "Отстранете го серверот", + "dialog.server.menu.edit": "Уреди", + "dialog.server.menu.default": "Поставете како стандардно", + "dialog.server.menu.defaultRemove": "Отстрани стандардно", + "dialog.server.menu.delete": "Избриши", + "dialog.server.current": "Тековен сервер", + "dialog.server.status.default": "Стандардно", + "wsl.server.add": "Додадете WSL сервер", + "wsl.server.addShort": "Додај WSL", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "WSL сервер", + "wsl.server.retryStart": "Обидете се повторно да започнете", + "wsl.server.updating": "Се ажурира...", + "wsl.onboarding.step.distro": "Изберете дистрибуција", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "Се проверува WSL...", + "wsl.onboarding.restartRequired": "На Windows му треба рестартирање за да заврши инсталирањето на WSL.", + "wsl.onboarding.ready": "WSL е подготвен.", + "wsl.onboarding.required": "WSL е потребно за да продолжите.", + "wsl.onboarding.checkingDistros": "Се проверуваат дистрибуциите...", + "wsl.onboarding.installingDistro": "Се инсталира {{distro}}...", + "wsl.onboarding.checkingDistro": "Се проверува {{distro}}...", + "wsl.onboarding.listingDistros": "Дистрибуирање на огласи...", + "wsl.onboarding.distroReady": "{{distro}} е подготвен.", + "wsl.onboarding.distroNotInstalled": "{{distro}} сè уште не е инсталиран.", + "wsl.onboarding.openDistroOnce": "Отворете {{distro}} еднаш за да го завршите поставувањето.", + "wsl.onboarding.finishingDistro": "Завршување на поставувањето за {{distro}}.", + "wsl.onboarding.pickDistro": "Изберете дистрибуција или инсталирајте една подолу.", + "wsl.onboarding.checkingOpencode": "Се проверува OpenCode...", + "wsl.onboarding.checkingOpencodeIn": "Се проверува OpenCode во {{distro}}...", + "wsl.onboarding.updatingOpencode": "Се ажурира OpenCode...", + "wsl.onboarding.updatingOpencodeIn": "Се ажурира OpenCode во {{distro}}...", + "wsl.onboarding.updateOpencodeIn": "Ажурирајте OpenCode во {{distro}}.", + "wsl.onboarding.updateOpencode": "Ажурирај OpenCode", + "wsl.onboarding.opencodeReadyIn": "OpenCode е подготвен во {{distro}}.", + "wsl.onboarding.opencodeReady": "OpenCode е подготвен.", + "wsl.onboarding.installOpencodeIn": "Инсталирајте OpenCode во {{distro}}.", + "wsl.onboarding.installOpencode": "Инсталирај OpenCode", + "wsl.onboarding.chooseDistroFirst": "Прво изберете дистрибуција.", + "wsl.onboarding.loadFailed": "Не успеа да се вчита WSL состојба.", + "wsl.onboarding.loading": "Се вчитува...", + "wsl.onboarding.installedDistros": "Инсталирани дистрибуции", + "wsl.onboarding.checkAgain": "Проверете повторно", + "wsl.onboarding.distroStatus.ready": "Подготвени", + "wsl.onboarding.distroStatus.checking": "Се проверува...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode не е инсталиран", + "wsl.onboarding.distroStatus.missingTools": "Недостасува bash, curl", + "wsl.onboarding.distroStatus.unsupported": "Неподдржано · Користете WSL 2", + "wsl.onboarding.needAnotherDistro": "Ви треба уште една дистрибуција?", + "wsl.onboarding.needAnotherDistroHint": "Инсталирајте Linux дистрибуција од каталогот WSL", + "wsl.onboarding.wslNotInstalled.title": "WSL не е инсталиран", + "wsl.onboarding.wslNotInstalled.description": + "WSL (Windows Subsystem for Linux) е потребно пред OpenCode да може да додаде WSL сервер", + "wsl.onboarding.wslUnavailable.title": "WSL недостапен", + "wsl.onboarding.wslUnavailable.description": "OpenCode не можеше да го потврди WSL на оваа машина.", + "wsl.onboarding.installWsl": "Инсталирај WSL", + "wsl.onboarding.windowsRestartRequired": + "Рестартирајте го Windows за да завршите со инсталирањето WSL, а потоа повторно отворете OpenCode.", + "wsl.onboarding.next": "Следно", + "wsl.onboarding.refresh": "Освежи", + "wsl.onboarding.allDistrosAdded": "Сите инсталирани дистрибуции се веќе додадени.", + "wsl.onboarding.noDistros": "Сè уште не се откриени дистрибуции.", + "wsl.onboarding.install": "Инсталирајте", + "wsl.onboarding.installing": "Се инсталира...", + "wsl.onboarding.installDistro": "Инсталирајте distro", + "wsl.onboarding.searchDistros": "Пребарувајте дистрибуции", + "wsl.onboarding.wsl2Required": "WSL 2 е потребно.", + "wsl.onboarding.toolsRequired": "Оваа дистрибуција има потреба од bash и curl.", + "wsl.onboarding.openTerminal": "Отворете го терминалот", + "wsl.onboarding.path": "Патека: {{path}}", + "wsl.onboarding.notFound": "не е пронајден", + "wsl.onboarding.version": "Верзија: {{version}}", + "wsl.onboarding.unknown": "непознат", + "wsl.onboarding.desktopVersion": "работна површина {{version}}", + "wsl.onboarding.versionMismatch": "Инсталираната верзија не се совпаѓа со верзијата на апликацијата за десктоп.", + "wsl.onboarding.adding": "Се додава...", + "help.tabs.toast.ariaLabel": + "Ви ги претставуваме јазичињата. Организирајте ја вашата работа и активни сесии со јазичиња", + "help.tabs.toast.dismiss": "Отфрли ги информациите за картичките", + "help.tabs.title": "Ви ги претставуваме јазичињата", + "help.tabs.description": "Организирајте ја вашата работа и активни сесии со јазичиња", + "help.tabs.date": "14 јули", + "help.tabs.introduction": "OpenCode Desktop сега е изграден околу картичките.", + "help.tabs.sessions": + "Започнете нова сесија во картичка или отворете постоечка сесија од кој било од вашите проекти. Отворете нова картичка кога започнувате нешто ново и затворете ја кога ќе завршите.", + "help.tabs.organize": + "Одржувањето отворени неколку јазичиња го олеснува организирањето на вашите активни сесии. Преименувајте ги картичките во нешто незаборавно ако планирате да ги задржите наоколу.", + "help.tabs.home": + "Сите ваши сесии и проекти ќе ги најдете на новиот Почетен екран. Изборот на сесија ја отвора во таб.", + "help.tabs.persistence": "Кога повторно ќе ја отворите апликацијата, вашите картички се сè уште отворени.", + "help.tabs.worktrees": + "Новиот дизајн сè уште не поддржува Git Worktrees, тој доаѓа наскоро. Значи, ако сакате да продолжите да го користите претходниот распоред, можете да се префрлате помеѓу распоредот во Поставки. Само имајте на ум дека новиот распоред ќе стане постојан за неколку недели.", + "server.row.noUsername": "нема корисничко име", + "dialog.project.edit.title": "Уреди проект", + "dialog.project.edit.name": "Име", + "dialog.project.edit.icon": "Икона", + "dialog.project.edit.icon.alt": "Икона на проектот", + "dialog.project.edit.icon.hint": "Кликнете или повлечете слика", + "dialog.project.edit.icon.recommended": "Препорачано: 128x128px", + "dialog.project.edit.color": "Боја", + "dialog.project.edit.color.select": "Изберете {{color}} боја", + "dialog.project.edit.worktree.startup": "Скрипта за стартување на работен простор", + "dialog.project.edit.worktree.startup.description": "Работи по создавање на нов работен простор (работно дрво).", + "dialog.project.edit.worktree.startup.placeholder": "на пр. bun install", + "dialog.releaseNotes.action.getStarted": "Започнете", + "dialog.releaseNotes.action.next": "Следно", + "dialog.releaseNotes.action.hideFuture": "Не ги прикажувајте овие во иднина", + "dialog.releaseNotes.media.alt": "Преглед на издавање", + "context.breakdown.title": "Разложување на контекстот", + "context.breakdown.note": + "Приближно расчленување на влезните токени. „Друго“ вклучува дефиниции за алатки и надземни трошоци.", + "context.breakdown.system": "Систем", + "context.breakdown.user": "Корисник", + "context.breakdown.assistant": "асистент", + "context.breakdown.tool": "Повици со алатки", + "context.breakdown.other": "Друго", + "context.systemPrompt.title": "Системско известување", + "context.rawMessages.title": "Необработени пораки", + "context.export.session": "Сесија за извоз", + "context.stats.session": "Сесија", + "context.stats.messages": "Пораки", + "context.stats.provider": "Провајдер", + "context.stats.model": "Модел", + "context.stats.limit": "Контекст ограничување", + "context.stats.totalTokens": "Вкупно токени", + "context.stats.usage": "Употреба", + "context.stats.inputTokens": "Влезни токени", + "context.stats.outputTokens": "Излезни токени", + "context.stats.reasoningTokens": "Жетони за расудување", + "context.stats.cacheTokens": "Кеш токени (читање/пишување)", + "context.stats.userMessages": "Кориснички пораки", + "context.stats.assistantMessages": "Пораки за помошник", + "context.stats.totalCost": "Вкупни трошоци", + "context.stats.sessionCreated": "Создадена сесија", + "context.stats.lastActivity": "Последна активност", + "context.usage.tokens": "Жетони", + "context.usage.usage": "Употреба", + "context.usage.cost": "Цена", + "context.usage.clickToView": "Кликнете за да го видите контекстот", + "context.usage.view": "Погледнете ја употребата на контекстот", + "language.en": "Англиски јазик", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Deutsch", + "language.es": "Еспањол", + "language.fr": "Француски", + "language.da": "Дански", + "language.ja": "日本語", + "language.pl": "Полски", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Норск", + "language.br": "Португалија (Бразил)", + "language.bs": "Босански", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Туркче", + "toast.language.title": "Јазик", + "toast.language.description": "Се префрли на {{language}}", + "toast.theme.title": "Темата е сменета", + "toast.scheme.title": "Шема на бои", + "toast.workspace.enabled.title": "Работните простори се овозможени", + "toast.workspace.enabled.description": "Повеќе работни дрва сега се прикажани во страничната лента", + "toast.workspace.disabled.title": "Работните простори се оневозможени", + "toast.workspace.disabled.description": "Само главното работно дрво е прикажано во страничната лента", + "toast.permissions.autoaccept.on.title": "Автоматско прифаќање дозволи", + "toast.permissions.autoaccept.on.description": "Барањата за дозвола ќе бидат автоматски одобрени", + "toast.permissions.autoaccept.off.title": "Го прекина автоматското прифаќање дозволи", + "toast.permissions.autoaccept.off.description": "Барањата за дозвола ќе бараат одобрување", + "toast.model.none.title": "Не е избран модел", + "toast.model.none.description": "Поврзете провајдер за да ја сумира оваа сесија", + "toast.file.loadFailed.title": "Не успеа да се вчита датотеката", + "toast.file.listFailed.title": "Не успеа да се наведат датотеките", + "toast.context.noLineSelection.title": "Нема избор на линија", + "toast.context.noLineSelection.description": "Прво изберете опсег на линии во картичката датотека.", + "toast.session.share.copyFailed.title": "Не успеа да се копира URL во таблата со исечоци", + "toast.session.share.success.title": "Сесијата е споделена", + "toast.session.share.success.description": "Споделете URL копиран во таблата со исечоци!", + "toast.session.share.failed.title": "Не успеа да се сподели сесијата", + "toast.session.share.failed.description": "Настана грешка при споделувањето на сесијата", + "toast.session.unshare.success.title": "Сесијата не е споделена", + "toast.session.unshare.success.description": "Успешно отповикана сесија!", + "toast.session.unshare.failed.title": "Не успеа да се откаже од споделувањето на сесијата", + "toast.session.unshare.failed.description": "Настана грешка при откажувањето на сесијата", + "toast.session.export.success.title": "Сесијата е извезена", + "toast.session.export.success.description": "Сесијата е зачувана во {{filename}}", + "toast.session.export.failed.title": "Не успеа да се извезе сесијата", + "toast.session.export.failed.description": "Настана грешка при извезувањето на сесијата", + "toast.session.listFailed.title": "Не успеа да се вчитаат сесиите за {{project}}", + "toast.project.reloadFailed.title": "Не успеа повторно да се вчита {{project}}", + "toast.update.title": "Достапно е ажурирање", + "toast.update.description": "Новата верзија на OpenCode ({{version}}) сега е достапна за инсталирање.", + "toast.update.action.installRestart": "Инсталирајте и рестартирајте", + "toast.update.action.notYet": "Сè уште не", + "error.page.title": "Нешто тргна наопаку", + "error.page.description": "Се појави грешка при вчитување на апликацијата.", + "error.page.description.localServerStartup": "Се појави грешка при стартување на локалниот сервер.", + "error.page.details.label": "Детали за грешка", + "error.page.action.restart": "Рестартирајте", + "error.page.action.report": "Пријавете грешка", + "error.page.action.reported": "Пријавена грешка", + "error.page.action.exportLogs": "Извоз на дневници", + "error.page.action.checking": "Се проверува...", + "error.page.action.checkUpdates": "Проверете дали има ажурирања", + "error.page.action.updateTo": "Ажурирајте до {{version}}", + "error.page.circular": "[Кружни]", + "error.page.report.prefix": "Ве молиме пријавете ја оваа грешка на тимот OpenCode", + "error.page.report.discord": "на Discord", + "error.page.version": "Верзија: {{version}}", + "error.dev.rootNotFound": + "Не е пронајден корен елемент. Дали заборавивте да го додадете во вашата index.html? Или можеби атрибутот id е погрешно напишан?", + "error.serverSync.connectFailed": "Не може да се поврзе со серверот. Дали има сервер кој работи на `{{url}}`?", + "error.serverSDK.noServerAvailable": "Нема достапен сервер", + "error.serverSDK.serverNotAvailable": "Серверот не е достапен", + "error.childStore.persistedCacheCreateFailed": "Не успеа да се создаде постојан кеш", + "error.childStore.persistedProjectMetadataCreateFailed": "Не успеа да се создадат постојани метаподатоци за проектот", + "error.childStore.persistedProjectIconCreateFailed": "Не успеа да се создаде икона за постојан проект", + "error.childStore.storeCreateFailed": "Не успеа да се создаде продавница", + "directory.error.invalidUrl": "Неважечки директориум во URL.", + "error.chain.unknown": "Непозната грешка", + "error.server.invalidConfiguration": "Неважечка конфигурација", + "error.chain.causedBy": "Предизвикано од:", + "error.chain.apiError": "API грешка", + "error.chain.status": "Статус: {{status}}", + "error.chain.retryable": "Може да се обиде повторно: {{retryable}}", + "error.chain.responseBody": "Тело за одговор:\n{{body}}", + "error.chain.didYouMean": "Дали сакаше да каже: {{suggestions}}", + "error.chain.modelNotFound": "Моделот не е пронајден: {{provider}}/{{model}}", + "error.chain.checkConfig": "Проверете ги имињата на давателот/моделот за конфигурација (opencode.json).", + "error.chain.mcpFailed": + "MCP серверот „{{name}}“ не успеа. Забелешка, OpenCode сè уште не поддржува автентикација MCP.", + "error.chain.providerAuthFailed": "Неуспешна автентикација на провајдерот ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + "Не успеа да се иницијализира провајдерот „{{provider}}“. Проверете ги ингеренциите и конфигурацијата.", + "error.chain.configJsonInvalid": "Конфигурациската датотека на {{path}} не е валидна JSON(C)", + "error.chain.configJsonInvalidWithMessage": "Конфигурациската датотека на {{path}} не е валидна JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + "Директориумот „{{dir}}“ во {{path}} не е валиден. Преименувајте го директориумот во „{{suggestion}}“ или отстранете го. Ова е вообичаена печатна грешка.", + "error.chain.configFrontmatterError": "Не успеа да се анализира frontmatter во {{path}}:\n{{message}}", + "error.chain.configInvalid": "Конфигурациската датотека на {{path}} е неважечка", + "error.chain.configInvalidWithMessage": "Конфигурациската датотека на {{path}} е неважечка: {{message}}", + "notification.permission.title": "Потребна е дозвола", + "notification.permission.description": "На {{sessionTitle}} во {{projectName}} му треба дозвола", + "notification.question.title": "Прашање", + "notification.question.description": "{{sessionTitle}} во {{projectName}} има прашање", + "notification.action.goToSession": "Одете на сесија", + "notification.session.responseReady.title": "Подготвен одговор", + "notification.session.error.title": "Грешка во сесијата", + "notification.session.error.fallbackDescription": "Се појави грешка", + "home.recentProjects": "Неодамнешни проекти", + "home.empty.title": "Нема неодамнешни проекти", + "home.empty.description": "Започнете со отворање на локален проект", + "home.title": "Дома", + "home.projects": "Проекти", + "home.project.add": "Додадете проект", + "home.recentlyClosed": "Неодамна затворена", + "home.server.collapse": "Собори серверски проекти", + "home.server.expand": "Проширете ги серверските проекти", + "home.sessions.search.placeholder": "Пребарувајте сесии", + "home.sessions.search.placeholder.scoped": "Пребарувајте сесии во {{scope}}", + "home.sessions.search.sessions": "Сесии", + "home.sessions.search.noResults": "Не се најдени сесии за {{query}}", + "home.sessions.empty": "Сè уште ништо овде", + "home.sessions.empty.description": "Создадете сесија за да започнете", + "home.sessions.group.today": "Денес", + "home.sessions.group.yesterday": "Вчера", + "home.sessions.group.older": "Постари", + "home.providerTip": + "Поврзете се со над 75 провајдери за да користите други модели, вклучувајќи ги Claude, GPT, Gemini, итн.", + "session.tab.session": "Сесија", + "session.tab.review": "Преглед", + "session.tab.context": "Контекст", + "session.tab.unknown": "Непозната сесија", + "session.panel.reviewAndFiles": "Преглед и датотеки", + "session.error.notFound": "Оваа сесија не може да се најде", + "session.error.notFound.description": "Оваа картичка укажува на сесија што повеќе не постои на овој сервер.", + "session.error.notFound.closeTab": "Затвори ја картичката", + "session.error.serverConnection": "Не може да се поврзе со овој сервер", + "session.review.filesChanged": "Променети датотеки {{count}}", + "session.review.change.one": "Промена", + "session.review.change.other": "Промени", + "session.review.loadingChanges": "Се вчитуваат промените...", + "session.review.empty": "Сè уште нема промени на оваа сесија", + "session.review.noVcs": "Не е откриен систем за контрола на верзијата Git, промените не се прикажани", + "session.review.noVcs.createGit.title": "Направете складиште Git", + "session.review.noVcs.createGit.description": "Следете, прегледувајте и поништете ги промените во овој проект", + "session.review.noVcs.createGit.actionLoading": "Се создава складиште Git...", + "session.review.noVcs.createGit.action": "Креирај Git складиште", + "session.review.noSnapshot": + "Следењето снимки е оневозможено во конфигурацијата, така што промените на сесиите не се достапни", + "session.review.noChanges": "Нема промени", + "session.review.noUncommittedChanges": "Сè уште нема необврзани промени", + "session.review.noBranchChanges": "Сè уште нема промени во гранката", + "session.files.selectToOpen": "Изберете датотека за отворање", + "session.files.all": "Сите датотеки", + "session.files.empty": "Нема датотеки", + "session.files.binaryContent": "Бинарна датотека (содржината не може да се прикаже)", + "session.messages.renderEarlier": "Рендерирајте ги претходните пораки", + "session.messages.loadingEarlier": "Се вчитуваат претходните пораки...", + "session.messages.loadEarlier": "Вчитај претходни пораки", + "session.messages.loading": "Се вчитуваат пораки...", + "session.messages.jumpToLatest": "Скокни до најновото", + "session.context.addToContext": "Додајте {{selection}} во контекст", + "session.todo.title": "Тодос", + "session.todo.collapse": "Колапс", + "session.todo.expand": "Прошири", + "session.todo.progress": "{{done}} од {{total}} завршени работи", + "session.question.progress": "{{current}} од {{total}} прашања", + "session.question.minimize": "Минимизирајте го прашањето", + "session.question.restore": "Врати прашање", + "session.question.pending.one": "{{count}} нерешено прашање", + "session.question.pending.other": "{{count}} нерешени прашања", + "session.followupDock.summary.one": "{{count}} порака во редица", + "session.followupDock.summary.other": "{{count}} пораки во редица", + "session.followupDock.sendNow": "Испрати сега", + "session.followupDock.edit": "Уреди", + "session.followupDock.collapse": "Собери ги пораките во редица", + "session.followupDock.expand": "Проширете ги пораките во редица", + "session.revertDock.summary.one": "{{count}} вратена порака", + "session.revertDock.summary.other": "{{count}} вратени пораки", + "session.revertDock.collapse": "Собери ги вратените пораки", + "session.revertDock.expand": "Проширете ги вратените пораки", + "session.revertDock.restore": "Врати порака", + "session.new.title": "Изгради било што", + "session.new.project.new": "Нов проект", + "session.new.project.search": "Пребарувајте проекти", + "session.new.project.add": "Додадете проект", + "session.new.worktree.main": "Главна гранка", + "session.new.worktree.mainWithBranch": "Главна филијала ({{branch}})", + "session.new.worktree.create": "Креирајте ново работно дрво", + "session.new.workspace.runIn": "Извршете ја сесијата внатре", + "session.new.workspace.triggerLocal": "Локално", + "session.new.workspace.local": "Локално складиште", + "session.new.workspace.existing": "Работен простор…", + "session.new.git.none": "Не Git", + "session.new.lastModified": "Последно изменето", + "session.header.search.placeholder": "Барај {{project}}", + "session.header.searchFiles": "Пребарувајте датотеки", + "session.header.openIn": "Отвори внатре", + "session.header.open.action": "Отвори {{app}}", + "session.header.open.ariaLabel": "Отвори во {{app}}", + "session.header.open.menu": "Отворете ги опциите", + "session.header.open.copyPath": "Копирај патека", + "session.header.open.finder": "Пронаоѓач", + "session.header.open.fileExplorer": "Истражувач на датотеки", + "session.header.open.fileManager": "Управувач со датотеки", + "session.header.reveal.finder": "Откријте во Пронаоѓач", + "session.header.reveal.fileExplorer": "Откријте во File Explorer", + "session.header.reveal.containingFolder": "Отворете ја папката што содржи", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Терминал", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "Статус", + "status.popover.ariaLabel": "Конфигурации на серверот", + "status.popover.tab.servers": "Сервери", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "Приклучоци", + "status.popover.action.manageServers": "Управувајте со серверите", + "session.share.popover.title": "Објави на веб", + "session.share.popover.description.shared": "Оваа сесија е јавна на веб. Достапно е за секој со врската.", + "session.share.popover.description.unshared": + "Споделете ја сесијата јавно на веб. Ќе биде достапен за секој со врската.", + "session.share.action.share": "Споделете", + "session.share.action.publish": "Објави", + "session.share.action.publishing": "Објавување...", + "session.share.action.unpublish": "Отпишете го", + "session.share.action.unpublishing": "Се откажува објавувањето...", + "session.share.action.view": "Прикажи", + "session.share.copy.copied": "Копирано", + "session.share.copy.copyLink": "Копирај ја врската", + "lsp.tooltip.none": "Нема LSP сервери", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "Се вчитува известувањето...", + "terminal.loading": "Се вчитува терминал...", + "terminal.title": "Терминал", + "terminal.title.numbered": "Терминал {{number}}", + "terminal.close": "Затворете го терминалот", + "terminal.connectionLost.title": "Изгубена врска", + "terminal.connectionLost.abnormalClose": "WebSocket затворено ненормално: {{code}}", + "terminal.connectionLost.description": + "Приклучувањето на терминалот беше прекинато. Ова може да се случи кога серверот се рестартира.", + "terminal.connectTicket.csrfError": + "PTY билет за поврзување одбиен по потекло или CSRF проверки. Проверете ја конфигурацијата на серверот CORS.", + "terminal.connectTicket.statusError": "PTY билетот за поврзување не успеа со {{status}}", + "titlebar.update": "Ажурирање", + "titlebar.updateVersion": "Ажурирај {{version}}", + "common.closeTab": "Затвори ја картичката", + "common.dismiss": "Отфрли", + "common.moreCountSuffix": "(+{{count}} повеќе)", + "common.requestFailed": "Барањето не успеа", + "common.moreOptions": "Повеќе опции", + "common.learnMore": "Дознајте повеќе", + "common.rename": "Преименувај", + "common.export": "Извоз", + "common.reset": "Ресетирај", + "common.archive": "Архива", + "common.delete": "Избриши", + "common.close": "Затвори", + "common.edit": "Уреди", + "common.loadMore": "Вчитај повеќе", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "непознат", + "common.time.justNow": "Само сега", + "common.time.minutesAgo.short": "Пред {{count}}м", + "common.time.hoursAgo.short": "Пред {{count}}ч", + "common.time.daysAgo.short": "Пред {{count}}ден", + "sidebar.menu.toggle": "Вклучете го менито", + "sidebar.nav.projectsAndSessions": "Проекти и сесии", + "sidebar.settings": "Поставки", + "sidebar.help": "Помош", + "sidebar.workspaces.enable": "Овозможете работни простори", + "sidebar.workspaces.disable": "Оневозможи работни простори", + "sidebar.gettingStarted.title": "Започнување", + "sidebar.gettingStarted.line1": "OpenCode вклучува бесплатни модели за да можете веднаш да започнете.", + "sidebar.gettingStarted.line2": "Поврзете кој било провајдер за да користите модели, вкл. Claude, GPT, Gemini итн.", + "sidebar.project.recentSessions": "Неодамнешни сесии", + "sidebar.project.viewAllSessions": "Прикажи ги сите сесии", + "sidebar.project.clearNotifications": "Исчистете ги известувањата", + "sidebar.empty.title": "Нема отворени проекти", + "sidebar.empty.description": "Отворете проект за да започнете", + "debugBar.ariaLabel": "Дијагностика на перформансите на развојот", + "debugBar.na": "n/a", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "Последна завршена транзиција на маршрута со допирање на страница со сесија, мерена од почетокот на рутерот до првата боја откако ќе се среди.", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "Тркалачки рамки во секунда во последните 5 секунди.", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "Најлошо време на слики во последните 5 секунди.", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "Кадри над 32 ms во последните 5 секунди.", + "debugBar.long.label": "LONG", + "debugBar.long.tip": "Блокирано време и број на долги задачи во последните 5 секунди. Максимална задача: {{max}}.", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "Најлошо забележано доцнење на влезот во последните 5 секунди.", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": + "Приближно времетраење на интеракцијата во последните 5 секунди. Ова е слично на INP, а не на официјалниот Web Vitals INP.", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "Кумулативно поместување на распоредот за тековниот животен век на апликацијата.", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "Користени JS куп наспроти граница на куп. Само Chromium.", + "debugBar.mem.tip": "Користени JS куп наспроти граница на куп. {{used}} од {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Принудете ги стиловите на фокусирање на сите интерактивни елементи", + "debugBar.focus.on": "ВКЛУЧЕНО", + "debugBar.focus.off": "ИСКЛУЧЕНО", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": + "Присилете ја насоката на целосниот распоред на апликацијата без да го менувате избраниот јазик", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode Desktop", + "settings.section.desktop": "Десктоп", + "settings.section.server": "Сервер", + "settings.tab.general": "Општо", + "settings.tab.shortcuts": "Кратенки", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "WSL интеграција", + "settings.desktop.wsl.description": "Стартувај го серверот OpenCode во WSL на Windows.", + "settings.general.section.appearance": "Изглед", + "settings.general.section.advanced": "Напредно", + "settings.general.section.notifications": "Системски известувања", + "settings.general.section.updates": "Ажурирања", + "settings.general.section.sounds": "Звучни ефекти", + "settings.general.section.feed": "Довод", + "settings.general.section.display": "Приказ", + "settings.general.row.language.title": "Јазик", + "settings.general.row.language.description": "Променете го јазикот на прикажување за OpenCode", + "settings.general.row.shell.title": "Терминал shell", + "settings.general.row.shell.description": "Школката ја користат алатките за терминал и агент", + "settings.general.row.shell.autoDefault": "Автоматски (стандардно)", + "settings.general.row.shell.terminalOnly": "само терминал", + "settings.general.row.appearance.title": "Изглед", + "settings.general.row.appearance.description": "Приспособете како изгледа OpenCode на вашиот уред", + "settings.general.row.colorScheme.title": "Шема на бои", + "settings.general.row.colorScheme.description": "Изберете дали OpenCode ја следи системската, светла или темна тема", + "settings.general.row.theme.title": "Тема", + "settings.general.row.theme.description": "Приспособете како OpenCode е тематизирана.", + "settings.general.row.font.title": "Фонт на код", + "settings.general.row.font.description": "Приспособете го фонтот што се користи во блоковите со кодови", + "settings.general.row.terminalFont.title": "Терминален фонт", + "settings.general.row.terminalFont.description": "Приспособете го фонтот што се користи во терминалот", + "settings.general.row.uiFont.title": "UI фонт", + "settings.general.row.uiFont.description": "Прилагодете го фонтот што се користи низ интерфејсот", + "settings.general.row.followup.title": "Последователно однесување", + "settings.general.row.followup.description": + "Изберете дали следењето ќе ве поттикне да се управува веднаш или да чекате во редица", + "settings.general.row.followup.option.queue": "Ред", + "settings.general.row.followup.option.steer": "Управувај", + "settings.general.row.showFileTree.title": "Датотека", + "settings.general.row.showFileTree.description": "Прикажи го панелот за стебло на датотеки во сесии", + "settings.general.row.showNavigation.title": "Контроли за навигација", + "settings.general.row.showNavigation.description": + "Покажете ги копчињата назад и напред во насловната лента на работната површина", + "settings.general.row.showSearch.title": "Палета на команди", + "settings.general.row.showSearch.description": + "Прикажи го копчето за пребарување и палета на команди во лентата за наслов", + "settings.general.row.showTerminal.title": "Терминал", + "settings.general.row.showTerminal.description": + "Прикажете го копчето за терминал во насловната лента на работната површина", + "settings.general.row.showStatus.title": "Статус на серверот", + "settings.general.row.showStatus.description": "Прикажи го копчето за статус на серверот во насловната лента", + "settings.general.row.mobileTitlebarBottom.title": "Долна навигација", + "settings.general.row.mobileTitlebarBottom.description": + "Поставете ја лентата за наслов и јазичињата за сесии на дното на екранот на мобилниот телефон", + "settings.general.row.showCustomAgents.title": "Покажи агент", + "settings.general.row.showCustomAgents.description": + "Префрлете се помеѓу агенти во композиторот. Кога е скриено, стандардно е Build agent.", + "settings.general.row.reasoningSummaries.title": "Прикажи резимеа за расудување", + "settings.general.row.reasoningSummaries.description": + "Прикажи резимеа на расудувањето на моделите во временската линија", + "settings.general.row.shellToolPartsExpanded.title": "Проширете ги shell делови од алатот", + "settings.general.row.shellToolPartsExpanded.description": + "Прикажи shell делови од алатката стандардно проширени во временската линија", + "settings.general.row.editToolPartsExpanded.title": "Проширете ги деловите на алатката за уредување", + "settings.general.row.editToolPartsExpanded.description": + "Прикажи ги деловите на алатката за уредување, пишување и закрпи стандардно проширени во временската линија", + "settings.general.row.newInterface.title": "Нов распоред", + "settings.general.row.newInterface.badge": "Ново", + "settings.general.row.newInterface.description": + "Користете ги новите јазичиња и распоредот на домот. Префрлете се помеѓу распоредот за ограничено време.", + "settings.general.row.newInterfaceNotice.title": "Сега користите нов распоред", + "settings.general.row.newInterfaceNotice.description": "Претходниот распоред веќе не е достапен", + "settings.general.row.newInterfaceNotice.dismiss": "Отфрли", + "settings.general.row.pinchZoom.title": "Стиснете за да зумирате", + "settings.general.row.pinchZoom.description": + "Дозволете зумирање на гестовите за стискање на подлогата и Ctrl-scroll", + "settings.general.row.wayland.title": "Користете мајчин Wayland", + "settings.general.row.wayland.description": "Оневозможи резервни X11 на Wayland. Потребно е рестартирање.", + "settings.general.row.wayland.tooltip": + "На Linux со мешани монитори со стапка на освежување, мајчин Wayland може да биде постабилен.", + "settings.general.row.releaseNotes.title": "Белешки за ослободување", + "settings.general.row.releaseNotes.description": "Прикажи скокачки прозорци „Што има ново“ по ажурирањата", + "settings.updates.row.startup.title": "Проверете дали има ажурирања при стартување", + "settings.updates.row.startup.description": "Автоматски проверувајте дали има ажурирања кога ќе се стартува OpenCode", + "settings.updates.row.check.title": "Проверете дали има ажурирања", + "settings.updates.row.check.description": "Рачно проверете дали има ажурирања и инсталирајте ако е достапно", + "settings.updates.action.checkNow": "Проверете сега", + "settings.updates.action.checking": "Се проверува...", + "settings.updates.action.downloading": "Се презема...", + "settings.updates.action.installing": "Се инсталира...", + "settings.updates.toast.latest.title": "Ажуриран си", + "settings.updates.toast.latest.description": "Ја извршувате најновата верзија на OpenCode.", + "sound.option.none": "Никој", + "sound.option.alert01": "Аларм 01", + "sound.option.alert02": "Аларм 02", + "sound.option.alert03": "Алармирање 03", + "sound.option.alert04": "Аларм 04", + "sound.option.alert05": "Аларм 05", + "sound.option.alert06": "Аларм 06", + "sound.option.alert07": "Аларм 07", + "sound.option.alert08": "Аларм 08", + "sound.option.alert09": "Алармирање 09", + "sound.option.alert10": "Предупредување 10", + "sound.option.bipbop01": "Бип-боп 01", + "sound.option.bipbop02": "Бип-боп 02", + "sound.option.bipbop03": "Бип-боп 03", + "sound.option.bipbop04": "Бип-боп 04", + "sound.option.bipbop05": "Бип-боп 05", + "sound.option.bipbop06": "Бип-боп 06", + "sound.option.bipbop07": "Бип-боп 07", + "sound.option.bipbop08": "Бип-боп 08", + "sound.option.bipbop09": "Бип-боп 09", + "sound.option.bipbop10": "Бип-боп 10", + "sound.option.staplebops01": "Стејплбопс 01", + "sound.option.staplebops02": "Стејплбопс 02", + "sound.option.staplebops03": "Стејплбопс 03", + "sound.option.staplebops04": "Стејплбопс 04", + "sound.option.staplebops05": "Стејплбопс 05", + "sound.option.staplebops06": "Стејплбопс 06", + "sound.option.staplebops07": "Стејплбопс 07", + "sound.option.nope01": "Не 01", + "sound.option.nope02": "Не 02", + "sound.option.nope03": "Не 03", + "sound.option.nope04": "Не 04", + "sound.option.nope05": "Не 05", + "sound.option.nope06": "Не 06", + "sound.option.nope07": "Не 07", + "sound.option.nope08": "Не 08", + "sound.option.nope09": "Не 09", + "sound.option.nope10": "Не 10", + "sound.option.nope11": "Не 11", + "sound.option.nope12": "Не 12", + "sound.option.yup01": "Да 01", + "sound.option.yup02": "Да 02", + "sound.option.yup03": "Да 03", + "sound.option.yup04": "Да 04", + "sound.option.yup05": "Да 05", + "sound.option.yup06": "Да 06", + "settings.general.notifications.agent.title": "Агент", + "settings.general.notifications.agent.description": + "Прикажи системско известување кога агентот е завршен или има потреба од внимание", + "settings.general.notifications.permissions.title": "Дозволи", + "settings.general.notifications.permissions.description": "Прикажи системско известување кога е потребна дозвола", + "settings.general.notifications.errors.title": "Грешки", + "settings.general.notifications.errors.description": "Прикажи системско известување кога ќе се појави грешка", + "settings.general.sounds.agent.title": "Агент", + "settings.general.sounds.agent.description": "Пуштете звук кога агентот е завршен или му треба внимание", + "settings.general.sounds.permissions.title": "Дозволи", + "settings.general.sounds.permissions.description": "Репродуцирајте звук кога е потребна дозвола", + "settings.general.sounds.errors.title": "Грешки", + "settings.general.sounds.errors.description": "Репродуцирајте звук кога ќе се појави грешка", + "settings.shortcuts.title": "Кратенки на тастатурата", + "settings.shortcuts.reset.button": "Ресетирање на стандардните", + "settings.shortcuts.reset.toast.title": "Кратенките се ресетираат", + "settings.shortcuts.reset.toast.description": "Кратенките на тастатурата се ресетирани на стандардните.", + "settings.shortcuts.conflict.title": "Кратенката веќе се користи", + "settings.shortcuts.conflict.description": "{{keybind}} е веќе доделен на {{titles}}.", + "settings.shortcuts.unassigned": "Недоделени", + "settings.shortcuts.pressKeys": "Притиснете ги копчињата", + "settings.shortcuts.search.placeholder": "Кратенки за пребарување", + "settings.shortcuts.search.empty": "Не се пронајдени кратенки", + "settings.shortcuts.group.general": "Општо", + "settings.shortcuts.group.session": "Сесија", + "settings.shortcuts.group.navigation": "Навигација", + "settings.shortcuts.group.modelAndAgent": "Модел и агент", + "settings.shortcuts.group.terminal": "Терминал", + "settings.shortcuts.group.prompt": "Прашај", + "settings.providers.title": "Даватели", + "settings.providers.description": "Поставките на провајдерот ќе може да се конфигурираат овде.", + "settings.providers.section.connected": "Поврзани провајдери", + "settings.providers.connected.empty": "Нема поврзани провајдери", + "settings.providers.connected.environmentDescription": "Поврзано од променливите на вашата околина", + "settings.providers.section.popular": "Популарни провајдери", + "settings.providers.custom.description": "Додадете OpenAI-компатибилен провајдер по база URL.", + "settings.providers.tag.environment": "Животна средина", + "settings.providers.tag.config": "Конфигурација", + "settings.providers.tag.custom": "Прилагодено", + "settings.providers.tag.other": "Друго", + "settings.models.title": "Модели", + "settings.models.description": "Поставките за моделот ќе можат да се конфигурираат овде.", + "settings.agents.title": "Агенти", + "settings.agents.description": "Овде ќе може да се конфигурираат поставките за агентот.", + "settings.commands.title": "Наредби", + "settings.commands.description": "Овде ќе може да се конфигурираат поставките за команди.", + "settings.mcp.title": "MCP", + "settings.mcp.description": "Овде ќе може да се конфигурираат поставките MCP.", + "settings.permissions.title": "Дозволи", + "settings.permissions.description": "Контролирајте кои алатки може да ги користи серверот стандардно.", + "settings.permissions.section.tools": "Алатки", + "settings.permissions.toast.updateFailed.title": "Не успеа да се ажурираат дозволите", + "settings.permissions.action.allow": "Дозволи", + "settings.permissions.action.ask": "Прашај", + "settings.permissions.action.deny": "Негирајте", + "settings.permissions.tool.read.title": "Прочитајте", + "settings.permissions.tool.read.description": "Читање датотека (се совпаѓа со патеката на датотеката)", + "settings.permissions.tool.edit.title": "Уреди", + "settings.permissions.tool.edit.description": "Изменете ги датотеките, вклучувајќи уредувања, пишувања и закрпи", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "Усогласувајте ги датотеките користејќи шеми на глоб", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "Пребарувајте ја содржината на датотеката користејќи регуларни изрази", + "settings.permissions.tool.list.title": "Список", + "settings.permissions.tool.list.description": "Наведете датотеки во директориумот", + "settings.permissions.tool.bash.title": "Баш", + "settings.permissions.tool.bash.description": "Извршете shell команди", + "settings.permissions.tool.task.title": "Задача", + "settings.permissions.tool.task.description": "Стартувајте под-агенти", + "settings.permissions.tool.skill.title": "Вештина", + "settings.permissions.tool.skill.description": "Вчитајте вештина по име", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "Стартувај јазични прашања за серверот", + "settings.permissions.tool.todowrite.title": "Todo Напиши", + "settings.permissions.tool.todowrite.description": "Ажурирајте го списокот со задачи", + "settings.permissions.tool.webfetch.title": "Веб Преземи", + "settings.permissions.tool.webfetch.description": "Преземи содржина од URL", + "settings.permissions.tool.websearch.title": "Пребарување на веб", + "settings.permissions.tool.websearch.description": "Пребарувајте на интернет", + "settings.permissions.tool.external_directory.title": "Надворешен директориум", + "settings.permissions.tool.external_directory.description": "Пристап до датотеки надвор од директориумот на проектот", + "settings.permissions.tool.doom_loop.title": "Doom Loop", + "settings.permissions.tool.doom_loop.description": "Откријте повторени повици на алатката со идентичен влез", + "session.delete.failed.title": "Не успеа да се избрише сесијата", + "session.delete.title": "Избришете ја сесијата", + "session.delete.confirm": "Да се ​​избрише сесијата „{{name}}“?", + "session.delete.button": "Избришете ја сесијата", + "workspace.new": "Нов работен простор", + "workspace.type.local": "локални", + "workspace.type.sandbox": "песок", + "workspace.create.failed.title": "Не успеа да се создаде работен простор", + "workspace.delete.failed.title": "Не успеа да се избрише работниот простор", + "workspace.resetting.title": "Се ресетира работниот простор", + "workspace.resetting.description": "Ова може да потрае една минута.", + "workspace.reset.failed.title": "Не успеа да се ресетира работниот простор", + "workspace.reset.success.title": "Ресетирање на работниот простор", + "workspace.reset.success.description": "Работниот простор сега се совпаѓа со стандардната гранка.", + "workspace.error.stillPreparing": "Работниот простор сè уште се подготвува", + "workspace.status.checking": "Се проверува за неспоени промени...", + "workspace.status.error": "Не може да се потврди статусот на git.", + "workspace.status.clean": "Не се откриени неповрзани промени.", + "workspace.status.dirty": "Откриени несоединети промени во овој работен простор.", + "workspace.delete.title": "Избришете го работниот простор", + "workspace.delete.confirm": "Да се ​​избрише работниот простор „{{name}}“?", + "workspace.delete.button": "Избришете го работниот простор", + "workspace.reset.title": "Ресетирајте го работниот простор", + "workspace.reset.confirm": "Да се ​​ресетира работниот простор „{{name}}“?", + "workspace.reset.button": "Ресетирајте го работниот простор", + "workspace.reset.archived.none": "Нема да се архивираат активни сесии.", + "workspace.reset.archived.one": "1 сесија ќе биде архивирана.", + "workspace.reset.archived.many": "{{count}} сесиите ќе бидат архивирани.", + "workspace.reset.note": "Ова ќе го ресетира работниот простор за да одговара на стандардната гранка.", + "dialog.usageExceeded.dontShowAgain": "Не прикажувај повторно", +} diff --git a/packages/app/src/i18n/mn.ts b/packages/app/src/i18n/mn.ts new file mode 100644 index 000000000000..41c4fa085d1a --- /dev/null +++ b/packages/app/src/i18n/mn.ts @@ -0,0 +1,1168 @@ +export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Файл", + "desktop.menu.edit": "Засварлах", + "desktop.menu.view": "Харах", + "desktop.menu.go": "Яв", + "desktop.menu.window": "Цонх", + "desktop.menu.help": "Туслаач", + "desktop.menu.checkForUpdates": "Шинэчлэлтүүдийг шалгана уу...", + "desktop.menu.settings": "Тохиргоо", + "desktop.menu.reloadWebview": "Дахин ачаалах Webview", + "desktop.menu.restart": "Дахин эхлүүлэх", + "desktop.menu.exportLogs": "Лог экспортлох...", + "desktop.menu.newSession": "Шинэ сесс", + "desktop.menu.openProject": "Нээлттэй төсөл...", + "desktop.menu.newWindow": "Шинэ цонх", + "desktop.menu.closeWindow": "Цонхыг хаах", + "desktop.menu.undo": "Буцаах", + "desktop.menu.redo": "Дахин хий", + "desktop.menu.cut": "Таслах", + "desktop.menu.copy": "Хуулбарлах", + "desktop.menu.paste": "Буулгах", + "desktop.menu.delete": "Устгах", + "desktop.menu.selectAll": "Бүгдийг сонгоно уу", + "desktop.menu.toggleSidebar": "Хажуугийн самбарыг сэлгэх", + "desktop.menu.toggleTerminal": "Терминал сэлгэх", + "desktop.menu.toggleFileTree": "Файлын модыг сэлгэх", + "desktop.menu.reload": "Дахин ачаалах", + "desktop.menu.toggleDeveloperTools": "Хөгжүүлэгчийн хэрэгслийг сэлгэх", + "desktop.menu.actualSize": "Бодит хэмжээ", + "desktop.menu.zoomIn": "Томруулах", + "desktop.menu.zoomOut": "Жижигрүүлэх", + "desktop.menu.toggleFullScreen": "Бүтэн дэлгэцийг асаах/унтраах", + "desktop.menu.back": "Буцах", + "desktop.menu.forward": "Урагшаа", + "desktop.menu.previousSession": "Өмнөх хуралдаан", + "desktop.menu.nextSession": "Дараагийн сесс", + "desktop.menu.previousProject": "Өмнөх төсөл", + "desktop.menu.nextProject": "Дараагийн төсөл", + "desktop.menu.minimize": "Багасгах", + "desktop.menu.maximize": "Томруулах", + "desktop.menu.documentation": "OpenCode Баримт бичиг", + "desktop.menu.supportForum": "Дэмжих форум", + "desktop.menu.shareFeedback": "Санал хүсэлтээ хуваалцах", + "desktop.menu.reportBug": "Алдаа мэдээлэх", + "desktop.menu.ariaLabel": "OpenCode цэс", + "desktop.updater.dialog.checkFailed.message": "Шинэчлэлтийг шалгаж чадсангүй.", + "desktop.updater.dialog.checkFailed.title": "Шинэчлэлтийн алдаа", + "desktop.updater.dialog.upToDate.message": "Та шинэчлэгдсэн байна.", + "desktop.updater.dialog.upToDate.title": "Шинэчлэлт байхгүй", + "desktop.updater.dialog.ready.message": "Шинэчлэлтийг {{version}} татсан. Одоо дахин эхлүүлэх үү?", + "desktop.updater.dialog.ready.title": "Шинэчлэлт бэлэн боллоо", + "desktop.updater.dialog.restart": "Дахин эхлүүлэх", + "desktop.updater.dialog.later": "Дараа нь", + "desktop.recovery.action.relaunch": "Дахин эхлүүлэх", + "desktop.recovery.action.exportLogs": "Экспортын бүртгэл", + "desktop.recovery.action.keepWaiting": "Үргэлжлүүлэн хүлээ", + "desktop.recovery.action.quit": "Гарах", + "desktop.recovery.loadFailed": "OpenCode ачаалж чадсангүй", + "desktop.recovery.terminated": "OpenCode цонх гэнэт хаагдсан", + "desktop.recovery.unresponsive": "OpenCode хариу өгөхгүй байна", + "desktop.recovery.unresponsive.detail": + "Та програмаа дахин ажиллуулж, бүртгэлийг нээж эсвэл үргэлжлүүлэн хүлээх боломжтой.", + "desktop.recovery.loadFailed.detail": "Цонх: {{window}}\nURL: {{url}}\nАлдаа: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Цонх: {{window}}\nШалтгаан: {{reason}}\nКод: {{code}}", + "desktop.recovery.unknown": "<үл мэдэгдэх>", + "desktop.dialog.chooseFolder": "Фолдер сонгоно уу", + "desktop.dialog.chooseFile": "Файл сонгоно уу", + "desktop.dialog.saveFile": "Файлыг хадгалах", + "desktop.dialog.files": "Файлууд", + "desktop.server.local": "Орон нутгийн сервер", + "desktop.wsl.error.windowsOnly": "WSL зөвхөн Windows дээр боломжтой", + "desktop.wsl.error.unavailable": "WSL боломжгүй байна", + "desktop.wsl.error.listInstalled": "Суулгасан WSL түгээлтийн жагсаалтыг гаргаж чадсангүй", + "desktop.wsl.error.listOnline": "Онлайн WSL түгээлтийн жагсаалтыг гаргаж чадсангүй", + "desktop.wsl.error.executeDistro": "Дистро дахь тушаалуудыг гүйцэтгэх боломжгүй", + "desktop.wsl.error.installWsl": "WSL суулгаж чадсангүй", + "desktop.wsl.error.installDistro": "Дистро суулгаж чадсангүй: {{distro}}", + "desktop.wsl.error.installOpencode": "OpenCode суулгаж чадсангүй", + "desktop.wsl.error.alreadyAdded": "{{distro}} аль хэдийн нэмэгдсэн байна", + "desktop.wsl.error.opencodeMissing": "opencode энэ түгээлтэд суулгаагүй байна", + "desktop.wsl.error.opencodeCannotRun": "opencode суулгасан боловч ажиллуулж чадсангүй", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode-г {{distro}}-д суулгаагүй байна", + "desktop.wsl.error.updateVersion": + "OpenCode шинэчлэлт дууссан боловч {{distro}} мэдээлсэн хэвээр {{installed}}; хүлээгдэж буй {{expected}}", + "desktop.wsl.error.noVersion": "хувилбар байхгүй", + "desktop.wsl.error.serverExited": "WSL сервер эхлүүлсний дараа гарсан (код={{code}} дохио ={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL сервер эрүүл болохоосоо өмнө гарсан (код={{code}} дохио={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": + "{{distro}} эрүүл мэндийн үзлэгт хамрагдах хажуугийн машины хугацаа {{timeout}}мс дараа дууссан", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} хугацаа {{timeout}}мс дараа дууссан", + "desktop.wsl.error.failedPort": "Портыг авч чадсангүй", + "desktop.picker.error.notSelected": "Файлыг сонгогч сонгоогүй", + "desktop.picker.error.sizeLimit": "Сонгосон хавсралтууд {{limit}} МБ хязгаараас хэтэрсэн", + "command.category.suggested": "Санал болгосон", + "command.category.view": "Харах", + "command.category.project": "Төсөл", + "command.category.provider": "Үйлчилгээ үзүүлэгч", + "command.category.server": "Сервер", + "command.category.session": "Сесс", + "command.category.theme": "Сэдэв", + "command.category.language": "Хэл", + "command.category.file": "Файл", + "command.category.context": "Контекст", + "command.category.terminal": "Терминал", + "command.category.model": "Загвар", + "command.category.mcp": "MCP", + "command.category.agent": "Агент", + "command.category.permissions": "Зөвшөөрөл", + "command.category.workspace": "Ажлын талбар", + "command.category.settings": "Тохиргоо", + "command.logs.export": "Бүртгэлүүдийг экспортлох", + "theme.scheme.system": "Систем", + "theme.scheme.light": "Гэрэл", + "theme.scheme.dark": "Харанхуй", + "command.sidebar.toggle": "Хажуугийн самбарыг сэлгэх", + "command.project.open": "Нээлттэй төсөл", + "command.project.previous": "Өмнөх төсөл", + "command.project.next": "Дараагийн төсөл", + "command.project.index": "Төсөл рүү шилжих {{index}}", + "command.provider.connect": "Үйлчилгээ үзүүлэгчийг холбоно уу", + "command.server.switch": "Сервер солих", + "command.settings.open": "Тохиргоог нээх", + "command.session.previous": "Өмнөх сесс", + "command.session.next": "Дараагийн сесс", + "command.session.previous.unseen": "Өмнөх уншаагүй сесс", + "command.session.next.unseen": "Дараагийн уншаагүй сесс", + "command.session.archive": "Архивын сесс", + "command.palette": "Командын палитр", + "command.theme.cycle": "Циклийн сэдэв", + "command.theme.set": "Сэдвийг ашиглах: {{theme}}", + "command.theme.scheme.cycle": "Циклийн өнгөний схем", + "command.theme.scheme.set": "Өнгөний схемийг ашиглах: {{scheme}}", + "command.language.cycle": "Циклийн хэл", + "command.language.set": "Хэл ашиглах: {{language}}", + "command.session.new": "Шинэ сесс", + "command.file.open": "Файлыг нээх", + "command.tab.close": "Табыг хаах", + "command.tab.reopenClosed": "Хаагдсан табыг дахин нээнэ үү", + "command.context.addSelection": "Контекст сонголт нэмэх", + "command.context.addSelection.description": "Одоогийн файлаас сонгосон мөрүүдийг нэмнэ үү", + "command.input.focus": "Фокус оруулах", + "command.terminal.toggle": "Терминал сэлгэх", + "command.fileTree.toggle": "Файлын модыг сэлгэх", + "command.review.toggle": "Шүүмжийг асаах/унтраах", + "command.terminal.new": "Шинэ терминал", + "command.terminal.new.description": "Шинэ терминалын таб үүсгэ", + "command.steps.toggle": "Алхам сэлгэх", + "command.steps.toggle.description": "Одоогийн мессежийн алхмуудыг харуулах эсвэл нуух", + "command.message.previous": "Өмнөх зурвас", + "command.message.previous.description": "Өмнөх хэрэглэгчийн мессеж рүү очно уу", + "command.message.next": "Дараагийн зурвас", + "command.message.next.description": "Дараагийн хэрэглэгчийн мессеж рүү очно уу", + "command.model.choose": "Загвар сонгох", + "command.model.choose.description": "Өөр загвар сонгоно уу", + "command.mcp.toggle": "MCPс сэлгэх", + "command.mcp.toggle.description": "MCPс сэлгэх", + "command.agent.cycle": "Циклийн агент", + "command.agent.cycle.description": "Дараагийн агент руу шилжих", + "command.agent.cycle.reverse": "Агентийг арагш эргүүлэх", + "command.agent.cycle.reverse.description": "Өмнөх агент руу шилжих", + "command.model.variant.cycle": "Цикл сэтгэх хүчин чармайлт", + "command.model.variant.cycle.description": "Дараагийн хүчин чармайлтын түвшинд шилжинэ", + "command.prompt.mode.shell": "Shell", + "command.prompt.mode.normal": "Промпт", + "command.permissions.autoaccept.enable": "Зөвшөөрлийг автоматаар хүлээн авах", + "command.permissions.autoaccept.disable": "Зөвшөөрлийг автоматаар хүлээн авахаа зогсоо", + "command.workspace.toggle": "Ажлын талбаруудыг сэлгэх", + "command.workspace.toggle.description": + "Хажуугийн самбар дээрх олон ажлын талбарыг идэвхжүүлэх эсвэл идэвхгүй болгох", + "command.session.undo": "Буцаах", + "command.session.undo.description": "Сүүлийн мессежийг буцаах", + "command.session.redo": "Дахин хий", + "command.session.redo.description": "Сүүлийн буцаагдсан мессежийг дахин хийнэ үү", + "command.session.compact": "Компакт сесс", + "command.session.compact.description": "Контекстийн хэмжээг багасгахын тулд сессийг нэгтгэн дүгнэ", + "command.session.fork": "Зурвасаас салаалах", + "command.session.fork.description": "Өмнөх зурвасаас шинэ сесс үүсгэнэ үү", + "command.session.share": "Сеанс хуваалцах", + "command.session.share.description": "Энэ сессийг хуваалцаад URL-г санах ой руу хуулна уу", + "command.session.unshare": "Сешн хуваалцахыг болиулах", + "command.session.unshare.description": "Энэ сессийг хуваалцахаа боль", + "command.session.export": "Экспортын сесс", + "command.session.export.description": "Бүтэн сессийн хуулбарыг JSON нэрээр экспортлох", + "palette.search.placeholder": "Файл, команд, сесс хайх", + "palette.search.placeholder.home": "Командууд болон сешнүүдийг хайх", + "palette.empty": "Илэрц олдсонгүй", + "palette.group.commands": "Тушаалууд", + "palette.group.files": "Файлууд", + "dialog.provider.search.placeholder": "Үйлчилгээ үзүүлэгчдийг хайх", + "dialog.provider.empty": "Үйлчилгээ үзүүлэгч олдсонгүй", + "dialog.provider.group.popular": "Алдартай", + "dialog.provider.group.other": "Бусад", + "dialog.provider.custom.label": "Захиалгат OpenAI-тохиромжтой үйлчилгээ үзүүлэгч", + "dialog.provider.tag.recommended": "Санал болгож байна", + "dialog.provider.opencode.note": "Claude, GPT, Gemini болон бусад загваруудыг сонгон шалгаруулсан", + "dialog.provider.opencode.tagline": "Найдвартай оновчтой загварууд", + "dialog.provider.opencodeGo.tagline": "Хүн бүрт зориулсан хямд өртөгтэй захиалга", + "dialog.provider.anthropic.note": "Pro болон Max зэрэг Claude загварт шууд хандах", + "dialog.provider.copilot.note": "GitHub Copilot-ээр дамжуулан кодлоход туслах хиймэл оюун ухааны загварууд", + "dialog.provider.openai.note": "GPT AI-ийн хурдан, чадвартай ерөнхий ажлуудад зориулсан загварууд", + "dialog.provider.google.note": "Gemini хурдан, бүтэцтэй хариулт өгөх загварууд", + "dialog.provider.openrouter.note": "Нэг үйлчилгээ үзүүлэгчээс дэмжигдсэн бүх загварт хандах", + "dialog.provider.vercel.note": "Ухаалаг чиглүүлэлт бүхий AI загваруудад нэгдсэн хандалт", + "dialog.model.select.title": "Загвар сонгох", + "dialog.model.search.placeholder": "Загвар хайх", + "dialog.model.empty": "Загварын үр дүн алга", + "dialog.model.manage": "Загваруудыг удирдах", + "dialog.model.manage.description": "Загвар сонгогч дээр ямар загвар гарч ирэхийг тохируулна уу.", + "dialog.model.manage.provider.toggle": "Бүх {{provider}} загварыг сэлгэх", + "dialog.model.unpaid.freeModels.title": "OpenCode өгсөн үнэгүй загварууд", + "dialog.model.unpaid.addMore.title": "Алдартай үйлчилгээ үзүүлэгчээс илүү олон загварыг нэмнэ үү", + "dialog.model.unpaid.viewMoreProviders": "Өөр 70 гаруй үйлчилгээ үзүүлэгчийг харна уу", + "dialog.provider.viewAll": "Илүү олон үйлчилгээ үзүүлэгчийг харуулах", + "provider.connect.title": "Холбох {{provider}}", + "provider.connect.title.anthropicProMax": "Claude Pro/Max-аар нэвтэрнэ үү", + "provider.connect.selectMethod": "{{provider}}-д нэвтрэх аргыг сонгоно уу.", + "provider.connect.method.apiKey": "API түлхүүр", + "provider.connect.method.browser": "Хөтөч", + "provider.connect.method.headless": "Толгойгүй", + "provider.connect.status.inProgress": "Зөвшөөрөл хийгдэж байна...", + "provider.connect.status.waiting": "Зөвшөөрөл хүлээж байна...", + "provider.connect.status.failed": "Зөвшөөрөл амжилтгүй болсон: {{error}}", + "provider.connect.apiKey.description": + "Бүртгэлээ холбохын тулд {{provider}} API түлхүүрээ оруулаад OpenCode-д {{provider}} загварыг ашиглана уу.", + "provider.connect.apiKey.label": "{{provider}} API түлхүүр", + "provider.connect.apiKey.placeholder": "API түлхүүр", + "provider.connect.apiKey.required": "API түлхүүр шаардлагатай", + "provider.connect.opencodeZen.line1": + "OpenCode Zen нь танд кодлох агентуудад зориулсан найдвартай оновчтой загваруудын цуглуулгад хандах боломжийг олгоно.", + "provider.connect.opencodeZen.line2": + "Ганц API товчлуураар та Claude, GPT, Gemini, GLM болон бусад загваруудад хандах боломжтой болно.", + "provider.connect.opencodeZen.visit.prefix": "зочилно уу", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": "API түлхүүрээ авахын тулд.", + "provider.connect.oauth.code.visit.prefix": "зочилно уу", + "provider.connect.oauth.code.visit.link": "энэ холбоос", + "provider.connect.oauth.code.visit.suffix": + "OpenCode дахь {{provider}} загваруудыг ашиглан бүртгэлээ холбохын тулд зөвшөөрлийн кодыг цуглуулах.", + "provider.connect.oauth.code.label": "{{method}} зөвшөөрлийн код", + "provider.connect.oauth.code.placeholder": "Зөвшөөрлийн код", + "provider.connect.oauth.code.required": "Зөвшөөрлийн код шаардлагатай", + "provider.connect.oauth.code.invalid": "Зөвшөөрлийн код буруу", + "provider.connect.oauth.auto.visit.prefix": "зочилно уу", + "provider.connect.oauth.auto.visit.link": "энэ холбоос", + "provider.connect.oauth.auto.visit.suffix": + "Доорх кодыг оруулаад бүртгэлээ холбож, OpenCode-д {{provider}} загварыг ашиглана уу.", + "provider.connect.oauth.auto.confirmationCode": "Баталгаажуулах код", + "provider.connect.toast.connected.title": "{{provider}} холбогдсон", + "provider.connect.toast.connected.description": "{{provider}} загваруудыг ашиглах боломжтой боллоо.", + "provider.custom.title": "Захиалгат үйлчилгээ үзүүлэгч", + "provider.custom.unavailable": "Тусгай үйлчилгээ үзүүлэгчид энэ сервер дээр боломжгүй байна", + "provider.custom.description.prefix": "OpenAI нийцтэй үйлчилгээ үзүүлэгчийг тохируулна уу. -г үзнэ үү", + "provider.custom.description.link": "үйлчилгээ үзүүлэгчийн тохиргооны баримтууд", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "Үйлчилгээ үзүүлэгчийн ID", + "provider.custom.field.providerID.placeholder": "миний үйлчилгээ үзүүлэгч", + "provider.custom.field.providerID.description": "Жижиг үсэг, тоо, зураас эсвэл доогуур зураас", + "provider.custom.field.name.label": "Дэлгэцийн нэр", + "provider.custom.field.name.placeholder": "Миний AI үйлчилгээ үзүүлэгч", + "provider.custom.field.baseURL.label": "Үндсэн URL", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "API түлхүүр", + "provider.custom.field.apiKey.placeholder": "API түлхүүр", + "provider.custom.field.apiKey.description": + "Нэмэлт. Хэрэв та гарчиг ашиглан баталгаажуулалтыг удирдаж байгаа бол хоосон орхино уу.", + "provider.custom.models.label": "Загварууд", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "загвар ID", + "provider.custom.models.name.label": "Нэр", + "provider.custom.models.name.placeholder": "Дэлгэцийн нэр", + "provider.custom.models.remove": "Загварыг арилгах", + "provider.custom.models.add": "Загвар нэмэх", + "provider.custom.headers.label": "Гарчиг (заавал биш)", + "provider.custom.headers.key.label": "Толгой хэсэг", + "provider.custom.headers.key.placeholder": "Толгой хэсэг-Нэр", + "provider.custom.headers.value.label": "Үнэ цэнэ", + "provider.custom.headers.value.placeholder": "үнэ цэнэ", + "provider.custom.headers.remove": "Толгой хэсгийг арилгах", + "provider.custom.headers.add": "Гарчиг нэмэх", + "provider.custom.error.providerID.required": "Үйлчилгээ үзүүлэгчийн ID шаардлагатай", + "provider.custom.error.providerID.format": "Жижиг үсэг, тоо, зураас эсвэл доогуур зураас ашиглана уу", + "provider.custom.error.providerID.exists": "Энэ үйлчилгээ үзүүлэгчийн ID аль хэдийн байна", + "provider.custom.error.name.required": "Дэлгэцийн нэр шаардлагатай", + "provider.custom.error.baseURL.required": "URL суурь шаардлагатай", + "provider.custom.error.baseURL.format": "http:// эсвэл https:// гэж эхлэх ёстой", + "provider.custom.error.required": "Шаардлагатай", + "provider.custom.error.duplicate": "Давхардсан", + "provider.disconnect.toast.disconnected.title": "{{provider}} салгагдсан", + "provider.disconnect.toast.disconnected.description": "{{provider}} загварууд байхгүй болсон.", + "model.tag.free": "Үнэгүй", + "model.tag.latest": "Хамгийн сүүлийн үеийн", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "текст", + "model.input.image": "зураг", + "model.input.audio": "аудио", + "model.input.video": "видео", + "model.input.pdf": "pdf", + "model.tooltip.allows": "Зөвшөөрөгдсөн: {{inputs}}", + "model.tooltip.context.label": "Контекст", + "model.tooltip.inputs": "Оролтууд", + "model.tooltip.model": "Загвар", + "model.tooltip.provider": "Үйлчилгээ үзүүлэгч", + "model.tooltip.reasoning": "Үндэслэл", + "model.tooltip.reasoning.allowed": "Үндэслэл гаргахыг зөвшөөрдөг", + "model.tooltip.reasoning.none": "Ямар ч үндэслэлгүй", + "model.tooltip.context": "Контекст хязгаар {{limit}}", + "common.search.placeholder": "Хайх", + "common.goBack": "Буцах", + "common.goForward": "Урагшаа чиглүүлэх", + "common.loading": "Ачааж байна", + "common.loading.ellipsis": "...", + "common.cancel": "Цуцлах", + "common.clear": "Тодорхой", + "common.open": "Нээлттэй", + "common.connect": "Холбох", + "common.disconnect": "Салга", + "common.continue": "Үргэлжлүүлэх", + "common.submit": "Илгээх", + "common.save": "Хадгалах", + "common.saving": "Хадгалж байна...", + "common.default": "Өгөгдмөл", + "common.attachment": "хавсралт", + "prompt.placeholder.shell": "shell командыг оруулна уу... {{example}}", + "prompt.placeholder.normal": 'Юу ч асуугаарай... "{{example}}"', + "prompt.placeholder.simple": "Юу ч асуу...", + "prompt.placeholder.summarizeComments": "Сэтгэгдэлийг нэгтгэн дүгнэх...", + "prompt.placeholder.summarizeComment": "Сэтгэгдлээ нэгтгэн дүгнэх...", + "prompt.mode.shell": "Shell", + "prompt.mode.normal": "Промпт", + "prompt.mode.shell.exit": "esc товчийг дарна уу", + "session.child.promptDisabled": "Subagent сессийг сануулах боломжгүй.", + "session.child.backToParent": "Үндсэн хуралдаан руу буцах.", + "prompt.example.1": "Кодын сан дахь TODO-г засах", + "prompt.example.2": "Энэ төслийн технологийн стек нь юу вэ?", + "prompt.example.3": "Эвдэрсэн тестийг засах", + "prompt.example.4": "Баталгаажуулалт хэрхэн ажилладагийг тайлбарлана уу", + "prompt.example.5": "Аюулгүй байдлын сул талуудыг олж засварлах", + "prompt.example.6": "Хэрэглэгчийн үйлчилгээний нэгжийн тестийг нэмнэ үү", + "prompt.example.7": "Уншихад хялбар болгохын тулд энэ функцийг дахин тохируулна уу", + "prompt.example.8": "Энэ алдаа юу гэсэн үг вэ?", + "prompt.example.9": "Энэ асуудлыг засахад тусална уу", + "prompt.example.10": "API бичиг баримт үүсгэх", + "prompt.example.11": "Өгөгдлийн сангийн асуулгыг оновчтой болгох", + "prompt.example.12": "Оролтын баталгаажуулалтыг нэмнэ үү", + "prompt.example.13": "Шинэ бүрэлдэхүүн хэсэг үүсгэх...", + "prompt.example.14": "Би энэ төслийг хэрхэн хэрэгжүүлэх вэ?", + "prompt.example.15": "Шилдэг туршлагыг авахын тулд миний кодыг шалгана уу", + "prompt.example.16": "Энэ функцэд алдаа засах аргыг нэмнэ үү", + "prompt.example.17": "Энэ regex загварыг тайлбарла", + "prompt.example.18": "Үүнийг TypeScript болгон хөрвүүлэх", + "prompt.example.19": "Кодын санд бүртгэл нэмэх", + "prompt.example.20": "Ямар хамаарал хуучирсан бэ?", + "prompt.example.21": "Шилжилтийн скрипт бичихэд тусална уу", + "prompt.example.22": "Энэ төгсгөлийн цэгт кэш хийх", + "prompt.example.23": "Энэ жагсаалтад хуудасны тэмдэглэгээ нэмнэ үү", + "prompt.example.24": "CLI тушаал үүсгэх...", + "prompt.example.25": "Энд орчны хувьсагч хэрхэн ажилладаг вэ?", + "prompt.popover.emptyResults": "Тохирох илэрц алга", + "prompt.popover.emptyCommands": "Тохирох команд алга", + "prompt.dropzone.label": "Зураг, PDFс, эсвэл текст файлуудыг энд буулгана уу", + "prompt.dropzone.file.label": "@дурдах файл руу буулгана уу", + "prompt.slash.badge.custom": "заншил", + "prompt.slash.badge.skill": "ур чадвар", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "идэвхтэй", + "prompt.context.includeActiveFile": "Идэвхтэй файлыг оруулах", + "prompt.context.removeActiveFile": "Контекстээс идэвхтэй файлыг устгана уу", + "prompt.context.removeFile": "Контекстээс файлыг устгах", + "prompt.action.attachFile": "Файл нэмэх", + "prompt.menu.addImagesAndFiles": "Файл нэмэх гэх мэт", + "prompt.menu.imagesAndFiles": "Зураг болон файлууд", + "prompt.menu.commands": "Тушаалууд", + "prompt.menu.context": "Контекст", + "prompt.menu.shellCommand": "Shell тушаал", + "prompt.attachment.remove": "Хавсралтыг устгана уу", + "prompt.action.send": "Илгээх", + "prompt.action.stop": "Зогс", + "prompt.toast.pasteUnsupported.title": "Дэмжигдээгүй хавсралт", + "prompt.toast.pasteUnsupported.description": "Энд зөвхөн зураг, PDFс, эсвэл текст файлыг хавсаргах боломжтой.", + "prompt.toast.attachmentDuplicate.title": "Энэ файлыг аль хэдийн байршуулсан байна", + "prompt.toast.modelAgentRequired.title": "Агент болон загварыг сонгоно уу", + "prompt.toast.modelAgentRequired.description": "Промпт илгээхээсээ өмнө агент болон загварыг сонгоно уу.", + "prompt.toast.worktreeCreateFailed.title": "Git worktree үүсгэж чадсангүй", + "prompt.toast.sessionCreateFailed.title": "Сесс үүсгэж чадсангүй", + "prompt.toast.shellSendFailed.title": "shell тушаалыг илгээж чадсангүй", + "prompt.toast.commandSendFailed.title": "Командыг илгээж чадсангүй", + "prompt.toast.promptSendFailed.title": "Промпт илгээж чадсангүй", + "prompt.toast.promptSendFailed.description": "Сессийг сэргээх боломжгүй", + "dialog.mcp.title": "MCPсек", + "dialog.mcp.description": "{{total}}-ийн {{enabled}}-г идэвхжүүлсэн", + "dialog.mcp.empty": "Тохируулсан MCPс байхгүй", + "dialog.lsp.empty": "LSPс файлын төрлөөс автоматаар илэрсэн", + "dialog.plugins.empty": "opencode.json-д тохируулсан залгаасууд", + "mcp.status.connected": "холбогдсон", + "mcp.status.failed": "амжилтгүй болсон", + "mcp.status.needs_auth": "auth хэрэгтэй", + "mcp.status.disabled": "тахир дутуу болсон", + "mcp.auth.clickToAuthenticate": "Баталгаажуулахын тулд товшино уу", + "dialog.fork.empty": "Салаалах зурвас алга", + "dialog.directory.search.placeholder": "Фолдер хайх", + "dialog.directory.empty": "Ямар ч фолдер олдсонгүй", + "dialog.directory.action.selectFile": "Файл сонгоно уу", + "dialog.directory.action.selectFolder": "Фолдер сонгоно уу", + "dialog.directory.root": "Үндэс", + "dialog.directory.parent": "Эцэг эх", + "dialog.directory.readError": "Энэ фолдерыг унших боломжгүй байна", + "app.server.unreachable": "{{server}}-д хүрч чадсангүй", + "app.server.retrying": "Автоматаар дахин оролдож байна...", + "app.server.otherServers": "Бусад серверүүд", + "dialog.server.title": "Серверүүд", + "dialog.server.description": "Энэ апп аль OpenCode серверт холбогдохыг сэлгэнэ үү.", + "dialog.server.search.placeholder": "Хайлтын серверүүд", + "dialog.server.empty": "Одоогоор сервер байхгүй байна", + "dialog.server.add.title": "Сервер нэмэх", + "dialog.server.add.url": "Серверийн хаяг", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "Сервертэй холбогдож чадсангүй", + "dialog.server.add.checking": "Шалгаж байна...", + "dialog.server.add.button": "Сервер нэмэх", + "dialog.server.add.name": "Серверийн нэр (заавал биш)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "Хэрэглэгчийн нэр (заавал биш)", + "dialog.server.add.usernamePlaceholder": "хэрэглэгчийн нэр", + "dialog.server.add.password": "Нууц үг (заавал биш)", + "dialog.server.add.passwordPlaceholder": "нууц үг", + "dialog.server.edit.title": "Сервер засах", + "dialog.server.default.title": "Өгөгдмөл сервер", + "dialog.server.default.description": + "Орон нутгийн серверийг эхлүүлэхийн оронд програм эхлүүлэх үед энэ сервертэй холбогдоно уу. Дахин эхлүүлэх шаардлагатай.", + "dialog.server.default.none": "Ямар ч сервер сонгогдоогүй байна", + "dialog.server.default.set": "Одоогийн серверийг өгөгдмөл болгож тохируулна уу", + "dialog.server.default.clear": "Тодорхой", + "dialog.server.action.remove": "Серверийг устгах", + "dialog.server.menu.edit": "Засварлах", + "dialog.server.menu.default": "Өгөгдмөл болгож тохируулах", + "dialog.server.menu.defaultRemove": "Өгөгдмөлийг арилгах", + "dialog.server.menu.delete": "Устгах", + "dialog.server.current": "Одоогийн сервер", + "dialog.server.status.default": "Өгөгдмөл", + "wsl.server.add": "WSL сервер нэмнэ үү", + "wsl.server.addShort": "WSL нэмэх", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "WSL сервер", + "wsl.server.retryStart": "Дахин оролдох", + "wsl.server.updating": "Шинэчилж байна...", + "wsl.onboarding.step.distro": "Дистро сонгоно уу", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "WSL-г шалгаж байна...", + "wsl.onboarding.restartRequired": "Windows-г WSL суулгаж дуусгахын тулд дахин эхлүүлэх шаардлагатай.", + "wsl.onboarding.ready": "WSL бэлэн боллоо.", + "wsl.onboarding.required": "Үргэлжлүүлэхийн тулд WSL шаардлагатай.", + "wsl.onboarding.checkingDistros": "Дистрог шалгаж байна...", + "wsl.onboarding.installingDistro": "{{distro}} суулгаж байна...", + "wsl.onboarding.checkingDistro": "{{distro}}-г шалгаж байна...", + "wsl.onboarding.listingDistros": "Жагсаалтын түгээлтүүд...", + "wsl.onboarding.distroReady": "{{distro}} бэлэн боллоо.", + "wsl.onboarding.distroNotInstalled": "{{distro}} суулгаагүй байна.", + "wsl.onboarding.openDistroOnce": "Тохиргоог дуусгахын тулд {{distro}}-г нэг удаа нээнэ үү.", + "wsl.onboarding.finishingDistro": "{{distro}}-н тохиргоог дуусгаж байна.", + "wsl.onboarding.pickDistro": "Дистро сонгох эсвэл доороос нэгийг суулгана уу.", + "wsl.onboarding.checkingOpencode": "OpenCode-г шалгаж байна...", + "wsl.onboarding.checkingOpencodeIn": "{{distro}} дахь OpenCode-г шалгаж байна...", + "wsl.onboarding.updatingOpencode": "Шинэчилж байна OpenCode...", + "wsl.onboarding.updatingOpencodeIn": "{{distro}}-д OpenCode-г шинэчилж байна...", + "wsl.onboarding.updateOpencodeIn": "OpenCode-г {{distro}}-д шинэчилнэ үү.", + "wsl.onboarding.updateOpencode": "Шинэчлэх OpenCode", + "wsl.onboarding.opencodeReadyIn": "OpenCode {{distro}}-д бэлэн боллоо.", + "wsl.onboarding.opencodeReady": "OpenCode бэлэн боллоо.", + "wsl.onboarding.installOpencodeIn": "{{distro}}-д OpenCode суулгана уу.", + "wsl.onboarding.installOpencode": "OpenCode суулгах", + "wsl.onboarding.chooseDistroFirst": "Эхлээд дистро сонгоно уу.", + "wsl.onboarding.loadFailed": "WSL төлөвийг ачаалж чадсангүй.", + "wsl.onboarding.loading": "Ачааж байна...", + "wsl.onboarding.installedDistros": "Суулгасан түгээлтүүд", + "wsl.onboarding.checkAgain": "Дахин шалгана уу", + "wsl.onboarding.distroStatus.ready": "Бэлэн", + "wsl.onboarding.distroStatus.checking": "Шалгаж байна...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode суулгаагүй байна", + "wsl.onboarding.distroStatus.missingTools": "bash, curl алга", + "wsl.onboarding.distroStatus.unsupported": "Дэмжигдээгүй · WSL 2 ашиглах", + "wsl.onboarding.needAnotherDistro": "Өөр дистро хэрэгтэй байна уу?", + "wsl.onboarding.needAnotherDistroHint": "WSL каталогоос Linux түгээлтийг суулгана уу", + "wsl.onboarding.wslNotInstalled.title": "WSL суулгаагүй байна", + "wsl.onboarding.wslNotInstalled.description": + "OpenCode WSL сервер нэмэхийн өмнө WSL (Windows Subsystem for Linux) шаардлагатай", + "wsl.onboarding.wslUnavailable.title": "WSL боломжгүй", + "wsl.onboarding.wslUnavailable.description": "OpenCode энэ машин дээр WSL-г баталгаажуулж чадсангүй.", + "wsl.onboarding.installWsl": "WSL суулгах", + "wsl.onboarding.windowsRestartRequired": + "WSL-г суулгаж дуусгахын тулд Windows-г дахин эхлүүлээд OpenCode-г дахин нээнэ үү.", + "wsl.onboarding.next": "Дараа нь", + "wsl.onboarding.refresh": "Сэргээх", + "wsl.onboarding.allDistrosAdded": "Бүх суулгасан түгээлтүүд аль хэдийн нэмэгдсэн байна.", + "wsl.onboarding.noDistros": "Одоогоор ямар ч түгээлт илрээгүй байна.", + "wsl.onboarding.install": "Суулгах", + "wsl.onboarding.installing": "Суулгаж байна...", + "wsl.onboarding.installDistro": "Дистро суулгана уу", + "wsl.onboarding.searchDistros": "Дистро хайх", + "wsl.onboarding.wsl2Required": "WSL 2 шаардлагатай.", + "wsl.onboarding.toolsRequired": "Энэ дистрод bash болон curl хэрэгтэй.", + "wsl.onboarding.openTerminal": "Терминал нээх", + "wsl.onboarding.path": "Зам: {{path}}", + "wsl.onboarding.notFound": "олдсонгүй", + "wsl.onboarding.version": "Хувилбар: {{version}}", + "wsl.onboarding.unknown": "үл мэдэгдэх", + "wsl.onboarding.desktopVersion": "ширээний компьютер {{version}}", + "wsl.onboarding.versionMismatch": "Суулгасан хувилбар нь ширээний програмын хувилбартай таарахгүй байна.", + "wsl.onboarding.adding": "Нэмэж байна...", + "help.tabs.toast.ariaLabel": "Табуудыг танилцуулж байна. Таб ашиглан ажил болон идэвхтэй сешнүүдийг зохион байгуул", + "help.tabs.toast.dismiss": "Табын мэдээллийг хаах", + "help.tabs.title": "Табуудыг танилцуулж байна", + "help.tabs.description": "Таб ашиглан ажил болон идэвхтэй сешнүүдийг зохион байгуул", + "help.tabs.date": "Долдугаар сарын 14", + "help.tabs.introduction": "OpenCode Desktop одоо табуудыг тойрон бүтээгдсэн.", + "help.tabs.sessions": + "Таб дээрээс шинэ сесс эхлүүлэх эсвэл аль нэг төслөөсөө одоо байгаа сессийг нээнэ үү. Шинэ зүйл эхлүүлж байхдаа шинэ таб нээж, хийж дуусаад хаа.", + "help.tabs.organize": + "Цөөн хэдэн табыг нээлттэй байлгах нь идэвхтэй сешнүүдийг зохион байгуулахад хялбар болгодог. Хэрэв та тэдгээрийг эргэн тойронд байлгахаар төлөвлөж байгаа бол табуудыг мартагдашгүй зүйл болгон өөрчил.", + "help.tabs.home": + "Та бүх сесс болон төслүүдээ шинэ үндсэн нүүрэн дээрээс олох болно. Сешн сонгох нь таб дээр нээгдэнэ.", + "help.tabs.persistence": "Таныг програмыг дахин нээхэд таны таб нээлттэй хэвээр байна.", + "help.tabs.worktrees": + 'Шинэ загвар нь одоохондоо Git Worktrees-г дэмждэггүй, удахгүй гарах болно. Хэрэв та өмнөх бүдүүвчийг үргэлжлүүлэн ашиглахыг хүсвэл "Тохиргоо" хэсэгт байрлуулалт хооронд сэлгэх боломжтой. Хэдэн долоо хоногийн дараа шинэ зохион байгуулалт байнгын болно гэдгийг санаарай.', + "server.row.noUsername": "хэрэглэгчийн нэр байхгүй", + "dialog.project.edit.title": "Төслийг засварлах", + "dialog.project.edit.name": "Нэр", + "dialog.project.edit.icon": "Дүрс", + "dialog.project.edit.icon.alt": "Төслийн дүрс тэмдэг", + "dialog.project.edit.icon.hint": "Зураг дээр дарж эсвэл чирнэ үү", + "dialog.project.edit.icon.recommended": "Санал болгож буй: 128x128px", + "dialog.project.edit.color": "Өнгө", + "dialog.project.edit.color.select": "{{color}} өнгө сонгоно уу", + "dialog.project.edit.worktree.startup": "Ажлын талбарыг эхлүүлэх скрипт", + "dialog.project.edit.worktree.startup.description": "Шинэ ажлын талбар (Git worktree) үүсгэсний дараа ажиллана.", + "dialog.project.edit.worktree.startup.placeholder": "жишээ нь bun install", + "dialog.releaseNotes.action.getStarted": "Эхлээрэй", + "dialog.releaseNotes.action.next": "Дараа нь", + "dialog.releaseNotes.action.hideFuture": "Ирээдүйд эдгээрийг бүү харуул", + "dialog.releaseNotes.media.alt": "Хувилбарыг урьдчилан үзэх", + "context.breakdown.title": "Контекст задаргаа", + "context.breakdown.note": + 'Оролтын токенуудын ойролцоогоор задаргаа. "Бусад" нь багаж хэрэгслийн тодорхойлолт болон нэмэлт зардлыг агуулдаг.', + "context.breakdown.system": "Систем", + "context.breakdown.user": "Хэрэглэгч", + "context.breakdown.assistant": "Туслах", + "context.breakdown.tool": "Хэрэгслийн дуудлага", + "context.breakdown.other": "Бусад", + "context.systemPrompt.title": "Системийн промпт", + "context.rawMessages.title": "Түүхий мессежүүд", + "context.export.session": "Экспортын сесс", + "context.stats.session": "Сесс", + "context.stats.messages": "Мессежүүд", + "context.stats.provider": "Үйлчилгээ үзүүлэгч", + "context.stats.model": "Загвар", + "context.stats.limit": "Контекст хязгаар", + "context.stats.totalTokens": "Нийт жетон", + "context.stats.usage": "Хэрэглээ", + "context.stats.inputTokens": "Токен оруулах", + "context.stats.outputTokens": "Гаралтын токенууд", + "context.stats.reasoningTokens": "Үзэл бодлоо илэрхийлэх токенууд", + "context.stats.cacheTokens": "Кэш токенууд (унших/бичих)", + "context.stats.userMessages": "Хэрэглэгчийн мессежүүд", + "context.stats.assistantMessages": "Туслахын мессежүүд", + "context.stats.totalCost": "Нийт зардал", + "context.stats.sessionCreated": "Сеанс үүсгэсэн", + "context.stats.lastActivity": "Сүүлийн үйл ажиллагаа", + "context.usage.tokens": "Токенууд", + "context.usage.usage": "Хэрэглээ", + "context.usage.cost": "Зардал", + "context.usage.clickToView": "Контекстийг харахын тулд товшино уу", + "context.usage.view": "Контекст ашиглалтыг харах", + "language.en": "Англи", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Герман", + "language.es": "Испани", + "language.fr": "Франц", + "language.da": "Данск", + "language.ja": "日本語", + "language.pl": "Польски", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Норск", + "language.br": "Português (Бразил)", + "language.bs": "Босански", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Турк", + "toast.language.title": "Хэл", + "toast.language.description": "{{language}} руу шилжсэн", + "toast.theme.title": "Загварыг өөрчилсөн", + "toast.scheme.title": "Өнгөний схем", + "toast.workspace.enabled.title": "Ажлын талбарыг идэвхжүүлсэн", + "toast.workspace.enabled.description": "Хэд хэдэн Git worktree-г хажуугийн мөрөнд харуулав", + "toast.workspace.disabled.title": "Ажлын талбарыг идэвхгүй болгосон", + "toast.workspace.disabled.description": "Хажуугийн мөрөнд зөвхөн үндсэн Git worktree-г харуулав", + "toast.permissions.autoaccept.on.title": "Зөвшөөрлийг автоматаар хүлээн авах", + "toast.permissions.autoaccept.on.description": "Зөвшөөрлийн хүсэлт автоматаар батлагдах болно", + "toast.permissions.autoaccept.off.title": "Зөвшөөрлийг автоматаар хүлээн авахаа больсон", + "toast.permissions.autoaccept.off.description": "Зөвшөөрлийн хүсэлтэд зөвшөөрөл шаардлагатай", + "toast.model.none.title": "Ямар ч загвар сонгогдоогүй байна", + "toast.model.none.description": "Энэ сессийг дүгнэхийн тулд үйлчилгээ үзүүлэгчийг холбоно уу", + "toast.file.loadFailed.title": "Файлыг ачаалж чадсангүй", + "toast.file.listFailed.title": "Файлуудыг жагсааж чадсангүй", + "toast.context.noLineSelection.title": "Шугамын сонголт байхгүй", + "toast.context.noLineSelection.description": "Эхлээд файлын табаас мөрийн мужийг сонгоно уу.", + "toast.session.share.copyFailed.title": "URL-г санах ой руу хуулж чадсангүй", + "toast.session.share.success.title": "Сесс хуваалцсан", + "toast.session.share.success.description": "Хуваалцах URL санах ойд хуулсан!", + "toast.session.share.failed.title": "Сешн хуваалцаж чадсангүй", + "toast.session.share.failed.description": "Сешн хуваалцах явцад алдаа гарлаа", + "toast.session.unshare.success.title": "Сешн хуваалцаагүй", + "toast.session.unshare.success.description": "Харилцан хуваалцалтыг амжилттай болиуллаа!", + "toast.session.unshare.failed.title": "Сешн хуваалцахыг болиулж чадсангүй", + "toast.session.unshare.failed.description": "Сессийг хуваалцахгүй байхад алдаа гарлаа", + "toast.session.export.success.title": "Сешн экспортлогдсон", + "toast.session.export.success.description": "сессийг {{filename}}-д хадгалсан", + "toast.session.export.failed.title": "Сешн экспорт хийж чадсангүй", + "toast.session.export.failed.description": "Сешн экспортлох явцад алдаа гарлаа", + "toast.session.listFailed.title": "{{project}} сешнүүдийг ачаалж чадсангүй", + "toast.project.reloadFailed.title": "{{project}}-г дахин ачаалж чадсангүй", + "toast.update.title": "Шинэчлэлт боломжтой", + "toast.update.description": "OpenCode ({{version}}) шинэ хувилбарыг одоо суулгах боломжтой.", + "toast.update.action.installRestart": "Суулгаад дахин эхлүүлнэ үү", + "toast.update.action.notYet": "Одоохондоо үгүй", + "error.page.title": "Ямар нэг алдаа гарлаа", + "error.page.description": "Програмыг ачаалах явцад алдаа гарлаа.", + "error.page.description.localServerStartup": "Дотоод серверийг эхлүүлэх явцад алдаа гарлаа.", + "error.page.details.label": "Алдааны дэлгэрэнгүй мэдээлэл", + "error.page.action.restart": "Дахин эхлүүлэх", + "error.page.action.report": "Алдаа мэдээлэх", + "error.page.action.reported": "Алдаа мэдээлсэн", + "error.page.action.exportLogs": "Экспортын бүртгэл", + "error.page.action.checking": "Шалгаж байна...", + "error.page.action.checkUpdates": "Шинэчлэлт байгаа эсэхийг шалгана уу", + "error.page.action.updateTo": "{{version}} руу шинэчлэх", + "error.page.circular": "[Тойрог]", + "error.page.report.prefix": "Энэ алдааг OpenCode багт мэдэгдэнэ үү", + "error.page.report.discord": "Discord дээр", + "error.page.version": "Хувилбар: {{version}}", + "error.dev.rootNotFound": + "Үндэс элемент олдсонгүй. Та үүнийг index.html дээрээ нэмэхээ мартсан уу? Эсвэл id атрибутыг буруу бичсэн байж магадгүй юм уу?", + "error.serverSync.connectFailed": "Сервертэй холбогдож чадсангүй. `{{url}}` дээр ажиллаж байгаа сервер байна уу?", + "error.serverSDK.noServerAvailable": "Сервер байхгүй байна", + "error.serverSDK.serverNotAvailable": "Сервер байхгүй байна", + "error.childStore.persistedCacheCreateFailed": "Тогтвортой кэшийг үүсгэж чадсангүй", + "error.childStore.persistedProjectMetadataCreateFailed": "Тогтвортой төслийн мета өгөгдлийг үүсгэж чадсангүй", + "error.childStore.persistedProjectIconCreateFailed": "Тогтвортой төслийн дүрсийг үүсгэж чадсангүй", + "error.childStore.storeCreateFailed": "Дэлгүүр үүсгэж чадсангүй", + "directory.error.invalidUrl": "URL дотор буруу лавлах.", + "error.chain.unknown": "Үл мэдэгдэх алдаа", + "error.server.invalidConfiguration": "Буруу тохиргоо", + "error.chain.causedBy": "Шалтгаан:", + "error.chain.apiError": "API алдаа", + "error.chain.status": "Статус: {{status}}", + "error.chain.retryable": "Дахин оролдох боломжтой: {{retryable}}", + "error.chain.responseBody": "Хариу өгөх байгууллага:\n{{body}}", + "error.chain.didYouMean": "Та: {{suggestions}} гэсэн үг үү", + "error.chain.modelNotFound": "Загвар олдсонгүй: {{provider}}/{{model}}", + "error.chain.checkConfig": "Өөрийн тохиргооны (opencode.json) үйлчилгээ үзүүлэгч/загварын нэрийг шалгана уу", + "error.chain.mcpFailed": + 'MCP сервер "{{name}}" амжилтгүй боллоо. OpenCode нь MCP баталгаажуулалтыг хараахан дэмждэггүйг анхаарна уу.', + "error.chain.providerAuthFailed": + "Үйлчилгээ үзүүлэгчийн баталгаажуулалт амжилтгүй болсон ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + '"{{provider}}" үйлчилгээ үзүүлэгчийг эхлүүлж чадсангүй. Итгэмжлэл болон тохиргоог шалгана уу.', + "error.chain.configJsonInvalid": "{{path}} дээрх тохиргооны файл хүчингүй байна JSON(C)", + "error.chain.configJsonInvalidWithMessage": "{{path}} дээрх тохиргооны файл буруу байна JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + '{{path}} доторх "{{dir}}" лавлах хүчингүй байна. Лавлах нэрийг "{{suggestion}}" болгож өөрчлөх эсвэл устгана уу. Энэ бол нийтлэг үсгийн алдаа юм.', + "error.chain.configFrontmatterError": "{{path}} дахь frontmatter-г задлан шинжилж чадсангүй:\n{{message}}", + "error.chain.configInvalid": "{{path}} дээрх тохиргооны файл буруу байна", + "error.chain.configInvalidWithMessage": "{{path}} дээрх тохиргооны файл буруу байна: {{message}}", + "notification.permission.title": "Зөвшөөрөл шаардлагатай", + "notification.permission.description": "{{projectName}} дахь {{sessionTitle}} зөвшөөрөл шаардлагатай", + "notification.question.title": "Асуулт", + "notification.question.description": "{{projectName}} дэх {{sessionTitle}} асуулт байна", + "notification.action.goToSession": "Сесс рүү оч", + "notification.session.responseReady.title": "Хариулт бэлэн", + "notification.session.error.title": "Сешн алдаа", + "notification.session.error.fallbackDescription": "Алдаа гарлаа", + "home.recentProjects": "Сүүлийн үеийн төслүүд", + "home.empty.title": "Сүүлийн үеийн төсөл байхгүй", + "home.empty.description": "Орон нутгийн төсөл нээж эхэл", + "home.title": "Гэр", + "home.projects": "Төслүүд", + "home.project.add": "Төсөл нэмэх", + "home.recentlyClosed": "Саяхан хаагдсан", + "home.server.collapse": "Серверийн төслүүдийг нураах", + "home.server.expand": "Серверийн төслүүдийг өргөжүүлэх", + "home.sessions.search.placeholder": "Сесс хайх", + "home.sessions.search.placeholder.scoped": "{{scope}} доторх сешнүүдийг хайх", + "home.sessions.search.sessions": "Хурал", + "home.sessions.search.noResults": "{{query}}-д зориулсан сесс олдсонгүй", + "home.sessions.empty": "Одоохондоо энд юу ч алга", + "home.sessions.empty.description": "Эхлэхийн тулд сесс үүсгэ", + "home.sessions.group.today": "Өнөөдөр", + "home.sessions.group.yesterday": "Өчигдөр", + "home.sessions.group.older": "Хуучин", + "home.providerTip": + "Claude, GPT, Gemini гэх мэт бусад загваруудыг ашиглахын тулд 75+ үйлчилгээ үзүүлэгчтэй холбогдоно уу.", + "session.tab.session": "Сесс", + "session.tab.review": "Хяналт", + "session.tab.context": "Контекст", + "session.tab.unknown": "Үл мэдэгдэх сесс", + "session.panel.reviewAndFiles": "Хяналт ба файлууд", + "session.error.notFound": "Энэ сесс олдохгүй байна", + "session.error.notFound.description": "Энэ таб нь энэ сервер дээр байхгүй сессийг заадаг.", + "session.error.notFound.closeTab": "Табыг хаах", + "session.error.serverConnection": "Энэ серверт холбогдох боломжгүй байна", + "session.review.filesChanged": "Файлууд өөрчлөгдсөн {{count}}", + "session.review.change.one": "Өөрчлөх", + "session.review.change.other": "Өөрчлөлтүүд", + "session.review.loadingChanges": "Өөрчлөлтүүдийг ачаалж байна...", + "session.review.empty": "Энэ хуралдаанд хараахан өөрчлөлт ороогүй байна", + "session.review.noVcs": "Git Хувилбарын хяналтын систем илрээгүй, өөрчлөлт харагдахгүй байна", + "session.review.noVcs.createGit.title": "Git репозитор үүсгэх", + "session.review.noVcs.createGit.description": "Энэ төслийн өөрчлөлтийг хянах, хянах, буцаах", + "session.review.noVcs.createGit.actionLoading": "Git репозитор үүсгэж байна...", + "session.review.noVcs.createGit.action": "Git репозитор үүсгэх", + "session.review.noSnapshot": + "Тохиромжтой хэсэгт агшин зуурын зургийг хянахыг идэвхгүй болгосон тул сессийн өөрчлөлтийг хийх боломжгүй", + "session.review.noChanges": "Өөрчлөлт байхгүй", + "session.review.noUncommittedChanges": "Одоохондоо шийдэгдээгүй өөрчлөлт байхгүй байна", + "session.review.noBranchChanges": "Одоогоор салбар өөрчлөлт ороогүй байна", + "session.files.selectToOpen": "Нээх файлаа сонгоно уу", + "session.files.all": "Бүх файлууд", + "session.files.empty": "Файл байхгүй", + "session.files.binaryContent": "Хоёртын файл (агуулга харуулах боломжгүй)", + "session.messages.renderEarlier": "Өмнөх мессежүүдийг үзүүлэх", + "session.messages.loadingEarlier": "Өмнөх мессежүүдийг ачаалж байна...", + "session.messages.loadEarlier": "Өмнөх мессежүүдийг ачаалах", + "session.messages.loading": "Мессежүүдийг ачаалж байна...", + "session.messages.jumpToLatest": "Сүүлийнх рүү шилжих", + "session.context.addToContext": "Контекст {{selection}} нэмнэ үү", + "session.todo.title": "Тодос", + "session.todo.collapse": "Нурах", + "session.todo.expand": "Өргөтгөх", + "session.todo.progress": "{{total}} хийхээс {{done}} нь дууссан", + "session.question.progress": "{{total}} асуултын {{current}}", + "session.question.minimize": "Асуултыг багасгах", + "session.question.restore": "Асуултыг сэргээх", + "session.question.pending.one": "{{count}} хүлээгдэж буй асуулт", + "session.question.pending.other": "{{count}} хүлээгдэж буй асуултууд", + "session.followupDock.summary.one": "{{count}} дараалалд орсон мессеж", + "session.followupDock.summary.other": "{{count}} дараалалд орсон мессежүүд", + "session.followupDock.sendNow": "Яг одоо илгээнэ үү", + "session.followupDock.edit": "Засварлах", + "session.followupDock.collapse": "Дараалалд байгаа мессежүүдийг буулгах", + "session.followupDock.expand": "Дараалсан мессежүүдийг дэлгэх", + "session.revertDock.summary.one": "{{count}} буцаасан мессеж", + "session.revertDock.summary.other": "{{count}} буцаасан зурвасууд", + "session.revertDock.collapse": "Буцаасан мессежүүдийг буулгах", + "session.revertDock.expand": "Буцаасан мессежүүдийг дэлгэх", + "session.revertDock.restore": "Зурвасыг сэргээх", + "session.new.title": "Юу ч барина", + "session.new.project.new": "Шинэ төсөл", + "session.new.project.search": "Төсөл хайх", + "session.new.project.add": "Төсөл нэмэх", + "session.new.worktree.main": "Үндсэн салбар", + "session.new.worktree.mainWithBranch": "Үндсэн салбар ({{branch}})", + "session.new.worktree.create": "Шинэ Git worktree үүсгэх", + "session.new.workspace.runIn": "Сессийг ажиллуулах", + "session.new.workspace.triggerLocal": "Орон нутгийн", + "session.new.workspace.local": "Орон нутгийн хадгалах газар", + "session.new.workspace.existing": "Ажлын талбар…", + "session.new.git.none": "Үгүй Git", + "session.new.lastModified": "Сүүлд өөрчилсөн", + "session.header.search.placeholder": "Хайх {{project}}", + "session.header.searchFiles": "Файл хайх", + "session.header.openIn": "Нээх", + "session.header.open.action": "Нээх {{app}}", + "session.header.open.ariaLabel": "{{app}}-д нээх", + "session.header.open.menu": "Нээлттэй сонголтууд", + "session.header.open.copyPath": "Замыг хуулах", + "session.header.open.finder": "Хайгч", + "session.header.open.fileExplorer": "Файл хөтөч", + "session.header.open.fileManager": "Файлын менежер", + "session.header.reveal.finder": "Finder дээр харуулах", + "session.header.reveal.fileExplorer": "File Explorer-д харуулах", + "session.header.reveal.containingFolder": "Фолдер агуулсан фолдерыг нээх", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Терминал", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "Статус", + "status.popover.ariaLabel": "Серверийн тохиргоо", + "status.popover.tab.servers": "Серверүүд", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "Нэмэлтүүд", + "status.popover.action.manageServers": "Серверүүдийг удирдах", + "session.share.popover.title": "Вэб дээр нийтлэх", + "session.share.popover.description.shared": + "Энэ сесс вэб дээр олон нийтэд нээлттэй байна. Энэ нь линктэй хүн бүрт хандах боломжтой.", + "session.share.popover.description.unshared": + "Веб дээр сессийг олон нийтэд хуваалцаарай. Энэ нь холбоостой хүн бүрт хандах боломжтой.", + "session.share.action.share": "Хуваалцах", + "session.share.action.publish": "Нийтлэх", + "session.share.action.publishing": "Нийтэлж байна...", + "session.share.action.unpublish": "Нийтлэлийг цуцлах", + "session.share.action.unpublishing": "Нийтлэлийг цуцалж байна...", + "session.share.action.view": "Харах", + "session.share.copy.copied": "Хуулсан", + "session.share.copy.copyLink": "Холбоосыг хуулах", + "lsp.tooltip.none": "LSP сервер байхгүй", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "Промптыг ачаалж байна...", + "terminal.loading": "Терминал ачаалж байна...", + "terminal.title": "Терминал", + "terminal.title.numbered": "Терминал {{number}}", + "terminal.close": "Терминалыг хаах", + "terminal.connectionLost.title": "Холболт тасарсан", + "terminal.connectionLost.abnormalClose": "WebSocket хэвийн бус хаагдсан: {{code}}", + "terminal.connectionLost.description": + "Терминалын холболт тасалдсан. Энэ нь серверийг дахин эхлүүлэх үед тохиолдож болно.", + "terminal.connectTicket.csrfError": + "PTY холболтын тасалбарыг гарал үүсэл эсвэл CSRF шалгалтаар татгалзсан. Серверийн CORS тохиргоог шалгана уу.", + "terminal.connectTicket.statusError": "{{status}}-тэй PTY холбогдох тасалбар амжилтгүй боллоо", + "titlebar.update": "Шинэчлэх", + "titlebar.updateVersion": "Шинэчлэх {{version}}", + "common.closeTab": "Табыг хаах", + "common.dismiss": "Хаах", + "common.moreCountSuffix": "(+{{count}} илүү)", + "common.requestFailed": "Хүсэлт амжилтгүй боллоо", + "common.moreOptions": "Илүү олон сонголт", + "common.learnMore": "Илүү ихийг мэдэж аваарай", + "common.rename": "Нэрээ өөрчлөх", + "common.export": "Экспорт", + "common.reset": "Дахин тохируулах", + "common.archive": "Архив", + "common.delete": "Устгах", + "common.close": "Хаах", + "common.edit": "Засварлах", + "common.loadMore": "Илүү их ачаална уу", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "үл мэдэгдэх", + "common.time.justNow": "Яг одоо", + "common.time.minutesAgo.short": "{{count}}м өмнө", + "common.time.hoursAgo.short": "{{count}}цагийн өмнө", + "common.time.daysAgo.short": "{{count}} өдрийн өмнө", + "sidebar.menu.toggle": "Цэсийг сэлгэх", + "sidebar.nav.projectsAndSessions": "Төсөл ба хуралдаанууд", + "sidebar.settings": "Тохиргоо", + "sidebar.help": "Туслаач", + "sidebar.workspaces.enable": "Ажлын талбаруудыг идэвхжүүлэх", + "sidebar.workspaces.disable": "Ажлын талбаруудыг идэвхгүй болгох", + "sidebar.gettingStarted.title": "Эхлэх", + "sidebar.gettingStarted.line1": "OpenCode үнэ төлбөргүй загваруудыг багтаасан тул та шууд эхлэх боломжтой.", + "sidebar.gettingStarted.line2": + "Models, inc ашиглахын тулд дурын үйлчилгээ үзүүлэгчийг холбоно уу. Claude, GPT, Gemini гэх мэт.", + "sidebar.project.recentSessions": "Сүүлийн хуралдаанууд", + "sidebar.project.viewAllSessions": "Бүх сешнүүдийг үзэх", + "sidebar.project.clearNotifications": "Мэдэгдлийг арилгах", + "sidebar.empty.title": "Нээлттэй төсөл байхгүй", + "sidebar.empty.description": "Эхлэхийн тулд төсөл нээнэ үү", + "debugBar.ariaLabel": "Хөгжлийн гүйцэтгэлийн оношлогоо", + "debugBar.na": "үгүй", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "Чиглүүлэгчийн эхлэлээс эхлээд тогтсоны дараа анхны будалт хүртэл хэмжсэн хамгийн сүүлд дууссан маршрутын шилжилтийг сессийн хуудсанд хүрнэ.", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "Сүүлийн 5 секундэд секундэд фрэйм ​​эргэлдэж байна.", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "Сүүлийн 5 секундын хамгийн муу кадрын хугацаа.", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "Сүүлийн 5 секундын дотор 32 мс-ээс дээш фрэйм.", + "debugBar.long.label": "LONG", + "debugBar.long.tip": "Сүүлийн 5 секундэд блоклогдсон цаг болон урт ажлын тоо. Хамгийн их даалгавар: {{max}}.", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "Сүүлийн 5 секундын хамгийн муу ажиглагдсан оролтын саатал.", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": + "Сүүлийн 5 секундын харилцан үйлчлэлийн ойролцоогоор үргэлжлэх хугацаа. Энэ нь албан ёсны Web Vitals INP биш INP төстэй юм.", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "Одоогийн програмын ашиглалтын хугацаанд хуримтлагдсан бүдүүвчийн шилжилт.", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "Ашигласан JS нуруулдан, нуруулдан хязгаар. Зөвхөн Chromium.", + "debugBar.mem.tip": "Ашигласан JS нуруулдан, нуруулдан хязгаар. {{limit}}-ийн {{used}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Бүх интерактив элементүүд дээр анхаарлаа төвлөрүүлэх хэв маягийг хүчлэх", + "debugBar.focus.on": "АСААЛТТАЙ", + "debugBar.focus.off": "OFF", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Сонгосон хэлийг өөрчлөхгүйгээр програмын бүдүүвчийг бүхэлд нь чиглүүлэх", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode Desktop", + "settings.section.desktop": "Ширээний компьютер", + "settings.section.server": "Сервер", + "settings.tab.general": "Генерал", + "settings.tab.shortcuts": "Товчлолууд", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "WSL нэгтгэх", + "settings.desktop.wsl.description": "Windows дээр WSL доторх OpenCode серверийг ажиллуулна уу.", + "settings.general.section.appearance": "Гадаад төрх", + "settings.general.section.advanced": "Дэвшилтэт", + "settings.general.section.notifications": "Системийн мэдэгдэл", + "settings.general.section.updates": "Шинэчлэлтүүд", + "settings.general.section.sounds": "Дууны эффект", + "settings.general.section.feed": "Тэжээл", + "settings.general.section.display": "Дэлгэц", + "settings.general.row.language.title": "Хэл", + "settings.general.row.language.description": "OpenCode дэлгэцийн хэлийг өөрчлөх", + "settings.general.row.shell.title": "Терминал shell", + "settings.general.row.shell.description": "Shell нь терминал болон агентын хэрэгслүүдэд ашиглагддаг", + "settings.general.row.shell.autoDefault": "Автомат (Өгөгдмөл)", + "settings.general.row.shell.terminalOnly": "зөвхөн терминал", + "settings.general.row.appearance.title": "Гадаад төрх", + "settings.general.row.appearance.description": "OpenCode төхөөрөмж дээрээ хэрхэн харагдахыг тохируулна уу", + "settings.general.row.colorScheme.title": "Өнгөний схем", + "settings.general.row.colorScheme.description": + "OpenCode нь систем, цайвар эсвэл бараан загварт тохирох эсэхийг сонгоно уу", + "settings.general.row.theme.title": "Сэдэв", + "settings.general.row.theme.description": "OpenCode-г хэрхэн загварчлахыг тохируулна уу.", + "settings.general.row.font.title": "Кодын фонт", + "settings.general.row.font.description": "Кодын блокуудад ашигладаг фонтыг тохируулна уу", + "settings.general.row.terminalFont.title": "Терминал фонт", + "settings.general.row.terminalFont.description": "Терминалд ашигласан фонтыг тохируулна уу", + "settings.general.row.uiFont.title": "UI фонт", + "settings.general.row.uiFont.description": "Интерфэйс даяар ашигласан фонтыг тохируулна уу", + "settings.general.row.followup.title": "Дагаж мөрдөх зан үйл", + "settings.general.row.followup.description": + "Дагах сануулгууд шууд чиглүүлэх үү эсвэл дараалалд хүлээх үү гэдгийг сонгоно уу", + "settings.general.row.followup.option.queue": "Дараалал", + "settings.general.row.followup.option.steer": "Удирдах", + "settings.general.row.showFileTree.title": "Файлын мод", + "settings.general.row.showFileTree.description": "Файлын модны самбарыг сессээр харуул", + "settings.general.row.showNavigation.title": "Навигацийн удирдлага", + "settings.general.row.showNavigation.description": + "Ширээний гарчгийн мөрөнд буцах болон урагшлах товчлууруудыг харуул", + "settings.general.row.showSearch.title": "Командын палитр", + "settings.general.row.showSearch.description": "Гарчгийн мөрөнд хайлт болон командын палитр товчийг харуул", + "settings.general.row.showTerminal.title": "Терминал", + "settings.general.row.showTerminal.description": "Ширээний гарчгийн мөрөнд терминалын товчлуурыг харуул", + "settings.general.row.showStatus.title": "Серверийн төлөв", + "settings.general.row.showStatus.description": "Гарчгийн мөрөнд серверийн статусын товчлуурыг харуул", + "settings.general.row.mobileTitlebarBottom.title": "Доод навигаци", + "settings.general.row.mobileTitlebarBottom.description": + "Гар утасны дэлгэцийн доод хэсэгт гарчгийн мөр болон сешн табуудыг байрлуул", + "settings.general.row.showCustomAgents.title": "Агентийг харуулах", + "settings.general.row.showCustomAgents.description": + "Хөгжмийн зохиолч дахь агентуудын хооронд шилжих. Нуусан үед өгөгдмөл нь Build agent.", + "settings.general.row.reasoningSummaries.title": "Шалтгаануудын хураангуйг харуул", + "settings.general.row.reasoningSummaries.description": "Загварын үндэслэлийн хураангуйг цагийн хуваарьт харуул", + "settings.general.row.shellToolPartsExpanded.title": "shell хэрэгслийн хэсгүүдийг өргөжүүлэх", + "settings.general.row.shellToolPartsExpanded.description": + "Он цагийн хэлхээс дээр анхдагчаар өргөтгөсөн shell хэрэгслийн хэсгүүдийг харуул", + "settings.general.row.editToolPartsExpanded.title": "Засварлах хэрэгслийн хэсгүүдийг өргөжүүлэх", + "settings.general.row.editToolPartsExpanded.description": + "Он цагийн хэлхээс дээр анхдагчаар өргөтгөсөн засварлах, бичих, засварлах хэрэгслийн хэсгүүдийг харуул", + "settings.general.row.newInterface.title": "Шинэ зохион байгуулалт", + "settings.general.row.newInterface.badge": "Шинэ", + "settings.general.row.newInterface.description": + "Шинэ таб болон гэрийн байршлыг ашиглана уу. Хязгаарлагдмал хугацаанд бүдүүвч хооронд шилжих.", + "settings.general.row.newInterfaceNotice.title": "Та одоо шинэ бүдүүвч ашиглаж байна", + "settings.general.row.newInterfaceNotice.description": "Өмнөх загвар байхгүй болсон", + "settings.general.row.newInterfaceNotice.dismiss": "Хаах", + "settings.general.row.pinchZoom.title": "Томруулахын тулд чимхээрэй", + "settings.general.row.pinchZoom.description": + "Trackpad чимхэх, Ctrl-г гүйлгэх дохиог ашиглан томруулахыг зөвшөөрнө үү", + "settings.general.row.wayland.title": "Эх хэлийг ашиглах Wayland", + "settings.general.row.wayland.description": "Wayland дээрх X11 нөөцийг идэвхгүй болгох. Дахин эхлүүлэх шаардлагатай.", + "settings.general.row.wayland.tooltip": + "Холимог сэргээх хурдтай монитортой Linux дээр эх Wayland илүү тогтвортой байж болно.", + "settings.general.row.releaseNotes.title": "Гаргасан тэмдэглэл", + "settings.general.row.releaseNotes.description": 'Шинэчлэгдсэний дараа "Ямар шинэ зүйл" цонхыг харуул', + "settings.updates.row.startup.title": "Эхлэх үед шинэчлэлт байгаа эсэхийг шалгана уу", + "settings.updates.row.startup.description": "OpenCode эхлүүлэх үед шинэчлэлтүүдийг автоматаар шалгана уу", + "settings.updates.row.check.title": "Шинэчлэлт байгаа эсэхийг шалгана уу", + "settings.updates.row.check.description": "Шинэчлэлтүүдийг гараар шалгаж, боломжтой бол суулгана уу", + "settings.updates.action.checkNow": "Одоо шалгана уу", + "settings.updates.action.checking": "Шалгаж байна...", + "settings.updates.action.downloading": "Татаж авч байна...", + "settings.updates.action.installing": "Суулгаж байна...", + "settings.updates.toast.latest.title": "Та шинэчлэгдсэн байна", + "settings.updates.toast.latest.description": "Та OpenCode-н хамгийн сүүлийн хувилбарыг ажиллуулж байна.", + "sound.option.none": "Байхгүй", + "sound.option.alert01": "Анхааруулга 01", + "sound.option.alert02": "Анхааруулга 02", + "sound.option.alert03": "Анхааруулга 03", + "sound.option.alert04": "Анхааруулга 04", + "sound.option.alert05": "Анхааруулга 05", + "sound.option.alert06": "Анхааруулга 06", + "sound.option.alert07": "Анхааруулга 07", + "sound.option.alert08": "Анхааруулга 08", + "sound.option.alert09": "Анхааруулга 09", + "sound.option.alert10": "Анхааруулга 10", + "sound.option.bipbop01": "Бип-боп 01", + "sound.option.bipbop02": "Бип-боп 02", + "sound.option.bipbop03": "Бип-боп 03", + "sound.option.bipbop04": "Бип-боп 04", + "sound.option.bipbop05": "Бип-боп 05", + "sound.option.bipbop06": "Бип-боп 06", + "sound.option.bipbop07": "Бип-боп 07", + "sound.option.bipbop08": "Бип-боп 08", + "sound.option.bipbop09": "Бип-боп 09", + "sound.option.bipbop10": "Бип-боп 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "Үгүй ээ 01", + "sound.option.nope02": "Үгүй ээ 02", + "sound.option.nope03": "Үгүй ээ 03", + "sound.option.nope04": "Үгүй ээ 04", + "sound.option.nope05": "Үгүй ээ 05", + "sound.option.nope06": "Үгүй ээ 06", + "sound.option.nope07": "Үгүй ээ 07", + "sound.option.nope08": "Үгүй ээ 08", + "sound.option.nope09": "Үгүй ээ 09", + "sound.option.nope10": "Үгүй 10", + "sound.option.nope11": "Үгүй 11", + "sound.option.nope12": "Үгүй 12", + "sound.option.yup01": "Тиймээ 01", + "sound.option.yup02": "Тиймээ 02", + "sound.option.yup03": "Тиймээ 03", + "sound.option.yup04": "Тиймээ 04", + "sound.option.yup05": "Тиймээ 05", + "sound.option.yup06": "Тиймээ 06", + "settings.general.notifications.agent.title": "Агент", + "settings.general.notifications.agent.description": + "Агент бүрэн дууссан эсвэл анхаарал хандуулах шаардлагатай үед системийн мэдэгдлийг харуулах", + "settings.general.notifications.permissions.title": "Зөвшөөрөл", + "settings.general.notifications.permissions.description": "Зөвшөөрөл шаардлагатай үед системийн мэдэгдлийг харуулах", + "settings.general.notifications.errors.title": "Алдаа", + "settings.general.notifications.errors.description": "Алдаа гарсан үед системийн мэдэгдлийг харуулах", + "settings.general.sounds.agent.title": "Агент", + "settings.general.sounds.agent.description": + "Агент бүрэн дууссан эсвэл анхаарал хандуулах шаардлагатай үед дууг тоглуулаарай", + "settings.general.sounds.permissions.title": "Зөвшөөрөл", + "settings.general.sounds.permissions.description": "Зөвшөөрөл шаардлагатай үед дуу тоглуулна", + "settings.general.sounds.errors.title": "Алдаа", + "settings.general.sounds.errors.description": "Алдаа гарсан үед дууг тоглуул", + "settings.shortcuts.title": "Гарын товчлолууд", + "settings.shortcuts.reset.button": "Өгөгдмөл рүү дахин тохируулах", + "settings.shortcuts.reset.toast.title": "Товчлолуудыг дахин тохируулсан", + "settings.shortcuts.reset.toast.description": "Гарын товчлолыг өгөгдмөл рүү дахин тохируулсан.", + "settings.shortcuts.conflict.title": "Товчлолыг аль хэдийн ашиглаж байна", + "settings.shortcuts.conflict.description": "{{keybind}} аль хэдийн {{titles}}-д оноосон байна.", + "settings.shortcuts.unassigned": "Оноогоогүй", + "settings.shortcuts.pressKeys": "Товчлуурыг дар", + "settings.shortcuts.search.placeholder": "Товчлол хайх", + "settings.shortcuts.search.empty": "Товчлол олдсонгүй", + "settings.shortcuts.group.general": "Генерал", + "settings.shortcuts.group.session": "Сесс", + "settings.shortcuts.group.navigation": "Навигац", + "settings.shortcuts.group.modelAndAgent": "Загвар өмсөгч, төлөөлөгч", + "settings.shortcuts.group.terminal": "Терминал", + "settings.shortcuts.group.prompt": "Промпт", + "settings.providers.title": "Үйлчилгээ үзүүлэгчид", + "settings.providers.description": "Үйлчилгээ үзүүлэгчийн тохиргоог энд хийх боломжтой.", + "settings.providers.section.connected": "Холбогдсон үйлчилгээ үзүүлэгчид", + "settings.providers.connected.empty": "Холбогдсон үйлчилгээ үзүүлэгч байхгүй байна", + "settings.providers.connected.environmentDescription": "Таны орчны хувьсагчдаас холбогдсон", + "settings.providers.section.popular": "Алдартай үйлчилгээ үзүүлэгчид", + "settings.providers.custom.description": "OpenAI нийцтэй үйлчилгээ үзүүлэгчийг URL үндсэн дээр нэмнэ үү.", + "settings.providers.tag.environment": "Байгаль орчин", + "settings.providers.tag.config": "Тохиргоо", + "settings.providers.tag.custom": "Захиалгат", + "settings.providers.tag.other": "Бусад", + "settings.models.title": "Загварууд", + "settings.models.description": "Загварын тохиргоог энд хийх боломжтой.", + "settings.agents.title": "Агентууд", + "settings.agents.description": "Агентын тохиргоог энд хийх боломжтой.", + "settings.commands.title": "Тушаалууд", + "settings.commands.description": "Энд командын тохиргоог хийх боломжтой.", + "settings.mcp.title": "MCP", + "settings.mcp.description": "MCP тохиргоог энд тохируулах боломжтой.", + "settings.permissions.title": "Зөвшөөрөл", + "settings.permissions.description": "Анхдагчаар сервер ямар хэрэгслийг ашиглаж болохыг хянах.", + "settings.permissions.section.tools": "Багаж хэрэгсэл", + "settings.permissions.toast.updateFailed.title": "Зөвшөөрлийг шинэчилж чадсангүй", + "settings.permissions.action.allow": "Зөвшөөрөх", + "settings.permissions.action.ask": "Асуу", + "settings.permissions.action.deny": "Үгүйсгэх", + "settings.permissions.tool.read.title": "Унших", + "settings.permissions.tool.read.description": "Файлыг уншиж байна (файлын замд таарч байна)", + "settings.permissions.tool.edit.title": "Засварлах", + "settings.permissions.tool.edit.description": "Засвар, бичих, засвар оруулах зэрэг файлуудыг өөрчлөх", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "Глоб загвар ашиглан файлуудыг тааруулах", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "Ердийн илэрхийлэл ашиглан файлын агуулгыг хайх", + "settings.permissions.tool.list.title": "Жагсаалт", + "settings.permissions.tool.list.description": "Сан доторх файлуудыг жагсаах", + "settings.permissions.tool.bash.title": "Баш", + "settings.permissions.tool.bash.description": "shell тушаалуудыг ажиллуул", + "settings.permissions.tool.task.title": "Даалгавар", + "settings.permissions.tool.task.description": "Дэд агентуудыг ажиллуул", + "settings.permissions.tool.skill.title": "Ур чадвар", + "settings.permissions.tool.skill.description": "Ур чадварыг нэрээр нь ачаална уу", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "Хэлний серверийн асуулга ажиллуулах", + "settings.permissions.tool.todowrite.title": "Бичих", + "settings.permissions.tool.todowrite.description": "Хийх ажлын жагсаалтыг шинэчил", + "settings.permissions.tool.webfetch.title": "Web Fetch", + "settings.permissions.tool.webfetch.description": "URL-аас контент татах", + "settings.permissions.tool.websearch.title": "Вэб хайлт", + "settings.permissions.tool.websearch.description": "Вэбээс хайх", + "settings.permissions.tool.external_directory.title": "Гадаад лавлах", + "settings.permissions.tool.external_directory.description": "Төслийн лавлахаас гадуур файлд хандах", + "settings.permissions.tool.doom_loop.title": "Doom Loop", + "settings.permissions.tool.doom_loop.description": "Ижил оролттой хэрэгслийн давтагдсан дуудлагыг илрүүлэх", + "session.delete.failed.title": "Сешн устгаж чадсангүй", + "session.delete.title": "Сеанс устгах", + "session.delete.confirm": '"{{name}}" сессийг устгах уу?', + "session.delete.button": "Сеанс устгах", + "workspace.new": "Шинэ ажлын талбар", + "workspace.type.local": "орон нутгийн", + "workspace.type.sandbox": "хамгаалагдсан хязгаарлагдмал орчин", + "workspace.create.failed.title": "Ажлын талбар үүсгэж чадсангүй", + "workspace.delete.failed.title": "Ажлын талбарыг устгаж чадсангүй", + "workspace.resetting.title": "Ажлын талбарыг дахин тохируулж байна", + "workspace.resetting.description": "Үүнд нэг минут зарцуулагдаж магадгүй.", + "workspace.reset.failed.title": "Ажлын талбарыг дахин тохируулж чадсангүй", + "workspace.reset.success.title": "Ажлын талбарыг дахин тохируулсан", + "workspace.reset.success.description": "Ажлын талбар нь одоо үндсэн салбартай таарч байна.", + "workspace.error.stillPreparing": "Ажлын байраа бэлдэж байна", + "workspace.status.checking": "Нэгтгээгүй өөрчлөлтүүдийг шалгаж байна...", + "workspace.status.error": "Git статусыг шалгах боломжгүй байна.", + "workspace.status.clean": "Нэгтгэсэн өөрчлөлт илрээгүй.", + "workspace.status.dirty": "Энэ ажлын талбарт нэгтгэгдээгүй өөрчлөлтүүд илэрсэн.", + "workspace.delete.title": "Ажлын талбарыг устгах", + "workspace.delete.confirm": '"{{name}}" ажлын талбарыг устгах уу?', + "workspace.delete.button": "Ажлын талбарыг устгах", + "workspace.reset.title": "Ажлын талбарыг дахин тохируулах", + "workspace.reset.confirm": '"{{name}}" ажлын талбарыг дахин тохируулах уу?', + "workspace.reset.button": "Ажлын талбарыг дахин тохируулах", + "workspace.reset.archived.none": "Идэвхтэй сессийг архивлахгүй.", + "workspace.reset.archived.one": "1 сессийг архивлах болно.", + "workspace.reset.archived.many": "{{count}} сессийг архивлах болно.", + "workspace.reset.note": "Энэ нь ажлын талбарыг анхдагч салбартай тааруулахын тулд дахин тохируулах болно.", + "dialog.usageExceeded.dontShowAgain": "Дахин бүү харуул", +} diff --git a/packages/app/src/i18n/ms.ts b/packages/app/src/i18n/ms.ts new file mode 100644 index 000000000000..2c3783d43b7d --- /dev/null +++ b/packages/app/src/i18n/ms.ts @@ -0,0 +1,1157 @@ +export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Fail", + "desktop.menu.edit": "Sunting", + "desktop.menu.view": "Paparan", + "desktop.menu.go": "Pergi", + "desktop.menu.window": "Tetingkap", + "desktop.menu.help": "Bantuan", + "desktop.menu.checkForUpdates": "Semak Kemas Kini...", + "desktop.menu.settings": "Tetapan", + "desktop.menu.reloadWebview": "Muat Semula Paparan Web", + "desktop.menu.restart": "Mulakan Semula", + "desktop.menu.exportLogs": "Eksport Log...", + "desktop.menu.newSession": "Sesi Baharu", + "desktop.menu.openProject": "Buka Projek...", + "desktop.menu.newWindow": "Tetingkap Baharu", + "desktop.menu.closeWindow": "Tutup Tetingkap", + "desktop.menu.undo": "Nyahbuat", + "desktop.menu.redo": "Buat Semula", + "desktop.menu.cut": "Potong", + "desktop.menu.copy": "Salin", + "desktop.menu.paste": "Tampal", + "desktop.menu.delete": "Padam", + "desktop.menu.selectAll": "Pilih Semua", + "desktop.menu.toggleSidebar": "Togol Bar Sisi", + "desktop.menu.toggleTerminal": "Togol Terminal", + "desktop.menu.toggleFileTree": "Togol Pokok Fail", + "desktop.menu.reload": "Muat Semula", + "desktop.menu.toggleDeveloperTools": "Togol Alat Pembangun", + "desktop.menu.actualSize": "Saiz Sebenar", + "desktop.menu.zoomIn": "Zum Masuk", + "desktop.menu.zoomOut": "Kecilkan Zum", + "desktop.menu.toggleFullScreen": "Togol Skrin Penuh", + "desktop.menu.back": "Kembali", + "desktop.menu.forward": "Ke Hadapan", + "desktop.menu.previousSession": "Sesi Sebelumnya", + "desktop.menu.nextSession": "Sesi Seterusnya", + "desktop.menu.previousProject": "Projek Sebelumnya", + "desktop.menu.nextProject": "Projek Seterusnya", + "desktop.menu.minimize": "Minimumkan", + "desktop.menu.maximize": "Maksimumkan", + "desktop.menu.documentation": "Dokumentasi OpenCode", + "desktop.menu.supportForum": "Forum Sokongan", + "desktop.menu.shareFeedback": "Kongsi Maklum Balas", + "desktop.menu.reportBug": "Laporkan Pepijat", + "desktop.menu.ariaLabel": "Menu OpenCode", + "desktop.updater.dialog.checkFailed.message": "Semakan kemas kini gagal.", + "desktop.updater.dialog.checkFailed.title": "Ralat Kemas Kini", + "desktop.updater.dialog.upToDate.message": "Anda menggunakan versi terkini.", + "desktop.updater.dialog.upToDate.title": "Tiada Kemas Kini", + "desktop.updater.dialog.ready.message": "Kemas kini {{version}} telah dimuat turun. Mulakan semula sekarang?", + "desktop.updater.dialog.ready.title": "Kemas Kini Sedia", + "desktop.updater.dialog.restart": "Mulakan Semula", + "desktop.updater.dialog.later": "Nanti", + "desktop.recovery.action.relaunch": "Lancarkan Semula", + "desktop.recovery.action.exportLogs": "Eksport Log", + "desktop.recovery.action.keepWaiting": "Teruskan Menunggu", + "desktop.recovery.action.quit": "Keluar", + "desktop.recovery.loadFailed": "OpenCode gagal dimuatkan", + "desktop.recovery.terminated": "Tetingkap OpenCode ditamatkan secara tidak dijangka", + "desktop.recovery.unresponsive": "OpenCode tidak memberi respons", + "desktop.recovery.unresponsive.detail": "Anda boleh lancarkan semula aplikasi, buka log, atau terus menunggu.", + "desktop.recovery.loadFailed.detail": "Tetingkap: {{window}}\nURL: {{url}}\nRalat: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Tetingkap: {{window}}\nSebab: {{reason}}\nKod: {{code}}", + "desktop.recovery.unknown": "", + "desktop.dialog.chooseFolder": "Pilih folder", + "desktop.dialog.chooseFile": "Pilih fail", + "desktop.dialog.saveFile": "Simpan fail", + "desktop.dialog.files": "Fail", + "desktop.server.local": "Pelayan Tempatan", + "desktop.wsl.error.windowsOnly": "WSL hanya tersedia di Windows", + "desktop.wsl.error.unavailable": "WSL tidak tersedia", + "desktop.wsl.error.listInstalled": "Gagal menyenaraikan distro WSL yang dipasang", + "desktop.wsl.error.listOnline": "Gagal menyenaraikan distro WSL dalam talian", + "desktop.wsl.error.executeDistro": "Tidak dapat melaksanakan arahan dalam distro", + "desktop.wsl.error.installWsl": "Pemasangan WSL gagal", + "desktop.wsl.error.installDistro": "Gagal memasang distro: {{distro}}", + "desktop.wsl.error.installOpencode": "Pemasangan OpenCode gagal", + "desktop.wsl.error.alreadyAdded": "{{distro}} telah pun ditambah", + "desktop.wsl.error.opencodeMissing": "opencode tidak dipasang dalam distro ini", + "desktop.wsl.error.opencodeCannotRun": "opencode dipasang tetapi tidak dapat dijalankan", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode tidak dipasang dalam {{distro}}", + "desktop.wsl.error.updateVersion": + "Kemas kini OpenCode selesai tetapi {{distro}} masih melaporkan {{installed}}; sepatutnya {{expected}}", + "desktop.wsl.error.noVersion": "tiada versi", + "desktop.wsl.error.serverExited": "Pelayan WSL telah keluar selepas permulaan (kod={{code}} isyarat={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "Pelayan WSL keluar sebelum menjadi sihat (kod={{code}} isyarat={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": "Semakan kesihatan Sidecar untuk {{distro}} tamat masa selepas {{timeout}}ms", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} tamat masa selepas {{timeout}}ms", + "desktop.wsl.error.failedPort": "Gagal mendapatkan port", + "desktop.picker.error.notSelected": "Fail tidak dipilih oleh pemilih", + "desktop.picker.error.sizeLimit": "Lampiran yang dipilih melebihi had {{limit}} MB", + "command.category.suggested": "Dicadangkan", + "command.category.view": "Paparan", + "command.category.project": "Projek", + "command.category.provider": "Penyedia", + "command.category.server": "Pelayan", + "command.category.session": "Sesi", + "command.category.theme": "Tema", + "command.category.language": "Bahasa", + "command.category.file": "Fail", + "command.category.context": "Konteks", + "command.category.terminal": "Terminal", + "command.category.model": "Model", + "command.category.mcp": "MCP", + "command.category.agent": "Ejen", + "command.category.permissions": "Kebenaran", + "command.category.workspace": "Ruang kerja", + "command.category.settings": "Tetapan", + "command.logs.export": "Eksport log", + "theme.scheme.system": "Sistem", + "theme.scheme.light": "Cerah", + "theme.scheme.dark": "Gelap", + "command.sidebar.toggle": "Togol bar sisi", + "command.project.open": "Buka projek", + "command.project.previous": "Projek sebelum", + "command.project.next": "Projek seterusnya", + "command.project.index": "Tukar ke projek {{index}}", + "command.provider.connect": "Sambung penyedia", + "command.server.switch": "Tukar pelayan", + "command.settings.open": "Buka tetapan", + "command.session.previous": "Sesi sebelum", + "command.session.next": "Sesi seterusnya", + "command.session.previous.unseen": "Sesi belum dibaca sebelumnya", + "command.session.next.unseen": "Sesi belum dibaca seterusnya", + "command.session.archive": "Arkibkan sesi", + "command.palette": "Palet arahan", + "command.theme.cycle": "Tukar tema", + "command.theme.set": "Guna tema: {{theme}}", + "command.theme.scheme.cycle": "Tukar skema warna", + "command.theme.scheme.set": "Guna skema warna: {{scheme}}", + "command.language.cycle": "Tukar bahasa", + "command.language.set": "Guna bahasa: {{language}}", + "command.session.new": "Sesi baharu", + "command.file.open": "Buka fail", + "command.tab.close": "Tutup tab", + "command.tab.reopenClosed": "Buka semula tab tertutup", + "command.context.addSelection": "Tambah pilihan ke konteks", + "command.context.addSelection.description": "Tambah baris terpilih dari fail semasa", + "command.input.focus": "Fokus pada input", + "command.terminal.toggle": "Togol terminal", + "command.fileTree.toggle": "Togol pokok fail", + "command.review.toggle": "Togol semakan", + "command.terminal.new": "Terminal baharu", + "command.terminal.new.description": "Cipta tab terminal baharu", + "command.steps.toggle": "Togol langkah", + "command.steps.toggle.description": "Papar atau sembunyi langkah untuk mesej semasa", + "command.message.previous": "Mesej sebelumnya", + "command.message.previous.description": "Pergi ke mesej pengguna sebelumnya", + "command.message.next": "Mesej seterusnya", + "command.message.next.description": "Pergi ke mesej pengguna seterusnya", + "command.model.choose": "Pilih model", + "command.model.choose.description": "Pilih model lain", + "command.mcp.toggle": "Togol MCP", + "command.mcp.toggle.description": "Togol MCP", + "command.agent.cycle": "Pusing ejen", + "command.agent.cycle.description": "Tukar ke ejen seterusnya", + "command.agent.cycle.reverse": "Pusing ejen ke belakang", + "command.agent.cycle.reverse.description": "Tukar ke ejen sebelumnya", + "command.model.variant.cycle": "Pusing tahap usaha", + "command.model.variant.cycle.description": "Tukar ke tahap usaha seterusnya", + "command.prompt.mode.shell": "Shell", + "command.prompt.mode.normal": "Arahan", + "command.permissions.autoaccept.enable": "Terima kebenaran secara automatik", + "command.permissions.autoaccept.disable": "Henti terima kebenaran automatik", + "command.workspace.toggle": "Togol ruang kerja", + "command.workspace.toggle.description": "Aktif atau nyahaktifkan pelbagai ruang kerja di bar sisi", + "command.session.undo": "Undur", + "command.session.undo.description": "Batalkan mesej terakhir", + "command.session.redo": "Buat semula", + "command.session.redo.description": "Buat semula mesej yang telah diundur", + "command.session.compact": "Padatkan sesi", + "command.session.compact.description": "Ringkaskan sesi untuk mengurangkan saiz konteks", + "command.session.fork": "Cabang dari mesej", + "command.session.fork.description": "Cipta sesi baharu daripada mesej terdahulu", + "command.session.share": "Kongsi sesi", + "command.session.share.description": "Kongsi sesi ini dan salin URL ke papan klip", + "command.session.unshare": "Henti kongsi sesi", + "command.session.unshare.description": "Berhenti berkongsi sesi ini", + "command.session.export": "Eksport sesi", + "command.session.export.description": "Eksport transkrip penuh sesi sebagai JSON", + "palette.search.placeholder": "Cari fail, arahan, dan sesi", + "palette.search.placeholder.home": "Cari arahan dan sesi", + "palette.empty": "Tiada hasil ditemui", + "palette.group.commands": "Arahan", + "palette.group.files": "Fail", + "dialog.provider.search.placeholder": "Cari penyedia", + "dialog.provider.empty": "Tiada penyedia ditemui", + "dialog.provider.group.popular": "Popular", + "dialog.provider.group.other": "Lain-lain", + "dialog.provider.custom.label": "Penyedia serasi OpenAI tersuai", + "dialog.provider.tag.recommended": "Disyorkan", + "dialog.provider.opencode.note": "Model terpilih termasuk Claude, GPT, Gemini dan banyak lagi", + "dialog.provider.opencode.tagline": "Model dioptimumkan yang boleh dipercayai", + "dialog.provider.opencodeGo.tagline": "Langganan kos rendah untuk semua", + "dialog.provider.anthropic.note": "Akses terus ke model Claude, termasuk Pro dan Max", + "dialog.provider.copilot.note": "Model AI untuk bantuan pengekodan melalui GitHub Copilot", + "dialog.provider.openai.note": "Model GPT untuk tugasan AI umum yang pantas dan berkeupayaan", + "dialog.provider.google.note": "Model Gemini untuk respons pantas dan berstruktur", + "dialog.provider.openrouter.note": "Akses semua model yang disokong daripada satu penyedia", + "dialog.provider.vercel.note": "Akses bersatu ke model AI dengan penghalaan pintar", + "dialog.model.select.title": "Pilih model", + "dialog.model.search.placeholder": "Cari model", + "dialog.model.empty": "Tiada hasil model", + "dialog.model.manage": "Urus model", + "dialog.model.manage.description": "Sesuaikan model yang dipaparkan dalam pemilih model.", + "dialog.model.manage.provider.toggle": "Togol semua model {{provider}}", + "dialog.model.unpaid.freeModels.title": "Model percuma yang disediakan oleh OpenCode", + "dialog.model.unpaid.addMore.title": "Tambah lebih banyak model daripada penyedia popular", + "dialog.model.unpaid.viewMoreProviders": "Lihat 70+ lagi penyedia", + "dialog.provider.viewAll": "Tunjukkan lebih banyak penyedia", + "provider.connect.title": "Sambungkan {{provider}}", + "provider.connect.title.anthropicProMax": "Log masuk dengan Claude Pro/Max", + "provider.connect.selectMethod": "Pilih kaedah log masuk untuk {{provider}}.", + "provider.connect.method.apiKey": "Kunci API", + "provider.connect.method.browser": "Pelayar", + "provider.connect.method.headless": "Tanpa antara muka", + "provider.connect.status.inProgress": "Kebenaran sedang diproses...", + "provider.connect.status.waiting": "Menunggu kebenaran...", + "provider.connect.status.failed": "Kebenaran gagal: {{error}}", + "provider.connect.apiKey.description": + "Masukkan kunci API {{provider}} anda untuk menghubungkan akaun anda dan menggunakan model {{provider}} dalam OpenCode.", + "provider.connect.apiKey.label": "Kunci API {{provider}}", + "provider.connect.apiKey.placeholder": "Kunci API", + "provider.connect.apiKey.required": "Kunci API diperlukan", + "provider.connect.opencodeZen.line1": + "OpenCode Zen memberi anda akses kepada set model terpilih yang boleh dipercayai dan dioptimumkan untuk ejen pengekodan.", + "provider.connect.opencodeZen.line2": + "Dengan satu kunci API, anda akan mendapat akses kepada model seperti Claude, GPT, Gemini, GLM dan banyak lagi.", + "provider.connect.opencodeZen.visit.prefix": "Layari", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": "untuk mendapatkan kunci API anda.", + "provider.connect.oauth.code.visit.prefix": "Layari", + "provider.connect.oauth.code.visit.link": "pautan ini", + "provider.connect.oauth.code.visit.suffix": + " untuk mendapatkan kod kebenaran anda bagi menghubungkan akaun dan menggunakan model {{provider}} dalam OpenCode.", + "provider.connect.oauth.code.label": "Kod kebenaran {{method}}", + "provider.connect.oauth.code.placeholder": "Kod kebenaran", + "provider.connect.oauth.code.required": "Kod kebenaran diperlukan", + "provider.connect.oauth.code.invalid": "Kod kebenaran tidak sah", + "provider.connect.oauth.auto.visit.prefix": "Layari", + "provider.connect.oauth.auto.visit.link": "pautan ini", + "provider.connect.oauth.auto.visit.suffix": + " dan masukkan kod di bawah untuk menghubungkan akaun anda dan menggunakan model {{provider}} dalam OpenCode.", + "provider.connect.oauth.auto.confirmationCode": "Kod pengesahan", + "provider.connect.toast.connected.title": "{{provider}} telah disambungkan", + "provider.connect.toast.connected.description": "Model {{provider}} kini tersedia untuk digunakan.", + "provider.custom.title": "Penyedia tersuai", + "provider.custom.unavailable": "Penyedia tersuai tidak tersedia pada pelayan ini", + "provider.custom.description.prefix": "Konfigurasikan penyedia serasi OpenAI. Lihat", + "provider.custom.description.link": "dokumen konfigurasi penyedia", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "ID Penyedia", + "provider.custom.field.providerID.placeholder": "penyediaSaya", + "provider.custom.field.providerID.description": "Huruf kecil, nombor, tanda sempang, atau garis bawah", + "provider.custom.field.name.label": "Nama paparan", + "provider.custom.field.name.placeholder": "Penyedia AI Saya", + "provider.custom.field.baseURL.label": "URL asas", + "provider.custom.field.baseURL.placeholder": "https://api.penyediaSaya.com/v1", + "provider.custom.field.apiKey.label": "Kunci API", + "provider.custom.field.apiKey.placeholder": "Kunci API", + "provider.custom.field.apiKey.description": + "Pilihan. Biarkan kosong jika anda mengurus pengesahan melalui pengepala.", + "provider.custom.models.label": "Model", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "id-model", + "provider.custom.models.name.label": "Nama", + "provider.custom.models.name.placeholder": "Nama Paparan", + "provider.custom.models.remove": "Buang model", + "provider.custom.models.add": "Tambah model", + "provider.custom.headers.label": "Pengepala (pilihan)", + "provider.custom.headers.key.label": "Pengepala", + "provider.custom.headers.key.placeholder": "Nama-Pengepala", + "provider.custom.headers.value.label": "Nilai", + "provider.custom.headers.value.placeholder": "nilai", + "provider.custom.headers.remove": "Buang pengepala", + "provider.custom.headers.add": "Tambah pengepala", + "provider.custom.error.providerID.required": "ID Penyedia diperlukan", + "provider.custom.error.providerID.format": "Gunakan huruf kecil, nombor, tanda sempang, atau garis bawah", + "provider.custom.error.providerID.exists": "ID penyedia itu sudah wujud", + "provider.custom.error.name.required": "Nama paparan diperlukan", + "provider.custom.error.baseURL.required": "URL asas diperlukan", + "provider.custom.error.baseURL.format": "Mesti bermula dengan http:// atau https://", + "provider.custom.error.required": "Diperlukan", + "provider.custom.error.duplicate": "Pendua", + "provider.disconnect.toast.disconnected.title": "{{provider}} telah diputuskan", + "provider.disconnect.toast.disconnected.description": "Model {{provider}} tidak lagi tersedia.", + "model.tag.free": "Percuma", + "model.tag.latest": "Terkini", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "teks", + "model.input.image": "imej", + "model.input.audio": "audio", + "model.input.video": "video", + "model.input.pdf": "pdf", + "model.tooltip.allows": "Membenarkan: {{inputs}}", + "model.tooltip.context.label": "Konteks", + "model.tooltip.inputs": "Input", + "model.tooltip.model": "Model", + "model.tooltip.provider": "Penyedia", + "model.tooltip.reasoning": "Penalaran", + "model.tooltip.reasoning.allowed": "Benarkan penalaran", + "model.tooltip.reasoning.none": "Tiada penalaran", + "model.tooltip.context": "Had konteks {{limit}}", + "common.search.placeholder": "Cari", + "common.goBack": "Navigasi ke belakang", + "common.goForward": "Navigasi ke hadapan", + "common.loading": "Memuatkan", + "common.loading.ellipsis": "...", + "common.cancel": "Batal", + "common.clear": "Kosongkan", + "common.open": "Buka", + "common.connect": "Sambung", + "common.disconnect": "Putuskan sambungan", + "common.continue": "Teruskan", + "common.submit": "Hantar", + "common.save": "Simpan", + "common.saving": "Sedang menyimpan...", + "common.default": "Lalai", + "common.attachment": "lampiran", + "prompt.placeholder.shell": "Masukkan arahan shell... {{example}}", + "prompt.placeholder.normal": 'Tanya apa-apa... "{{example}}"', + "prompt.placeholder.simple": "Tanya apa-apa...", + "prompt.placeholder.summarizeComments": "Ringkaskan komen…", + "prompt.placeholder.summarizeComment": "Ringkaskan komen…", + "prompt.mode.shell": "Shell", + "prompt.mode.normal": "Arahan", + "prompt.mode.shell.exit": "esc untuk keluar", + "session.child.promptDisabled": "Sesi subagen tidak boleh diprompt.", + "session.child.backToParent": "Kembali ke sesi utama.", + "prompt.example.1": "Betulkan TODO dalam pangkalan kod", + "prompt.example.2": "Apakah timbunan teknologi projek ini?", + "prompt.example.3": "Betulkan ujian yang gagal", + "prompt.example.4": "Terangkan cara pengesahan berfungsi", + "prompt.example.5": "Cari dan baiki kelemahan keselamatan", + "prompt.example.6": "Tambah ujian unit untuk perkhidmatan pengguna", + "prompt.example.7": "Refaktor fungsi ini supaya lebih mudah dibaca", + "prompt.example.8": "Apa maksud ralat ini?", + "prompt.example.9": "Bantu saya nyahpepijat isu ini", + "prompt.example.10": "Jana dokumentasi API", + "prompt.example.11": "Optimumkan pertanyaan pangkalan data", + "prompt.example.12": "Tambah pengesahan input", + "prompt.example.13": "Cipta komponen baharu untuk...", + "prompt.example.14": "Bagaimana untuk melaksanakan projek ini?", + "prompt.example.15": "Semak kod saya untuk amalan terbaik", + "prompt.example.16": "Tambah pengendalian ralat pada fungsi ini", + "prompt.example.17": "Terangkan corak regex ini", + "prompt.example.18": "Tukar ini kepada TypeScript", + "prompt.example.19": "Tambah log di seluruh pangkalan kod", + "prompt.example.20": "Apakah kebergantungan yang sudah lapuk?", + "prompt.example.21": "Bantu saya tulis skrip migrasi", + "prompt.example.22": "Laksanakan cache untuk titik akhir ini", + "prompt.example.23": "Tambah penomboran halaman pada senarai ini", + "prompt.example.24": "Cipta arahan CLI untuk...", + "prompt.example.25": "Bagaimana pembolehubah persekitaran berfungsi di sini?", + "prompt.popover.emptyResults": "Tiada hasil yang sepadan", + "prompt.popover.emptyCommands": "Tiada arahan yang sepadan", + "prompt.dropzone.label": "Lepaskan imej, PDF, atau fail teks di sini", + "prompt.dropzone.file.label": "Lepaskan untuk @mention fail", + "prompt.slash.badge.custom": "suai", + "prompt.slash.badge.skill": "kemahiran", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "aktif", + "prompt.context.includeActiveFile": "Sertakan fail aktif", + "prompt.context.removeActiveFile": "Buang fail aktif daripada konteks", + "prompt.context.removeFile": "Buang fail daripada konteks", + "prompt.action.attachFile": "Tambah fail", + "prompt.menu.addImagesAndFiles": "Tambah fail dan lain-lain", + "prompt.menu.imagesAndFiles": "Imej dan fail", + "prompt.menu.commands": "Arahan", + "prompt.menu.context": "Konteks", + "prompt.menu.shellCommand": "Arahan shell", + "prompt.attachment.remove": "Buang lampiran", + "prompt.action.send": "Hantar", + "prompt.action.stop": "Henti", + "prompt.toast.pasteUnsupported.title": "Lampiran tidak disokong", + "prompt.toast.pasteUnsupported.description": "Hanya imej, PDF, atau fail teks boleh dilampirkan di sini.", + "prompt.toast.attachmentDuplicate.title": "Fail ini telah dimuat naik", + "prompt.toast.modelAgentRequired.title": "Pilih ejen dan model", + "prompt.toast.modelAgentRequired.description": "Pilih ejen dan model sebelum menghantar prompt.", + "prompt.toast.worktreeCreateFailed.title": "Gagal mencipta worktree", + "prompt.toast.sessionCreateFailed.title": "Gagal mencipta sesi", + "prompt.toast.shellSendFailed.title": "Gagal menghantar arahan shell", + "prompt.toast.commandSendFailed.title": "Gagal menghantar arahan", + "prompt.toast.promptSendFailed.title": "Gagal menghantar prompt", + "prompt.toast.promptSendFailed.description": "Tidak dapat mendapatkan sesi", + "dialog.mcp.title": "MCP", + "dialog.mcp.description": "{{enabled}} daripada {{total}} diaktifkan", + "dialog.mcp.empty": "Tiada MCP dikonfigurasi", + "dialog.lsp.empty": "LSP dikesan secara automatik daripada jenis fail", + "dialog.plugins.empty": "Plugin dikonfigurasi dalam opencode.json", + "mcp.status.connected": "bersambung", + "mcp.status.failed": "gagal", + "mcp.status.needs_auth": "perlu pengesahan", + "mcp.status.disabled": "dilumpuhkan", + "mcp.auth.clickToAuthenticate": "Klik untuk pengesahan", + "dialog.fork.empty": "Tiada mesej untuk dicabang", + "dialog.directory.search.placeholder": "Cari folder", + "dialog.directory.empty": "Tiada folder ditemui", + "dialog.directory.action.selectFile": "Pilih fail", + "dialog.directory.action.selectFolder": "Pilih folder", + "dialog.directory.root": "Akar", + "dialog.directory.parent": "Induk", + "dialog.directory.readError": "Tidak dapat membaca folder ini", + "app.server.unreachable": "Tidak dapat menghubungi {{server}}", + "app.server.retrying": "Mencuba semula secara automatik...", + "app.server.otherServers": "Pelayan lain", + "dialog.server.title": "Pelayan", + "dialog.server.description": "Tukar pelayan OpenCode yang disambungkan oleh aplikasi ini.", + "dialog.server.search.placeholder": "Cari pelayan", + "dialog.server.empty": "Tiada pelayan lagi", + "dialog.server.add.title": "Tambah pelayan", + "dialog.server.add.url": "Alamat pelayan", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "Tidak dapat menyambung ke pelayan", + "dialog.server.add.checking": "Sedang menyemak...", + "dialog.server.add.button": "Tambah pelayan", + "dialog.server.add.name": "Nama pelayan (pilihan)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "Nama pengguna (pilihan)", + "dialog.server.add.usernamePlaceholder": "nama pengguna", + "dialog.server.add.password": "Kata laluan (pilihan)", + "dialog.server.add.passwordPlaceholder": "kata laluan", + "dialog.server.edit.title": "Edit pelayan", + "dialog.server.default.title": "Pelayan lalai", + "dialog.server.default.description": + "Sambung ke pelayan ini semasa pelancaran aplikasi dan bukannya memulakan pelayan setempat. Memerlukan mula semula.", + "dialog.server.default.none": "Tiada pelayan dipilih", + "dialog.server.default.set": "Tetapkan pelayan semasa sebagai lalai", + "dialog.server.default.clear": "Kosongkan", + "dialog.server.action.remove": "Buang pelayan", + "dialog.server.menu.edit": "Sunting", + "dialog.server.menu.default": "Tetapkan sebagai lalai", + "dialog.server.menu.defaultRemove": "Buang lalai", + "dialog.server.menu.delete": "Padam", + "dialog.server.current": "Pelayan Semasa", + "dialog.server.status.default": "Lalai", + "wsl.server.add": "Tambah pelayan WSL", + "wsl.server.addShort": "Tambah WSL", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "Pelayan WSL", + "wsl.server.retryStart": "Cuba mula semula", + "wsl.server.updating": "Mengemas kini...", + "wsl.onboarding.step.distro": "Pilih distro", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "Memeriksa WSL...", + "wsl.onboarding.restartRequired": "Windows perlu dimulakan semula untuk melengkapkan pemasangan WSL.", + "wsl.onboarding.ready": "WSL sedia digunakan.", + "wsl.onboarding.required": "WSL diperlukan untuk meneruskan.", + "wsl.onboarding.checkingDistros": "Memeriksa distro...", + "wsl.onboarding.installingDistro": "Memasang {{distro}}...", + "wsl.onboarding.checkingDistro": "Memeriksa {{distro}}...", + "wsl.onboarding.listingDistros": "Menyenaraikan distro...", + "wsl.onboarding.distroReady": "{{distro}} sedia digunakan.", + "wsl.onboarding.distroNotInstalled": "{{distro}} belum dipasang.", + "wsl.onboarding.openDistroOnce": "Buka {{distro}} sekali untuk melengkapkan tetapan.", + "wsl.onboarding.finishingDistro": "Sedang melengkapkan tetapan untuk {{distro}}.", + "wsl.onboarding.pickDistro": "Pilih distro atau pasang satu di bawah.", + "wsl.onboarding.checkingOpencode": "Sedang menyemak OpenCode...", + "wsl.onboarding.checkingOpencodeIn": "Sedang menyemak OpenCode dalam {{distro}}...", + "wsl.onboarding.updatingOpencode": "Sedang mengemas kini OpenCode...", + "wsl.onboarding.updatingOpencodeIn": "Sedang mengemas kini OpenCode dalam {{distro}}...", + "wsl.onboarding.updateOpencodeIn": "Kemas kini OpenCode dalam {{distro}}.", + "wsl.onboarding.updateOpencode": "Kemas kini OpenCode", + "wsl.onboarding.opencodeReadyIn": "OpenCode sedia digunakan dalam {{distro}}.", + "wsl.onboarding.opencodeReady": "OpenCode sedia digunakan.", + "wsl.onboarding.installOpencodeIn": "Pasang OpenCode dalam {{distro}}.", + "wsl.onboarding.installOpencode": "Pasang OpenCode", + "wsl.onboarding.chooseDistroFirst": "Pilih distro terlebih dahulu.", + "wsl.onboarding.loadFailed": "Gagal memuatkan status WSL.", + "wsl.onboarding.loading": "Memuatkan...", + "wsl.onboarding.installedDistros": "Distro yang telah dipasang", + "wsl.onboarding.checkAgain": "Semak semula", + "wsl.onboarding.distroStatus.ready": "Sedia", + "wsl.onboarding.distroStatus.checking": "Sedang menyemak...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode belum dipasang", + "wsl.onboarding.distroStatus.missingTools": "bash, curl tiada", + "wsl.onboarding.distroStatus.unsupported": "Tidak disokong · Guna WSL 2", + "wsl.onboarding.needAnotherDistro": "Perlukan distro lain?", + "wsl.onboarding.needAnotherDistroHint": "Pasang distribusi Linux daripada katalog WSL", + "wsl.onboarding.wslNotInstalled.title": "WSL belum dipasang", + "wsl.onboarding.wslNotInstalled.description": + "WSL (Windows Subsystem for Linux) diperlukan sebelum OpenCode boleh menambah pelayan WSL", + "wsl.onboarding.wslUnavailable.title": "WSL tidak tersedia", + "wsl.onboarding.wslUnavailable.description": "OpenCode tidak dapat mengesahkan WSL pada mesin ini.", + "wsl.onboarding.installWsl": "Pasang WSL", + "wsl.onboarding.windowsRestartRequired": + "Mulakan semula Windows untuk menyiapkan pemasangan WSL, kemudian buka semula OpenCode.", + "wsl.onboarding.next": "Seterusnya", + "wsl.onboarding.refresh": "Segar semula", + "wsl.onboarding.allDistrosAdded": "Semua distro yang dipasang telah pun ditambah.", + "wsl.onboarding.noDistros": "Tiada distro dikesan lagi.", + "wsl.onboarding.install": "Pasang", + "wsl.onboarding.installing": "Sedang memasang...", + "wsl.onboarding.installDistro": "Pasang distro", + "wsl.onboarding.searchDistros": "Cari distro", + "wsl.onboarding.wsl2Required": "WSL 2 diperlukan.", + "wsl.onboarding.toolsRequired": "Distro ini memerlukan bash dan curl.", + "wsl.onboarding.openTerminal": "Buka terminal", + "wsl.onboarding.path": "Laluan: {{path}}", + "wsl.onboarding.notFound": "tidak ditemui", + "wsl.onboarding.version": "Versi: {{version}}", + "wsl.onboarding.unknown": "tidak diketahui", + "wsl.onboarding.desktopVersion": "desktop {{version}}", + "wsl.onboarding.versionMismatch": "Versi yang dipasang tidak sepadan dengan versi aplikasi desktop.", + "wsl.onboarding.adding": "Sedang menambah...", + "help.tabs.toast.ariaLabel": "Pengenalan Tab. Susun kerja dan sesi aktif anda dengan tab", + "help.tabs.toast.dismiss": "Tutup maklumat Tab", + "help.tabs.title": "Pengenalan Tab", + "help.tabs.description": "Susun kerja dan sesi aktif anda dengan tab", + "help.tabs.date": "14 Julai", + "help.tabs.introduction": "OpenCode Desktop kini dibina berasaskan tab.", + "help.tabs.sessions": + "Mulakan sesi baharu dalam tab, atau buka sesi sedia ada daripada mana-mana projek anda. Buka tab baharu apabila anda memulakan sesuatu yang baru, dan tutup apabila selesai.", + "help.tabs.organize": + "Membuka beberapa tab memudahkan anda menyusun sesi aktif. Namakan semula tab kepada sesuatu yang mudah diingati jika anda ingin menyimpannya.", + "help.tabs.home": + "Anda akan menemui semua sesi dan projek anda di skrin Laman Utama yang baharu. Memilih sesi akan membukanya dalam tab.", + "help.tabs.persistence": "Apabila anda membuka semula aplikasi, tab anda masih terbuka.", + "help.tabs.worktrees": + "Reka bentuk baharu belum menyokong Git Worktrees, ia akan hadir tidak lama lagi. Jika anda ingin terus menggunakan susun atur sebelum ini, anda boleh bertukar antara susun atur dalam Tetapan. Harap maklum bahawa susun atur baharu akan menjadi kekal dalam beberapa minggu lagi.", + "server.row.noUsername": "tiada nama pengguna", + "dialog.project.edit.title": "Edit projek", + "dialog.project.edit.name": "Nama", + "dialog.project.edit.icon": "Ikon", + "dialog.project.edit.icon.alt": "Ikon projek", + "dialog.project.edit.icon.hint": "Klik atau seret imej", + "dialog.project.edit.icon.recommended": "Disyorkan: 128x128px", + "dialog.project.edit.color": "Warna", + "dialog.project.edit.color.select": "Pilih warna {{color}}", + "dialog.project.edit.worktree.startup": "Skrip permulaan ruang kerja", + "dialog.project.edit.worktree.startup.description": "Akan dijalankan selepas mencipta ruang kerja (worktree) baharu.", + "dialog.project.edit.worktree.startup.placeholder": "cth. bun install", + "dialog.releaseNotes.action.getStarted": "Mula", + "dialog.releaseNotes.action.next": "Seterusnya", + "dialog.releaseNotes.action.hideFuture": "Jangan paparkan ini pada masa hadapan", + "dialog.releaseNotes.media.alt": "Pratonton keluaran", + "context.breakdown.title": "Perincian Konteks", + "context.breakdown.note": 'Anggaran perincian token input. "Lain-lain" termasuk definisi alat dan lebihan.', + "context.breakdown.system": "Sistem", + "context.breakdown.user": "Pengguna", + "context.breakdown.assistant": "Pembantu", + "context.breakdown.tool": "Panggilan Alat", + "context.breakdown.other": "Lain-lain", + "context.systemPrompt.title": "Arahan Sistem", + "context.rawMessages.title": "Mesej mentah", + "context.export.session": "Eksport sesi", + "context.stats.session": "Sesi", + "context.stats.messages": "Mesej", + "context.stats.provider": "Penyedia", + "context.stats.model": "Model", + "context.stats.limit": "Had Konteks", + "context.stats.totalTokens": "Jumlah Token", + "context.stats.usage": "Penggunaan", + "context.stats.inputTokens": "Token Input", + "context.stats.outputTokens": "Token Output", + "context.stats.reasoningTokens": "Token Penaakulan", + "context.stats.cacheTokens": "Token Cache (baca/tulis)", + "context.stats.userMessages": "Mesej Pengguna", + "context.stats.assistantMessages": "Mesej Pembantu", + "context.stats.totalCost": "Jumlah Kos", + "context.stats.sessionCreated": "Sesi Dicipta", + "context.stats.lastActivity": "Aktiviti Terakhir", + "context.usage.tokens": "Token", + "context.usage.usage": "Penggunaan", + "context.usage.cost": "Kos", + "context.usage.clickToView": "Klik untuk lihat konteks", + "context.usage.view": "Lihat penggunaan konteks", + "language.en": "English", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Deutsch", + "language.es": "Español", + "language.fr": "Français", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "Polski", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Norsk", + "language.br": "Português (Brasil)", + "language.bs": "Bosanski", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Türkçe", + "toast.language.title": "Bahasa", + "toast.language.description": "Bertukar kepada {{language}}", + "toast.theme.title": "Tema telah ditukar", + "toast.scheme.title": "Skema warna", + "toast.workspace.enabled.title": "Ruang kerja diaktifkan", + "toast.workspace.enabled.description": "Beberapa worktree kini dipaparkan di bar sisi", + "toast.workspace.disabled.title": "Ruang kerja dinyahaktifkan", + "toast.workspace.disabled.description": "Hanya worktree utama dipaparkan di bar sisi", + "toast.permissions.autoaccept.on.title": "Kebenaran diterima secara automatik", + "toast.permissions.autoaccept.on.description": "Permintaan kebenaran akan diluluskan secara automatik", + "toast.permissions.autoaccept.off.title": "Penerimaan kebenaran automatik dihentikan", + "toast.permissions.autoaccept.off.description": "Permintaan kebenaran memerlukan kelulusan", + "toast.model.none.title": "Tiada model dipilih", + "toast.model.none.description": "Sambungkan penyedia untuk meringkaskan sesi ini", + "toast.file.loadFailed.title": "Gagal memuat fail", + "toast.file.listFailed.title": "Gagal menyenaraikan fail", + "toast.context.noLineSelection.title": "Tiada baris dipilih", + "toast.context.noLineSelection.description": "Pilih julat baris dalam tab fail terlebih dahulu.", + "toast.session.share.copyFailed.title": "Gagal menyalin URL ke papan klip", + "toast.session.share.success.title": "Sesi dikongsi", + "toast.session.share.success.description": "URL perkongsian telah disalin ke papan klip!", + "toast.session.share.failed.title": "Gagal berkongsi sesi", + "toast.session.share.failed.description": "Ralat berlaku semasa berkongsi sesi", + "toast.session.unshare.success.title": "Sesi dibatalkan perkongsian", + "toast.session.unshare.success.description": "Perkongsian sesi berjaya dibatalkan!", + "toast.session.unshare.failed.title": "Gagal menghentikan perkongsian sesi", + "toast.session.unshare.failed.description": "Ralat berlaku semasa berkongsi semula sesi", + "toast.session.export.success.title": "Sesi dieksport", + "toast.session.export.success.description": "Sesi disimpan ke {{filename}}", + "toast.session.export.failed.title": "Gagal mengeksport sesi", + "toast.session.export.failed.description": "Ralat berlaku semasa mengeksport sesi", + "toast.session.listFailed.title": "Gagal memuatkan sesi untuk {{project}}", + "toast.project.reloadFailed.title": "Gagal memuat semula {{project}}", + "toast.update.title": "Kemas kini tersedia", + "toast.update.description": "Versi baharu OpenCode ({{version}}) kini tersedia untuk dipasang.", + "toast.update.action.installRestart": "Pasang dan mulakan semula", + "toast.update.action.notYet": "Belum lagi", + "error.page.title": "Sesuatu telah berlaku", + "error.page.description": "Ralat berlaku semasa memuatkan aplikasi.", + "error.page.description.localServerStartup": "Ralat berlaku semasa memulakan pelayan setempat.", + "error.page.details.label": "Butiran Ralat", + "error.page.action.restart": "Mulakan semula", + "error.page.action.report": "Laporkan Ralat", + "error.page.action.reported": "Ralat Dilaporkan", + "error.page.action.exportLogs": "Eksport Log", + "error.page.action.checking": "Sedang menyemak...", + "error.page.action.checkUpdates": "Semak kemas kini", + "error.page.action.updateTo": "Kemas kini ke {{version}}", + "error.page.circular": "[Bersepusing]", + "error.page.report.prefix": "Sila laporkan ralat ini kepada pasukan OpenCode", + "error.page.report.discord": "di Discord", + "error.page.version": "Versi: {{version}}", + "error.dev.rootNotFound": + "Elemen root tidak ditemui. Adakah anda terlupa menambahnya ke index.html anda? Atau mungkin atribut id telah tersalah eja?", + "error.serverSync.connectFailed": "Tidak dapat menyambung ke pelayan. Adakah pelayan sedang berjalan di `{{url}}`?", + "error.serverSDK.noServerAvailable": "Tiada pelayan tersedia", + "error.serverSDK.serverNotAvailable": "Pelayan tidak tersedia", + "error.childStore.persistedCacheCreateFailed": "Gagal mencipta cache berterusan", + "error.childStore.persistedProjectMetadataCreateFailed": "Gagal mencipta metadata projek berterusan", + "error.childStore.persistedProjectIconCreateFailed": "Gagal mencipta ikon projek berterusan", + "error.childStore.storeCreateFailed": "Gagal mencipta stor", + "directory.error.invalidUrl": "Direktori dalam URL tidak sah.", + "error.chain.unknown": "Ralat tidak diketahui", + "error.server.invalidConfiguration": "Konfigurasi tidak sah", + "error.chain.causedBy": "Disebabkan oleh:", + "error.chain.apiError": "Ralat API", + "error.chain.status": "Status: {{status}}", + "error.chain.retryable": "Boleh dicuba semula: {{retryable}}", + "error.chain.responseBody": "Badan respons:\n{{body}}", + "error.chain.didYouMean": "Adakah anda maksudkan: {{suggestions}}", + "error.chain.modelNotFound": "Model tidak ditemui: {{provider}}/{{model}}", + "error.chain.checkConfig": "Semak konfigurasi anda (opencode.json) nama penyedia/model", + "error.chain.mcpFailed": 'Pelayan MCP "{{name}}" gagal. Nota, OpenCode belum menyokong pengesahan MCP.', + "error.chain.providerAuthFailed": "Pengesahan penyedia gagal ({{provider}}): {{message}}", + "error.chain.providerInitFailed": 'Gagal memulakan penyedia "{{provider}}". Sila semak kelayakan dan konfigurasi.', + "error.chain.configJsonInvalid": "Fail konfigurasi di {{path}} bukan JSON(C) yang sah", + "error.chain.configJsonInvalidWithMessage": "Fail konfigurasi di {{path}} bukan JSON(C) yang sah: {{message}}", + "error.chain.configDirectoryTypo": + 'Direktori "{{dir}}" dalam {{path}} tidak sah. Namakan semula direktori kepada "{{suggestion}}" atau padamkan. Ini adalah kesilapan ejaan yang biasa.', + "error.chain.configFrontmatterError": "Gagal menghurai frontmatter dalam {{path}}:\n{{message}}", + "error.chain.configInvalid": "Fail konfigurasi di {{path}} tidak sah", + "error.chain.configInvalidWithMessage": "Fail konfigurasi di {{path}} tidak sah: {{message}}", + "notification.permission.title": "Kebenaran diperlukan", + "notification.permission.description": "{{sessionTitle}} dalam {{projectName}} memerlukan kebenaran", + "notification.question.title": "Soalan", + "notification.question.description": "{{sessionTitle}} dalam {{projectName}} mempunyai soalan", + "notification.action.goToSession": "Pergi ke sesi", + "notification.session.responseReady.title": "Respons sedia", + "notification.session.error.title": "Ralat sesi", + "notification.session.error.fallbackDescription": "Berlaku ralat", + "home.recentProjects": "Projek terkini", + "home.empty.title": "Tiada projek terkini", + "home.empty.description": "Mulakan dengan membuka projek tempatan", + "home.title": "Laman Utama", + "home.projects": "Projek", + "home.project.add": "Tambah projek", + "home.recentlyClosed": "Baru ditutup", + "home.server.collapse": "Runtuhkan projek pelayan", + "home.server.expand": "Kembangkan projek pelayan", + "home.sessions.search.placeholder": "Cari sesi", + "home.sessions.search.placeholder.scoped": "Cari sesi dalam {{scope}}", + "home.sessions.search.sessions": "Sesi", + "home.sessions.search.noResults": "Tiada sesi dijumpai untuk {{query}}", + "home.sessions.empty": "Belum ada apa-apa di sini", + "home.sessions.empty.description": "Cipta sesi untuk bermula", + "home.sessions.group.today": "Hari ini", + "home.sessions.group.yesterday": "Semalam", + "home.sessions.group.older": "Lama", + "home.providerTip": + "Sambung ke lebih 75 penyedia untuk menggunakan model lain, termasuk Claude, GPT, Gemini dan lain-lain", + "session.tab.session": "Sesi", + "session.tab.review": "Semak", + "session.tab.context": "Konteks", + "session.tab.unknown": "Sesi Tidak Diketahui", + "session.panel.reviewAndFiles": "Semak dan fail", + "session.error.notFound": "Sesi ini tidak dapat ditemui", + "session.error.notFound.description": "Tab ini merujuk kepada sesi yang tidak lagi wujud pada pelayan ini.", + "session.error.notFound.closeTab": "Tutup Tab", + "session.error.serverConnection": "Tidak dapat berhubung dengan pelayan ini", + "session.review.filesChanged": "{{count}} Fail Diubah", + "session.review.change.one": "Perubahan", + "session.review.change.other": "Perubahan", + "session.review.loadingChanges": "Memuat perubahan...", + "session.review.empty": "Belum ada perubahan dalam sesi ini", + "session.review.noVcs": "Tiada Sistem Kawalan Versi Git dikesan, perubahan tidak dipaparkan", + "session.review.noVcs.createGit.title": "Cipta repositori Git", + "session.review.noVcs.createGit.description": "Jejak, semak dan undur perubahan dalam projek ini", + "session.review.noVcs.createGit.actionLoading": "Mencipta repositori Git...", + "session.review.noVcs.createGit.action": "Cipta repositori Git", + "session.review.noSnapshot": "Penjejakan snapshot dilumpuhkan dalam tetapan, jadi perubahan sesi tidak tersedia", + "session.review.noChanges": "Tiada perubahan", + "session.review.noUncommittedChanges": "Belum ada perubahan belum komited", + "session.review.noBranchChanges": "Belum ada perubahan cawangan", + "session.files.selectToOpen": "Pilih fail untuk dibuka", + "session.files.all": "Semua fail", + "session.files.empty": "Tiada fail", + "session.files.binaryContent": "Fail binari (kandungan tidak dapat dipaparkan)", + "session.messages.renderEarlier": "Papar mesej terdahulu", + "session.messages.loadingEarlier": "Memuat mesej terdahulu...", + "session.messages.loadEarlier": "Muat mesej terdahulu", + "session.messages.loading": "Memuat mesej...", + "session.messages.jumpToLatest": "Lompat ke terkini", + "session.context.addToContext": "Tambah {{selection}} ke konteks", + "session.todo.title": "Senarai Tugasan", + "session.todo.collapse": "Runtuhkan", + "session.todo.expand": "Kembangkan", + "session.todo.progress": "{{done}} daripada {{total}} tugasan selesai", + "session.question.progress": "{{current}} daripada {{total}} soalan", + "session.question.minimize": "Minimumkan soalan", + "session.question.restore": "Pulihkan soalan", + "session.question.pending.one": "{{count}} soalan belum dijawab", + "session.question.pending.other": "{{count}} soalan belum dijawab", + "session.followupDock.summary.one": "{{count}} mesej dalam giliran", + "session.followupDock.summary.other": "{{count}} mesej dalam giliran", + "session.followupDock.sendNow": "Hantar sekarang", + "session.followupDock.edit": "Sunting", + "session.followupDock.collapse": "Runtuhkan mesej dalam giliran", + "session.followupDock.expand": "Kembangkan mesej dalam giliran", + "session.revertDock.summary.one": "{{count}} mesej telah dipulangkan semula", + "session.revertDock.summary.other": "{{count}} mesej telah dipulangkan semula", + "session.revertDock.collapse": "Runtuhkan mesej dipulangkan semula", + "session.revertDock.expand": "Kembangkan mesej dipulangkan semula", + "session.revertDock.restore": "Pulihkan mesej", + "session.new.title": "Bina apa sahaja", + "session.new.project.new": "Projek baharu", + "session.new.project.search": "Cari projek", + "session.new.project.add": "Tambah projek", + "session.new.worktree.main": "Cawangan utama", + "session.new.worktree.mainWithBranch": "Cawangan utama ({{branch}})", + "session.new.worktree.create": "Cipta worktree baharu", + "session.new.workspace.runIn": "Jalankan sesi dalam", + "session.new.workspace.triggerLocal": "Setempat", + "session.new.workspace.local": "Repositori setempat", + "session.new.workspace.existing": "Ruang kerja…", + "session.new.git.none": "Tiada Git", + "session.new.lastModified": "Terakhir diubah suai", + "session.header.search.placeholder": "Cari {{project}}", + "session.header.searchFiles": "Cari fail", + "session.header.openIn": "Buka dalam", + "session.header.open.action": "Buka {{app}}", + "session.header.open.ariaLabel": "Buka dalam {{app}}", + "session.header.open.menu": "Pilihan buka", + "session.header.open.copyPath": "Salin laluan", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "Penjelajah Fail", + "session.header.open.fileManager": "Pengurus Fail", + "session.header.reveal.finder": "Tunjuk dalam Finder", + "session.header.reveal.fileExplorer": "Tunjuk dalam Penjelajah Fail", + "session.header.reveal.containingFolder": "Buka folder mengandungi", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Terminal", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "Status", + "status.popover.ariaLabel": "Konfigurasi pelayan", + "status.popover.tab.servers": "Pelayan", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "Plugin", + "status.popover.action.manageServers": "Urus pelayan", + "session.share.popover.title": "Terbit di web", + "session.share.popover.description.shared": + "Sesi ini adalah awam di web. Ia boleh diakses oleh sesiapa sahaja yang mempunyai pautan.", + "session.share.popover.description.unshared": + "Kongsi sesi secara awam di web. Ia akan boleh diakses oleh sesiapa sahaja yang mempunyai pautan.", + "session.share.action.share": "Kongsi", + "session.share.action.publish": "Terbit", + "session.share.action.publishing": "Menerbitkan...", + "session.share.action.unpublish": "Batalkan terbitan", + "session.share.action.unpublishing": "Membatalkan terbitan...", + "session.share.action.view": "Lihat", + "session.share.copy.copied": "Disalin", + "session.share.copy.copyLink": "Salin pautan", + "lsp.tooltip.none": "Tiada pelayan LSP", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "Memuatkan prompt...", + "terminal.loading": "Memuatkan terminal...", + "terminal.title": "Terminal", + "terminal.title.numbered": "Terminal {{number}}", + "terminal.close": "Tutup terminal", + "terminal.connectionLost.title": "Sambungan Terputus", + "terminal.connectionLost.abnormalClose": "WebSocket ditutup secara tidak normal: {{code}}", + "terminal.connectionLost.description": + "Sambungan terminal telah terganggu. Ini boleh berlaku apabila pelayan dimulakan semula.", + "terminal.connectTicket.csrfError": + "Tiket sambungan PTY ditolak oleh semakan asal atau CSRF. Sila semak tetapan CORS pelayan.", + "terminal.connectTicket.statusError": "Tiket sambungan PTY gagal dengan {{status}}", + "titlebar.update": "Kemas kini", + "titlebar.updateVersion": "Kemas kini {{version}}", + "common.closeTab": "Tutup tab", + "common.dismiss": "Abaikan", + "common.moreCountSuffix": " (+{{count}} lagi)", + "common.requestFailed": "Permintaan gagal", + "common.moreOptions": "Pilihan lanjut", + "common.learnMore": "Ketahui lebih lanjut", + "common.rename": "Tukar nama", + "common.export": "Eksport", + "common.reset": "Tetapkan semula", + "common.archive": "Arkib", + "common.delete": "Padam", + "common.close": "Tutup", + "common.edit": "Sunting", + "common.loadMore": "Muatkan lagi", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "tidak diketahui", + "common.time.justNow": "Baru sahaja", + "common.time.minutesAgo.short": "{{count}}m lalu", + "common.time.hoursAgo.short": "{{count}}j lalu", + "common.time.daysAgo.short": "{{count}}h lalu", + "sidebar.menu.toggle": "Togol menu", + "sidebar.nav.projectsAndSessions": "Projek dan sesi", + "sidebar.settings": "Tetapan", + "sidebar.help": "Bantuan", + "sidebar.workspaces.enable": "Aktifkan ruang kerja", + "sidebar.workspaces.disable": "Nyahaktifkan ruang kerja", + "sidebar.gettingStarted.title": "Bermula", + "sidebar.gettingStarted.line1": "OpenCode merangkumi model percuma supaya anda boleh bermula serta-merta.", + "sidebar.gettingStarted.line2": + "Sambungkan mana-mana penyedia untuk menggunakan model, termasuk Claude, GPT, Gemini dan lain-lain.", + "sidebar.project.recentSessions": "Sesi terkini", + "sidebar.project.viewAllSessions": "Lihat semua sesi", + "sidebar.project.clearNotifications": "Kosongkan notifikasi", + "sidebar.empty.title": "Tiada projek dibuka", + "sidebar.empty.description": "Buka projek untuk bermula", + "debugBar.ariaLabel": "Diagnostik prestasi pembangunan", + "debugBar.na": "tiada", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "Peralihan laluan terakhir yang melibatkan halaman sesi, diukur dari permulaan router hingga cat pertama selepas ia stabil.", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "Bingkai sesaat bergolek dalam 5 saat terakhir.", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "Masa bingkai terburuk dalam 5 saat terakhir.", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "Bingkai melebihi 32ms dalam 5 saat terakhir.", + "debugBar.long.label": "LONG", + "debugBar.long.tip": "Masa tersekat dan kiraan tugasan panjang dalam 5 saat terakhir. Tugasan maksimum: {{max}}.", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "Kelewatan input terburuk yang diperhatikan dalam 5 saat terakhir.", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": + "Anggaran tempoh interaksi dalam 5 saat terakhir. Ini adalah seperti INP, bukan INP rasmi Web Vitals.", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "Anjakan tataletak kumulatif sepanjang hayat aplikasi semasa.", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "Longgokan JS digunakan berbanding had longgokan. Hanya untuk Chromium.", + "debugBar.mem.tip": "Longgokan JS digunakan berbanding had longgokan. {{used}} daripada {{limit}}.", + "debugBar.focus.label": "FOKUS", + "debugBar.focus.tip": "Paksa gaya fokus pada semua elemen interaktif", + "debugBar.focus.on": "AKTIF", + "debugBar.focus.off": "NYAHTAKTIF", + "debugBar.direction.label": "ARAH", + "debugBar.direction.tip": "Paksa arah tataletak aplikasi penuh tanpa menukar bahasa terpilih", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode Desktop", + "settings.section.desktop": "Desktop", + "settings.section.server": "Pelayan", + "settings.tab.general": "Umum", + "settings.tab.shortcuts": "Pintasan", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "Integrasi WSL", + "settings.desktop.wsl.description": "Jalankan pelayan OpenCode dalam WSL di Windows.", + "settings.general.section.appearance": "Penampilan", + "settings.general.section.advanced": "Lanjutan", + "settings.general.section.notifications": "Pemberitahuan sistem", + "settings.general.section.updates": "Kemas kini", + "settings.general.section.sounds": "Kesan bunyi", + "settings.general.section.feed": "Suapan", + "settings.general.section.display": "Paparan", + "settings.general.row.language.title": "Bahasa", + "settings.general.row.language.description": "Tukar bahasa paparan untuk OpenCode", + "settings.general.row.shell.title": "Shell terminal", + "settings.general.row.shell.description": "Shell yang digunakan oleh terminal dan alat ejen", + "settings.general.row.shell.autoDefault": "Auto (Lalai)", + "settings.general.row.shell.terminalOnly": "terminal sahaja", + "settings.general.row.appearance.title": "Penampilan", + "settings.general.row.appearance.description": "Sesuaikan rupa OpenCode pada peranti anda", + "settings.general.row.colorScheme.title": "Skema warna", + "settings.general.row.colorScheme.description": "Pilih sama ada OpenCode mengikut sistem, tema cerah, atau gelap", + "settings.general.row.theme.title": "Tema", + "settings.general.row.theme.description": "Sesuaikan tema OpenCode.", + "settings.general.row.font.title": "Fon Kod", + "settings.general.row.font.description": "Sesuaikan fon yang digunakan dalam blok kod", + "settings.general.row.terminalFont.title": "Fon Terminal", + "settings.general.row.terminalFont.description": "Sesuaikan fon yang digunakan dalam terminal", + "settings.general.row.uiFont.title": "Fon Antara Muka", + "settings.general.row.uiFont.description": "Sesuaikan fon yang digunakan di seluruh antara muka", + "settings.general.row.followup.title": "Tingkah laku susulan", + "settings.general.row.followup.description": + "Pilih sama ada arahan susulan dilaksanakan serta-merta atau menunggu dalam barisan", + "settings.general.row.followup.option.queue": "Barisan", + "settings.general.row.followup.option.steer": "Segera", + "settings.general.row.showFileTree.title": "Pokok fail", + "settings.general.row.showFileTree.description": "Papar panel pokok fail dalam sesi", + "settings.general.row.showNavigation.title": "Kawalan navigasi", + "settings.general.row.showNavigation.description": "Papar butang kembali dan ke hadapan pada bar tajuk desktop", + "settings.general.row.showSearch.title": "Palet arahan", + "settings.general.row.showSearch.description": "Papar butang carian dan palet arahan pada bar tajuk", + "settings.general.row.showTerminal.title": "Terminal", + "settings.general.row.showTerminal.description": "Papar butang terminal pada bar tajuk desktop", + "settings.general.row.showStatus.title": "Status pelayan", + "settings.general.row.showStatus.description": "Papar butang status pelayan pada bar tajuk", + "settings.general.row.mobileTitlebarBottom.title": "Navigasi bawah", + "settings.general.row.mobileTitlebarBottom.description": + "Letakkan bar tajuk dan tab sesi di bahagian bawah skrin pada peranti mudah alih", + "settings.general.row.showCustomAgents.title": "Papar ejen", + "settings.general.row.showCustomAgents.description": + "Tukar antara ejen dalam penyusun. Jika disembunyikan, lalai kepada ejen Build.", + "settings.general.row.reasoningSummaries.title": "Papar ringkasan penaakulan", + "settings.general.row.reasoningSummaries.description": "Papar ringkasan penaakulan model dalam garis masa", + "settings.general.row.shellToolPartsExpanded.title": "Kembangkan bahagian alat shell", + "settings.general.row.shellToolPartsExpanded.description": + "Papar bahagian alat shell dikembangkan secara lalai dalam garis masa", + "settings.general.row.editToolPartsExpanded.title": "Kembangkan bahagian alat suntingan", + "settings.general.row.editToolPartsExpanded.description": + "Papar bahagian alat sunting, tulis, dan tampal dikembangkan secara lalai dalam garis masa", + "settings.general.row.newInterface.title": "Susun atur baharu", + "settings.general.row.newInterface.badge": "Baharu", + "settings.general.row.newInterface.description": + "Guna tab dan susun atur Laman Utama yang baharu. Tukar antara susun atur untuk masa terhad.", + "settings.general.row.newInterfaceNotice.title": "Anda kini menggunakan susun atur baharu", + "settings.general.row.newInterfaceNotice.description": "Susun atur sebelum ini tidak lagi tersedia", + "settings.general.row.newInterfaceNotice.dismiss": "Tutup", + "settings.general.row.pinchZoom.title": "Cubit untuk zum", + "settings.general.row.pinchZoom.description": "Benarkan gerak isyarat cubit pada pad jejak dan Ctrl-tatal untuk zum", + "settings.general.row.wayland.title": "Guna Wayland asli", + "settings.general.row.wayland.description": "Lumpuhkan sandaran X11 pada Wayland. Memerlukan mula semula.", + "settings.general.row.wayland.tooltip": + "Di Linux dengan monitor kadar segar campuran, Wayland asli boleh jadi lebih stabil.", + "settings.general.row.releaseNotes.title": "Nota keluaran", + "settings.general.row.releaseNotes.description": "Papar tetingkap Apa Yang Baharu selepas kemas kini", + "settings.updates.row.startup.title": "Semak kemas kini semasa permulaan", + "settings.updates.row.startup.description": "Semak kemas kini secara automatik apabila OpenCode dilancarkan", + "settings.updates.row.check.title": "Semak kemas kini", + "settings.updates.row.check.description": "Semak kemas kini secara manual dan pasang jika tersedia", + "settings.updates.action.checkNow": "Semak sekarang", + "settings.updates.action.checking": "Menyemak...", + "settings.updates.action.downloading": "Memuat turun...", + "settings.updates.action.installing": "Sedang memasang...", + "settings.updates.toast.latest.title": "Anda sudah terkini", + "settings.updates.toast.latest.description": "Anda sedang menggunakan versi terkini OpenCode.", + "sound.option.none": "Tiada", + "sound.option.alert01": "Amaran 01", + "sound.option.alert02": "Amaran 02", + "sound.option.alert03": "Amaran 03", + "sound.option.alert04": "Amaran 04", + "sound.option.alert05": "Amaran 05", + "sound.option.alert06": "Amaran 06", + "sound.option.alert07": "Amaran 07", + "sound.option.alert08": "Amaran 08", + "sound.option.alert09": "Amaran 09", + "sound.option.alert10": "Amaran 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "Nope 01", + "sound.option.nope02": "Nope 02", + "sound.option.nope03": "Nope 03", + "sound.option.nope04": "Nope 04", + "sound.option.nope05": "Nope 05", + "sound.option.nope06": "Nope 06", + "sound.option.nope07": "Nope 07", + "sound.option.nope08": "Nope 08", + "sound.option.nope09": "Nope 09", + "sound.option.nope10": "Nope 10", + "sound.option.nope11": "Nope 11", + "sound.option.nope12": "Nope 12", + "sound.option.yup01": "Yup 01", + "sound.option.yup02": "Yup 02", + "sound.option.yup03": "Yup 03", + "sound.option.yup04": "Yup 04", + "sound.option.yup05": "Yup 05", + "sound.option.yup06": "Yup 06", + "settings.general.notifications.agent.title": "Ejen", + "settings.general.notifications.agent.description": + "Tunjukkan pemberitahuan sistem apabila ejen selesai atau memerlukan perhatian", + "settings.general.notifications.permissions.title": "Kebenaran", + "settings.general.notifications.permissions.description": + "Tunjukkan pemberitahuan sistem apabila kebenaran diperlukan", + "settings.general.notifications.errors.title": "Ralat", + "settings.general.notifications.errors.description": "Tunjukkan pemberitahuan sistem apabila ralat berlaku", + "settings.general.sounds.agent.title": "Ejen", + "settings.general.sounds.agent.description": "Mainkan bunyi apabila ejen selesai atau memerlukan perhatian", + "settings.general.sounds.permissions.title": "Kebenaran", + "settings.general.sounds.permissions.description": "Mainkan bunyi apabila kebenaran diperlukan", + "settings.general.sounds.errors.title": "Ralat", + "settings.general.sounds.errors.description": "Mainkan bunyi apabila ralat berlaku", + "settings.shortcuts.title": "Pintasan papan kekunci", + "settings.shortcuts.reset.button": "Tetapkan semula kepada lalai", + "settings.shortcuts.reset.toast.title": "Pintasan ditetapkan semula", + "settings.shortcuts.reset.toast.description": "Pintasan papan kekunci telah ditetapkan semula kepada lalai.", + "settings.shortcuts.conflict.title": "Pintasan sudah digunakan", + "settings.shortcuts.conflict.description": "{{keybind}} telah pun ditetapkan kepada {{titles}}.", + "settings.shortcuts.unassigned": "Tidak ditetapkan", + "settings.shortcuts.pressKeys": "Tekan kekunci", + "settings.shortcuts.search.placeholder": "Cari pintasan", + "settings.shortcuts.search.empty": "Tiada pintasan dijumpai", + "settings.shortcuts.group.general": "Umum", + "settings.shortcuts.group.session": "Sesi", + "settings.shortcuts.group.navigation": "Navigasi", + "settings.shortcuts.group.modelAndAgent": "Model dan ejen", + "settings.shortcuts.group.terminal": "Terminal", + "settings.shortcuts.group.prompt": "Arahan", + "settings.providers.title": "Penyedia", + "settings.providers.description": "Tetapan penyedia boleh dikonfigurasi di sini.", + "settings.providers.section.connected": "Penyedia yang disambungkan", + "settings.providers.connected.empty": "Tiada penyedia yang disambungkan", + "settings.providers.connected.environmentDescription": "Disambungkan daripada pembolehubah persekitaran anda", + "settings.providers.section.popular": "Penyedia popular", + "settings.providers.custom.description": "Tambah penyedia serasi OpenAI melalui URL asas.", + "settings.providers.tag.environment": "Persekitaran", + "settings.providers.tag.config": "Konfigurasi", + "settings.providers.tag.custom": "Tersuai", + "settings.providers.tag.other": "Lain-lain", + "settings.models.title": "Model", + "settings.models.description": "Tetapan model boleh dikonfigurasi di sini.", + "settings.agents.title": "Ejen", + "settings.agents.description": "Tetapan ejen boleh dikonfigurasi di sini.", + "settings.commands.title": "Arahan", + "settings.commands.description": "Tetapan arahan boleh dikonfigurasi di sini.", + "settings.mcp.title": "MCP", + "settings.mcp.description": "Tetapan MCP boleh dikonfigurasi di sini.", + "settings.permissions.title": "Kebenaran", + "settings.permissions.description": "Kawal alat yang boleh digunakan oleh pelayan secara lalai.", + "settings.permissions.section.tools": "Alat", + "settings.permissions.toast.updateFailed.title": "Gagal mengemas kini kebenaran", + "settings.permissions.action.allow": "Benarkan", + "settings.permissions.action.ask": "Tanya", + "settings.permissions.action.deny": "Tolak", + "settings.permissions.tool.read.title": "Baca", + "settings.permissions.tool.read.description": "Membaca fail (padanan laluan fail)", + "settings.permissions.tool.edit.title": "Sunting", + "settings.permissions.tool.edit.description": "Ubah fail, termasuk suntingan, penulisan, dan tampalan", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "Padankan fail menggunakan corak glob", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "Cari kandungan fail menggunakan ungkapan biasa", + "settings.permissions.tool.list.title": "Senarai", + "settings.permissions.tool.list.description": "Senaraikan fail dalam folder", + "settings.permissions.tool.bash.title": "Bash", + "settings.permissions.tool.bash.description": "Jalankan arahan shell", + "settings.permissions.tool.task.title": "Tugas", + "settings.permissions.tool.task.description": "Lancarkan sub-ejen", + "settings.permissions.tool.skill.title": "Kemahiran", + "settings.permissions.tool.skill.description": "Muatkan kemahiran mengikut nama", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "Jalankan pertanyaan pelayan bahasa", + "settings.permissions.tool.todowrite.title": "Tulis Todo", + "settings.permissions.tool.todowrite.description": "Kemas kini senarai tugasan", + "settings.permissions.tool.webfetch.title": "Ambil Web", + "settings.permissions.tool.webfetch.description": "Ambil kandungan dari URL", + "settings.permissions.tool.websearch.title": "Carian Web", + "settings.permissions.tool.websearch.description": "Cari di web", + "settings.permissions.tool.external_directory.title": "Direktori Luaran", + "settings.permissions.tool.external_directory.description": "Akses fail di luar direktori projek", + "settings.permissions.tool.doom_loop.title": "Gelung Doom", + "settings.permissions.tool.doom_loop.description": "Kesan panggilan alat berulang dengan input yang sama", + "session.delete.failed.title": "Gagal memadam sesi", + "session.delete.title": "Padam sesi", + "session.delete.confirm": 'Padam sesi "{{name}}"?', + "session.delete.button": "Padam sesi", + "workspace.new": "Ruang kerja baharu", + "workspace.type.local": "setempat", + "workspace.type.sandbox": "kotak pasir", + "workspace.create.failed.title": "Gagal mencipta ruang kerja", + "workspace.delete.failed.title": "Gagal memadam ruang kerja", + "workspace.resetting.title": "Menetap semula ruang kerja", + "workspace.resetting.description": "Ini mungkin mengambil masa sebentar.", + "workspace.reset.failed.title": "Gagal menetap semula ruang kerja", + "workspace.reset.success.title": "Ruang kerja telah ditetap semula", + "workspace.reset.success.description": "Ruang kerja kini sepadan dengan cawangan lalai.", + "workspace.error.stillPreparing": "Ruang kerja masih sedang disediakan", + "workspace.status.checking": "Memeriksa perubahan belum digabungkan...", + "workspace.status.error": "Tidak dapat mengesahkan status git.", + "workspace.status.clean": "Tiada perubahan belum digabungkan dikesan.", + "workspace.status.dirty": "Perubahan belum digabungkan dikesan dalam ruang kerja ini.", + "workspace.delete.title": "Padam ruang kerja", + "workspace.delete.confirm": 'Padam ruang kerja "{{name}}"?', + "workspace.delete.button": "Padam ruang kerja", + "workspace.reset.title": "Tetap semula ruang kerja", + "workspace.reset.confirm": 'Tetap semula ruang kerja "{{name}}"?', + "workspace.reset.button": "Tetap semula ruang kerja", + "workspace.reset.archived.none": "Tiada sesi aktif akan diarkibkan.", + "workspace.reset.archived.one": "1 sesi akan diarkibkan.", + "workspace.reset.archived.many": "{{count}} sesi akan diarkibkan.", + "workspace.reset.note": "Ini akan menetap semula ruang kerja agar sepadan dengan cawangan lalai.", + "dialog.usageExceeded.dontShowAgain": "Jangan tunjukkan lagi", +} diff --git a/packages/app/src/i18n/my.ts b/packages/app/src/i18n/my.ts new file mode 100644 index 000000000000..6046f337ff06 --- /dev/null +++ b/packages/app/src/i18n/my.ts @@ -0,0 +1,1176 @@ +export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "ဖိုင်", + "desktop.menu.edit": "တည်းဖြတ်ပါ။", + "desktop.menu.view": "ကြည့်ရန်", + "desktop.menu.go": "သွားပါ။", + "desktop.menu.window": "ဝင်းဒိုး", + "desktop.menu.help": "အကူအညီ", + "desktop.menu.checkForUpdates": "အပ်ဒိတ်များအတွက် စစ်ဆေးပါ...", + "desktop.menu.settings": "ဆက်တင်များ", + "desktop.menu.reloadWebview": "Webview ကို ပြန်လည်စတင်ပါ။", + "desktop.menu.restart": "ပြန်လည်စတင်ပါ။", + "desktop.menu.exportLogs": "မှတ်တမ်းများ ထုတ်ယူရန်...", + "desktop.menu.newSession": "အပိုင်းအသစ်", + "desktop.menu.openProject": "ပရောဂျက်ကို ဖွင့်ပါ...", + "desktop.menu.newWindow": "ဝင်းဒိုးအသစ်", + "desktop.menu.closeWindow": "Window ကိုပိတ်ပါ။", + "desktop.menu.undo": "မလုပ်တော့ပါ။", + "desktop.menu.redo": "ပြန်လုပ်ပါ။", + "desktop.menu.cut": "ဖြတ်ပါ။", + "desktop.menu.copy": "မိတ္တူ", + "desktop.menu.paste": "ကူးထည့်ပါ။", + "desktop.menu.delete": "ဖျက်ပါ", + "desktop.menu.selectAll": "အားလုံးကို ရွေးပါ။", + "desktop.menu.toggleSidebar": "ဘေးဘားကို ပြောင်းရန်", + "desktop.menu.toggleTerminal": "Terminal ပြောင်းရန်", + "desktop.menu.toggleFileTree": "ဖိုင်သစ်ပြောင်းရန်", + "desktop.menu.reload": "ပြန်လည်စတင်ပါ။", + "desktop.menu.toggleDeveloperTools": "ဆော့ဖ်ဝဲရေးသားသူ တူးလ်များကို ပြောင်းရန်", + "desktop.menu.actualSize": "အမှန်တကယ်အရွယ်အစား", + "desktop.menu.zoomIn": "ဇူးမ်ချဲ့ပါ။", + "desktop.menu.zoomOut": "ချုံ့ပါ", + "desktop.menu.toggleFullScreen": "မျက်နှာပြင်အပြည့် ပြောင်းရန်", + "desktop.menu.back": "နောက်ပြန်", + "desktop.menu.forward": "ရှေ့သို့", + "desktop.menu.previousSession": "ယခင်ဆက်ရှင်", + "desktop.menu.nextSession": "နောက်ဆက်ရှင်", + "desktop.menu.previousProject": "ယခင်ပရောဂျက်", + "desktop.menu.nextProject": "နောက်တစ်ခု ပရောဂျက်", + "desktop.menu.minimize": "လျှော့ပါ။", + "desktop.menu.maximize": "အကြီးချဲ့ပါ။", + "desktop.menu.documentation": "OpenCode စာရွက်စာတမ်း", + "desktop.menu.supportForum": "ပံ့ပိုးမှုဖိုရမ်", + "desktop.menu.shareFeedback": "အကြံပြုချက်ကို မျှဝေပါ။", + "desktop.menu.reportBug": "ချွတ်ယွင်းချက်တစ်ခုကို သတင်းပို့ပါ။", + "desktop.menu.ariaLabel": "OpenCode မီနူး", + "desktop.updater.dialog.checkFailed.message": "အပ်ဒိတ်စစ်ဆေးမှု မအောင်မြင်ပါ။", + "desktop.updater.dialog.checkFailed.title": "အပ်ဒိတ် အမှား", + "desktop.updater.dialog.upToDate.message": "သင်သည် ခေတ်မီနေပါသည်။", + "desktop.updater.dialog.upToDate.title": "အပ်ဒိတ်များမရှိပါ။", + "desktop.updater.dialog.ready.message": "{{version}} အပ်ဒိတ်ကို ဒေါင်းလုဒ်လုပ်ထားသည်။ ယခု ပြန်စမလား။", + "desktop.updater.dialog.ready.title": "အပ်ဒိတ်အဆင်သင့်ဖြစ်ပါပြီ။", + "desktop.updater.dialog.restart": "ပြန်လည်စတင်ပါ။", + "desktop.updater.dialog.later": "နောက်ပိုင်း", + "desktop.recovery.action.relaunch": "ပြန်လည်စတင်ပါ။", + "desktop.recovery.action.exportLogs": "မှတ်တမ်းများ ထုတ်ယူရန်", + "desktop.recovery.action.keepWaiting": "ဆက်စောင့်ပါ။", + "desktop.recovery.action.quit": "ထွက်လိုက်ပါ။", + "desktop.recovery.loadFailed": "OpenCode ကို ဖွင့်၍မရပါ။", + "desktop.recovery.terminated": "OpenCode ဝင်းဒိုးသည် မမျှော်လင့်ဘဲ ပိတ်သွားသည်။", + "desktop.recovery.unresponsive": "OpenCode သည် တုံ့ပြန်ခြင်းမရှိပါ။", + "desktop.recovery.unresponsive.detail": + "သင်သည် အက်ပ်ကို ပြန်လည်စတင်နိုင်သည်၊ မှတ်တမ်းများကို ဖွင့်နိုင်သည် သို့မဟုတ် ဆက်လက်စောင့်ဆိုင်းနိုင်သည်။", + "desktop.recovery.loadFailed.detail": "Window- {{window}}\nURL- {{url}}\nအမှား- {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Window- {{window}}\nအကြောင်းရင်း- {{reason}}\nကုဒ်- {{code}}", + "desktop.recovery.unknown": "<အမည်မသိ>", + "desktop.dialog.chooseFolder": "ဖိုင်တွဲတစ်ခုကို ရွေးပါ။", + "desktop.dialog.chooseFile": "ဖိုင်တစ်ခုကို ရွေးပါ။", + "desktop.dialog.saveFile": "ဖိုင်ကို သိမ်းဆည်းပါ။", + "desktop.dialog.files": "ဖိုင်များ", + "desktop.server.local": "ပြည်တွင်းဆာဗာ", + "desktop.wsl.error.windowsOnly": "WSL ကို Windows တွင်သာ ရနိုင်သည်။", + "desktop.wsl.error.unavailable": "WSL ကို မရနိုင်ပါ။", + "desktop.wsl.error.listInstalled": "ထည့်သွင်းထားသော WSL ကွဲပြားမှုများကို စာရင်းပြုစုရန် မအောင်မြင်ပါ။", + "desktop.wsl.error.listOnline": "အွန်လိုင်း WSL ကွဲပြားမှုများကို စာရင်းပြုစုရန် မအောင်မြင်ပါ။", + "desktop.wsl.error.executeDistro": "distro တွင် command များကို လုပ်ဆောင်၍မရပါ။", + "desktop.wsl.error.installWsl": "WSL ထည့်သွင်းခြင်း မအောင်မြင်ပါ။", + "desktop.wsl.error.installDistro": "distro ကို ထည့်သွင်းရန် မအောင်မြင်ပါ- {{distro}}", + "desktop.wsl.error.installOpencode": "OpenCode ထည့်သွင်းခြင်း မအောင်မြင်ပါ။", + "desktop.wsl.error.alreadyAdded": "{{distro}} ကို ထည့်သွင်းပြီးဖြစ်သည်။", + "desktop.wsl.error.opencodeMissing": "opencode ကို ဤ distro တွင် ထည့်သွင်းမထားပါ။", + "desktop.wsl.error.opencodeCannotRun": "opencode ကို ထည့်သွင်းထားသော်လည်း မလည်ပတ်နိုင်ပါ။", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode ကို {{distro}} တွင် ထည့်သွင်းမထားပါ။", + "desktop.wsl.error.updateVersion": + "OpenCode အပ်ဒိတ် ပြီးဆုံးသွားသော်လည်း {{distro}} သည် {{installed}} မှ ဆက်လက်တင်ပြနေပါသည်။ {{expected}} မျှော်လင့်ထားသည်။", + "desktop.wsl.error.noVersion": "ဗားရှင်းမရှိပါ။", + "desktop.wsl.error.serverExited": "စတင်ပြီးနောက် WSL ဆာဗာမှ ထွက်ခဲ့သည် (ကုဒ်={{code}} အချက်ပြ={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "ကျန်းမာရေးမကောင်းမီ WSL ဆာဗာမှ ထွက်ခဲ့သည် (code={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": + "{{distro}} ကျန်းမာရေးစစ်ဆေးမှုအတွက် ဆိုက်ကားဆရာ {{timeout}}ms ပြီးနောက် အချိန်ကုန်သွားသည်", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} {{timeout}}ms ပြီးနောက် အချိန်ကုန်သွားသည်", + "desktop.wsl.error.failedPort": "ဆိပ်ကမ်းကို ရယူရန် မအောင်မြင်ပါ။", + "desktop.picker.error.notSelected": "ဖိုင်ကို ရွေးချယ်သူမှ ရွေးချယ်မထားပါ။", + "desktop.picker.error.sizeLimit": "ရွေးချယ်ထားသော ပူးတွဲပါဖိုင်များသည် {{limit}} MB ကန့်သတ်ချက်ထက် ကျော်လွန်ပါသည်။", + "command.category.suggested": "အကြံပြုထားသည်။", + "command.category.view": "ကြည့်ရန်", + "command.category.project": "ပရောဂျက်", + "command.category.provider": "ပံ့ပိုးပေးသူ", + "command.category.server": "ဆာဗာ", + "command.category.session": "အပိုင်း", + "command.category.theme": "အပြင်အဆင်", + "command.category.language": "ဘာသာစကား", + "command.category.file": "ဖိုင်", + "command.category.context": "ဆက်စပ်အကြောင်းအရာ", + "command.category.terminal": "Terminal", + "command.category.model": "မော်ဒယ်", + "command.category.mcp": "MCP", + "command.category.agent": "အေးဂျင့်", + "command.category.permissions": "ခွင့်ပြုချက်များ", + "command.category.workspace": "အလုပ်နေရာ", + "command.category.settings": "ဆက်တင်များ", + "command.logs.export": "မှတ်တမ်းများကို ထုတ်ယူပါ။", + "theme.scheme.system": "စနစ်", + "theme.scheme.light": "အလင်း", + "theme.scheme.dark": "အမှောင်", + "command.sidebar.toggle": "ဘေးဘားကို ပြောင်းရန်", + "command.project.open": "ပရောဂျက်ကို ဖွင့်ပါ။", + "command.project.previous": "ယခင်ပရောဂျက်", + "command.project.next": "နောက်ပရောဂျက်", + "command.project.index": "ပရောဂျက် {{index}} သို့ ပြောင်းပါ။", + "command.provider.connect": "ဝန်ဆောင်မှုပေးသူကို ချိတ်ဆက်ပါ။", + "command.server.switch": "ဆာဗာပြောင်းပါ။", + "command.settings.open": "ဆက်တင်များကိုဖွင့်ပါ။", + "command.session.previous": "ယခင်စက်ရှင်", + "command.session.next": "နောက်ဆက်ရှင်", + "command.session.previous.unseen": "ယခင် မဖတ်ရသေးသော စက်ရှင်", + "command.session.next.unseen": "နောက်တစ်ခု မဖတ်ရသေးသော စက်ရှင်", + "command.session.archive": "မှတ်တမ်း အပိုင်း", + "command.palette": "အမိန့်များစာရင်း", + "command.theme.cycle": "Cycle အပြင်အဆင်", + "command.theme.set": "အပြင်အဆင်ကို အသုံးပြုပါ- {{theme}}", + "command.theme.scheme.cycle": "စက်ဝိုင်းအရောင်ပုံစံ", + "command.theme.scheme.set": "အရောင်အစီအစဉ်- {{scheme}} ကို အသုံးပြုပါ။", + "command.language.cycle": "စက်ဝိုင်းဘာသာစကား", + "command.language.set": "ဘာသာစကားကို အသုံးပြုပါ- {{language}}", + "command.session.new": "စက်ရှင်အသစ်", + "command.file.open": "ဖိုင်ကိုဖွင့်ပါ။", + "command.tab.close": "တဘ်ကို ပိတ်ပါ။", + "command.tab.reopenClosed": "ပိတ်ထားသော တက်ဘ်ကို ပြန်ဖွင့်ပါ။", + "command.context.addSelection": "ရွေးချယ်ထားသည်ကို ဆက်စပ်အကြောင်းအရာထဲ ထည့်ပါ။", + "command.context.addSelection.description": "လက်ရှိဖိုင်မှ ရွေးချယ်ထားသော လိုင်းများကို ထည့်ပါ။", + "command.input.focus": "အာရုံစူးစိုက်မှု ထည့်သွင်းမှု", + "command.terminal.toggle": "Terminal ကို ပြောင်းပါ", + "command.fileTree.toggle": "ဖိုင်သစ်ပြောင်းရန်", + "command.review.toggle": "သုံးသပ်ချက်ကို ပြောင်းရန်", + "command.terminal.new": "Terminal အသစ်", + "command.terminal.new.description": "terminal တက်ဘ်အသစ်တစ်ခု ဖန်တီးပါ။", + "command.steps.toggle": "အဆင့်များကို ပြောင်းရန်", + "command.steps.toggle.description": "လက်ရှိမက်ဆေ့ဂျ်အတွက် အဆင့်များကို ပြပါ သို့မဟုတ် ဝှက်ပါ။", + "command.message.previous": "ယခင်မက်ဆေ့ဂျ်", + "command.message.previous.description": "ယခင်အသုံးပြုသူ မက်ဆေ့ချ်သို့ သွားပါ။", + "command.message.next": "နောက်မက်ဆေ့ဂျ်", + "command.message.next.description": "နောက်အသုံးပြုသူ မက်ဆေ့ဂျ်သို့ သွားပါ။", + "command.model.choose": "မော်ဒယ်ကို ရွေးပါ။", + "command.model.choose.description": "မတူညီသော မော်ဒယ်ကို ရွေးပါ။", + "command.mcp.toggle": "MCP များကို ပြောင်းရန်", + "command.mcp.toggle.description": "MCP များကို ပြောင်းရန်", + "command.agent.cycle": "သံသရာအေးဂျင့်", + "command.agent.cycle.description": "နောက်အေးဂျင့်သို့ ပြောင်းပါ။", + "command.agent.cycle.reverse": "နောက်ပြန်လှည့်သည့် အေးဂျင့်စက်ဝန်း", + "command.agent.cycle.reverse.description": "ယခင်အေးဂျင့်သို့ ပြောင်းပါ။", + "command.model.variant.cycle": "သံသရာတွေးတောအားထုတ်မှု", + "command.model.variant.cycle.description": "နောက်ထပ်ကြိုးစားမှုအဆင့်သို့ ပြောင်းပါ။", + "command.prompt.mode.shell": "Shell", + "command.prompt.mode.normal": "Prompt", + "command.permissions.autoaccept.enable": "ခွင့်ပြုချက်များကို အလိုအလျောက် လက်ခံသည်။", + "command.permissions.autoaccept.disable": "ခွင့်ပြုချက်များကို အလိုအလျောက်လက်ခံခြင်းကို ရပ်ပါ။", + "command.workspace.toggle": "အလုပ်နေရာများ ပြောင်းရန်", + "command.workspace.toggle.description": "ဘေးဘားရှိ အလုပ်နေရာများစွာကို ဖွင့်ပါ သို့မဟုတ် ပိတ်ပါ။", + "command.session.undo": "မလုပ်တော့ပါ။", + "command.session.undo.description": "နောက်ဆုံးမက်ဆေ့ဂျ်ကို ပြန်ဖျက်ပါ။", + "command.session.redo": "ပြန်လုပ်ပါ။", + "command.session.redo.description": "နောက်ဆုံးမပြီးသော မက်ဆေ့ဂျ်ကို ပြန်လုပ်ပါ။", + "command.session.compact": "ကျစ်လစ်သိပ်သည်းသော စက်ရှင်", + "command.session.compact.description": "အကြောင်းအရာအရွယ်အစားကို လျှော့ချရန် စက်ရှင်ကို အကျဉ်းချုံ့ပါ။", + "command.session.fork": "မက်ဆေ့ဂျ်မှ ခက်ရင်း", + "command.session.fork.description": "ယခင်မက်ဆေ့ဂျ်မှ ဆက်ရှင်အသစ်တစ်ခု ဖန်တီးပါ။", + "command.session.share": "စက်ရှင်ကို မျှဝေပါ။", + "command.session.share.description": "ဤစက်ရှင်ကို မျှဝေပြီး URL ကို ကလစ်ဘုတ်သို့ ကူးယူပါ။", + "command.session.unshare": "စက်ရှင်ကို မျှဝေခြင်းမှ ဖြုတ်ပါ။", + "command.session.unshare.description": "ဤစက်ရှင်အား မျှဝေခြင်းကို ရပ်ပါ။", + "command.session.export": "စက်ရှင်ကို ထုတ်ယူရန်", + "command.session.export.description": "စက်ရှင်မှတ်တမ်းအပြည့်အစုံကို JSON အဖြစ် ထုတ်ယူပါ။", + "palette.search.placeholder": "ဖိုင်များ၊ ညွှန်ကြားချက်များနှင့် ဆက်ရှင်များကို ရှာဖွေပါ။", + "palette.search.placeholder.home": "ညွှန်ကြားချက်များနှင့် ဆက်ရှင်များကို ရှာဖွေပါ။", + "palette.empty": "ရလဒ်များမတွေ့ပါ။", + "palette.group.commands": "အမိန့်များ", + "palette.group.files": "ဖိုင်များ", + "dialog.provider.search.placeholder": "ရှာဖွေပေးသူများ", + "dialog.provider.empty": "ဝန်ဆောင်မှုပေးသူများကို မတွေ့ပါ။", + "dialog.provider.group.popular": "လူကြိုက်များသည်။", + "dialog.provider.group.other": "အခြား", + "dialog.provider.custom.label": "စိတ်ကြိုက် OpenAI-သဟဇာတ ပံ့ပိုးပေးသူ", + "dialog.provider.tag.recommended": "အကြံပြုထားသည်။", + "dialog.provider.opencode.note": "Claude၊ GPT၊ Gemini နှင့် အခြားအရာများ အပါအဝင် ရွေးချယ်ထားသော မော်ဒယ်များ", + "dialog.provider.opencode.tagline": "ယုံကြည်စိတ်ချရသော အကောင်းဆုံးပြင်ဆင်ထားသော မော်ဒယ်များ", + "dialog.provider.opencodeGo.tagline": "လူတိုင်းအတွက် ကုန်ကျစရိတ်သက်သာသော စာရင်းသွင်းမှု", + "dialog.provider.anthropic.note": "Pro နှင့် Max အပါအဝင် Claude မော်ဒယ်များသို့ တိုက်ရိုက်ဝင်ရောက်ခွင့်", + "dialog.provider.copilot.note": "GitHub Copilot မှတစ်ဆင့် ကုဒ်ရေးနည်းအကူအညီအတွက် AI မော်ဒယ်များ", + "dialog.provider.openai.note": "လျင်မြန်ပြီး လုပ်ဆောင်နိုင်သော အထွေထွေ AI လုပ်ဆောင်ချက်များအတွက် GPT မော်ဒယ်များ", + "dialog.provider.google.note": "မြန်ဆန်ပြီး ဖွဲ့စည်းတည်ဆောက်ထားသော တုံ့ပြန်မှုများအတွက် Gemini မော်ဒယ်များ", + "dialog.provider.openrouter.note": "ပံ့ပိုးပေးသူတစ်ခုတည်းမှ ပံ့ပိုးပေးထားသော မော်ဒယ်အားလုံးကို ဝင်ရောက်ကြည့်ရှုပါ။", + "dialog.provider.vercel.note": "စမတ်လမ်းကြောင်းဖြင့် AI မော်ဒယ်များသို့ တစ်စုတစ်စည်းတည်း ဝင်ရောက်ခွင့်", + "dialog.model.select.title": "မော်ဒယ်ကို ရွေးပါ။", + "dialog.model.search.placeholder": "မော်ဒယ်များကို ရှာဖွေပါ။", + "dialog.model.empty": "မော်ဒယ်ရလဒ်များ မရှိပါ။", + "dialog.model.manage": "မော်ဒယ်များကို စီမံပါ။", + "dialog.model.manage.description": "မော်ဒယ်ရွေးချယ်မှုတွင် မည်သည့်မော်ဒယ်များကို စိတ်ကြိုက်ပြင်ဆင်ပါ။", + "dialog.model.manage.provider.toggle": "{{provider}} မော်ဒယ်အားလုံးကို ပြောင်းရန်", + "dialog.model.unpaid.freeModels.title": "OpenCode မှ ပံ့ပိုးပေးသော အခမဲ့မော်ဒယ်များ", + "dialog.model.unpaid.addMore.title": "လူကြိုက်များသော ဝန်ဆောင်မှုပေးသူများထံမှ နောက်ထပ်မော်ဒယ်များကို ထည့်ပါ။", + "dialog.model.unpaid.viewMoreProviders": "နောက်ထပ်ပံ့ပိုးပေးသူ 70+ ကိုကြည့်ပါ။", + "dialog.provider.viewAll": "နောက်ထပ်ဝန်ဆောင်မှုပေးသူများကို ပြပါ။", + "provider.connect.title": "{{provider}} ကို ချိတ်ဆက်ပါ။", + "provider.connect.title.anthropicProMax": "Claude Pro/Max ဖြင့် ဝင်ရောက်ပါ။", + "provider.connect.selectMethod": "{{provider}} အတွက် အကောင့်ဝင်နည်းလမ်းကို ရွေးပါ။", + "provider.connect.method.apiKey": "API သော့", + "provider.connect.method.browser": "ဘရောက်ဆာ", + "provider.connect.method.headless": "ဦးခေါင်းမဲ့", + "provider.connect.status.inProgress": "ခွင့်ပြုချက် လုပ်ဆောင်နေသည်...", + "provider.connect.status.waiting": "ခွင့်ပြုချက်ကို စောင့်ဆိုင်းနေသည်...", + "provider.connect.status.failed": "ခွင့်ပြုချက် မအောင်မြင်ပါ- {{error}}", + "provider.connect.apiKey.description": + "သင့်အကောင့်ကို ချိတ်ဆက်ရန်နှင့် OpenCode တွင် {{provider}} မော်ဒယ်များကို အသုံးပြုရန် သင်၏ {{provider}} API သော့ကို ထည့်သွင်းပါ။", + "provider.connect.apiKey.label": "{{provider}} API သော့", + "provider.connect.apiKey.placeholder": "API သော့", + "provider.connect.apiKey.required": "API ကီး လိုအပ်သည်။", + "provider.connect.opencodeZen.line1": + "OpenCode Zen သည် သင့်အား coding အေးဂျင့်များအတွက် ယုံကြည်စိတ်ချရသော အကောင်းဆုံးပုံစံများဖြင့် စုစည်းထားသော မော်ဒယ်များကို ဝင်ရောက်ခွင့်ပေးသည်။", + "provider.connect.opencodeZen.line2": + "API သော့တစ်ခုတည်းဖြင့် သင်သည် Claude၊ GPT၊ Gemini၊ GLM နှင့် အခြားအရာများကဲ့သို့သော မော်ဒယ်များသို့ ဝင်ရောက်ခွင့်ရရှိမည်ဖြစ်သည်။", + "provider.connect.opencodeZen.visit.prefix": "လည်ပတ်ပါ။ \nသင်၏ API သော့ကိုစုဆောင်းရန်", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": " သို့သွား၍ သင်၏ API key ကို ရယူပါ။", + "provider.connect.oauth.code.visit.prefix": "လည်ပတ်ပါ။", + "provider.connect.oauth.code.visit.link": "ဤလင့်ခ်", + "provider.connect.oauth.code.visit.suffix": + " သို့သွားပြီး သင့်အကောင့်ကို ချိတ်ဆက်ကာ OpenCode တွင် {{provider}} မော်ဒယ်များကို အသုံးပြုရန် ခွင့်ပြုချက်ကုဒ်ကို ရယူပါ။", + "provider.connect.oauth.code.label": "{{method}} ခွင့်ပြုချက်ကုဒ်", + "provider.connect.oauth.code.placeholder": "ခွင့်ပြုချက်ကုဒ်", + "provider.connect.oauth.code.required": "ခွင့်ပြုချက်ကုဒ် လိုအပ်သည်။", + "provider.connect.oauth.code.invalid": "တရားဝင်ခွင့်ပြုချက်ကုဒ်", + "provider.connect.oauth.auto.visit.prefix": "လည်ပတ်ပါ။", + "provider.connect.oauth.auto.visit.link": "ဤလင့်ခ်", + "provider.connect.oauth.auto.visit.suffix": + "နှင့် သင့်အကောင့်ကို ချိတ်ဆက်ပြီး OpenCode တွင် {{provider}} မော်ဒယ်များကို အသုံးပြုရန် အောက်ပါကုဒ်ကို ရိုက်ထည့်ပါ။", + "provider.connect.oauth.auto.confirmationCode": "အတည်ပြုကုဒ်", + "provider.connect.toast.connected.title": "{{provider}} ချိတ်ဆက်ထားသည်။", + "provider.connect.toast.connected.description": "{{provider}} မော်ဒယ်များကို ယခုအသုံးပြုနိုင်ပါပြီ။", + "provider.custom.title": "စိတ်ကြိုက်ဝန်ဆောင်မှုပေးသည်။", + "provider.custom.unavailable": "စိတ်ကြိုက်ဝန်ဆောင်မှုပေးသူများကို ဤဆာဗာတွင် မရရှိနိုင်ပါ။", + "provider.custom.description.prefix": "OpenAI-သဟဇာတ ပံ့ပိုးပေးသူကို စီစဉ်သတ်မှတ်ပါ။ ကြည့်ပါ။", + "provider.custom.description.link": "ပံ့ပိုးပေးသူ config docs", + "provider.custom.description.suffix": "။", + "provider.custom.field.providerID.label": "ပံ့ပိုးပေးသူ ID", + "provider.custom.field.providerID.placeholder": "myprovider", + "provider.custom.field.providerID.description": "စာလုံးသေးများ၊ နံပါတ်များ၊ တုံးတိုများ သို့မဟုတ် အောက်မှတ်များ", + "provider.custom.field.name.label": "ပြသမှုအမည်", + "provider.custom.field.name.placeholder": "ကျွန်ုပ်၏ AI ပံ့ပိုးပေးသူ", + "provider.custom.field.baseURL.label": "အခြေခံ URL", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "API သော့", + "provider.custom.field.apiKey.placeholder": "API သော့", + "provider.custom.field.apiKey.description": + "ရွေးချယ်နိုင်သည် ခေါင်းစီးများမှတစ်ဆင့် စစ်မှန်ကြောင်း စီမံခန့်ခွဲပါက ဗလာချန်ထားပါ။", + "provider.custom.models.label": "မော်ဒယ်များ", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "model-id", + "provider.custom.models.name.label": "အမည်", + "provider.custom.models.name.placeholder": "ပြသအမည်", + "provider.custom.models.remove": "မော်ဒယ်ကို ဖယ်ရှားပါ။", + "provider.custom.models.add": "မော်ဒယ်ကို ထည့်ပါ။", + "provider.custom.headers.label": "ခေါင်းစီးများ (ချန်လှပ်ထားနိုင်သည်)", + "provider.custom.headers.key.label": "ခေါင်းစီး", + "provider.custom.headers.key.placeholder": "Header-Name", + "provider.custom.headers.value.label": "တန်ဖိုး", + "provider.custom.headers.value.placeholder": "တန်ဖိုး", + "provider.custom.headers.remove": "ခေါင်းစီးကို ဖယ်ရှားပါ။", + "provider.custom.headers.add": "ခေါင်းစီးထည့်ပါ။", + "provider.custom.error.providerID.required": "ပံ့ပိုးပေးသူ ID လိုအပ်သည်။", + "provider.custom.error.providerID.format": + "စာလုံးသေးများ၊ နံပါတ်များ၊ တုံးတိုများ သို့မဟုတ် အောက်မှတ်များကို သုံးပါ။", + "provider.custom.error.providerID.exists": "ထိုပံ့ပိုးပေးသူ ID ရှိပြီးဖြစ်သည်။", + "provider.custom.error.name.required": "ပြသမှုအမည် လိုအပ်သည်။", + "provider.custom.error.baseURL.required": "အခြေခံ URL လိုအပ်သည်။", + "provider.custom.error.baseURL.format": "http:// သို့မဟုတ် https:// ဖြင့် စတင်ရပါမည်။", + "provider.custom.error.required": "လိုအပ်သည်။", + "provider.custom.error.duplicate": "ပွားပါ။", + "provider.disconnect.toast.disconnected.title": "{{provider}} ချိတ်ဆက်မှု ပြတ်တောက်သွားသည်။", + "provider.disconnect.toast.disconnected.description": "{{provider}} မော်ဒယ်များကို မရနိုင်တော့ပါ။", + "model.tag.free": "အခမဲ့", + "model.tag.latest": "နောက်ဆုံးထွက်", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "စာသား", + "model.input.image": "ပုံ", + "model.input.audio": "အသံ", + "model.input.video": "ဗီဒီယို", + "model.input.pdf": "pdf", + "model.tooltip.allows": "ခွင့်ပြုသည်- {{inputs}}", + "model.tooltip.context.label": "ဆက်စပ်အကြောင်းအရာ", + "model.tooltip.inputs": "ထည့်သွင်းမှုများ", + "model.tooltip.model": "မော်ဒယ်", + "model.tooltip.provider": "ပံ့ပိုးပေးသူ", + "model.tooltip.reasoning": "ကျိုးကြောင်းဆင်ခြင်ခြင်း။", + "model.tooltip.reasoning.allowed": "ကျိုးကြောင်းဆင်ခြင်မှုကို ခွင့်ပြုသည်။", + "model.tooltip.reasoning.none": "အကြောင်းပြချက်မရှိပါ။", + "model.tooltip.context": "ဆက်စပ်အကြောင်းအရာ ကန့်သတ်ချက် {{limit}}", + "common.search.placeholder": "ရှာရန်", + "common.goBack": "ပြန်သွားပါ။", + "common.goForward": "ရှေ့သို့သွားပါ။", + "common.loading": "တင်နေသည်။", + "common.loading.ellipsis": "...", + "common.cancel": "မလုပ်တော့", + "common.clear": "ရှင်းလင်းသည်။", + "common.open": "ဖွင့်ပါ။", + "common.connect": "ချိတ်ဆက်ပါ။", + "common.disconnect": "အဆက်ဖြတ်ပါ။", + "common.continue": "ဆက်ရန်", + "common.submit": "တင်ပြပါ။", + "common.save": "သိမ်းဆည်းပါ။", + "common.saving": "သိမ်းဆည်းနေသည်...", + "common.default": "မူရင်း", + "common.attachment": "တွယ်တာမှု", + "prompt.placeholder.shell": "shell command ကိုရိုက်ထည့်ပါ... {{example}}", + "prompt.placeholder.normal": 'ဘာမဆိုမေးပါ... "{{example}}"', + "prompt.placeholder.simple": "ဘာမဆိုမေးပါ...", + "prompt.placeholder.summarizeComments": "မှတ်ချက်များကို အကျဉ်းချုပ်ပါ...", + "prompt.placeholder.summarizeComment": "မှတ်ချက်ကို အကျဉ်းချုပ်ပါ...", + "prompt.mode.shell": "Shell", + "prompt.mode.normal": "Prompt", + "prompt.mode.shell.exit": "esc", + "session.child.promptDisabled": "Subagent ဆက်ရှင်များကို တောင်းဆို၍မရပါ။", + "session.child.backToParent": "ပင်မစက်ရှင်သို့ ပြန်သွားရန်။", + "prompt.example.1": "ကုဒ်ဘေ့စ်တွင် TODO ကိုပြင်ပါ။", + "prompt.example.2": "ဤပရောဂျက်၏ နည်းပညာအစုအပုံကား အဘယ်နည်း။", + "prompt.example.3": "ပျက်စီးနေသော စမ်းသပ်မှုများကို ပြင်ပါ။", + "prompt.example.4": "အထောက်အထားစိစစ်ခြင်း အလုပ်လုပ်ပုံကို ရှင်းပြပါ။", + "prompt.example.5": "လုံခြုံရေး အားနည်းချက်များကို ရှာဖွေပြီး ပြင်ဆင်ပါ။", + "prompt.example.6": "သုံးစွဲသူဝန်ဆောင်မှုအတွက် ယူနစ်စမ်းသပ်မှုများကို ထည့်ပါ။", + "prompt.example.7": "ပိုမိုဖတ်ရှုနိုင်စေရန် ဤလုပ်ဆောင်ချက်ကို ပြန်လည်ပြင်ဆင်ပါ။", + "prompt.example.8": "ဤအမှားက ဘာကိုဆိုလိုသနည်း။", + "prompt.example.9": "ဤပြဿနာကို ကျွန်ုပ်အား ကူညီဖြေရှင်းပါ။", + "prompt.example.10": "API စာရွက်စာတမ်းကို ဖန်တီးပါ။", + "prompt.example.11": "ဒေတာဘေ့စ်မေးခွန်းများကို ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ပါ။", + "prompt.example.12": "ထည့်သွင်းမှုအတည်ပြုချက်ကို ထည့်ပါ။", + "prompt.example.13": "အတွက် အစိတ်အပိုင်းအသစ်တစ်ခု ဖန်တီးပါ...", + "prompt.example.14": "ဤပရောဂျက်ကို မည်သို့အသုံးချရမည်နည်း။", + "prompt.example.15": "အကောင်းဆုံးအလေ့အကျင့်များအတွက် ကျွန်ုပ်၏ကုဒ်ကို ပြန်လည်သုံးသပ်ပါ။", + "prompt.example.16": "ဤလုပ်ဆောင်ချက်သို့ အမှားအယွင်းများကို ကိုင်တွယ်ထည့်ပါ။", + "prompt.example.17": "ဤ regex ပုံစံကို ရှင်းပြပါ။", + "prompt.example.18": "၎င်းကို TypeScript သို့ ပြောင်းပါ။", + "prompt.example.19": "ကုဒ်ဘေ့စ်တစ်လျှောက်တွင် မှတ်တမ်းထည့်ပါ။", + "prompt.example.20": "မည်သည့်မှီခိုမှုများ ခေတ်နောက်ကျနေသနည်း။", + "prompt.example.21": "ရွှေ့ပြောင်းခြင်းဆိုင်ရာ ဇာတ်ညွှန်းရေးရန် ကူညီပေးပါ။", + "prompt.example.22": "ဤအဆုံးမှတ်အတွက် ကက်ရှ်ကို အကောင်အထည်ဖော်ပါ။", + "prompt.example.23": "ဤစာရင်းသို့ pagination ထည့်ပါ။", + "prompt.example.24": "အတွက် CLI အမိန့်ကို ဖန်တီးပါ...", + "prompt.example.25": "ဤနေရာတွင် ပတ်ဝန်းကျင် ကိန်းရှင်များ မည်သို့အလုပ်လုပ်သနည်း။", + "prompt.popover.emptyResults": "တူညီသောရလဒ်များမရှိပါ။", + "prompt.popover.emptyCommands": "တူညီသော ညွှန်ကြားချက်များ မရှိပါ။", + "prompt.dropzone.label": "ပုံများ၊ PDF များ သို့မဟုတ် စာသားဖိုင်များကို ဤနေရာတွင် ချလိုက်ပါ။", + "prompt.dropzone.file.label": "@ဖော်ပြချက်ဖိုင်သို့ ချလိုက်ပါ။", + "prompt.slash.badge.custom": "စိတ်ကြိုက်", + "prompt.slash.badge.skill": "ကျွမ်းကျင်မှု", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "တက်ကြွသည်။", + "prompt.context.includeActiveFile": "လက်ရှိအသုံးပြုနေသောဖိုင်ကို ထည့်သွင်းပါ။", + "prompt.context.removeActiveFile": "အသုံးပြုနေသောဖိုင်ကို ဆက်စပ်အကြောင်းအရာမှ ဖယ်ရှားပါ။", + "prompt.context.removeFile": "ဆက်စပ်အကြောင်းအရာမှ ဖိုင်ကို ဖယ်ရှားပါ။", + "prompt.action.attachFile": "ဖိုင်များထည့်ပါ။", + "prompt.menu.addImagesAndFiles": "ဖိုင်များနှင့် အခြားအရာများကို ထည့်ပါ။", + "prompt.menu.imagesAndFiles": "ရုပ်ပုံများနှင့် ဖိုင်များ", + "prompt.menu.commands": "အမိန့်များ", + "prompt.menu.context": "ဆက်စပ်အကြောင်းအရာ", + "prompt.menu.shellCommand": "Shell အမိန့်", + "prompt.attachment.remove": "ပူးတွဲပါဖိုင်ကို ဖယ်ရှားပါ။", + "prompt.action.send": "ပို့ပါ။", + "prompt.action.stop": "ရပ်ပါ။", + "prompt.toast.pasteUnsupported.title": "ပူးတွဲပါဖိုင်ကို ပံ့ပိုးမထားပါ။", + "prompt.toast.pasteUnsupported.description": + "ရုပ်ပုံများ၊ PDF များ သို့မဟုတ် စာသားဖိုင်များကိုသာ ဤနေရာတွင် ပူးတွဲနိုင်ပါသည်။", + "prompt.toast.attachmentDuplicate.title": "ဤဖိုင်ကို အပ်လုဒ်လုပ်ပြီးပါပြီ။", + "prompt.toast.modelAgentRequired.title": "အေးဂျင့်နှင့် မော်ဒယ်ကို ရွေးပါ။", + "prompt.toast.modelAgentRequired.description": "Prompt မပို့မီ အေးဂျင့်နှင့် မော်ဒယ်ကို ရွေးပါ။", + "prompt.toast.worktreeCreateFailed.title": "Git worktree ဖန်တီး၍မရပါ။", + "prompt.toast.sessionCreateFailed.title": "စက်ရှင်ကို ဖန်တီး၍မရပါ။", + "prompt.toast.shellSendFailed.title": "shell command ကို ပို့၍မရပါ။", + "prompt.toast.commandSendFailed.title": "အမိန့်ပေးပို့ရန် မအောင်မြင်ပါ။", + "prompt.toast.promptSendFailed.title": "Prompt ပေးပို့ရန် မအောင်မြင်ပါ။", + "prompt.toast.promptSendFailed.description": "စက်ရှင်ကို ထုတ်ယူ၍မရပါ။", + "dialog.mcp.title": "MCPs", + "dialog.mcp.description": "{{enabled}} ၏ {{total}} ဖွင့်ထားသည်။", + "dialog.mcp.empty": "MCP များကို ပြင်ဆင်သတ်မှတ်ထားခြင်းမရှိပါ။", + "dialog.lsp.empty": "ဖိုင်အမျိုးအစားများမှ LSP များကို အလိုအလျောက်တွေ့ရှိသည်။", + "dialog.plugins.empty": "opencode.json တွင် ပြင်ဆင်ထားသော ပလပ်အင်များ", + "mcp.status.connected": "ချိတ်ဆက်ထားသည်။", + "mcp.status.failed": "မအောင်မြင်ပါ။", + "mcp.status.needs_auth": "အထောက်အထား လိုအပ်သည်။", + "mcp.status.disabled": "ပိတ်ထားသည်။", + "mcp.auth.clickToAuthenticate": "စစ်မှန်ကြောင်းသက်သေပြရန် နှိပ်ပါ။", + "dialog.fork.empty": "လမ်းခွဲရန် မက်ဆေ့ချ်များ မရှိပါ။", + "dialog.directory.search.placeholder": "ဖိုင်တွဲများကို ရှာပါ။", + "dialog.directory.empty": "ဖိုင်တွဲများကို ရှာမတွေ့ပါ။", + "dialog.directory.action.selectFile": "ဖိုင်ကို ရွေးပါ။", + "dialog.directory.action.selectFolder": "ဖိုင်တွဲကို ရွေးပါ။", + "dialog.directory.root": "အမြစ်", + "dialog.directory.parent": "မိဘ", + "dialog.directory.readError": "ဤဖိုင်တွဲကို ဖတ်၍မရပါ။", + "app.server.unreachable": "{{server}} သို့ မရောက်ရှိနိုင်ပါ။", + "app.server.retrying": "အလိုအလျောက် ပြန်ကြိုးစားနေသည်...", + "app.server.otherServers": "အခြားဆာဗာများ", + "dialog.server.title": "ဆာဗာများ", + "dialog.server.description": "ဤအက်ပ်နှင့်ချိတ်ဆက်သည့် OpenCode ဆာဗာကို ပြောင်းပါ။", + "dialog.server.search.placeholder": "ဆာဗာများကို ရှာဖွေပါ။", + "dialog.server.empty": "ဆာဗာများ မရှိသေးပါ။", + "dialog.server.add.title": "ဆာဗာထည့်ပါ။", + "dialog.server.add.url": "ဆာဗာလိပ်စာ", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "ဆာဗာသို့ ချိတ်ဆက်၍မရပါ။", + "dialog.server.add.checking": "စစ်ဆေးနေသည်...", + "dialog.server.add.button": "ဆာဗာထည့်ပါ။", + "dialog.server.add.name": "ဆာဗာအမည် (ချန်လှပ်ထားနိုင်သည်)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "အသုံးပြုသူအမည် (ချန်လှပ်ထားနိုင်သည်)", + "dialog.server.add.usernamePlaceholder": "အသုံးပြုသူအမည်", + "dialog.server.add.password": "စကားဝှက် (ချန်လှပ်ထားနိုင်သည်)", + "dialog.server.add.passwordPlaceholder": "စကားဝှက်", + "dialog.server.edit.title": "ဆာဗာကို တည်းဖြတ်ပါ။", + "dialog.server.default.title": "မူရင်းဆာဗာ", + "dialog.server.default.description": + "ဒေသတွင်းဆာဗာကို စတင်မည့်အစား အက်ပ်စတင်ခြင်းတွင် ဤဆာဗာသို့ ချိတ်ဆက်ပါ။ ပြန်လည်စတင်ရန် လိုအပ်သည်။", + "dialog.server.default.none": "ဆာဗာကို ရွေးချယ်ထားခြင်းမရှိပါ။", + "dialog.server.default.set": "လက်ရှိဆာဗာကို မူရင်းအဖြစ် သတ်မှတ်ပါ။", + "dialog.server.default.clear": "ရှင်းလင်းသည်။", + "dialog.server.action.remove": "ဆာဗာကို ဖယ်ရှားပါ။", + "dialog.server.menu.edit": "တည်းဖြတ်ရန်", + "dialog.server.menu.default": "မူရင်းအဖြစ် သတ်မှတ်ပါ။", + "dialog.server.menu.defaultRemove": "မူရင်းကို ဖယ်ရှားပါ။", + "dialog.server.menu.delete": "ဖျက်ပါ", + "dialog.server.current": "လက်ရှိ ဆာဗာ", + "dialog.server.status.default": "မူရင်း", + "wsl.server.add": "WSL ဆာဗာကို ထည့်ပါ။", + "wsl.server.addShort": "WSL ထည့်ပါ။", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "WSL ဆာဗာ", + "wsl.server.retryStart": "ပြန်လည်စတင်ကြည့်ပါ။", + "wsl.server.updating": "အပ်ဒိတ်လုပ်နေသည်...", + "wsl.onboarding.step.distro": "distro ကို ရွေးပါ။", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "WSL ကို စစ်ဆေးနေသည်...", + "wsl.onboarding.restartRequired": "WSL ထည့်သွင်းခြင်းကို အပြီးသတ်ရန် Windows ကို ပြန်လည်စတင်ရန် လိုအပ်သည်။", + "wsl.onboarding.ready": "WSL အဆင်သင့်ဖြစ်ပါပြီ။", + "wsl.onboarding.required": "ရှေ့ဆက်ရန် WSL လိုအပ်သည်။", + "wsl.onboarding.checkingDistros": "ကွဲပြားမှုများကို စစ်ဆေးနေသည်...", + "wsl.onboarding.installingDistro": "{{distro}} ကို ထည့်သွင်းနေသည်...", + "wsl.onboarding.checkingDistro": "{{distro}} ကို စစ်ဆေးနေသည်...", + "wsl.onboarding.listingDistros": "ကွဲပြားမှုများကို စာရင်းသွင်းနေသည်...", + "wsl.onboarding.distroReady": "{{distro}} အဆင်သင့်ဖြစ်ပါပြီ။", + "wsl.onboarding.distroNotInstalled": "{{distro}} ကို မထည့်သွင်းရသေးပါ။", + "wsl.onboarding.openDistroOnce": "စနစ်ထည့်သွင်းမှုကို အပြီးသတ်ရန် {{distro}} တစ်ကြိမ်ဖွင့်ပါ။", + "wsl.onboarding.finishingDistro": "{{distro}} အတွက် စနစ်ထည့်သွင်းမှု အပြီးသတ်နေပါသည်။", + "wsl.onboarding.pickDistro": "distro တစ်ခုကို ရွေးပါ သို့မဟုတ် အောက်တွင် တစ်ခု ထည့်သွင်းပါ။", + "wsl.onboarding.checkingOpencode": "OpenCode စစ်ဆေးနေသည်...", + "wsl.onboarding.checkingOpencodeIn": "{{distro}} တွင် OpenCode ကိုစစ်ဆေးနေသည်...", + "wsl.onboarding.updatingOpencode": "OpenCode ကို အပ်ဒိတ်လုပ်နေသည်...", + "wsl.onboarding.updatingOpencodeIn": "{{distro}} တွင် OpenCode ကို အပ်ဒိတ်လုပ်နေသည်...", + "wsl.onboarding.updateOpencodeIn": "{{distro}} တွင် OpenCode ကို အပ်ဒိတ်လုပ်ပါ။", + "wsl.onboarding.updateOpencode": "OpenCode ကို အပ်ဒိတ်လုပ်ပါ။", + "wsl.onboarding.opencodeReadyIn": "OpenCode သည် {{distro}} တွင် အဆင်သင့်ဖြစ်နေပါပြီ။", + "wsl.onboarding.opencodeReady": "OpenCode အဆင်သင့်ဖြစ်ပါပြီ။", + "wsl.onboarding.installOpencodeIn": "OpenCode ကို {{distro}} တွင် ထည့်သွင်းပါ။", + "wsl.onboarding.installOpencode": "OpenCode ကို ထည့်သွင်းပါ။", + "wsl.onboarding.chooseDistroFirst": "ပထမဆုံး distro တစ်ခုကို ရွေးပါ။", + "wsl.onboarding.loadFailed": "WSL အခြေအနေအား တင်ရန် မအောင်မြင်ပါ။", + "wsl.onboarding.loading": "ဖွင့်နေသည်...", + "wsl.onboarding.installedDistros": "ကွဲပြားမှုများကို ထည့်သွင်းထားသည်။", + "wsl.onboarding.checkAgain": "ထပ်မံစစ်ဆေးပါ။", + "wsl.onboarding.distroStatus.ready": "အဆင်သင့်ဖြစ်ပါပြီ။", + "wsl.onboarding.distroStatus.checking": "စစ်ဆေးနေသည်...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode ကို ထည့်သွင်းမထားပါ။", + "wsl.onboarding.distroStatus.missingTools": "ပျောက်နေသော ဘေ့စ်၊ ကောက်ကြောင်း", + "wsl.onboarding.distroStatus.unsupported": "ပံ့ပိုးမထားပါ · WSL 2 ကို သုံးပါ။", + "wsl.onboarding.needAnotherDistro": "နောက်ထပ် distro တစ်ခုလိုပါသလား။", + "wsl.onboarding.needAnotherDistroHint": "WSL ကတ်တလောက်မှ Linux ဖြန့်ဖြူးမှုကို ထည့်သွင်းပါ။", + "wsl.onboarding.wslNotInstalled.title": "WSL ကို ထည့်သွင်းမထားပါ။", + "wsl.onboarding.wslNotInstalled.description": + "WSL (Linux အတွက် Windows Subsystem) ကို OpenCode မှ WSL ဆာဗာ မထည့်မီတွင် လိုအပ်ပါသည်။", + "wsl.onboarding.wslUnavailable.title": "WSL မရနိုင်ပါ။", + "wsl.onboarding.wslUnavailable.description": "OpenCode သည် ဤစက်ပေါ်ရှိ WSL ကို အတည်မပြုနိုင်ပါ။", + "wsl.onboarding.installWsl": "WSL ကို ထည့်သွင်းပါ။", + "wsl.onboarding.windowsRestartRequired": + "WSL ထည့်သွင်းခြင်း အပြီးသတ်ရန် Windows ကို ပြန်လည်စတင်ပါ၊ ထို့နောက် OpenCode ကို ပြန်လည်ဖွင့်ပါ။", + "wsl.onboarding.next": "နောက်တစ်ခု", + "wsl.onboarding.refresh": "ပြန်လည်စတင်ပါ။", + "wsl.onboarding.allDistrosAdded": "ထည့်သွင်းထားသည့် distros အားလုံးကို ထည့်သွင်းပြီးဖြစ်သည်။", + "wsl.onboarding.noDistros": "မည်သည့် distros မှ ရှာမတွေ့သေးပါ။", + "wsl.onboarding.install": "ထည့်သွင်းပါ။", + "wsl.onboarding.installing": "ထည့်သွင်းနေသည်...", + "wsl.onboarding.installDistro": "distro ကို ထည့်သွင်းပါ။", + "wsl.onboarding.searchDistros": "ကွဲပြားမှုများကို ရှာဖွေပါ။", + "wsl.onboarding.wsl2Required": "WSL 2 လိုအပ်သည်။", + "wsl.onboarding.toolsRequired": "ဤ distro သည် bash နှင့် curl လိုအပ်သည်။", + "wsl.onboarding.openTerminal": "Terminal ကိုဖွင့်ပါ။", + "wsl.onboarding.path": "လမ်းကြောင်း- {{path}}", + "wsl.onboarding.notFound": "မတွေ့ပါ။", + "wsl.onboarding.version": "ဗားရှင်း- {{version}}", + "wsl.onboarding.unknown": "အမည်မသိ", + "wsl.onboarding.desktopVersion": "ဒက်စ်တော့ {{version}}", + "wsl.onboarding.versionMismatch": "ထည့်သွင်းထားသောဗားရှင်းသည် ဒက်စ်တော့အက်ပ်ဗားရှင်းနှင့် မကိုက်ညီပါ။", + "wsl.onboarding.adding": "ထည့်နေသည်...", + "help.tabs.toast.ariaLabel": + "တဘ်များကို မိတ်ဆက်ခြင်း။ တက်ဘ်များဖြင့် သင်၏အလုပ်နှင့် တက်ကြွသော ဆက်ရှင်များကို စုစည်းပါ။", + "help.tabs.toast.dismiss": "Tabs အချက်အလက်ကို ဖယ်ပါ။", + "help.tabs.title": "တဘ်များကို မိတ်ဆက်ခြင်း။", + "help.tabs.description": "တက်ဘ်များဖြင့် သင်၏အလုပ်နှင့် တက်ကြွသော ဆက်ရှင်များကို စုစည်းပါ။", + "help.tabs.date": "ဇူလိုင် ၁၄", + "help.tabs.introduction": "OpenCode Desktop သည် ယခုအခါ တက်ဘ်များအနီးတွင် တည်ဆောက်ထားသည်။", + "help.tabs.sessions": + "တက်ဘ်တစ်ခုတွင် စက်ရှင်အသစ်တစ်ခု စတင်ပါ သို့မဟုတ် သင့်ပရောဂျက်တစ်ခုခုမှ လက်ရှိစက်ရှင်တစ်ခုကို ဖွင့်ပါ။ အသစ်တစ်ခုခုကို စတင်သည့်အခါ တက်ဘ်အသစ်တစ်ခုဖွင့်ပြီး ပြီးသွားသောအခါတွင် ၎င်းကိုပိတ်ပါ။", + "help.tabs.organize": + "တက်ဘ်အနည်းငယ်ကို ဖွင့်ထားခြင်းဖြင့် သင်၏တက်ကြွသော ဆက်ရှင်များကို စုစည်းရန် ပိုမိုလွယ်ကူစေသည်။ ၎င်းတို့ကို ဝိုင်းထားရန် စီစဉ်ပါက တဘ်များကို အမှတ်ရဖွယ်အဖြစ်သို့ အမည်ပြောင်းပါ။", + "help.tabs.home": + "ပင်မစခရင်အသစ်တွင် သင့်စက်ရှင်များနှင့် ပရောဂျက်များအားလုံးကို သင်တွေ့ရပါမည်။ စက်ရှင်တစ်ခုကို ရွေးချယ်ခြင်းဖြင့် ၎င်းကို တက်ဘ်တစ်ခုတွင် ဖွင့်သည်။", + "help.tabs.persistence": "အက်ပ်ကို ပြန်ဖွင့်သောအခါ၊ သင့်တက်ဘ်များကို ဖွင့်ထားဆဲဖြစ်သည်။", + "help.tabs.worktrees": + "ဒီဇိုင်းအသစ်သည် Git Worktrees ကို မပံ့ပိုးရသေးပါ၊ ၎င်းသည် မကြာမီ ရောက်ရှိလာတော့မည်ဖြစ်သည်။ ထို့ကြောင့် သင်သည် ယခင်အပြင်အဆင်ကို ဆက်လက်အသုံးပြုလိုပါက၊ ဆက်တင်များတွင် အပြင်အဆင်များအကြား ပြောင်းနိုင်သည်။ အပြင်အဆင်အသစ်သည် ရက်သတ္တပတ်အနည်းငယ်အတွင်း အမြဲတမ်းဖြစ်လာမည်ကို သတိပြုပါ။", + "server.row.noUsername": "အသုံးပြုသူအမည်မရှိပါ။", + "dialog.project.edit.title": "ပရောဂျက်ကို တည်းဖြတ်ပါ။", + "dialog.project.edit.name": "အမည်", + "dialog.project.edit.icon": "သင်္ကေတ", + "dialog.project.edit.icon.alt": "ပရောဂျက် သင်္ကေတ", + "dialog.project.edit.icon.hint": "ပုံတစ်ပုံကို နှိပ်ပါ သို့မဟုတ် ဆွဲယူပါ။", + "dialog.project.edit.icon.recommended": "အကြံပြုထားသည်- 128x128px", + "dialog.project.edit.color": "အရောင်", + "dialog.project.edit.color.select": "{{color}} အရောင်ကို ရွေးပါ။", + "dialog.project.edit.worktree.startup": "Workspace စတင်ခြင်း script", + "dialog.project.edit.worktree.startup.description": "အလုပ်နေရာအသစ် (Git worktree) ဖန်တီးပြီးနောက် လုပ်ဆောင်သည်။", + "dialog.project.edit.worktree.startup.placeholder": "e.g. bun install လုပ်ပါ။", + "dialog.releaseNotes.action.getStarted": "စတင်လိုက်ပါ။", + "dialog.releaseNotes.action.next": "နောက်တစ်ခု", + "dialog.releaseNotes.action.hideFuture": "ဒါတွေကို အနာဂတ်မှာ မပြပါနဲ့။", + "dialog.releaseNotes.media.alt": "ဖြန့်ချိမှု အကြိုကြည့်ရှုခြင်း။", + "context.breakdown.title": "ဆက်စပ်အကြောင်းအရာ ခွဲခြမ်းချက်", + "context.breakdown.note": + 'ထည့်သွင်းမှုတိုကင်များ၏ အနီးစပ်ဆုံး ခွဲခြမ်းစိတ်ဖြာခြင်း။ "အခြား" တွင် ကိရိယာ၏ အဓိပ္ပါယ်ဖွင့်ဆိုချက်များနှင့် အကျုံးဝင်သည်။', + "context.breakdown.system": "စနစ်", + "context.breakdown.user": "အသုံးပြုသူ", + "context.breakdown.assistant": "လက်ထောက်", + "context.breakdown.tool": "တူးလ်ခေါ်ဆိုမှုများ", + "context.breakdown.other": "အခြား", + "context.systemPrompt.title": "System prompt", + "context.rawMessages.title": "အကြမ်း မက်ဆေ့ချ်များ", + "context.export.session": "စက်ရှင်ကို ထုတ်ယူရန်", + "context.stats.session": "အပိုင်း", + "context.stats.messages": "မက်ဆေ့ဂျ်များ", + "context.stats.provider": "ပံ့ပိုးပေးသူ", + "context.stats.model": "မော်ဒယ်", + "context.stats.limit": "ဆက်စပ်အကြောင်းအရာ ကန့်သတ်ချက်", + "context.stats.totalTokens": "စုစုပေါင်း တိုကင်များ", + "context.stats.usage": "အသုံးပြုမှု", + "context.stats.inputTokens": "ထည့်သွင်း တိုကင်များ", + "context.stats.outputTokens": "အထွက်တိုကင်များ", + "context.stats.reasoningTokens": "ကျိုးကြောင်းဆင်ခြင်ခြင်း တိုကင်များ", + "context.stats.cacheTokens": "ကက်ရှ်တိုကင်များ (ဖတ်ရန်/ရေး)", + "context.stats.userMessages": "အသုံးပြုသူ မက်ဆေ့ချ်များ", + "context.stats.assistantMessages": "Assistant မက်ဆေ့ဂျ်များ", + "context.stats.totalCost": "စုစုပေါင်းကုန်ကျစရိတ်", + "context.stats.sessionCreated": "ဆက်ရှင်ကို ဖန်တီးထားသည်။", + "context.stats.lastActivity": "နောက်ဆုံးလုပ်ဆောင်ချက်", + "context.usage.tokens": "တိုကင်များ", + "context.usage.usage": "အသုံးပြုမှု", + "context.usage.cost": "ကုန်ကျစရိတ်", + "context.usage.clickToView": "ဆက်စပ်အကြောင်းအရာကို ကြည့်ရန် နှိပ်ပါ။", + "context.usage.view": "ဆက်စပ်အကြောင်းအရာ အသုံးပြုမှုကို ကြည့်ပါ။", + "language.en": "အင်္ဂလိပ်", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Deutsch", + "language.es": "Español", + "language.fr": "Français", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "Polski", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Norsk", + "language.br": "ပေါ်တူဂီ (ဘရာဇီး)", + "language.bs": "Bosanski", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Türkçe", + "toast.language.title": "ဘာသာစကား", + "toast.language.description": "{{language}} သို့ ပြောင်းထားသည်။", + "toast.theme.title": "အပြင်အဆင်ကို ပြောင်းထားသည်။", + "toast.scheme.title": "အရောင်အစီအစဉ်", + "toast.workspace.enabled.title": "အလုပ်နေရာများကို ဖွင့်ထားသည်။", + "toast.workspace.enabled.description": "ယခု Git worktree များကို ဘေးဘားတွင် ပြသထားသည်။", + "toast.workspace.disabled.title": "အလုပ်နေရာများကို ပိတ်ထားသည်။", + "toast.workspace.disabled.description": "ပင်မ Git worktree ကိုသာ ဘေးဘားတွင် ပြသထားသည်။", + "toast.permissions.autoaccept.on.title": "ခွင့်ပြုချက်များကို အလိုအလျောက် လက်ခံခြင်း။", + "toast.permissions.autoaccept.on.description": "ခွင့်ပြုချက်တောင်းဆိုမှုများကို အလိုအလျောက် အတည်ပြုပေးမည်ဖြစ်သည်။", + "toast.permissions.autoaccept.off.title": "ခွင့်ပြုချက်များကို အလိုအလျောက်လက်ခံခြင်းကို ရပ်ထားသည်။", + "toast.permissions.autoaccept.off.description": "ခွင့်ပြုချက်တောင်းခံမှုများသည် အတည်ပြုချက် လိုအပ်မည်ဖြစ်သည်။", + "toast.model.none.title": "မော်ဒယ်ကို ရွေးထားခြင်းမရှိပါ။", + "toast.model.none.description": "ဤစက်ရှင်ကို အကျဉ်းချုပ်ရန် ဝန်ဆောင်မှုပေးသူကို ချိတ်ဆက်ပါ။", + "toast.file.loadFailed.title": "ဖိုင်ကို တင်ရန် မအောင်မြင်ပါ။", + "toast.file.listFailed.title": "ဖိုင်များကို စာရင်းပြုစုရန် မအောင်မြင်ပါ။", + "toast.context.noLineSelection.title": "လိုင်းရွေးချယ်မှု မရှိပါ။", + "toast.context.noLineSelection.description": "ဖိုင်တဘ်ရှိ မျဉ်းအပိုင်းအခြားကို ဦးစွာရွေးချယ်ပါ။", + "toast.session.share.copyFailed.title": "URL ကို ကလစ်ဘုတ်သို့ ကူးယူရန် မအောင်မြင်ပါ။", + "toast.session.share.success.title": "ဆက်ရှင်ကို မျှဝေထားသည်။", + "toast.session.share.success.description": "ကလစ်ဘုတ်သို့ ကူးယူထားသော URL ကို မျှဝေပါ။", + "toast.session.share.failed.title": "စက်ရှင်ကို မျှဝေရန် မအောင်မြင်ပါ။", + "toast.session.share.failed.description": "စက်ရှင်အား မျှဝေနေစဉ် အမှားအယွင်းတစ်ခု ဖြစ်ပွားခဲ့သည်။", + "toast.session.unshare.success.title": "ဆက်ရှင်ကို မျှဝေမထားပါ။", + "toast.session.unshare.success.description": "ဆက်ရှင်ကို အောင်မြင်စွာ မျှဝေခြင်းမှ ဖယ်ရှားလိုက်ပါပြီ။", + "toast.session.unshare.failed.title": "စက်ရှင်ကို မျှဝေခြင်းမှ ပြန်ဖြုတ်ရန် မအောင်မြင်ပါ။", + "toast.session.unshare.failed.description": "စက်ရှင်အား မျှဝေခြင်းမှ ဖယ်ရှားနေစဉ် အမှားအယွင်းတစ်ခု ဖြစ်ပွားခဲ့သည်။", + "toast.session.export.success.title": "စက်ရှင်ကို တင်ပို့ပြီးပါပြီ။", + "toast.session.export.success.description": "စက်ရှင်ကို {{filename}} သို့ သိမ်းထားသည်။", + "toast.session.export.failed.title": "စက်ရှင်ကို ထုတ်ယူ၍မရပါ။", + "toast.session.export.failed.description": "စက်ရှင်ကို ထုတ်ယူနေစဉ် အမှားအယွင်းတစ်ခု ဖြစ်ပွားခဲ့သည်။", + "toast.session.listFailed.title": "{{project}} အတွက် ဆက်ရှင်များကို တင်ရန် မအောင်မြင်ပါ။", + "toast.project.reloadFailed.title": "{{project}} ကို ပြန်လည်စတင်ရန် မအောင်မြင်ပါ။", + "toast.update.title": "အပ်ဒိတ် ရနိုင်ပါသည်။", + "toast.update.description": "OpenCode ({{version}}) ၏ ဗားရှင်းအသစ်ကို ယခု ထည့်သွင်းနိုင်ပါပြီ။", + "toast.update.action.installRestart": "ထည့်သွင်းပြီး ပြန်လည်စတင်ပါ။", + "toast.update.action.notYet": "မဟုတ်သေးပါ။", + "error.page.title": "တစ်ခုခု မှားသွားသည်။", + "error.page.description": "အပလီကေးရှင်းကို တင်နေစဉ် အမှားအယွင်းတစ်ခု ဖြစ်ပေါ်ခဲ့သည်။", + "error.page.description.localServerStartup": "ဒေသတွင်းဆာဗာကို စတင်စဉ်တွင် အမှားအယွင်းတစ်ခု ဖြစ်ပွားခဲ့သည်။", + "error.page.details.label": "အမှားအသေးစိတ်", + "error.page.action.restart": "ပြန်လည်စတင်ပါ။", + "error.page.action.report": "အမှားအယွင်းကို တိုင်ကြားပါ။", + "error.page.action.reported": "Error အစီရင်ခံခဲ့သည်။", + "error.page.action.exportLogs": "မှတ်တမ်းများ ထုတ်ယူရန်", + "error.page.action.checking": "စစ်ဆေးနေသည်...", + "error.page.action.checkUpdates": "အပ်ဒိတ်များအတွက် စစ်ဆေးပါ။", + "error.page.action.updateTo": "{{version}} သို့ အပ်ဒိတ်လုပ်ပါ။", + "error.page.circular": "[မြို့ပတ်]", + "error.page.report.prefix": "ဤအမှားအယွင်းကို OpenCode အဖွဲ့ထံ တိုင်ကြားပါ။\nDiscord တွင်", + "error.page.report.discord": "Discord တွင်", + "error.page.version": "ဗားရှင်း- {{version}}", + "error.dev.rootNotFound": + "အမြစ်ဒြပ်စင်ကို ရှာမတွေ့ပါ။ ၎င်းကို သင်၏ index.html တွင် ထည့်ရန် မေ့သွားပါသလား။ ဒါမှမဟုတ် id attribute က စာလုံးပေါင်းမှားနေသလား။", + "error.serverSync.connectFailed": "ဆာဗာသို့ ချိတ်ဆက်၍မရပါ။ `{{url}}` တွင်အလုပ်လုပ်နေသောဆာဗာရှိပါသလား။", + "error.serverSDK.noServerAvailable": "ဆာဗာ မရရှိနိုင်ပါ။", + "error.serverSDK.serverNotAvailable": "ဆာဗာ မရရှိနိုင်ပါ။", + "error.childStore.persistedCacheCreateFailed": "ဆက်ရှိနေသော ကက်ရှ်ကို ဖန်တီး၍မရပါ။", + "error.childStore.persistedProjectMetadataCreateFailed": "ဆက်ရှိနေသော ပရောဂျက် မက်တာဒေတာကို ဖန်တီး၍မရပါ။", + "error.childStore.persistedProjectIconCreateFailed": "ဆက်လက်တည်ရှိနေသော ပရောဂျက်သင်္ကေတကို ဖန်တီး၍မရပါ။", + "error.childStore.storeCreateFailed": "စတိုးကို ဖန်တီး၍မရပါ။", + "directory.error.invalidUrl": "URL တွင် မမှန်ကန်သော လမ်းညွှန်ချက်", + "error.chain.unknown": "အမည်မသိ အမှား", + "error.server.invalidConfiguration": "မမှန်ကန်သော ဖွဲ့စည်းမှု", + "error.chain.causedBy": "အကြောင်းရင်း-", + "error.chain.apiError": "API အမှား", + "error.chain.status": "အခြေအနေ- {{status}}", + "error.chain.retryable": "ပြန်ကြိုးစားနိုင်သည်- {{retryable}}", + "error.chain.responseBody": "တုံ့ပြန်မှုကိုယ်ထည်-\n{{body}}", + "error.chain.didYouMean": "ဆိုလိုတာက {{suggestions}}", + "error.chain.modelNotFound": "မော်ဒယ်ကို ရှာမတွေ့ပါ- {{provider}}/{{model}}", + "error.chain.checkConfig": "သင်၏ config (opencode.json) ဝန်ဆောင်မှုပေးသူ/မော်ဒယ်အမည်များကို စစ်ဆေးပါ။", + "error.chain.mcpFailed": + 'MCP ဆာဗာ "{{name}}" မအောင်မြင်ပါ။ မှတ်ချက်၊ OpenCode သည် MCP စစ်မှန်ကြောင်းအထောက်အထားမခိုင်လုံသေးပါ။', + "error.chain.providerAuthFailed": "ပံ့ပိုးသူ စစ်မှန်ကြောင်း အထောက်အထား မအောင်မြင်ပါ ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + 'ဝန်ဆောင်မှုပေးသူ "{{provider}}" ကို စတင်ရန် မအောင်မြင်ပါ။ အထောက်အထားများနှင့် ဖွဲ့စည်းမှုပုံစံကို စစ်ဆေးပါ။', + "error.chain.configJsonInvalid": "{{path}} ရှိ Config ဖိုင်သည် JSON(C) မမှန်ကန်ပါ", + "error.chain.configJsonInvalidWithMessage": "{{path}} ရှိ Config file သည် JSON(C): {{message}} မမှန်ပါ။", + "error.chain.configDirectoryTypo": + '{{path}} ရှိ လမ်းညွှန် "{{dir}}" သည် မမှန်ကန်ပါ။ လမ်းညွှန်ကို "{{suggestion}}" သို့ အမည်ပြောင်းပါ သို့မဟုတ် ၎င်းကို ဖယ်ရှားပါ။ ၎င်းသည် သာမာန် typo တစ်ခုဖြစ်သည်။', + "error.chain.configFrontmatterError": + "{{path}} တွင် ရှေ့အကြောင်းအရာကို ခွဲခြမ်းစိတ်ဖြာရန် မအောင်မြင်ပါ-\n{{message}}", + "error.chain.configInvalid": "{{path}} ရှိ Config ဖိုင်သည် မမှန်ကန်ပါ။", + "error.chain.configInvalidWithMessage": "{{path}} ရှိ Config ဖိုင်သည် မမှန်ကန်ပါ- {{message}}", + "notification.permission.title": "ခွင့်ပြုချက် လိုအပ်သည်။", + "notification.permission.description": "{{sessionTitle}} တွင် {{projectName}} ခွင့်ပြုချက် လိုအပ်သည်။", + "notification.question.title": "မေးခွန်း", + "notification.question.description": "{{sessionTitle}} {{projectName}} တွင် မေးခွန်းတစ်ခုရှိသည်။", + "notification.action.goToSession": "စက်ရှင်သို့ သွားပါ။", + "notification.session.responseReady.title": "တုံ့ပြန်မှု အဆင်သင့်ဖြစ်ပါပြီ။", + "notification.session.error.title": "စက်ရှင် အမှား", + "notification.session.error.fallbackDescription": "အမှားအယွင်းတစ်ခု ဖြစ်ပွားခဲ့သည်။", + "home.recentProjects": "လတ်တလော ပရောဂျက်များ", + "home.empty.title": "လတ်တလော ပရောဂျက်များ မရှိပါ။", + "home.empty.description": "ဒေသခံပရောဂျက်တစ်ခုကို ဖွင့်လှစ်ခြင်းဖြင့် စတင်လိုက်ပါ။", + "home.title": "ပင်မ", + "home.projects": "ပရောဂျက်များ", + "home.project.add": "ပရောဂျက်ကို ထည့်ပါ။", + "home.recentlyClosed": "မကြာသေးမီက ပိတ်ထားသည်။", + "home.server.collapse": "ဆာဗာပရောဂျက်များကို ခေါက်သိမ်းပါ။", + "home.server.expand": "ဆာဗာ ပရောဂျက်များကို ချဲ့ထွင်ပါ။", + "home.sessions.search.placeholder": "ရှာဖွေမှုကဏ္ဍများ", + "home.sessions.search.placeholder.scoped": "{{scope}} ရှိ ဆက်ရှင်များကို ရှာဖွေပါ။", + "home.sessions.search.sessions": "ဆက်ရှင်များ", + "home.sessions.search.noResults": "{{query}} အတွက် ဆက်ရှင်များ မတွေ့ပါ။", + "home.sessions.empty": "ဤနေရာတွင် ဘာမှမရှိသေးပါ။", + "home.sessions.empty.description": "စတင်ရန် စက်ရှင်တစ်ခုကို ဖန်တီးပါ။", + "home.sessions.group.today": "ယနေ့", + "home.sessions.group.yesterday": "မနေ့က", + "home.sessions.group.older": "အသက်ကြီးသည်။", + "home.providerTip": + "Claude၊ GPT၊ Gemini စသည်တို့အပါအဝင် အခြားမော်ဒယ်များကို အသုံးပြုရန် 75+ ဝန်ဆောင်မှုပေးသူများထံ ချိတ်ဆက်ပါ။", + "session.tab.session": "အပိုင်း", + "session.tab.review": "သုံးသပ်ချက်", + "session.tab.context": "ဆက်စပ်အကြောင်းအရာ", + "session.tab.unknown": "အမည်မသိ ဆက်ရှင်", + "session.panel.reviewAndFiles": "ပြန်လည်သုံးသပ်ခြင်းနှင့် ဖိုင်များ", + "session.error.notFound": "ဤစက်ရှင်ကို ရှာမတွေ့ပါ။", + "session.error.notFound.description": "ဤတဘ်သည် ဤဆာဗာတွင်မရှိတော့သော စက်ရှင်တစ်ခုကို ညွှန်ပြသည်။", + "session.error.notFound.closeTab": "တဘ်ကို ပိတ်ပါ။", + "session.error.serverConnection": "ဤဆာဗာသို့ ချိတ်ဆက်၍မရပါ။", + "session.review.filesChanged": "ဖိုင်များကို {{count}} ပြောင်းထားသည်။", + "session.review.change.one": "ပြောင်းလဲခြင်း။", + "session.review.change.other": "ပြောင်းလဲမှုများ", + "session.review.loadingChanges": "အပြောင်းအလဲများကို ဖွင့်နေသည်...", + "session.review.empty": "ဤစက်ရှင်တွင် ပြောင်းလဲမှုမရှိသေးပါ။", + "session.review.noVcs": "မည်သည့် Git ဗားရှင်းထိန်းချုပ်မှုစနစ်မှ ရှာမတွေ့ပါ၊ အပြောင်းအလဲများကို မပြသပါ။", + "session.review.noVcs.createGit.title": "Git repository တစ်ခုဖန်တီးပါ။", + "session.review.noVcs.createGit.description": "ဤပရောဂျက်ရှိ အပြောင်းအလဲများကို ခြေရာခံ၊ သုံးသပ်ပြီး ပြန်ဖျက်ပါ။", + "session.review.noVcs.createGit.actionLoading": "Git repository ကို ဖန်တီးနေသည်...", + "session.review.noVcs.createGit.action": "Git repository ဖန်တီးပါ။", + "session.review.noSnapshot": + "Snapshot ခြေရာခံခြင်းကို config တွင်ပိတ်ထားသည်၊ ထို့ကြောင့် စက်ရှင်ပြောင်းလဲမှုများကို မရရှိနိုင်ပါ", + "session.review.noChanges": "အပြောင်းအလဲမရှိပါ။", + "session.review.noUncommittedChanges": "ကတိကဝတ်မပြုထားသော အပြောင်းအလဲများ မရှိသေးပါ။", + "session.review.noBranchChanges": "ဌာနခွဲပြောင်းလဲမှုမရှိသေးပါ။", + "session.files.selectToOpen": "ဖွင့်ရန် ဖိုင်တစ်ခုကို ရွေးပါ။", + "session.files.all": "ဖိုင်အားလုံး", + "session.files.empty": "ဖိုင်မရှိပါ။", + "session.files.binaryContent": "Binary ဖိုင် (အကြောင်းအရာကို ပြသ၍မရပါ)", + "session.messages.renderEarlier": "အစောပိုင်းစာတိုများကို တင်ဆက်ပါ။", + "session.messages.loadingEarlier": "အစောပိုင်းမက်ဆေ့ချ်များကို တင်နေသည်...", + "session.messages.loadEarlier": "အစောပိုင်းမက်ဆေ့ချ်များကို တင်ပါ။", + "session.messages.loading": "မက်ဆေ့ချ်များကို ဖွင့်နေသည်...", + "session.messages.jumpToLatest": "နောက်ဆုံးသို့ ခုန်ပါ။", + "session.context.addToContext": "{{selection}} ကို ဆက်စပ်အကြောင်းအရာထဲ ထည့်ပါ။", + "session.todo.title": "လုပ်စရာများ", + "session.todo.collapse": "ခေါက်သိမ်းပါ။", + "session.todo.expand": "ချဲ့ပါ။", + "session.todo.progress": "{{total}} todos များ၏ {{done}} ပြီးပါပြီ။", + "session.question.progress": "{{total}} မေးခွန်းများ၏ {{current}}", + "session.question.minimize": "မေးခွန်းကို လျှော့ပါ။", + "session.question.restore": "မေးခွန်းကို ပြန်ယူပါ။", + "session.question.pending.one": "{{count}} ဆိုင်းငံ့မေးခွန်း", + "session.question.pending.other": "{{count}} ဆိုင်းငံ့မေးခွန်းများ", + "session.followupDock.summary.one": "{{count}} တန်းစီနေသည့် မက်ဆေ့ဂျ်", + "session.followupDock.summary.other": "{{count}} တန်းစီထားသော စာတိုများ", + "session.followupDock.sendNow": "ယခု ပို့ပါ။", + "session.followupDock.edit": "တည်းဖြတ်ပါ။", + "session.followupDock.collapse": "တန်းစီထားသော စာများကို ခေါက်သိမ်းပါ။", + "session.followupDock.expand": "တန်းစီထားသောစာများကို ချဲ့ပါ။", + "session.revertDock.summary.one": "{{count}} သည် မက်ဆေ့ဂျ်ကို ပြန်ပြောင်းထားသည်။", + "session.revertDock.summary.other": "{{count}} သည် မက်ဆေ့ဂျ်များကို ပြန်ဖွင့်ခဲ့သည်။", + "session.revertDock.collapse": "ပြန်လှန်ထားသော စာတိုများကို ခေါက်သိမ်းပါ။", + "session.revertDock.expand": "ပြန်လှန်ထားသော စာတိုများကို ချဲ့ပါ။", + "session.revertDock.restore": "မက်ဆေ့ဂျ်ကို ပြန်ယူပါ။", + "session.new.title": "မည်သည့်အရာကိုမဆို တည်ဆောက်ပါ။", + "session.new.project.new": "ပရောဂျက်အသစ်", + "session.new.project.search": "ရှာဖွေရေး ပရောဂျက်များ", + "session.new.project.add": "ပရောဂျက်ကို ထည့်ပါ။", + "session.new.worktree.main": "ပင်မဌာနခွဲ", + "session.new.worktree.mainWithBranch": "ပင်မဌာနခွဲ ({{branch}})", + "session.new.worktree.create": "Git worktree အသစ် ဖန်တီးပါ။", + "session.new.workspace.runIn": "စက်ရှင်ကို ဖွင့်ပါ။", + "session.new.workspace.triggerLocal": "ပြည်တွင်း", + "session.new.workspace.local": "စက်တွင်းသိုလှောင်မှု", + "session.new.workspace.existing": "အလုပ်နေရာ…", + "session.new.git.none": "Git မရှိပါ။", + "session.new.lastModified": "နောက်ဆုံးမွမ်းမံထားသည်။", + "session.header.search.placeholder": "{{project}} ကိုရှာပါ။", + "session.header.searchFiles": "ဖိုင်များကို ရှာဖွေပါ။", + "session.header.openIn": "ဖွင့်ပါ။", + "session.header.open.action": "{{app}} ကိုဖွင့်ပါ။", + "session.header.open.ariaLabel": "{{app}} တွင် ဖွင့်ပါ။", + "session.header.open.menu": "ရွေးစရာများကို ဖွင့်ပါ။", + "session.header.open.copyPath": "လမ်းကြောင်းကို ကူးယူပါ။", + "session.header.open.finder": "ရှာဖွေသူ", + "session.header.open.fileExplorer": "File Explorer", + "session.header.open.fileManager": "ဖိုင်မန်နေဂျာ", + "session.header.reveal.finder": "Finder တွင် ထုတ်ပြပါ။", + "session.header.reveal.fileExplorer": "File Explorer တွင် ထုတ်ပြပါ။", + "session.header.reveal.containingFolder": "ပါဝင်သောဖိုင်တွဲကိုဖွင့်ပါ။", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Terminal", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "အခြေအနေ", + "status.popover.ariaLabel": "ဆာဗာဖွဲ့စည်းပုံများ", + "status.popover.tab.servers": "ဆာဗာများ", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "ပလပ်အင်များ", + "status.popover.action.manageServers": "ဆာဗာများကို စီမံပါ။", + "session.share.popover.title": "ဝဘ်ပေါ်တွင် လွှင့်တင်ပါ။", + "session.share.popover.description.shared": + "ဤစက်ရှင်သည် ဝဘ်ပေါ်တွင် အများသူငှာဖြစ်သည်။ ၎င်းကို လင့်ခ်ရှိသူတိုင်း အသုံးပြုနိုင်သည်။", + "session.share.popover.description.unshared": + "စက်ရှင်ကို ဝဘ်ပေါ်တွင် လူသိရှင်ကြား မျှဝေပါ။ ၎င်းကို လင့်ခ်ရှိသူတိုင်း ဝင်ရောက်ကြည့်ရှုနိုင်မည်ဖြစ်သည်။", + "session.share.action.share": "မျှဝေပါ။", + "session.share.action.publish": "ထုတ်ဝေသည်။", + "session.share.action.publishing": "ထုတ်ဝေနေသည်...", + "session.share.action.unpublish": "ထုတ်ဝေမှုမှ ပြန်ဖြုတ်ပါ။", + "session.share.action.unpublishing": "ထုတ်ဝေမှုမှ ပြန်ဖြုတ်နေသည်...", + "session.share.action.view": "ကြည့်ရန်", + "session.share.copy.copied": "ကူးယူထားသည်။", + "session.share.copy.copyLink": "လင့်ခ်ကို ကူးယူပါ။", + "lsp.tooltip.none": "LSP ဆာဗာများ မရှိပါ။", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "အချက်ပြမှုကို ဖွင့်နေသည်...", + "terminal.loading": "Terminal ကို ဖွင့်နေသည်...", + "terminal.title": "Terminal", + "terminal.title.numbered": "Terminal {{number}}", + "terminal.close": "Terminal ကို ပိတ်ပါ", + "terminal.connectionLost.title": "ချိတ်ဆက်မှု ပြတ်တောက်သွားသည်။", + "terminal.connectionLost.abnormalClose": "WebSocket ကို ပုံမှန်မဟုတ်စွာ ပိတ်ထားသည်- {{code}}", + "terminal.connectionLost.description": + "Terminal ချိတ်ဆက်မှု ပြတ်တောက်သွားသည်။ ဆာဗာ ပြန်လည်စတင်သည့်အခါ ၎င်းသည် ဖြစ်ပေါ်လာနိုင်သည်။", + "terminal.connectTicket.csrfError": + "PTY ချိတ်ဆက်မှုလက်မှတ်ကို မူရင်း သို့မဟုတ် CSRF စစ်ဆေးမှုများဖြင့် ပယ်ချထားသည်။ ဆာဗာ CORS config ကိုစစ်ဆေးပါ။", + "terminal.connectTicket.statusError": "PTY ချိတ်ဆက်မှုလက်မှတ် {{status}} ဖြင့် မအောင်မြင်ပါ။", + "titlebar.update": "အပ်ဒိတ်", + "titlebar.updateVersion": "{{version}} ကို အပ်ဒိတ်လုပ်ပါ။", + "common.closeTab": "တဘ်ကို ပိတ်ပါ။", + "common.dismiss": "ပယ်ရန်", + "common.moreCountSuffix": "(+{{count}} နောက်ထပ်)", + "common.requestFailed": "တောင်းဆိုမှု မအောင်မြင်ပါ။", + "common.moreOptions": "နောက်ထပ် ရွေးချယ်စရာများ", + "common.learnMore": "ပိုမိုလေ့လာရန်", + "common.rename": "အမည်ပြောင်း", + "common.export": "တင်ပို့ခြင်း။", + "common.reset": "ပြန်လည်သတ်မှတ်ပါ။", + "common.archive": "မှတ်တမ်း", + "common.delete": "ဖျက်ပါ", + "common.close": "ပိတ်ပါ။", + "common.edit": "တည်းဖြတ်ရန်", + "common.loadMore": "နောက်ထပ် တင်ပါ။", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "အမည်မသိ", + "common.time.justNow": "အခုပဲ", + "common.time.minutesAgo.short": "{{count}}m လွန်ခဲ့သော", + "common.time.hoursAgo.short": "{{count}}h လွန်ခဲ့သော", + "common.time.daysAgo.short": "{{count}}d လွန်ခဲ့သော", + "sidebar.menu.toggle": "မီနူးကို ပြောင်းရန်", + "sidebar.nav.projectsAndSessions": "ပရောဂျက်များနှင့် ဆက်ရှင်များ", + "sidebar.settings": "ဆက်တင်များ", + "sidebar.help": "အကူအညီ", + "sidebar.workspaces.enable": "အလုပ်နေရာများကို ဖွင့်ပါ။", + "sidebar.workspaces.disable": "အလုပ်နေရာများကို ပိတ်ပါ။", + "sidebar.gettingStarted.title": "စတင်ခြင်း။", + "sidebar.gettingStarted.line1": "OpenCode တွင် အခမဲ့မော်ဒယ်များ ပါဝင်သောကြောင့် သင်ချက်ချင်းစတင်နိုင်သည်။", + "sidebar.gettingStarted.line2": + "မော်ဒယ်များ၊ inc ကိုအသုံးပြုရန် မည်သည့်ပံ့ပိုးသူကိုမဆို ချိတ်ဆက်ပါ။ Claude၊ GPT၊ Gemini စသဖြင့်", + "sidebar.project.recentSessions": "လတ်တလော စက်ရှင်များ", + "sidebar.project.viewAllSessions": "ဆက်ရှင်များအားလုံးကို ကြည့်ရှုပါ။", + "sidebar.project.clearNotifications": "အကြောင်းကြားချက်များကို ရှင်းလင်းပါ။", + "sidebar.empty.title": "မည်သည့်ပရောဂျက်မှ ဖွင့်ထားခြင်းမရှိပါ။", + "sidebar.empty.description": "စတင်ရန် ပရောဂျက်တစ်ခုကို ဖွင့်ပါ။", + "debugBar.ariaLabel": "ဖွံ့ဖြိုးတိုးတက်မှု စွမ်းဆောင်ရည် အဖြေရှာခြင်း", + "debugBar.na": "n/a", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "နောက်ဆုံးပြီးစီးခဲ့သော လမ်းကြောင်းအပြောင်းအရွှေ့သည် အခြေချပြီးနောက် ပထမဆေးခြယ်ခြင်းအထိ တိုင်းတာသည့် စက်ရှင်စာမျက်နှာကိုထိခြင်း၊", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "လွန်ခဲ့သည့် 5 စက္ကန့်အတွင်း တစ်စက္ကန့်လျှင် ရွေ့လျားနေသောဘောင်များ။", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "ပြီးခဲ့သည့် 5 စက္ကန့်အတွင်း အဆိုးဆုံးဘောင်အချိန်။", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "နောက်ဆုံး 5 စက္ကန့်အတွင်း 32ms ကျော်ဘောင်များ။", + "debugBar.long.label": "LONG", + "debugBar.long.tip": + "ပြီးခဲ့သော 5 စက္ကန့်အတွင်း ပိတ်ဆို့ထားသော အချိန်နှင့် ကြာရှည်မှုအရေအတွက်။ အများဆုံးလုပ်ဆောင်စရာ- {{max}}။", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "ပြီးခဲ့သော 5 စက္ကန့်အတွင်း အဆိုးရွားဆုံး ထည့်သွင်းမှုနှောင့်နှေးမှုကို တွေ့ရှိခဲ့သည်။", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": + "ပြီးခဲ့သော 5 စက္ကန့်အတွင်း အနီးစပ်ဆုံး အပြန်အလှန်တုံ့ပြန်မှုကြာချိန်။ ၎င်းသည် INP နှင့်တူသည်၊ တရားဝင် Web Vitals INP မဟုတ်ပါ။", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "လက်ရှိ အက်ပ်သက်တမ်းအတွက် စုစည်းထားသော အပြင်အဆင် အပြောင်းအလဲ။", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "JS heap နှင့် heap ကန့်သတ်ချက်ကို အသုံးပြုထားသည်။ Chromium သာ", + "debugBar.mem.tip": "JS heap နှင့် heap ကန့်သတ်ချက်ကို အသုံးပြုထားသည်။ {{limit}} ၏ {{used}}", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": + "အပြန်အလှန်တုံ့ပြန်မှုရှိသော ဒြပ်စင်များအားလုံးတွင် အာရုံစူးစိုက်မှုပုံစံများကို တွန်းအားပေးပါ။", + "debugBar.focus.on": "ON", + "debugBar.focus.off": "OFF", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": + "ရွေးချယ်ထားသောဘာသာစကားကို မပြောင်းလဲဘဲ အက်ပ်အပြင်အဆင် လမ်းညွှန်ချက်အပြည့်အစုံကို တွန်းအားပေးပါ။", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode Desktop", + "settings.section.desktop": "ဒက်စ်တော့", + "settings.section.server": "ဆာဗာ", + "settings.tab.general": "အထွေထွေ", + "settings.tab.shortcuts": "ဖြတ်လမ်းများ", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "WSL ပေါင်းစည်းမှု", + "settings.desktop.wsl.description": "Windows တွင် WSL အတွင်းရှိ OpenCode ဆာဗာကို ဖွင့်ပါ။", + "settings.general.section.appearance": "အသွင်အပြင်", + "settings.general.section.advanced": "အဆင့်မြင့်", + "settings.general.section.notifications": "စနစ်အကြောင်းကြားချက်များ", + "settings.general.section.updates": "အပ်ဒိတ်များ", + "settings.general.section.sounds": "အသံသက်ရောက်မှု", + "settings.general.section.feed": "ကျွေးမွေးခြင်း။", + "settings.general.section.display": "မျက်နှာပြင်", + "settings.general.row.language.title": "ဘာသာစကား", + "settings.general.row.language.description": "OpenCode အတွက် ဖော်ပြသည့် ဘာသာစကားကို ပြောင်းပါ။", + "settings.general.row.shell.title": "Terminal Shell", + "settings.general.row.shell.description": "terminal နှင့် agent tools မှအသုံးပြုသော Shell", + "settings.general.row.shell.autoDefault": "အလိုအလျောက် (ပုံသေ)", + "settings.general.row.shell.terminalOnly": "terminal သာ", + "settings.general.row.appearance.title": "အသွင်အပြင်", + "settings.general.row.appearance.description": "သင့်စက်ပေါ်တွင် OpenCode ကို မည်သို့မြင်သည်ကို စိတ်ကြိုက်ပြင်ဆင်ပါ။", + "settings.general.row.colorScheme.title": "အရောင်အစီအစဉ်", + "settings.general.row.colorScheme.description": + "OpenCode သည် စနစ်၊ အလင်း သို့မဟုတ် အမှောင် အပြင်အဆင်ကို လိုက်နာခြင်း ရှိ၊ မရှိကို ရွေးပါ။", + "settings.general.row.theme.title": "အပြင်အဆင်", + "settings.general.row.theme.description": "OpenCode ကို ဘယ်လိုပုံစံနဲ့ စိတ်ကြိုက်လုပ်မလဲ။", + "settings.general.row.font.title": "ကုဒ်ဖောင့်", + "settings.general.row.font.description": "ကုဒ်တုံးများတွင် အသုံးပြုသည့် ဖောင့်ကို စိတ်ကြိုက်ပြင်ဆင်ပါ။", + "settings.general.row.terminalFont.title": "Terminal ဖောင့်", + "settings.general.row.terminalFont.description": "terminal တွင်အသုံးပြုသောဖောင့်ကို စိတ်ကြိုက်ပြင်ဆင်ပါ။", + "settings.general.row.uiFont.title": "UI ဖောင့်", + "settings.general.row.uiFont.description": "အင်တာဖေ့စ်တစ်လျှောက်သုံးဖောင့်ကို စိတ်ကြိုက်ပြင်ဆင်ပါ။", + "settings.general.row.followup.title": "နောက်ဆက်တွဲအပြုအမူ", + "settings.general.row.followup.description": + "နောက်ဆက်တွဲအချက်မှာ ချက်ချင်းပဲ့ကိုင်သလား သို့မဟုတ် တန်းစီစောင့်ဆိုင်းခြင်းရှိမရှိကို ရွေးပါ။", + "settings.general.row.followup.option.queue": "တန်းစီ", + "settings.general.row.followup.option.steer": "ခုတ်မောင်းပါ။", + "settings.general.row.showFileTree.title": "ဖိုင်သစ်", + "settings.general.row.showFileTree.description": "စက်ရှင်များတွင် ဖိုင်သစ်အကန့်ကို ပြပါ။", + "settings.general.row.showNavigation.title": "လမ်းညွှန်မှု ထိန်းချုပ်မှုများ", + "settings.general.row.showNavigation.description": + "ဒက်စ်တော့ ခေါင်းစဉ်ဘားတွင် နောက်နှင့် ရှေ့သို့ ခလုတ်များကို ပြပါ။", + "settings.general.row.showSearch.title": "အမိန့်များစာရင်း", + "settings.general.row.showSearch.description": "ခေါင်းစဉ်ဘားရှိ ရှာဖွေမှုနှင့် အမိန့်ပေးချက် ခလုတ်ကို ပြပါ။", + "settings.general.row.showTerminal.title": "Terminal", + "settings.general.row.showTerminal.description": "ဒက်စ်တော့ခေါင်းစဉ်ဘားရှိ terminal ခလုတ်ကိုပြသပါ။", + "settings.general.row.showStatus.title": "ဆာဗာအခြေအနေ", + "settings.general.row.showStatus.description": "ခေါင်းစဉ်ဘားရှိ ဆာဗာအခြေအနေခလုတ်ကို ပြပါ။", + "settings.general.row.mobileTitlebarBottom.title": "အောက်ခြေလမ်းညွှန်", + "settings.general.row.mobileTitlebarBottom.description": + "မိုဘိုင်းတွင် စခရင်၏အောက်ခြေတွင် ခေါင်းစဉ်ဘားနှင့် ဆက်ရှင်တက်ဘ်များကို ထားရှိပါ။", + "settings.general.row.showCustomAgents.title": "အေးဂျင့်ကို ပြပါ။", + "settings.general.row.showCustomAgents.description": + "တေးရေးဆရာရှိ အေးဂျင့်များအကြား ပြောင်းပါ။ ဝှက်ထားသည့်အခါ၊ Build အေးဂျင့်အဖြစ် သတ်မှတ်သည်။", + "settings.general.row.reasoningSummaries.title": "ကျိုးကြောင်းဆင်ခြင်ခြင်း အနှစ်ချုပ်များကို ပြပါ။", + "settings.general.row.reasoningSummaries.description": + "အချိန်ဇယားတွင် မော်ဒယ် ကျိုးကြောင်းဆင်ခြင်ခြင်း အနှစ်ချုပ်များကို ပြသပါ။", + "settings.general.row.shellToolPartsExpanded.title": "shell tool အစိတ်အပိုင်းများကို ချဲ့ပါ။", + "settings.general.row.shellToolPartsExpanded.description": + "အချိန်ဇယားတွင် ပုံသေဖြင့် ချဲ့ထားသော shell tool အစိတ်အပိုင်းများကို ပြပါ။", + "settings.general.row.editToolPartsExpanded.title": "တည်းဖြတ်ကိရိယာအစိတ်အပိုင်းများကို ချဲ့ထွင်ပါ။", + "settings.general.row.editToolPartsExpanded.description": + "အချိန်ဇယားတွင် ပုံသေဖြင့် ချဲ့ထွင်ထားသော တည်းဖြတ်ခြင်း၊ ရေးသားခြင်းနှင့် ဖာထေးခြင်း ကိရိယာအစိတ်အပိုင်းများကို ပြသပါ။", + "settings.general.row.newInterface.title": "အပြင်အဆင်အသစ်", + "settings.general.row.newInterface.badge": "အသစ်", + "settings.general.row.newInterface.description": + "တက်ဘ်အသစ်များနှင့် အိမ်အပြင်အဆင်ကို အသုံးပြုပါ။ အပြင်အဆင်များကြားတွင် အချိန်အကန့်အသတ်ဖြင့် ပြောင်းပါ။", + "settings.general.row.newInterfaceNotice.title": "သင်သည် ယခုအခါ အပြင်အဆင်အသစ်ကို အသုံးပြုနေပါသည်။", + "settings.general.row.newInterfaceNotice.description": "ယခင်အပြင်အဆင်ကို မရနိုင်တော့ပါ။", + "settings.general.row.newInterfaceNotice.dismiss": "ပယ်ရန်", + "settings.general.row.pinchZoom.title": "ဇူးမ်ချဲ့ရန် ဖိပါ။", + "settings.general.row.pinchZoom.description": + "ဇူးမ်လုပ်ရန် trackpad pinch နှင့် Ctrl-scroll gestures ကို ခွင့်ပြုပါ။", + "settings.general.row.wayland.title": "ဇာတိ Wayland ကို သုံးပါ။", + "settings.general.row.wayland.description": "Wayland ရှိ X11 လှည့်ကွက်ကို ပိတ်ပါ။ ပြန်လည်စတင်ရန် လိုအပ်သည်။", + "settings.general.row.wayland.tooltip": + "Linux တွင် ရောစပ်ထားသော refresh-rate မော်နီတာများနှင့်အတူ၊ မူရင်း Wayland သည် ပိုမိုတည်ငြိမ်နိုင်သည်။", + "settings.general.row.releaseNotes.title": "ထုတ်ဝေမှုမှတ်စုများ", + "settings.general.row.releaseNotes.description": "အပ်ဒိတ်များပြီးနောက် ပေါ့ပ်အပ်အသစ်များကို ပြပါ။", + "settings.updates.row.startup.title": "စတင်ခြင်းတွင် အပ်ဒိတ်များကို စစ်ဆေးပါ။", + "settings.updates.row.startup.description": "OpenCode စတင်သည့်အခါ အပ်ဒိတ်များအတွက် အလိုအလျောက်စစ်ဆေးပါ။", + "settings.updates.row.check.title": "အပ်ဒိတ်များအတွက် စစ်ဆေးပါ။", + "settings.updates.row.check.description": "အပ်ဒိတ်များအတွက် ကိုယ်တိုင်စစ်ဆေးပြီး ရနိုင်လျှင် ထည့်သွင်းပါ။", + "settings.updates.action.checkNow": "ယခုစစ်ဆေးပါ။", + "settings.updates.action.checking": "စစ်ဆေးနေသည်...", + "settings.updates.action.downloading": "ဒေါင်းလုဒ်လုပ်နေသည်...", + "settings.updates.action.installing": "ထည့်သွင်းနေသည်...", + "settings.updates.toast.latest.title": "သင်သည် ခေတ်မီနေပါသည်။", + "settings.updates.toast.latest.description": "သင်သည် OpenCode ၏ နောက်ဆုံးဗားရှင်းကို အသုံးပြုနေပါသည်။", + "sound.option.none": "မရှိပါ။", + "sound.option.alert01": "သတိပေးချက် ၀၁", + "sound.option.alert02": "သတိပေးချက် ၀၂", + "sound.option.alert03": "သတိပေးချက် ၀၃", + "sound.option.alert04": "သတိပေးချက် ၀၄", + "sound.option.alert05": "သတိပေးချက် ၀၅", + "sound.option.alert06": "သတိပေးချက် ၀၆", + "sound.option.alert07": "သတိပေးချက် ၀၇", + "sound.option.alert08": "သတိပေးချက် ၀၈", + "sound.option.alert09": "သတိပေးချက် ၀၉", + "sound.option.alert10": "သတိပေးချက် ၁၀", + "sound.option.bipbop01": "Bip-bop ၀၁", + "sound.option.bipbop02": "Bip-bop ၀၂", + "sound.option.bipbop03": "Bip-bop ၀၃", + "sound.option.bipbop04": "Bip-bop ၀၄", + "sound.option.bipbop05": "Bip-bop ၀၅", + "sound.option.bipbop06": "Bip-bop ၀၆", + "sound.option.bipbop07": "Bip-bop ၀၇", + "sound.option.bipbop08": "Bip-bop ၀၈", + "sound.option.bipbop09": "Bip-bop ၀၉", + "sound.option.bipbop10": "Bip-bop ၁၀", + "sound.option.staplebops01": "Staplebops ၀၁", + "sound.option.staplebops02": "Staplebops ၀၂", + "sound.option.staplebops03": "Staplebops ၀၃", + "sound.option.staplebops04": "Staplebops ၀၄", + "sound.option.staplebops05": "Staplebops ၀၅", + "sound.option.staplebops06": "Staplebops ၀၆", + "sound.option.staplebops07": "Staplebops ၀၇", + "sound.option.nope01": "မဟုတ်ဘူး ၀၁", + "sound.option.nope02": "မဟုတ်ဘူး ၀၂", + "sound.option.nope03": "မဟုတ်ဘူး ၀၃", + "sound.option.nope04": "မဟုတ်ဘူး ၀၄", + "sound.option.nope05": "မဟုတ်ဘူး ၀၅", + "sound.option.nope06": "မဟုတ်ဘူး ၀၆", + "sound.option.nope07": "မဟုတ်ဘူး ၀၇", + "sound.option.nope08": "မဟုတ်ဘူး ၀၈", + "sound.option.nope09": "မဟုတ်ဘူး ၀၉", + "sound.option.nope10": "မဟုတ်ဘူး ၁၀", + "sound.option.nope11": "မဟုတ်ဘူး ၁၁", + "sound.option.nope12": "မဟုတ်ဘူး ၁၂", + "sound.option.yup01": "ဟုတ် ၀၁", + "sound.option.yup02": "ဟုတ် ၀၂", + "sound.option.yup03": "ဟုတ် ၀၃", + "sound.option.yup04": "ဟုတ် ၀၄", + "sound.option.yup05": "အင်း ၀၅", + "sound.option.yup06": "အင်း ၀၆", + "settings.general.notifications.agent.title": "အေးဂျင့်", + "settings.general.notifications.agent.description": + "အေးဂျင့် ပြီးသွားသောအခါ သို့မဟုတ် သတိထားရန် လိုအပ်သည့်အခါ စနစ်သတိပေးချက်ကို ပြပါ။", + "settings.general.notifications.permissions.title": "ခွင့်ပြုချက်များ", + "settings.general.notifications.permissions.description": "ခွင့်ပြုချက်လိုအပ်သည့်အခါ စနစ်သတိပေးချက်ကို ပြပါ။", + "settings.general.notifications.errors.title": "အမှားများ", + "settings.general.notifications.errors.description": "အမှားအယွင်းတစ်ခုဖြစ်ပေါ်သည့်အခါ စနစ်သတိပေးချက်ကို ပြသပါ။", + "settings.general.sounds.agent.title": "အေးဂျင့်", + "settings.general.sounds.agent.description": + "အေးဂျင့်ပြီးသွားသောအခါ သို့မဟုတ် အာရုံစူးစိုက်မှုလိုအပ်သည့်အခါ အသံဖွင့်ပါ။", + "settings.general.sounds.permissions.title": "ခွင့်ပြုချက်များ", + "settings.general.sounds.permissions.description": "ခွင့်ပြုချက်လိုအပ်သည့်အခါ အသံဖွင့်ပါ။", + "settings.general.sounds.errors.title": "အမှားများ", + "settings.general.sounds.errors.description": "အမှားအယွင်းတစ်ခုဖြစ်ပေါ်သောအခါ အသံဖွင့်ပါ။", + "settings.shortcuts.title": "ကီးဘုတ်ဖြတ်လမ်းများ", + "settings.shortcuts.reset.button": "မူရင်းအတိုင်း ပြန်လည်သတ်မှတ်ပါ။", + "settings.shortcuts.reset.toast.title": "ဖြတ်လမ်းလင့်ခ်များကို ပြန်လည်သတ်မှတ်သည်။", + "settings.shortcuts.reset.toast.description": "ကီးဘုတ်ဖြတ်လမ်းများကို မူရင်းအတိုင်း ပြန်လည်သတ်မှတ်ထားသည်။", + "settings.shortcuts.conflict.title": "ဖြတ်လမ်းလင့်ခ်ကို အသုံးပြုပြီးဖြစ်သည်။", + "settings.shortcuts.conflict.description": "{{keybind}} ကို {{titles}} တွင် တာဝန်ပေးထားပြီးဖြစ်သည်။", + "settings.shortcuts.unassigned": "တာဝန်မယူထား", + "settings.shortcuts.pressKeys": "ခလုတ်များကို နှိပ်ပါ။", + "settings.shortcuts.search.placeholder": "ရှာရန် ဖြတ်လမ်းများ", + "settings.shortcuts.search.empty": "ဖြတ်လမ်းလင့်ခ်များ မတွေ့ပါ။", + "settings.shortcuts.group.general": "အထွေထွေ", + "settings.shortcuts.group.session": "အပိုင်း", + "settings.shortcuts.group.navigation": "အညွှန်း", + "settings.shortcuts.group.modelAndAgent": "မော်ဒယ်နှင့် အေးဂျင့်", + "settings.shortcuts.group.terminal": "Terminal", + "settings.shortcuts.group.prompt": "အချက်ပြပါ။", + "settings.providers.title": "ဝန်ဆောင်မှုပေးသူများ", + "settings.providers.description": "ဝန်ဆောင်မှုပေးသူ ဆက်တင်များကို ဤနေရာတွင် ပြင်ဆင်သတ်မှတ်နိုင်ပါမည်။", + "settings.providers.section.connected": "ချိတ်ဆက်ထားသော ဝန်ဆောင်မှုပေးသူများ", + "settings.providers.connected.empty": "ချိတ်ဆက်ပေးသူ မရှိပါ။", + "settings.providers.connected.environmentDescription": "သင့်ပတ်ဝန်းကျင် ကိန်းရှင်များမှ ချိတ်ဆက်ထားသည်။", + "settings.providers.section.popular": "လူကြိုက်များသော ဝန်ဆောင်မှုပေးသူများ", + "settings.providers.custom.description": "အခြေခံ URL ဖြင့် OpenAI-သဟဇာတ ပံ့ပိုးပေးသူကို ထည့်ပါ။", + "settings.providers.tag.environment": "ပတ်ဝန်းကျင်", + "settings.providers.tag.config": "ပြင်ဆင်မှု", + "settings.providers.tag.custom": "စိတ်ကြိုက်", + "settings.providers.tag.other": "အခြား", + "settings.models.title": "မော်ဒယ်များ", + "settings.models.description": "မော်ဒယ်လ်ဆက်တင်များကို ဤနေရာတွင် စီစဉ်သတ်မှတ်နိုင်မည်ဖြစ်သည်။", + "settings.agents.title": "အေးဂျင့်များ", + "settings.agents.description": "အေးဂျင့်ဆက်တင်များကို ဤနေရာတွင် ပြင်ဆင်သတ်မှတ်နိုင်ပါမည်။", + "settings.commands.title": "အမိန့်များ", + "settings.commands.description": "ကွန်မန်းဆက်တင်များကို ဤနေရာတွင် စီစဉ်သတ်မှတ်နိုင်မည်ဖြစ်သည်။", + "settings.mcp.title": "MCP", + "settings.mcp.description": "MCP ဆက်တင်များကို ဤနေရာတွင် ပြင်ဆင်သတ်မှတ်နိုင်ပါသည်။", + "settings.permissions.title": "ခွင့်ပြုချက်များ", + "settings.permissions.description": "မူရင်းအတိုင်း ဆာဗာအသုံးပြုနိုင်သည့် ကိရိယာများကို ထိန်းချုပ်ပါ။", + "settings.permissions.section.tools": "ကိရိယာများ", + "settings.permissions.toast.updateFailed.title": "ခွင့်ပြုချက်များကို အပ်ဒိတ်လုပ်ရန် မအောင်မြင်ပါ။", + "settings.permissions.action.allow": "ခွင့်ပြုပါ။", + "settings.permissions.action.ask": "မေး", + "settings.permissions.action.deny": "ငြင်းဆို", + "settings.permissions.tool.read.title": "ဖတ်ပါ။", + "settings.permissions.tool.read.description": "ဖိုင်တစ်ခုဖတ်ခြင်း (ဖိုင်လမ်းကြောင်းနှင့် ကိုက်ညီသည်)", + "settings.permissions.tool.edit.title": "တည်းဖြတ်ပါ။", + "settings.permissions.tool.edit.description": + "တည်းဖြတ်မှုများ၊ ရေးသားမှုများနှင့် ဖာထေးမှုများအပါအဝင် ဖိုင်များကို မွမ်းမံပါ။", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "glob ပုံစံများကို အသုံးပြု၍ ဖိုင်များကို ယှဉ်တွဲပါ။", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "ပုံမှန်အသုံးအနှုန်းများဖြင့် ဖိုင်အကြောင်းအရာများကို ရှာဖွေပါ။", + "settings.permissions.tool.list.title": "စာရင်း", + "settings.permissions.tool.list.description": "လမ်းညွှန်တစ်ခုအတွင်း ဖိုင်များကို စာရင်းပြုစုပါ။", + "settings.permissions.tool.bash.title": "Bash", + "settings.permissions.tool.bash.description": "shell command များကို လုပ်ဆောင်ပါ။", + "settings.permissions.tool.task.title": "လုပ်ဆောင်စရာ", + "settings.permissions.tool.task.description": "အေးဂျင့်ခွဲများကို စတင်ပါ။", + "settings.permissions.tool.skill.title": "ကျွမ်းကျင်မှု", + "settings.permissions.tool.skill.description": "အမည်ဖြင့် ကျွမ်းကျင်မှုတစ်ခုကို တင်ပါ။", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "ဘာသာစကားဆာဗာ မေးမြန်းချက်များကို လုပ်ဆောင်ပါ။", + "settings.permissions.tool.todowrite.title": "Todo ရေးပါ။", + "settings.permissions.tool.todowrite.description": "လုပ်စရာစာရင်းကို အပ်ဒိတ်လုပ်ပါ။", + "settings.permissions.tool.webfetch.title": "ဝဘ်ထုတ်ယူမှု", + "settings.permissions.tool.webfetch.description": "URL တစ်ခုမှ အကြောင်းအရာကို ရယူပါ။", + "settings.permissions.tool.websearch.title": "ဝဘ်ရှာဖွေမှု", + "settings.permissions.tool.websearch.description": "ဝဘ်ကို ရှာပါ။", + "settings.permissions.tool.external_directory.title": "ပြင်ပလမ်းညွှန်", + "settings.permissions.tool.external_directory.description": "ပရောဂျက်လမ်းညွှန်မှ ဖိုင်များကို ဝင်ရောက်ကြည့်ရှုပါ။", + "settings.permissions.tool.doom_loop.title": "Doom Loop", + "settings.permissions.tool.doom_loop.description": + "တူညီသောထည့်သွင်းမှုဖြင့် ထပ်ခါတလဲလဲ ကိရိယာခေါ်ဆိုမှုများကို ရှာဖွေပါ။", + "session.delete.failed.title": "စက်ရှင်ကို ဖျက်၍မရပါ။", + "session.delete.title": "စက်ရှင်ကို ဖျက်ပါ။", + "session.delete.confirm": 'စက်ရှင် "{{name}}" ကို ဖျက်မလား။', + "session.delete.button": "စက်ရှင်ကို ဖျက်ပါ။", + "workspace.new": "အလုပ်နေရာအသစ်", + "workspace.type.local": "ပြည်တွင်း", + "workspace.type.sandbox": "သဲပုံး", + "workspace.create.failed.title": "အလုပ်ခွင်ကို ဖန်တီး၍မရပါ။", + "workspace.delete.failed.title": "အလုပ်ခွင်ကို ဖျက်၍မရပါ။", + "workspace.resetting.title": "အလုပ်ခွင်ကို ပြန်လည်သတ်မှတ်ခြင်း။", + "workspace.resetting.description": "၎င်းသည် တစ်မိနစ်ခန့် ကြာနိုင်သည်။", + "workspace.reset.failed.title": "လုပ်ငန်းခွင်နေရာကို ပြန်လည်သတ်မှတ်ရန် မအောင်မြင်ပါ။", + "workspace.reset.success.title": "အလုပ်နေရာ ပြန်လည်သတ်မှတ်ခြင်း။", + "workspace.reset.success.description": "ယခု Workspace သည် မူရင်းဌာနခွဲနှင့် ကိုက်ညီပါသည်။", + "workspace.error.stillPreparing": "အလုပ်နေရာသည် ပြင်ဆင်ဆဲဖြစ်သည်။", + "workspace.status.checking": "ပေါင်းစပ်မထားသော အပြောင်းအလဲများကို စစ်ဆေးနေသည်...", + "workspace.status.error": "git အခြေအနေကို အတည်မပြုနိုင်ပါ။", + "workspace.status.clean": "ပေါင်းစပ်မထားသော အပြောင်းအလဲများကို ရှာမတွေ့ပါ။", + "workspace.status.dirty": "ဤလုပ်ငန်းခွင်တွင် ပေါင်းစပ်မထားသော အပြောင်းအလဲများကို တွေ့ရှိခဲ့သည်။", + "workspace.delete.title": "အလုပ်ခွင်ကို ဖျက်ပါ။", + "workspace.delete.confirm": 'အလုပ်ခွင် "{{name}}" ကို ဖျက်မလား။', + "workspace.delete.button": "အလုပ်ခွင်ကို ဖျက်ပါ။", + "workspace.reset.title": "အလုပ်ခွင်ကို ပြန်လည်သတ်မှတ်ပါ။", + "workspace.reset.confirm": 'အလုပ်ခွင် "{{name}}" ကို ပြန်လည်သတ်မှတ်မလား။', + "workspace.reset.button": "အလုပ်ခွင်ကို ပြန်လည်သတ်မှတ်ပါ။", + "workspace.reset.archived.none": "လက်ရှိအသုံးပြုနေသည့် ဆက်ရှင်များကို သိမ်းဆည်းထားမည်မဟုတ်ပါ။", + "workspace.reset.archived.one": "1 ဆက်ရှင်ကို သိမ်းဆည်းပါမည်။", + "workspace.reset.archived.many": "{{count}} ဆက်ရှင်များကို သိမ်းဆည်းထားပါမည်။", + "workspace.reset.note": "၎င်းသည် မူရင်းဌာနခွဲနှင့် ကိုက်ညီစေရန် အလုပ်ခွင်ကို ပြန်လည်သတ်မှတ်ပါမည်။", + "dialog.usageExceeded.dontShowAgain": "ထပ်မပြပါနှင့်", +} diff --git a/packages/app/src/i18n/ne.ts b/packages/app/src/i18n/ne.ts new file mode 100644 index 000000000000..cc60bff9f400 --- /dev/null +++ b/packages/app/src/i18n/ne.ts @@ -0,0 +1,1157 @@ +export const dict: Record = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "फाइल", + "desktop.menu.edit": "सम्पादन गर्नुहोस्", + "desktop.menu.view": "हेर्नुहोस्", + "desktop.menu.go": "जानुहोस्", + "desktop.menu.window": "झ्याल", + "desktop.menu.help": "मद्दत गर्नुहोस्", + "desktop.menu.checkForUpdates": "अपडेटहरूको लागि जाँच गर्नुहोस्...", + "desktop.menu.settings": "सेटिङहरू", + "desktop.menu.reloadWebview": "Webview पुन: लोड गर्नुहोस्", + "desktop.menu.restart": "पुन: सुरु गर्नुहोस्", + "desktop.menu.exportLogs": "लगहरू निर्यात गर्नुहोस्...", + "desktop.menu.newSession": "नयाँ सत्र", + "desktop.menu.openProject": "परियोजना खोल्नुहोस्...", + "desktop.menu.newWindow": "नयाँ विन्डो", + "desktop.menu.closeWindow": "सञ्झ्याल बन्द गर्नुहोस्", + "desktop.menu.undo": "पूर्ववत गर्नुहोस्", + "desktop.menu.redo": "पुन: गर्नुहोस्", + "desktop.menu.cut": "काट्नुहोस्", + "desktop.menu.copy": "प्रतिलिपि गर्नुहोस्", + "desktop.menu.paste": "टाँस्नुहोस्", + "desktop.menu.delete": "मेट्नुहोस्", + "desktop.menu.selectAll": "सबै चयन गर्नुहोस्", + "desktop.menu.toggleSidebar": "साइडबार टगल गर्नुहोस्", + "desktop.menu.toggleTerminal": "टर्मिनल टगल गर्नुहोस्", + "desktop.menu.toggleFileTree": "फाइल ट्री टगल गर्नुहोस्", + "desktop.menu.reload": "पुन: लोड गर्नुहोस्", + "desktop.menu.toggleDeveloperTools": "विकासकर्ता उपकरणहरू टगल गर्नुहोस्", + "desktop.menu.actualSize": "वास्तविक आकार", + "desktop.menu.zoomIn": "जुम इन गर्नुहोस्", + "desktop.menu.zoomOut": "जुम आउट गर्नुहोस्", + "desktop.menu.toggleFullScreen": "पूर्ण स्क्रिन टगल गर्नुहोस्", + "desktop.menu.back": "पछाडि", + "desktop.menu.forward": "अगाडि", + "desktop.menu.previousSession": "अघिल्लो सत्र", + "desktop.menu.nextSession": "अर्को सत्र", + "desktop.menu.previousProject": "अघिल्लो परियोजना", + "desktop.menu.nextProject": "अर्को परियोजना", + "desktop.menu.minimize": "न्यूनतम गर्नुहोस्", + "desktop.menu.maximize": "अधिकतम गर्नुहोस्", + "desktop.menu.documentation": "OpenCode कागजात", + "desktop.menu.supportForum": "समर्थन फोरम", + "desktop.menu.shareFeedback": "प्रतिक्रिया साझा गर्नुहोस्", + "desktop.menu.reportBug": "बग रिपोर्ट गर्नुहोस्", + "desktop.menu.ariaLabel": "OpenCode मेनु", + "desktop.updater.dialog.checkFailed.message": "अद्यावधिक जाँच असफल भयो।", + "desktop.updater.dialog.checkFailed.title": "अपडेट त्रुटि", + "desktop.updater.dialog.upToDate.message": "तपाईं अद्यावधिक हुनुहुन्छ।", + "desktop.updater.dialog.upToDate.title": "कुनै अद्यावधिकहरू छैनन्", + "desktop.updater.dialog.ready.message": "अपडेट {{version}} डाउनलोड गरियो। अहिले पुन: सुरु गर्ने हो?", + "desktop.updater.dialog.ready.title": "अपडेट तयार", + "desktop.updater.dialog.restart": "पुन: सुरु गर्नुहोस्", + "desktop.updater.dialog.later": "पछि", + "desktop.recovery.action.relaunch": "पुन: सुरु गर्नुहोस्", + "desktop.recovery.action.exportLogs": "लग निर्यात गर्नुहोस्", + "desktop.recovery.action.keepWaiting": "प्रतीक्षा गरिरहनुहोस्", + "desktop.recovery.action.quit": "छोड्नुहोस्", + "desktop.recovery.loadFailed": "OpenCode लोड हुन सकेन", + "desktop.recovery.terminated": "OpenCode विन्डो अप्रत्याशित रूपमा समाप्त भयो", + "desktop.recovery.unresponsive": "OpenCode ले प्रतिक्रिया दिइरहेको छैन", + "desktop.recovery.unresponsive.detail": + "तपाईं एप पुन: लन्च गर्न सक्नुहुन्छ, लगहरू खोल्न सक्नुहुन्छ वा पर्खन सक्नुहुन्छ।", + "desktop.recovery.loadFailed.detail": "विन्डो: {{window}}\nURL: {{url}}\nत्रुटि: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "विन्डो: {{window}}\nकारण: {{reason}}\nकोड: {{code}}", + "desktop.recovery.unknown": "<अज्ञात>", + "desktop.dialog.chooseFolder": "एउटा फोल्डर छान्नुहोस्", + "desktop.dialog.chooseFile": "एउटा फाइल छान्नुहोस्", + "desktop.dialog.saveFile": "फाइल बचत गर्नुहोस्", + "desktop.dialog.files": "फाइलहरू", + "desktop.server.local": "स्थानीय सर्भर", + "desktop.wsl.error.windowsOnly": "WSL Windows मा मात्र उपलब्ध छ", + "desktop.wsl.error.unavailable": "WSL उपलब्ध छैन", + "desktop.wsl.error.listInstalled": "स्थापित WSL distros सूची गर्न असफल", + "desktop.wsl.error.listOnline": "अनलाइन WSL distros सूचीबद्ध गर्न असफल", + "desktop.wsl.error.executeDistro": "डिस्ट्रोमा आदेशहरू कार्यान्वयन गर्न सकिँदैन", + "desktop.wsl.error.installWsl": "WSL स्थापना असफल भयो", + "desktop.wsl.error.installDistro": "डिस्ट्रो स्थापना गर्न असफल: {{distro}}", + "desktop.wsl.error.installOpencode": "OpenCode स्थापना असफल भयो", + "desktop.wsl.error.alreadyAdded": "{{distro}} पहिले नै थपिएको छ", + "desktop.wsl.error.opencodeMissing": "Opencode यस distro मा स्थापित छैन", + "desktop.wsl.error.opencodeCannotRun": "opencode स्थापित छ तर चलाउन सकिएन", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode {{distro}} मा स्थापित छैन", + "desktop.wsl.error.updateVersion": + "OpenCode अद्यावधिक समाप्त भयो तर {{distro}} ले अझै पनि रिपोर्ट गर्छ {{installed}}; अपेक्षित {{expected}}", + "desktop.wsl.error.noVersion": "कुनै संस्करण छैन", + "desktop.wsl.error.serverExited": "WSL सर्भर स्टार्टअप पछि बाहिर निस्कियो (code={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL सर्भर स्वस्थ हुनु अघि बाहिर निस्कियो (code={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": "{{distro}} स्वास्थ्य जाँचको लागि साइडकार {{timeout}}ms पछि समय सकियो", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} {{timeout}}ms पछि टाइमआउट भयो", + "desktop.wsl.error.failedPort": "पोर्ट प्राप्त गर्न असफल भयो", + "desktop.picker.error.notSelected": "फाइल चयनकर्ता द्वारा चयन गरिएको थिएन", + "desktop.picker.error.sizeLimit": "चयन गरिएका संलग्नहरू {{limit}} MB सीमा नाघ्छन्", + "command.category.suggested": "सिफारिस गर्नुभयो", + "command.category.view": "हेर्नुहोस्", + "command.category.project": "परियोजना", + "command.category.provider": "प्रदायक", + "command.category.server": "सर्भर", + "command.category.session": "सत्र", + "command.category.theme": "विषयवस्तु", + "command.category.language": "भाषा", + "command.category.file": "फाइल", + "command.category.context": "सन्दर्भ", + "command.category.terminal": "टर्मिनल", + "command.category.model": "मोडेल", + "command.category.mcp": "MCP", + "command.category.agent": "एजेन्ट", + "command.category.permissions": "अनुमतिहरू", + "command.category.workspace": "कार्यस्थान", + "command.category.settings": "सेटिङहरू", + "command.logs.export": "लगहरू निर्यात गर्नुहोस्", + "theme.scheme.system": "प्रणाली", + "theme.scheme.light": "उज्यालो", + "theme.scheme.dark": "अँध्यारो", + "command.sidebar.toggle": "साइडबार टगल गर्नुहोस्", + "command.project.open": "परियोजना खोल्नुहोस्", + "command.project.previous": "अघिल्लो परियोजना", + "command.project.next": "अर्को परियोजना", + "command.project.index": "परियोजना {{index}} मा स्विच गर्नुहोस्", + "command.provider.connect": "प्रदायक जडान गर्नुहोस्", + "command.server.switch": "सर्भर स्विच गर्नुहोस्", + "command.settings.open": "सेटिङ्हरू खोल्नुहोस्", + "command.session.previous": "अघिल्लो सत्र", + "command.session.next": "अर्को सत्र", + "command.session.previous.unseen": "अघिल्लो नपढिएको सत्र", + "command.session.next.unseen": "अर्को अपठित सत्र", + "command.session.archive": "अभिलेख सत्र", + "command.palette": "आदेश प्यालेट", + "command.theme.cycle": "साइकल विषयवस्तु", + "command.theme.set": "विषयवस्तु प्रयोग गर्नुहोस्: {{theme}}", + "command.theme.scheme.cycle": "साइकल रङ योजना", + "command.theme.scheme.set": "रङ योजना प्रयोग गर्नुहोस्: {{scheme}}", + "command.language.cycle": "साइकल भाषा", + "command.language.set": "भाषा प्रयोग गर्नुहोस्: {{language}}", + "command.session.new": "नयाँ सत्र", + "command.file.open": "फाइल खोल्नुहोस्", + "command.tab.close": "ट्याब बन्द गर्नुहोस्", + "command.tab.reopenClosed": "बन्द ट्याब पुन: खोल्नुहोस्", + "command.context.addSelection": "सन्दर्भमा चयन थप्नुहोस्", + "command.context.addSelection.description": "हालको फाइलबाट चयन गरिएका रेखाहरू थप्नुहोस्", + "command.input.focus": "फोकस इनपुट", + "command.terminal.toggle": "टर्मिनल टगल गर्नुहोस्", + "command.fileTree.toggle": "फाइल रूख टगल गर्नुहोस्", + "command.review.toggle": "समीक्षा टगल गर्नुहोस्", + "command.terminal.new": "नयाँ टर्मिनल", + "command.terminal.new.description": "नयाँ टर्मिनल ट्याब सिर्जना गर्नुहोस्", + "command.steps.toggle": "चरणहरू टगल गर्नुहोस्", + "command.steps.toggle.description": "हालको सन्देशका लागि चरणहरू देखाउनुहोस् वा लुकाउनुहोस्", + "command.message.previous": "अघिल्लो सन्देश", + "command.message.previous.description": "अघिल्लो प्रयोगकर्ता सन्देशमा जानुहोस्", + "command.message.next": "अर्को सन्देश", + "command.message.next.description": "अर्को प्रयोगकर्ता सन्देशमा जानुहोस्", + "command.model.choose": "मोडेल छान्नुहोस्", + "command.model.choose.description": "फरक मोडेल चयन गर्नुहोस्", + "command.mcp.toggle": "MCPs टगल गर्नुहोस्", + "command.mcp.toggle.description": "MCPs टगल गर्नुहोस्", + "command.agent.cycle": "साइकल एजेन्ट", + "command.agent.cycle.description": "अर्को एजेन्टमा स्विच गर्नुहोस्", + "command.agent.cycle.reverse": "साइकल एजेन्ट पछाडि", + "command.agent.cycle.reverse.description": "अघिल्लो एजेन्टमा स्विच गर्नुहोस्", + "command.model.variant.cycle": "साइकल सोच प्रयास", + "command.model.variant.cycle.description": "अर्को प्रयास स्तरमा स्विच गर्नुहोस्", + "command.prompt.mode.shell": "शेल", + "command.prompt.mode.normal": "प्रम्प्ट", + "command.permissions.autoaccept.enable": "अनुमतिहरू स्वत: स्वीकार गर्नुहोस्", + "command.permissions.autoaccept.disable": "अनुमतिहरू स्वत: स्वीकार गर्न रोक्नुहोस्", + "command.workspace.toggle": "कार्यस्थान टगल गर्नुहोस्", + "command.workspace.toggle.description": "साइडबारमा बहु कार्यस्थानहरू सक्षम वा असक्षम गर्नुहोस्", + "command.session.undo": "पूर्ववत गर्नुहोस्", + "command.session.undo.description": "अन्तिम सन्देश अनडू गर्नुहोस्", + "command.session.redo": "पुन: गर्नुहोस्", + "command.session.redo.description": "अन्तिम अनडू सन्देश पुन: गर्नुहोस्", + "command.session.compact": "कम्प्याक्ट सत्र", + "command.session.compact.description": "प्रसंगको आकार घटाउन सत्रलाई संक्षेप गर्नुहोस्", + "command.session.fork": "सन्देशबाट फोर्क", + "command.session.fork.description": "अघिल्लो सन्देशबाट नयाँ सत्र सिर्जना गर्नुहोस्", + "command.session.share": "सत्र साझेदारी गर्नुहोस्", + "command.session.share.description": "यो सत्र साझा गर्नुहोस् र क्लिपबोर्डमा URL प्रतिलिपि गर्नुहोस्", + "command.session.unshare": "सत्र अनसेयर गर्नुहोस्", + "command.session.unshare.description": "यो सत्र साझा गर्न रोक्नुहोस्", + "command.session.export": "निर्यात सत्र", + "command.session.export.description": "पूर्ण सत्र ट्रान्सक्रिप्ट JSON को रूपमा निर्यात गर्नुहोस्", + "palette.search.placeholder": "फाइलहरू, आदेशहरू, र सत्रहरू खोज्नुहोस्", + "palette.search.placeholder.home": "आदेश र सत्रहरू खोज्नुहोस्", + "palette.empty": "कुनै परिणाम फेला परेन", + "palette.group.commands": "आदेशहरू", + "palette.group.files": "फाइलहरू", + "dialog.provider.search.placeholder": "खोज प्रदायकहरू", + "dialog.provider.empty": "कुनै प्रदायक भेटिएन", + "dialog.provider.group.popular": "लोकप्रिय", + "dialog.provider.group.other": "अन्य", + "dialog.provider.custom.label": "आफू अनुकूल OpenAI-कम्प्याटिबल प्रदायक", + "dialog.provider.tag.recommended": "सिफारिस गर्नुभयो", + "dialog.provider.opencode.note": "Claude, GPT, Gemini र थप सहित क्युरेट गरिएका मोडेलहरू", + "dialog.provider.opencode.tagline": "भरपर्दो अनुकूलित मोडेलहरू", + "dialog.provider.opencodeGo.tagline": "सबैको लागि कम लागत सदस्यता", + "dialog.provider.anthropic.note": "प्रो र म्याक्स सहित Claude मोडेलहरूमा प्रत्यक्ष पहुँच", + "dialog.provider.copilot.note": "GitHub Copilot मार्फत कोडिङ सहायताका लागि AI मोडेलहरू", + "dialog.provider.openai.note": "छिटो, सक्षम सामान्य AI कार्यहरूको लागि GPT मोडेलहरू", + "dialog.provider.google.note": "छिटो, संरचित प्रतिक्रियाहरूको लागि Gemini मोडेलहरू", + "dialog.provider.openrouter.note": "एक प्रदायकबाट सबै समर्थित मोडेलहरू पहुँच गर्नुहोस्", + "dialog.provider.vercel.note": "स्मार्ट राउटिङको साथ एआई मोडेलहरूमा एकीकृत पहुँच", + "dialog.model.select.title": "मोडेल चयन गर्नुहोस्", + "dialog.model.search.placeholder": "मोडेलहरू खोज्नुहोस्", + "dialog.model.empty": "कुनै मोडेल परिणामहरू छैनन्", + "dialog.model.manage": "मोडेलहरू प्रबन्ध गर्नुहोस्", + "dialog.model.manage.description": "मोडेल चयनकर्तामा कुन मोडेलहरू देखा पर्दछ अनुकूलित गर्नुहोस्।", + "dialog.model.manage.provider.toggle": "सबै {{provider}} मोडेलहरू टगल गर्नुहोस्", + "dialog.model.unpaid.freeModels.title": "OpenCode द्वारा प्रदान गरिएको नि:शुल्क मोडेलहरू", + "dialog.model.unpaid.addMore.title": "लोकप्रिय प्रदायकहरूबाट थप मोडेलहरू थप्नुहोस्", + "dialog.model.unpaid.viewMoreProviders": "70+ थप प्रदायकहरू हेर्नुहोस्", + "dialog.provider.viewAll": "थप प्रदायकहरू देखाउनुहोस्", + "provider.connect.title": "जडान गर्नुहोस् {{provider}}", + "provider.connect.title.anthropicProMax": "Claude Pro/Max सँग लगइन गर्नुहोस्", + "provider.connect.selectMethod": "{{provider}} का लागि लगइन विधि चयन गर्नुहोस्।", + "provider.connect.method.apiKey": "API कुञ्जी", + "provider.connect.method.browser": "ब्राउजर", + "provider.connect.method.headless": "टाउकोविहीन", + "provider.connect.status.inProgress": "प्राधिकरण जारी छ...", + "provider.connect.status.waiting": "प्राधिकरणको लागि पर्खँदै...", + "provider.connect.status.failed": "प्राधिकरण असफल भयो: {{error}}", + "provider.connect.apiKey.description": + "आफ्नो खाता जडान गर्न आफ्नो {{provider}} API कुञ्जी प्रविष्ट गर्नुहोस् र OpenCode मा {{provider}} मोडेलहरू प्रयोग गर्नुहोस्।", + "provider.connect.apiKey.label": "{{provider}} API कुञ्जी", + "provider.connect.apiKey.placeholder": "API कुञ्जी", + "provider.connect.apiKey.required": "API कुञ्जी आवश्यक छ", + "provider.connect.opencodeZen.line1": + "OpenCode Zen ले तपाईंलाई कोडिङ एजेन्टहरूका लागि भरपर्दो अनुकूलित मोडेलहरूको क्युरेट गरिएको सेटमा पहुँच दिन्छ।", + "provider.connect.opencodeZen.line2": + "एकल API कुञ्जीको साथ तपाईंले Claude, GPT, Gemini, GLM र थप जस्ता मोडेलहरूमा पहुँच प्राप्त गर्नुहुनेछ।", + "provider.connect.opencodeZen.visit.prefix": "भ्रमण गर्नुहोस्", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": "तपाईँको API कुञ्जी सङ्कलन गर्न।", + "provider.connect.oauth.code.visit.prefix": "भ्रमण गर्नुहोस्", + "provider.connect.oauth.code.visit.link": "यो लिङ्क", + "provider.connect.oauth.code.visit.suffix": + "आफ्नो खाता जडान गर्न र OpenCode मा {{provider}} मोडेलहरू प्रयोग गर्न आफ्नो प्राधिकरण कोड सङ्कलन गर्न।", + "provider.connect.oauth.code.label": "{{method}} प्राधिकरण कोड", + "provider.connect.oauth.code.placeholder": "प्राधिकरण कोड", + "provider.connect.oauth.code.required": "प्राधिकरण कोड आवश्यक छ", + "provider.connect.oauth.code.invalid": "अवैध प्राधिकरण कोड", + "provider.connect.oauth.auto.visit.prefix": "भ्रमण गर्नुहोस्", + "provider.connect.oauth.auto.visit.link": "यो लिङ्क", + "provider.connect.oauth.auto.visit.suffix": + "र आफ्नो खाता जडान गर्न तलको कोड प्रविष्ट गर्नुहोस् र {{provider}} मोडेलहरू OpenCode मा प्रयोग गर्नुहोस्।", + "provider.connect.oauth.auto.confirmationCode": "पुष्टि कोड", + "provider.connect.toast.connected.title": "{{provider}} जडान भयो", + "provider.connect.toast.connected.description": "{{provider}} मोडेलहरू अब प्रयोग गर्न उपलब्ध छन्।", + "provider.custom.title": "अनुकूलन प्रदायक", + "provider.custom.unavailable": "यस सर्भरमा अनुकूलन प्रदायकहरू उपलब्ध छैनन्", + "provider.custom.description.prefix": "एउटा OpenAI-कम्प्याटिबल प्रदायक कन्फिगर गर्नुहोस्। हेर्नुहोस्", + "provider.custom.description.link": "प्रदायक कन्फिगरेसन कागजातहरू", + "provider.custom.description.suffix": "।", + "provider.custom.field.providerID.label": "प्रदायक आईडी", + "provider.custom.field.providerID.placeholder": "मेरो प्रदायक", + "provider.custom.field.providerID.description": "लोअरकेस अक्षरहरू, संख्याहरू, हाइफनहरू, वा अन्डरस्कोरहरू", + "provider.custom.field.name.label": "नाम प्रदर्शन गर्नुहोस्", + "provider.custom.field.name.placeholder": "मेरो एआई प्रदायक", + "provider.custom.field.baseURL.label": "आधार URL", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "API कुञ्जी", + "provider.custom.field.apiKey.placeholder": "API कुञ्जी", + "provider.custom.field.apiKey.description": + "ऐच्छिक। यदि तपाइँ हेडरहरू मार्फत प्रमाणीकरण व्यवस्थापन गर्नुहुन्छ भने खाली छोड्नुहोस्।", + "provider.custom.models.label": "मोडेलहरू", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "मोडेल-आईडी", + "provider.custom.models.name.label": "नाम", + "provider.custom.models.name.placeholder": "प्रदर्शन नाम", + "provider.custom.models.remove": "मोडेल हटाउनुहोस्", + "provider.custom.models.add": "मोडेल थप्नुहोस्", + "provider.custom.headers.label": "हेडर (वैकल्पिक)", + "provider.custom.headers.key.label": "हेडर", + "provider.custom.headers.key.placeholder": "हेडर-नाम", + "provider.custom.headers.value.label": "मूल्य", + "provider.custom.headers.value.placeholder": "मूल्य", + "provider.custom.headers.remove": "हेडर हटाउनुहोस्", + "provider.custom.headers.add": "हेडर थप्नुहोस्", + "provider.custom.error.providerID.required": "प्रदायक ID आवश्यक छ", + "provider.custom.error.providerID.format": "सानो अक्षर, संख्या, हाइफन वा अन्डरस्कोरहरू प्रयोग गर्नुहोस्", + "provider.custom.error.providerID.exists": "त्यो प्रदायक ID पहिले नै अवस्थित छ", + "provider.custom.error.name.required": "प्रदर्शन नाम आवश्यक छ", + "provider.custom.error.baseURL.required": "आधार URL आवश्यक छ", + "provider.custom.error.baseURL.format": "http:// वा https:// बाट सुरु गर्नुपर्छ", + "provider.custom.error.required": "आवश्यक छ", + "provider.custom.error.duplicate": "नक्कल", + "provider.disconnect.toast.disconnected.title": "{{provider}} जडान विच्छेद भयो", + "provider.disconnect.toast.disconnected.description": "{{provider}} मोडेलहरू अब उपलब्ध छैनन्।", + "model.tag.free": "नि:शुल्क", + "model.tag.latest": "पछिल्लो", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "पाठ", + "model.input.image": "छवि", + "model.input.audio": "अडियो", + "model.input.video": "भिडियो", + "model.input.pdf": "pdf", + "model.tooltip.allows": "अनुमति दिन्छ: {{inputs}}", + "model.tooltip.context.label": "सन्दर्भ", + "model.tooltip.inputs": "इनपुटहरू", + "model.tooltip.model": "मोडेल", + "model.tooltip.provider": "प्रदायक", + "model.tooltip.reasoning": "तर्क", + "model.tooltip.reasoning.allowed": "तर्क गर्न अनुमति दिन्छ", + "model.tooltip.reasoning.none": "कुनै तर्क छैन", + "model.tooltip.context": "सन्दर्भ सीमा {{limit}}", + "common.search.placeholder": "खोज्नुहोस्", + "common.goBack": "पछाडि नेभिगेट गर्नुहोस्", + "common.goForward": "अगाडि नेभिगेट गर्नुहोस्", + "common.loading": "लोड गर्दै", + "common.loading.ellipsis": "...", + "common.cancel": "रद्द गर्नुहोस्", + "common.clear": "खाली गर्नुहोस्", + "common.open": "खोल्नुहोस्", + "common.connect": "जडान गर्नुहोस्", + "common.disconnect": "जडान विच्छेद गर्नुहोस्", + "common.continue": "जारी राख्नुहोस्", + "common.submit": "पेश गर्नुहोस्", + "common.save": "बचत गर्नुहोस्", + "common.saving": "बचत गर्दै...", + "common.default": "पूर्वनिर्धारित", + "common.attachment": "संलग्नक", + "prompt.placeholder.shell": "शेल आदेश प्रविष्ट गर्नुहोस्... {{example}}", + "prompt.placeholder.normal": 'केहि सोध्नुहोस्... "{{example}}"', + "prompt.placeholder.simple": "जे पनि सोध...", + "prompt.placeholder.summarizeComments": "टिप्पणीहरू संक्षेप गर्नुहोस् ...", + "prompt.placeholder.summarizeComment": "टिप्पणी संक्षेप...", + "prompt.mode.shell": "शेल", + "prompt.mode.normal": "प्रम्प्ट", + "prompt.mode.shell.exit": "esc बाहिर निस्कन", + "session.child.promptDisabled": "Subagent सत्रहरू प्रोम्प्ट गर्न सकिँदैन।", + "session.child.backToParent": "मुख्य सत्रमा फर्कनुहोस्।", + "prompt.example.1": "कोडबेसमा TODO फिक्स गर्नुहोस्", + "prompt.example.2": "यस परियोजनाको प्राविधिक स्ट्याक के हो?", + "prompt.example.3": "बिग्रिएको परीक्षणहरू ठीक गर्नुहोस्", + "prompt.example.4": "प्रमाणीकरण कसरी काम गर्दछ व्याख्या गर्नुहोस्", + "prompt.example.5": "सुरक्षा कमजोरीहरू फेला पार्नुहोस् र ठीक गर्नुहोस्", + "prompt.example.6": "प्रयोगकर्ता सेवाको लागि एकाइ परीक्षणहरू थप्नुहोस्", + "prompt.example.7": "यस प्रकार्यलाई थप पढ्न योग्य हुन रिफ्याक्टर गर्नुहोस्", + "prompt.example.8": "यो त्रुटिको अर्थ के हो?", + "prompt.example.9": "मलाई यो समस्या डिबग गर्न मद्दत गर्नुहोस्", + "prompt.example.10": "API कागजातहरू उत्पन्न गर्नुहोस्", + "prompt.example.11": "डाटाबेस प्रश्नहरू अनुकूलन गर्नुहोस्", + "prompt.example.12": "इनपुट प्रमाणीकरण थप्नुहोस्", + "prompt.example.13": "यसका लागि नयाँ कम्पोनेन्ट सिर्जना गर्नुहोस्...", + "prompt.example.14": "म यो परियोजना कसरी लागू गर्न सक्छु?", + "prompt.example.15": "उत्तम अभ्यासहरूको लागि मेरो कोड समीक्षा गर्नुहोस्", + "prompt.example.16": "यस प्रकार्यमा त्रुटि ह्यान्डलिङ थप्नुहोस्", + "prompt.example.17": "यो regex ढाँचा व्याख्या गर्नुहोस्", + "prompt.example.18": "यसलाई TypeScript मा रूपान्तरण गर्नुहोस्", + "prompt.example.19": "कोडबेसमा लगिङ थप्नुहोस्", + "prompt.example.20": "कुन निर्भरताहरू पुरानो छन्?", + "prompt.example.21": "मलाई माइग्रेसन लिपि लेख्न मद्दत गर्नुहोस्", + "prompt.example.22": "यो अन्तिम बिन्दुको लागि क्यासिङ लागू गर्नुहोस्", + "prompt.example.23": "यो सूचीमा पृष्ठांकन थप्नुहोस्", + "prompt.example.24": "यसका लागि CLI आदेश सिर्जना गर्नुहोस्...", + "prompt.example.25": "वातावरणीय चरहरूले यहाँ कसरी काम गर्छन्?", + "prompt.popover.emptyResults": "कुनै मिल्दो परिणामहरू छैनन्", + "prompt.popover.emptyCommands": "कुनै मिल्दो आदेशहरू छैनन्", + "prompt.dropzone.label": "छविहरू, PDF हरू, वा पाठ फाइलहरू यहाँ छोड्नुहोस्", + "prompt.dropzone.file.label": "@mention फाइलमा ड्रप गर्नुहोस्", + "prompt.slash.badge.custom": "अनुकूलन", + "prompt.slash.badge.skill": "कौशल", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "सक्रिय", + "prompt.context.includeActiveFile": "सक्रिय फाइल समावेश गर्नुहोस्", + "prompt.context.removeActiveFile": "सन्दर्भबाट सक्रिय फाइल हटाउनुहोस्", + "prompt.context.removeFile": "सन्दर्भबाट फाइल हटाउनुहोस्", + "prompt.action.attachFile": "फाइलहरू थप्नुहोस्", + "prompt.menu.addImagesAndFiles": "फाइलहरू र थप थप्नुहोस्", + "prompt.menu.imagesAndFiles": "छविहरू र फाइलहरू", + "prompt.menu.commands": "आदेशहरू", + "prompt.menu.context": "सन्दर्भ", + "prompt.menu.shellCommand": "शेल आदेश", + "prompt.attachment.remove": "संलग्नक हटाउनुहोस्", + "prompt.action.send": "पठाउनुहोस्", + "prompt.action.stop": "रोक्नुहोस्", + "prompt.toast.pasteUnsupported.title": "असमर्थित संलग्नक", + "prompt.toast.pasteUnsupported.description": "केवल छविहरू, PDF हरू, वा पाठ फाइलहरू यहाँ संलग्न गर्न सकिन्छ।", + "prompt.toast.attachmentDuplicate.title": "यो फाइल पहिले नै अपलोड गरिएको छ", + "prompt.toast.modelAgentRequired.title": "एक एजेन्ट र मोडेल चयन गर्नुहोस्", + "prompt.toast.modelAgentRequired.description": "प्रम्प्ट पठाउनु अघि एजेन्ट र मोडेल छान्नुहोस्।", + "prompt.toast.worktreeCreateFailed.title": "Git वर्कट्री सिर्जना गर्न असफल भयो", + "prompt.toast.sessionCreateFailed.title": "सत्र सिर्जना गर्न असफल भयो", + "prompt.toast.shellSendFailed.title": "शेल आदेश पठाउन असफल भयो", + "prompt.toast.commandSendFailed.title": "आदेश पठाउन असफल भयो", + "prompt.toast.promptSendFailed.title": "प्रम्प्ट पठाउन असफल भयो", + "prompt.toast.promptSendFailed.description": "सत्र पुन: प्राप्त गर्न असमर्थ", + "dialog.mcp.title": "MCPs", + "dialog.mcp.description": "{{enabled}} को {{total}} सक्षम गरियो", + "dialog.mcp.empty": "कुनै पनि MCPs कन्फिगर गरिएको छैन", + "dialog.lsp.empty": "LSPs फाइल प्रकारहरूबाट स्वतः पत्ता लगाइयो", + "dialog.plugins.empty": "opencode.json मा कन्फिगर गरिएका प्लगइनहरू", + "mcp.status.connected": "जोडिएको", + "mcp.status.failed": "असफल", + "mcp.status.needs_auth": "प्रमाणीकरण चाहिन्छ", + "mcp.status.disabled": "असक्षम", + "mcp.auth.clickToAuthenticate": "प्रमाणीकरण गर्न क्लिक गर्नुहोस्", + "dialog.fork.empty": "बाट फोर्क गर्न कुनै सन्देश छैन", + "dialog.directory.search.placeholder": "फोल्डरहरू खोज्नुहोस्", + "dialog.directory.empty": "कुनै फोल्डरहरू फेला परेनन्", + "dialog.directory.action.selectFile": "फाइल चयन गर्नुहोस्", + "dialog.directory.action.selectFolder": "फोल्डर चयन गर्नुहोस्", + "dialog.directory.root": "रूट", + "dialog.directory.parent": "अभिभावक", + "dialog.directory.readError": "यो फोल्डर पढ्न असमर्थ", + "app.server.unreachable": "{{server}} मा पुग्न सकिएन", + "app.server.retrying": "स्वतः पुन: प्रयास गर्दै...", + "app.server.otherServers": "अन्य सर्भरहरू", + "dialog.server.title": "सर्भरहरू", + "dialog.server.description": "यो एप जडान भएको OpenCode सर्भरलाई स्विच गर्नुहोस्।", + "dialog.server.search.placeholder": "सर्भरहरू खोज्नुहोस्", + "dialog.server.empty": "अहिलेसम्म कुनै सर्भर छैन", + "dialog.server.add.title": "सर्भर थप्नुहोस्", + "dialog.server.add.url": "सर्भर ठेगाना", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "सर्भरमा जडान गर्न सकिएन", + "dialog.server.add.checking": "जाँच गर्दै...", + "dialog.server.add.button": "सर्भर थप्नुहोस्", + "dialog.server.add.name": "सर्भर नाम (वैकल्पिक)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "प्रयोगकर्ता नाम (वैकल्पिक)", + "dialog.server.add.usernamePlaceholder": "प्रयोगकर्ता नाम", + "dialog.server.add.password": "पासवर्ड (वैकल्पिक)", + "dialog.server.add.passwordPlaceholder": "पासवर्ड", + "dialog.server.edit.title": "सर्भर सम्पादन गर्नुहोस्", + "dialog.server.default.title": "पूर्वनिर्धारित सर्भर", + "dialog.server.default.description": + "स्थानीय सर्भर सुरु गर्नुको सट्टा एप लन्चमा यो सर्भरमा जडान गर्नुहोस्। पुन: सुरु गर्न आवश्यक छ।", + "dialog.server.default.none": "कुनै सर्भर चयन गरिएको छैन", + "dialog.server.default.set": "पूर्वनिर्धारित रूपमा हालको सर्भर सेट गर्नुहोस्", + "dialog.server.default.clear": "खाली गर्नुहोस्", + "dialog.server.action.remove": "सर्भर हटाउनुहोस्", + "dialog.server.menu.edit": "सम्पादन गर्नुहोस्", + "dialog.server.menu.default": "पूर्वनिर्धारित रूपमा सेट गर्नुहोस्", + "dialog.server.menu.defaultRemove": "पूर्वनिर्धारित हटाउनुहोस्", + "dialog.server.menu.delete": "मेट्नुहोस्", + "dialog.server.current": "हालको सर्भर", + "dialog.server.status.default": "पूर्वनिर्धारित", + "wsl.server.add": "WSL सर्भर थप्नुहोस्", + "wsl.server.addShort": "WSL थप्नुहोस्", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "WSL सर्भर", + "wsl.server.retryStart": "पुन: प्रयास सुरु गर्नुहोस्", + "wsl.server.updating": "अद्यावधिक गर्दै...", + "wsl.onboarding.step.distro": "डिस्ट्रो छान्नुहोस्", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "WSL जाँच गर्दै...", + "wsl.onboarding.restartRequired": "WSL स्थापना पूरा गर्न Windows लाई पुन: सुरु गर्न आवश्यक छ।", + "wsl.onboarding.ready": "WSL तयार छ।", + "wsl.onboarding.required": "WSL जारी राख्न आवश्यक छ।", + "wsl.onboarding.checkingDistros": "distros जाँच गर्दै...", + "wsl.onboarding.installingDistro": "स्थापना गर्दै {{distro}}...", + "wsl.onboarding.checkingDistro": "जाँच गर्दै {{distro}}...", + "wsl.onboarding.listingDistros": "सूचीबद्ध distros...", + "wsl.onboarding.distroReady": "{{distro}} तयार छ।", + "wsl.onboarding.distroNotInstalled": "{{distro}} अझै स्थापना भएको छैन।", + "wsl.onboarding.openDistroOnce": "सेटअप पूरा गर्न एक पटक {{distro}} खोल्नुहोस्।", + "wsl.onboarding.finishingDistro": "{{distro}} को लागि सेटअप समाप्त गर्दै।", + "wsl.onboarding.pickDistro": "एउटा डिस्ट्रो छान्नुहोस् वा तल स्थापना गर्नुहोस्।", + "wsl.onboarding.checkingOpencode": "OpenCode जाँच गर्दै...", + "wsl.onboarding.checkingOpencodeIn": "{{distro}} मा OpenCode जाँच गर्दै...", + "wsl.onboarding.updatingOpencode": "अद्यावधिक गर्दै OpenCode...", + "wsl.onboarding.updatingOpencodeIn": "{{distro}} मा OpenCode अद्यावधिक गर्दै...", + "wsl.onboarding.updateOpencodeIn": "अपडेट गर्नुहोस् OpenCode {{distro}} मा।", + "wsl.onboarding.updateOpencode": "अपडेट गर्नुहोस् OpenCode", + "wsl.onboarding.opencodeReadyIn": "OpenCode {{distro}} मा तयार छ।", + "wsl.onboarding.opencodeReady": "OpenCode तयार छ।", + "wsl.onboarding.installOpencodeIn": "{{distro}} मा OpenCode स्थापना गर्नुहोस्।", + "wsl.onboarding.installOpencode": "OpenCode स्थापना गर्नुहोस्", + "wsl.onboarding.chooseDistroFirst": "पहिले डिस्ट्रो छान्नुहोस्।", + "wsl.onboarding.loadFailed": "WSL स्थिति लोड गर्न असफल।", + "wsl.onboarding.loading": "लोड गर्दै...", + "wsl.onboarding.installedDistros": "स्थापित distros", + "wsl.onboarding.checkAgain": "फेरि जाँच गर्नुहोस्", + "wsl.onboarding.distroStatus.ready": "तयार", + "wsl.onboarding.distroStatus.checking": "जाँच गर्दै...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode स्थापित छैन", + "wsl.onboarding.distroStatus.missingTools": "हराइरहेको ब्याश, कर्ल", + "wsl.onboarding.distroStatus.unsupported": "असमर्थित · WSL २ प्रयोग गर्नुहोस्", + "wsl.onboarding.needAnotherDistro": "अर्को डिस्ट्रो चाहिन्छ?", + "wsl.onboarding.needAnotherDistroHint": "WSL क्याटलगबाट Linux वितरण स्थापना गर्नुहोस्", + "wsl.onboarding.wslNotInstalled.title": "WSL स्थापित छैन", + "wsl.onboarding.wslNotInstalled.description": + "WSL (Windows Linux को लागि सबसिस्टम) OpenCode ले WSL सर्भर थप्न अघि आवश्यक छ।", + "wsl.onboarding.wslUnavailable.title": "WSL उपलब्ध छैन", + "wsl.onboarding.wslUnavailable.description": "OpenCode ले यो मेसिनमा WSL प्रमाणित गर्न सकेन।", + "wsl.onboarding.installWsl": "WSL स्थापना गर्नुहोस्", + "wsl.onboarding.windowsRestartRequired": + "WSL स्थापना पूरा गर्न Windows पुन: सुरु गर्नुहोस्, त्यसपछि OpenCode पुन: खोल्नुहोस्।", + "wsl.onboarding.next": "अर्को", + "wsl.onboarding.refresh": "रिफ्रेस गर्नुहोस्", + "wsl.onboarding.allDistrosAdded": "सबै स्थापित distros पहिले नै थपिएको छ।", + "wsl.onboarding.noDistros": "अहिलेसम्म कुनै डिस्ट्रोस पत्ता लागेन।", + "wsl.onboarding.install": "स्थापना गर्नुहोस्", + "wsl.onboarding.installing": "स्थापना गर्दै...", + "wsl.onboarding.installDistro": "डिस्ट्रो स्थापना गर्नुहोस्", + "wsl.onboarding.searchDistros": "डिस्ट्रो खोज्नुहोस्", + "wsl.onboarding.wsl2Required": "WSL २ आवश्यक छ।", + "wsl.onboarding.toolsRequired": "यो डिस्ट्रोलाई ब्याश र कर्ल चाहिन्छ।", + "wsl.onboarding.openTerminal": "टर्मिनल खोल्नुहोस्", + "wsl.onboarding.path": "पथ: {{path}}", + "wsl.onboarding.notFound": "फेला परेन", + "wsl.onboarding.version": "संस्करण: {{version}}", + "wsl.onboarding.unknown": "अज्ञात", + "wsl.onboarding.desktopVersion": "डेस्कटप {{version}}", + "wsl.onboarding.versionMismatch": "स्थापना गरिएको संस्करण डेस्कटप एप संस्करणसँग मेल खाँदैन।", + "wsl.onboarding.adding": "थप्दै...", + "help.tabs.toast.ariaLabel": "ट्याबहरू प्रस्तुत गर्दै। ट्याबहरूसँग आफ्नो काम र सक्रिय सत्रहरू व्यवस्थित गर्नुहोस्", + "help.tabs.toast.dismiss": "ट्याब जानकारी खारेज गर्नुहोस्", + "help.tabs.title": "ट्याबहरू प्रस्तुत गर्दै", + "help.tabs.description": "ट्याबहरूसँग आफ्नो काम र सक्रिय सत्रहरू व्यवस्थित गर्नुहोस्", + "help.tabs.date": "जुलाई १४", + "help.tabs.introduction": "OpenCode डेस्कटप अब ट्याब वरिपरि बनाइएको छ।", + "help.tabs.sessions": + "ट्याबमा नयाँ सत्र सुरु गर्नुहोस्, वा तपाईंको कुनै पनि परियोजनाहरूबाट अवस्थित सत्र खोल्नुहोस्। तपाईंले केहि नयाँ सुरु गर्दा एउटा नयाँ ट्याब खोल्नुहोस्, र तपाईंले सकिसकेपछि यसलाई बन्द गर्नुहोस्।", + "help.tabs.organize": + "केही ट्याबहरू खुला राख्नाले तपाईंको सक्रिय सत्रहरू व्यवस्थित गर्न सजिलो बनाउँछ। यदि तपाइँ तिनीहरूलाई वरिपरि राख्ने योजना बनाउनुहुन्छ भने ट्याबहरूलाई स्मरणीय कुरामा पुन: नामाकरण गर्नुहोस्।", + "help.tabs.home": + "तपाईंले नयाँ गृह स्क्रिनमा आफ्ना सबै सत्रहरू र परियोजनाहरू फेला पार्नुहुनेछ। सत्र चयन गर्नाले यसलाई ट्याबमा खोल्छ।", + "help.tabs.persistence": "जब तपाइँ एप पुन: खोल्नुहुन्छ, तपाइँका ट्याबहरू अझै खुला छन्।", + "help.tabs.worktrees": + "नयाँ डिजाइनले अझै पनि Git Worktrees लाई समर्थन गर्दैन, यो चाँडै आउँदैछ। त्यसैले यदि तपाइँ अघिल्लो लेआउट प्रयोग गर्न जारी राख्न रुचाउनुहुन्छ भने, तपाइँ सेटिङहरूमा लेआउटहरू बीच स्विच गर्न सक्नुहुन्छ। केवल दिमागमा राख्नुहोस् कि नयाँ लेआउट केही हप्तामा स्थायी हुनेछ।", + "server.row.noUsername": "प्रयोगकर्ता नाम छैन", + "dialog.project.edit.title": "परियोजना सम्पादन गर्नुहोस्", + "dialog.project.edit.name": "नाम", + "dialog.project.edit.icon": "आइकन", + "dialog.project.edit.icon.alt": "परियोजना आइकन", + "dialog.project.edit.icon.hint": "छवि क्लिक गर्नुहोस् वा तान्नुहोस्", + "dialog.project.edit.icon.recommended": "सिफारिस गरिएको: 128x128px", + "dialog.project.edit.color": "रङ", + "dialog.project.edit.color.select": "{{color}} रंग चयन गर्नुहोस्", + "dialog.project.edit.worktree.startup": "कार्यस्थान स्टार्टअप स्क्रिप्ट", + "dialog.project.edit.worktree.startup.description": "नयाँ कार्यस्थान (वर्कट्री) सिर्जना गरेपछि चल्छ।", + "dialog.project.edit.worktree.startup.placeholder": "जस्तै बन स्थापना", + "dialog.releaseNotes.action.getStarted": "सुरु गर्नुहोस्", + "dialog.releaseNotes.action.next": "अर्को", + "dialog.releaseNotes.action.hideFuture": "भविष्यमा यी नदेखाउनुहोस्", + "dialog.releaseNotes.media.alt": "रिलिज पूर्वावलोकन", + "context.breakdown.title": "सन्दर्भ ब्रेकडाउन", + "context.breakdown.note": 'इनपुट टोकनहरूको अनुमानित ब्रेकडाउन। "अन्य" मा उपकरण परिभाषा र ओभरहेड समावेश छ।', + "context.breakdown.system": "प्रणाली", + "context.breakdown.user": "प्रयोगकर्ता", + "context.breakdown.assistant": "सहायक", + "context.breakdown.tool": "उपकरण कलहरू", + "context.breakdown.other": "अन्य", + "context.systemPrompt.title": "प्रणाली प्रम्प्ट", + "context.rawMessages.title": "कच्चा सन्देशहरू", + "context.export.session": "निर्यात सत्र", + "context.stats.session": "सत्र", + "context.stats.messages": "सन्देशहरू", + "context.stats.provider": "प्रदायक", + "context.stats.model": "मोडेल", + "context.stats.limit": "सन्दर्भ सीमा", + "context.stats.totalTokens": "कुल टोकनहरू", + "context.stats.usage": "प्रयोग", + "context.stats.inputTokens": "इनपुट टोकनहरू", + "context.stats.outputTokens": "आउटपुट टोकनहरू", + "context.stats.reasoningTokens": "तर्क टोकनहरू", + "context.stats.cacheTokens": "क्यास टोकनहरू (पढ्नुहोस्/लेख्नुहोस्)", + "context.stats.userMessages": "प्रयोगकर्ता सन्देशहरू", + "context.stats.assistantMessages": "सहायक सन्देशहरू", + "context.stats.totalCost": "कुल लागत", + "context.stats.sessionCreated": "सत्र सिर्जना गरियो", + "context.stats.lastActivity": "पछिल्लो गतिविधि", + "context.usage.tokens": "टोकनहरू", + "context.usage.usage": "प्रयोग", + "context.usage.cost": "लागत", + "context.usage.clickToView": "सन्दर्भ हेर्न क्लिक गर्नुहोस्", + "context.usage.view": "सन्दर्भ प्रयोग हेर्नुहोस्", + "language.en": "English", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Deutsch", + "language.es": "Español", + "language.fr": "Français", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "Polski", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Norsk", + "language.br": "Português (Brasil)", + "language.bs": "Bosanski", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Türkçe", + "toast.language.title": "भाषा", + "toast.language.description": "{{language}} मा स्विच गरियो", + "toast.theme.title": "विषयवस्तु बदलियो", + "toast.scheme.title": "रंग योजना", + "toast.workspace.enabled.title": "कार्यस्थान सक्षम पारियो", + "toast.workspace.enabled.description": "बहु कार्य रूखहरू अब साइडबारमा देखाइएका छन्", + "toast.workspace.disabled.title": "कार्यस्थान असक्षम पारियो", + "toast.workspace.disabled.description": "साइडबारमा मुख्य कार्य रूख मात्र देखाइएको छ", + "toast.permissions.autoaccept.on.title": "स्वत: स्वीकार गर्ने अनुमतिहरू", + "toast.permissions.autoaccept.on.description": "अनुमति अनुरोधहरू स्वचालित रूपमा स्वीकृत हुनेछन्", + "toast.permissions.autoaccept.off.title": "स्वत: स्वीकार गर्ने अनुमतिहरू रोकियो", + "toast.permissions.autoaccept.off.description": "अनुमति अनुरोधहरू अनुमोदन आवश्यक हुनेछ", + "toast.model.none.title": "कुनै मोडेल चयन गरिएको छैन", + "toast.model.none.description": "यो सत्र संक्षेप गर्न प्रदायक जडान गर्नुहोस्", + "toast.file.loadFailed.title": "फाइल लोड गर्न असफल भयो", + "toast.file.listFailed.title": "फाइलहरू सूचीबद्ध गर्न असफल भयो", + "toast.context.noLineSelection.title": "कुनै लाइन चयन छैन", + "toast.context.noLineSelection.description": "पहिले फाइल ट्याबमा रेखा दायरा चयन गर्नुहोस्।", + "toast.session.share.copyFailed.title": "URL लाई क्लिपबोर्डमा प्रतिलिपि गर्न असफल भयो", + "toast.session.share.success.title": "सत्र साझा गर्नुभयो", + "toast.session.share.success.description": "साझा गर्नुहोस् URL क्लिपबोर्डमा प्रतिलिपि गरियो!", + "toast.session.share.failed.title": "सत्र साझेदारी गर्न असफल भयो", + "toast.session.share.failed.description": "सत्र साझा गर्दा त्रुटि भयो", + "toast.session.unshare.success.title": "सत्र अनसेयर गरियो", + "toast.session.unshare.success.description": "सत्र सफलतापूर्वक अनसेयर गरियो!", + "toast.session.unshare.failed.title": "सत्र अनसेयर गर्न असफल भयो", + "toast.session.unshare.failed.description": "सत्र अनसेयर गर्दा त्रुटि भयो", + "toast.session.export.success.title": "सत्र निर्यात गरियो", + "toast.session.export.success.description": "सत्र {{filename}} मा सुरक्षित गरियो", + "toast.session.export.failed.title": "सत्र निर्यात गर्न असफल भयो", + "toast.session.export.failed.description": "सत्र निर्यात गर्दा त्रुटि भयो", + "toast.session.listFailed.title": "{{project}} का लागि सत्रहरू लोड गर्न असफल भयो", + "toast.project.reloadFailed.title": "{{project}} पुन: लोड गर्न असफल भयो", + "toast.update.title": "अपडेट उपलब्ध छ", + "toast.update.description": "OpenCode ({{version}}) को नयाँ संस्करण अब स्थापना गर्न उपलब्ध छ।", + "toast.update.action.installRestart": "स्थापना र पुन: सुरु गर्नुहोस्", + "toast.update.action.notYet": "अझै छैन", + "error.page.title": "केही गडबड भयो", + "error.page.description": "एप्लिकेसन लोड गर्दा त्रुटि भयो।", + "error.page.description.localServerStartup": "स्थानीय सर्भर सुरु गर्दा त्रुटि भयो।", + "error.page.details.label": "त्रुटि विवरण", + "error.page.action.restart": "पुन: सुरु गर्नुहोस्", + "error.page.action.report": "त्रुटि रिपोर्ट गर्नुहोस्", + "error.page.action.reported": "त्रुटि रिपोर्ट गरियो", + "error.page.action.exportLogs": "लग निर्यात गर्नुहोस्", + "error.page.action.checking": "जाँच गर्दै...", + "error.page.action.checkUpdates": "अपडेटहरूको लागि जाँच गर्नुहोस्", + "error.page.action.updateTo": "{{version}} मा अद्यावधिक गर्नुहोस्", + "error.page.circular": "[परिपत्र]", + "error.page.report.prefix": "कृपया यो त्रुटि OpenCode टोलीलाई रिपोर्ट गर्नुहोस्", + "error.page.report.discord": "Discord मा", + "error.page.version": "संस्करण: {{version}}", + "error.dev.rootNotFound": + "मूल तत्व फेला परेन। के तपाईंले यसलाई आफ्नो index.html मा थप्न बिर्सनुभयो? वा हुनसक्छ आईडी विशेषता गलत हिज्जे भयो?", + "error.serverSync.connectFailed": "सर्भरमा जडान गर्न सकिएन। `{{url}}` मा कुनै सर्भर चलिरहेको छ?", + "error.serverSDK.noServerAvailable": "कुनै सर्भर उपलब्ध छैन", + "error.serverSDK.serverNotAvailable": "सर्भर उपलब्ध छैन", + "error.childStore.persistedCacheCreateFailed": "निरन्तर क्यास सिर्जना गर्न असफल भयो", + "error.childStore.persistedProjectMetadataCreateFailed": "निरन्तर परियोजना मेटाडेटा सिर्जना गर्न असफल भयो", + "error.childStore.persistedProjectIconCreateFailed": "निरन्तर परियोजना प्रतिमा सिर्जना गर्न असफल भयो", + "error.childStore.storeCreateFailed": "स्टोर सिर्जना गर्न असफल भयो", + "directory.error.invalidUrl": "URL मा अवैध निर्देशिका।", + "error.chain.unknown": "अज्ञात त्रुटि", + "error.server.invalidConfiguration": "अवैध कन्फिगरेसन", + "error.chain.causedBy": "कारण:", + "error.chain.apiError": "API त्रुटि", + "error.chain.status": "स्थिति: {{status}}", + "error.chain.retryable": "पुन: प्रयास गर्न सकिने: {{retryable}}", + "error.chain.responseBody": "प्रतिक्रिया मुख्य भाग:\n{{body}}", + "error.chain.didYouMean": "के तपाईको मतलब: {{suggestions}}", + "error.chain.modelNotFound": "मोडेल फेला परेन: {{provider}}/{{model}}", + "error.chain.checkConfig": "आफ्नो कन्फिगरेसन (opencode.json) प्रदायक/मोडेल नामहरू जाँच गर्नुहोस्", + "error.chain.mcpFailed": + 'MCP सर्भर "{{name}}" असफल भयो। नोट गर्नुहोस्, OpenCode ले अझै पनि MCP प्रमाणीकरणलाई समर्थन गर्दैन।', + "error.chain.providerAuthFailed": "प्रदायक प्रमाणीकरण असफल भयो ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + 'प्रदायक "{{provider}}" प्रारम्भ गर्न असफल भयो। प्रमाण र कन्फिगरेसन जाँच गर्नुहोस्।', + "error.chain.configJsonInvalid": "{{path}} मा कन्फिग फाइल मान्य छैन JSON(C)", + "error.chain.configJsonInvalidWithMessage": "{{path}} मा कन्फिग फाइल मान्य छैन JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + 'डाइरेक्टरी "{{dir}}" {{path}} मा मान्य छैन। डाइरेक्टरीलाई "{{suggestion}}" मा पुन: नामाकरण गर्नुहोस् वा यसलाई हटाउनुहोस्। यो सामान्य टाइपो हो।', + "error.chain.configFrontmatterError": "{{path}} मा फ्रन्टमेटर पार्स गर्न असफल भयो:\n{{message}}", + "error.chain.configInvalid": "{{path}} मा कन्फिग फाइल अमान्य छ", + "error.chain.configInvalidWithMessage": "{{path}} मा कन्फिग फाइल अमान्य छ: {{message}}", + "notification.permission.title": "अनुमति आवश्यक छ", + "notification.permission.description": "{{sessionTitle}} मा {{projectName}} लाई अनुमति चाहिन्छ", + "notification.question.title": "प्रश्न", + "notification.question.description": "{{sessionTitle}} {{projectName}} मा एउटा प्रश्न छ", + "notification.action.goToSession": "सत्रमा जानुहोस्", + "notification.session.responseReady.title": "प्रतिक्रिया तयार छ", + "notification.session.error.title": "सत्र त्रुटि", + "notification.session.error.fallbackDescription": "एउटा त्रुटि भयो", + "home.recentProjects": "भर्खरका परियोजनाहरू", + "home.empty.title": "हालको कुनै परियोजनाहरू छैनन्", + "home.empty.description": "स्थानीय परियोजना खोलेर सुरु गर्नुहोस्", + "home.title": "घर", + "home.projects": "परियोजनाहरू", + "home.project.add": "परियोजना थप्नुहोस्", + "home.recentlyClosed": "हालै बन्द", + "home.server.collapse": "सर्भर परियोजनाहरू संक्षिप्त गर्नुहोस्", + "home.server.expand": "सर्भर परियोजनाहरू विस्तार गर्नुहोस्", + "home.sessions.search.placeholder": "खोज सत्रहरू", + "home.sessions.search.placeholder.scoped": "{{scope}} मा सत्रहरू खोज्नुहोस्", + "home.sessions.search.sessions": "सत्रहरू", + "home.sessions.search.noResults": "{{query}} को लागि कुनै सत्र फेला परेन", + "home.sessions.empty": "यहाँ अझै केही छैन", + "home.sessions.empty.description": "सुरु गर्न एक सत्र सिर्जना गर्नुहोस्", + "home.sessions.group.today": "आज", + "home.sessions.group.yesterday": "हिजो", + "home.sessions.group.older": "पुरानो", + "home.providerTip": "Claude, GPT, Gemini, आदि सहित अन्य मोडेलहरू प्रयोग गर्न ७५+ प्रदायकहरूसँग जडान गर्नुहोस्", + "session.tab.session": "सत्र", + "session.tab.review": "समीक्षा गर्नुहोस्", + "session.tab.context": "सन्दर्भ", + "session.tab.unknown": "अज्ञात सत्र", + "session.panel.reviewAndFiles": "समीक्षा र फाइलहरू", + "session.error.notFound": "यो सत्र फेला पार्न सकिँदैन", + "session.error.notFound.description": "यो ट्याबले यो सर्भरमा अब अवस्थित नभएको सत्रलाई संकेत गर्छ।", + "session.error.notFound.closeTab": "ट्याब बन्द गर्नुहोस्", + "session.error.serverConnection": "यो सर्भरमा जडान गर्न सकिँदैन", + "session.review.filesChanged": "फाइलहरू परिवर्तन गरियो {{count}}", + "session.review.change.one": "परिवर्तन गर्नुहोस्", + "session.review.change.other": "परिवर्तनहरू", + "session.review.loadingChanges": "परिवर्तनहरू लोड गर्दै...", + "session.review.empty": "यस सत्रमा अझै कुनै परिवर्तन छैन", + "session.review.noVcs": "कुनै Git संस्करण नियन्त्रण प्रणाली पत्ता लागेन, परिवर्तनहरू प्रदर्शित भएन", + "session.review.noVcs.createGit.title": "एउटा Git भण्डार सिर्जना गर्नुहोस्", + "session.review.noVcs.createGit.description": + "यस परियोजनामा ​​भएका परिवर्तनहरू ट्र्याक गर्नुहोस्, समीक्षा गर्नुहोस् र पूर्ववत गर्नुहोस्", + "session.review.noVcs.createGit.actionLoading": "Git भण्डार सिर्जना गर्दै...", + "session.review.noVcs.createGit.action": "Git भण्डार सिर्जना गर्नुहोस्", + "session.review.noSnapshot": + "स्न्यापसट ट्र्याकिङ कन्फिगरेसनमा असक्षम गरिएको छ, त्यसैले सत्र परिवर्तनहरू उपलब्ध छैनन्", + "session.review.noChanges": "कुनै परिवर्तन छैन", + "session.review.noUncommittedChanges": "अहिलेसम्म कुनै पनि असीमित परिवर्तनहरू छैनन्", + "session.review.noBranchChanges": "अझै शाखा परिवर्तन भएको छैन", + "session.files.selectToOpen": "खोल्नको लागि फाइल चयन गर्नुहोस्", + "session.files.all": "सबै फाइलहरू", + "session.files.empty": "कुनै फाइलहरू छैनन्", + "session.files.binaryContent": "बाइनरी फाइल (सामग्री प्रदर्शन गर्न सकिँदैन)", + "session.messages.renderEarlier": "पहिलेका सन्देशहरू प्रस्तुत गर्नुहोस्", + "session.messages.loadingEarlier": "पहिलेका सन्देशहरू लोड गर्दै...", + "session.messages.loadEarlier": "पहिलेका सन्देशहरू लोड गर्नुहोस्", + "session.messages.loading": "सन्देशहरू लोड गर्दै...", + "session.messages.jumpToLatest": "नवीनतममा जानुहोस्", + "session.context.addToContext": "सन्दर्भमा {{selection}} थप्नुहोस्", + "session.todo.title": "गर्नुपर्ने कामहरू", + "session.todo.collapse": "संक्षिप्त गर्नुहोस्", + "session.todo.expand": "विस्तार गर्नुहोस्", + "session.todo.progress": "{{done}} को {{total}} todos पूरा भयो", + "session.question.progress": "{{total}} प्रश्नहरूको {{current}}", + "session.question.minimize": "प्रश्न कम गर्नुहोस्", + "session.question.restore": "प्रश्न पुनर्स्थापित गर्नुहोस्", + "session.question.pending.one": "{{count}} विचाराधीन प्रश्न", + "session.question.pending.other": "{{count}} विचाराधीन प्रश्नहरू", + "session.followupDock.summary.one": "{{count}} लामबद्ध सन्देश", + "session.followupDock.summary.other": "{{count}} लामबद्ध सन्देशहरू", + "session.followupDock.sendNow": "अहिले पठाउनुहोस्", + "session.followupDock.edit": "सम्पादन गर्नुहोस्", + "session.followupDock.collapse": "लामबद्ध सन्देशहरू संक्षिप्त गर्नुहोस्", + "session.followupDock.expand": "लामबद्ध सन्देशहरू विस्तार गर्नुहोस्", + "session.revertDock.summary.one": "{{count}} रोल्ड ब्याक सन्देश", + "session.revertDock.summary.other": "{{count}} रोल्ड ब्याक सन्देशहरू", + "session.revertDock.collapse": "रोल्ड ब्याक सन्देशहरू संक्षिप्त गर्नुहोस्", + "session.revertDock.expand": "घुमाइएको सन्देशहरू विस्तार गर्नुहोस्", + "session.revertDock.restore": "सन्देश पुनर्स्थापित गर्नुहोस्", + "session.new.title": "जे पनि बनाउनुहोस्", + "session.new.project.new": "नयाँ परियोजना", + "session.new.project.search": "परियोजनाहरू खोज्नुहोस्", + "session.new.project.add": "परियोजना थप्नुहोस्", + "session.new.worktree.main": "मुख्य शाखा", + "session.new.worktree.mainWithBranch": "मुख्य शाखा ({{branch}})", + "session.new.worktree.create": "नयाँ Git वर्कट्री सिर्जना गर्नुहोस्", + "session.new.workspace.runIn": "मा सत्र चलाउनुहोस्", + "session.new.workspace.triggerLocal": "स्थानीय", + "session.new.workspace.local": "स्थानीय भण्डार", + "session.new.workspace.existing": "कार्यस्थल…", + "session.new.git.none": "छैन Git", + "session.new.lastModified": "पछिल्लो पटक परिमार्जन गरिएको", + "session.header.search.placeholder": "{{project}} खोज्नुहोस्", + "session.header.searchFiles": "फाइलहरू खोज्नुहोस्", + "session.header.openIn": "मा खोल्नुहोस्", + "session.header.open.action": "{{app}} खोल्नुहोस्", + "session.header.open.ariaLabel": "{{app}} मा खोल्नुहोस्", + "session.header.open.menu": "विकल्प खोल्नुहोस्", + "session.header.open.copyPath": "बाटो प्रतिलिपि गर्नुहोस्", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "File Explorer", + "session.header.open.fileManager": "File Manager", + "session.header.reveal.finder": "Finder मा प्रकट गर्नुहोस्", + "session.header.reveal.fileExplorer": "File Explorer मा प्रकट गर्नुहोस्", + "session.header.reveal.containingFolder": "समावेश भएको फोल्डर खोल्नुहोस्", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "टर्मिनल", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "स्थिति", + "status.popover.ariaLabel": "सर्भर कन्फिगरेसनहरू", + "status.popover.tab.servers": "सर्भरहरू", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "प्लगइनहरू", + "status.popover.action.manageServers": "सर्भरहरू प्रबन्ध गर्नुहोस्", + "session.share.popover.title": "वेबमा प्रकाशित गर्नुहोस्", + "session.share.popover.description.shared": "यो सत्र वेबमा सार्वजनिक छ। यो लिङ्क भएको जो कोहीको लागि पहुँचयोग्य छ।", + "session.share.popover.description.unshared": + "वेबमा सार्वजनिक रूपमा सत्र साझेदारी गर्नुहोस्। यो लिङ्क भएको जो कोहीको लागि पहुँचयोग्य हुनेछ।", + "session.share.action.share": "सेयर गर्नुहोस्", + "session.share.action.publish": "प्रकाशित गर्नुहोस्", + "session.share.action.publishing": "प्रकाशन गर्दै...", + "session.share.action.unpublish": "अप्रकाशित", + "session.share.action.unpublishing": "अप्रकाशित...", + "session.share.action.view": "हेर्नुहोस्", + "session.share.copy.copied": "प्रतिलिपि गरियो", + "session.share.copy.copyLink": "लिङ्क प्रतिलिपि गर्नुहोस्", + "lsp.tooltip.none": "कुनै LSP सर्भरहरू छैनन्", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "प्रम्प्ट लोड गर्दै...", + "terminal.loading": "टर्मिनल लोड गर्दै...", + "terminal.title": "टर्मिनल", + "terminal.title.numbered": "टर्मिनल {{number}}", + "terminal.close": "टर्मिनल बन्द गर्नुहोस्", + "terminal.connectionLost.title": "जडान हरायो", + "terminal.connectionLost.abnormalClose": "WebSocket असामान्य रूपमा बन्द भयो: {{code}}", + "terminal.connectionLost.description": "टर्मिनल जडान अवरुद्ध भयो। सर्भर पुन: सुरु हुँदा यो हुन सक्छ।", + "terminal.connectTicket.csrfError": + "PTY जडान टिकट उत्पत्ति वा CSRF चेक द्वारा अस्वीकार गरियो। सर्भर CORS कन्फिगरेसन जाँच गर्नुहोस्।", + "terminal.connectTicket.statusError": "PTY जडान टिकट {{status}} सँग असफल भयो", + "titlebar.update": "अपडेट गर्नुहोस्", + "titlebar.updateVersion": "अपडेट गर्नुहोस् {{version}}", + "common.closeTab": "ट्याब बन्द गर्नुहोस्", + "common.dismiss": "खारेज गर्नुहोस्", + "common.moreCountSuffix": "(+{{count}} थप)", + "common.requestFailed": "अनुरोध असफल भयो", + "common.moreOptions": "थप विकल्पहरू", + "common.learnMore": "थप जान्नुहोस्", + "common.rename": "पुन: नामाकरण गर्नुहोस्", + "common.export": "निर्यात गर्नुहोस्", + "common.reset": "रिसेट गर्नुहोस्", + "common.archive": "अभिलेख", + "common.delete": "मेट्नुहोस्", + "common.close": "बन्द गर्नुहोस्", + "common.edit": "सम्पादन गर्नुहोस्", + "common.loadMore": "थप लोड गर्नुहोस्", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "अज्ञात", + "common.time.justNow": "भर्खरै", + "common.time.minutesAgo.short": "{{count}}मिनेट अघि", + "common.time.hoursAgo.short": "{{count}}घन्टा अघि", + "common.time.daysAgo.short": "{{count}}d अघि", + "sidebar.menu.toggle": "मेनु टगल गर्नुहोस्", + "sidebar.nav.projectsAndSessions": "परियोजनाहरू र सत्रहरू", + "sidebar.settings": "सेटिङहरू", + "sidebar.help": "मद्दत गर्नुहोस्", + "sidebar.workspaces.enable": "कार्यस्थान सक्षम गर्नुहोस्", + "sidebar.workspaces.disable": "कार्यस्थानहरू असक्षम गर्नुहोस्", + "sidebar.gettingStarted.title": "सुरु गर्दै", + "sidebar.gettingStarted.line1": "OpenCode मा नि:शुल्क मोडेलहरू समावेश छन् ताकि तपाईं तुरुन्तै सुरु गर्न सक्नुहुन्छ।", + "sidebar.gettingStarted.line2": "मोडेलहरू, inc प्रयोग गर्न कुनै पनि प्रदायक जडान गर्नुहोस्। Claude, GPT, Gemini आदि।", + "sidebar.project.recentSessions": "भर्खरका सत्रहरू", + "sidebar.project.viewAllSessions": "सबै सत्रहरू हेर्नुहोस्", + "sidebar.project.clearNotifications": "सूचनाहरू खाली गर्नुहोस्", + "sidebar.empty.title": "कुनै पनि आयोजना खुलेका छैनन्", + "sidebar.empty.description": "सुरु गर्न एउटा परियोजना खोल्नुहोस्", + "debugBar.ariaLabel": "विकास प्रदर्शन निदान", + "debugBar.na": "n/a", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "अन्तिम सम्पन्न भएको रुट ट्रान्जिसन सत्र पृष्ठलाई छुँदै, राउटर स्टार्टबाट पहिलो पेन्ट सेटल भएपछि मापन गरिन्छ।", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "अन्तिम 5 सेकेन्डमा प्रति सेकेन्ड फ्रेमहरू रोलिङ।", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "पछिल्लो ५ सेकेन्डमा सबैभन्दा खराब फ्रेम समय।", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "पछिल्लो 5 सेकेन्डमा 32ms भन्दा बढी फ्रेमहरू।", + "debugBar.long.label": "LONG", + "debugBar.long.tip": "पछिल्लो 5 सेकेन्डमा अवरुद्ध समय र लामो-कार्य गणना। अधिकतम कार्य: {{max}}।", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "पछिल्लो 5 सेकेन्डमा सबैभन्दा खराब अवलोकन इनपुट ढिलाइ।", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": "पछिल्लो ५ सेकेन्डमा अन्तरक्रियाको अनुमानित अवधि। यो INP-जस्तो हो, आधिकारिक Web Vitals INP होइन।", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "हालको एपको जीवनकालको लागि संचयी लेआउट शिफ्ट।", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "JS हीप बनाम हिप सीमा प्रयोग गरियो। Chromium मात्र।", + "debugBar.mem.tip": "JS हीप बनाम हिप सीमा प्रयोग गरियो। {{limit}} को {{used}}।", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "सबै अन्तरक्रियात्मक तत्वहरूमा फोकस शैलीहरू बल गर्नुहोस्", + "debugBar.focus.on": "ON", + "debugBar.focus.off": "बन्द", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "चयन गरिएको भाषा परिवर्तन नगरी पूर्ण एप लेआउट दिशा बल गर्नुहोस्", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode डेस्कटप", + "settings.section.desktop": "डेस्कटप", + "settings.section.server": "सर्भर", + "settings.tab.general": "सामान्य", + "settings.tab.shortcuts": "सर्टकटहरू", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "WSL एकीकरण", + "settings.desktop.wsl.description": "OpenCode सर्भर भित्र WSL Windows मा चलाउनुहोस्।", + "settings.general.section.appearance": "उपस्थिति", + "settings.general.section.advanced": "उन्नत", + "settings.general.section.notifications": "प्रणाली सूचनाहरू", + "settings.general.section.updates": "अपडेटहरू", + "settings.general.section.sounds": "ध्वनि प्रभावहरू", + "settings.general.section.feed": "फिड", + "settings.general.section.display": "प्रदर्शन", + "settings.general.row.language.title": "भाषा", + "settings.general.row.language.description": "OpenCode को लागि प्रदर्शन भाषा परिवर्तन गर्नुहोस्", + "settings.general.row.shell.title": "टर्मिनल शेल", + "settings.general.row.shell.description": "टर्मिनल र एजेन्ट उपकरणहरू द्वारा प्रयोग गरिएको शेल", + "settings.general.row.shell.autoDefault": "स्वतः (पूर्वनिर्धारित)", + "settings.general.row.shell.terminalOnly": "टर्मिनल मात्र", + "settings.general.row.appearance.title": "उपस्थिति", + "settings.general.row.appearance.description": "आफ्नो यन्त्रमा OpenCode कस्तो देखिन्छ अनुकूलित गर्नुहोस्", + "settings.general.row.colorScheme.title": "रंग योजना", + "settings.general.row.colorScheme.description": + "OpenCode ले प्रणाली, उज्यालो वा गाढा विषयवस्तुलाई फलो गर्छ कि गर्दैन भन्ने छनौट गर्नुहोस्", + "settings.general.row.theme.title": "विषयवस्तु", + "settings.general.row.theme.description": "कसरी OpenCode विषयवस्तुलाई अनुकूलित गर्नुहोस्।", + "settings.general.row.font.title": "कोड फन्ट", + "settings.general.row.font.description": "कोड ब्लकहरूमा प्रयोग गरिएको फन्ट अनुकूलित गर्नुहोस्", + "settings.general.row.terminalFont.title": "टर्मिनल फन्ट", + "settings.general.row.terminalFont.description": "टर्मिनलमा प्रयोग गरिएको फन्ट अनुकूलन गर्नुहोस्", + "settings.general.row.uiFont.title": "UI फन्ट", + "settings.general.row.uiFont.description": "इन्टरफेसमा प्रयोग गरिएको फन्ट अनुकूलित गर्नुहोस्", + "settings.general.row.followup.title": "अनुगमन व्यवहार", + "settings.general.row.followup.description": "छनोट गर्नुहोस् कि फलो-अपले तुरुन्तै स्टेयर गर्ने वा लाममा पर्खनुहोस्", + "settings.general.row.followup.option.queue": "लाम", + "settings.general.row.followup.option.steer": "स्टेयर", + "settings.general.row.showFileTree.title": "फाइल रूख", + "settings.general.row.showFileTree.description": "सत्रहरूमा फाइल ट्री प्यानल देखाउनुहोस्", + "settings.general.row.showNavigation.title": "नेभिगेसन नियन्त्रणहरू", + "settings.general.row.showNavigation.description": "डेस्कटप शीर्षक पट्टीमा पछाडि र अगाडि बटनहरू देखाउनुहोस्", + "settings.general.row.showSearch.title": "आदेश प्यालेट", + "settings.general.row.showSearch.description": "शीर्षक पट्टीमा खोज र आदेश प्यालेट बटन देखाउनुहोस्", + "settings.general.row.showTerminal.title": "टर्मिनल", + "settings.general.row.showTerminal.description": "डेस्कटप शीर्षक पट्टीमा टर्मिनल बटन देखाउनुहोस्", + "settings.general.row.showStatus.title": "सर्भर स्थिति", + "settings.general.row.showStatus.description": "शीर्षक पट्टीमा सर्भर स्थिति बटन देखाउनुहोस्", + "settings.general.row.mobileTitlebarBottom.title": "तल्लो नेभिगेसन", + "settings.general.row.mobileTitlebarBottom.description": + "मोबाइलमा स्क्रिनको फेदमा शीर्षक पट्टी र सत्र ट्याबहरू राख्नुहोस्", + "settings.general.row.showCustomAgents.title": "एजेन्ट देखाउनुहोस्", + "settings.general.row.showCustomAgents.description": + "कम्पोजरमा एजेन्टहरू बीच स्विच गर्नुहोस्। लुकेको बेला, बिल्ड एजेन्टमा पूर्वनिर्धारित हुन्छ।", + "settings.general.row.reasoningSummaries.title": "तर्क सारांशहरू देखाउनुहोस्", + "settings.general.row.reasoningSummaries.description": "टाइमलाइनमा मोडेल तर्क सारांशहरू प्रदर्शन गर्नुहोस्", + "settings.general.row.shellToolPartsExpanded.title": "शेल उपकरणका भागहरू विस्तार गर्नुहोस्", + "settings.general.row.shellToolPartsExpanded.description": + "टाइमलाइनमा पूर्वनिर्धारित रूपमा विस्तारित शेल उपकरण भागहरू देखाउनुहोस्", + "settings.general.row.editToolPartsExpanded.title": "सम्पादन उपकरण भागहरू विस्तार गर्नुहोस्", + "settings.general.row.editToolPartsExpanded.description": + "टाइमलाइनमा पूर्वनिर्धारित रूपमा विस्तार गरिएको सम्पादन, लेख्नुहोस् र प्याच उपकरण भागहरू देखाउनुहोस्", + "settings.general.row.newInterface.title": "नयाँ लेआउट", + "settings.general.row.newInterface.badge": "नयाँ", + "settings.general.row.newInterface.description": + "नयाँ ट्याबहरू र गृह लेआउट प्रयोग गर्नुहोस्। सीमित समयको लागि लेआउटहरू बीच स्विच गर्नुहोस्।", + "settings.general.row.newInterfaceNotice.title": "तपाईं अहिले नयाँ लेआउट प्रयोग गर्दै हुनुहुन्छ", + "settings.general.row.newInterfaceNotice.description": "अघिल्लो लेआउट अब उपलब्ध छैन", + "settings.general.row.newInterfaceNotice.dismiss": "खारेज गर्नुहोस्", + "settings.general.row.pinchZoom.title": "जुम गर्न पिन्च गर्नुहोस्", + "settings.general.row.pinchZoom.description": + "ट्र्याकप्याड पिन्च र Ctrl-स्क्रोल इशाराहरूलाई जुम गर्न अनुमति दिनुहोस्", + "settings.general.row.wayland.title": "नेटिभ Wayland प्रयोग गर्नुहोस्", + "settings.general.row.wayland.description": "Wayland मा X11 फलब्याक असक्षम गर्नुहोस्। पुन: सुरु गर्न आवश्यक छ।", + "settings.general.row.wayland.tooltip": "Linux मा मिश्रित रिफ्रेस-रेट मनिटरहरूसँग, नेटिभ Wayland थप स्थिर हुन सक्छ।", + "settings.general.row.releaseNotes.title": "रिलिज नोटहरू", + "settings.general.row.releaseNotes.description": "अपडेट पछि के नयाँ पपअपहरू देखाउनुहोस्", + "settings.updates.row.startup.title": "स्टार्टअपमा अद्यावधिकहरूको लागि जाँच गर्नुहोस्", + "settings.updates.row.startup.description": "OpenCode सुरु हुँदा अद्यावधिकहरूको लागि स्वचालित रूपमा जाँच गर्नुहोस्", + "settings.updates.row.check.title": "अपडेटहरूको लागि जाँच गर्नुहोस्", + "settings.updates.row.check.description": + "म्यानुअल रूपमा अद्यावधिकहरूको लागि जाँच गर्नुहोस् र यदि उपलब्ध छ भने स्थापना गर्नुहोस्", + "settings.updates.action.checkNow": "अहिले जाँच गर्नुहोस्", + "settings.updates.action.checking": "जाँच गर्दै...", + "settings.updates.action.downloading": "डाउनलोड गर्दै...", + "settings.updates.action.installing": "स्थापना गर्दै...", + "settings.updates.toast.latest.title": "तपाईं अद्यावधिक हुनुहुन्छ", + "settings.updates.toast.latest.description": "तपाईं OpenCode को नवीनतम संस्करण चलाइरहनुभएको छ।", + "sound.option.none": "कुनै पनि होइन", + "sound.option.alert01": "Alert 01", + "sound.option.alert02": "Alert 02", + "sound.option.alert03": "Alert 03", + "sound.option.alert04": "Alert 04", + "sound.option.alert05": "Alert 05", + "sound.option.alert06": "Alert 06", + "sound.option.alert07": "Alert 07", + "sound.option.alert08": "Alert 08", + "sound.option.alert09": "Alert 09", + "sound.option.alert10": "Alert 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "Nope 01", + "sound.option.nope02": "Nope 02", + "sound.option.nope03": "Nope 03", + "sound.option.nope04": "Nope 04", + "sound.option.nope05": "Nope 05", + "sound.option.nope06": "Nope 06", + "sound.option.nope07": "Nope 07", + "sound.option.nope08": "Nope 08", + "sound.option.nope09": "Nope 09", + "sound.option.nope10": "Nope 10", + "sound.option.nope11": "Nope 11", + "sound.option.nope12": "Nope 12", + "sound.option.yup01": "Yup 01", + "sound.option.yup02": "Yup 02", + "sound.option.yup03": "Yup 03", + "sound.option.yup04": "Yup 04", + "sound.option.yup05": "Yup 05", + "sound.option.yup06": "Yup 06", + "settings.general.notifications.agent.title": "एजेन्ट", + "settings.general.notifications.agent.description": + "एजेन्ट पूरा हुँदा वा ध्यान आवश्यक हुँदा प्रणाली सूचना देखाउनुहोस्", + "settings.general.notifications.permissions.title": "अनुमतिहरू", + "settings.general.notifications.permissions.description": "अनुमति आवश्यक हुँदा प्रणाली सूचना देखाउनुहोस्", + "settings.general.notifications.errors.title": "त्रुटिहरू", + "settings.general.notifications.errors.description": "त्रुटि हुँदा प्रणाली सूचना देखाउनुहोस्", + "settings.general.sounds.agent.title": "एजेन्ट", + "settings.general.sounds.agent.description": "जब एजेन्ट पूर्ण हुन्छ वा ध्यान चाहिन्छ ध्वनि बजाउनुहोस्", + "settings.general.sounds.permissions.title": "अनुमतिहरू", + "settings.general.sounds.permissions.description": "अनुमति आवश्यक हुँदा ध्वनि बजाउनुहोस्", + "settings.general.sounds.errors.title": "त्रुटिहरू", + "settings.general.sounds.errors.description": "त्रुटि हुँदा ध्वनि बजाउनुहोस्", + "settings.shortcuts.title": "किबोर्ड सर्टकटहरू", + "settings.shortcuts.reset.button": "पूर्वनिर्धारितमा रिसेट गर्नुहोस्", + "settings.shortcuts.reset.toast.title": "सर्टकट रिसेट", + "settings.shortcuts.reset.toast.description": "किबोर्ड सर्टकटहरू पूर्वनिर्धारितमा रिसेट गरिएका छन्।", + "settings.shortcuts.conflict.title": "सर्टकट पहिले नै प्रयोगमा छ", + "settings.shortcuts.conflict.description": "{{keybind}} पहिले नै {{titles}} लाई तोकिएको छ।", + "settings.shortcuts.unassigned": "तोकिएको छैन", + "settings.shortcuts.pressKeys": "कुञ्जीहरू थिच्नुहोस्", + "settings.shortcuts.search.placeholder": "सर्टकट खोज्नुहोस्", + "settings.shortcuts.search.empty": "कुनै सर्टकट फेला परेन", + "settings.shortcuts.group.general": "सामान्य", + "settings.shortcuts.group.session": "सत्र", + "settings.shortcuts.group.navigation": "नेभिगेसन", + "settings.shortcuts.group.modelAndAgent": "मोडेल र एजेन्ट", + "settings.shortcuts.group.terminal": "टर्मिनल", + "settings.shortcuts.group.prompt": "प्रम्प्ट", + "settings.providers.title": "प्रदायकहरू", + "settings.providers.description": "प्रदायक सेटिङहरू यहाँ कन्फिगर योग्य हुनेछ।", + "settings.providers.section.connected": "जडान गरिएका प्रदायकहरू", + "settings.providers.connected.empty": "जडान गरिएका प्रदायकहरू छैनन्", + "settings.providers.connected.environmentDescription": "तपाईंको वातावरण चरबाट जडान गरिएको", + "settings.providers.section.popular": "लोकप्रिय प्रदायकहरू", + "settings.providers.custom.description": "आधार URL द्वारा एक OpenAI-कम्प्याटिबल प्रदायक थप्नुहोस्।", + "settings.providers.tag.environment": "वातावरण", + "settings.providers.tag.config": "कन्फिग", + "settings.providers.tag.custom": "अनुकूलन", + "settings.providers.tag.other": "अन्य", + "settings.models.title": "मोडेलहरू", + "settings.models.description": "मोडेल सेटिङहरू यहाँ कन्फिगर योग्य हुनेछ।", + "settings.agents.title": "एजेन्टहरू", + "settings.agents.description": "एजेन्ट सेटिङहरू यहाँ कन्फिगर योग्य हुनेछ।", + "settings.commands.title": "आदेशहरू", + "settings.commands.description": "आदेश सेटिङहरू यहाँ कन्फिगर योग्य हुनेछ।", + "settings.mcp.title": "MCP", + "settings.mcp.description": "MCP सेटिङहरू यहाँ कन्फिगर योग्य हुनेछन्।", + "settings.permissions.title": "अनुमतिहरू", + "settings.permissions.description": "सर्भरले पूर्वनिर्धारित रूपमा प्रयोग गर्न सक्ने उपकरणहरू नियन्त्रण गर्नुहोस्।", + "settings.permissions.section.tools": "उपकरणहरू", + "settings.permissions.toast.updateFailed.title": "अनुमतिहरू अद्यावधिक गर्न असफल भयो", + "settings.permissions.action.allow": "अनुमति दिनुहोस्", + "settings.permissions.action.ask": "सोध्नुहोस्", + "settings.permissions.action.deny": "अस्वीकार गर्नुहोस्", + "settings.permissions.tool.read.title": "पढ्नुहोस्", + "settings.permissions.tool.read.description": "फाइल पढ्दै (फाइल पथसँग मेल खान्छ)", + "settings.permissions.tool.edit.title": "सम्पादन गर्नुहोस्", + "settings.permissions.tool.edit.description": "सम्पादनहरू, लेखहरू, र प्याचहरू सहित फाइलहरू परिमार्जन गर्नुहोस्", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "ग्लोब ढाँचाहरू प्रयोग गरेर फाइलहरू मिलाउनुहोस्", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "नियमित अभिव्यक्ति प्रयोग गरी फाइल सामग्री खोज्नुहोस्", + "settings.permissions.tool.list.title": "सूची", + "settings.permissions.tool.list.description": "निर्देशिका भित्र फाइलहरू सूचीबद्ध गर्नुहोस्", + "settings.permissions.tool.bash.title": "Bash", + "settings.permissions.tool.bash.description": "शेल आदेशहरू चलाउनुहोस्", + "settings.permissions.tool.task.title": "कार्य", + "settings.permissions.tool.task.description": "उप-एजेन्टहरू सुरु गर्नुहोस्", + "settings.permissions.tool.skill.title": "सीप", + "settings.permissions.tool.skill.description": "नाम द्वारा एक कौशल लोड गर्नुहोस्", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "भाषा सर्भर प्रश्नहरू चलाउनुहोस्", + "settings.permissions.tool.todowrite.title": "Todo Write", + "settings.permissions.tool.todowrite.description": "कार्य सूची अद्यावधिक गर्नुहोस्", + "settings.permissions.tool.webfetch.title": "Web Fetch", + "settings.permissions.tool.webfetch.description": "URL बाट सामग्री प्राप्त गर्नुहोस्", + "settings.permissions.tool.websearch.title": "Web Search", + "settings.permissions.tool.websearch.description": "वेब खोज्नुहोस्", + "settings.permissions.tool.external_directory.title": "बाह्य निर्देशिका", + "settings.permissions.tool.external_directory.description": "परियोजना निर्देशिका बाहिर फाइलहरू पहुँच गर्नुहोस्", + "settings.permissions.tool.doom_loop.title": "Doom Loop", + "settings.permissions.tool.doom_loop.description": "उस्तै इनपुटको साथ बारम्बार उपकरण कलहरू पत्ता लगाउनुहोस्", + "session.delete.failed.title": "सत्र मेटाउन असफल भयो", + "session.delete.title": "सत्र मेटाउनुहोस्", + "session.delete.confirm": 'सत्र "{{name}}" मेटाउने हो?', + "session.delete.button": "सत्र मेटाउनुहोस्", + "workspace.new": "नयाँ कार्यस्थान", + "workspace.type.local": "स्थानीय", + "workspace.type.sandbox": "स्यान्डबक्स", + "workspace.create.failed.title": "कार्यस्थान सिर्जना गर्न असफल भयो", + "workspace.delete.failed.title": "कार्यस्थान मेटाउन सकिएन", + "workspace.resetting.title": "कार्यस्थान रिसेट गर्दै", + "workspace.resetting.description": "यसले एक मिनेट लिन सक्छ।", + "workspace.reset.failed.title": "कार्यस्थान रिसेट गर्न असफल भयो", + "workspace.reset.success.title": "कार्यस्थान रिसेट", + "workspace.reset.success.description": "कार्यस्थान अब पूर्वनिर्धारित शाखासँग मेल खान्छ।", + "workspace.error.stillPreparing": "कार्यस्थान अझै तयार हुँदै छ", + "workspace.status.checking": "मर्ज नगरिएका परिवर्तनहरूको लागि जाँच गर्दै...", + "workspace.status.error": "Git स्थिति प्रमाणित गर्न असमर्थ।", + "workspace.status.clean": "मर्ज नगरिएका परिवर्तनहरू फेला परेनन्।", + "workspace.status.dirty": "यस कार्यस्थानमा अनमर्ज गरिएका परिवर्तनहरू पत्ता लगाइयो।", + "workspace.delete.title": "कार्यस्थान मेटाउनुहोस्", + "workspace.delete.confirm": 'कार्यस्थान "{{name}}" मेट्ने हो?', + "workspace.delete.button": "कार्यस्थान मेटाउनुहोस्", + "workspace.reset.title": "कार्यस्थान रिसेट गर्नुहोस्", + "workspace.reset.confirm": 'कार्यस्थान "{{name}}" रिसेट गर्ने हो?', + "workspace.reset.button": "कार्यस्थान रिसेट गर्नुहोस्", + "workspace.reset.archived.none": "कुनै पनि सक्रिय सत्रहरू अभिलेख गरिने छैन।", + "workspace.reset.archived.one": "1 सत्र अभिलेख गरिनेछ।", + "workspace.reset.archived.many": "{{count}} सत्रहरू अभिलेख गरिनेछ।", + "workspace.reset.note": "यसले पूर्वनिर्धारित शाखासँग मिलाउन कार्यस्थान रिसेट गर्नेछ।", + "dialog.usageExceeded.dontShowAgain": "फेरि नदेखाउनुहोस्", +} diff --git a/packages/app/src/i18n/nl.ts b/packages/app/src/i18n/nl.ts new file mode 100644 index 000000000000..6fb1dc09f24b --- /dev/null +++ b/packages/app/src/i18n/nl.ts @@ -0,0 +1,1171 @@ +export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Bestand", + "desktop.menu.edit": "Bewerken", + "desktop.menu.view": "Weergave", + "desktop.menu.go": "Ga", + "desktop.menu.window": "Venster", + "desktop.menu.help": "Help", + "desktop.menu.checkForUpdates": "Controleren op updates...", + "desktop.menu.settings": "Instellingen", + "desktop.menu.reloadWebview": "Webweergave opnieuw laden", + "desktop.menu.restart": "Opnieuw opstarten", + "desktop.menu.exportLogs": "Logboeken exporteren...", + "desktop.menu.newSession": "Nieuwe sessie", + "desktop.menu.openProject": "Project openen...", + "desktop.menu.newWindow": "Nieuw venster", + "desktop.menu.closeWindow": "Venster sluiten", + "desktop.menu.undo": "Ongedaan maken", + "desktop.menu.redo": "Opnieuw uitvoeren", + "desktop.menu.cut": "Knippen", + "desktop.menu.copy": "Kopiëren", + "desktop.menu.paste": "Plakken", + "desktop.menu.delete": "Verwijderen", + "desktop.menu.selectAll": "Alles selecteren", + "desktop.menu.toggleSidebar": "Zijbalk tonen of verbergen", + "desktop.menu.toggleTerminal": "Terminal tonen of verbergen", + "desktop.menu.toggleFileTree": "Bestandsstructuur tonen of verbergen", + "desktop.menu.reload": "Opnieuw laden", + "desktop.menu.toggleDeveloperTools": "Ontwikkelaarstools tonen of verbergen", + "desktop.menu.actualSize": "Werkelijke grootte", + "desktop.menu.zoomIn": "Inzoomen", + "desktop.menu.zoomOut": "Uitzoomen", + "desktop.menu.toggleFullScreen": "Schermvullende weergave in- of uitschakelen", + "desktop.menu.back": "Terug", + "desktop.menu.forward": "Vooruit", + "desktop.menu.previousSession": "Vorige sessie", + "desktop.menu.nextSession": "Volgende sessie", + "desktop.menu.previousProject": "Vorig project", + "desktop.menu.nextProject": "Volgend project", + "desktop.menu.minimize": "Minimaliseren", + "desktop.menu.maximize": "Maximaliseren", + "desktop.menu.documentation": "OpenCode-documentatie", + "desktop.menu.supportForum": "Supportforum", + "desktop.menu.shareFeedback": "Feedback delen", + "desktop.menu.reportBug": "Een bug melden", + "desktop.menu.ariaLabel": "OpenCode-menu", + "desktop.updater.dialog.checkFailed.message": "Controleren op updates is mislukt.", + "desktop.updater.dialog.checkFailed.title": "Updatefout", + "desktop.updater.dialog.upToDate.message": "Je bent helemaal bijgewerkt.", + "desktop.updater.dialog.upToDate.title": "Geen updates", + "desktop.updater.dialog.ready.message": "Update {{version}} is gedownload. Nu opnieuw opstarten?", + "desktop.updater.dialog.ready.title": "Update gereed", + "desktop.updater.dialog.restart": "Opnieuw opstarten", + "desktop.updater.dialog.later": "Later", + "desktop.recovery.action.relaunch": "Opnieuw openen", + "desktop.recovery.action.exportLogs": "Logboeken exporteren", + "desktop.recovery.action.keepWaiting": "Blijven wachten", + "desktop.recovery.action.quit": "Stoppen", + "desktop.recovery.loadFailed": "OpenCode kan niet worden geladen", + "desktop.recovery.terminated": "Het OpenCode-venster is onverwacht beëindigd", + "desktop.recovery.unresponsive": "OpenCode reageert niet", + "desktop.recovery.unresponsive.detail": "Je kunt de app opnieuw openen, de logboeken openen of blijven wachten.", + "desktop.recovery.loadFailed.detail": "Venster: {{window}}\nURL: {{url}}\nFout: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Venster: {{window}}\nReden: {{reason}}\nCode: {{code}}", + "desktop.recovery.unknown": "", + "desktop.dialog.chooseFolder": "Kies een map", + "desktop.dialog.chooseFile": "Kies een bestand", + "desktop.dialog.saveFile": "Bestand opslaan", + "desktop.dialog.files": "Bestanden", + "desktop.server.local": "Lokale server", + "desktop.wsl.error.windowsOnly": "WSL is alleen beschikbaar op Windows", + "desktop.wsl.error.unavailable": "WSL is niet beschikbaar", + "desktop.wsl.error.listInstalled": "Kan geïnstalleerde WSL-distributies niet weergeven", + "desktop.wsl.error.listOnline": "Kan online WSL-distributies niet weergeven", + "desktop.wsl.error.executeDistro": "Kan geen opdrachten uitvoeren in de distributie", + "desktop.wsl.error.installWsl": "Installatie van WSL is mislukt", + "desktop.wsl.error.installDistro": "Kan distributie niet installeren: {{distro}}", + "desktop.wsl.error.installOpencode": "Installatie van OpenCode is mislukt", + "desktop.wsl.error.alreadyAdded": "{{distro}} is al toegevoegd", + "desktop.wsl.error.opencodeMissing": "opencode is niet geïnstalleerd in deze distributie", + "desktop.wsl.error.opencodeCannotRun": "opencode is geïnstalleerd, maar kan niet worden uitgevoerd", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode is niet geïnstalleerd in {{distro}}", + "desktop.wsl.error.updateVersion": + "De OpenCode-update is voltooid, maar {{distro}} meldt nog steeds {{installed}}; verwacht: {{expected}}", + "desktop.wsl.error.noVersion": "geen versie", + "desktop.wsl.error.serverExited": "WSL-server is na het opstarten afgesloten (code={{code}} signaal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL-server is afgesloten voordat deze gereed was (code={{code}} signaal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": "Time-out bij statuscontrole van sidecar voor {{distro}} na {{timeout}} ms", + "desktop.wsl.error.commandTimeout": "Time-out voor {{command}} {{args}} na {{timeout}} ms", + "desktop.wsl.error.failedPort": "Kan poort niet ophalen", + "desktop.picker.error.notSelected": "Er is geen bestand geselecteerd in de bestandskiezer", + "desktop.picker.error.sizeLimit": "De geselecteerde bijlagen overschrijden de limiet van {{limit}} MB", + "command.category.suggested": "Voorgesteld", + "command.category.view": "Weergave", + "command.category.project": "Project", + "command.category.provider": "Aanbieder", + "command.category.server": "Server", + "command.category.session": "Sessie", + "command.category.theme": "Thema", + "command.category.language": "Taal", + "command.category.file": "Bestand", + "command.category.context": "Context", + "command.category.terminal": "Terminal", + "command.category.model": "Model", + "command.category.mcp": "MCP", + "command.category.agent": "Agent", + "command.category.permissions": "Machtigingen", + "command.category.workspace": "Werkruimte", + "command.category.settings": "Instellingen", + "command.logs.export": "Logboeken exporteren", + "theme.scheme.system": "Systeem", + "theme.scheme.light": "Licht", + "theme.scheme.dark": "Donker", + "command.sidebar.toggle": "Zijbalk tonen of verbergen", + "command.project.open": "Project openen", + "command.project.previous": "Vorig project", + "command.project.next": "Volgende project", + "command.project.index": "Ga naar project {{index}}", + "command.provider.connect": "Verbinding maken met aanbieder", + "command.server.switch": "Van server wisselen", + "command.settings.open": "Instellingen openen", + "command.session.previous": "Vorige sessie", + "command.session.next": "Volgende sessie", + "command.session.previous.unseen": "Vorige ongelezen sessie", + "command.session.next.unseen": "Volgende ongelezen sessie", + "command.session.archive": "Sessie archiveren", + "command.palette": "Commandopalet", + "command.theme.cycle": "Volgend thema", + "command.theme.set": "Gebruik thema: {{theme}}", + "command.theme.scheme.cycle": "Volgend kleurenschema", + "command.theme.scheme.set": "Gebruik kleurenschema: {{scheme}}", + "command.language.cycle": "Volgende taal", + "command.language.set": "Gebruik taal: {{language}}", + "command.session.new": "Nieuwe sessie", + "command.file.open": "Bestand openen", + "command.tab.close": "Tabblad sluiten", + "command.tab.reopenClosed": "Gesloten tabblad opnieuw openen", + "command.context.addSelection": "Voeg selectie toe aan context", + "command.context.addSelection.description": "Voeg geselecteerde regels uit het huidige bestand toe", + "command.input.focus": "Invoerveld activeren", + "command.terminal.toggle": "Terminal tonen of verbergen", + "command.fileTree.toggle": "Bestandsstructuur tonen of verbergen", + "command.review.toggle": "Beoordeling tonen of verbergen", + "command.terminal.new": "Nieuwe terminal", + "command.terminal.new.description": "Maak een nieuw terminaltabblad", + "command.steps.toggle": "Stappen tonen of verbergen", + "command.steps.toggle.description": "Toon of verberg stappen voor het huidige bericht", + "command.message.previous": "Vorig bericht", + "command.message.previous.description": "Ga naar het vorige gebruikersbericht", + "command.message.next": "Volgend bericht", + "command.message.next.description": "Ga naar het volgende gebruikersbericht", + "command.model.choose": "Kies model", + "command.model.choose.description": "Selecteer een ander model", + "command.mcp.toggle": "MCP's in- of uitschakelen", + "command.mcp.toggle.description": "MCP's in- of uitschakelen", + "command.agent.cycle": "Volgende agent", + "command.agent.cycle.description": "Schakel over naar de volgende agent", + "command.agent.cycle.reverse": "Vorige agent", + "command.agent.cycle.reverse.description": "Schakel over naar de vorige agent", + "command.model.variant.cycle": "Volgend denkniveau", + "command.model.variant.cycle.description": "Ga naar het volgende inspanningsniveau", + "command.prompt.mode.shell": "Shell", + "command.prompt.mode.normal": "Prompt", + "command.permissions.autoaccept.enable": "Machtigingen automatisch accepteren", + "command.permissions.autoaccept.disable": "Stop met het automatisch accepteren van machtigingen", + "command.workspace.toggle": "Werkruimten in- of uitschakelen", + "command.workspace.toggle.description": "Schakel meerdere werkruimten in de zijbalk in of uit", + "command.session.undo": "Ongedaan maken", + "command.session.undo.description": "Maak het laatste bericht ongedaan", + "command.session.redo": "Opnieuw uitvoeren", + "command.session.redo.description": "Voer het laatste ongedaan gemaakte bericht opnieuw uit", + "command.session.compact": "Sessie comprimeren", + "command.session.compact.description": "Vat de sessie samen om de contextgrootte te verkleinen", + "command.session.fork": "Afsplitsen vanaf bericht", + "command.session.fork.description": "Maak een nieuwe sessie op basis van een eerder bericht", + "command.session.share": "Sessie delen", + "command.session.share.description": "Deel deze sessie en kopieer de URL naar het klembord", + "command.session.unshare": "Sessie niet meer delen", + "command.session.unshare.description": "Stop met het delen van deze sessie", + "command.session.export": "Sessie exporteren", + "command.session.export.description": "Het volledige sessietranscript exporteren als JSON", + + "palette.search.placeholder": "Zoek naar bestanden, opdrachten en sessies", + "palette.search.placeholder.home": "Opdrachten en sessies zoeken", + "palette.empty": "Geen resultaten gevonden", + "palette.group.commands": "Commando's", + "palette.group.files": "Bestanden", + "dialog.provider.search.placeholder": "Aanbieders zoeken", + "dialog.provider.empty": "Geen aanbieders gevonden", + "dialog.provider.group.popular": "Populair", + "dialog.provider.group.other": "Anders", + "dialog.provider.custom.label": "Aangepaste OpenAI-compatibele aanbieder", + "dialog.provider.tag.recommended": "Aanbevolen", + "dialog.provider.opencode.note": "Samengestelde modellen, waaronder Claude, GPT, Gemini en meer", + "dialog.provider.opencode.tagline": "Betrouwbare geoptimaliseerde modellen", + "dialog.provider.opencodeGo.tagline": "Goedkoop abonnement voor iedereen", + "dialog.provider.anthropic.note": "Directe toegang tot Claude-modellen, inclusief Pro en Max", + "dialog.provider.copilot.note": "AI-modellen voor codeerondersteuning via GitHub Copilot", + "dialog.provider.openai.note": "GPT-modellen voor snelle, capabele algemene AI-taken", + "dialog.provider.google.note": "Gemini-modellen voor snelle, gestructureerde reacties", + "dialog.provider.openrouter.note": "Toegang tot alle ondersteunde modellen via één aanbieder", + "dialog.provider.vercel.note": "Uniforme toegang tot AI-modellen met slimme routering", + "dialog.model.select.title": "Selecteer model", + "dialog.model.search.placeholder": "Zoek modellen", + "dialog.model.empty": "Geen modelresultaten", + "dialog.model.manage": "Beheer modellen", + "dialog.model.manage.description": "Pas aan welke modellen in de modelkiezer verschijnen.", + "dialog.model.manage.provider.toggle": "Alle {{provider}}-modellen in- of uitschakelen", + "dialog.model.unpaid.freeModels.title": "Gratis modellen geleverd door OpenCode", + "dialog.model.unpaid.addMore.title": "Voeg meer modellen toe van populaire aanbieders", + "dialog.model.unpaid.viewMoreProviders": "Bekijk nog 70+ aanbieders", + "dialog.provider.viewAll": "Toon meer aanbieders", + "provider.connect.title": "Verbinding maken met {{provider}}", + "provider.connect.title.anthropicProMax": "Inloggen met Claude Pro/Max", + "provider.connect.selectMethod": "Selecteer de aanmeldingsmethode voor {{provider}}.", + "provider.connect.method.apiKey": "API-sleutel", + "provider.connect.method.browser": "Browser", + "provider.connect.method.headless": "Headless", + "provider.connect.status.inProgress": "Autorisatie in behandeling...", + "provider.connect.status.waiting": "Wachten op autorisatie...", + "provider.connect.status.failed": "Autorisatie mislukt: {{error}}", + "provider.connect.apiKey.description": + "Voer je {{provider}}-API-sleutel in om je account te koppelen en {{provider}}-modellen in OpenCode te gebruiken.", + "provider.connect.apiKey.label": "{{provider}}-API-sleutel", + "provider.connect.apiKey.placeholder": "API-sleutel", + "provider.connect.apiKey.required": "API-sleutel is vereist", + "provider.connect.opencodeZen.line1": + "OpenCode Zen geeft je toegang tot een samengestelde set betrouwbare, geoptimaliseerde modellen voor codeeragenten.", + "provider.connect.opencodeZen.line2": + "Met één API-sleutel krijg je toegang tot modellen zoals Claude, GPT, Gemini, GLM en meer.", + "provider.connect.opencodeZen.visit.prefix": "Ga naar ", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": " om je API-sleutel op te halen.", + "provider.connect.oauth.code.visit.prefix": "Ga naar ", + "provider.connect.oauth.code.visit.link": "deze link", + "provider.connect.oauth.code.visit.suffix": + " om je autorisatiecode op te halen, je account te koppelen en {{provider}}-modellen in OpenCode te gebruiken.", + "provider.connect.oauth.code.label": "{{method}}-autorisatiecode", + "provider.connect.oauth.code.placeholder": "Autorisatiecode", + "provider.connect.oauth.code.required": "Autorisatiecode is vereist", + "provider.connect.oauth.code.invalid": "Ongeldige autorisatiecode", + "provider.connect.oauth.auto.visit.prefix": "Ga naar ", + "provider.connect.oauth.auto.visit.link": "deze link", + "provider.connect.oauth.auto.visit.suffix": + " en voer de onderstaande code in om je account te koppelen en {{provider}}-modellen in OpenCode te gebruiken.", + "provider.connect.oauth.auto.confirmationCode": "Bevestigingscode", + "provider.connect.toast.connected.title": "Verbonden met {{provider}}", + "provider.connect.toast.connected.description": "{{provider}}-modellen zijn nu beschikbaar voor gebruik.", + "provider.custom.title": "Aangepaste aanbieder", + "provider.custom.unavailable": "Aangepaste aanbieders zijn niet beschikbaar op deze server", + "provider.custom.description.prefix": "Configureer een OpenAI-compatibele aanbieder. Bekijk de ", + "provider.custom.description.link": "documentatie over aanbiedersconfiguratie", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "Aanbieder-ID", + "provider.custom.field.providerID.placeholder": "myprovider", + "provider.custom.field.providerID.description": "Kleine letters, cijfers, koppeltekens of onderstrepingstekens", + "provider.custom.field.name.label": "Weergavenaam", + "provider.custom.field.name.placeholder": "Mijn AI-aanbieder", + "provider.custom.field.baseURL.label": "Basis-URL", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "API-sleutel", + "provider.custom.field.apiKey.placeholder": "API-sleutel", + "provider.custom.field.apiKey.description": "Optioneel. Laat leeg als je de authenticatie via headers beheert.", + "provider.custom.models.label": "Modellen", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "model-id", + "provider.custom.models.name.label": "Naam", + "provider.custom.models.name.placeholder": "Weergavenaam", + "provider.custom.models.remove": "Model verwijderen", + "provider.custom.models.add": "Voeg model toe", + "provider.custom.headers.label": "Headers (optioneel)", + "provider.custom.headers.key.label": "Header", + "provider.custom.headers.key.placeholder": "Header-Naam", + "provider.custom.headers.value.label": "Waarde", + "provider.custom.headers.value.placeholder": "waarde", + "provider.custom.headers.remove": "Header verwijderen", + "provider.custom.headers.add": "Header toevoegen", + "provider.custom.error.providerID.required": "Aanbieder-ID is vereist", + "provider.custom.error.providerID.format": "Gebruik kleine letters, cijfers, koppeltekens of onderstrepingstekens", + "provider.custom.error.providerID.exists": "Die aanbieder-ID bestaat al", + "provider.custom.error.name.required": "Weergavenaam is vereist", + "provider.custom.error.baseURL.required": "Basis-URL is vereist", + "provider.custom.error.baseURL.format": "Moet beginnen met http:// of https://", + "provider.custom.error.required": "Vereist", + "provider.custom.error.duplicate": "Duplicaat", + "provider.disconnect.toast.disconnected.title": "Verbinding met {{provider}} verbroken", + "provider.disconnect.toast.disconnected.description": "{{provider}}-modellen zijn niet langer beschikbaar.", + "model.tag.free": "Gratis", + "model.tag.latest": "Nieuwste", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "tekst", + "model.input.image": "afbeelding", + "model.input.audio": "audio", + "model.input.video": "video", + "model.input.pdf": "pdf", + "model.tooltip.allows": "Staat toe: {{inputs}}", + "model.tooltip.context.label": "Context", + "model.tooltip.inputs": "Invoer", + "model.tooltip.model": "Model", + "model.tooltip.provider": "Aanbieder", + "model.tooltip.reasoning": "Redenering", + "model.tooltip.reasoning.allowed": "Maakt redeneren mogelijk", + "model.tooltip.reasoning.none": "Geen redenering", + "model.tooltip.context": "Contextlimiet {{limit}}", + "common.search.placeholder": "Zoeken", + "common.goBack": "Terug navigeren", + "common.goForward": "Vooruit navigeren", + "common.loading": "Laden", + "common.loading.ellipsis": "...", + "common.cancel": "Annuleer", + "common.clear": "Wissen", + "common.open": "Openen", + "common.connect": "Verbinden", + "common.disconnect": "Verbinding verbreken", + "common.continue": "Doorgaan", + "common.submit": "Verzenden", + "common.save": "Opslaan", + "common.saving": "Opslaan...", + "common.default": "Standaard", + "common.attachment": "bijlage", + "prompt.placeholder.shell": "Voer de shell-opdracht in... {{example}}", + "prompt.placeholder.normal": 'Vraag wat je wilt... "{{example}}"', + "prompt.placeholder.simple": "Vraag wat je wilt...", + "prompt.placeholder.summarizeComments": "Opmerkingen samenvatten…", + "prompt.placeholder.summarizeComment": "Opmerking samenvatten…", + "prompt.mode.shell": "Shell", + "prompt.mode.normal": "Prompt", + "prompt.mode.shell.exit": "esc om af te sluiten", + "session.child.promptDisabled": "Je kunt geen prompts naar subagentsessies sturen.", + "session.child.backToParent": "Terug naar de hoofdsessie.", + "prompt.example.1": "Repareer een TODO in de codebase", + "prompt.example.2": "Wat is de tech-stack van dit project?", + "prompt.example.3": "Herstel kapotte tests", + "prompt.example.4": "Leg uit hoe authenticatie werkt", + "prompt.example.5": "Vind en repareer beveiligingsproblemen", + "prompt.example.6": "Voeg eenheidstests toe voor de gebruikersservice", + "prompt.example.7": "Refactoreer deze functie om beter leesbaar te zijn", + "prompt.example.8": "Wat betekent deze fout?", + "prompt.example.9": "Help me dit probleem te debuggen", + "prompt.example.10": "Genereer API-documentatie", + "prompt.example.11": "Optimaliseer databasequery's", + "prompt.example.12": "Voeg invoervalidatie toe", + "prompt.example.13": "Maak een nieuwe component voor...", + "prompt.example.14": "Hoe deploy ik dit project?", + "prompt.example.15": "Controleer mijn code op best practices", + "prompt.example.16": "Voeg foutafhandeling toe aan deze functie", + "prompt.example.17": "Leg dit regex-patroon uit", + "prompt.example.18": "Converteer dit naar TypeScript", + "prompt.example.19": "Voeg logboekregistratie toe aan de hele codebase", + "prompt.example.20": "Welke afhankelijkheden zijn verouderd?", + "prompt.example.21": "Help me een migratiescript te schrijven", + "prompt.example.22": "Implementeer caching voor dit eindpunt", + "prompt.example.23": "Voeg paginering toe aan deze lijst", + "prompt.example.24": "Maak een CLI-opdracht voor...", + "prompt.example.25": "Hoe werken omgevingsvariabelen hier?", + "prompt.popover.emptyResults": "Geen overeenkomende resultaten", + "prompt.popover.emptyCommands": "Geen overeenkomende opdrachten", + "prompt.dropzone.label": "Zet hier afbeeldingen, pdf's of tekstbestanden neer", + "prompt.dropzone.file.label": "Zet neer om het bestand met @ te vermelden", + "prompt.slash.badge.custom": "aangepast", + "prompt.slash.badge.skill": "vaardigheid", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "actief", + "prompt.context.includeActiveFile": "Actief bestand opnemen", + "prompt.context.removeActiveFile": "Verwijder actief bestand uit context", + "prompt.context.removeFile": "Bestand uit context verwijderen", + "prompt.action.attachFile": "Bestanden toevoegen", + "prompt.menu.addImagesAndFiles": "Voeg bestanden toe en meer", + "prompt.menu.imagesAndFiles": "Afbeeldingen en bestanden", + "prompt.menu.commands": "Commando's", + "prompt.menu.context": "Context", + "prompt.menu.shellCommand": "Shell-commando", + "prompt.attachment.remove": "Bijlage verwijderen", + "prompt.action.send": "Verzenden", + "prompt.action.stop": "Stop", + "prompt.toast.pasteUnsupported.title": "Niet-ondersteunde bijlage", + "prompt.toast.pasteUnsupported.description": + "Hier kunnen alleen afbeeldingen, pdf's of tekstbestanden worden bijgevoegd.", + "prompt.toast.attachmentDuplicate.title": "Dit bestand is al geüpload", + "prompt.toast.modelAgentRequired.title": "Selecteer een agent en model", + "prompt.toast.modelAgentRequired.description": "Kies een agent en model voordat je een prompt verzendt.", + "prompt.toast.worktreeCreateFailed.title": "Kan worktree niet maken", + "prompt.toast.sessionCreateFailed.title": "Kan sessie niet maken", + "prompt.toast.shellSendFailed.title": "Kan shell-opdracht niet verzenden", + "prompt.toast.commandSendFailed.title": "Kan opdracht niet verzenden", + "prompt.toast.promptSendFailed.title": "Kan de prompt niet verzenden", + "prompt.toast.promptSendFailed.description": "Kan sessie niet ophalen", + "dialog.mcp.title": "MCP's", + "dialog.mcp.description": "{{enabled}} of {{total}} ingeschakeld", + "dialog.mcp.empty": "Geen MCP's geconfigureerd", + "dialog.lsp.empty": "LSP's worden automatisch gedetecteerd uit bestandstypen", + "dialog.plugins.empty": "Plug-ins geconfigureerd in opencode.json", + "mcp.status.connected": "verbonden", + "mcp.status.failed": "mislukt", + "mcp.status.needs_auth": "heeft autorisatie nodig", + "mcp.status.disabled": "uitgeschakeld", + "mcp.auth.clickToAuthenticate": "Klik om te authenticeren", + "dialog.fork.empty": "Geen berichten om van af te splitsen", + "dialog.directory.search.placeholder": "Zoek in mappen", + "dialog.directory.empty": "Geen mappen gevonden", + "dialog.directory.action.selectFile": "Selecteer bestand", + "dialog.directory.action.selectFolder": "Selecteer map", + "dialog.directory.root": "Hoofdmap", + "dialog.directory.parent": "Bovenliggende map", + "dialog.directory.readError": "Kan deze map niet lezen", + "app.server.unreachable": "Kan {{server}} niet bereiken", + "app.server.retrying": "Automatisch opnieuw proberen...", + "app.server.otherServers": "Andere servers", + "dialog.server.title": "Servers", + "dialog.server.description": "Wijzig met welke OpenCode-server deze app verbinding maakt.", + "dialog.server.search.placeholder": "Servers zoeken", + "dialog.server.empty": "Nog geen servers", + "dialog.server.add.title": "Server toevoegen", + "dialog.server.add.url": "Serveradres", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "Kan geen verbinding maken met de server", + "dialog.server.add.checking": "Controleren...", + "dialog.server.add.button": "Server toevoegen", + "dialog.server.add.name": "Servernaam (optioneel)", + "dialog.server.add.namePlaceholder": "Lokale host", + "dialog.server.add.username": "Gebruikersnaam (optioneel)", + "dialog.server.add.usernamePlaceholder": "gebruikersnaam", + "dialog.server.add.password": "Wachtwoord (optioneel)", + "dialog.server.add.passwordPlaceholder": "wachtwoord", + "dialog.server.edit.title": "Server bewerken", + "dialog.server.default.title": "Standaardserver", + "dialog.server.default.description": + "Maak verbinding met deze server bij het starten van de app in plaats van een lokale server te starten. Vereist opnieuw opstarten.", + "dialog.server.default.none": "Geen server geselecteerd", + "dialog.server.default.set": "Stel de huidige server in als standaard", + "dialog.server.default.clear": "Wissen", + "dialog.server.action.remove": "Server verwijderen", + "dialog.server.menu.edit": "Bewerken", + "dialog.server.menu.default": "Als standaard instellen", + "dialog.server.menu.defaultRemove": "Standaard verwijderen", + "dialog.server.menu.delete": "Verwijderen", + "dialog.server.current": "Huidige server", + "dialog.server.status.default": "Standaard", + "wsl.server.add": "WSL-server toevoegen", + "wsl.server.addShort": "WSL toevoegen", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "WSL-server", + "wsl.server.retryStart": "Opnieuw proberen te starten", + "wsl.server.updating": "Updaten...", + "wsl.onboarding.step.distro": "Kies distro", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "WSL controleren...", + "wsl.onboarding.restartRequired": "Windows moet opnieuw worden opgestart om de installatie van WSL te voltooien.", + "wsl.onboarding.ready": "WSL is klaar.", + "wsl.onboarding.required": "WSL is vereist om door te gaan.", + "wsl.onboarding.checkingDistros": "Distributies controleren...", + "wsl.onboarding.installingDistro": "{{distro}} installeren...", + "wsl.onboarding.checkingDistro": "{{distro}} controleren...", + "wsl.onboarding.listingDistros": "Lijst met distributies ophalen...", + "wsl.onboarding.distroReady": "{{distro}} is klaar.", + "wsl.onboarding.distroNotInstalled": "{{distro}} is nog niet geïnstalleerd.", + "wsl.onboarding.openDistroOnce": "Open {{distro}} één keer om de installatie te voltooien.", + "wsl.onboarding.finishingDistro": "Installatie van {{distro}} voltooien.", + "wsl.onboarding.pickDistro": "Kies een distributie of installeer er hieronder een.", + "wsl.onboarding.checkingOpencode": "OpenCode controleren...", + "wsl.onboarding.checkingOpencodeIn": "OpenCode controleren in {{distro}}...", + "wsl.onboarding.updatingOpencode": "OpenCode bijwerken...", + "wsl.onboarding.updatingOpencodeIn": "OpenCode bijwerken in {{distro}}...", + "wsl.onboarding.updateOpencodeIn": "Werk OpenCode bij in {{distro}}.", + "wsl.onboarding.updateOpencode": "OpenCode bijwerken", + "wsl.onboarding.opencodeReadyIn": "OpenCode is gereed in {{distro}}.", + "wsl.onboarding.opencodeReady": "OpenCode is klaar.", + "wsl.onboarding.installOpencodeIn": "Installeer OpenCode in {{distro}}.", + "wsl.onboarding.installOpencode": "Installeer OpenCode", + "wsl.onboarding.chooseDistroFirst": "Kies eerst een distributie.", + "wsl.onboarding.loadFailed": "Kan de WSL-status niet laden.", + "wsl.onboarding.loading": "Laden...", + "wsl.onboarding.installedDistros": "Geïnstalleerde distributies", + "wsl.onboarding.checkAgain": "Controleer opnieuw", + "wsl.onboarding.distroStatus.ready": "Klaar", + "wsl.onboarding.distroStatus.checking": "Controleren...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode niet geïnstalleerd", + "wsl.onboarding.distroStatus.missingTools": "bash en curl ontbreken", + "wsl.onboarding.distroStatus.unsupported": "Niet ondersteund · Gebruik WSL 2", + "wsl.onboarding.needAnotherDistro": "Nog een distro nodig?", + "wsl.onboarding.needAnotherDistroHint": "Installeer een Linux-distributie uit de WSL-catalogus", + "wsl.onboarding.wslNotInstalled.title": "WSL niet geïnstalleerd", + "wsl.onboarding.wslNotInstalled.description": + "WSL (Windows-subsysteem voor Linux) is vereist voordat OpenCode een WSL-server kan toevoegen", + "wsl.onboarding.wslUnavailable.title": "WSL niet beschikbaar", + "wsl.onboarding.wslUnavailable.description": "OpenCode kan WSL niet verifiëren op deze machine.", + "wsl.onboarding.installWsl": "Installeer WSL", + "wsl.onboarding.windowsRestartRequired": + "Start Windows opnieuw om de installatie van WSL te voltooien en open vervolgens OpenCode opnieuw.", + "wsl.onboarding.next": "Volgende", + "wsl.onboarding.refresh": "Vernieuwen", + "wsl.onboarding.allDistrosAdded": "Alle geïnstalleerde distributies zijn al toegevoegd.", + "wsl.onboarding.noDistros": "Nog geen distributies gedetecteerd.", + "wsl.onboarding.install": "Installeren", + "wsl.onboarding.installing": "Installeren...", + "wsl.onboarding.installDistro": "Distro installeren", + "wsl.onboarding.searchDistros": "Zoek distributies", + "wsl.onboarding.wsl2Required": "WSL 2 is vereist.", + "wsl.onboarding.toolsRequired": "Deze distro heeft bash en curl nodig.", + "wsl.onboarding.openTerminal": "Terminal openen", + "wsl.onboarding.path": "Pad: {{path}}", + "wsl.onboarding.notFound": "niet gevonden", + "wsl.onboarding.version": "Versie: {{version}}", + "wsl.onboarding.unknown": "onbekend", + "wsl.onboarding.desktopVersion": "desktop {{version}}", + "wsl.onboarding.versionMismatch": "De geïnstalleerde versie komt niet overeen met de versie van de desktop-app.", + "wsl.onboarding.adding": "Toevoegen...", + "help.tabs.toast.ariaLabel": "Introductie van tabbladen. Organiseer je werk en actieve sessies met tabbladen", + "help.tabs.toast.dismiss": "Informatie over tabbladen sluiten", + "help.tabs.title": "Introductie van tabbladen", + "help.tabs.description": "Organiseer je werk en actieve sessies met tabbladen", + "help.tabs.date": "14 juli", + "help.tabs.introduction": "OpenCode Desktop is nu opgebouwd rond tabbladen.", + "help.tabs.sessions": + "Start een nieuwe sessie in een tabblad of open een bestaande sessie vanuit een van je projecten. Open een nieuw tabblad wanneer je aan iets nieuws begint en sluit het wanneer je klaar bent.", + "help.tabs.organize": + "Met enkele geopende tabbladen kun je je actieve sessies gemakkelijker organiseren. Geef tabbladen een herkenbare naam als je ze geopend wilt houden.", + "help.tabs.home": + "Je vindt al je sessies en projecten op het nieuwe startscherm. Wanneer je een sessie selecteert, wordt deze in een tabblad geopend.", + "help.tabs.persistence": "Wanneer je de app opnieuw opent, zijn je tabbladen nog steeds geopend.", + "help.tabs.worktrees": + "Het nieuwe ontwerp ondersteunt Git-worktrees nog niet, maar die ondersteuning komt binnenkort. Als je liever de vorige lay-out blijft gebruiken, kun je in Instellingen tussen de lay-outs schakelen. Houd er rekening mee dat de nieuwe lay-out over enkele weken permanent wordt.", + "server.row.noUsername": "geen gebruikersnaam", + "dialog.project.edit.title": "Project bewerken", + "dialog.project.edit.name": "Naam", + "dialog.project.edit.icon": "Pictogram", + "dialog.project.edit.icon.alt": "Projectpictogram", + "dialog.project.edit.icon.hint": "Klik of sleep een afbeelding", + "dialog.project.edit.icon.recommended": "Aanbevolen: 128x128px", + "dialog.project.edit.color": "Kleur", + "dialog.project.edit.color.select": "Kleur {{color}} selecteren", + "dialog.project.edit.worktree.startup": "Opstartscript voor werkruimte", + "dialog.project.edit.worktree.startup.description": + "Wordt uitgevoerd nadat een nieuwe werkruimte (worktree) is aangemaakt.", + "dialog.project.edit.worktree.startup.placeholder": "bijv. bun install", + "dialog.releaseNotes.action.getStarted": "Ga aan de slag", + "dialog.releaseNotes.action.next": "Volgende", + "dialog.releaseNotes.action.hideFuture": "Laat deze in de toekomst niet zien", + "dialog.releaseNotes.media.alt": "Releasevoorbeeld", + "dialog.usageExceeded.dontShowAgain": "Niet meer weergeven", + + "context.breakdown.title": "Contextanalyse", + "context.breakdown.note": + 'Geschatte uitsplitsing van invoertokens. "Overig" omvat gereedschapsdefinities en overhead.', + "context.breakdown.system": "Systeem", + "context.breakdown.user": "Gebruiker", + "context.breakdown.assistant": "Assistent", + "context.breakdown.tool": "Toolaanroepen", + "context.breakdown.other": "Overig", + "context.systemPrompt.title": "Systeemprompt", + "context.rawMessages.title": "Ruwe berichten", + "context.export.session": "Sessie exporteren", + + "context.stats.session": "Sessie", + "context.stats.messages": "Berichten", + "context.stats.provider": "Aanbieder", + "context.stats.model": "Model", + "context.stats.limit": "Contextlimiet", + "context.stats.totalTokens": "Totaal tokens", + "context.stats.usage": "Gebruik", + "context.stats.inputTokens": "Invoertokens", + "context.stats.outputTokens": "Uitvoertokens", + "context.stats.reasoningTokens": "Redeneringstokens", + "context.stats.cacheTokens": "Cachetokens (lezen/schrijven)", + "context.stats.userMessages": "Gebruikersberichten", + "context.stats.assistantMessages": "Assistentberichten", + "context.stats.totalCost": "Totale kosten", + "context.stats.sessionCreated": "Sessie gemaakt", + "context.stats.lastActivity": "Laatste activiteit", + "context.usage.tokens": "Tokens", + "context.usage.usage": "Gebruik", + "context.usage.cost": "Kosten", + "context.usage.clickToView": "Klik om de context te bekijken", + "context.usage.view": "Bekijk contextgebruik", + "language.en": "Engels", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Duits", + "language.es": "Spaans", + "language.fr": "Frans", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "Polski", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Norsk", + "language.br": "Portugees (Brazilië)", + "language.bs": "Bosanski", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Türkçe", + "toast.language.title": "Taal", + "toast.language.description": "Overgeschakeld naar {{language}}", + "toast.theme.title": "Thema gewijzigd", + "toast.scheme.title": "Kleurenschema", + "toast.workspace.enabled.title": "Werkruimten ingeschakeld", + "toast.workspace.enabled.description": "Er worden nu meerdere worktrees weergegeven in de zijbalk", + "toast.workspace.disabled.title": "Werkruimten uitgeschakeld", + "toast.workspace.disabled.description": "Alleen de hoofdworktree wordt weergegeven in de zijbalk", + "toast.permissions.autoaccept.on.title": "Machtigingen automatisch accepteren", + "toast.permissions.autoaccept.on.description": "Toestemmingsverzoeken worden automatisch goedgekeurd", + "toast.permissions.autoaccept.off.title": "Machtigingen niet meer automatisch accepteren", + "toast.permissions.autoaccept.off.description": "Machtigingsverzoeken moeten worden goedgekeurd", + "toast.model.none.title": "Geen model geselecteerd", + "toast.model.none.description": "Maak verbinding met een aanbieder om deze sessie samen te vatten", + "toast.file.loadFailed.title": "Kan bestand niet laden", + "toast.file.listFailed.title": "Kan bestanden niet weergeven", + "toast.context.noLineSelection.title": "Geen regels geselecteerd", + "toast.context.noLineSelection.description": "Selecteer eerst een reeks regels in een bestandstabblad.", + "toast.session.share.copyFailed.title": "Kan de URL niet naar het klembord kopiëren", + "toast.session.share.success.title": "Sessie gedeeld", + "toast.session.share.success.description": "Deel-URL gekopieerd naar klembord!", + "toast.session.share.failed.title": "Kan sessie niet delen", + "toast.session.share.failed.description": "Er is een fout opgetreden tijdens het delen van de sessie", + "toast.session.unshare.success.title": "Sessie niet gedeeld", + "toast.session.unshare.success.description": "Sessie is niet meer gedeeld!", + "toast.session.unshare.failed.title": "Kan het delen van de sessie niet ongedaan maken", + "toast.session.unshare.failed.description": + "Er is een fout opgetreden bij het ongedaan maken van het delen van de sessie", + "toast.session.export.success.title": "Sessie geëxporteerd", + "toast.session.export.success.description": "Sessie opgeslagen in {{filename}}", + "toast.session.export.failed.title": "Kan sessie niet exporteren", + "toast.session.export.failed.description": "Er is een fout opgetreden tijdens het exporteren van de sessie", + + "toast.session.listFailed.title": "Kan sessies voor {{project}} niet laden", + "toast.project.reloadFailed.title": "Kan {{project}} niet opnieuw laden", + "toast.update.title": "Update beschikbaar", + "toast.update.description": "Er is nu een nieuwe versie van OpenCode ({{version}}) beschikbaar om te installeren.", + "toast.update.action.installRestart": "Installeren en opnieuw opstarten", + "toast.update.action.notYet": "Nog niet", + "error.page.title": "Er is iets misgegaan", + "error.page.description": "Er is een fout opgetreden tijdens het laden van de applicatie.", + "error.page.description.localServerStartup": "Er is een fout opgetreden bij het starten van de lokale server.", + "error.page.details.label": "Foutdetails", + "error.page.action.restart": "Opnieuw opstarten", + "error.page.action.report": "Rapporteer fout", + "error.page.action.reported": "Fout gerapporteerd", + "error.page.action.exportLogs": "Logboeken exporteren", + "error.page.action.checking": "Controleren...", + "error.page.action.checkUpdates": "Controleer op updates", + "error.page.action.updateTo": "Update naar {{version}}", + "error.page.circular": "[Circulair]", + "error.page.report.prefix": "Rapporteer deze fout aan het OpenCode-team", + "error.page.report.discord": "op Discord", + "error.page.version": "Versie: {{version}}", + "error.dev.rootNotFound": + "Root-element niet gevonden. Ben je vergeten het toe te voegen aan je index.html? Of is het id-attribuut misschien verkeerd gespeld?", + "error.serverSync.connectFailed": "Kan geen verbinding maken met de server. Draait er een server op `{{url}}`?", + "error.serverSDK.noServerAvailable": "Geen server beschikbaar", + "error.serverSDK.serverNotAvailable": "Server niet beschikbaar", + "error.childStore.persistedCacheCreateFailed": "Kan persistente cache niet maken", + "error.childStore.persistedProjectMetadataCreateFailed": "Kan de persistente projectmetagegevens niet maken", + "error.childStore.persistedProjectIconCreateFailed": "Kan het opgeslagen projectpictogram niet maken", + "error.childStore.storeCreateFailed": "Kan opslag niet maken", + "directory.error.invalidUrl": "Ongeldige map in URL.", + "error.chain.unknown": "Onbekende fout", + "error.server.invalidConfiguration": "Ongeldige configuratie", + "error.chain.causedBy": "Veroorzaakt door:", + "error.chain.apiError": "API-fout", + "error.chain.status": "Status: {{status}}", + "error.chain.retryable": "Opnieuw proberen mogelijk: {{retryable}}", + "error.chain.responseBody": "Antwoordtekst:\n{{body}}", + "error.chain.didYouMean": "Bedoelde je: {{suggestions}}", + "error.chain.modelNotFound": "Model niet gevonden: {{provider}}/{{model}}", + "error.chain.checkConfig": "Controleer de provider- en modelnamen in je configuratie (opencode.json)", + "error.chain.mcpFailed": 'MCP-server "{{name}}" is mislukt. Let op: OpenCode ondersteunt nog geen MCP-authenticatie.', + "error.chain.providerAuthFailed": "Authenticatie bij aanbieder mislukt ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + 'Kan provider "{{provider}}" niet initialiseren. Controleer de inloggegevens en configuratie.', + "error.chain.configJsonInvalid": "Configuratiebestand op {{path}} is niet geldig JSON(C)", + "error.chain.configJsonInvalidWithMessage": "Configuratiebestand op {{path}} is niet geldig JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + 'De map "{{dir}}" in {{path}} is ongeldig. Hernoem de map naar "{{suggestion}}" of verwijder deze. Dit is een veelvoorkomende typefout.', + "error.chain.configFrontmatterError": "Kan frontmatter in {{path}} niet parseren:\n{{message}}", + "error.chain.configInvalid": "Configuratiebestand op {{path}} is ongeldig", + "error.chain.configInvalidWithMessage": "Configuratiebestand op {{path}} is ongeldig: {{message}}", + "notification.permission.title": "Toestemming vereist", + "notification.permission.description": "{{sessionTitle}} in {{projectName}} heeft toestemming nodig", + "notification.question.title": "Vraag", + "notification.question.description": "{{sessionTitle}} in {{projectName}} heeft een vraag", + "notification.action.goToSession": "Ga naar sessie", + "notification.session.responseReady.title": "Reactie klaar", + "notification.session.error.title": "Sessiefout", + "notification.session.error.fallbackDescription": "Er is een fout opgetreden", + "home.recentProjects": "Recente projecten", + "home.empty.title": "Geen recente projecten", + "home.empty.description": "Ga aan de slag door een lokaal project te openen", + "home.title": "Start", + "home.projects": "Projecten", + "home.project.add": "Project toevoegen", + "home.recentlyClosed": "Onlangs gesloten", + "home.server.collapse": "Serverprojecten samenvouwen", + "home.server.expand": "Serverprojecten uitvouwen", + "home.sessions.search.placeholder": "Zoek sessies", + "home.sessions.search.placeholder.scoped": "Sessies zoeken in {{scope}}", + "home.sessions.search.sessions": "Sessies", + "home.sessions.search.noResults": "Geen sessies gevonden voor {{query}}", + "home.sessions.empty": "Hier nog niets", + "home.sessions.empty.description": "Maak een sessie aan om aan de slag te gaan", + "home.sessions.group.today": "Vandaag", + "home.sessions.group.yesterday": "Gisteren", + "home.sessions.group.older": "Ouder", + "home.providerTip": + "Maak verbinding met meer dan 75 providers om andere modellen te gebruiken, waaronder Claude, GPT, Gemini, enz.", + "session.tab.session": "Sessie", + "session.tab.review": "Beoordeling", + "session.tab.context": "Context", + "session.tab.unknown": "Onbekende sessie", + "session.panel.reviewAndFiles": "Beoordeling en bestanden", + "session.error.notFound": "Deze sessie kan niet worden gevonden", + "session.error.notFound.description": "Dit tabblad verwijst naar een sessie die niet meer bestaat op deze server.", + "session.error.notFound.closeTab": "Tabblad sluiten", + "session.error.serverConnection": "Kan geen verbinding maken met deze server", + "session.review.filesChanged": "Gewijzigde bestanden: {{count}}", + "session.review.change.one": "Wijziging", + "session.review.change.other": "Wijzigingen", + "session.review.loadingChanges": "Wijzigingen laden...", + "session.review.empty": "Er zijn nog geen wijzigingen in deze sessie", + "session.review.noVcs": "Geen Git-versiecontrolesysteem gedetecteerd, wijzigingen niet weergegeven", + "session.review.noVcs.createGit.title": "Maak een Git-repository", + "session.review.noVcs.createGit.description": "Wijzigingen in dit project bijhouden, beoordelen en ongedaan maken", + "session.review.noVcs.createGit.actionLoading": "Git-repository maken...", + "session.review.noVcs.createGit.action": "Maak een Git-repository", + "session.review.noSnapshot": + "Het bijhouden van momentopnamen is uitgeschakeld in de configuratie, dus sessiewijzigingen zijn niet beschikbaar", + "session.review.noChanges": "Geen wijzigingen", + "session.review.noUncommittedChanges": "Er zijn nog geen niet-gecommitteerde wijzigingen", + "session.review.noBranchChanges": "Er zijn nog geen branchwijzigingen", + "session.files.selectToOpen": "Selecteer een bestand om te openen", + "session.files.all": "Alle bestanden", + "session.files.empty": "Geen bestanden", + "session.files.binaryContent": "Binair bestand (inhoud kan niet worden weergegeven)", + "session.messages.renderEarlier": "Geef eerdere berichten weer", + "session.messages.loadingEarlier": "Eerdere berichten laden...", + "session.messages.loadEarlier": "Laad eerdere berichten", + "session.messages.loading": "Berichten laden...", + "session.messages.jumpToLatest": "Ga naar de laatste", + "session.context.addToContext": "Voeg {{selection}} toe aan de context", + "session.todo.title": "Taken", + "session.todo.collapse": "Samenvouwen", + "session.todo.expand": "Uitvouwen", + "session.todo.progress": "{{done}} van {{total}} taken voltooid", + "session.question.progress": "{{current}} van {{total}} vragen", + "session.question.minimize": "Minimaliseer de vraag", + "session.question.restore": "Vraag herstellen", + "session.question.pending.one": "{{count}} openstaande vraag", + "session.question.pending.other": "{{count}} openstaande vragen", + "session.followupDock.summary.one": "{{count}} bericht in de wachtrij", + "session.followupDock.summary.other": "{{count}} berichten in de wachtrij", + "session.followupDock.sendNow": "Verstuur nu", + "session.followupDock.edit": "Bewerken", + "session.followupDock.collapse": "In de wachtrij geplaatste berichten samenvouwen", + "session.followupDock.expand": "Berichten in de wachtrij uitvouwen", + "session.revertDock.summary.one": "{{count}} teruggedraaid bericht", + "session.revertDock.summary.other": "{{count}} teruggedraaide berichten", + "session.revertDock.collapse": "Teruggedraaide berichten samenvouwen", + "session.revertDock.expand": "Teruggedraaide berichten uitvouwen", + "session.revertDock.restore": "Bericht herstellen", + "session.new.title": "Bouw wat je wilt", + "session.new.project.new": "Nieuw project", + "session.new.project.search": "Zoek projecten", + "session.new.project.add": "Project toevoegen", + "session.new.worktree.main": "Hoofdbranch", + "session.new.worktree.mainWithBranch": "Hoofdbranch ({{branch}})", + "session.new.worktree.create": "Nieuwe worktree maken", + "session.new.workspace.runIn": "Sessie uitvoeren in", + "session.new.workspace.triggerLocal": "Lokaal", + "session.new.workspace.local": "Lokale repository", + "session.new.workspace.existing": "Werkruimte…", + "session.new.git.none": "Geen Git", + "session.new.lastModified": "Laatst gewijzigd", + "session.header.search.placeholder": "Zoek {{project}}", + "session.header.searchFiles": "Zoek bestanden", + "session.header.openIn": "Openen in", + "session.header.open.action": "Open {{app}}", + "session.header.open.ariaLabel": "Openen in {{app}}", + "session.header.open.menu": "Opties openen", + "session.header.open.copyPath": "Kopieer pad", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "Bestandsverkenner", + "session.header.open.fileManager": "Bestandsbeheer", + "session.header.reveal.finder": "Tonen in Finder", + "session.header.reveal.fileExplorer": "Weergeven in Verkenner", + "session.header.reveal.containingFolder": "Bijbehorende map openen", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Terminal", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "Status", + "status.popover.ariaLabel": "Serverconfiguraties", + "status.popover.tab.servers": "Servers", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "Plug-ins", + "status.popover.action.manageServers": "Beheer servers", + "session.share.popover.title": "Publiceer op internet", + "session.share.popover.description.shared": + "Deze sessie is openbaar op internet. Iedereen met de link heeft toegang.", + "session.share.popover.description.unshared": + "Deel de sessie openbaar op internet. Iedereen met de link krijgt toegang.", + "session.share.action.share": "Deel", + "session.share.action.publish": "Publiceren", + "session.share.action.publishing": "Publiceren...", + "session.share.action.unpublish": "Publicatie ongedaan maken", + "session.share.action.unpublishing": "Publicatie ongedaan maken...", + "session.share.action.view": "Bekijk", + "session.share.copy.copied": "Gekopieerd", + "session.share.copy.copyLink": "Kopieer link", + "lsp.tooltip.none": "Geen LSP-servers", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "Prompt laden...", + "terminal.loading": "Terminal laden...", + "terminal.title": "Terminal", + "terminal.title.numbered": "Terminal {{number}}", + "terminal.close": "Terminal sluiten", + "terminal.connectionLost.title": "Verbinding verloren", + "terminal.connectionLost.abnormalClose": "WebSocket abnormaal gesloten: {{code}}", + "terminal.connectionLost.description": + "De terminalverbinding is onderbroken. Dit kan gebeuren wanneer de server opnieuw wordt opgestart.", + "terminal.connectTicket.csrfError": + "PTY-verbindingsticket geweigerd door oorsprongs- of CSRF-controles. Controleer de CORS-configuratie van de server.", + "terminal.connectTicket.statusError": "PTY-verbindingsticket mislukt met status {{status}}", + "titlebar.update": "Bijwerken", + "titlebar.updateVersion": "Bijwerken {{version}}", + "common.closeTab": "Tabblad sluiten", + "common.dismiss": "Negeren", + "common.moreCountSuffix": " (+{{count}} meer)", + "common.requestFailed": "Verzoek mislukt", + "common.moreOptions": "Meer opties", + "common.learnMore": "Meer informatie", + "common.rename": "Hernoemen", + "common.export": "Exporteren", + "common.reset": "Opnieuw instellen", + "common.archive": "Archiveren", + "common.delete": "Verwijderen", + "common.close": "Sluiten", + "common.edit": "Bewerken", + "common.loadMore": "Meer laden", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Spatie", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Verwijderen", + "common.key.home": "Home", + "common.key.end": "Einde", + "common.key.pageUp": "Pagina omhoog", + "common.key.pageDown": "Pagina omlaag", + "common.key.insert": "Invoegen", + "common.unknown": "onbekend", + "common.time.justNow": "Zojuist", + "common.time.minutesAgo.short": "{{count}}m geleden", + "common.time.hoursAgo.short": "{{count}}h geleden", + "common.time.daysAgo.short": "{{count}}d geleden", + "sidebar.menu.toggle": "Menu tonen of verbergen", + "sidebar.nav.projectsAndSessions": "Projecten en sessies", + "sidebar.settings": "Instellingen", + "sidebar.help": "Hulp", + "sidebar.workspaces.enable": "Schakel werkruimten in", + "sidebar.workspaces.disable": "Schakel werkruimten uit", + "sidebar.gettingStarted.title": "Aan de slag", + "sidebar.gettingStarted.line1": "OpenCode bevat gratis modellen, zodat je direct aan de slag kunt.", + "sidebar.gettingStarted.line2": + "Maak verbinding met een aanbieder om modellen te gebruiken, waaronder Claude, GPT en Gemini.", + "sidebar.project.recentSessions": "Recente sessies", + "sidebar.project.viewAllSessions": "Bekijk alle sessies", + "sidebar.project.clearNotifications": "Meldingen wissen", + "sidebar.empty.title": "Geen projecten geopend", + "sidebar.empty.description": "Open een project om aan de slag te gaan", + "debugBar.ariaLabel": "Diagnostiek voor ontwikkelprestaties", + "debugBar.na": "n.v.t.", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "Laatst voltooide routenavigatie naar of binnen een sessiepagina, gemeten vanaf het starten van de router tot de eerste render nadat de navigatie is voltooid.", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "Voortschrijdend aantal frames per seconde over de afgelopen 5 seconden.", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "Slechtste frametijd van de afgelopen 5 seconden.", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "Frames van meer dan 32 ms in de afgelopen 5 seconden.", + "debugBar.long.label": "LONG", + "debugBar.long.tip": "Geblokkeerde tijd en aantal lange taken in de afgelopen 5 seconden. Maximale taak: {{max}}.", + "debugBar.delay.label": "VERTRAGING", + "debugBar.delay.tip": "Slechtst waargenomen invoervertraging in de afgelopen 5 seconden.", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": + "Geschatte interactieduur gedurende de afgelopen 5 seconden. Dit is INP-achtig, niet de officiële Web Vitals INP.", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "Cumulatieve lay-outverschuiving sinds de app is gestart.", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "Gebruikte JS-heap versus heap-limiet. Alleen Chromium.", + "debugBar.mem.tip": "Gebruikte JS-heap versus heaplimiet. {{used}} van {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Dwing focusstijlen af voor alle interactieve elementen", + "debugBar.focus.on": "AAN", + "debugBar.focus.off": "UIT", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Dwing de lay-outrichting voor de hele app af zonder de geselecteerde taal te wijzigen", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode Desktop", + "settings.section.desktop": "Desktop", + "settings.section.server": "Server", + "settings.tab.general": "Algemeen", + "settings.tab.shortcuts": "Snelkoppelingen", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "WSL-integratie", + "settings.desktop.wsl.description": "Voer de OpenCode-server uit in WSL op Windows.", + "settings.general.section.appearance": "Uiterlijk", + "settings.general.section.advanced": "Geavanceerd", + "settings.general.section.notifications": "Systeemmeldingen", + "settings.general.section.updates": "Updates", + "settings.general.section.sounds": "Geluidseffecten", + "settings.general.section.feed": "Feed", + "settings.general.section.display": "Weergave", + "settings.general.row.language.title": "Taal", + "settings.general.row.language.description": "Wijzig de weergavetaal voor OpenCode", + "settings.general.row.shell.title": "Terminalshell", + "settings.general.row.shell.description": "Shell gebruikt door de terminal- en agenttools", + "settings.general.row.shell.autoDefault": "Automatisch (standaard)", + "settings.general.row.shell.terminalOnly": "alleen terminal", + "settings.general.row.appearance.title": "Uiterlijk", + "settings.general.row.appearance.description": "Pas aan hoe OpenCode eruitziet op je apparaat", + "settings.general.row.colorScheme.title": "Kleurenschema", + "settings.general.row.colorScheme.description": + "Kies of OpenCode het systeemthema, het lichte thema of het donkere thema gebruikt", + "settings.general.row.theme.title": "Thema", + "settings.general.row.theme.description": "Pas het thema van OpenCode aan.", + "settings.general.row.font.title": "Codelettertype", + "settings.general.row.font.description": "Pas het lettertype aan dat in codeblokken wordt gebruikt", + "settings.general.row.terminalFont.title": "Terminal-lettertype", + "settings.general.row.terminalFont.description": "Pas het lettertype aan dat in de terminal wordt gebruikt", + "settings.general.row.uiFont.title": "UI-lettertype", + "settings.general.row.uiFont.description": "Pas het lettertype aan dat in de hele interface wordt gebruikt", + "settings.general.row.followup.title": "Vervolggedrag", + "settings.general.row.followup.description": + "Kies of vervolgprompts de sessie direct bijsturen of in een wachtrij wachten", + "settings.general.row.followup.option.queue": "Wachtrij", + "settings.general.row.followup.option.steer": "Sturen", + "settings.general.row.showFileTree.title": "Bestandsstructuur", + "settings.general.row.showFileTree.description": "Toon het paneel met de bestandsstructuur in sessies", + "settings.general.row.showNavigation.title": "Navigatiebediening", + "settings.general.row.showNavigation.description": + "Toon de knoppen Vorige en Volgende in de titelbalk van de desktop-app", + "settings.general.row.showSearch.title": "Commandopalet", + "settings.general.row.showSearch.description": "Toon de knop voor zoeken en het commandopalet in de titelbalk", + "settings.general.row.showTerminal.title": "Terminal", + "settings.general.row.showTerminal.description": "Toon de terminalknop in de titelbalk van de desktop-app", + "settings.general.row.showStatus.title": "Serverstatus", + "settings.general.row.showStatus.description": "Toon de serverstatusknop in de titelbalk", + "settings.general.row.mobileTitlebarBottom.title": "Navigatie onderaan", + "settings.general.row.mobileTitlebarBottom.description": + "Plaats de titelbalk en sessietabbladen onderaan het scherm op mobiel", + "settings.general.row.showCustomAgents.title": "Toon agent", + "settings.general.row.showCustomAgents.description": + "Schakel tussen agenten in het invoerveld. Indien verborgen wordt standaard de Build-agent gebruikt.", + "settings.general.row.reasoningSummaries.title": "Toon redeneeroverzichten", + "settings.general.row.reasoningSummaries.description": + "Geef samenvattingen van modelredeneringen weer in de tijdlijn", + "settings.general.row.shellToolPartsExpanded.title": "Shelltoolonderdelen uitvouwen", + "settings.general.row.shellToolPartsExpanded.description": + "Toon shelltoolonderdelen standaard uitgevouwen in de tijdlijn", + "settings.general.row.editToolPartsExpanded.title": "Bewerkingstoolonderdelen uitvouwen", + "settings.general.row.editToolPartsExpanded.description": + "Toon bewerkings-, schrijf- en patchtoolonderdelen standaard uitgevouwen in de tijdlijn", + "settings.general.row.newInterface.title": "Nieuwe lay-out", + "settings.general.row.newInterface.badge": "Nieuw", + "settings.general.row.newInterface.description": + "Gebruik de nieuwe tabbladen en home-indeling. Wissel gedurende een beperkte tijd tussen lay-outs.", + "settings.general.row.newInterfaceNotice.title": "Je gebruikt nu de nieuwe lay-out", + "settings.general.row.newInterfaceNotice.description": "De vorige lay-out is niet meer beschikbaar", + "settings.general.row.newInterfaceNotice.dismiss": "Negeren", + "settings.general.row.pinchZoom.title": "Knijp om te zoomen", + "settings.general.row.pinchZoom.description": + "Sta knijp- en Ctrl-scroll-bewegingen op het trackpad toe om in te zoomen", + "settings.general.row.wayland.title": "Native Wayland gebruiken", + "settings.general.row.wayland.description": "Schakel X11-fallback uit op Wayland. Vereist opnieuw opstarten.", + "settings.general.row.wayland.tooltip": + "Op Linux met monitoren met verschillende vernieuwingsfrequenties kan native Wayland stabieler zijn.", + "settings.general.row.releaseNotes.title": "Versienotities", + "settings.general.row.releaseNotes.description": "Pop-ups met nieuwe functies na updates tonen", + "settings.updates.row.startup.title": "Controleer op updates bij het opstarten", + "settings.updates.row.startup.description": "Controleer automatisch op updates wanneer OpenCode wordt gestart", + "settings.updates.row.check.title": "Controleer op updates", + "settings.updates.row.check.description": "Controleer handmatig op updates en installeer deze indien beschikbaar", + "settings.updates.action.checkNow": "Controleer nu", + "settings.updates.action.checking": "Controleren...", + "settings.updates.action.downloading": "Downloaden...", + "settings.updates.action.installing": "Installeren...", + "settings.updates.toast.latest.title": "OpenCode is bijgewerkt", + "settings.updates.toast.latest.description": "Je gebruikt de nieuwste versie van OpenCode.", + "sound.option.none": "Geen", + "sound.option.alert01": "Waarschuwing 01", + "sound.option.alert02": "Waarschuwing 02", + "sound.option.alert03": "Waarschuwing 03", + "sound.option.alert04": "Waarschuwing 04", + "sound.option.alert05": "Waarschuwing 05", + "sound.option.alert06": "Waarschuwing 06", + "sound.option.alert07": "Waarschuwing 07", + "sound.option.alert08": "Waarschuwing 08", + "sound.option.alert09": "Waarschuwing 09", + "sound.option.alert10": "Waarschuwing 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "Nee 01", + "sound.option.nope02": "Nee 02", + "sound.option.nope03": "Nee 03", + "sound.option.nope04": "Nee 04", + "sound.option.nope05": "Nee 05", + "sound.option.nope06": "Nee 06", + "sound.option.nope07": "Nee 07", + "sound.option.nope08": "Nee 08", + "sound.option.nope09": "Nee 09", + "sound.option.nope10": "Nee 10", + "sound.option.nope11": "Nee 11", + "sound.option.nope12": "Nee 12", + "sound.option.yup01": "Ja 01", + "sound.option.yup02": "Ja 02", + "sound.option.yup03": "Ja 03", + "sound.option.yup04": "Ja 04", + "sound.option.yup05": "Ja 05", + "sound.option.yup06": "Ja 06", + "settings.general.notifications.agent.title": "Agent", + "settings.general.notifications.agent.description": + "Toon systeemmelding wanneer de agent klaar is of aandacht nodig heeft", + "settings.general.notifications.permissions.title": "Machtigingen", + "settings.general.notifications.permissions.description": "Systeemmelding weergeven wanneer toestemming vereist is", + "settings.general.notifications.errors.title": "Fouten", + "settings.general.notifications.errors.description": "Systeemmelding weergeven wanneer er een fout optreedt", + "settings.general.sounds.agent.title": "Agent", + "settings.general.sounds.agent.description": "Speel geluid af wanneer de agent klaar is of aandacht nodig heeft", + "settings.general.sounds.permissions.title": "Machtigingen", + "settings.general.sounds.permissions.description": "Speel geluid af wanneer toestemming vereist is", + "settings.general.sounds.errors.title": "Fouten", + "settings.general.sounds.errors.description": "Speel geluid af wanneer er een fout optreedt", + "settings.shortcuts.title": "Sneltoetsen", + "settings.shortcuts.reset.button": "Resetten naar standaardwaarden", + "settings.shortcuts.reset.toast.title": "Snelkoppelingen opnieuw ingesteld", + "settings.shortcuts.reset.toast.description": "Sneltoetsen zijn teruggezet naar de standaardwaarden.", + "settings.shortcuts.conflict.title": "Snelkoppeling al in gebruik", + "settings.shortcuts.conflict.description": "{{keybind}} is al toegewezen aan {{titles}}.", + "settings.shortcuts.unassigned": "Niet toegewezen", + "settings.shortcuts.pressKeys": "Druk op toetsen", + "settings.shortcuts.search.placeholder": "Zoek snelkoppelingen", + "settings.shortcuts.search.empty": "Geen snelkoppelingen gevonden", + "settings.shortcuts.group.general": "Algemeen", + "settings.shortcuts.group.session": "Sessie", + "settings.shortcuts.group.navigation": "Navigatie", + "settings.shortcuts.group.modelAndAgent": "Model en agent", + "settings.shortcuts.group.terminal": "Terminal", + "settings.shortcuts.group.prompt": "Prompt", + "settings.providers.title": "Aanbieders", + "settings.providers.description": "Aanbiederinstellingen kunnen hier worden geconfigureerd.", + "settings.providers.section.connected": "Verbonden aanbieders", + "settings.providers.connected.empty": "Geen verbonden aanbieders", + "settings.providers.connected.environmentDescription": "Verbonden via je omgevingsvariabelen", + "settings.providers.section.popular": "Populaire aanbieders", + "settings.providers.custom.description": "Voeg een OpenAI-compatibele aanbieder toe via de basis-URL.", + "settings.providers.tag.environment": "Omgeving", + "settings.providers.tag.config": "Configuratie", + "settings.providers.tag.custom": "Aangepast", + "settings.providers.tag.other": "Anders", + "settings.models.title": "Modellen", + "settings.models.description": "Modelinstellingen kunnen hier worden geconfigureerd.", + "settings.agents.title": "Agenten", + "settings.agents.description": "Agentinstellingen kunnen hier worden geconfigureerd.", + "settings.commands.title": "Commando's", + "settings.commands.description": "Commando-instellingen kunnen hier worden geconfigureerd.", + "settings.mcp.title": "MCP", + "settings.mcp.description": "MCP-instellingen kunnen hier worden geconfigureerd.", + "settings.permissions.title": "Machtigingen", + "settings.permissions.description": "Bepaal welke tools de server standaard kan gebruiken.", + "settings.permissions.section.tools": "Tools", + "settings.permissions.toast.updateFailed.title": "Kan machtigingen niet bijwerken", + "settings.permissions.action.allow": "Toestaan", + "settings.permissions.action.ask": "Vragen", + "settings.permissions.action.deny": "Weigeren", + "settings.permissions.tool.read.title": "Lees", + "settings.permissions.tool.read.description": "Een bestand lezen (komt overeen met het bestandspad)", + "settings.permissions.tool.edit.title": "Bewerken", + "settings.permissions.tool.edit.description": + "Wijzig bestanden, inclusief bewerkingen, schrijfbewerkingen en patches", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "Bestanden zoeken met globpatronen", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "Zoek bestandsinhoud met behulp van reguliere expressies", + "settings.permissions.tool.list.title": "Lijst", + "settings.permissions.tool.list.description": "Geef bestanden in een map weer", + "settings.permissions.tool.bash.title": "Bash", + "settings.permissions.tool.bash.description": "Voer shell-opdrachten uit", + "settings.permissions.tool.task.title": "Taak", + "settings.permissions.tool.task.description": "Start subagenten", + "settings.permissions.tool.skill.title": "Vaardigheid", + "settings.permissions.tool.skill.description": "Laad een vaardigheid op naam", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "Voer taalserverquery's uit", + "settings.permissions.tool.todowrite.title": "Taken schrijven", + "settings.permissions.tool.todowrite.description": "Werk de takenlijst bij", + "settings.permissions.tool.webfetch.title": "Web ophalen", + "settings.permissions.tool.webfetch.description": "Haal inhoud op van een URL", + "settings.permissions.tool.websearch.title": "Zoeken op internet", + "settings.permissions.tool.websearch.description": "Zoek op internet", + "settings.permissions.tool.external_directory.title": "Externe map", + "settings.permissions.tool.external_directory.description": "Toegang tot bestanden buiten de projectmap", + "settings.permissions.tool.doom_loop.title": "Doom-lus", + "settings.permissions.tool.doom_loop.description": "Herhaalde toolaanroepen met identieke invoer detecteren", + "session.delete.failed.title": "Kan sessie niet verwijderen", + "session.delete.title": "Sessie verwijderen", + "session.delete.confirm": 'Sessie "{{name}}" verwijderen?', + "session.delete.button": "Sessie verwijderen", + "workspace.new": "Nieuwe werkruimte", + "workspace.type.local": "lokaal", + "workspace.type.sandbox": "sandbox", + "workspace.create.failed.title": "Kan werkruimte niet maken", + "workspace.delete.failed.title": "Kan werkruimte niet verwijderen", + "workspace.resetting.title": "Werkruimte opnieuw instellen", + "workspace.resetting.description": "Dit kan een minuut duren.", + "workspace.reset.failed.title": "Kan de werkruimte niet opnieuw instellen", + "workspace.reset.success.title": "Werkruimte opnieuw ingesteld", + "workspace.reset.success.description": "De werkruimte komt nu overeen met de standaardbranch.", + "workspace.error.stillPreparing": "Werkruimte is nog in voorbereiding", + "workspace.status.checking": "Controleren op niet-samengevoegde wijzigingen...", + "workspace.status.error": "Kan de git-status niet verifiëren.", + "workspace.status.clean": "Er zijn geen niet-samengevoegde wijzigingen gedetecteerd.", + "workspace.status.dirty": "Niet-samengevoegde wijzigingen gedetecteerd in deze werkruimte.", + "workspace.delete.title": "Werkruimte verwijderen", + "workspace.delete.confirm": 'Werkruimte "{{name}}" verwijderen?', + "workspace.delete.button": "Werkruimte verwijderen", + "workspace.reset.title": "Werkruimte opnieuw instellen", + "workspace.reset.confirm": 'Werkruimte "{{name}}" opnieuw instellen?', + "workspace.reset.button": "Werkruimte opnieuw instellen", + "workspace.reset.archived.none": "Er worden geen actieve sessies gearchiveerd.", + "workspace.reset.archived.one": "Er wordt 1 sessie gearchiveerd.", + "workspace.reset.archived.many": "{{count}} sessies worden gearchiveerd.", + "workspace.reset.note": + "Hierdoor wordt de werkruimte opnieuw ingesteld zodat deze overeenkomt met de standaardbranch.", +} diff --git a/packages/app/src/i18n/no.ts b/packages/app/src/i18n/no.ts index 959e4c68cb40..11958029dc38 100644 --- a/packages/app/src/i18n/no.ts +++ b/packages/app/src/i18n/no.ts @@ -2,6 +2,105 @@ import { dict as en } from "./en" type Keys = keyof typeof en export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Arkiv", + "desktop.menu.edit": "Rediger", + "desktop.menu.view": "Vis", + "desktop.menu.go": "Gå", + "desktop.menu.window": "Vindu", + "desktop.menu.help": "Hjelp", + "desktop.menu.checkForUpdates": "Søk etter oppdateringer...", + "desktop.menu.settings": "Innstillinger", + "desktop.menu.reloadWebview": "Last inn WebView på nytt", + "desktop.menu.restart": "Start på nytt", + "desktop.menu.exportLogs": "Eksporter logger...", + "desktop.menu.newSession": "Ny sesjon", + "desktop.menu.openProject": "Åpne prosjekt...", + "desktop.menu.newWindow": "Nytt vindu", + "desktop.menu.closeWindow": "Lukk vindu", + "desktop.menu.undo": "Angre", + "desktop.menu.redo": "Gjør om", + "desktop.menu.cut": "Klipp ut", + "desktop.menu.copy": "Kopier", + "desktop.menu.paste": "Lim inn", + "desktop.menu.delete": "Slett", + "desktop.menu.selectAll": "Merk alt", + "desktop.menu.toggleSidebar": "Vis eller skjul sidepanel", + "desktop.menu.toggleTerminal": "Vis eller skjul terminal", + "desktop.menu.toggleFileTree": "Vis eller skjul filtreet", + "desktop.menu.reload": "Last inn på nytt", + "desktop.menu.toggleDeveloperTools": "Vis eller skjul utviklerverktøy", + "desktop.menu.actualSize": "Faktisk størrelse", + "desktop.menu.zoomIn": "Zoom inn", + "desktop.menu.zoomOut": "Zoom ut", + "desktop.menu.toggleFullScreen": "Slå fullskjerm av eller på", + "desktop.menu.back": "Tilbake", + "desktop.menu.forward": "Frem", + "desktop.menu.previousSession": "Forrige sesjon", + "desktop.menu.nextSession": "Neste sesjon", + "desktop.menu.previousProject": "Forrige prosjekt", + "desktop.menu.nextProject": "Neste prosjekt", + "desktop.menu.minimize": "Minimer", + "desktop.menu.maximize": "Maksimer", + "desktop.menu.documentation": "OpenCode-dokumentasjon", + "desktop.menu.supportForum": "Brukerstøtteforum", + "desktop.menu.shareFeedback": "Del tilbakemelding", + "desktop.menu.reportBug": "Rapporter en feil", + "desktop.menu.ariaLabel": "OpenCode-meny", + + "desktop.updater.dialog.checkFailed.message": "Søket etter oppdateringer mislyktes.", + "desktop.updater.dialog.checkFailed.title": "Oppdateringsfeil", + "desktop.updater.dialog.upToDate.message": "Du har den nyeste versjonen.", + "desktop.updater.dialog.upToDate.title": "Ingen oppdateringer", + "desktop.updater.dialog.ready.message": "Oppdateringen {{version}} er lastet ned. Vil du starte på nytt nå?", + "desktop.updater.dialog.ready.title": "Oppdateringen er klar", + "desktop.updater.dialog.restart": "Start på nytt", + "desktop.updater.dialog.later": "Senere", + + "desktop.recovery.action.relaunch": "Start appen på nytt", + "desktop.recovery.action.exportLogs": "Eksporter logger", + "desktop.recovery.action.keepWaiting": "Fortsett å vente", + "desktop.recovery.action.quit": "Avslutt", + "desktop.recovery.loadFailed": "OpenCode kunne ikke lastes inn", + "desktop.recovery.terminated": "OpenCode-vinduet ble uventet avsluttet", + "desktop.recovery.unresponsive": "OpenCode svarer ikke", + "desktop.recovery.unresponsive.detail": "Du kan starte appen på nytt, åpne loggene eller fortsette å vente.", + "desktop.recovery.loadFailed.detail": "Vindu: {{window}}\nURL: {{url}}\nFeil: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Vindu: {{window}}\nÅrsak: {{reason}}\nKode: {{code}}", + "desktop.recovery.unknown": "", + + "desktop.dialog.chooseFolder": "Velg en mappe", + "desktop.dialog.chooseFile": "Velg en fil", + "desktop.dialog.saveFile": "Lagre fil", + "desktop.dialog.files": "Filer", + "desktop.server.local": "Lokal server", + + "desktop.wsl.error.windowsOnly": "WSL er bare tilgjengelig på Windows", + "desktop.wsl.error.unavailable": "WSL er utilgjengelig", + "desktop.wsl.error.listInstalled": "Kunne ikke vise installerte WSL-distribusjoner", + "desktop.wsl.error.listOnline": "Kunne ikke vise tilgjengelige WSL-distribusjoner", + "desktop.wsl.error.executeDistro": "Kan ikke kjøre kommandoer i distribusjonen", + "desktop.wsl.error.installWsl": "Installasjonen av WSL mislyktes", + "desktop.wsl.error.installDistro": "Kunne ikke installere distribusjonen: {{distro}}", + "desktop.wsl.error.installOpencode": "Installasjonen av OpenCode mislyktes", + "desktop.wsl.error.alreadyAdded": "{{distro}} er allerede lagt til", + "desktop.wsl.error.opencodeMissing": "opencode er ikke installert i denne distribusjonen", + "desktop.wsl.error.opencodeCannotRun": "opencode er installert, men kunne ikke kjøres", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode er ikke installert i {{distro}}", + "desktop.wsl.error.updateVersion": + "Oppdateringen av OpenCode er fullført, men {{distro}} rapporterer fortsatt {{installed}}; forventet {{expected}}", + "desktop.wsl.error.noVersion": "ingen versjon", + "desktop.wsl.error.serverExited": "WSL-serveren ble avsluttet etter oppstart (code={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL-serveren ble avsluttet før den var klar (code={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": + "Tidsavbrudd for tilstandskontrollen av sidecar for {{distro}} etter {{timeout}} ms", + "desktop.wsl.error.commandTimeout": "Tidsavbrudd for {{command}} {{args}} etter {{timeout}} ms", + "desktop.wsl.error.failedPort": "Kunne ikke hente port", + + "desktop.picker.error.notSelected": "Ingen fil ble valgt i filvelgeren", + "desktop.picker.error.sizeLimit": "De valgte vedleggene overskrider grensen på {{limit}} MB", + "command.category.suggested": "Foreslått", "command.category.view": "Visning", "command.category.project": "Prosjekt", @@ -19,6 +118,7 @@ export const dict = { "command.category.permissions": "Tillatelser", "command.category.workspace": "Arbeidsområde", "command.category.settings": "Innstillinger", + "command.logs.export": "Eksporter logger", "theme.scheme.system": "System", "theme.scheme.light": "Lys", @@ -31,8 +131,8 @@ export const dict = { "command.settings.open": "Åpne innstillinger", "command.session.previous": "Forrige sesjon", "command.session.next": "Neste sesjon", - "command.session.previous.unseen": "Forrige uleste økt", - "command.session.next.unseen": "Neste uleste økt", + "command.session.previous.unseen": "Forrige uleste sesjon", + "command.session.next.unseen": "Neste uleste sesjon", "command.session.archive": "Arkiver sesjon", "command.palette": "Kommandopalett", @@ -91,6 +191,9 @@ export const dict = { "command.session.unshare": "Slutt å dele sesjon", "command.session.unshare.description": "Slutt å dele denne sesjonen", + "command.session.export": "Eksporter sesjon", + "command.session.export.description": "Eksporter hele sesjonsutskriften som JSON", + "palette.search.placeholder": "Søk i filer, kommandoer og sesjoner", "palette.search.placeholder.home": "Søk i kommandoer og sesjoner", "palette.empty": "Ingen resultater funnet", @@ -101,6 +204,7 @@ export const dict = { "dialog.provider.empty": "Ingen leverandører funnet", "dialog.provider.group.popular": "Populære", "dialog.provider.group.other": "Andre", + "dialog.provider.custom.label": "Egendefinert OpenAI-kompatibel leverandør", "dialog.provider.tag.recommended": "Anbefalt", "dialog.provider.opencode.note": "Utvalgte modeller inkludert Claude, GPT, Gemini og mer", "dialog.provider.opencode.tagline": "Pålitelige, optimaliserte modeller", @@ -121,6 +225,7 @@ export const dict = { "dialog.model.unpaid.freeModels.title": "Gratis modeller levert av OpenCode", "dialog.model.unpaid.addMore.title": "Legg til flere modeller fra populære leverandører", + "dialog.model.unpaid.viewMoreProviders": "Se over 70 flere leverandører", "dialog.provider.viewAll": "Vis flere leverandører", @@ -128,12 +233,14 @@ export const dict = { "provider.connect.title.anthropicProMax": "Logg inn med Claude Pro/Max", "provider.connect.selectMethod": "Velg innloggingsmetode for {{provider}}.", "provider.connect.method.apiKey": "API-nøkkel", + "provider.connect.method.browser": "Nettleser", + "provider.connect.method.headless": "Uten nettleser", "provider.connect.status.inProgress": "Autorisering pågår...", "provider.connect.status.waiting": "Venter på autorisering...", "provider.connect.status.failed": "Autorisering mislyktes: {{error}}", "provider.connect.apiKey.description": - "Skriv inn din {{provider}} API-nøkkel for å koble til kontoen din og bruke {{provider}}-modeller i OpenCode.", - "provider.connect.apiKey.label": "{{provider}} API-nøkkel", + "Skriv inn API-nøkkelen din for {{provider}} for å koble til kontoen din og bruke {{provider}}-modeller i OpenCode.", + "provider.connect.apiKey.label": "{{provider}}-API-nøkkel", "provider.connect.apiKey.placeholder": "API-nøkkel", "provider.connect.apiKey.required": "API-nøkkel er påkrevd", "provider.connect.opencodeZen.line1": @@ -147,7 +254,7 @@ export const dict = { "provider.connect.oauth.code.visit.link": "denne lenken", "provider.connect.oauth.code.visit.suffix": " for å hente autorisasjonskoden din for å koble til kontoen din og bruke {{provider}}-modeller i OpenCode.", - "provider.connect.oauth.code.label": "{{method}} autorisasjonskode", + "provider.connect.oauth.code.label": "{{method}}-autorisasjonskode", "provider.connect.oauth.code.placeholder": "Autorisasjonskode", "provider.connect.oauth.code.required": "Autorisasjonskode er påkrevd", "provider.connect.oauth.code.invalid": "Ugyldig autorisasjonskode", @@ -160,6 +267,7 @@ export const dict = { "provider.connect.toast.connected.description": "{{provider}}-modeller er nå tilgjengelige.", "provider.custom.title": "Egendefinert leverandør", + "provider.custom.unavailable": "Egendefinerte leverandører er ikke tilgjengelige på denne serveren", "provider.custom.description.prefix": "Konfigurer en OpenAI-kompatibel leverandør. Se ", "provider.custom.description.link": "dokumentasjon for leverandørkonfigurasjon", "provider.custom.description.suffix": ".", @@ -168,11 +276,12 @@ export const dict = { "provider.custom.field.providerID.description": "Små bokstaver, tall, bindestreker eller understreker", "provider.custom.field.name.label": "Visningsnavn", "provider.custom.field.name.placeholder": "Min AI-leverandør", - "provider.custom.field.baseURL.label": "Base-URL", + "provider.custom.field.baseURL.label": "Basis-URL", "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", "provider.custom.field.apiKey.label": "API-nøkkel", "provider.custom.field.apiKey.placeholder": "API-nøkkel", - "provider.custom.field.apiKey.description": "Valgfritt. La stå tomt hvis du administrerer autentisering via headers.", + "provider.custom.field.apiKey.description": + "Valgfritt. La stå tomt hvis du administrerer autentisering via HTTP-hoder.", "provider.custom.models.label": "Modeller", "provider.custom.models.id.label": "ID", "provider.custom.models.id.placeholder": "modell-id", @@ -180,18 +289,18 @@ export const dict = { "provider.custom.models.name.placeholder": "Visningsnavn", "provider.custom.models.remove": "Fjern modell", "provider.custom.models.add": "Legg til modell", - "provider.custom.headers.label": "Headers (valgfritt)", - "provider.custom.headers.key.label": "Header", - "provider.custom.headers.key.placeholder": "Header-Navn", + "provider.custom.headers.label": "HTTP-hoder (valgfritt)", + "provider.custom.headers.key.label": "HTTP-hode", + "provider.custom.headers.key.placeholder": "Navn på HTTP-hode", "provider.custom.headers.value.label": "Verdi", "provider.custom.headers.value.placeholder": "verdi", - "provider.custom.headers.remove": "Fjern header", - "provider.custom.headers.add": "Legg til header", + "provider.custom.headers.remove": "Fjern HTTP-hode", + "provider.custom.headers.add": "Legg til HTTP-hode", "provider.custom.error.providerID.required": "Leverandør-ID er påkrevd", "provider.custom.error.providerID.format": "Bruk små bokstaver, tall, bindestreker eller understreker", - "provider.custom.error.providerID.exists": "Den leverandør-IDen finnes allerede", + "provider.custom.error.providerID.exists": "Denne leverandør-ID-en finnes allerede", "provider.custom.error.name.required": "Visningsnavn er påkrevd", - "provider.custom.error.baseURL.required": "Base-URL er påkrevd", + "provider.custom.error.baseURL.required": "Basis-URL er påkrevd", "provider.custom.error.baseURL.format": "Må starte med http:// eller https://", "provider.custom.error.required": "Påkrevd", "provider.custom.error.duplicate": "Duplikat", @@ -224,7 +333,7 @@ export const dict = { "common.cancel": "Avbryt", "common.connect": "Koble til", "common.disconnect": "Koble fra", - "common.continue": "Send inn", + "common.continue": "Fortsett", "common.submit": "Send inn", "common.save": "Lagre", "common.saving": "Lagrer...", @@ -245,13 +354,13 @@ export const dict = { "prompt.example.3": "Fiks ødelagte tester", "prompt.example.4": "Forklar hvordan autentisering fungerer", "prompt.example.5": "Finn og fiks sikkerhetssårbarheter", - "prompt.example.6": "Legg til enhetstester for brukerservicen", + "prompt.example.6": "Legg til enhetstester for brukertjenesten", "prompt.example.7": "Refaktorer denne funksjonen for bedre lesbarhet", "prompt.example.8": "Hva betyr denne feilen?", "prompt.example.9": "Hjelp meg med å feilsøke dette problemet", "prompt.example.10": "Generer API-dokumentasjon", "prompt.example.11": "Optimaliser databasespørringer", - "prompt.example.12": "Legg til inputvalidering", + "prompt.example.12": "Legg til inndatavalidering", "prompt.example.13": "Lag en ny komponent for...", "prompt.example.14": "Hvordan deployer jeg dette prosjektet?", "prompt.example.15": "Gjennomgå koden min for beste praksis", @@ -261,7 +370,7 @@ export const dict = { "prompt.example.19": "Legg til logging i hele kodebasen", "prompt.example.20": "Hvilke avhengigheter er utdaterte?", "prompt.example.21": "Hjelp meg med å skrive et migreringsskript", - "prompt.example.22": "Implementer caching for dette endepunktet", + "prompt.example.22": "Implementer hurtigbufring for dette endepunktet", "prompt.example.23": "Legg til paginering i denne listen", "prompt.example.24": "Lag en CLI-kommando for...", "prompt.example.25": "Hvordan fungerer miljøvariabler her?", @@ -271,7 +380,7 @@ export const dict = { "prompt.dropzone.label": "Slipp bilder, PDF-er eller tekstfiler her", "prompt.dropzone.file.label": "Slipp for å @nevne fil", "prompt.slash.badge.custom": "egendefinert", - "prompt.slash.badge.skill": "skill", + "prompt.slash.badge.skill": "ferdighet", "prompt.slash.badge.mcp": "mcp", "prompt.context.active": "aktiv", "prompt.context.includeActiveFile": "Inkluder aktiv fil", @@ -297,14 +406,14 @@ export const dict = { "prompt.toast.shellSendFailed.title": "Kunne ikke sende shell-kommando", "prompt.toast.commandSendFailed.title": "Kunne ikke sende kommando", "prompt.toast.promptSendFailed.title": "Kunne ikke sende forespørsel", - "prompt.toast.promptSendFailed.description": "Kunne ikke hente økt", + "prompt.toast.promptSendFailed.description": "Kunne ikke hente sesjon", "dialog.mcp.title": "MCP-er", "dialog.mcp.description": "{{enabled}} av {{total}} aktivert", "dialog.mcp.empty": "Ingen MCP-er konfigurert", "dialog.lsp.empty": "LSP-er automatisk oppdaget fra filtyper", - "dialog.plugins.empty": "Plugins konfigurert i opencode.json", + "dialog.plugins.empty": "Programtillegg konfigurert i opencode.json", "mcp.status.connected": "tilkoblet", "mcp.status.failed": "mislyktes", @@ -364,8 +473,11 @@ export const dict = { "dialog.project.edit.worktree.startup.description": "Kjører etter at et nytt arbeidsområde (worktree) er opprettet.", "dialog.project.edit.worktree.startup.placeholder": "f.eks. bun install", + "dialog.usageExceeded.dontShowAgain": "Ikke vis igjen", + "context.breakdown.title": "Kontekstfordeling", - "context.breakdown.note": 'Omtrentlig fordeling av input-tokens. "Annet" inkluderer verktøydefinisjoner og overhead.', + "context.breakdown.note": + 'Omtrentlig fordeling av inndatatokener. "Annet" inkluderer verktøydefinisjoner og overhead.', "context.breakdown.system": "System", "context.breakdown.user": "Bruker", "context.breakdown.assistant": "Assistent", @@ -375,24 +487,26 @@ export const dict = { "context.systemPrompt.title": "Systemprompt", "context.rawMessages.title": "Rå meldinger", + "context.export.session": "Eksporter sesjon", + "context.stats.session": "Sesjon", "context.stats.messages": "Meldinger", "context.stats.provider": "Leverandør", "context.stats.model": "Modell", "context.stats.limit": "Kontekstgrense", - "context.stats.totalTokens": "Totalt antall tokens", + "context.stats.totalTokens": "Totalt antall tokener", "context.stats.usage": "Forbruk", - "context.stats.inputTokens": "Input-tokens", - "context.stats.outputTokens": "Output-tokens", - "context.stats.reasoningTokens": "Resonnerings-tokens", - "context.stats.cacheTokens": "Cache-tokens (les/skriv)", + "context.stats.inputTokens": "Inndatatokener", + "context.stats.outputTokens": "Utdatatokener", + "context.stats.reasoningTokens": "Resonneringstokener", + "context.stats.cacheTokens": "Hurtigbuffertokener (les/skriv)", "context.stats.userMessages": "Brukermeldinger", "context.stats.assistantMessages": "Assistentmeldinger", "context.stats.totalCost": "Total kostnad", "context.stats.sessionCreated": "Sesjon opprettet", "context.stats.lastActivity": "Siste aktivitet", - "context.usage.tokens": "Tokens", + "context.usage.tokens": "Tokener", "context.usage.usage": "Forbruk", "context.usage.cost": "Kostnad", "context.usage.clickToView": "Klikk for å se kontekst", @@ -423,9 +537,9 @@ export const dict = { "toast.scheme.title": "Fargevalg", "toast.workspace.enabled.title": "Arbeidsområder aktivert", - "toast.workspace.enabled.description": "Flere worktrees vises nå i sidefeltet", + "toast.workspace.enabled.description": "Flere arbeidsområder vises nå i sidefeltet", "toast.workspace.disabled.title": "Arbeidsområder deaktivert", - "toast.workspace.disabled.description": "Kun hoved-worktree vises i sidefeltet", + "toast.workspace.disabled.description": "Kun hovedarbeidsområdet vises i sidefeltet", "toast.permissions.autoaccept.on.title": "Aksepterer tillatelser automatisk", "toast.permissions.autoaccept.on.description": "Forespørsler om tillatelse vil bli godkjent automatisk", @@ -452,6 +566,11 @@ export const dict = { "toast.session.unshare.failed.title": "Kunne ikke stoppe deling av sesjon", "toast.session.unshare.failed.description": "Det oppstod en feil da delingen av sesjonen skulle stoppes", + "toast.session.export.success.title": "Sesjon eksportert", + "toast.session.export.success.description": "Sesjonen ble lagret i {{filename}}", + "toast.session.export.failed.title": "Kunne ikke eksportere sesjon", + "toast.session.export.failed.description": "Det oppstod en feil under eksport av sesjonen", + "toast.session.listFailed.title": "Kunne ikke laste sesjoner for {{project}}", "toast.update.title": "Oppdatering tilgjengelig", @@ -473,7 +592,7 @@ export const dict = { "error.page.version": "Versjon: {{version}}", "error.dev.rootNotFound": - "Rotelement ikke funnet. Glemte du å legge det til i index.html? Eller kanskje id-attributten er feilstavet?", + "Rotelement ikke funnet. Glemte du å legge det til i index.html? Eller kanskje id-attributtet er feilstavet?", "error.serverSync.connectFailed": "Kunne ikke koble til server. Kjører det en server på `{{url}}`?", "directory.error.invalidUrl": "Ugyldig mappe i URL-en.", @@ -573,7 +692,7 @@ export const dict = { "status.popover.tab.servers": "Servere", "status.popover.tab.mcp": "MCP", "status.popover.tab.lsp": "LSP", - "status.popover.tab.plugins": "Plugins", + "status.popover.tab.plugins": "Programtillegg", "status.popover.action.manageServers": "Administrer servere", "session.share.popover.title": "Publiser på nett", @@ -601,6 +720,12 @@ export const dict = { "terminal.connectionLost.title": "Tilkobling mistet", "terminal.connectionLost.description": "Terminalforbindelsen ble avbrutt. Dette kan skje når serveren starter på nytt.", + "terminal.connectTicket.csrfError": + "Tilkoblingsbilletten for PTY ble avvist av opprinnelses- eller CSRF-kontroller. Kontroller serverens CORS-konfigurasjon.", + "terminal.connectTicket.statusError": "Tilkoblingsbilletten for PTY mislyktes med {{status}}", + + "titlebar.update": "Oppdater", + "titlebar.updateVersion": "Oppdater {{version}}", "common.closeTab": "Lukk fane", "common.dismiss": "Avvis", @@ -608,12 +733,13 @@ export const dict = { "common.moreOptions": "Flere alternativer", "common.learnMore": "Lær mer", "common.rename": "Gi nytt navn", + "common.export": "Eksporter", "common.reset": "Tilbakestill", "common.archive": "Arkiver", "common.delete": "Slett", "common.close": "Lukk", "common.edit": "Rediger", - "common.loadMore": "Last flere", + "common.loadMore": "Last inn flere", "common.key.esc": "ESC", "sidebar.menu.toggle": "Veksle meny", @@ -651,16 +777,17 @@ export const dict = { "settings.general.row.appearance.title": "Utseende", "settings.general.row.appearance.description": "Tilpass hvordan OpenCode ser ut på enheten din", "settings.general.row.colorScheme.title": "Fargevalg", - "settings.general.row.colorScheme.description": "Velg om OpenCode skal følge systemets, lyst eller mørkt tema", + "settings.general.row.colorScheme.description": + "Velg om OpenCode skal følge systeminnstillingen eller bruke lyst eller mørkt tema", "settings.general.row.theme.title": "Tema", - "settings.general.row.theme.description": "Tilpass hvordan OpenCode er tematisert.", + "settings.general.row.theme.description": "Tilpass temaet i OpenCode.", "settings.general.row.font.title": "Kodefont", "settings.general.row.font.description": "Tilpass skrifttypen som brukes i kodeblokker", "settings.general.row.terminalFont.title": "Terminalskrift", "settings.general.row.terminalFont.description": "Tilpass skrifttypen som brukes i terminalen", "settings.general.row.uiFont.title": "UI-skrift", "settings.general.row.uiFont.description": "Tilpass skrifttypen som brukes i hele grensesnittet", - "settings.general.row.followup.title": "Oppfølgingsadferd", + "settings.general.row.followup.title": "Oppfølgingsatferd", "settings.general.row.followup.description": "Velg om oppfølgingsspørsmål skal kjøres umiddelbart eller vente i kø", "settings.general.row.followup.option.queue": "Kø", "settings.general.row.followup.option.steer": "Styr", @@ -671,10 +798,10 @@ export const dict = { "settings.general.row.editToolPartsExpanded.title": "Utvid edit-verktøydeler", "settings.general.row.editToolPartsExpanded.description": "Vis edit-, write- og patch-verktøydeler utvidet som standard i tidslinjen", - "settings.general.row.wayland.title": "Bruk innebygd Wayland", - "settings.general.row.wayland.description": "Deaktiver X11-fallback på Wayland. Krever omstart.", + "settings.general.row.wayland.title": "Bruk Wayland direkte", + "settings.general.row.wayland.description": "Deaktiver X11-reserveløsningen på Wayland. Krever omstart.", "settings.general.row.wayland.tooltip": - "På Linux med skjermer med blandet oppdateringsfrekvens kan innebygd Wayland være mer stabilt.", + "På Linux med skjermer med blandet oppdateringsfrekvens kan direkte Wayland-støtte være mer stabilt.", "settings.general.row.releaseNotes.title": "Utgivelsesnotater", "settings.general.row.releaseNotes.description": 'Vis "Hva er nytt"-vinduer etter oppdateringer', @@ -685,7 +812,7 @@ export const dict = { "settings.updates.row.check.description": "Se etter oppdateringer manuelt og installer hvis tilgjengelig", "settings.updates.action.checkNow": "Sjekk nå", "settings.updates.action.checking": "Sjekker...", - "settings.updates.toast.latest.title": "Du er oppdatert", + "settings.updates.toast.latest.title": "OpenCode er oppdatert", "settings.updates.toast.latest.description": "Du bruker den nyeste versjonen av OpenCode.", "sound.option.none": "Ingen", "sound.option.alert01": "Varsel 01", @@ -754,7 +881,7 @@ export const dict = { "settings.shortcuts.reset.toast.title": "Snarveier tilbakestilt", "settings.shortcuts.reset.toast.description": "Tastatursnarveier er tilbakestilt til standard.", "settings.shortcuts.conflict.title": "Snarvei allerede i bruk", - "settings.shortcuts.conflict.description": "{{keybind}} er allerede tilordnet til {{titles}}.", + "settings.shortcuts.conflict.description": "{{keybind}} er allerede tilordnet {{titles}}.", "settings.shortcuts.unassigned": "Ikke tilordnet", "settings.shortcuts.pressKeys": "Trykk taster", "settings.shortcuts.search.placeholder": "Søk etter snarveier", @@ -804,7 +931,7 @@ export const dict = { "settings.permissions.tool.grep.title": "Grep", "settings.permissions.tool.grep.description": "Søk i filinnhold ved hjelp av regulære uttrykk", "settings.permissions.tool.list.title": "Liste", - "settings.permissions.tool.list.description": "List filer i en mappe", + "settings.permissions.tool.list.description": "List opp filer i en mappe", "settings.permissions.tool.bash.title": "Bash", "settings.permissions.tool.bash.description": "Kjør shell-kommandoer", "settings.permissions.tool.task.title": "Oppgave", @@ -822,7 +949,7 @@ export const dict = { "settings.permissions.tool.external_directory.title": "Ekstern mappe", "settings.permissions.tool.external_directory.description": "Få tilgang til filer utenfor prosjektmappen", "settings.permissions.tool.doom_loop.title": "Doom Loop", - "settings.permissions.tool.doom_loop.description": "Oppdager gjentatte verktøykall med identisk input", + "settings.permissions.tool.doom_loop.description": "Oppdager gjentatte verktøykall med identiske inndata", "session.delete.failed.title": "Kunne ikke slette sesjon", "session.delete.title": "Slett sesjon", @@ -867,14 +994,14 @@ export const dict = { "common.time.hoursAgo.short": "{{count}} t siden", "common.time.daysAgo.short": "{{count}} d siden", "settings.providers.connected.environmentDescription": "Koblet til fra miljøvariablene dine", - "settings.providers.custom.description": "Legg til en OpenAI-kompatibel leverandør via basis-URL.", + "settings.providers.custom.description": "Legg til en OpenAI-kompatibel leverandør via en basis-URL.", "app.server.unreachable": "Kunne ikke nå {{server}}", "app.server.retrying": "Prøver på nytt automatisk...", "app.server.otherServers": "Andre servere", "dialog.server.add.usernamePlaceholder": "brukernavn", "dialog.server.add.passwordPlaceholder": "passord", - "server.row.noUsername": "inget brukernavn", + "server.row.noUsername": "ikke noe brukernavn", "session.review.noVcs.createGit.title": "Opprett et Git-depot", "session.review.noVcs.createGit.description": "Spor, gjennomgå og angre endringer i dette prosjektet", "session.review.noVcs.createGit.actionLoading": "Oppretter Git-depot...", @@ -883,6 +1010,9 @@ export const dict = { "session.question.progress": "{{current}} av {{total}} spørsmål", "session.header.open.finder": "Finder", "session.header.open.fileExplorer": "Filutforsker", + "session.header.reveal.finder": "Vis i Finder", + "session.header.reveal.fileExplorer": "Vis i Filutforsker", + "session.header.reveal.containingFolder": "Åpne mappen som inneholder dette elementet", "session.header.open.fileManager": "Filbehandler", "session.header.open.app.vscode": "VS Code", "session.header.open.app.cursor": "Cursor", @@ -901,25 +1031,33 @@ export const dict = { "debugBar.na": "i/t", "debugBar.nav.label": "NAV", "debugBar.nav.tip": - "Siste fullførte ruteovergang som berører en sesjonsside, målt fra ruterstart til første opptegning etter at den har roet seg.", + "Siste fullførte ruteovergang som berører en sesjonsside, målt fra ruterstart til første gjengivelse etter at den har roet seg.", "debugBar.fps.label": "FPS", "debugBar.fps.tip": "Rullende bilder per sekund over de siste 5 sekundene.", "debugBar.frame.label": "FRAME", - "debugBar.frame.tip": "Verste bildetid over de siste 5 sekundene.", + "debugBar.frame.tip": "Lengste bildetid over de siste 5 sekundene.", "debugBar.jank.label": "JANK", - "debugBar.jank.tip": "Bilder over 32ms i de siste 5 sekundene.", + "debugBar.jank.tip": "Bilder som tar over 32 ms i de siste 5 sekundene.", "debugBar.long.label": "LONG", - "debugBar.long.tip": "Blokkert tid og antall lange oppgaver i de siste 5 sekundene. Maks oppgave: {{max}}.", + "debugBar.long.tip": "Blokkert tid og antall lange oppgaver i de siste 5 sekundene. Lengste oppgave: {{max}}.", "debugBar.delay.label": "DELAY", - "debugBar.delay.tip": "Verste observerte inndataforsinkelse i de siste 5 sekundene.", + "debugBar.delay.tip": "Lengste observerte inndataforsinkelse i de siste 5 sekundene.", "debugBar.inp.label": "INP", "debugBar.inp.tip": "Omtrentlig interaksjonsvarighet over de siste 5 sekundene. Dette er INP-lignende, ikke den offisielle Web Vitals INP.", "debugBar.cls.label": "CLS", "debugBar.cls.tip": "Kumulativ layoutforskyvning for gjeldende app-levetid.", "debugBar.mem.label": "MEM", - "debugBar.mem.tipUnavailable": "Brukt JS-heap vs heap-grense. Kun Chromium.", - "debugBar.mem.tip": "Brukt JS-heap vs heap-grense. {{used}} av {{limit}}.", + "debugBar.mem.tipUnavailable": "Brukt JS-heap kontra heap-grense. Kun Chromium.", + "debugBar.mem.tip": "Brukt JS-heap kontra heap-grense. {{used}} av {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Tving fokusstiler på alle interaktive elementer", + "debugBar.focus.on": "PÅ", + "debugBar.focus.off": "AV", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Tving layoutretningen for hele appen uten å endre valgt språk", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", "common.key.ctrl": "Ctrl", "common.key.alt": "Alt", "common.key.shift": "Shift", @@ -1030,6 +1168,22 @@ export const dict = { "wsl.onboarding.versionMismatch": "Den installerte versjonen samsvarer ikke med versjonen av skrivebordsappen.", "wsl.onboarding.adding": "Legger til...", + "help.tabs.toast.ariaLabel": "Vi introduserer faner. Organiser arbeidet og de aktive sesjonene dine med faner", + "help.tabs.toast.dismiss": "Avvis informasjon om faner", + "help.tabs.title": "Vi introduserer faner", + "help.tabs.description": "Organiser arbeidet og de aktive sesjonene dine med faner", + "help.tabs.date": "14. juli", + "help.tabs.introduction": "OpenCode Desktop er nå bygget rundt faner.", + "help.tabs.sessions": + "Start en ny sesjon i en fane, eller åpne en eksisterende sesjon fra et av prosjektene dine. Åpne en ny fane når du skal begynne på noe nytt, og lukk den når du er ferdig.", + "help.tabs.organize": + "Når du har noen få faner åpne, blir det enklere å organisere de aktive sesjonene. Gi fanene navn som er lette å huske, hvis du planlegger å beholde dem.", + "help.tabs.home": + "Du finner alle sesjonene og prosjektene dine på den nye Hjem-skjermen. Når du velger en sesjon, åpnes den i en fane.", + "help.tabs.persistence": "Fanene er fortsatt åpne når du åpner appen på nytt.", + "help.tabs.worktrees": + "Det nye oppsettet støtter ikke Git Worktrees ennå, men støtte kommer snart. Hvis du foretrekker å fortsette med det forrige oppsettet, kan du bytte mellom oppsettene i Innstillinger. Vær oppmerksom på at det nye oppsettet blir permanent om noen uker.", + "language.uk": "Українська", "error.page.description.localServerStartup": "Det oppstod en feil under oppstart av den lokale serveren.", @@ -1058,7 +1212,7 @@ export const dict = { "session.error.notFound.description": "Denne fanen peker til en sesjon som ikke lenger finnes på denne serveren.", "session.error.notFound.closeTab": "Lukk fane", "session.error.serverConnection": "Kan ikke koble til denne serveren", - "session.review.noUncommittedChanges": "Ingen ucommittede endringer ennå", + "session.review.noUncommittedChanges": "Ingen endringer som ikke er sjekket inn ennå", "session.review.noBranchChanges": "Ingen grenendringer ennå", "session.question.minimize": "Minimer spørsmål", "session.question.restore": "Gjenopprett spørsmål", @@ -1096,8 +1250,9 @@ export const dict = { "settings.general.row.mobileTitlebarBottom.title": "Navigasjon nederst", "settings.general.row.mobileTitlebarBottom.description": "Plasser tittellinjen og sesjonsfanene nederst på mobilskjermen", - "settings.general.row.showCustomAgents.title": "Egendefinerte agenter", - "settings.general.row.showCustomAgents.description": "Vis agentvelgeren i skrivefeltet", + "settings.general.row.showCustomAgents.title": "Vis agent", + "settings.general.row.showCustomAgents.description": + "Bytt mellom agenter i skrivefeltet. Når velgeren er skjult, brukes Build-agenten som standard.", "settings.general.row.newInterface.title": "Nytt oppsett", "settings.general.row.newInterface.badge": "Ny", "settings.general.row.newInterface.description": diff --git a/packages/app/src/i18n/pa.ts b/packages/app/src/i18n/pa.ts new file mode 100644 index 000000000000..6298581c0aab --- /dev/null +++ b/packages/app/src/i18n/pa.ts @@ -0,0 +1,1161 @@ +export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "فائل", + "desktop.menu.edit": "ترمیم", + "desktop.menu.view": "نظارہ", + "desktop.menu.go": "جاؤ", + "desktop.menu.window": "ونڈو", + "desktop.menu.help": "مدد", + "desktop.menu.checkForUpdates": "اپ ڈیٹاں دی پڑتال کرو...", + "desktop.menu.settings": "ترتیبات", + "desktop.menu.reloadWebview": "Webview دوبارہ لوڈ کرو", + "desktop.menu.restart": "دوبارہ شروع کرو", + "desktop.menu.exportLogs": "لاگ برآمد کرو...", + "desktop.menu.newSession": "نواں سیشن", + "desktop.menu.openProject": "پروجیکٹ کھولو...", + "desktop.menu.newWindow": "نویں ونڈو", + "desktop.menu.closeWindow": "ونڈو بند کرو", + "desktop.menu.undo": "کالعدم کرو", + "desktop.menu.redo": "دوبارہ کرو", + "desktop.menu.cut": "کٹ کرو", + "desktop.menu.copy": "کاپی کرو", + "desktop.menu.paste": "چپکاؤ", + "desktop.menu.delete": "مٹاؤ", + "desktop.menu.selectAll": "سارا کجھ چنو", + "desktop.menu.toggleSidebar": "سائڈبار ٹوگل کرو", + "desktop.menu.toggleTerminal": "ٹرمینل ٹوگل کرو", + "desktop.menu.toggleFileTree": "فائل ٹری ٹوگل کرو", + "desktop.menu.reload": "دوبارہ لوڈ کرو", + "desktop.menu.toggleDeveloperTools": "ڈیویلپر ٹولز ٹوگل کرو", + "desktop.menu.actualSize": "اصل سائز", + "desktop.menu.zoomIn": "وڈا کرو", + "desktop.menu.zoomOut": "چھوٹا کرو", + "desktop.menu.toggleFullScreen": "پوری سکرین ٹوگل کرو", + "desktop.menu.back": "پچھے", + "desktop.menu.forward": "اگے", + "desktop.menu.previousSession": "پچھلا سیشن", + "desktop.menu.nextSession": "اگلا سیشن", + "desktop.menu.previousProject": "پچھلا پروجیکٹ", + "desktop.menu.nextProject": "اگلا پروجیکٹ", + "desktop.menu.minimize": "چھوٹا کرو", + "desktop.menu.maximize": "وڈا کرو", + "desktop.menu.documentation": "OpenCode دیاں دستاویزاں", + "desktop.menu.supportForum": "مدد دا فورم", + "desktop.menu.shareFeedback": "اپنی رائے سانجھی کرو", + "desktop.menu.reportBug": "خرابی دی رپورٹ کرو", + "desktop.menu.ariaLabel": "OpenCode مینو", + + "desktop.updater.dialog.checkFailed.message": "اپ ڈیٹ دی پڑتال ناکام ہو گئی۔", + "desktop.updater.dialog.checkFailed.title": "اپ ڈیٹ دی غلطی", + "desktop.updater.dialog.upToDate.message": "تہاڈے کول تازہ ترین ورژن اے۔", + "desktop.updater.dialog.upToDate.title": "کوئی اپ ڈیٹ نئیں", + "desktop.updater.dialog.ready.message": "اپ ڈیٹ {{version}} ڈاؤن لوڈ ہو گئی اے۔ ہن دوبارہ شروع کرنا اے؟", + "desktop.updater.dialog.ready.title": "اپ ڈیٹ تیار اے", + "desktop.updater.dialog.restart": "دوبارہ شروع کرو", + "desktop.updater.dialog.later": "پچھوں", + + "desktop.recovery.action.relaunch": "دوبارہ چلاؤ", + "desktop.recovery.action.exportLogs": "لاگ برآمد کرو", + "desktop.recovery.action.keepWaiting": "اڈیک جاری رکھو", + "desktop.recovery.action.quit": "بند کرو", + "desktop.recovery.loadFailed": "OpenCode لوڈ نئیں ہو سکیا", + "desktop.recovery.terminated": "OpenCode دی ونڈو اچانک بند ہو گئی", + "desktop.recovery.unresponsive": "OpenCode جواب نئیں دے رہیا", + "desktop.recovery.unresponsive.detail": "تسی ایپ دوبارہ چلا سکدے او، لاگ کھول سکدے او یا اڈیک جاری رکھ سکدے او۔", + "desktop.recovery.loadFailed.detail": "ونڈو: {{window}}\nURL: {{url}}\nغلطی: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "ونڈو: {{window}}\nکارن: {{reason}}\nکوڈ: {{code}}", + "desktop.recovery.unknown": "<نامعلوم>", + + "desktop.dialog.chooseFolder": "فولڈر چنو", + "desktop.dialog.chooseFile": "فائل چنو", + "desktop.dialog.saveFile": "فائل محفوظ کرو", + "desktop.dialog.files": "فائلاں", + "desktop.server.local": "مقامی سرور", + + "desktop.wsl.error.windowsOnly": "WSL صرف Windows تے دستیاب اے", + "desktop.wsl.error.unavailable": "WSL دستیاب نئیں", + "desktop.wsl.error.listInstalled": "انسٹال کیتے WSL ڈسٹرو دی فہرست نئیں بن سکی", + "desktop.wsl.error.listOnline": "آن لائن WSL ڈسٹرو دی فہرست نئیں بن سکی", + "desktop.wsl.error.executeDistro": "ڈسٹرو وچ کمانڈاں نئیں چل سکدیاں", + "desktop.wsl.error.installWsl": "WSL دی تنصیب ناکام ہو گئی", + "desktop.wsl.error.installDistro": "ڈسٹرو انسٹال نئیں ہو سکیا: {{distro}}", + "desktop.wsl.error.installOpencode": "OpenCode دی تنصیب ناکام ہو گئی", + "desktop.wsl.error.alreadyAdded": "{{distro}} پہلے ای شامل اے", + "desktop.wsl.error.opencodeMissing": "اس ڈسٹرو وچ opencode انسٹال نئیں اے", + "desktop.wsl.error.opencodeCannotRun": "opencode انسٹال اے پر چل نئیں سکیا", + "desktop.wsl.error.opencodeNotInstalled": "{{distro}} وچ OpenCode انسٹال نئیں اے", + "desktop.wsl.error.updateVersion": + "OpenCode دی اپ ڈیٹ پوری ہو گئی پر {{distro}} ہلے وی {{installed}} دس رہیا اے؛ {{expected}} چاہیدا سی", + "desktop.wsl.error.noVersion": "کوئی ورژن نئیں", + "desktop.wsl.error.serverExited": "WSL سرور شروع ہون پچھوں بند ہو گیا (code={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL سرور ٹھیک حالت وچ آون توں پہلاں بند ہو گیا (code={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": "{{distro}} دے sidecar دی صحت پڑتال لئی مقرر ویلا {{timeout}}ms پچھوں مُک گیا", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} لئی مقرر ویلا {{timeout}}ms پچھوں مُک گیا", + "desktop.wsl.error.failedPort": "پورٹ نئیں مل سکی", + + "desktop.picker.error.notSelected": "چونکار ولوں فائل نئیں چنی گئی", + "desktop.picker.error.sizeLimit": "چنیاں منسلک فائلاں {{limit}} MB دی حد توں ودھ نیں", + + "command.category.suggested": "تجویز کیتا گیا", + "command.category.view": "نظارہ", + "command.category.project": "پروجیکٹ", + "command.category.provider": "پرووائیڈر", + "command.category.server": "سرور", + "command.category.session": "سیشن", + "command.category.theme": "تھیم", + "command.category.language": "بولی", + "command.category.file": "فائل", + "command.category.context": "تناظر", + "command.category.terminal": "Terminal", + "command.category.model": "ماڈل", + "command.category.mcp": "MCP", + "command.category.agent": "Agent", + "command.category.permissions": "اجازتاں", + "command.category.workspace": "ورک سپیس", + "command.category.settings": "ترتیبات", + "command.logs.export": "لاگ برآمد کرو", + "theme.scheme.system": "نظام", + "theme.scheme.light": "ہلکا", + "theme.scheme.dark": "گہرا", + "command.sidebar.toggle": "سائڈبار نوں ٹوگل کرو", + "command.project.open": "پروجیکٹ کھولو", + "command.project.previous": "پچھلا پروجیکٹ", + "command.project.next": "اگلا پروجیکٹ", + "command.project.index": "پروجیکٹ {{index}} تے سوئچ کرو", + "command.provider.connect": "پرووائیڈر نال جڑو", + "command.server.switch": "سرور سوئچ کرو", + "command.settings.open": "ترتیبات کھولو", + "command.session.previous": "پچھلا سیشن", + "command.session.next": "اگلا سیشن", + "command.session.previous.unseen": "پچھلا ان پڑھیا سیشن", + "command.session.next.unseen": "اگلا ان پڑھیا سیشن", + "command.session.archive": "آرکائیو سیشن", + "command.palette": "کمانڈ پیلیٹ", + "command.theme.cycle": "اگلا تھیم ورتو", + "command.theme.set": "تھیم ورتو: {{theme}}", + "command.theme.scheme.cycle": "اگلی رنگ سکیم ورتو", + "command.theme.scheme.set": "رنگ سکیم ورتو: {{scheme}}", + "command.language.cycle": "اگلی بولی ورتو", + "command.language.set": "بولی ورتو: {{language}}", + "command.session.new": "نواں سیشن", + "command.file.open": "فائل کھولو", + "command.tab.close": "ٹیب بند کرو", + "command.tab.reopenClosed": "بند ٹیب دوبارہ کھولو", + "command.context.addSelection": "سیاق و سباق وچ انتخاب شامل کرو", + "command.context.addSelection.description": "موجودہ فائل چوں منتخب کردہ لائناں شامل کرو", + "command.input.focus": "ان پٹ تے فوکس کرو", + "command.terminal.toggle": "ٹرمینل نوں ٹوگل کرو", + "command.fileTree.toggle": "فائل ٹری نوں ٹوگل کرو", + "command.review.toggle": "جائزہ ٹوگل کرو", + "command.terminal.new": "نواں ٹرمینل", + "command.terminal.new.description": "اک نواں ٹرمینل ٹیب بناؤ", + "command.steps.toggle": "قدم ٹوگل کرو", + "command.steps.toggle.description": "موجودہ پیغام لئی اقدامات وکھاؤ یا لُکا دیو", + "command.message.previous": "پچھلا سنیہا", + "command.message.previous.description": "پچھلے صارف دے سنیہے تے جاؤ", + "command.message.next": "اگلا سنیہا", + "command.message.next.description": "اگلے ورتن آلے دے سنیہے تے جاؤ", + "command.model.choose": "ماڈل دا انتخاب کرو", + "command.model.choose.description": "اک وکھرا ماڈل چنو", + "command.mcp.toggle": "MCPs نوں ٹوگل کرو", + "command.mcp.toggle.description": "MCPs نوں ٹوگل کرو", + "command.agent.cycle": "اگلا ایجنٹ ورتو", + "command.agent.cycle.description": "اگلے ایجنٹ تے سوئچ کرو", + "command.agent.cycle.reverse": "پچھلا ایجنٹ ورتو", + "command.agent.cycle.reverse.description": "پچھلے ایجنٹ تے سوئچ کرو", + "command.model.variant.cycle": "سوچن دی محنت بدلو", + "command.model.variant.cycle.description": "محنت دی اگلی سطح تے جاؤ", + "command.prompt.mode.shell": "Shell", + "command.prompt.mode.normal": "پرامپٹ", + "command.permissions.autoaccept.enable": "خودکار اجازتاں قبول کرو", + "command.permissions.autoaccept.disable": "خودکار اجازتاں قبول کرنا بند کرو", + "command.workspace.toggle": "ورک سپیس ٹوگل کرو", + "command.workspace.toggle.description": "سائڈبار وچ متعدد ورک اسپیسز نو فعال یا غیر فعال کرو", + "command.session.undo": "کالعدم کرو", + "command.session.undo.description": "آخری سنیہا کالعدم کرو", + "command.session.redo": "دوبارہ کرو", + "command.session.redo.description": "آخری انڈون سنیہا دوبارہ کرو", + "command.session.compact": "سیشن مختصر کرو", + "command.session.compact.description": "سیاق و سباق دا سائز گھٹ کرن لئی سیشن دا خلاصہ کرو", + "command.session.fork": "سنیہا توں فورک", + "command.session.fork.description": "پچھلے سنیہے توں اک نواں سیشن بناؤ", + "command.session.share": "سیشن شیئر کرو", + "command.session.share.description": "اس سیشن نو شیئر کرو تے URL نو کلپ بورڈ تے کاپی کرو", + "command.session.unshare": "سیشن شیئر کرنا بند کرو", + "command.session.unshare.description": "اس سیشن نو شیئر کرنا بند کرو", + "command.session.export": "سیشن برآمد کرو", + "command.session.export.description": "سیشن دی پوری نقل JSON دی شکل وچ برآمد کرو", + + "palette.search.placeholder": "فائلاں، کمانڈز، تے سیشنز تلاش کرو", + "palette.search.placeholder.home": "سرچ کمانڈز تے سیشنز", + "palette.empty": "کوئی نتیجہ نئیں ملیا", + "palette.group.commands": "کمانڈز", + "palette.group.files": "فائلاں", + "dialog.provider.search.placeholder": "پرووائیڈراں نوں لبھو", + "dialog.provider.empty": "کوئی پرووائیڈر نئیں لبھیا", + "dialog.provider.group.popular": "مشہور", + "dialog.provider.group.other": "ہور", + "dialog.provider.custom.label": "من پسند OpenAI نال رلدا پرووائیڈر", + "dialog.provider.tag.recommended": "سفارش کیتی", + "dialog.provider.opencode.note": "Claude، GPT، Gemini تے ہور سمیت کیوریٹڈ ماڈل", + "dialog.provider.opencode.tagline": "قابل اعتماد اصلاح شدہ ماڈل", + "dialog.provider.opencodeGo.tagline": "ہر اک لئی گھٹ قیمت دی رکنیت", + "dialog.provider.anthropic.note": "پرو تے میکس سمیت Claude ماڈل تک براہ راست رسائی", + "dialog.provider.copilot.note": "GitHub Copilot دے ذریعے کوڈنگ دی مدد لئی اے آئی ماڈل", + "dialog.provider.openai.note": "تیز تے صلاحیت والے عام AI کماں لئی GPT ماڈل", + "dialog.provider.google.note": "تیز تے منظم جواباں لئی Gemini ماڈل", + "dialog.provider.openrouter.note": "اک پرووائیڈر توں سارے سپورٹڈ ماڈلاں تک رسائی لوو", + "dialog.provider.vercel.note": "سمارٹ روٹنگ دے نال اے آئی ماڈل تک متحدہ رسائی", + "dialog.model.select.title": "ماڈل چنو", + "dialog.model.search.placeholder": "ماڈل لبھو", + "dialog.model.empty": "کوئی ماڈل نئیں لبھیا", + "dialog.model.manage": "ماڈل دا انتظام کرو", + "dialog.model.manage.description": "ماڈل سلیکٹر وچ کیہڑے ماڈل دکھائی دیندے نیں، اپنی مرضی دے مطابق بناؤ۔", + "dialog.model.manage.provider.toggle": "{{provider}} دے سارے ماڈل ٹوگل کرو", + "dialog.model.unpaid.freeModels.title": "OpenCode دے ذریعہ فراہم کردہ مفت ماڈل", + "dialog.model.unpaid.addMore.title": "مقبول پرووائیڈراں توں ہور ماڈل شامل کرو", + "dialog.model.unpaid.viewMoreProviders": "70+ ہور پرووائیڈر ویکھو", + "dialog.provider.viewAll": "ہور پرووائیڈر وکھاؤ", + "provider.connect.title": "{{provider}} نال جڑو", + "provider.connect.title.anthropicProMax": "Claude پرو/میکس دے نال لاگ ان کرو", + "provider.connect.selectMethod": "{{provider}} لئی لاگ ان دا طریقہ منتخب کرو۔", + "provider.connect.method.apiKey": "API کلید", + "provider.connect.method.browser": "براؤزر", + "provider.connect.method.headless": "ہیڈلیس", + "provider.connect.status.inProgress": "اختیار دیندے پئے آں...", + "provider.connect.status.waiting": "اختیار ملن دی اڈیک اے...", + "provider.connect.status.failed": "اختیار نئیں مل سکیا: {{error}}", + "provider.connect.apiKey.description": + "اپنے اکاؤنٹ نوں جوڑن لئی اپنی {{provider}} API کلید درج کرو تے OpenCode وچ {{provider}} ماڈل ورتو۔", + "provider.connect.apiKey.label": "{{provider}} API کلید", + "provider.connect.apiKey.placeholder": "API کلید", + "provider.connect.apiKey.required": "API کلید دی لوڑ اے", + "provider.connect.opencodeZen.line1": + "زین تہانوں کوڈنگ ایجنٹاں لئی قابل اعتماد مرضی دے ماڈلاں دے اک کیوریٹڈ سیٹ تک رسائی فراہم کردا اے۔", + "provider.connect.opencodeZen.line2": + "اک API کلید دے نال تہانوں Claude، GPT، Gemini، GLM تے ہور ماڈلاں تک رسائی ملے گی۔", + "provider.connect.opencodeZen.visit.prefix": "ویکھو ", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": " اپنی API کلید حاصل کرن لئی۔", + "provider.connect.oauth.code.visit.prefix": "ویکھو ", + "provider.connect.oauth.code.visit.link": "ایہہ لنک", + "provider.connect.oauth.code.visit.suffix": + " اپنے اکاؤنٹ نوں جوڑن تے OpenCode وچ {{provider}} ماڈل ورتن لئی اپنا اجازت کوڈ حاصل کرن لئی۔", + "provider.connect.oauth.code.label": "{{method}} اجازت دا کوڈ", + "provider.connect.oauth.code.placeholder": "اجازتی کوڈ", + "provider.connect.oauth.code.required": "اجازتی کوڈ دی لوڑ اے", + "provider.connect.oauth.code.invalid": "غلط اجازتی کوڈ", + "provider.connect.oauth.auto.visit.prefix": "ویکھو ", + "provider.connect.oauth.auto.visit.link": "ایہہ لنک", + "provider.connect.oauth.auto.visit.suffix": + " تے اپنے اکاؤنٹ نوں جوڑن تے OpenCode وچ {{provider}} ماڈل ورتن لئی تھلے دتا کوڈ درج کرو۔", + "provider.connect.oauth.auto.confirmationCode": "تصدیقی کوڈ", + "provider.connect.toast.connected.title": "{{provider}} جڑیا ہویا", + "provider.connect.toast.connected.description": "{{provider}} ماڈل ہن ورتن لئی دستیاب ہن۔", + "provider.custom.title": "من پسند پرووائیڈر", + "provider.custom.description.prefix": "OpenAI نال رلدا پرووائیڈر سیٹ کرو۔ ویکھو ", + "provider.custom.description.link": "پرووائیڈر کنفگ دے دستاویز", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "پرووائیڈر ID", + "provider.custom.field.providerID.placeholder": "میرا پرووائیڈر", + "provider.custom.field.providerID.description": "نکے اکھر، نمبر، ہائفن، یا انڈر سکور", + "provider.custom.field.name.label": "ڈسپلے دا ناں", + "provider.custom.field.name.placeholder": "میرا اے آئی فراہم کرن آلا", + "provider.custom.field.baseURL.label": "بیس URL", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "API کلید", + "provider.custom.field.apiKey.placeholder": "API کلید", + "provider.custom.field.apiKey.description": "اختیاری۔ جے تسی ہیڈرز دے ذریعے تصدیق دا انتظام کردے او تے خالی چھڈ دیو۔", + "provider.custom.models.label": "ماڈل", + "provider.custom.models.id.label": "آئی ڈی", + "provider.custom.models.id.placeholder": "ماڈل آئی ڈی", + "provider.custom.models.name.label": "ناں", + "provider.custom.models.name.placeholder": "ڈسپلے دا ناں", + "provider.custom.models.remove": "ماڈل ہٹا دیو", + "provider.custom.models.add": "ماڈل شامل کرو", + "provider.custom.headers.label": "ہیڈرز (اختیاری)", + "provider.custom.headers.key.label": "ہیڈر", + "provider.custom.headers.key.placeholder": "ہیڈر دا ناں", + "provider.custom.headers.value.label": "قدر", + "provider.custom.headers.value.placeholder": "قدر", + "provider.custom.headers.remove": "ہیڈر ہٹا دیو", + "provider.custom.headers.add": "ہیڈر شامل کرو", + "provider.custom.error.providerID.required": "پروائیڈر آئی ڈی دی لوڑ اے", + "provider.custom.error.providerID.format": "نکے اکھر، نمبر، ہائفن، یا انڈر سکور ورتو", + "provider.custom.error.providerID.exists": "اوہ پرووائیڈر ID پہلے توں موجود اے", + "provider.custom.error.name.required": "ڈسپلے ناں دی لوڑ اے", + "provider.custom.error.baseURL.required": "بیس URL دی لوڑ اے", + "provider.custom.error.baseURL.format": "http:// یا https:// توں شروع کرنا ضروری اے۔", + "provider.custom.error.required": "لازمی اے", + "provider.custom.error.duplicate": "دُہرا", + "provider.custom.unavailable": "ایس سرور تے من پسند پرووائیڈر دستیاب نئیں نیں", + "provider.disconnect.toast.disconnected.title": "{{provider}} منقطع", + "provider.disconnect.toast.disconnected.description": "{{provider}} ماڈل ہن دستیاب نئیں ہن۔", + "model.tag.free": "مفت", + "model.tag.latest": "تازہ ترین", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "متن", + "model.input.image": "تصویر", + "model.input.audio": "آڈیو", + "model.input.video": "ویڈيو", + "model.input.pdf": "پی ڈی ایف", + "model.tooltip.allows": "اجازت دیندا اے: {{inputs}}", + "model.tooltip.context.label": "تناظر", + "model.tooltip.inputs": "ان پٹ", + "model.tooltip.model": "ماڈل", + "model.tooltip.provider": "پرووائیڈر", + "model.tooltip.reasoning": "استدلال", + "model.tooltip.reasoning.allowed": "استدلال دی اجازت دیندا اے", + "model.tooltip.reasoning.none": "سوچن دی سہولت نئیں", + "model.tooltip.context": "سیاق و سباق دی حد {{limit}}", + "common.search.placeholder": "لبھنا", + "common.goBack": "واپس جاؤ", + "common.goForward": "اگے ودھو", + "common.loading": "لوڈ ہو رہیا اے", + "common.loading.ellipsis": "...", + "common.cancel": "منسوخ کرو", + "common.clear": "صاف", + "common.open": "کھولو", + "common.connect": "منسلک کرو", + "common.disconnect": "منقطع کرو", + "common.continue": "جاری رکھو", + "common.submit": "جمع کراؤ", + "common.save": "محفوظ کرو", + "common.saving": "محفوظ ہو رہیا اے...", + "common.default": "طے شدہ", + "common.attachment": "منسلکہ", + "prompt.placeholder.shell": "شیل کمانڈ درج کرو... {{example}}", + "prompt.placeholder.normal": 'کجھ وی پچھ... "{{example}}"', + "prompt.placeholder.simple": "کجھ وی پچھ...", + "prompt.placeholder.summarizeComments": "تبصریاں دا خلاصہ کرو...", + "prompt.placeholder.summarizeComment": "تبصرے دا خلاصہ...", + "prompt.mode.shell": "Shell", + "prompt.mode.normal": "پرامپٹ", + "prompt.mode.shell.exit": "باہر نکلن لئی ایس سی", + "session.child.promptDisabled": "ذیلی ایجنٹ سیشناں نو اشارہ نئیں کیتا جا سکدا۔", + "session.child.backToParent": "مین سیشن تے واپس جاؤ۔", + "prompt.example.1": "کوڈ بیس چ اک TODO ٹھیک کرو", + "prompt.example.2": "اس پروجیکٹ دا ٹیک سٹیک کی اے؟", + "prompt.example.3": "ٹٹے ہوئے ٹیسٹ ٹھیک کرو", + "prompt.example.4": "وضاحت کرو کہ تصدیق کس طرح کم کردی اے", + "prompt.example.5": "حفاظتی کمزوریاں نوں لبھو تے ٹھیک کرو", + "prompt.example.6": "صارف دی خدمت لئی یونٹ ٹیسٹ شامل کرو", + "prompt.example.7": "اس فنکشن نو زیادہ پڑھن دے قابل بنان دے لی ریفیکٹر کرو", + "prompt.example.8": "ایس غلطی دا کیہ مطلب اے؟", + "prompt.example.9": "اس مسئلے نو ٹھیک کرن چ میری مدد کرو", + "prompt.example.10": "API دستاویزات تیار کرو", + "prompt.example.11": "ڈیٹا بیس دے سوالاں نو بہتر بناؤ", + "prompt.example.12": "ان پٹ دی توثیق شامل کرو", + "prompt.example.13": "...لئی اک نواں کمپونینٹ بناؤ", + "prompt.example.14": "میں اس پروجیکٹ نوں کیویں ڈیپلائے کراں؟", + "prompt.example.15": "بہترین طریقاں لئی میرے کوڈ دا جائزہ لوو", + "prompt.example.16": "اس فنکشن وچ ایرر ہینڈلنگ شامل کرو", + "prompt.example.17": "اس ریجیکس پیٹرن دی وضاحت کرو", + "prompt.example.18": "اس نوں TypeScript وچ بدلو", + "prompt.example.19": "پورے کوڈ بیس چ لاگنگ شامل کرو", + "prompt.example.20": "کیہڑے انحصار پرانے ہو چکے نیں؟", + "prompt.example.21": "ہجرت دی سکرپٹ لکھن چ میری مدد کرو", + "prompt.example.22": "اس اینڈ پوائنٹ لئی کیشنگ لاگو کرو", + "prompt.example.23": "اس فہرست چ صفحات شامل کرو", + "prompt.example.24": "...لئی اک CLI کمانڈ بناؤ", + "prompt.example.25": "ماحولیاتی متغیر ایتھے کیویں کم کردے نیں؟", + "prompt.popover.emptyResults": "کوئی ملاپ دا نتیجہ نئیں نکلیا", + "prompt.popover.emptyCommands": "کوئی مماثل کمانڈ نئیں", + "prompt.dropzone.label": "تصویراں، پی ڈی ایف، یا ٹیکسٹ فائلاں ایتھے چھڈو", + "prompt.dropzone.file.label": "@mention فائل تے ڈراپ کرو", + "prompt.slash.badge.custom": "مخصوص", + "prompt.slash.badge.skill": "مہارت", + "prompt.slash.badge.mcp": "ایم سی پی", + "prompt.context.active": "چالو", + "prompt.context.includeActiveFile": "فعال فائل شامل کرو", + "prompt.context.removeActiveFile": "فعال فائل نو سیاق و سباق توں ہٹا دیو", + "prompt.context.removeFile": "سیاق و سباق توں فائل ہٹا دیو", + "prompt.action.attachFile": "فائلاں شامل کرو", + "prompt.menu.addImagesAndFiles": "فائلاں تے ہور شامل کرو", + "prompt.menu.imagesAndFiles": "تصویراں تے فائلاں", + "prompt.menu.commands": "کمانڈز", + "prompt.menu.context": "تناظر", + "prompt.menu.shellCommand": "Shell کمانڈ", + "prompt.attachment.remove": "منسلکہ ہٹا دیو", + "prompt.action.send": "گھلو", + "prompt.action.stop": "روکو", + "prompt.toast.pasteUnsupported.title": "غیر تعاون یافتہ منسلکہ", + "prompt.toast.pasteUnsupported.description": + "ایتھے صرف تصویراں، پی ڈی ایف، یا ٹیکسٹ فائلاں منسلک کیتیاں جا سکدیاں نیں۔", + "prompt.toast.attachmentDuplicate.title": "ایہہ فائل پہلے ای اپ لوڈ ہو چکی اے", + "prompt.toast.modelAgentRequired.title": "اک ایجنٹ تے ماڈل چنو", + "prompt.toast.modelAgentRequired.description": "پرامپٹ بھیجن توں پہلاں اک ایجنٹ تے ماڈل دا انتخاب کرو۔", + "prompt.toast.worktreeCreateFailed.title": "ورک ٹری بنان چ ناکامی ہوئی", + "prompt.toast.sessionCreateFailed.title": "سیشن بنان چ ناکامی ہوئی", + "prompt.toast.shellSendFailed.title": "شیل کمانڈ بھیجن چ ناکام رہیا", + "prompt.toast.commandSendFailed.title": "کمانڈ بھیجن چ ناکام رہیا", + "prompt.toast.promptSendFailed.title": "پرامپٹ بھیجن چ ناکام رہیا", + "prompt.toast.promptSendFailed.description": "سیشن بازیافت کرن توں قاصر", + "dialog.mcp.title": "MCPs", + "dialog.mcp.description": "{{total}} وچوں {{enabled}} چالو", + "dialog.mcp.empty": "کوئی MCP سیٹ نئیں کیتا گیا", + "dialog.lsp.empty": "LSPs فائل دی اقسام توں خودکار طور تے پتہ چلدا اے", + "dialog.plugins.empty": "opencode.json وچ سیٹ کیتے پلگ اِن", + "mcp.status.connected": "جڑیا ہویا", + "mcp.status.failed": "ناکام ہویا", + "mcp.status.needs_auth": "تصدیق دی لوڑ اے", + "mcp.status.disabled": "بند", + "mcp.auth.clickToAuthenticate": "تصدیق کرن لئی کلک کرو", + "dialog.fork.empty": "فورک کرن لئی کوئی پیغام نئیں", + "dialog.directory.search.placeholder": "فولڈراں نوں لبھو", + "dialog.directory.empty": "کوئی فولڈر نئیں لبیا", + "dialog.directory.action.selectFile": "فائل چنو", + "dialog.directory.action.selectFolder": "فولڈر چنو", + "dialog.directory.root": "Root", + "dialog.directory.parent": "اُتلا فولڈر", + "dialog.directory.readError": "اس فولڈر نوں پڑھن توں قاصر", + "app.server.unreachable": "{{server}} تک نئیں اپڑ سکیا", + "app.server.retrying": "خود بخود دوبارہ کوشش کر رئے آں...", + "app.server.otherServers": "ہور سرور", + "dialog.server.title": "سرورز", + "dialog.server.description": "ایہہ ایپ کس OpenCode سرور نال جڑدی اے، اس نوں سوئچ کرو۔", + "dialog.server.search.placeholder": "سرچ سرورز", + "dialog.server.empty": "ہلے تک کوئی سرور نئیں", + "dialog.server.add.title": "سرور شامل کرو", + "dialog.server.add.url": "سرور دا پتہ", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "سرور نال جڑیا نئیں جا سکیا", + "dialog.server.add.checking": "چیک کر رہیا واں...", + "dialog.server.add.button": "سرور شامل کرو", + "dialog.server.add.name": "سرور دا ناں (اختیاری)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "ورتن آلا ناں (اختیاری)", + "dialog.server.add.usernamePlaceholder": "ورتن آلا ناں", + "dialog.server.add.password": "پاس ورڈ (اختیاری)", + "dialog.server.add.passwordPlaceholder": "پاس ورڈ", + "dialog.server.edit.title": "سرور وچ ترمیم کرو", + "dialog.server.default.title": "ڈیفالٹ سرور", + "dialog.server.default.description": + "مقامی سرور شروع کرن دی بجائے ایپ لانچ تے اس سرور نال جڑو۔ دوبارہ شروع کرن دی لوڑ اے۔", + "dialog.server.default.none": "کوئی سرور نئیں چنیا گیا", + "dialog.server.default.set": "موجودہ سرور نو ڈیفالٹ دے طور تے سیٹ کرو", + "dialog.server.default.clear": "صاف", + "dialog.server.action.remove": "سرور ہٹا دیو", + "dialog.server.menu.edit": "ترمیم کرو", + "dialog.server.menu.default": "ڈیفالٹ دے طور تے سیٹ کرو", + "dialog.server.menu.defaultRemove": "ڈیفالٹ ہٹاؤ", + "dialog.server.menu.delete": "مکاؤ", + "dialog.server.current": "موجودہ سرور", + "dialog.server.status.default": "طے شدہ", + "wsl.server.add": "WSL سرور شامل کرو", + "wsl.server.addShort": "WSL شامل کرو", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "WSL سرور", + "wsl.server.retryStart": "دوبارہ شروع کرن دی کوشش کرو", + "wsl.server.updating": "اپ ڈیٹ...", + "wsl.onboarding.step.distro": "ڈسٹرو دا انتخاب کرو", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "WSL چیک کر رئے آں...", + "wsl.onboarding.restartRequired": "WSL دی تنصیب پوری کرن لئی Windows نوں دوبارہ شروع کرنا پئے گا۔", + "wsl.onboarding.ready": "WSL تیار اے۔", + "wsl.onboarding.required": "جاری رکھن لئی WSL دی لوڑ اے۔", + "wsl.onboarding.checkingDistros": "ڈسٹرو چیک کر ریا واں...", + "wsl.onboarding.installingDistro": "{{distro}} انسٹال کر رئے آں...", + "wsl.onboarding.checkingDistro": "{{distro}} چیک کر رئے آں...", + "wsl.onboarding.listingDistros": "ڈسٹرو دی فہرست...", + "wsl.onboarding.distroReady": "{{distro}} تیار اے۔", + "wsl.onboarding.distroNotInstalled": "{{distro}} اجے تک انسٹال نئیں ہویا۔", + "wsl.onboarding.openDistroOnce": "سیٹ اپ ختم کرن لئی {{distro}} نوں اک واری کھولو۔", + "wsl.onboarding.finishingDistro": "{{distro}} دا سیٹ اپ پورا ہو رہیا اے۔", + "wsl.onboarding.pickDistro": "اک ڈسٹرو چنو یا تھلے دتی گئی اک انسٹال کرو۔", + "wsl.onboarding.checkingOpencode": "OpenCode چیک کر رئے آں...", + "wsl.onboarding.checkingOpencodeIn": "{{distro}} چ OpenCode دی جانچ پڑتال...", + "wsl.onboarding.updatingOpencode": "OpenCode نو اپ ڈیٹ کر رئے آں...", + "wsl.onboarding.updatingOpencodeIn": "{{distro}} وچ OpenCode نو اپ ڈیٹ کر رئے آں...", + "wsl.onboarding.updateOpencodeIn": "{{distro}} وچ OpenCode نو اپ ڈیٹ کرو۔", + "wsl.onboarding.updateOpencode": "OpenCode اپ ڈیٹ کرو", + "wsl.onboarding.opencodeReadyIn": "OpenCode {{distro}} چ تیار اے۔", + "wsl.onboarding.opencodeReady": "OpenCode تیار اے۔", + "wsl.onboarding.installOpencodeIn": "{{distro}} وچ OpenCode انسٹال کرو۔", + "wsl.onboarding.installOpencode": "OpenCode انسٹال کرو", + "wsl.onboarding.chooseDistroFirst": "پہلے اک ڈسٹرو دا انتخاب کرو۔", + "wsl.onboarding.loadFailed": "WSL حالت لوڈ کرن چ ناکام رہیا۔", + "wsl.onboarding.loading": "لوڈ ہو رہیا اے...", + "wsl.onboarding.installedDistros": "ڈسٹرو انسٹال کیتے گئے", + "wsl.onboarding.checkAgain": "دوبارہ چیک کرو", + "wsl.onboarding.distroStatus.ready": "تیار", + "wsl.onboarding.distroStatus.checking": "چیک کر رہیا واں...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode انسٹال نئیں کیتا گیا", + "wsl.onboarding.distroStatus.missingTools": "bash تے curl نئیں ملے", + "wsl.onboarding.distroStatus.unsupported": "غیر تعاون یافتہ · WSL 2 استعمال کرو", + "wsl.onboarding.needAnotherDistro": "تہانوں اک ہور ڈسٹرو دی لوڑ اے؟", + "wsl.onboarding.needAnotherDistroHint": "WSL کیٹلاگ توں Linux ڈسٹری بیوشن انسٹال کرو", + "wsl.onboarding.wslNotInstalled.title": "WSL انسٹال نئیں کیتا گیا", + "wsl.onboarding.wslNotInstalled.description": + "OpenCode دے WSL سرور شامل کرن توں پہلاں WSL (Windows Subsystem for Linux) دی لوڑ اے", + "wsl.onboarding.wslUnavailable.title": "WSL دستیاب نئیں", + "wsl.onboarding.wslUnavailable.description": "OpenCode ایس مشین تے WSL دی تصدیق نئیں کر سکیا۔", + "wsl.onboarding.installWsl": "WSL انسٹال کرو", + "wsl.onboarding.windowsRestartRequired": + "WSL دی تنصیب پوری کرن لئی Windows نوں دوبارہ شروع کرو، فیر OpenCode دوبارہ کھولو۔", + "wsl.onboarding.next": "اگلا", + "wsl.onboarding.refresh": "تازہ کرو", + "wsl.onboarding.allDistrosAdded": "سارے انسٹال شدہ ڈسٹرو پہلے ای شامل کر دتے گئے ہن۔", + "wsl.onboarding.noDistros": "ہلے تیکر کوئی ڈسٹرو نئیں لبھیا۔", + "wsl.onboarding.install": "انسٹال کرو", + "wsl.onboarding.installing": "انسٹال کر رہیا اے...", + "wsl.onboarding.installDistro": "ڈسٹرو انسٹال کرو", + "wsl.onboarding.searchDistros": "ڈسٹرو تلاش کرو", + "wsl.onboarding.wsl2Required": "WSL 2 دی لوڑ اے۔", + "wsl.onboarding.toolsRequired": "اس ڈسٹرو نوں bash تے curl دی لوڑ اے۔", + "wsl.onboarding.openTerminal": "ٹرمینل کھولو", + "wsl.onboarding.path": "راہ: {{path}}", + "wsl.onboarding.notFound": "نئیں لبھا", + "wsl.onboarding.version": "ورژن: {{version}}", + "wsl.onboarding.unknown": "نامعلوم", + "wsl.onboarding.desktopVersion": "ڈیسک ٹاپ {{version}}", + "wsl.onboarding.versionMismatch": "انسٹال کیتا گیا ورژن ڈیسک ٹاپ ایپ ورژن نال میل نئیں کھاندا۔", + "wsl.onboarding.adding": "شامل کر رہیا واں...", + "help.tabs.toast.ariaLabel": "ٹیباں دی جان پچھان۔ اپنے کم تے چالو سیشناں نوں ٹیباں نال ترتیب دیو", + "help.tabs.toast.dismiss": "ٹیباں دی جانکاری ہٹاؤ", + "help.tabs.title": "ٹیباں دی جان پچھان", + "help.tabs.description": "اپنے کم تے چالو سیشناں نوں ٹیباں نال ترتیب دیو", + "help.tabs.date": "14 جولائی", + "help.tabs.introduction": "OpenCode Desktop ہن ٹیباں دے گرد بنایا گیا اے۔", + "help.tabs.sessions": + "اک ٹیب وچ نواں سیشن شروع کرو یا اپنے کسے وی پروجیکٹ توں موجودہ سیشن کھولو۔ جدوں کجھ نواں شروع کرو تے نواں ٹیب کھولو تے کم پورا ہون تے اینوں بند کر دیو۔", + "help.tabs.organize": + "کجھ ٹیب کھلے رکھن نال چالو سیشناں نوں ترتیب نال رکھنا سوکھا ہوندا اے۔ جے تسی ٹیب سنبھال کے رکھنا اے تے اینوں کوئی چیتے رہن آلا ناں دیو۔", + "help.tabs.home": + "نویں ہوم سکرین تے تہانوں اپنے سارے سیشن تے پروجیکٹ لبھن گے۔ سیشن چنن نال اوہ اک ٹیب وچ کھل جاندا اے۔", + "help.tabs.persistence": "ایپ دوبارہ کھولن تے تہاڈے ٹیب کھلے رہندے نیں۔", + "help.tabs.worktrees": + "نواں ڈیزائن ہلے Git Worktrees نوں سہارا نئیں دیندا، ایہ سہولت چھیتی آ رہی اے۔ جے تسی پچھلا لے آؤٹ ورتدے رہنا چاہندے او تے ترتیبات وچ لے آؤٹ بدل سکدے او۔ بس چیتے رکھو کہ کجھ ہفتیاں پچھوں نواں لے آؤٹ پکا ہو جائے گا۔", + "server.row.noUsername": "کوئی ورتن آلا ناں نئیں", + "dialog.project.edit.title": "پروجیکٹ وچ ترمیم کرو", + "dialog.project.edit.name": "ناں", + "dialog.project.edit.icon": "آئکن", + "dialog.project.edit.icon.alt": "پروجیکٹ آئیکن", + "dialog.project.edit.icon.hint": "تصویر تے کلک کرو یا گھسیٹو", + "dialog.project.edit.icon.recommended": "تجویز کردہ: 128x128px", + "dialog.project.edit.color": "رنگ", + "dialog.project.edit.color.select": "{{color}} رنگ چنو", + "dialog.project.edit.worktree.startup": "ورک اسپیس اسٹارٹ اپ سکرپٹ", + "dialog.project.edit.worktree.startup.description": "اک نویں ورک سپیس (ورک ٹری) بنان دے بعد چلدا اے۔", + "dialog.project.edit.worktree.startup.placeholder": "مثلاً بن انسٹال کرو", + "dialog.releaseNotes.action.getStarted": "شروع کرو", + "dialog.releaseNotes.action.next": "اگلا", + "dialog.releaseNotes.action.hideFuture": "ایہہ اگوں نہ وکھاؤ", + "dialog.releaseNotes.media.alt": "ریلیز پیش نظارہ", + "dialog.usageExceeded.dontShowAgain": "دوبارہ نہ وکھاؤ", + + "context.breakdown.title": "کانٹیکسٹ دی ونڈ", + "context.breakdown.note": 'ان پٹ ٹوکناں دی لگ بھگ ونڈ۔ "ہور" وچ ٹول دیاں تعریفاں تے وادھو خرچ شامل نیں۔', + "context.breakdown.system": "نظام", + "context.breakdown.user": "ورتن آلا", + "context.breakdown.assistant": "اسسٹنٹ", + "context.breakdown.tool": "ٹول کالز", + "context.breakdown.other": "ہور", + "context.systemPrompt.title": "سسٹم پرامپٹ", + "context.rawMessages.title": "خام سنیہے", + "context.export.session": "سیشن برآمد کرو", + + "context.stats.session": "سیشن", + "context.stats.messages": "سنیہے", + "context.stats.provider": "پرووائیڈر", + "context.stats.model": "ماڈل", + "context.stats.limit": "سیاق و سباق دی حد", + "context.stats.totalTokens": "کل ٹوکن", + "context.stats.usage": "ورتن", + "context.stats.inputTokens": "ان پٹ ٹوکن", + "context.stats.outputTokens": "آؤٹ پٹ ٹوکن", + "context.stats.reasoningTokens": "استدلال ٹوکن", + "context.stats.cacheTokens": "کیش ٹوکن (پڑھنا/لکھنا)", + "context.stats.userMessages": "ورتن آلے دے سنیہے", + "context.stats.assistantMessages": "اسسٹنٹ میسجز", + "context.stats.totalCost": "کل لاگت", + "context.stats.sessionCreated": "سیشن بنن دا ویلا", + "context.stats.lastActivity": "آخری سرگرمی", + "context.usage.tokens": "ٹوکن", + "context.usage.usage": "ورتن", + "context.usage.cost": "لاگت", + "context.usage.clickToView": "سیاق و سباق ویکھن لئی کلک کرو", + "context.usage.view": "سیاق و سباق دا استعمال ویکھو", + "language.en": "انگریجی", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Deutsch", + "language.es": "Español", + "language.fr": "Français", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "Polski", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Norsk", + "language.br": "Português (Brasil)", + "language.bs": "Bosanski", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Türkçe", + "toast.language.title": "بولی", + "toast.language.description": "{{language}} تے سوئچ کیتا گیا", + "toast.theme.title": "تھیم سوئچ ہو گیا", + "toast.scheme.title": "رنگ سکیم", + "toast.workspace.enabled.title": "ورک اسپیسز اینبلڈ نیں", + "toast.workspace.enabled.description": "اک توں ودھ ورک ٹری ہن سائڈبار وچ دکھائے گئے نیں", + "toast.workspace.disabled.title": "ورک سپیس بند نیں", + "toast.workspace.disabled.description": "سائڈبار چ صرف مین ورک ٹری وکھایا گیا اے۔", + "toast.permissions.autoaccept.on.title": "اجازتاں نوں خودکار قبول کرنا", + "toast.permissions.autoaccept.on.description": "اجازت دی درخواستاں خود بخود منظور ہو جان گیاں", + "toast.permissions.autoaccept.off.title": "اجازتاں نوں خودکار قبول کرنا بند کر دتا گیا", + "toast.permissions.autoaccept.off.description": "اجازت دی درخواستاں لئی منظوری دی لوڑ ہووے گی", + "toast.model.none.title": "کوئی ماڈل نئیں چنیا گیا", + "toast.model.none.description": "اس سیشن دا خلاصہ کرن لئی کسے پرووائیڈر نال جڑو", + "toast.file.loadFailed.title": "فائل لوڈ کرن چ ناکامی ہوئی", + "toast.file.listFailed.title": "فائلاں دی فہرست بنان چ ناکام رہیا", + "toast.context.noLineSelection.title": "کوئی لائن سلیکشن نئیں", + "toast.context.noLineSelection.description": "پہلے فائل ٹیب چ اک لائن رینج منتخب کرو۔", + "toast.session.share.copyFailed.title": "کلپ بورڈ تے URL کاپی کرن چ ناکام رہیا", + "toast.session.share.success.title": "سیشن سانجھا کیتا گیا", + "toast.session.share.success.description": "شیئر URL کلپ بورڈ تے کاپی ہو گیا!", + "toast.session.share.failed.title": "سیشن شیئر کرن چ ناکام رہیا", + "toast.session.share.failed.description": "سیشن شیئر کردے ویلے کوئی غلطی ہو گئی", + "toast.session.unshare.success.title": "سیشن شیئر کرنا بند ہو گیا", + "toast.session.unshare.success.description": "سیشن دا شیئر کامیابی نال بند ہو گیا!", + "toast.session.unshare.failed.title": "سیشن ان شیئر کرن چ ناکام رہیا", + "toast.session.unshare.failed.description": "سیشن ان شیئر کردے ویلے کوئی غلطی ہو گئی", + "toast.session.export.success.title": "سیشن برآمد ہو گیا", + "toast.session.export.success.description": "سیشن نوں \u2068{{filename}}\u2069 وچ محفوظ کر دتا گیا", + "toast.session.export.failed.title": "سیشن برآمد کرن چ ناکامی ہوئی", + "toast.session.export.failed.description": "سیشن برآمد کردے ویلے اک غلطی ہو گئی", + + "toast.session.listFailed.title": "{{project}} لئی سیشن لوڈ کرن چ ناکام رہیا", + "toast.project.reloadFailed.title": "{{project}} دوبارہ لوڈ نئیں ہو سکیا", + "toast.update.title": "اپ ڈیٹ دستیاب اے", + "toast.update.description": "OpenCode ({{version}}) دا اک نواں ورژن ہن انسٹال کرن لئی دستیاب اے۔", + "toast.update.action.installRestart": "انسٹال کرو تے دوبارہ شروع کرو", + "toast.update.action.notYet": "اجے نئیں", + "error.page.title": "کجھ غلط ہو گیا", + "error.page.description": "ایپلیکیشن لوڈ کردے ویلے غلطی ہوئی۔", + "error.page.description.localServerStartup": "لوکل سرور شروع کردے ویلے غلطی ہوئی۔", + "error.page.details.label": "غلطی دی تفصیلات", + "error.page.action.restart": "دوبارہ شروع کرو", + "error.page.action.report": "غلطی دی رپورٹ کرو", + "error.page.action.reported": "غلطی رپورٹ ہو گئی", + "error.page.action.exportLogs": "لاگ برآمد کرو", + "error.page.action.checking": "چیک کر رہیا واں...", + "error.page.action.checkUpdates": "اپ ڈیٹس لئی چیک کرو", + "error.page.action.updateTo": "{{version}} تے اپ ڈیٹ کرو", + "error.page.circular": "[چکری]", + "error.page.report.prefix": "مہربانی کر کے اس غلطی دی اطلاع OpenCode ٹیم نوں دیو", + "error.page.report.discord": "Discord تے", + "error.page.version": "ورژن: {{version}}", + "error.dev.rootNotFound": + "عنصر نئیں لبیا۔ کی تسی ایہنوں اپنے index.html چ شامل کرنا بھل گئے او؟ یا شاید id وصف غلط ہجے ہو گیا اے؟", + "error.serverSync.connectFailed": "سرور نال نئیں جڑ سکیا۔ کی `{{url}}` تے کوئی سرور چل رہیا اے؟", + "error.serverSDK.noServerAvailable": "کوئی سرور دستیاب نئیں", + "error.serverSDK.serverNotAvailable": "سرور دستیاب نئیں", + "error.childStore.persistedCacheCreateFailed": "پکا کیش نئیں بن سکیا", + "error.childStore.persistedProjectMetadataCreateFailed": "مستقل پروجیکٹ میٹا ڈیٹا بنان چ ناکام رہیا", + "error.childStore.persistedProjectIconCreateFailed": "پرسٹڈ پروجیکٹ آئیکن بنان چ ناکام رہیا", + "error.childStore.storeCreateFailed": "سٹور بنان چ ناکامی ہوئی", + "directory.error.invalidUrl": "URL وچ غلط ڈائریکٹری اے۔", + "error.chain.unknown": "نامعلوم غلطی", + "error.server.invalidConfiguration": "غلط ترتیب", + "error.chain.causedBy": "ایس دی وجہ توں:", + "error.chain.apiError": "API غلطی", + "error.chain.status": "حیثیت: {{status}}", + "error.chain.retryable": "دوبارہ آزمان دے قابل: {{retryable}}", + "error.chain.responseBody": "جواب دا متن:\n{{body}}", + "error.chain.didYouMean": "کی تہاڈا مطلب سی: {{suggestions}}", + "error.chain.modelNotFound": "ماڈل نئیں لبیا: {{provider}}/{{model}}", + "error.chain.checkConfig": "اپنی کنفگ (opencode.json) وچ پرووائیڈر/ماڈل دے ناں چیک کرو", + "error.chain.mcpFailed": 'MCP سرور "{{name}}" ناکام ہو گیا۔ نوٹ، OpenCode ہلے تک MCP تصدیق دی حمایت نئیں کردا۔', + "error.chain.providerAuthFailed": "فراہم کرن آلے دی تصدیق ناکام ہو گئی ({{provider}}): {{message}}", + "error.chain.providerInitFailed": 'پرووائیڈر "{{provider}}" شروع نئیں ہو سکیا۔ اسناد تے کنفگ چیک کرو۔', + "error.chain.configJsonInvalid": "{{path}} تے کنفیگ فائل درست نئیں اے JSON(C)", + "error.chain.configJsonInvalidWithMessage": "{{path}} تے کنفیگ فائل درست نئیں اے JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + '{{path}} وچ "{{dir}}" ڈائریکٹری درست نئیں اے۔ ڈائریکٹری دا ناں "{{suggestion}}" رکھو یا اینوں ہٹا دیو۔ ایہہ اک عام ٹائپنگ دی غلطی اے۔', + "error.chain.configFrontmatterError": "{{path}} وچ فرنٹ میٹر دی تجزیہ کرن وچ ناکام رہیا:\n{{message}}", + "error.chain.configInvalid": "{{path}} تے کنفیگ فائل غلط اے", + "error.chain.configInvalidWithMessage": "{{path}} تے کنفیگ فائل غلط اے: {{message}}", + "notification.permission.title": "اجازت دی لوڑ اے", + "notification.permission.description": "{{sessionTitle}} {{projectName}} وچ اجازت دی لوڑ اے", + "notification.question.title": "سوال", + "notification.question.description": "{{sessionTitle}} {{projectName}} وچ اک سوال اے", + "notification.action.goToSession": "سیشن تے جاؤ", + "notification.session.responseReady.title": "جواب تیار اے", + "notification.session.error.title": "سیشن دی غلطی", + "notification.session.error.fallbackDescription": "اک غلطی ہو گئی", + "home.recentProjects": "حال دے پروجیکٹ", + "home.empty.title": "حال دا کوئی پروجیکٹ نئیں", + "home.empty.description": "اک مقامی پروجیکٹ کھول کے شروع کرو", + "home.title": "گھر", + "home.projects": "پروجیکٹ", + "home.project.add": "پروجیکٹ شامل کرو", + "home.recentlyClosed": "حال ای چ بند کیتا گیا", + "home.server.collapse": "سرور دے پروجیکٹ سمیٹو", + "home.server.expand": "سرور دے پروجیکٹ کھولو", + "home.sessions.search.placeholder": "سرچ سیشن", + "home.sessions.search.placeholder.scoped": "{{scope}} وچ سیشناں دی تلاش کرو", + "home.sessions.search.sessions": "سیشن", + "home.sessions.search.noResults": "{{query}} لئی کوئی سیشن نئیں لبھیا", + "home.sessions.empty": "ایتھے ہلے کجھ نئیں", + "home.sessions.empty.description": "شروع کرن لئی اک سیشن بناؤ", + "home.sessions.group.today": "آج", + "home.sessions.group.yesterday": "کل", + "home.sessions.group.older": "پرانا", + "home.providerTip": + "دوجے ماڈل استعمال کرن لئی 75+ فراہم کرن آلیاں نال جڑو، جنہاں چ Claude، GPT، Gemini، وغیرہ شامل نیں", + "session.tab.session": "سیشن", + "session.tab.review": "جائزہ", + "session.tab.context": "تناظر", + "session.tab.unknown": "نامعلوم سیشن", + "session.panel.reviewAndFiles": "جائزہ تے فائلاں", + "session.error.notFound": "ایہہ سیشن نئیں لبیا جا سکدا", + "session.error.notFound.description": "ایہ ٹیب اک سیشن ول اشارہ کردا اے جہڑا ہن اس سرور تے موجود نئیں اے۔", + "session.error.notFound.closeTab": "ٹیب بند کرو", + "session.error.serverConnection": "اس سرور نال جڑ نئیں سکدے", + "session.review.filesChanged": "بدلیاں فائلاں {{count}}", + "session.review.change.one": "تبدیلی", + "session.review.change.other": "تبدیلیاں", + "session.review.loadingChanges": "تبدیلیاں لوڈ ہو رہیاں نیں...", + "session.review.empty": "اس سیشن وچ حالے تک کوئی تبدیلی نئیں", + "session.review.noVcs": "کوئی Git ورژن کنٹرول سسٹم نئیں لبھیا، تبدیلیاں نئیں وکھائیاں گئیاں", + "session.review.noVcs.createGit.title": "اک Git ریپازٹری بناؤ", + "session.review.noVcs.createGit.description": "اس منصوبے چ تبدیلیاں نو ٹریک کرو، جائزہ لوو تے کالعدم کرو", + "session.review.noVcs.createGit.actionLoading": "Git ریپازٹری بنانا...", + "session.review.noVcs.createGit.action": "Git ریپازٹری بناؤ", + "session.review.noSnapshot": "ترتیب وچ سنیپ شاٹ ٹریکنگ غیر فعال اے، اس لیی سیشن تبدیلیاں دستیاب نئیں نیں", + "session.review.noChanges": "کوئی تبدیلی نئیں", + "session.review.noUncommittedChanges": "ہلے کوئی ان کمٹڈ تبدیلی نئیں", + "session.review.noBranchChanges": "ہلے تیکر کوئی برانچ نئیں بدلی", + "session.files.selectToOpen": "کھولن لئی کوئی فائل چنو", + "session.files.all": "ساریاں فائلاں", + "session.files.empty": "کوئی فائل نئیں", + "session.files.binaryContent": "بائنری فائل (مواد وکھایا نئیں جا سکدا)", + "session.messages.renderEarlier": "پہلے سنیہے رینڈر کرو", + "session.messages.loadingEarlier": "پہلے دے سنیہے لوڈ کر رئے آں...", + "session.messages.loadEarlier": "پہلے سنیہے لوڈ کرو", + "session.messages.loading": "سنیہے لوڈ ہو رۓ...", + "session.messages.jumpToLatest": "تازہ ترین تے جاؤ", + "session.context.addToContext": "سیاق و سباق چ {{selection}} شامل کرو", + "session.todo.title": "ٹوڈوس", + "session.todo.collapse": "سمیٹو", + "session.todo.expand": "کھولو", + "session.todo.progress": "{{done}} دے {{total}} کم مکمل ہو گئے", + "session.question.progress": "{{total}} سوالاں وچوں {{current}}", + "session.question.minimize": "سوال نوں چھوٹا کرو", + "session.question.restore": "سوال بحال کرو", + "session.question.pending.one": "{{count}} زیر التوا سوال", + "session.question.pending.other": "{{count}} زیر التوا سوال", + "session.followupDock.summary.one": "{{count}} قطار چ لگیا ہویا پیغام", + "session.followupDock.summary.other": "{{count}} قطار وچ لگے سنیہے", + "session.followupDock.sendNow": "ہن بھیجو", + "session.followupDock.edit": "ترمیم کرو", + "session.followupDock.collapse": "قطار والے سنیہے سمیٹو", + "session.followupDock.expand": "قطار وچ لگے سنیہے ودھاؤ", + "session.revertDock.summary.one": "{{count}} رول بیک میسج", + "session.revertDock.summary.other": "{{count}} رول بیک پیغامات", + "session.revertDock.collapse": "واپس موڑے سنیہے سمیٹو", + "session.revertDock.expand": "رول بیک پیغامات نو ودھاؤ", + "session.revertDock.restore": "سنیہا بحال کرو", + "session.new.title": "کجھ وی بناؤ", + "session.new.project.new": "نواں منصوبہ", + "session.new.project.search": "منصوبیاں دی تلاش کرو", + "session.new.project.add": "پروجیکٹ شامل کرو", + "session.new.worktree.main": "مین برانچ", + "session.new.worktree.mainWithBranch": "مین برانچ ({{branch}})", + "session.new.worktree.create": "نواں ورک ٹری بناؤ", + "session.new.workspace.runIn": "وچ سیشن چلاؤ", + "session.new.workspace.triggerLocal": "مقامی", + "session.new.workspace.local": "مقامی مخزن", + "session.new.workspace.existing": "کم دی تھاں...", + "session.new.git.none": "Git نئیں", + "session.new.lastModified": "آخری ترمیم", + "session.header.search.placeholder": "{{project}} لبھو", + "session.header.searchFiles": "فائلاں لبھو", + "session.header.openIn": "وچ کھولو", + "session.header.open.action": "کھولو {{app}}", + "session.header.open.ariaLabel": "{{app}} وچ کھولو", + "session.header.open.menu": "اختیارات کھولو", + "session.header.open.copyPath": "راہ کاپی کرو", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "File Explorer", + "session.header.open.fileManager": "File Manager", + "session.header.reveal.finder": "Finder وچ ظاہر کرو", + "session.header.reveal.fileExplorer": "File Explorer وچ ظاہر کرو", + "session.header.reveal.containingFolder": "فائل والا فولڈر کھولو", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Terminal", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "حالت", + "status.popover.ariaLabel": "سرور ترتیبات", + "status.popover.tab.servers": "سرورز", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "پلگ انز", + "status.popover.action.manageServers": "سرورز دا انتظام کرو", + "session.share.popover.title": "ویب تے شائع کرو", + "session.share.popover.description.shared": "ایہ سیشن ویب تے عوامی اے۔ ایہ لنک آلے ہر بندے لئی رسائی حاصل اے۔", + "session.share.popover.description.unshared": + "ویب تے عوامی طور تے سیشن شیئر کرو۔ ایہ لنک آلے ہر بندے لئی رسائی حاصل ہووے گی۔", + "session.share.action.share": "شیئر کرو", + "session.share.action.publish": "شائع کرو", + "session.share.action.publishing": "شائع ہو رہیا اے...", + "session.share.action.unpublish": "شائع نہ کرو", + "session.share.action.unpublishing": "اشاعت ہٹ رہی اے...", + "session.share.action.view": "ویکھو", + "session.share.copy.copied": "کاپی کیتا گیا", + "session.share.copy.copyLink": "لنک کاپی کرو", + "lsp.tooltip.none": "کوئی LSP سرور نئیں", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "لوڈنگ پرامپٹ...", + "terminal.loading": "ٹرمینل لوڈ ہو رہیا اے...", + "terminal.title": "Terminal", + "terminal.title.numbered": "Terminal {{number}}", + "terminal.close": "ٹرمینل بند کرو", + "terminal.connectionLost.title": "کنکشن گواچ گیا", + "terminal.connectionLost.abnormalClose": "WebSocket غیر معمولی طور تے بند کیتا گیا: {{code}}", + "terminal.connectionLost.description": + "ٹرمینل کنکشن وچ رکاوٹ پے گئی۔ ایہ اودوں ہو سکدا اے جدوں سرور دوبارہ شروع ہوندا اے۔", + "terminal.connectTicket.csrfError": "PTY کنکشن ٹکٹ نوں ماخذ یا CSRF جانچاں نے رد کر دتا۔ سرور دی CORS کنفگ چیک کرو۔", + "terminal.connectTicket.statusError": "PTY کنکشن ٹکٹ {{status}} سٹیٹس نال ناکام ہو گیا", + "titlebar.update": "اپ ڈیٹ کرو", + "titlebar.updateVersion": "اپ ڈیٹ کرو {{version}}", + "common.closeTab": "ٹیب بند کرو", + "common.dismiss": "برخاست کرو", + "common.moreCountSuffix": " (+{{count}} ہور)", + "common.requestFailed": "درخواست ناکام ہو گئی", + "common.moreOptions": "ہور اختیارات", + "common.learnMore": "ہور جانو", + "common.rename": "ناں بدلو", + "common.export": "برآمد کرو", + "common.reset": "ری سیٹ کرو", + "common.archive": "آرکائیو کرو", + "common.delete": "مکاؤ", + "common.close": "بند کرو", + "common.edit": "ترمیم کرو", + "common.loadMore": "ہور لوڈ کرو", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "نامعلوم", + "common.time.justNow": "ہنے ہنے", + "common.time.minutesAgo.short": "{{count}}m پہلاں", + "common.time.hoursAgo.short": "{{count}}h پہلاں", + "common.time.daysAgo.short": "{{count}}d پہلاں", + "sidebar.menu.toggle": "مینو ٹوگل کرو", + "sidebar.nav.projectsAndSessions": "پروجیکٹ تے سیشن", + "sidebar.settings": "ترتیبات", + "sidebar.help": "مدد", + "sidebar.workspaces.enable": "ورک سپیس چالو کرو", + "sidebar.workspaces.disable": "ورک اسپیسز نو غیر فعال کرو", + "sidebar.gettingStarted.title": "شروع کرنا", + "sidebar.gettingStarted.line1": "OpenCode چ مفت ماڈل شامل نیں تاکہ تسی فوری طور تے شروع کر سکو۔", + "sidebar.gettingStarted.line2": "Claude، GPT، Gemini وغیرہ ماڈل ورتن لئی کوئی وی پرووائیڈر جوڑو۔", + "sidebar.project.recentSessions": "حالیہ سیشن", + "sidebar.project.viewAllSessions": "سارے سیشن ویکھو", + "sidebar.project.clearNotifications": "نوٹیفکیشن صاف کرو", + "sidebar.empty.title": "کوئی پروجیکٹ نئیں کھلیا", + "sidebar.empty.description": "شروع کرن لئی کوئی پروجیکٹ کھولو", + "debugBar.ariaLabel": "ترقی دی کارکردگی دی تشخیص", + "debugBar.na": "لاگو نئیں", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "سیشن دے صفحے نو چھون آلے آخری مکمل روٹ ٹرانزیشن، روٹر دے آغاز توں لے کے اس دے ٹک جان دے بعد پہلے پینٹ تک ماپیا جاندا اے۔", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "پچھلے 5 سیکنڈاں چ فی سیکنڈ فریم رولنگ۔", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "پچھلے 5 سیکنڈاں چ بدترین فریم ٹائم۔", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "پچھلے 5 سیکنڈ چ 32 ایم ایس توں ودھ فریم۔", + "debugBar.long.label": "LONG", + "debugBar.long.tip": "پچھلے 5 سیکنڈاں چ بلاک کیتا گیا ویلہ تے لمے کماں دی گنتی۔ زیادہ توں زیادہ کم: {{max}}۔", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "پچھلے 5 سیکنڈاں چ بدترین ان پٹ دی تاخیر ویکھی گئی۔", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": "پچھلے 5 سیکنڈاں چ تقریباً تعامل دی مدت۔ ایہ INP ورگا اے، سرکاری Web Vitals INP نئیں۔", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "موجودہ ایپ دی زندگی لئی مجموعی ترتیب دی تبدیلی۔", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "جے ایس ہیپ بمقابلہ ہیپ لیمٹ استعمال کیتا گیا۔ صرف Chromium۔", + "debugBar.mem.tip": "ورتیا JS ہیپ تے ہیپ دی حد۔ {{limit}} وچوں {{used}}۔", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "سارے انٹرایکٹو عناصر اُتے فوکس سٹائل لازمی لاگو کرو", + "debugBar.focus.on": "چالو", + "debugBar.focus.off": "بند", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "چُنی ہوئی زبان نوں بدلے بغیر پوری ایپ دے لے آؤٹ دی سمت لازمی مقرر کرو", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode ڈیسک ٹاپ", + "settings.section.desktop": "ڈیسک ٹاپ", + "settings.section.server": "سرور", + "settings.tab.general": "عمومی", + "settings.tab.shortcuts": "شارٹ کٹ", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "WSL نال جوڑ", + "settings.desktop.wsl.description": "Windows تے WSL دے اندر OpenCode سرور چلاؤ۔", + "settings.general.section.appearance": "دِکھ", + "settings.general.section.advanced": "اَڈوانسڈ", + "settings.general.section.notifications": "سسٹم نوٹیفکیشنز", + "settings.general.section.updates": "اپ ڈیٹس", + "settings.general.section.sounds": "آواز دے اثرات", + "settings.general.section.feed": "فیڈ", + "settings.general.section.display": "ڈسپلے", + "settings.general.row.language.title": "بولی", + "settings.general.row.language.description": "OpenCode لئی ڈسپلے دی بولی بدلو", + "settings.general.row.shell.title": "شیل", + "settings.general.row.shell.description": "Shell ٹرمینل تے ایجنٹ ٹولز دے ذریعہ استعمال کیتا جاندا اے", + "settings.general.row.shell.autoDefault": "آٹو (پہلے توں طے شدہ)", + "settings.general.row.shell.terminalOnly": "صرف ٹرمینل", + "settings.general.row.appearance.title": "دِکھ", + "settings.general.row.appearance.description": "اپنے آلے تے OpenCode کیویں لگدا اے، اپنی مرضی دے مطابق بناؤ", + "settings.general.row.colorScheme.title": "رنگ سکیم", + "settings.general.row.colorScheme.description": "چنو کہ آیا OpenCode سسٹم، لائٹ، یا ڈارک تھیم دی پیروی کردا اے", + "settings.general.row.theme.title": "تھیم", + "settings.general.row.theme.description": "OpenCode نوں کس طرح تھیم کیتا گیا اے، اپنی مرضی دے مطابق بناؤ۔", + "settings.general.row.font.title": "کوڈ فونٹ", + "settings.general.row.font.description": "کوڈ بلاکس وچ استعمال ہون آلے فونٹ نو اپنی مرضی دے مطابق بناؤ", + "settings.general.row.terminalFont.title": "Terminal فونٹ", + "settings.general.row.terminalFont.description": "ٹرمینل وچ استعمال ہون آلے فونٹ نو اپنی مرضی دے مطابق بناؤ", + "settings.general.row.uiFont.title": "یو آئی فونٹ", + "settings.general.row.uiFont.description": "پورے انٹرفیس تے استعمال ہون آلے فونٹ نو اپنی مرضی دے مطابق بناؤ", + "settings.general.row.followup.title": "فالو اپ رویہ", + "settings.general.row.followup.description": "چنو کہ فالو اپ اشارے فوری طور تے چلدے نیں یا قطار چ انتظار کردے نیں", + "settings.general.row.followup.option.queue": "قطار", + "settings.general.row.followup.option.steer": "سٹیئر", + "settings.general.row.showFileTree.title": "فائل ٹری", + "settings.general.row.showFileTree.description": "سیشنز چ فائل ٹری پینل وکھاؤ", + "settings.general.row.showNavigation.title": "نیوی گیشن کنٹرولز", + "settings.general.row.showNavigation.description": "ڈیسک ٹاپ ٹائٹل بار وچ پچھے تے اگے دے بٹن وکھاؤ", + "settings.general.row.showSearch.title": "کمانڈ پیلیٹ", + "settings.general.row.showSearch.description": "ٹائٹل بار وچ سرچ تے کمانڈ پیلیٹ بٹن وکھاؤ", + "settings.general.row.showTerminal.title": "Terminal", + "settings.general.row.showTerminal.description": "ڈیسک ٹاپ ٹائٹل بار وچ ٹرمینل بٹن وکھاؤ", + "settings.general.row.showStatus.title": "سرور دی حیثیت", + "settings.general.row.showStatus.description": "ٹائٹل بار وچ سرور دی حیثیت دا بٹن وکھاؤ", + "settings.general.row.mobileTitlebarBottom.title": "تھلویں نیوی گیشن", + "settings.general.row.mobileTitlebarBottom.description": "موبائل تے سکرین دے تھلے ٹائٹل بار تے سیشن ٹیب رکھو", + "settings.general.row.showCustomAgents.title": "ایجنٹ وکھاؤ", + "settings.general.row.showCustomAgents.description": + "کمپوزر چ ایجنٹاں دے وچکار سوئچ کرو۔ جدوں لُکیا ہوندا اے، تے بلڈ ایجنٹ تے ڈیفالٹ ہوندا اے۔", + "settings.general.row.reasoningSummaries.title": "استدلال دے خلاصے وکھاؤ", + "settings.general.row.reasoningSummaries.description": "ٹائم لائن وچ ماڈل دی استدلال دے خلاصے وکھاؤ", + "settings.general.row.shellToolPartsExpanded.title": "شیل ٹول دے حصیاں نو ودھاؤ", + "settings.general.row.shellToolPartsExpanded.description": + "ٹائم لائن وچ ڈیفالٹ دے طور تے ودھائے گئے شیل ٹول دے حصے وکھاؤ", + "settings.general.row.editToolPartsExpanded.title": "ترمیم دے آلے دے حصیاں نو ودھاؤ", + "settings.general.row.editToolPartsExpanded.description": + "ٹائم لائن وچ ڈیفالٹ دے طور تے ودھائے گئے ترمیم، لکھن تے پیچ ٹول دے حصے وکھاؤ", + "settings.general.row.newInterface.title": "نواں لے آؤٹ", + "settings.general.row.newInterface.badge": "نواں", + "settings.general.row.newInterface.description": + "نویں ٹیبز تے ہوم لے آؤٹ ورتو۔ اک محدود ویلے لئی ترتیب دے وچکار سوئچ کرو۔", + "settings.general.row.newInterfaceNotice.title": "تسی ہن نواں لے آؤٹ ورت رہے او", + "settings.general.row.newInterfaceNotice.description": "پچھلا لے آؤٹ ہن دستیاب نئیں", + "settings.general.row.newInterfaceNotice.dismiss": "برخاست کرو", + "settings.general.row.pinchZoom.title": "زوم کرن لئی چٹکی مارو", + "settings.general.row.pinchZoom.description": "ٹریک پیڈ پنچ تے کنٹرول سکرول اشارے نو زوم کرن دی اجازت دیو", + "settings.general.row.wayland.title": "مقامی Wayland ورتو", + "settings.general.row.wayland.description": "Wayland تے X11 فال بیک نو غیر فعال کرو۔ دوبارہ شروع کرن دی لوڑ اے۔", + "settings.general.row.wayland.tooltip": + "مخلوط ریفریش ریٹ مانیٹراں دے نال Linux تے، مقامی Wayland زیادہ مستحکم ہو سکدا اے۔", + "settings.general.row.releaseNotes.title": "ریلیز نوٹ", + "settings.general.row.releaseNotes.description": "اپ ڈیٹ پچھوں 'نواں کی اے' پاپ اپ وکھاؤ", + "settings.updates.row.startup.title": "شروع ہون تے اپ ڈیٹاں دی پڑتال کرو", + "settings.updates.row.startup.description": "جدوں OpenCode لانچ ہوندا اے تے خودبخود اپ ڈیٹس چیک کرو", + "settings.updates.row.check.title": "اپ ڈیٹس لئی چیک کرو", + "settings.updates.row.check.description": "اپ ڈیٹس لئی دستی طور تے چیک کرو تے جے دستیاب ہووے تے انسٹال کرو", + "settings.updates.action.checkNow": "ہن چیک کرو", + "settings.updates.action.checking": "چیک کر رہیا واں...", + "settings.updates.action.downloading": "ڈاؤن لوڈ کر رہیا اے...", + "settings.updates.action.installing": "انسٹال کر رہیا اے...", + "settings.updates.toast.latest.title": "تسی تازہ ترین او", + "settings.updates.toast.latest.description": "تسی OpenCode دا تازہ ترین ورژن چلا رئے او۔", + "sound.option.none": "کوئی نئیں", + "sound.option.alert01": "Alert 01", + "sound.option.alert02": "Alert 02", + "sound.option.alert03": "Alert 03", + "sound.option.alert04": "Alert 04", + "sound.option.alert05": "Alert 05", + "sound.option.alert06": "Alert 06", + "sound.option.alert07": "Alert 07", + "sound.option.alert08": "Alert 08", + "sound.option.alert09": "Alert 09", + "sound.option.alert10": "Alert 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "Nope 01", + "sound.option.nope02": "Nope 02", + "sound.option.nope03": "Nope 03", + "sound.option.nope04": "Nope 04", + "sound.option.nope05": "Nope 05", + "sound.option.nope06": "Nope 06", + "sound.option.nope07": "Nope 07", + "sound.option.nope08": "Nope 08", + "sound.option.nope09": "Nope 09", + "sound.option.nope10": "Nope 10", + "sound.option.nope11": "Nope 11", + "sound.option.nope12": "Nope 12", + "sound.option.yup01": "Yup 01", + "sound.option.yup02": "Yup 02", + "sound.option.yup03": "Yup 03", + "sound.option.yup04": "Yup 04", + "sound.option.yup05": "Yup 05", + "sound.option.yup06": "Yup 06", + "settings.general.notifications.agent.title": "Agent", + "settings.general.notifications.agent.description": + "جدوں ایجنٹ مکمل ہو جائے یا توجہ دی لوڑ ہووے تے سسٹم نوٹیفکیشن وکھاؤ", + "settings.general.notifications.permissions.title": "اجازتاں", + "settings.general.notifications.permissions.description": "جدوں اجازت دی لوڑ ہووے تے سسٹم نوٹیفکیشن وکھاؤ", + "settings.general.notifications.errors.title": "غلطیاں", + "settings.general.notifications.errors.description": "جدوں کوئی غلطی ہوندی اے تے سسٹم نوٹیفکیشن وکھاؤ", + "settings.general.sounds.agent.title": "Agent", + "settings.general.sounds.agent.description": "جدوں ایجنٹ مکمل ہو جائے یا توجہ دی لوڑ ہووے تے آواز چلاؤ", + "settings.general.sounds.permissions.title": "اجازتاں", + "settings.general.sounds.permissions.description": "جدوں اجازت دی لوڑ ہووے تے آواز چلاؤ", + "settings.general.sounds.errors.title": "غلطیاں", + "settings.general.sounds.errors.description": "جدوں کوئی غلطی ہوندی اے تے آواز چلاؤ", + "settings.shortcuts.title": "کی بورڈ شارٹ کٹ", + "settings.shortcuts.reset.button": "ڈیفالٹ تے ری سیٹ کرو", + "settings.shortcuts.reset.toast.title": "شارٹ کٹس ری سیٹ ہو گئے", + "settings.shortcuts.reset.toast.description": "کی بورڈ دے شارٹ کٹس نو ڈیفالٹ تے ری سیٹ کر دتا گیا اے۔", + "settings.shortcuts.conflict.title": "شارٹ کٹ پہلے ای استعمال چ اے", + "settings.shortcuts.conflict.description": "{{keybind}} پہلے ای {{titles}} نوں تفویض کیتا گیا اے۔", + "settings.shortcuts.unassigned": "غیر تفویض شدہ", + "settings.shortcuts.pressKeys": "کنجیاں دباؤ", + "settings.shortcuts.search.placeholder": "شارٹ کٹ لبھو", + "settings.shortcuts.search.empty": "کوئی شارٹ کٹ نئیں ملیا", + "settings.shortcuts.group.general": "عمومی", + "settings.shortcuts.group.session": "سیشن", + "settings.shortcuts.group.navigation": "نیوی گیشن", + "settings.shortcuts.group.modelAndAgent": "ماڈل تے ایجنٹ", + "settings.shortcuts.group.terminal": "Terminal", + "settings.shortcuts.group.prompt": "پرامپٹ", + "settings.providers.title": "پرووائیڈر", + "settings.providers.description": "پرووائیڈر دیاں سیٹنگاں ایتھے بدلیاں جا سکدیاں نیں۔", + "settings.providers.section.connected": "جڑے ہوئے پرووائیڈر", + "settings.providers.connected.empty": "کوئی پرووائیڈر نئیں جڑیا", + "settings.providers.connected.environmentDescription": "تہاڈے ماحول دے متغیراں توں جڑیا ہویا اے", + "settings.providers.section.popular": "مقبول پرووائیڈر", + "settings.providers.custom.description": "بیس URL نال OpenAI دے نال رلدا پرووائیڈر شامل کرو۔", + "settings.providers.tag.environment": "ماحول", + "settings.providers.tag.config": "ترتیب", + "settings.providers.tag.custom": "مخصوص", + "settings.providers.tag.other": "ہور", + "settings.models.title": "ماڈل", + "settings.models.description": "ماڈل دی ترتیبات ایتھے ترتیب دے قابل ہون گیاں۔", + "settings.agents.title": "ایجنٹاں", + "settings.agents.description": "Agent ترتیبات ایتھے ترتیب دے قابل ہون گیاں۔", + "settings.commands.title": "کمانڈز", + "settings.commands.description": "کمانڈ دی ترتیبات ایتھے ترتیب دے قابل ہون گیاں۔", + "settings.mcp.title": "MCP", + "settings.mcp.description": "MCP ترتیبات ایتھے ترتیب دے قابل ہون گیاں۔", + "settings.permissions.title": "اجازتاں", + "settings.permissions.description": "کنٹرول کرو کہ سرور پہلے توں طے شدہ طور تے کیہڑے اوزار استعمال کر سکدا اے۔", + "settings.permissions.section.tools": "ٹول", + "settings.permissions.toast.updateFailed.title": "اجازتاں نو اپ ڈیٹ کرن اچ ناکام رہیا", + "settings.permissions.action.allow": "اجازت دیو", + "settings.permissions.action.ask": "پُچھو", + "settings.permissions.action.deny": "منع کرو", + "settings.permissions.tool.read.title": "پڑھو", + "settings.permissions.tool.read.description": "فائل پڑھنا (فائل دے راہ نال میل کھاندا اے)", + "settings.permissions.tool.edit.title": "ترمیم", + "settings.permissions.tool.edit.description": "فائلاں وچ ترمیم کرو، بشمول ترمیماں، لکھتاں تے پیچاں", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "glob پیٹرناں نال فائلاں دا میل کرو", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "ریگولر ایکسپریشنز دا استعمال کردے ہوئے فائل دے مواد نو تلاش کرو", + "settings.permissions.tool.list.title": "فہرست", + "settings.permissions.tool.list.description": "ڈائریکٹری دے اندر فائلاں دی فہرست بناؤ", + "settings.permissions.tool.bash.title": "Bash", + "settings.permissions.tool.bash.description": "شیل کمانڈز چلاؤ", + "settings.permissions.tool.task.title": "کم", + "settings.permissions.tool.task.description": "ذیلی ایجنٹ شروع کرو", + "settings.permissions.tool.skill.title": "Skill", + "settings.permissions.tool.skill.description": "ناں نال اک مہارت لوڈ کرو", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "بولی دے سرور دے سوالاں نوں چلاؤ", + "settings.permissions.tool.todowrite.title": "ٹوڈو لکھنا", + "settings.permissions.tool.todowrite.description": "ٹوڈو لسٹ نوں اپ ڈیٹ کرو", + "settings.permissions.tool.webfetch.title": "ویب فیچ", + "settings.permissions.tool.webfetch.description": "URL توں مواد لیاو", + "settings.permissions.tool.websearch.title": "Web Search", + "settings.permissions.tool.websearch.description": "ویب تے سرچ کرو", + "settings.permissions.tool.external_directory.title": "باہرلی ڈائریکٹری", + "settings.permissions.tool.external_directory.description": + "پروجیکٹ ڈائریکٹری توں باہر دیاں فائلاں تک رسائی حاصل کرو", + "settings.permissions.tool.doom_loop.title": "ڈوم لوپ", + "settings.permissions.tool.doom_loop.description": "اکو جئے ان پٹ دے نال بار بار ٹول کالاں دا پتہ لاو", + "session.delete.failed.title": "سیشن نو مٹان اچ ناکام رہیا", + "session.delete.title": "سیشن مٹاؤ", + "session.delete.confirm": 'سیشن "{{name}}" نوں مٹا دیو؟', + "session.delete.button": "سیشن مٹاؤ", + "workspace.new": "نویں ورک سپیس", + "workspace.type.local": "مقامی", + "workspace.type.sandbox": "سینڈ باکس", + "workspace.create.failed.title": "ورک سپیس بنان چ ناکامی ہوئی", + "workspace.delete.failed.title": "ورک اسپیس نو مٹان اچ ناکام رہیا", + "workspace.resetting.title": "ورک اسپیس نوں ری سیٹ کرنا", + "workspace.resetting.description": "اس چ اک منٹ لگ سکدا اے۔", + "workspace.reset.failed.title": "ورک سپیس نوں ری سیٹ کرن چ ناکامی ہوئی", + "workspace.reset.success.title": "ورک اسپیس ری سیٹ", + "workspace.reset.success.description": "ورک سپیس ہن ڈیفالٹ برانچ نال میل کھاندا اے۔", + "workspace.error.stillPreparing": "ورک اسپیس ہلے وی تیاری کر رئی اے", + "workspace.status.checking": "غیر ضم شدہ تبدیلیاں دی جانچ پڑتال...", + "workspace.status.error": "Git دی حالت دی پڑتال نئیں ہو سکی۔", + "workspace.status.clean": "کوئی غیر ضم شدہ تبدیلی نئیں لبھی۔", + "workspace.status.dirty": "اس ورک اسپیس وچ غیر ضم شدہ تبدیلیاں دا پتہ چلیا اے۔", + "workspace.delete.title": "ورک اسپیس نو مٹا دیو", + "workspace.delete.confirm": 'ورک اسپیس "{{name}}" نو مٹا دیو؟', + "workspace.delete.button": "ورک اسپیس نو مٹا دیو", + "workspace.reset.title": "ورک اسپیس ری سیٹ کرو", + "workspace.reset.confirm": 'ورک اسپیس "{{name}}" نوں ری سیٹ کرو؟', + "workspace.reset.button": "ورک اسپیس ری سیٹ کرو", + "workspace.reset.archived.none": "کوئی فعال سیشن آرکائیو نئیں کیتا جائے گا۔", + "workspace.reset.archived.one": "1 سیشن آرکائیو کیتا جائے گا۔", + "workspace.reset.archived.many": "{{count}} سیشن آرکائیو کیتے جان گے۔", + "workspace.reset.note": "ایہ ورک اسپیس نو ڈیفالٹ برانچ نال ملاون لئی ری سیٹ کرے گا۔", +} diff --git a/packages/app/src/i18n/parity.test.ts b/packages/app/src/i18n/parity.test.ts index 566be37e6471..d2f1ed35d140 100644 --- a/packages/app/src/i18n/parity.test.ts +++ b/packages/app/src/i18n/parity.test.ts @@ -1,4 +1,5 @@ import { describe, expect, test } from "bun:test" +import { desktopNativePluralCategories } from "./desktop-native" const appLocales = [ "ar", @@ -18,8 +19,61 @@ const appLocales = [ "tr", "zh", "zht", + "hi", + "nl", + "id", + "vi", + "it", + "ur", + "pa", + "az", + "fi", + "sv", + "am", + "bg", + "bn", + "ca", + "cs", + "dv", + "dz", + "el", + "et", + "fa", + "fo", + "hr", + "hu", + "hy", + "is", + "ka", + "km", + "lo", + "lt", + "lv", + "mk", + "mn", + "ms", + "my", + "ne", + "ro", + "si", + "sk", + "sl", + "sq", + "sr", + "tg", + "tk", + "uz", ] as const -const desktopLocales = appLocales.filter((locale) => locale !== "th" && locale !== "tr") +const desktopLocales = appLocales +const pluralCategories = new Map( + appLocales.map( + (locale) => + [ + locale, + desktopNativePluralCategories(locale).filter((category) => category !== "one" && category !== "other"), + ] as const, + ), +) const domains = [ { @@ -42,19 +96,24 @@ const domains = [ }, ] as const -describe.skipIf(!!process.env.CI)("i18n parity", () => { - test("non-English locales have every English key", async () => { +describe("i18n parity", () => { + test("non-English locales have every English key and required plural variants", async () => { for (const domain of domains) { const source = await dictionary(domain.source) for (const locale of domain.locales) { const target = await dictionary(domain.target(locale)) const missing = Object.keys(source).filter((key) => !Object.hasOwn(target, key)) - const extra = Object.keys(target).filter((key) => !Object.hasOwn(source, key)) + const extra = Object.keys(target) + .filter((key) => !Object.hasOwn(source, key)) + .sort() + const expected = pluralFamilies(source) + .flatMap((key) => (pluralCategories.get(locale) ?? []).map((category) => `${key}.${category}`)) + .sort() expect({ domain: domain.name, locale, missing, extra }).toEqual({ domain: domain.name, locale, missing: [], - extra: [], + extra: expected, }) } } @@ -68,7 +127,17 @@ describe.skipIf(!!process.env.CI)("i18n parity", () => { const mismatched = Object.keys(source).filter( (key) => Object.hasOwn(target, key) && placeholders(source[key]).join() !== placeholders(target[key]).join(), ) - expect({ domain: domain.name, locale, mismatched }).toEqual({ domain: domain.name, locale, mismatched: [] }) + const pluralMismatched = pluralFamilies(source).flatMap((key) => + (pluralCategories.get(locale) ?? []) + .map((category) => `${key}.${category}`) + .filter((variant) => placeholders(source[`${key}.other`]).join() !== placeholders(target[variant]).join()), + ) + expect({ domain: domain.name, locale, mismatched, pluralMismatched }).toEqual({ + domain: domain.name, + locale, + mismatched: [], + pluralMismatched: [], + }) } } }) @@ -100,6 +169,38 @@ describe.skipIf(!!process.env.CI)("i18n parity", () => { }) }) +describe("i18n plural parity", () => { + test("locale-specific categories exist and preserve count placeholders", async () => { + for (const domain of domains.slice(0, 2)) { + const source = await dictionary(domain.source) + const families = pluralFamilies(source) + for (const locale of domain.locales) { + const target = await dictionary(domain.target(locale)) + const missing = families.flatMap((key) => + (pluralCategories.get(locale) ?? []) + .map((category) => `${key}.${category}`) + .filter((variant) => !Object.hasOwn(target, variant)), + ) + const mismatched = families.flatMap((key) => + (pluralCategories.get(locale) ?? []) + .map((category) => `${key}.${category}`) + .filter( + (variant) => + Object.hasOwn(target, variant) && + placeholders(source[`${key}.other`]).join() !== placeholders(target[variant]).join(), + ), + ) + expect({ domain: domain.name, locale, missing, mismatched }).toEqual({ + domain: domain.name, + locale, + missing: [], + mismatched: [], + }) + } + } + }) +}) + async function dictionary(file: string) { const module: unknown = await import(file) if (typeof module !== "object" || module === null || !("dict" in module) || !isDictionary(module.dict)) { @@ -116,3 +217,14 @@ function isDictionary(value: unknown): value is Record { function placeholders(value: string) { return Array.from(value.matchAll(/{{\s*([^}]+?)\s*}}/g), (match) => match[1]).sort() } + +function pluralFamilies(dictionary: Record) { + return Object.keys(dictionary) + .filter( + (key) => + key.endsWith(".one") && + dictionary[key].includes("{{count}}") && + dictionary[`${key.slice(0, -4)}.other`]?.includes("{{count}}"), + ) + .map((key) => key.slice(0, -4)) +} diff --git a/packages/app/src/i18n/pl.ts b/packages/app/src/i18n/pl.ts index 7517f16b8125..9b3c927498d8 100644 --- a/packages/app/src/i18n/pl.ts +++ b/packages/app/src/i18n/pl.ts @@ -1,4 +1,103 @@ export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Plik", + "desktop.menu.edit": "Edycja", + "desktop.menu.view": "Widok", + "desktop.menu.go": "Przejdź", + "desktop.menu.window": "Okno", + "desktop.menu.help": "Pomoc", + "desktop.menu.checkForUpdates": "Sprawdź aktualizacje...", + "desktop.menu.settings": "Ustawienia", + "desktop.menu.reloadWebview": "Wczytaj ponownie widok internetowy", + "desktop.menu.restart": "Uruchom ponownie", + "desktop.menu.exportLogs": "Eksportuj dzienniki...", + "desktop.menu.newSession": "Nowa sesja", + "desktop.menu.openProject": "Otwórz projekt...", + "desktop.menu.newWindow": "Nowe okno", + "desktop.menu.closeWindow": "Zamknij okno", + "desktop.menu.undo": "Cofnij", + "desktop.menu.redo": "Ponów", + "desktop.menu.cut": "Wytnij", + "desktop.menu.copy": "Kopiuj", + "desktop.menu.paste": "Wklej", + "desktop.menu.delete": "Usuń", + "desktop.menu.selectAll": "Zaznacz wszystko", + "desktop.menu.toggleSidebar": "Przełącz pasek boczny", + "desktop.menu.toggleTerminal": "Przełącz terminal", + "desktop.menu.toggleFileTree": "Przełącz drzewo plików", + "desktop.menu.reload": "Wczytaj ponownie", + "desktop.menu.toggleDeveloperTools": "Przełącz narzędzia deweloperskie", + "desktop.menu.actualSize": "Rozmiar rzeczywisty", + "desktop.menu.zoomIn": "Powiększ", + "desktop.menu.zoomOut": "Pomniejsz", + "desktop.menu.toggleFullScreen": "Przełącz tryb pełnoekranowy", + "desktop.menu.back": "Wstecz", + "desktop.menu.forward": "Dalej", + "desktop.menu.previousSession": "Poprzednia sesja", + "desktop.menu.nextSession": "Następna sesja", + "desktop.menu.previousProject": "Poprzedni projekt", + "desktop.menu.nextProject": "Następny projekt", + "desktop.menu.minimize": "Minimalizuj", + "desktop.menu.maximize": "Maksymalizuj", + "desktop.menu.documentation": "Dokumentacja OpenCode", + "desktop.menu.supportForum": "Forum pomocy technicznej", + "desktop.menu.shareFeedback": "Prześlij opinię", + "desktop.menu.reportBug": "Zgłoś błąd", + "desktop.menu.ariaLabel": "Menu OpenCode", + + "desktop.updater.dialog.checkFailed.message": "Nie udało się sprawdzić dostępności aktualizacji.", + "desktop.updater.dialog.checkFailed.title": "Błąd aktualizacji", + "desktop.updater.dialog.upToDate.message": "Masz najnowszą wersję.", + "desktop.updater.dialog.upToDate.title": "Brak aktualizacji", + "desktop.updater.dialog.ready.message": "Pobrano aktualizację {{version}}. Uruchomić ponownie teraz?", + "desktop.updater.dialog.ready.title": "Aktualizacja jest gotowa", + "desktop.updater.dialog.restart": "Uruchom ponownie", + "desktop.updater.dialog.later": "Później", + + "desktop.recovery.action.relaunch": "Uruchom ponownie", + "desktop.recovery.action.exportLogs": "Eksportuj dzienniki", + "desktop.recovery.action.keepWaiting": "Czekaj dalej", + "desktop.recovery.action.quit": "Zakończ", + "desktop.recovery.loadFailed": "Nie udało się wczytać OpenCode", + "desktop.recovery.terminated": "Okno OpenCode zostało nieoczekiwanie zamknięte", + "desktop.recovery.unresponsive": "OpenCode nie odpowiada", + "desktop.recovery.unresponsive.detail": "Możesz ponownie uruchomić aplikację, otworzyć dzienniki lub nadal czekać.", + "desktop.recovery.loadFailed.detail": "Okno: {{window}}\nURL: {{url}}\nBłąd: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Okno: {{window}}\nPrzyczyna: {{reason}}\nKod: {{code}}", + "desktop.recovery.unknown": "", + + "desktop.dialog.chooseFolder": "Wybierz folder", + "desktop.dialog.chooseFile": "Wybierz plik", + "desktop.dialog.saveFile": "Zapisz plik", + "desktop.dialog.files": "Pliki", + "desktop.server.local": "Serwer lokalny", + + "desktop.wsl.error.windowsOnly": "WSL jest dostępny tylko w systemie Windows", + "desktop.wsl.error.unavailable": "WSL jest niedostępny", + "desktop.wsl.error.listInstalled": "Nie udało się wyświetlić listy zainstalowanych dystrybucji WSL", + "desktop.wsl.error.listOnline": "Nie udało się wyświetlić listy dystrybucji WSL dostępnych online", + "desktop.wsl.error.executeDistro": "Nie można wykonywać poleceń w dystrybucji", + "desktop.wsl.error.installWsl": "Nie udało się zainstalować WSL", + "desktop.wsl.error.installDistro": "Nie udało się zainstalować dystrybucji: {{distro}}", + "desktop.wsl.error.installOpencode": "Nie udało się zainstalować OpenCode", + "desktop.wsl.error.alreadyAdded": "Dystrybucja {{distro}} została już dodana", + "desktop.wsl.error.opencodeMissing": "Program opencode nie jest zainstalowany w tej dystrybucji", + "desktop.wsl.error.opencodeCannotRun": "Program opencode jest zainstalowany, ale nie można go uruchomić", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode nie jest zainstalowany w dystrybucji {{distro}}", + "desktop.wsl.error.updateVersion": + "Aktualizacja OpenCode została ukończona, ale dystrybucja {{distro}} nadal zgłasza wersję {{installed}}; oczekiwano {{expected}}", + "desktop.wsl.error.noVersion": "brak wersji", + "desktop.wsl.error.serverExited": "Serwer WSL zakończył działanie po uruchomieniu (code={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "Serwer WSL zakończył działanie przed osiągnięciem gotowości (code={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": + "Przekroczono limit czasu {{timeout}}ms podczas sprawdzania kondycji procesu sidecar dla dystrybucji {{distro}}", + "desktop.wsl.error.commandTimeout": "Polecenie {{command}} {{args}} przekroczyło limit czasu {{timeout}}ms", + "desktop.wsl.error.failedPort": "Nie udało się uzyskać portu", + + "desktop.picker.error.notSelected": "Nie wybrano pliku w oknie wyboru", + "desktop.picker.error.sizeLimit": "Wybrane załączniki przekraczają limit {{limit}} MB", + "command.category.suggested": "Sugerowane", "command.category.view": "Widok", "command.category.project": "Projekt", @@ -16,6 +115,7 @@ export const dict = { "command.category.permissions": "Uprawnienia", "command.category.workspace": "Przestrzeń robocza", "command.category.settings": "Ustawienia", + "command.logs.export": "Eksportuj dzienniki", "theme.scheme.system": "Systemowy", "theme.scheme.light": "Jasny", "theme.scheme.dark": "Ciemny", @@ -45,7 +145,7 @@ export const dict = { "command.tab.reopenClosed": "Otwórz ponownie zamkniętą kartę", "command.context.addSelection": "Dodaj zaznaczenie do kontekstu", "command.context.addSelection.description": "Dodaj zaznaczone linie z bieżącego pliku", - "command.input.focus": "Fokus na pole wejściowe", + "command.input.focus": "Przejdź do pola wprowadzania", "command.terminal.toggle": "Przełącz terminal", "command.fileTree.toggle": "Przełącz drzewo plików", "command.review.toggle": "Przełącz przegląd", @@ -82,9 +182,12 @@ export const dict = { "command.session.fork": "Rozwidlij od wiadomości", "command.session.fork.description": "Utwórz nową sesję od poprzedniej wiadomości", "command.session.share": "Udostępnij sesję", - "command.session.share.description": "Udostępnij tę sesję i skopiuj URL do schowka", + "command.session.share.description": "Udostępnij tę sesję i skopiuj adres URL do schowka", "command.session.unshare": "Przestań udostępniać sesję", "command.session.unshare.description": "Zatrzymaj udostępnianie tej sesji", + "command.session.export": "Eksportuj sesję", + "command.session.export.description": "Eksportuj pełny zapis sesji w formacie JSON", + "palette.search.placeholder": "Szukaj plików, poleceń i sesji", "palette.search.placeholder.home": "Szukaj poleceń i sesji", "palette.empty": "Brak wyników", @@ -94,10 +197,11 @@ export const dict = { "dialog.provider.empty": "Nie znaleziono dostawców", "dialog.provider.group.popular": "Popularne", "dialog.provider.group.other": "Inne", + "dialog.provider.custom.label": "Niestandardowy dostawca zgodny z OpenAI", "dialog.provider.tag.recommended": "Zalecane", - "dialog.provider.opencode.note": "Wyselekcjonowane modele, w tym Claude, GPT, Gemini i inne", + "dialog.provider.opencode.note": "Starannie dobrane modele, w tym Claude, GPT, Gemini i inne", "dialog.provider.opencode.tagline": "Niezawodne, zoptymalizowane modele", - "dialog.provider.opencodeGo.tagline": "Tania subskrypcja dla każdego", + "dialog.provider.opencodeGo.tagline": "Niedroga subskrypcja dla każdego", "dialog.provider.anthropic.note": "Bezpośredni dostęp do modeli Claude, w tym Pro i Max", "dialog.provider.copilot.note": "Modele AI do pomocy w kodowaniu przez GitHub Copilot", "dialog.provider.openai.note": "Modele GPT do szybkich i wszechstronnych zadań AI", @@ -106,17 +210,20 @@ export const dict = { "dialog.provider.vercel.note": "Ujednolicony dostęp do modeli AI z inteligentnym routingiem", "dialog.model.select.title": "Wybierz model", "dialog.model.search.placeholder": "Szukaj modeli", - "dialog.model.empty": "Brak wyników modelu", + "dialog.model.empty": "Nie znaleziono modeli", "dialog.model.manage": "Zarządzaj modelami", "dialog.model.manage.description": "Dostosuj, które modele pojawiają się w wyborze modelu.", "dialog.model.manage.provider.toggle": "Przełącz wszystkie modele {{provider}}", "dialog.model.unpaid.freeModels.title": "Darmowe modele dostarczane przez OpenCode", "dialog.model.unpaid.addMore.title": "Dodaj więcej modeli od popularnych dostawców", + "dialog.model.unpaid.viewMoreProviders": "Zobacz ponad 70 innych dostawców", "dialog.provider.viewAll": "Zobacz więcej dostawców", "provider.connect.title": "Połącz {{provider}}", - "provider.connect.title.anthropicProMax": "Zaloguj się z Claude Pro/Max", + "provider.connect.title.anthropicProMax": "Zaloguj się za pomocą konta Claude Pro/Max", "provider.connect.selectMethod": "Wybierz metodę logowania dla {{provider}}.", "provider.connect.method.apiKey": "Klucz API", + "provider.connect.method.browser": "Przeglądarka", + "provider.connect.method.headless": "Bez przeglądarki", "provider.connect.status.inProgress": "Autoryzacja w toku...", "provider.connect.status.waiting": "Oczekiwanie na autoryzację...", "provider.connect.status.failed": "Autoryzacja nie powiodła się: {{error}}", @@ -126,9 +233,9 @@ export const dict = { "provider.connect.apiKey.placeholder": "Klucz API", "provider.connect.apiKey.required": "Klucz API jest wymagany", "provider.connect.opencodeZen.line1": - "OpenCode Zen daje dostęp do wybranego zestawu niezawodnych, zoptymalizowanych modeli dla agentów kodujących.", + "OpenCode Zen daje dostęp do wybranego zestawu niezawodnych, zoptymalizowanych modeli dla agentów programistycznych.", "provider.connect.opencodeZen.line2": - "Z jednym kluczem API uzyskasz dostęp do modeli takich jak Claude, GPT, Gemini, GLM i więcej.", + "Za pomocą jednego klucza API uzyskasz dostęp do modeli takich jak Claude, GPT, Gemini i GLM, a także wielu innych.", "provider.connect.opencodeZen.visit.prefix": "Odwiedź ", "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", "provider.connect.opencodeZen.visit.suffix": ", aby odebrać swój klucz API.", @@ -148,6 +255,7 @@ export const dict = { "provider.connect.toast.connected.title": "Połączono {{provider}}", "provider.connect.toast.connected.description": "Modele {{provider}} są teraz dostępne do użycia.", "provider.custom.title": "Dostawca niestandardowy", + "provider.custom.unavailable": "Niestandardowi dostawcy są niedostępni na tym serwerze", "provider.custom.description.prefix": "Skonfiguruj dostawcę zgodnego z OpenAI. Zobacz ", "provider.custom.description.link": "dokumentację konfiguracji dostawcy", "provider.custom.description.suffix": ".", @@ -156,7 +264,7 @@ export const dict = { "provider.custom.field.providerID.description": "Małe litery, cyfry, łączniki lub podkreślenia", "provider.custom.field.name.label": "Nazwa wyświetlana", "provider.custom.field.name.placeholder": "Mój Dostawca AI", - "provider.custom.field.baseURL.label": "Bazowy URL", + "provider.custom.field.baseURL.label": "Bazowy adres URL", "provider.custom.field.baseURL.placeholder": "https://api.mojdostawca.com/v1", "provider.custom.field.apiKey.label": "Klucz API", "provider.custom.field.apiKey.placeholder": "Klucz API", @@ -180,7 +288,7 @@ export const dict = { "provider.custom.error.providerID.format": "Używaj małych liter, cyfr, łączników lub podkreśleń", "provider.custom.error.providerID.exists": "To ID dostawcy już istnieje", "provider.custom.error.name.required": "Nazwa wyświetlana jest wymagana", - "provider.custom.error.baseURL.required": "Bazowy URL jest wymagany", + "provider.custom.error.baseURL.required": "Bazowy adres URL jest wymagany", "provider.custom.error.baseURL.format": "Musi zaczynać się od http:// lub https://", "provider.custom.error.required": "Wymagane", "provider.custom.error.duplicate": "Duplikat", @@ -216,7 +324,7 @@ export const dict = { "common.clear": "Wyczyść", "common.connect": "Połącz", "common.disconnect": "Rozłącz", - "common.continue": "Prześlij", + "common.continue": "Kontynuuj", "common.submit": "Prześlij", "common.save": "Zapisz", "common.saving": "Zapisywanie...", @@ -229,46 +337,46 @@ export const dict = { "prompt.placeholder.summarizeComment": "Podsumuj komentarz…", "prompt.mode.shell": "Terminal", "prompt.mode.normal": "Prompt", - "prompt.mode.shell.exit": "esc aby wyjść", + "prompt.mode.shell.exit": "Naciśnij Esc, aby wyjść", "session.child.promptDisabled": "Nie można wysyłać promptów w sesjach podagentów.", "session.child.backToParent": "Wróć do głównej sesji.", "prompt.example.1": "Napraw TODO w bazie kodu", "prompt.example.2": "Jaki jest stos technologiczny tego projektu?", "prompt.example.3": "Napraw zepsute testy", - "prompt.example.4": "Wyjaśnij jak działa uwierzytelnianie", + "prompt.example.4": "Wyjaśnij, jak działa uwierzytelnianie", "prompt.example.5": "Znajdź i napraw luki w zabezpieczeniach", "prompt.example.6": "Dodaj testy jednostkowe dla serwisu użytkownika", "prompt.example.7": "Zrefaktoryzuj tę funkcję, aby była bardziej czytelna", "prompt.example.8": "Co oznacza ten błąd?", - "prompt.example.9": "Pomóż mi zdebugować ten problem", + "prompt.example.9": "Pomóż mi zdiagnozować ten problem", "prompt.example.10": "Wygeneruj dokumentację API", "prompt.example.11": "Zoptymalizuj zapytania do bazy danych", "prompt.example.12": "Dodaj walidację danych wejściowych", "prompt.example.13": "Utwórz nowy komponent dla...", "prompt.example.14": "Jak wdrożyć ten projekt?", "prompt.example.15": "Sprawdź mój kod pod kątem najlepszych praktyk", - "prompt.example.16": "Dodaj obsługę błędów do tej funkcję", + "prompt.example.16": "Dodaj obsługę błędów do tej funkcji", "prompt.example.17": "Wyjaśnij ten wzorzec regex", "prompt.example.18": "Przekonwertuj to na TypeScript", "prompt.example.19": "Dodaj logowanie w całej bazie kodu", "prompt.example.20": "Które zależności są przestarzałe?", "prompt.example.21": "Pomóż mi napisać skrypt migracyjny", - "prompt.example.22": "Zaimplementuj cachowanie dla tego punktu końcowego", + "prompt.example.22": "Zaimplementuj buforowanie dla tego punktu końcowego", "prompt.example.23": "Dodaj stronicowanie do tej listy", "prompt.example.24": "Utwórz polecenie CLI dla...", "prompt.example.25": "Jak działają tutaj zmienne środowiskowe?", "prompt.popover.emptyResults": "Brak pasujących wyników", "prompt.popover.emptyCommands": "Brak pasujących poleceń", "prompt.dropzone.label": "Upuść tutaj obrazy, pliki PDF lub pliki tekstowe", - "prompt.dropzone.file.label": "Upuść, aby @wspomnieć plik", + "prompt.dropzone.file.label": "Upuść, aby oznaczyć plik za pomocą @", "prompt.slash.badge.custom": "własne", - "prompt.slash.badge.skill": "skill", + "prompt.slash.badge.skill": "umiejętność", "prompt.slash.badge.mcp": "mcp", "prompt.context.active": "aktywny", "prompt.context.includeActiveFile": "Dołącz aktywny plik", "prompt.context.removeActiveFile": "Usuń aktywny plik z kontekstu", "prompt.context.removeFile": "Usuń plik z kontekstu", - "prompt.action.attachFile": "Załącz plik", + "prompt.action.attachFile": "Dodaj pliki", "prompt.menu.addImagesAndFiles": "Dodaj pliki i inne elementy", "prompt.menu.imagesAndFiles": "Obrazy i pliki", "prompt.menu.commands": "Polecenia", @@ -289,12 +397,12 @@ export const dict = { "prompt.toast.promptSendFailed.title": "Nie udało się wysłać zapytania", "prompt.toast.promptSendFailed.description": "Nie udało się pobrać sesji", "dialog.mcp.title": "MCP", - "dialog.mcp.description": "{{enabled}} z {{total}} włączone", + "dialog.mcp.description": "Włączone: {{enabled}} z {{total}}", "dialog.mcp.empty": "Brak skonfigurowanych MCP", - "dialog.lsp.empty": "LSP wykryte automatycznie na podstawie typów plików", - "dialog.plugins.empty": "Wtyczki skonfigurowane w opencode.json", + "dialog.lsp.empty": "Serwery LSP są wykrywane automatycznie na podstawie typów plików", + "dialog.plugins.empty": "Wtyczki są skonfigurowane w pliku opencode.json", "mcp.status.connected": "połączono", - "mcp.status.failed": "niepowodzenie", + "mcp.status.failed": "błąd", "mcp.status.needs_auth": "wymaga autoryzacji", "mcp.auth.clickToAuthenticate": "Kliknij, aby się uwierzytelnić", "mcp.status.disabled": "wyłączone", @@ -304,14 +412,14 @@ export const dict = { "dialog.directory.action.selectFile": "Wybierz plik", "dialog.directory.action.selectFolder": "Wybierz folder", "dialog.directory.root": "Katalog główny", - "dialog.directory.parent": "Nadrzędny", + "dialog.directory.parent": "Folder nadrzędny", "dialog.directory.readError": "Nie można odczytać tego folderu", "dialog.server.title": "Serwery", "dialog.server.description": "Przełącz serwer OpenCode, z którym łączy się ta aplikacja.", "dialog.server.search.placeholder": "Szukaj serwerów", "dialog.server.empty": "Brak serwerów", "dialog.server.add.title": "Dodaj serwer", - "dialog.server.add.url": "URL serwera", + "dialog.server.add.url": "Adres URL serwera", "dialog.server.add.placeholder": "http://localhost:4096", "dialog.server.add.error": "Nie można połączyć się z serwerem", "dialog.server.add.checking": "Sprawdzanie...", @@ -323,7 +431,7 @@ export const dict = { "dialog.server.edit.title": "Edytuj serwer", "dialog.server.default.title": "Domyślny serwer", "dialog.server.default.description": - "Połącz z tym serwerem przy uruchomieniu aplikacji zamiast uruchamiać lokalny serwer. Wymaga restartu.", + "Łącz się z tym serwerem przy uruchamianiu aplikacji zamiast uruchamiać serwer lokalny. Wymaga ponownego uruchomienia.", "dialog.server.default.none": "Nie wybrano serwera", "dialog.server.default.set": "Ustaw bieżący serwer jako domyślny", "dialog.server.default.clear": "Wyczyść", @@ -332,7 +440,7 @@ export const dict = { "dialog.server.menu.default": "Ustaw jako domyślny", "dialog.server.menu.defaultRemove": "Usuń domyślny", "dialog.server.menu.delete": "Usuń", - "dialog.server.current": "Obecny serwer", + "dialog.server.current": "Bieżący serwer", "dialog.server.status.default": "Domyślny", "wsl.server.add": "Dodaj serwer WSL", "wsl.server.addShort": "Dodaj WSL", @@ -373,7 +481,7 @@ export const dict = { "wsl.onboarding.distroStatus.ready": "Gotowa", "wsl.onboarding.distroStatus.checking": "Sprawdzanie...", "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode nie jest zainstalowany", - "wsl.onboarding.distroStatus.missingTools": "Brak bash i curl", + "wsl.onboarding.distroStatus.missingTools": "Brak narzędzi bash i curl", "wsl.onboarding.distroStatus.unsupported": "Nieobsługiwana · Użyj WSL 2", "wsl.onboarding.needAnotherDistro": "Potrzebujesz innej dystrybucji?", "wsl.onboarding.needAnotherDistroHint": "Zainstaluj dystrybucję systemu Linux z katalogu WSL", @@ -394,7 +502,7 @@ export const dict = { "wsl.onboarding.installDistro": "Zainstaluj dystrybucję", "wsl.onboarding.searchDistros": "Szukaj dystrybucji", "wsl.onboarding.wsl2Required": "Wymagany jest WSL 2.", - "wsl.onboarding.toolsRequired": "Ta dystrybucja wymaga bash i curl.", + "wsl.onboarding.toolsRequired": "Ta dystrybucja wymaga narzędzi bash i curl.", "wsl.onboarding.openTerminal": "Otwórz terminal", "wsl.onboarding.path": "Ścieżka: {{path}}", "wsl.onboarding.notFound": "nie znaleziono", @@ -403,18 +511,35 @@ export const dict = { "wsl.onboarding.desktopVersion": "aplikacja komputerowa {{version}}", "wsl.onboarding.versionMismatch": "Zainstalowana wersja nie jest zgodna z wersją aplikacji komputerowej.", "wsl.onboarding.adding": "Dodawanie...", + "help.tabs.toast.ariaLabel": "Przedstawiamy karty. Organizuj pracę i aktywne sesje za pomocą kart", + "help.tabs.toast.dismiss": "Odrzuć informacje o kartach", + "help.tabs.title": "Przedstawiamy karty", + "help.tabs.description": "Organizuj pracę i aktywne sesje za pomocą kart", + "help.tabs.date": "14 lipca", + "help.tabs.introduction": "OpenCode Desktop korzysta teraz z układu opartego na kartach.", + "help.tabs.sessions": + "Rozpocznij nową sesję na karcie lub otwórz istniejącą sesję z dowolnego projektu. Otwórz nową kartę, gdy zaczynasz coś nowego, i zamknij ją po zakończeniu.", + "help.tabs.organize": + "Kilka otwartych kart ułatwia organizowanie aktywnych sesji. Jeśli chcesz zachować karty na dłużej, nadaj im łatwe do zapamiętania nazwy.", + "help.tabs.home": + "Wszystkie sesje i projekty znajdziesz na nowym ekranie głównym. Wybranie sesji powoduje otwarcie jej na karcie.", + "help.tabs.persistence": "Po ponownym otwarciu aplikacji karty pozostają otwarte.", + "help.tabs.worktrees": + "Nowy układ nie obsługuje jeszcze drzew roboczych Git, ale ta funkcja pojawi się wkrótce. Jeśli wolisz nadal korzystać z poprzedniego układu, możesz przełączać układy w Ustawieniach. Pamiętaj jednak, że za kilka tygodni nowy układ stanie się jedynym dostępnym.", "dialog.project.edit.title": "Edytuj projekt", "dialog.project.edit.name": "Nazwa", "dialog.project.edit.icon": "Ikona", "dialog.project.edit.icon.alt": "Ikona projektu", - "dialog.project.edit.icon.hint": "Kliknij lub przeciągnij obraz", - "dialog.project.edit.icon.recommended": "Zalecane: 128x128px", + "dialog.project.edit.icon.hint": "Kliknij, aby wybrać obraz, lub przeciągnij go tutaj", + "dialog.project.edit.icon.recommended": "Zalecane: 128 × 128 px", "dialog.project.edit.color": "Kolor", "dialog.project.edit.color.select": "Wybierz kolor {{color}}", "dialog.project.edit.worktree.startup": "Skrypt uruchamiania przestrzeni roboczej", "dialog.project.edit.worktree.startup.description": "Uruchamiany po utworzeniu nowej przestrzeni roboczej (worktree).", "dialog.project.edit.worktree.startup.placeholder": "np. bun install", + "dialog.usageExceeded.dontShowAgain": "Nie pokazuj ponownie", + "context.breakdown.title": "Podział kontekstu", "context.breakdown.note": 'Przybliżony podział tokenów wejściowych. "Inne" obejmuje definicje narzędzi i narzut.', "context.breakdown.system": "System", @@ -424,6 +549,8 @@ export const dict = { "context.breakdown.other": "Inne", "context.systemPrompt.title": "Prompt systemowy", "context.rawMessages.title": "Surowe wiadomości", + "context.export.session": "Eksportuj sesję", + "context.stats.session": "Sesja", "context.stats.messages": "Wiadomości", "context.stats.provider": "Dostawca", @@ -468,9 +595,9 @@ export const dict = { "toast.theme.title": "Przełączono motyw", "toast.scheme.title": "Schemat kolorów", "toast.workspace.enabled.title": "Przestrzenie robocze włączone", - "toast.workspace.enabled.description": "Kilka worktree jest teraz wyświetlanych na pasku bocznym", + "toast.workspace.enabled.description": "Kilka drzew roboczych jest teraz wyświetlanych na pasku bocznym", "toast.workspace.disabled.title": "Przestrzenie robocze wyłączone", - "toast.workspace.disabled.description": "Tylko główny worktree jest wyświetlany na pasku bocznym", + "toast.workspace.disabled.description": "Tylko główne drzewo robocze jest wyświetlane na pasku bocznym", "toast.permissions.autoaccept.on.title": "Automatyczne akceptowanie uprawnień", "toast.permissions.autoaccept.on.description": "Żądania uprawnień będą automatycznie zatwierdzane", "toast.permissions.autoaccept.off.title": "Zatrzymano automatyczne akceptowanie uprawnień", @@ -481,25 +608,30 @@ export const dict = { "toast.file.listFailed.title": "Nie udało się wyświetlić listy plików", "toast.context.noLineSelection.title": "Brak zaznaczenia linii", "toast.context.noLineSelection.description": "Najpierw wybierz zakres linii w zakładce pliku.", - "toast.session.share.copyFailed.title": "Nie udało się skopiować URL do schowka", + "toast.session.share.copyFailed.title": "Nie udało się skopiować adresu URL do schowka", "toast.session.share.success.title": "Sesja udostępniona", - "toast.session.share.success.description": "Link udostępniania skopiowany do schowka!", + "toast.session.share.success.description": "Adres URL udostępnionej sesji skopiowano do schowka!", "toast.session.share.failed.title": "Nie udało się udostępnić sesji", "toast.session.share.failed.description": "Wystąpił błąd podczas udostępniania sesji", "toast.session.unshare.success.title": "Zatrzymano udostępnianie sesji", "toast.session.unshare.success.description": "Udostępnianie sesji zostało pomyślnie zatrzymane!", "toast.session.unshare.failed.title": "Nie udało się zatrzymać udostępniania sesji", "toast.session.unshare.failed.description": "Wystąpił błąd podczas zatrzymywania udostępniania sesji", + "toast.session.export.success.title": "Sesja wyeksportowana", + "toast.session.export.success.description": "Sesję zapisano jako {{filename}}", + "toast.session.export.failed.title": "Nie udało się wyeksportować sesji", + "toast.session.export.failed.description": "Wystąpił błąd podczas eksportowania sesji", + "toast.session.listFailed.title": "Nie udało się załadować sesji dla {{project}}", "toast.update.title": "Dostępna aktualizacja", "toast.update.description": "Nowa wersja OpenCode ({{version}}) jest teraz dostępna do instalacji.", - "toast.update.action.installRestart": "Zainstaluj i zrestartuj", + "toast.update.action.installRestart": "Zainstaluj i uruchom ponownie", "toast.update.action.notYet": "Jeszcze nie", "error.page.title": "Coś poszło nie tak", "error.page.description": "Wystąpił błąd podczas ładowania aplikacji.", "error.page.description.localServerStartup": "Wystąpił błąd podczas uruchamiania serwera lokalnego.", "error.page.details.label": "Szczegóły błędu", - "error.page.action.restart": "Restartuj", + "error.page.action.restart": "Uruchom ponownie", "error.page.action.report": "Zgłoś błąd", "error.page.action.reported": "Błąd zgłoszony", "error.page.action.exportLogs": "Eksportuj dzienniki", @@ -512,7 +644,7 @@ export const dict = { "error.dev.rootNotFound": "Nie znaleziono elementu głównego. Czy zapomniałeś dodać go do swojego index.html? A może atrybut id został błędnie wpisany?", "error.serverSync.connectFailed": "Nie można połączyć się z serwerem. Czy serwer działa pod adresem `{{url}}`?", - "directory.error.invalidUrl": "Nieprawidłowy katalog w URL.", + "directory.error.invalidUrl": "Nieprawidłowy katalog w adresie URL.", "error.chain.unknown": "Nieznany błąd", "error.chain.causedBy": "Spowodowany przez:", "error.chain.apiError": "Błąd API", @@ -521,7 +653,7 @@ export const dict = { "error.chain.responseBody": "Treść odpowiedzi:\n{{body}}", "error.chain.didYouMean": "Czy miałeś na myśli: {{suggestions}}", "error.chain.modelNotFound": "Model nie znaleziony: {{provider}}/{{model}}", - "error.chain.checkConfig": "Sprawdź swoją konfigurację (opencode.json) nazwy dostawców/modeli", + "error.chain.checkConfig": "Sprawdź nazwy dostawców i modeli w konfiguracji (opencode.json)", "error.chain.mcpFailed": "Serwer MCP „{{name}}” nie uruchomił się. Uwaga: OpenCode nie obsługuje jeszcze uwierzytelniania MCP.", "error.chain.providerAuthFailed": "Uwierzytelnianie dostawcy nie powiodło się ({{provider}}): {{message}}", @@ -576,7 +708,7 @@ export const dict = { "session.review.change.other": "Zmiany", "session.review.loadingChanges": "Ładowanie zmian...", "session.review.empty": "Brak zmian w tej sesji", - "session.review.noVcs": "Nie wykryto systemu kontroli wersji Git, zmiany nie są wyświetlane", + "session.review.noVcs": "Nie wykryto systemu kontroli wersji Git, dlatego zmiany nie są wyświetlane", "session.review.noSnapshot": "Śledzenie migawek jest wyłączone w konfiguracji, więc zmiany w sesji są niedostępne", "session.review.noChanges": "Brak zmian", "session.review.noUncommittedChanges": "Brak jeszcze niezatwierdzonych zmian", @@ -597,14 +729,20 @@ export const dict = { "session.question.minimize": "Zminimalizuj pytanie", "session.question.restore": "Przywróć pytanie", "session.question.pending.one": "{{count}} oczekujące pytanie", + "session.question.pending.few": "{{count}} oczekujące pytania", + "session.question.pending.many": "{{count}} oczekujących pytań", "session.question.pending.other": "Pytania oczekujące: {{count}}", "session.followupDock.summary.one": "{{count}} wiadomość w kolejce", + "session.followupDock.summary.few": "{{count}} wiadomości w kolejce", + "session.followupDock.summary.many": "{{count}} wiadomości w kolejce", "session.followupDock.summary.other": "{{count}} wiadomości w kolejce", "session.followupDock.sendNow": "Wyślij teraz", "session.followupDock.edit": "Edytuj", "session.followupDock.collapse": "Zwiń wiadomości w kolejce", "session.followupDock.expand": "Rozwiń wiadomości w kolejce", "session.revertDock.summary.one": "{{count}} cofnięta wiadomość", + "session.revertDock.summary.few": "{{count}} cofnięte wiadomości", + "session.revertDock.summary.many": "{{count}} cofniętych wiadomości", "session.revertDock.summary.other": "{{count}} cofnięte wiadomości", "session.revertDock.collapse": "Zwiń cofnięte wiadomości", "session.revertDock.expand": "Rozwiń cofnięte wiadomości", @@ -646,7 +784,7 @@ export const dict = { "session.share.action.publishing": "Publikowanie...", "session.share.action.unpublish": "Cofnij publikację", "session.share.action.unpublishing": "Cofanie publikacji...", - "session.share.action.view": "Widok", + "session.share.action.view": "Wyświetl", "session.share.copy.copied": "Skopiowano", "session.share.copy.copyLink": "Kopiuj link", "lsp.tooltip.none": "Brak serwerów LSP", @@ -658,13 +796,20 @@ export const dict = { "terminal.close": "Zamknij terminal", "terminal.connectionLost.title": "Utracono połączenie", "terminal.connectionLost.description": - "Połączenie z terminalem zostało przerwane. Może się to zdarzyć przy restarcie serwera.", + "Połączenie z terminalem zostało przerwane. Może się to zdarzyć podczas ponownego uruchamiania serwera.", + "terminal.connectTicket.csrfError": + "Bilet połączenia PTY został odrzucony podczas kontroli źródła lub CSRF. Sprawdź konfigurację CORS serwera.", + "terminal.connectTicket.statusError": "Bilet połączenia PTY zakończył się niepowodzeniem ze statusem {{status}}", + + "titlebar.update": "Aktualizuj", + "titlebar.updateVersion": "Aktualizuj {{version}}", "common.closeTab": "Zamknij kartę", "common.dismiss": "Odrzuć", "common.requestFailed": "Żądanie nie powiodło się", "common.moreOptions": "Więcej opcji", "common.learnMore": "Dowiedz się więcej", "common.rename": "Zmień nazwę", + "common.export": "Eksportuj", "common.reset": "Resetuj", "common.archive": "Archiwizuj", "common.delete": "Usuń", @@ -687,7 +832,7 @@ export const dict = { "sidebar.empty.title": "Brak otwartych projektów", "sidebar.empty.description": "Otwórz projekt, aby rozpocząć", "app.name.desktop": "OpenCode Desktop", - "settings.section.desktop": "Pulpit", + "settings.section.desktop": "Aplikacja komputerowa", "settings.section.server": "Serwer", "settings.tab.general": "Ogólne", "settings.tab.shortcuts": "Skróty", @@ -739,8 +884,9 @@ export const dict = { "settings.general.row.mobileTitlebarBottom.title": "Dolna nawigacja", "settings.general.row.mobileTitlebarBottom.description": "Umieść pasek tytułu i karty sesji u dołu ekranu na urządzeniach mobilnych", - "settings.general.row.showCustomAgents.title": "Agenci niestandardowi", - "settings.general.row.showCustomAgents.description": "Pokaż wybór agenta w edytorze wiadomości", + "settings.general.row.showCustomAgents.title": "Wybór agenta", + "settings.general.row.showCustomAgents.description": + "Umożliwiaj przełączanie agentów w edytorze wiadomości. Po ukryciu domyślnie używany jest agent Build.", "settings.general.row.reasoningSummaries.title": "Pokaż podsumowania wnioskowania", "settings.general.row.reasoningSummaries.description": "Wyświetlaj podsumowania wnioskowania modelu na osi czasu", "settings.general.row.shellToolPartsExpanded.title": "Rozwijaj elementy narzędzia shell", @@ -758,13 +904,14 @@ export const dict = { "settings.general.row.newInterfaceNotice.dismiss": "Odrzuć", "settings.general.row.pinchZoom.title": "Powiększanie gestem szczypania", "settings.general.row.pinchZoom.description": - "Zezwalaj na powiększanie gestem szczypania na gładziku i przewijaniem z klawiszem Ctrl", - "settings.general.row.wayland.title": "Użyj natywnego Wayland", - "settings.general.row.wayland.description": "Wyłącz fallback X11 na Wayland. Wymaga restartu.", + "Zezwalaj na powiększanie gestem szczypania na gładziku lub przez przewijanie z wciśniętym klawiszem Ctrl", + "settings.general.row.wayland.title": "Użyj natywnego protokołu Wayland", + "settings.general.row.wayland.description": + "Wyłącz awaryjne korzystanie z X11 w środowisku Wayland. Wymaga ponownego uruchomienia.", "settings.general.row.wayland.tooltip": - "Na Linuxie z monitorami o różnym odświeżaniu, natywny Wayland może być bardziej stabilny.", + "W systemie Linux z monitorami o różnej częstotliwości odświeżania natywny protokół Wayland może być stabilniejszy.", "settings.general.row.releaseNotes.title": "Informacje o wydaniu", - "settings.general.row.releaseNotes.description": 'Pokazuj wyskakujące okna "Co nowego" po aktualizacjach', + "settings.general.row.releaseNotes.description": "Pokazuj wyskakujące okna „Co nowego” po aktualizacjach", "settings.updates.row.startup.title": "Sprawdzaj aktualizacje przy uruchomieniu", "settings.updates.row.startup.description": "Automatycznie sprawdzaj aktualizacje podczas uruchamiania OpenCode", "settings.updates.row.check.title": "Sprawdź aktualizacje", @@ -878,7 +1025,8 @@ export const dict = { "settings.permissions.tool.read.title": "Odczyt", "settings.permissions.tool.read.description": "Odczyt pliku (pasuje do ścieżki pliku)", "settings.permissions.tool.edit.title": "Edycja", - "settings.permissions.tool.edit.description": "Modyfikacja plików, w tym edycje, zapisy, łatki i multi-edycje", + "settings.permissions.tool.edit.description": + "Modyfikowanie plików, w tym edytowanie, zapisywanie, stosowanie łatek i edytowanie wielu plików", "settings.permissions.tool.glob.title": "Glob", "settings.permissions.tool.glob.description": "Dopasowywanie plików za pomocą wzorców glob", "settings.permissions.tool.grep.title": "Grep", @@ -888,7 +1036,7 @@ export const dict = { "settings.permissions.tool.bash.title": "Bash", "settings.permissions.tool.bash.description": "Uruchamianie poleceń powłoki", "settings.permissions.tool.task.title": "Zadanie", - "settings.permissions.tool.task.description": "Uruchamianie pod-agentów", + "settings.permissions.tool.task.description": "Uruchamianie podagentów", "settings.permissions.tool.skill.title": "Umiejętność", "settings.permissions.tool.skill.description": "Ładowanie umiejętności według nazwy", "settings.permissions.tool.lsp.title": "LSP", @@ -919,7 +1067,7 @@ export const dict = { "workspace.reset.success.description": "Przestrzeń robocza odpowiada teraz domyślnej gałęzi.", "workspace.error.stillPreparing": "Przestrzeń robocza jest wciąż przygotowywana", "workspace.status.checking": "Sprawdzanie niezscalonych zmian...", - "workspace.status.error": "Nie można zweryfikować statusu git.", + "workspace.status.error": "Nie można zweryfikować statusu Git.", "workspace.status.clean": "Nie wykryto niezscalonych zmian.", "workspace.status.dirty": "Wykryto niezscalone zmiany w tej przestrzeni roboczej.", "workspace.delete.title": "Usuń przestrzeń roboczą", @@ -945,7 +1093,7 @@ export const dict = { "common.time.hoursAgo.short": "{{count}} godz. temu", "common.time.daysAgo.short": "{{count}} dni temu", "settings.providers.connected.environmentDescription": "Połączono ze zmiennymi środowiskowymi", - "settings.providers.custom.description": "Dodaj dostawcę zgodnego z OpenAI poprzez podstawowy URL.", + "settings.providers.custom.description": "Dodaj dostawcę zgodnego z OpenAI za pomocą bazowego adresu URL.", "app.server.unreachable": "Nie można połączyć z {{server}}", "app.server.retrying": "Ponawianie automatycznie...", @@ -961,6 +1109,9 @@ export const dict = { "session.question.progress": "{{current}} z {{total}} pytań", "session.header.open.finder": "Finder", "session.header.open.fileExplorer": "Eksplorator plików", + "session.header.reveal.finder": "Pokaż w Finderze", + "session.header.reveal.fileExplorer": "Pokaż w Eksploratorze plików", + "session.header.reveal.containingFolder": "Otwórz folder zawierający", "session.header.open.fileManager": "Menedżer plików", "session.header.open.app.vscode": "VS Code", "session.header.open.app.cursor": "Cursor", @@ -975,17 +1126,17 @@ export const dict = { "session.header.open.app.androidStudio": "Android Studio", "session.header.open.app.powershell": "PowerShell", "session.header.open.app.sublimeText": "Sublime Text", - "debugBar.ariaLabel": "Diagnostyka wydajności deweloperskiej", + "debugBar.ariaLabel": "Diagnostyka wydajności w środowisku deweloperskim", "debugBar.na": "n.d.", "debugBar.nav.label": "NAV", "debugBar.nav.tip": - "Ostatnie zakończone przejście trasy dotykające strony sesji, mierzone od startu routera do pierwszego odrysowania po ustaleniu.", + "Ostatnie zakończone przejście między trasami obejmujące stronę sesji, mierzone od uruchomienia routera do pierwszego odrysowania po ustabilizowaniu widoku.", "debugBar.fps.label": "FPS", "debugBar.fps.tip": "Średnia liczba klatek na sekundę w ciągu ostatnich 5 sekund.", "debugBar.frame.label": "FRAME", "debugBar.frame.tip": "Najgorszy czas klatki w ciągu ostatnich 5 sekund.", "debugBar.jank.label": "JANK", - "debugBar.jank.tip": "Klatki powyżej 32ms w ciągu ostatnich 5 sekund.", + "debugBar.jank.tip": "Klatki powyżej 32 ms w ciągu ostatnich 5 sekund.", "debugBar.long.label": "LONG", "debugBar.long.tip": "Zablokowany czas i liczba długich zadań w ciągu ostatnich 5 sekund. Maksymalne zadanie: {{max}}.", @@ -995,10 +1146,18 @@ export const dict = { "debugBar.inp.tip": "Przybliżony czas trwania interakcji w ciągu ostatnich 5 sekund. Jest to podobne do INP, a nie oficjalne Web Vitals INP.", "debugBar.cls.label": "CLS", - "debugBar.cls.tip": "Skumulowane przesunięcie układu dla bieżącego czasu życia aplikacji.", + "debugBar.cls.tip": "Skumulowane przesunięcie układu od bieżącego uruchomienia aplikacji.", "debugBar.mem.label": "MEM", - "debugBar.mem.tipUnavailable": "Użyta sterta JS vs limit sterty. Tylko Chromium.", - "debugBar.mem.tip": "Użyta sterta JS vs limit sterty. {{used}} z {{limit}}.", + "debugBar.mem.tipUnavailable": "Wykorzystana pamięć sterty JS względem jej limitu. Tylko Chromium.", + "debugBar.mem.tip": "Wykorzystana pamięć sterty JS względem jej limitu: {{used}} z {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Wymuś style fokusu dla wszystkich elementów interaktywnych", + "debugBar.focus.on": "WŁ.", + "debugBar.focus.off": "WYŁ.", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Wymuś kierunek układu całej aplikacji bez zmiany wybranego języka", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", "common.key.ctrl": "Ctrl", "common.key.alt": "Alt", "common.key.shift": "Shift", diff --git a/packages/app/src/i18n/ro.ts b/packages/app/src/i18n/ro.ts new file mode 100644 index 000000000000..c84f9a4ee76e --- /dev/null +++ b/packages/app/src/i18n/ro.ts @@ -0,0 +1,1162 @@ +export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Fișier", + "desktop.menu.edit": "Editare", + "desktop.menu.view": "Vizualizare", + "desktop.menu.go": "Navigare", + "desktop.menu.window": "Fereastră", + "desktop.menu.help": "Ajutor", + "desktop.menu.checkForUpdates": "Caută actualizări...", + "desktop.menu.settings": "Setări", + "desktop.menu.reloadWebview": "Reîncarcă webview", + "desktop.menu.restart": "Repornește", + "desktop.menu.exportLogs": "Exportă jurnale...", + "desktop.menu.newSession": "Sesiune nouă", + "desktop.menu.openProject": "Deschide proiect...", + "desktop.menu.newWindow": "Fereastră nouă", + "desktop.menu.closeWindow": "Închide fereastra", + "desktop.menu.undo": "Anulează", + "desktop.menu.redo": "Refă", + "desktop.menu.cut": "Taie", + "desktop.menu.copy": "Copiază", + "desktop.menu.paste": "Lipește", + "desktop.menu.delete": "Șterge", + "desktop.menu.selectAll": "Selectează tot", + "desktop.menu.toggleSidebar": "Comută bara laterală", + "desktop.menu.toggleTerminal": "Comută terminalul", + "desktop.menu.toggleFileTree": "Comută arborele de fișiere", + "desktop.menu.reload": "Reîncarcă", + "desktop.menu.toggleDeveloperTools": "Comută instrumentele pentru dezvoltatori", + "desktop.menu.actualSize": "Dimensiune reală", + "desktop.menu.zoomIn": "Mărește", + "desktop.menu.zoomOut": "Micșorează", + "desktop.menu.toggleFullScreen": "Comută pe ecran complet", + "desktop.menu.back": "Înapoi", + "desktop.menu.forward": "Înainte", + "desktop.menu.previousSession": "Sesiunea anterioară", + "desktop.menu.nextSession": "Sesiunea următoare", + "desktop.menu.previousProject": "Proiectul anterior", + "desktop.menu.nextProject": "Proiectul următor", + "desktop.menu.minimize": "Minimizează", + "desktop.menu.maximize": "Maximizează", + "desktop.menu.documentation": "Documentație OpenCode", + "desktop.menu.supportForum": "Forum de suport", + "desktop.menu.shareFeedback": "Trimite feedback", + "desktop.menu.reportBug": "Raportează o problemă", + "desktop.menu.ariaLabel": "Meniu OpenCode", + "desktop.updater.dialog.checkFailed.message": "Verificarea actualizărilor a eșuat.", + "desktop.updater.dialog.checkFailed.title": "Eroare actualizare", + "desktop.updater.dialog.upToDate.message": "Ai cea mai recentă versiune.", + "desktop.updater.dialog.upToDate.title": "Nicio actualizare", + "desktop.updater.dialog.ready.message": "Actualizarea {{version}} a fost descărcată. Repornești acum?", + "desktop.updater.dialog.ready.title": "Actualizare pregătită", + "desktop.updater.dialog.restart": "Repornește", + "desktop.updater.dialog.later": "Mai târziu", + "desktop.recovery.action.relaunch": "Relansează", + "desktop.recovery.action.exportLogs": "Exportă jurnalele", + "desktop.recovery.action.keepWaiting": "Așteaptă în continuare", + "desktop.recovery.action.quit": "Închide", + "desktop.recovery.loadFailed": "OpenCode nu a putut fi încărcat", + "desktop.recovery.terminated": "Fereastra OpenCode s-a închis neașteptat", + "desktop.recovery.unresponsive": "OpenCode nu răspunde", + "desktop.recovery.unresponsive.detail": "Poți reporni aplicația, deschide jurnalele sau aștepta în continuare.", + "desktop.recovery.loadFailed.detail": "Fereastră: {{window}}\nURL: {{url}}\nEroare: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Fereastră: {{window}}\nMotiv: {{reason}}\nCod: {{code}}", + "desktop.recovery.unknown": "", + "desktop.dialog.chooseFolder": "Alege un folder", + "desktop.dialog.chooseFile": "Alege un fișier", + "desktop.dialog.saveFile": "Salvează fișierul", + "desktop.dialog.files": "Fișiere", + "desktop.server.local": "Server local", + "desktop.wsl.error.windowsOnly": "WSL este disponibil doar pe Windows", + "desktop.wsl.error.unavailable": "WSL nu este disponibil", + "desktop.wsl.error.listInstalled": "Nu s-au putut afișa distribuțiile WSL instalate", + "desktop.wsl.error.listOnline": "Nu s-au putut afișa distribuțiile WSL online", + "desktop.wsl.error.executeDistro": "Nu se pot executa comenzi în distribuție", + "desktop.wsl.error.installWsl": "Instalarea WSL a eșuat", + "desktop.wsl.error.installDistro": "Nu s-a putut instala distribuția: {{distro}}", + "desktop.wsl.error.installOpencode": "Instalarea OpenCode a eșuat", + "desktop.wsl.error.alreadyAdded": "{{distro}} este deja adăugată", + "desktop.wsl.error.opencodeMissing": "opencode nu este instalat în această distribuție", + "desktop.wsl.error.opencodeCannotRun": "opencode este instalat, dar nu a putut fi pornit", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode nu este instalat în {{distro}}", + "desktop.wsl.error.updateVersion": + "Actualizarea OpenCode s-a terminat, dar {{distro}} raportează tot {{installed}}; era așteptat {{expected}}", + "desktop.wsl.error.noVersion": "nicio versiune", + "desktop.wsl.error.serverExited": "Serverul WSL s-a oprit după pornire (cod={{code}} semnal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "Serverul WSL s-a oprit înainte să fie funcțional (cod={{code}} semnal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": "Verificarea stării pentru sidecar-ul {{distro}} a expirat după {{timeout}} ms", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} a expirat după {{timeout}} ms", + "desktop.wsl.error.failedPort": "Nu s-a putut obține portul", + "desktop.picker.error.notSelected": "Fișierul nu a fost selectat din selector", + "desktop.picker.error.sizeLimit": "Atașamentele selectate depășesc limita de {{limit}} MB", + "command.category.suggested": "Sugerat", + "command.category.view": "Vizualizare", + "command.category.project": "Proiect", + "command.category.provider": "Furnizor", + "command.category.server": "Server", + "command.category.session": "Sesiune", + "command.category.theme": "Temă", + "command.category.language": "Limbă", + "command.category.file": "Fișier", + "command.category.context": "Context", + "command.category.terminal": "Terminal", + "command.category.model": "Model", + "command.category.mcp": "MCP", + "command.category.agent": "Agent", + "command.category.permissions": "Permisiuni", + "command.category.workspace": "Spațiu de lucru", + "command.category.settings": "Setări", + "command.logs.export": "Exportă jurnalele", + "theme.scheme.system": "Sistem", + "theme.scheme.light": "Luminoasă", + "theme.scheme.dark": "Întunecată", + "command.sidebar.toggle": "Comută bara laterală", + "command.project.open": "Deschide proiectul", + "command.project.previous": "Proiectul anterior", + "command.project.next": "Proiectul următor", + "command.project.index": "Comută la proiectul {{index}}", + "command.provider.connect": "Conectează furnizorul", + "command.server.switch": "Comută serverul", + "command.settings.open": "Deschide setările", + "command.session.previous": "Sesiunea anterioară", + "command.session.next": "Sesiunea următoare", + "command.session.previous.unseen": "Sesiunea anterioară necitită", + "command.session.next.unseen": "Sesiunea următoare necitită", + "command.session.archive": "Arhivează sesiunea", + "command.palette": "Paletă de comenzi", + "command.theme.cycle": "Schimbă tema", + "command.theme.set": "Folosește tema: {{theme}}", + "command.theme.scheme.cycle": "Schimbă schema de culori", + "command.theme.scheme.set": "Folosește schema de culori: {{scheme}}", + "command.language.cycle": "Schimbă limba", + "command.language.set": "Folosește limba: {{language}}", + "command.session.new": "Sesiune nouă", + "command.file.open": "Deschide fișier", + "command.tab.close": "Închide fila", + "command.tab.reopenClosed": "Redeschide fila închisă", + "command.context.addSelection": "Adaugă selecția în context", + "command.context.addSelection.description": "Adaugă liniile selectate din fișierul curent", + "command.input.focus": "Focalizează pe câmpul de introducere", + "command.terminal.toggle": "Comută terminalul", + "command.fileTree.toggle": "Comută arborele de fișiere", + "command.review.toggle": "Comută revizuirea", + "command.terminal.new": "Terminal nou", + "command.terminal.new.description": "Creează o filă de terminal nouă", + "command.steps.toggle": "Comută pașii", + "command.steps.toggle.description": "Afișează sau ascunde pașii pentru mesajul curent", + "command.message.previous": "Mesajul anterior", + "command.message.previous.description": "Mergi la mesajul anterior al utilizatorului", + "command.message.next": "Mesajul următor", + "command.message.next.description": "Mergi la mesajul următor al utilizatorului", + "command.model.choose": "Alege modelul", + "command.model.choose.description": "Selectează alt model", + "command.mcp.toggle": "Comută MCP-uri", + "command.mcp.toggle.description": "Activează sau dezactivează MCP-uri", + "command.agent.cycle": "Schimbă agentul", + "command.agent.cycle.description": "Treci la următorul agent", + "command.agent.cycle.reverse": "Schimbă agentul înapoi", + "command.agent.cycle.reverse.description": "Treci la agentul anterior", + "command.model.variant.cycle": "Schimbă nivelul de efort", + "command.model.variant.cycle.description": "Treci la următorul nivel de efort", + "command.prompt.mode.shell": "Shell", + "command.prompt.mode.normal": "Solicitare", + "command.permissions.autoaccept.enable": "Acceptă automat permisiunile", + "command.permissions.autoaccept.disable": "Oprește acceptarea automată a permisiunilor", + "command.workspace.toggle": "Comută spațiile de lucru", + "command.workspace.toggle.description": "Activează sau dezactivează mai multe spații de lucru în bara laterală", + "command.session.undo": "Anulează", + "command.session.undo.description": "Anulează ultimul mesaj", + "command.session.redo": "Refă", + "command.session.redo.description": "Refă ultimul mesaj anulat", + "command.session.compact": "Compactează sesiunea", + "command.session.compact.description": "Rezumă sesiunea pentru a reduce dimensiunea contextului", + "command.session.fork": "Derivează din mesaj", + "command.session.fork.description": "Creează o sesiune nouă dintr-un mesaj anterior", + "command.session.share": "Partajează sesiunea", + "command.session.share.description": "Partajează această sesiune și copiază URL-ul în clipboard", + "command.session.unshare": "Oprește partajarea sesiunii", + "command.session.unshare.description": "Nu mai partaja această sesiune", + "command.session.export": "Exportă sesiunea", + "command.session.export.description": "Exportă transcriptul complet al sesiunii ca JSON", + "palette.search.placeholder": "Caută fișiere, comenzi și sesiuni", + "palette.search.placeholder.home": "Caută comenzi și sesiuni", + "palette.empty": "Niciun rezultat găsit", + "palette.group.commands": "Comenzi", + "palette.group.files": "Fișiere", + "dialog.provider.search.placeholder": "Caută furnizori", + "dialog.provider.empty": "Niciun furnizor găsit", + "dialog.provider.group.popular": "Populare", + "dialog.provider.group.other": "Altele", + "dialog.provider.custom.label": "Furnizor compatibil OpenAI personalizat", + "dialog.provider.tag.recommended": "Recomandat", + "dialog.provider.opencode.note": "Modele selectate, inclusiv Claude, GPT, Gemini și altele", + "dialog.provider.opencode.tagline": "Modele optimizate, fiabile", + "dialog.provider.opencodeGo.tagline": "Abonament accesibil pentru toți", + "dialog.provider.anthropic.note": "Acces direct la modelele Claude, inclusiv Pro și Max", + "dialog.provider.copilot.note": "Modele AI pentru asistență la programare prin GitHub Copilot", + "dialog.provider.openai.note": "Modele GPT pentru sarcini AI generale rapide și performante", + "dialog.provider.google.note": "Modele Gemini pentru răspunsuri rapide și structurate", + "dialog.provider.openrouter.note": "Accesează toate modelele suportate de la un singur furnizor", + "dialog.provider.vercel.note": "Acces unificat la modele AI cu rutare inteligentă", + "dialog.model.select.title": "Selectează modelul", + "dialog.model.search.placeholder": "Caută modele", + "dialog.model.empty": "Niciun model găsit", + "dialog.model.manage": "Gestionează modelele", + "dialog.model.manage.description": "Personalizează ce modele apar în selectorul de modele.", + "dialog.model.manage.provider.toggle": "Activează toate modelele {{provider}}", + "dialog.model.unpaid.freeModels.title": "Modele gratuite oferite de OpenCode", + "dialog.model.unpaid.addMore.title": "Adaugă mai multe modele de la furnizori populari", + "dialog.model.unpaid.viewMoreProviders": "Vezi peste 70 de furnizori", + "dialog.provider.viewAll": "Afișează mai mulți furnizori", + "provider.connect.title": "Conectează {{provider}}", + "provider.connect.title.anthropicProMax": "Autentificare cu Claude Pro/Max", + "provider.connect.selectMethod": "Selectează metoda de autentificare pentru {{provider}}.", + "provider.connect.method.apiKey": "Cheie API", + "provider.connect.method.browser": "Navigator", + "provider.connect.method.headless": "Fără interfață", + "provider.connect.status.inProgress": "Autorizare în curs...", + "provider.connect.status.waiting": "Se așteaptă autorizarea...", + "provider.connect.status.failed": "Autorizare eșuată: {{error}}", + "provider.connect.apiKey.description": + "Introdu cheia API {{provider}} pentru a-ți conecta contul și a folosi modelele {{provider}} în OpenCode.", + "provider.connect.apiKey.label": "Cheie API {{provider}}", + "provider.connect.apiKey.placeholder": "Cheie API", + "provider.connect.apiKey.required": "Cheia API este obligatorie", + "provider.connect.opencodeZen.line1": + "OpenCode Zen îți oferă acces la un set selectat de modele optimizate și fiabile pentru agenți de programare.", + "provider.connect.opencodeZen.line2": + "Cu o singură cheie API ai acces la modele precum Claude, GPT, Gemini, GLM și altele.", + "provider.connect.opencodeZen.visit.prefix": "Vizitează", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": "pentru a obține cheia ta API.", + "provider.connect.oauth.code.visit.prefix": "Vizitează", + "provider.connect.oauth.code.visit.link": "acest link", + "provider.connect.oauth.code.visit.suffix": + " pentru a obține codul de autorizare și a-ți conecta contul ca să folosești modelele {{provider}} în OpenCode.", + "provider.connect.oauth.code.label": "Cod de autorizare {{method}}", + "provider.connect.oauth.code.placeholder": "Cod de autorizare", + "provider.connect.oauth.code.required": "Codul de autorizare este obligatoriu", + "provider.connect.oauth.code.invalid": "Cod de autorizare invalid", + "provider.connect.oauth.auto.visit.prefix": "Vizitează", + "provider.connect.oauth.auto.visit.link": "acest link", + "provider.connect.oauth.auto.visit.suffix": + " și introdu codul de mai jos pentru a-ți conecta contul și a folosi modelele {{provider}} în OpenCode.", + "provider.connect.oauth.auto.confirmationCode": "Cod de confirmare", + "provider.connect.toast.connected.title": "{{provider}} conectat", + "provider.connect.toast.connected.description": "Modelele {{provider}} sunt acum disponibile.", + "provider.custom.title": "Provider personalizat", + "provider.custom.unavailable": "Providerii personalizați nu sunt disponibili pe acest server", + "provider.custom.description.prefix": "Configurează un provider compatibil OpenAI. Vezi", + "provider.custom.description.link": "documentația de configurare a providerului", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "ID provider", + "provider.custom.field.providerID.placeholder": "myprovider", + "provider.custom.field.providerID.description": "Litere mici, cifre, cratime sau underscore", + "provider.custom.field.name.label": "Nume afișat", + "provider.custom.field.name.placeholder": "Providerul meu AI", + "provider.custom.field.baseURL.label": "URL de bază", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "Cheie API", + "provider.custom.field.apiKey.placeholder": "Cheie API", + "provider.custom.field.apiKey.description": "Opțional. Lasă gol dacă gestionezi autentificarea prin headere.", + "provider.custom.models.label": "Modele", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "model-id", + "provider.custom.models.name.label": "Nume", + "provider.custom.models.name.placeholder": "Nume afișat", + "provider.custom.models.remove": "Elimină modelul", + "provider.custom.models.add": "Adaugă model", + "provider.custom.headers.label": "Headere (opțional)", + "provider.custom.headers.key.label": "Antet", + "provider.custom.headers.key.placeholder": "Header-Name", + "provider.custom.headers.value.label": "Valoare", + "provider.custom.headers.value.placeholder": "valoare", + "provider.custom.headers.remove": "Elimină headerul", + "provider.custom.headers.add": "Adaugă header", + "provider.custom.error.providerID.required": "ID-ul providerului este obligatoriu", + "provider.custom.error.providerID.format": "Folosește litere mici, cifre, cratime sau underscore", + "provider.custom.error.providerID.exists": "ID-ul de provider există deja", + "provider.custom.error.name.required": "Numele afișat este obligatoriu", + "provider.custom.error.baseURL.required": "URL-ul de bază este obligatoriu", + "provider.custom.error.baseURL.format": "Trebuie să înceapă cu http:// sau https://", + "provider.custom.error.required": "Obligatoriu", + "provider.custom.error.duplicate": "Duplicat", + "provider.disconnect.toast.disconnected.title": "{{provider}} deconectat", + "provider.disconnect.toast.disconnected.description": "Modelele {{provider}} nu mai sunt disponibile.", + "model.tag.free": "Gratuit", + "model.tag.latest": "Ultimul", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "text", + "model.input.image": "imagine", + "model.input.audio": "audio", + "model.input.video": "video", + "model.input.pdf": "pdf", + "model.tooltip.allows": "Permite: {{inputs}}", + "model.tooltip.context.label": "Context", + "model.tooltip.inputs": "Intrări", + "model.tooltip.model": "Model", + "model.tooltip.provider": "Furnizor", + "model.tooltip.reasoning": "Raționament", + "model.tooltip.reasoning.allowed": "Permite raționament", + "model.tooltip.reasoning.none": "Fără raționament", + "model.tooltip.context": "Limită context {{limit}}", + "common.search.placeholder": "Caută", + "common.goBack": "Navighează înapoi", + "common.goForward": "Navighează înainte", + "common.loading": "Se încarcă", + "common.loading.ellipsis": "...", + "common.cancel": "Anulează", + "common.clear": "Curăță", + "common.open": "Deschide", + "common.connect": "Conectează", + "common.disconnect": "Deconectează", + "common.continue": "Continuă", + "common.submit": "Trimite", + "common.save": "Salvează", + "common.saving": "Se salvează...", + "common.default": "Implicit", + "common.attachment": "atașament", + "prompt.placeholder.shell": "Introdu comanda shell... {{example}}", + "prompt.placeholder.normal": "Întreabă orice... „{{example}}”", + "prompt.placeholder.simple": "Întreabă orice...", + "prompt.placeholder.summarizeComments": "Rezumă comentariile…", + "prompt.placeholder.summarizeComment": "Rezumă comentariul…", + "prompt.mode.shell": "Shell", + "prompt.mode.normal": "Solicitare", + "prompt.mode.shell.exit": "esc pentru ieșire", + "session.child.promptDisabled": "Sesiunile subagent nu pot fi interogate.", + "session.child.backToParent": "Înapoi la sesiunea principală.", + "prompt.example.1": "Rezolvă un TODO din cod", + "prompt.example.2": "Care este stack-ul tehnologic al acestui proiect?", + "prompt.example.3": "Rezolvă testele care nu funcționează", + "prompt.example.4": "Explică cum funcționează autentificarea", + "prompt.example.5": "Găsește și repară vulnerabilitățile de securitate", + "prompt.example.6": "Adaugă teste unitare pentru serviciul de utilizatori", + "prompt.example.7": "Refactorizează această funcție pentru a fi mai clară", + "prompt.example.8": "Ce înseamnă această eroare?", + "prompt.example.9": "Ajută-mă să depanez această problemă", + "prompt.example.10": "Generează documentație API", + "prompt.example.11": "Optimizează interogările bazei de date", + "prompt.example.12": "Adaugă validare pentru datele de intrare", + "prompt.example.13": "Creează un nou component pentru...", + "prompt.example.14": "Cum public acest proiect?", + "prompt.example.15": "Verifică-mi codul pentru bune practici", + "prompt.example.16": "Adaugă tratare a erorilor în această funcție", + "prompt.example.17": "Explică acest pattern regex", + "prompt.example.18": "Convertește asta în TypeScript", + "prompt.example.19": "Adaugă logare în tot codul", + "prompt.example.20": "Ce dependențe sunt depășite?", + "prompt.example.21": "Ajută-mă să scriu un script de migrare", + "prompt.example.22": "Implementează cache pentru acest endpoint", + "prompt.example.23": "Adaugă paginare la această listă", + "prompt.example.24": "Creează o comandă CLI pentru...", + "prompt.example.25": "Cum funcționează variabilele de mediu aici?", + "prompt.popover.emptyResults": "Niciun rezultat găsit", + "prompt.popover.emptyCommands": "Nicio comandă găsită", + "prompt.dropzone.label": "Trage aici imagini, PDF-uri sau fișiere text", + "prompt.dropzone.file.label": "Trage pentru a menționa fișierul", + "prompt.slash.badge.custom": "personalizat", + "prompt.slash.badge.skill": "abilitate", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "activ", + "prompt.context.includeActiveFile": "Include fișierul activ", + "prompt.context.removeActiveFile": "Elimină fișierul activ din context", + "prompt.context.removeFile": "Elimină fișierul din context", + "prompt.action.attachFile": "Adaugă fișiere", + "prompt.menu.addImagesAndFiles": "Adaugă fișiere și altele", + "prompt.menu.imagesAndFiles": "Imagini și fișiere", + "prompt.menu.commands": "Comenzi", + "prompt.menu.context": "Context", + "prompt.menu.shellCommand": "Comandă shell", + "prompt.attachment.remove": "Elimină atașamentul", + "prompt.action.send": "Trimite", + "prompt.action.stop": "Oprește", + "prompt.toast.pasteUnsupported.title": "Atașament neacceptat", + "prompt.toast.pasteUnsupported.description": "Poți atașa doar imagini, PDF-uri sau fișiere text aici.", + "prompt.toast.attachmentDuplicate.title": "Acest fișier a fost deja încărcat", + "prompt.toast.modelAgentRequired.title": "Selectează un agent și un model", + "prompt.toast.modelAgentRequired.description": "Alege un agent și un model înainte de a trimite un prompt.", + "prompt.toast.worktreeCreateFailed.title": "Nu s-a putut crea worktree-ul", + "prompt.toast.sessionCreateFailed.title": "Nu s-a putut crea sesiunea", + "prompt.toast.shellSendFailed.title": "Nu s-a putut trimite comanda shell", + "prompt.toast.commandSendFailed.title": "Nu s-a putut trimite comanda", + "prompt.toast.promptSendFailed.title": "Nu s-a putut trimite promptul", + "prompt.toast.promptSendFailed.description": "Nu se poate prelua sesiunea", + "dialog.mcp.title": "MCP-uri", + "dialog.mcp.description": "{{enabled}} din {{total}} activate", + "dialog.mcp.empty": "Niciun MCP configurat", + "dialog.lsp.empty": "LSP-uri detectate automat din tipurile de fișiere", + "dialog.plugins.empty": "Pluginuri configurate în opencode.json", + "mcp.status.connected": "conectat", + "mcp.status.failed": "eșuat", + "mcp.status.needs_auth": "necesită autentificare", + "mcp.status.disabled": "dezactivat", + "mcp.auth.clickToAuthenticate": "Autentifică-te", + "dialog.fork.empty": "Niciun mesaj de bifurcat", + "dialog.directory.search.placeholder": "Caută foldere", + "dialog.directory.empty": "Nu s-au găsit foldere", + "dialog.directory.action.selectFile": "Selectează fișier", + "dialog.directory.action.selectFolder": "Selectează folder", + "dialog.directory.root": "Rădăcină", + "dialog.directory.parent": "Părinte", + "dialog.directory.readError": "Nu se poate citi acest folder", + "app.server.unreachable": "Nu s-a putut accesa {{server}}", + "app.server.retrying": "Se reîncearcă automat...", + "app.server.otherServers": "Alte servere", + "dialog.server.title": "Servere", + "dialog.server.description": "Schimbă serverul OpenCode la care se conectează aplicația.", + "dialog.server.search.placeholder": "Caută servere", + "dialog.server.empty": "Niciun server", + "dialog.server.add.title": "Adaugă server", + "dialog.server.add.url": "Adresă server", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "Nu s-a putut conecta la server", + "dialog.server.add.checking": "Se verifică...", + "dialog.server.add.button": "Adaugă server", + "dialog.server.add.name": "Nume server (opțional)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "Utilizator (opțional)", + "dialog.server.add.usernamePlaceholder": "utilizator", + "dialog.server.add.password": "Parolă (opțional)", + "dialog.server.add.passwordPlaceholder": "parolă", + "dialog.server.edit.title": "Editează server", + "dialog.server.default.title": "Server implicit", + "dialog.server.default.description": + "Conectează-te la acest server la pornirea aplicației în loc să pornești un server local. Necesită repornire.", + "dialog.server.default.none": "Niciun server selectat", + "dialog.server.default.set": "Setează serverul curent ca implicit", + "dialog.server.default.clear": "Șterge", + "dialog.server.action.remove": "Elimină serverul", + "dialog.server.menu.edit": "Editează", + "dialog.server.menu.default": "Setează ca implicit", + "dialog.server.menu.defaultRemove": "Elimină implicitul", + "dialog.server.menu.delete": "Șterge", + "dialog.server.current": "Server curent", + "dialog.server.status.default": "Implicit", + "wsl.server.add": "Adaugă server WSL", + "wsl.server.addShort": "Adaugă WSL", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "Server WSL", + "wsl.server.retryStart": "Reîncearcă pornirea", + "wsl.server.updating": "Se actualizează...", + "wsl.onboarding.step.distro": "Alege distribuția", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "Se verifică WSL...", + "wsl.onboarding.restartRequired": "Windows trebuie repornit pentru a finaliza instalarea WSL.", + "wsl.onboarding.ready": "WSL este gata.", + "wsl.onboarding.required": "WSL este necesar pentru a continua.", + "wsl.onboarding.checkingDistros": "Se verifică distribuțiile...", + "wsl.onboarding.installingDistro": "Se instalează {{distro}}...", + "wsl.onboarding.checkingDistro": "Se verifică {{distro}}...", + "wsl.onboarding.listingDistros": "Se afișează distribuțiile...", + "wsl.onboarding.distroReady": "{{distro}} este gata.", + "wsl.onboarding.distroNotInstalled": "{{distro}} nu este instalat încă.", + "wsl.onboarding.openDistroOnce": "Deschide {{distro}} o dată pentru a finaliza configurarea.", + "wsl.onboarding.finishingDistro": "Se finalizează configurarea pentru {{distro}}.", + "wsl.onboarding.pickDistro": "Alege o distribuție sau instalează una mai jos.", + "wsl.onboarding.checkingOpencode": "Se verifică OpenCode...", + "wsl.onboarding.checkingOpencodeIn": "Se verifică OpenCode în {{distro}}...", + "wsl.onboarding.updatingOpencode": "Se actualizează OpenCode...", + "wsl.onboarding.updatingOpencodeIn": "Se actualizează OpenCode în {{distro}}...", + "wsl.onboarding.updateOpencodeIn": "Actualizează OpenCode în {{distro}}.", + "wsl.onboarding.updateOpencode": "Actualizează OpenCode", + "wsl.onboarding.opencodeReadyIn": "OpenCode este gata în {{distro}}.", + "wsl.onboarding.opencodeReady": "OpenCode este gata.", + "wsl.onboarding.installOpencodeIn": "Instalează OpenCode în {{distro}}.", + "wsl.onboarding.installOpencode": "Instalează OpenCode", + "wsl.onboarding.chooseDistroFirst": "Alege mai întâi o distribuție.", + "wsl.onboarding.loadFailed": "Nu s-a putut încărca starea WSL.", + "wsl.onboarding.loading": "Se încarcă...", + "wsl.onboarding.installedDistros": "Distribuții instalate", + "wsl.onboarding.checkAgain": "Verifică din nou", + "wsl.onboarding.distroStatus.ready": "Gata", + "wsl.onboarding.distroStatus.checking": "Se verifică...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode nu este instalat", + "wsl.onboarding.distroStatus.missingTools": "Lipsesc bash, curl", + "wsl.onboarding.distroStatus.unsupported": "Nesuportat · Folosește WSL 2", + "wsl.onboarding.needAnotherDistro": "Ai nevoie de altă distribuție?", + "wsl.onboarding.needAnotherDistroHint": "Instalează o distribuție Linux din catalogul WSL", + "wsl.onboarding.wslNotInstalled.title": "WSL nu este instalat", + "wsl.onboarding.wslNotInstalled.description": + "WSL (Subsistemul Windows pentru Linux) este necesar înainte ca OpenCode să poată adăuga un server WSL", + "wsl.onboarding.wslUnavailable.title": "WSL indisponibil", + "wsl.onboarding.wslUnavailable.description": "OpenCode nu a putut verifica WSL pe acest calculator.", + "wsl.onboarding.installWsl": "Instalează WSL", + "wsl.onboarding.windowsRestartRequired": + "Repornește Windows pentru a finaliza instalarea WSL, apoi redeschide OpenCode.", + "wsl.onboarding.next": "Următorul", + "wsl.onboarding.refresh": "Reîmprospătează", + "wsl.onboarding.allDistrosAdded": "Toate distro-urile instalate sunt deja adăugate.", + "wsl.onboarding.noDistros": "Nu a fost detectat niciun distro încă.", + "wsl.onboarding.install": "Instalează", + "wsl.onboarding.installing": "Se instalează...", + "wsl.onboarding.installDistro": "Instalează distro", + "wsl.onboarding.searchDistros": "Caută distro-uri", + "wsl.onboarding.wsl2Required": "Este necesar WSL 2.", + "wsl.onboarding.toolsRequired": "Acest distro necesită bash și curl.", + "wsl.onboarding.openTerminal": "Deschide terminalul", + "wsl.onboarding.path": "Cale: {{path}}", + "wsl.onboarding.notFound": "nu a fost găsit", + "wsl.onboarding.version": "Versiune: {{version}}", + "wsl.onboarding.unknown": "necunoscut", + "wsl.onboarding.desktopVersion": "desktop {{version}}", + "wsl.onboarding.versionMismatch": "Versiunea instalată nu corespunde cu versiunea aplicației desktop.", + "wsl.onboarding.adding": "Se adaugă...", + "help.tabs.toast.ariaLabel": "Descoperă filele. Organizează-ți munca și sesiunile active cu file", + "help.tabs.toast.dismiss": "Închide informațiile despre file", + "help.tabs.title": "Descoperă filele", + "help.tabs.description": "Organizează-ți munca și sesiunile active cu file", + "help.tabs.date": "14 iulie", + "help.tabs.introduction": "OpenCode Desktop este acum construit în jurul filelor.", + "help.tabs.sessions": + "Pornește o sesiune nouă într-o filă sau deschide o sesiune existentă din oricare dintre proiectele tale. Deschide o filă nouă când începi ceva nou și închide-o când ai terminat.", + "help.tabs.organize": + "Păstrând câteva file deschise, îți organizezi mai ușor sesiunile active. Redenumește filele cu ceva memorabil dacă vrei să le păstrezi.", + "help.tabs.home": + "Toate sesiunile și proiectele tale sunt pe noul ecran Acasă. Selectarea unei sesiuni o deschide într-o filă.", + "help.tabs.persistence": "Când redeschizi aplicația, filele tale rămân deschise.", + "help.tabs.worktrees": + "Noul design nu suportă încă Git Worktrees, dar va fi disponibil în curând. Dacă preferi să folosești aspectul anterior, poți comuta între layout-uri din Setări. Ține cont că noul layout va deveni permanent în câteva săptămâni.", + "server.row.noUsername": "fără nume de utilizator", + "dialog.project.edit.title": "Editează proiectul", + "dialog.project.edit.name": "Nume", + "dialog.project.edit.icon": "Pictogramă", + "dialog.project.edit.icon.alt": "Pictograma proiectului", + "dialog.project.edit.icon.hint": "Fă clic sau trage o imagine", + "dialog.project.edit.icon.recommended": "Recomandat: 128x128px", + "dialog.project.edit.color": "Culoare", + "dialog.project.edit.color.select": "Selectează culoarea {{color}}", + "dialog.project.edit.worktree.startup": "Script de pornire workspace", + "dialog.project.edit.worktree.startup.description": "Rulează după crearea unui workspace nou (worktree).", + "dialog.project.edit.worktree.startup.placeholder": "ex: bun install", + "dialog.releaseNotes.action.getStarted": "Începe", + "dialog.releaseNotes.action.next": "Următorul", + "dialog.releaseNotes.action.hideFuture": "Nu mai arăta acestea pe viitor", + "dialog.releaseNotes.media.alt": "Previzualizare lansare", + "context.breakdown.title": "Defalcare context", + "context.breakdown.note": + "Defalcare aproximativă a tokenilor de intrare. „Altele” include definiții de unelte și costuri suplimentare.", + "context.breakdown.system": "Sistem", + "context.breakdown.user": "Utilizator", + "context.breakdown.assistant": "Asistent", + "context.breakdown.tool": "Apeluri unelte", + "context.breakdown.other": "Altele", + "context.systemPrompt.title": "Prompt sistem", + "context.rawMessages.title": "Mesaje brute", + "context.export.session": "Exportă sesiunea", + "context.stats.session": "Sesiune", + "context.stats.messages": "Mesaje", + "context.stats.provider": "Furnizor", + "context.stats.model": "Model", + "context.stats.limit": "Limită context", + "context.stats.totalTokens": "Total tokenuri", + "context.stats.usage": "Utilizare", + "context.stats.inputTokens": "Tokenuri de intrare", + "context.stats.outputTokens": "Tokenuri de ieșire", + "context.stats.reasoningTokens": "Tokenuri de raționament", + "context.stats.cacheTokens": "Tokenuri cache (citire/scriere)", + "context.stats.userMessages": "Mesaje utilizator", + "context.stats.assistantMessages": "Mesaje asistent", + "context.stats.totalCost": "Cost total", + "context.stats.sessionCreated": "Sesiune creată", + "context.stats.lastActivity": "Ultima activitate", + "context.usage.tokens": "Tokenuri", + "context.usage.usage": "Utilizare", + "context.usage.cost": "Cost", + "context.usage.clickToView": "Apasă pentru a vedea contextul", + "context.usage.view": "Vezi utilizarea contextului", + "language.en": "English", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Deutsch", + "language.es": "Español", + "language.fr": "Français", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "Polski", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Norsk", + "language.br": "Português (Brasil)", + "language.bs": "Bosanski", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Türkçe", + "toast.language.title": "Limbă", + "toast.language.description": "Limba a fost schimbată în {{language}}", + "toast.theme.title": "Tema a fost schimbată", + "toast.scheme.title": "Paletă de culori", + "toast.workspace.enabled.title": "Spații de lucru activate", + "toast.workspace.enabled.description": "Mai multe worktree-uri sunt afișate acum în bara laterală", + "toast.workspace.disabled.title": "Spații de lucru dezactivate", + "toast.workspace.disabled.description": "Doar worktree-ul principal este afișat în bara laterală", + "toast.permissions.autoaccept.on.title": "Permisiuni acceptate automat", + "toast.permissions.autoaccept.on.description": "Solicitările de permisiune vor fi aprobate automat", + "toast.permissions.autoaccept.off.title": "Oprire acceptare automată permisiuni", + "toast.permissions.autoaccept.off.description": "Solicitările de permisiune vor necesita aprobare", + "toast.model.none.title": "Niciun model selectat", + "toast.model.none.description": "Conectează un furnizor pentru a rezuma această sesiune", + "toast.file.loadFailed.title": "Nu s-a putut încărca fișierul", + "toast.file.listFailed.title": "Nu s-au putut lista fișierele", + "toast.context.noLineSelection.title": "Nicio linie selectată", + "toast.context.noLineSelection.description": "Selectează mai întâi un interval de linii într-un tab de fișier.", + "toast.session.share.copyFailed.title": "Nu s-a putut copia URL-ul în clipboard", + "toast.session.share.success.title": "Sesiune partajată", + "toast.session.share.success.description": "URL-ul de partajare a fost copiat în clipboard!", + "toast.session.share.failed.title": "Nu s-a putut partaja sesiunea", + "toast.session.share.failed.description": "A apărut o eroare la partajarea sesiunii", + "toast.session.unshare.success.title": "Sesiune nepartajată", + "toast.session.unshare.success.description": "Sesiunea a fost nepartajată cu succes!", + "toast.session.unshare.failed.title": "Nu s-a putut anula partajarea sesiunii", + "toast.session.unshare.failed.description": "A apărut o eroare la anularea partajării sesiunii", + "toast.session.export.success.title": "Sesiune exportată", + "toast.session.export.success.description": "Sesiunea a fost salvată în {{filename}}", + "toast.session.export.failed.title": "Nu s-a putut exporta sesiunea", + "toast.session.export.failed.description": "A apărut o eroare la exportarea sesiunii", + "toast.session.listFailed.title": "Nu s-au putut încărca sesiunile pentru {{project}}", + "toast.project.reloadFailed.title": "Nu s-a putut reîncărca {{project}}", + "toast.update.title": "Actualizare disponibilă", + "toast.update.description": "O nouă versiune OpenCode ({{version}}) este disponibilă pentru instalare.", + "toast.update.action.installRestart": "Instalează și repornește", + "toast.update.action.notYet": "Nu acum", + "error.page.title": "Ceva nu a funcționat", + "error.page.description": "A apărut o eroare la încărcarea aplicației.", + "error.page.description.localServerStartup": "A apărut o eroare la pornirea serverului local.", + "error.page.details.label": "Detalii eroare", + "error.page.action.restart": "Repornește", + "error.page.action.report": "Raportează eroarea", + "error.page.action.reported": "Eroare raportată", + "error.page.action.exportLogs": "Exportă jurnalele", + "error.page.action.checking": "Se verifică...", + "error.page.action.checkUpdates": "Caută actualizări", + "error.page.action.updateTo": "Actualizează la {{version}}", + "error.page.circular": "[Ciclic]", + "error.page.report.prefix": "Te rugăm să raportezi această eroare echipei OpenCode", + "error.page.report.discord": "pe Discord", + "error.page.version": "Versiune: {{version}}", + "error.dev.rootNotFound": + "Elementul root nu a fost găsit. L-ai adăugat în index.html? Sau poate atributul id este scris greșit?", + "error.serverSync.connectFailed": "Nu s-a putut conecta la server. Rulează un server la `{{url}}`?", + "error.serverSDK.noServerAvailable": "Niciun server disponibil", + "error.serverSDK.serverNotAvailable": "Server indisponibil", + "error.childStore.persistedCacheCreateFailed": "Nu s-a putut crea memoria cache persistentă", + "error.childStore.persistedProjectMetadataCreateFailed": "Nu s-au putut salva metadatele proiectului", + "error.childStore.persistedProjectIconCreateFailed": "Nu s-a putut salva pictograma proiectului", + "error.childStore.storeCreateFailed": "Nu s-a putut crea magazinul de date", + "directory.error.invalidUrl": "Director invalid în URL.", + "error.chain.unknown": "Eroare necunoscută", + "error.server.invalidConfiguration": "Configurație invalidă", + "error.chain.causedBy": "Cauzat de:", + "error.chain.apiError": "Eroare API", + "error.chain.status": "Stare: {{status}}", + "error.chain.retryable": "Poate fi reluată: {{retryable}}", + "error.chain.responseBody": "Răspuns:\n{{body}}", + "error.chain.didYouMean": "Ai vrut să scrii: {{suggestions}}", + "error.chain.modelNotFound": "Modelul nu a fost găsit: {{provider}}/{{model}}", + "error.chain.checkConfig": "Verifică numele provider/model în config (opencode.json)", + "error.chain.mcpFailed": 'Serverul MCP "{{name}}" a eșuat. Atenție, OpenCode nu suportă încă autentificarea MCP.', + "error.chain.providerAuthFailed": "Autentificarea providerului a eșuat ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + 'Nu s-a putut inițializa providerul "{{provider}}". Verifică datele de autentificare și configurația.', + "error.chain.configJsonInvalid": "Fișierul de configurare de la {{path}} nu este JSON(C) valid", + "error.chain.configJsonInvalidWithMessage": + "Fișierul de configurare de la {{path}} nu este JSON(C) valid: {{message}}", + "error.chain.configDirectoryTypo": + 'Directorul "{{dir}}" din {{path}} nu este valid. Redenumește directorul în "{{suggestion}}" sau șterge-l. Aceasta este o greșeală frecventă.', + "error.chain.configFrontmatterError": "Nu s-a putut parsa frontmatter-ul din {{path}}:\n{{message}}", + "error.chain.configInvalid": "Fișierul de configurare de la {{path}} este invalid", + "error.chain.configInvalidWithMessage": "Fișierul de configurare de la {{path}} este invalid: {{message}}", + "notification.permission.title": "Permisiune necesară", + "notification.permission.description": "{{sessionTitle}} din {{projectName}} are nevoie de permisiune", + "notification.question.title": "Întrebare", + "notification.question.description": "{{sessionTitle}} din {{projectName}} are o întrebare", + "notification.action.goToSession": "Mergi la sesiune", + "notification.session.responseReady.title": "Răspuns pregătit", + "notification.session.error.title": "Eroare sesiune", + "notification.session.error.fallbackDescription": "A apărut o eroare", + "home.recentProjects": "Proiecte recente", + "home.empty.title": "Niciun proiect recent", + "home.empty.description": "Începe prin a deschide un proiect local", + "home.title": "Acasă", + "home.projects": "Proiecte", + "home.project.add": "Adaugă proiect", + "home.recentlyClosed": "Închise recent", + "home.server.collapse": "Restrânge proiectele serverului", + "home.server.expand": "Extinde proiectele serverului", + "home.sessions.search.placeholder": "Caută sesiuni", + "home.sessions.search.placeholder.scoped": "Caută sesiuni în {{scope}}", + "home.sessions.search.sessions": "Sesiuni", + "home.sessions.search.noResults": "Nicio sesiune găsită pentru {{query}}", + "home.sessions.empty": "Nimic aici încă", + "home.sessions.empty.description": "Creează o sesiune pentru a începe", + "home.sessions.group.today": "Astăzi", + "home.sessions.group.yesterday": "Ieri", + "home.sessions.group.older": "Mai vechi", + "home.providerTip": + "Conectează-te la peste 75 de furnizori pentru a folosi alte modele, inclusiv Claude, GPT, Gemini etc.", + "session.tab.session": "Sesiune", + "session.tab.review": "Revizuire", + "session.tab.context": "Context", + "session.tab.unknown": "Sesiune necunoscută", + "session.panel.reviewAndFiles": "Revizuire și fișiere", + "session.error.notFound": "Această sesiune nu poate fi găsită", + "session.error.notFound.description": "Acest tab indică spre o sesiune care nu mai există pe acest server.", + "session.error.notFound.closeTab": "Închide tab-ul", + "session.error.serverConnection": "Nu se poate conecta la acest server", + "session.review.filesChanged": "{{count}} fișiere modificate", + "session.review.change.one": "Modificare", + "session.review.change.other": "Modificări", + "session.review.loadingChanges": "Se încarcă modificările...", + "session.review.empty": "Nicio modificare în această sesiune încă", + "session.review.noVcs": + "Nu a fost detectat niciun sistem de control al versiunilor Git, modificările nu sunt afișate", + "session.review.noVcs.createGit.title": "Creează un depozit Git", + "session.review.noVcs.createGit.description": "Urmărește, revizuiește și anulează modificările din acest proiect", + "session.review.noVcs.createGit.actionLoading": "Se creează depozitul Git...", + "session.review.noVcs.createGit.action": "Creează depozit Git", + "session.review.noSnapshot": + "Urmărirea snapshot-urilor este dezactivată în configurare, deci modificările sesiunii nu sunt disponibile", + "session.review.noChanges": "Nicio modificare", + "session.review.noUncommittedChanges": "Nicio modificare necomisă încă", + "session.review.noBranchChanges": "Nicio modificare pe ramură încă", + "session.files.selectToOpen": "Selectează un fișier pentru deschidere", + "session.files.all": "Toate fișierele", + "session.files.empty": "Niciun fișier", + "session.files.binaryContent": "Fișier binar (conținutul nu poate fi afișat)", + "session.messages.renderEarlier": "Afișează mesajele anterioare", + "session.messages.loadingEarlier": "Se încarcă mesajele anterioare...", + "session.messages.loadEarlier": "Încarcă mesajele anterioare", + "session.messages.loading": "Se încarcă mesajele...", + "session.messages.jumpToLatest": "Sari la cele mai recente", + "session.context.addToContext": "Adaugă {{selection}} la context", + "session.todo.title": "Sarcini", + "session.todo.collapse": "Restrânge", + "session.todo.expand": "Extinde", + "session.todo.progress": "{{done}} din {{total}} sarcini finalizate", + "session.question.progress": "{{current}} din {{total}} întrebări", + "session.question.minimize": "Minimizează întrebarea", + "session.question.restore": "Restaurează întrebarea", + "session.question.pending.one": "{{count}} întrebare în așteptare", + "session.question.pending.other": "{{count}} întrebări în așteptare", + "session.question.pending.few": "{{count}} întrebări în așteptare", + "session.followupDock.summary.one": "{{count}} mesaj în coadă", + "session.followupDock.summary.other": "{{count}} mesaje în coadă", + "session.followupDock.summary.few": "{{count}} mesaje în coadă", + "session.followupDock.sendNow": "Trimite acum", + "session.followupDock.edit": "Editează", + "session.followupDock.collapse": "Restrânge mesajele în coadă", + "session.followupDock.expand": "Extinde mesajele în coadă", + "session.revertDock.summary.one": "{{count}} mesaj anulat", + "session.revertDock.summary.other": "{{count}} mesaje anulate", + "session.revertDock.summary.few": "{{count}} mesaje anulate", + "session.revertDock.collapse": "Restrânge mesajele anulate", + "session.revertDock.expand": "Extinde mesajele anulate", + "session.revertDock.restore": "Restaurează mesajul", + "session.new.title": "Construiește orice", + "session.new.project.new": "Proiect nou", + "session.new.project.search": "Caută proiecte", + "session.new.project.add": "Adaugă proiect", + "session.new.worktree.main": "Ramura principală", + "session.new.worktree.mainWithBranch": "Ramura principală ({{branch}})", + "session.new.worktree.create": "Creează worktree nou", + "session.new.workspace.runIn": "Rulează sesiunea în", + "session.new.workspace.triggerLocal": "Local", + "session.new.workspace.local": "Depozit local", + "session.new.workspace.existing": "Spațiu de lucru…", + "session.new.git.none": "Fără Git", + "session.new.lastModified": "Ultima modificare", + "session.header.search.placeholder": "Caută în {{project}}", + "session.header.searchFiles": "Caută fișiere", + "session.header.openIn": "Deschide în", + "session.header.open.action": "Deschide {{app}}", + "session.header.open.ariaLabel": "Deschide în {{app}}", + "session.header.open.menu": "Opțiuni de deschidere", + "session.header.open.copyPath": "Copiază calea", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "Explorer de fișiere", + "session.header.open.fileManager": "Manager de fișiere", + "session.header.reveal.finder": "Afișează în Finder", + "session.header.reveal.fileExplorer": "Afișează în Explorer de fișiere", + "session.header.reveal.containingFolder": "Deschide folderul conținător", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Terminal", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "Stare", + "status.popover.ariaLabel": "Configurații server", + "status.popover.tab.servers": "Servere", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "Pluginuri", + "status.popover.action.manageServers": "Gestionează servere", + "session.share.popover.title": "Publică pe web", + "session.share.popover.description.shared": "Această sesiune este publică pe web. Este accesibilă oricui are linkul.", + "session.share.popover.description.unshared": + "Partajează sesiunea public pe web. Va fi accesibilă oricui are linkul.", + "session.share.action.share": "Partajează", + "session.share.action.publish": "Publică", + "session.share.action.publishing": "Se publică...", + "session.share.action.unpublish": "Anulează publicarea", + "session.share.action.unpublishing": "Se anulează publicarea...", + "session.share.action.view": "Vezi", + "session.share.copy.copied": "Copiat", + "session.share.copy.copyLink": "Copiază linkul", + "lsp.tooltip.none": "Niciun server LSP", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "Se încarcă promptul...", + "terminal.loading": "Se încarcă terminalul...", + "terminal.title": "Terminal", + "terminal.title.numbered": "Terminal {{number}}", + "terminal.close": "Închide terminalul", + "terminal.connectionLost.title": "Conexiune pierdută", + "terminal.connectionLost.abnormalClose": "WebSocket s-a închis anormal: {{code}}", + "terminal.connectionLost.description": + "Conexiunea la terminal a fost întreruptă. Acest lucru poate apărea când serverul repornește.", + "terminal.connectTicket.csrfError": + "Biletul de conectare PTY a fost respins din cauza originii sau a verificărilor CSRF. Verifică configurația CORS a serverului.", + "terminal.connectTicket.statusError": "Biletul de conectare PTY a eșuat cu {{status}}", + "titlebar.update": "Actualizează", + "titlebar.updateVersion": "Actualizează la {{version}}", + "common.closeTab": "Închide fila", + "common.dismiss": "Închide", + "common.moreCountSuffix": " (+{{count}} în plus)", + "common.requestFailed": "Solicitarea a eșuat", + "common.moreOptions": "Mai multe opțiuni", + "common.learnMore": "Află mai mult", + "common.rename": "Redenumește", + "common.export": "Exportă", + "common.reset": "Resetează", + "common.archive": "Arhivează", + "common.delete": "Șterge", + "common.close": "Închide", + "common.edit": "Editează", + "common.loadMore": "Încarcă mai mult", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "necunoscut", + "common.time.justNow": "acum", + "common.time.minutesAgo.short": "acum {{count}}m", + "common.time.hoursAgo.short": "acum {{count}}h", + "common.time.daysAgo.short": "acum {{count}}z", + "sidebar.menu.toggle": "Comută meniul", + "sidebar.nav.projectsAndSessions": "Proiecte și sesiuni", + "sidebar.settings": "Setări", + "sidebar.help": "Ajutor", + "sidebar.workspaces.enable": "Activează spațiile de lucru", + "sidebar.workspaces.disable": "Dezactivează spațiile de lucru", + "sidebar.gettingStarted.title": "Începe rapid", + "sidebar.gettingStarted.line1": "OpenCode include modele gratuite ca să poți începe imediat.", + "sidebar.gettingStarted.line2": "Conectează orice furnizor pentru a folosi modele, inclusiv Claude, GPT, Gemini etc.", + "sidebar.project.recentSessions": "Sesiuni recente", + "sidebar.project.viewAllSessions": "Vezi toate sesiunile", + "sidebar.project.clearNotifications": "Șterge notificările", + "sidebar.empty.title": "Niciun proiect deschis", + "sidebar.empty.description": "Deschide un proiect pentru a începe", + "debugBar.ariaLabel": "Diagnosticare performanță dezvoltare", + "debugBar.na": "n/a", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "Ultima tranziție de rută finalizată care implică o pagină de sesiune, măsurată de la pornirea routerului până la primul paint după stabilizare.", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "Cadre pe secundă medii în ultimele 5 secunde.", + "debugBar.frame.label": "CADRU", + "debugBar.frame.tip": "Cel mai slab timp de cadru din ultimele 5 secunde.", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "Cadre peste 32 ms în ultimele 5 secunde.", + "debugBar.long.label": "LONG", + "debugBar.long.tip": "Timp blocat și număr de sarcini lungi în ultimele 5 secunde. Sarcina maximă: {{max}}.", + "debugBar.delay.label": "ÎNTÂRZIERE", + "debugBar.delay.tip": "Cea mai mare întârziere de input observată în ultimele 5 secunde.", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": + "Durata aproximativă a interacțiunii din ultimele 5 secunde. Este similar cu INP, nu valoarea oficială Web Vitals INP.", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "Deplasare cumulativă a layoutului pentru durata actuală a aplicației.", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "Heap JS folosit vs limită heap. Doar în Chromium.", + "debugBar.mem.tip": "Heap JS folosit vs limită heap. {{used}} din {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Forțează stilurile de focus pe toate elementele interactive", + "debugBar.focus.on": "PORNEȘTE", + "debugBar.focus.off": "OPREȘTE", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Forțează direcția completă a layoutului aplicației fără a schimba limba selectată", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode Desktop", + "settings.section.desktop": "Desktop", + "settings.section.server": "Server", + "settings.tab.general": "General", + "settings.tab.shortcuts": "Scurtături", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "Integrare WSL", + "settings.desktop.wsl.description": "Rulează serverul OpenCode în WSL pe Windows.", + "settings.general.section.appearance": "Aspect", + "settings.general.section.advanced": "Avansat", + "settings.general.section.notifications": "Notificări de sistem", + "settings.general.section.updates": "Actualizări", + "settings.general.section.sounds": "Efecte sonore", + "settings.general.section.feed": "Flux", + "settings.general.section.display": "Afișare", + "settings.general.row.language.title": "Limbă", + "settings.general.row.language.description": "Schimbă limba de afișare pentru OpenCode", + "settings.general.row.shell.title": "Shell terminal", + "settings.general.row.shell.description": "Shell folosit de terminal și instrumentele agentului", + "settings.general.row.shell.autoDefault": "Auto (implicit)", + "settings.general.row.shell.terminalOnly": "doar terminal", + "settings.general.row.appearance.title": "Aspect", + "settings.general.row.appearance.description": "Personalizează aspectul OpenCode pe dispozitivul tău", + "settings.general.row.colorScheme.title": "Scheamă de culori", + "settings.general.row.colorScheme.description": "Alege dacă OpenCode urmează sistemul, tema deschisă sau închisă", + "settings.general.row.theme.title": "Temă", + "settings.general.row.theme.description": "Personalizează tema OpenCode.", + "settings.general.row.font.title": "Font cod", + "settings.general.row.font.description": "Personalizează fontul folosit în blocurile de cod", + "settings.general.row.terminalFont.title": "Font terminal", + "settings.general.row.terminalFont.description": "Personalizează fontul folosit în terminal", + "settings.general.row.uiFont.title": "Font interfață", + "settings.general.row.uiFont.description": "Personalizează fontul folosit în toată interfața", + "settings.general.row.followup.title": "Comportament follow-up", + "settings.general.row.followup.description": + "Alege dacă solicitările follow-up se execută imediat sau așteaptă în coadă", + "settings.general.row.followup.option.queue": "Coadă", + "settings.general.row.followup.option.steer": "Execută imediat", + "settings.general.row.showFileTree.title": "Arbore fișiere", + "settings.general.row.showFileTree.description": "Afișează panoul cu arborele de fișiere în sesiuni", + "settings.general.row.showNavigation.title": "Controale navigare", + "settings.general.row.showNavigation.description": "Afișează butoanele Înapoi și Înainte în bara de titlu desktop", + "settings.general.row.showSearch.title": "Paletă comenzi", + "settings.general.row.showSearch.description": "Afișează butonul de căutare și paleta de comenzi în bara de titlu", + "settings.general.row.showTerminal.title": "Terminal", + "settings.general.row.showTerminal.description": "Afișează butonul de terminal în bara de titlu desktop", + "settings.general.row.showStatus.title": "Stare server", + "settings.general.row.showStatus.description": "Afișează butonul de stare server în bara de titlu", + "settings.general.row.mobileTitlebarBottom.title": "Navigare jos", + "settings.general.row.mobileTitlebarBottom.description": + "Afișează bara de titlu și filele de sesiune în partea de jos pe mobil", + "settings.general.row.showCustomAgents.title": "Afișează agentul", + "settings.general.row.showCustomAgents.description": + "Comută între agenți în editor. Când este ascuns, se folosește agentul Build.", + "settings.general.row.reasoningSummaries.title": "Afișează rezumatele de raționament", + "settings.general.row.reasoningSummaries.description": + "Afișează rezumatele de raționament ale modelului în cronologie", + "settings.general.row.shellToolPartsExpanded.title": "Extinde părțile shell", + "settings.general.row.shellToolPartsExpanded.description": "Afișează implicit părțile shell extinse în cronologie", + "settings.general.row.editToolPartsExpanded.title": "Extinde părțile de editare", + "settings.general.row.editToolPartsExpanded.description": + "Afișează implicit părțile de editare, scriere și patch extinse în cronologie", + "settings.general.row.newInterface.title": "Aspect nou", + "settings.general.row.newInterface.badge": "Nou", + "settings.general.row.newInterface.description": + "Folosește noul aspect cu file și pagină principală. Poți comuta între aspecte pentru o perioadă limitată.", + "settings.general.row.newInterfaceNotice.title": "Folosești noul aspect", + "settings.general.row.newInterfaceNotice.description": "Aspectul anterior nu mai este disponibil", + "settings.general.row.newInterfaceNotice.dismiss": "Închide", + "settings.general.row.pinchZoom.title": "Zoom prin ciupire", + "settings.general.row.pinchZoom.description": "Permite zoom cu gesturi de ciupire pe trackpad și Ctrl-scroll", + "settings.general.row.wayland.title": "Folosește Wayland nativ", + "settings.general.row.wayland.description": "Dezactivează fallback-ul X11 pe Wayland. Necesită repornire.", + "settings.general.row.wayland.tooltip": + "Pe Linux cu monitoare cu rate de reîmprospătare diferite, Wayland nativ poate fi mai stabil.", + "settings.general.row.releaseNotes.title": "Note de lansare", + "settings.general.row.releaseNotes.description": "Afișează notificări cu noutăți după actualizări", + "settings.updates.row.startup.title": "Verifică actualizări la pornire", + "settings.updates.row.startup.description": "Verifică automat actualizările la lansarea OpenCode", + "settings.updates.row.check.title": "Verifică actualizări", + "settings.updates.row.check.description": "Verifică manual actualizările și instalează dacă sunt disponibile", + "settings.updates.action.checkNow": "Verifică acum", + "settings.updates.action.checking": "Se verifică...", + "settings.updates.action.downloading": "Se descarcă...", + "settings.updates.action.installing": "Se instalează...", + "settings.updates.toast.latest.title": "Ești la zi", + "settings.updates.toast.latest.description": "Folosești cea mai recentă versiune OpenCode.", + "sound.option.none": "Fără sunet", + "sound.option.alert01": "Avertizare 01", + "sound.option.alert02": "Avertizare 02", + "sound.option.alert03": "Avertizare 03", + "sound.option.alert04": "Avertizare 04", + "sound.option.alert05": "Avertizare 05", + "sound.option.alert06": "Avertizare 06", + "sound.option.alert07": "Avertizare 07", + "sound.option.alert08": "Avertizare 08", + "sound.option.alert09": "Avertizare 09", + "sound.option.alert10": "Avertizare 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "Nope 01", + "sound.option.nope02": "Nope 02", + "sound.option.nope03": "Nope 03", + "sound.option.nope04": "Nope 04", + "sound.option.nope05": "Nope 05", + "sound.option.nope06": "Nope 06", + "sound.option.nope07": "Nope 07", + "sound.option.nope08": "Nope 08", + "sound.option.nope09": "Nope 09", + "sound.option.nope10": "Nope 10", + "sound.option.nope11": "Nope 11", + "sound.option.nope12": "Nope 12", + "sound.option.yup01": "Yup 01", + "sound.option.yup02": "Yup 02", + "sound.option.yup03": "Yup 03", + "sound.option.yup04": "Yup 04", + "sound.option.yup05": "Yup 05", + "sound.option.yup06": "Yup 06", + "settings.general.notifications.agent.title": "Agent", + "settings.general.notifications.agent.description": + "Afișează notificare de sistem când agentul a terminat sau are nevoie de atenție", + "settings.general.notifications.permissions.title": "Permisiuni", + "settings.general.notifications.permissions.description": + "Afișează notificare de sistem când este necesară o permisiune", + "settings.general.notifications.errors.title": "Erori", + "settings.general.notifications.errors.description": "Afișează notificare de sistem când apare o eroare", + "settings.general.sounds.agent.title": "Agent", + "settings.general.sounds.agent.description": "Redă sunet când agentul a terminat sau are nevoie de atenție", + "settings.general.sounds.permissions.title": "Permisiuni", + "settings.general.sounds.permissions.description": "Redă sunet când este necesară o permisiune", + "settings.general.sounds.errors.title": "Erori", + "settings.general.sounds.errors.description": "Redă sunet la apariția unei erori", + "settings.shortcuts.title": "Scurtături de la tastatură", + "settings.shortcuts.reset.button": "Resetează la valorile implicite", + "settings.shortcuts.reset.toast.title": "Scurtăturile au fost resetate", + "settings.shortcuts.reset.toast.description": "Scurtăturile de la tastatură au fost resetate la valorile implicite.", + "settings.shortcuts.conflict.title": "Scurtătură deja folosită", + "settings.shortcuts.conflict.description": "{{keybind}} este deja atribuit pentru {{titles}}.", + "settings.shortcuts.unassigned": "Neatribuit", + "settings.shortcuts.pressKeys": "Apasă tastele", + "settings.shortcuts.search.placeholder": "Caută scurtături", + "settings.shortcuts.search.empty": "Nu s-au găsit scurtături", + "settings.shortcuts.group.general": "General", + "settings.shortcuts.group.session": "Sesiune", + "settings.shortcuts.group.navigation": "Navigare", + "settings.shortcuts.group.modelAndAgent": "Model și agent", + "settings.shortcuts.group.terminal": "Terminal", + "settings.shortcuts.group.prompt": "Solicitare", + "settings.providers.title": "Furnizori", + "settings.providers.description": "Setările furnizorilor vor putea fi configurate aici.", + "settings.providers.section.connected": "Furnizori conectați", + "settings.providers.connected.empty": "Niciun furnizor conectat", + "settings.providers.connected.environmentDescription": "Conectat prin variabilele de mediu", + "settings.providers.section.popular": "Furnizori populari", + "settings.providers.custom.description": "Adaugă un furnizor compatibil OpenAI prin URL de bază.", + "settings.providers.tag.environment": "Mediu", + "settings.providers.tag.config": "Configurare", + "settings.providers.tag.custom": "Personalizat", + "settings.providers.tag.other": "Altele", + "settings.models.title": "Modele", + "settings.models.description": "Setările modelelor vor putea fi configurate aici.", + "settings.agents.title": "Agenți", + "settings.agents.description": "Setările agenților vor putea fi configurate aici.", + "settings.commands.title": "Comenzi", + "settings.commands.description": "Setările comenzilor vor putea fi configurate aici.", + "settings.mcp.title": "MCP", + "settings.mcp.description": "Setările MCP vor putea fi configurate aici.", + "settings.permissions.title": "Permisiuni", + "settings.permissions.description": "Controlează ce unelte poate folosi serverul implicit.", + "settings.permissions.section.tools": "Unelte", + "settings.permissions.toast.updateFailed.title": "Actualizarea permisiunilor a eșuat", + "settings.permissions.action.allow": "Permite", + "settings.permissions.action.ask": "Întreabă", + "settings.permissions.action.deny": "Refuză", + "settings.permissions.tool.read.title": "Citire", + "settings.permissions.tool.read.description": "Citește un fișier (potrivește calea fișierului)", + "settings.permissions.tool.edit.title": "Editare", + "settings.permissions.tool.edit.description": "Modifică fișiere, inclusiv editări, scrieri și patch-uri", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "Potrivește fișiere folosind modele glob", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "Caută în conținutul fișierelor folosind expresii regulate", + "settings.permissions.tool.list.title": "Listare", + "settings.permissions.tool.list.description": "Listează fișierele dintr-un director", + "settings.permissions.tool.bash.title": "Bash", + "settings.permissions.tool.bash.description": "Rulează comenzi shell", + "settings.permissions.tool.task.title": "Task", + "settings.permissions.tool.task.description": "Pornește subagenți", + "settings.permissions.tool.skill.title": "Skill", + "settings.permissions.tool.skill.description": "Încarcă o abilitate după nume", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "Rulează interogări către serverul de limbaj", + "settings.permissions.tool.todowrite.title": "Scriere Todo", + "settings.permissions.tool.todowrite.description": "Actualizează lista de sarcini", + "settings.permissions.tool.webfetch.title": "Preluare web", + "settings.permissions.tool.webfetch.description": "Preia conținut de la un URL", + "settings.permissions.tool.websearch.title": "Căutare web", + "settings.permissions.tool.websearch.description": "Caută pe web", + "settings.permissions.tool.external_directory.title": "Director extern", + "settings.permissions.tool.external_directory.description": "Accesează fișiere din afara directorului proiectului", + "settings.permissions.tool.doom_loop.title": "Doom Loop", + "settings.permissions.tool.doom_loop.description": "Detectează apeluri repetate ale uneltei cu aceeași intrare", + "session.delete.failed.title": "Ștergerea sesiunii a eșuat", + "session.delete.title": "Șterge sesiunea", + "session.delete.confirm": "Ștergi sesiunea „{{name}}”?", + "session.delete.button": "Șterge sesiunea", + "workspace.new": "Spațiu de lucru nou", + "workspace.type.local": "local", + "workspace.type.sandbox": "sandbox", + "workspace.create.failed.title": "Crearea spațiului de lucru a eșuat", + "workspace.delete.failed.title": "Ștergerea spațiului de lucru a eșuat", + "workspace.resetting.title": "Se resetează spațiul de lucru", + "workspace.resetting.description": "Aceasta poate dura un minut.", + "workspace.reset.failed.title": "Resetarea spațiului de lucru a eșuat", + "workspace.reset.success.title": "Spațiul de lucru a fost resetat", + "workspace.reset.success.description": "Spațiul de lucru corespunde acum ramurii implicite.", + "workspace.error.stillPreparing": "Spațiul de lucru este încă în pregătire", + "workspace.status.checking": "Se verifică modificările necomasate...", + "workspace.status.error": "Nu s-a putut verifica statusul git.", + "workspace.status.clean": "Nu s-au detectat modificări necomasate.", + "workspace.status.dirty": "S-au detectat modificări necomasate în acest spațiu de lucru.", + "workspace.delete.title": "Șterge spațiul de lucru", + "workspace.delete.confirm": "Ștergi spațiul de lucru „{{name}}”?", + "workspace.delete.button": "Șterge spațiul de lucru", + "workspace.reset.title": "Resetează spațiul de lucru", + "workspace.reset.confirm": "Resetezi spațiul de lucru „{{name}}”?", + "workspace.reset.button": "Resetează spațiul de lucru", + "workspace.reset.archived.none": "Nicio sesiune activă nu va fi arhivată.", + "workspace.reset.archived.one": "1 sesiune va fi arhivată.", + "workspace.reset.archived.many": "{{count}} sesiuni vor fi arhivate.", + "workspace.reset.note": "Aceasta va reseta spațiul de lucru la ramura implicită.", + "dialog.usageExceeded.dontShowAgain": "Nu mai afișa", +} diff --git a/packages/app/src/i18n/ru.ts b/packages/app/src/i18n/ru.ts index 17d6ba58a9d7..cf4fa8d8f4ca 100644 --- a/packages/app/src/i18n/ru.ts +++ b/packages/app/src/i18n/ru.ts @@ -1,4 +1,103 @@ export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Файл", + "desktop.menu.edit": "Правка", + "desktop.menu.view": "Вид", + "desktop.menu.go": "Переход", + "desktop.menu.window": "Окно", + "desktop.menu.help": "Справка", + "desktop.menu.checkForUpdates": "Проверить наличие обновлений...", + "desktop.menu.settings": "Настройки", + "desktop.menu.reloadWebview": "Перезагрузить веб-представление", + "desktop.menu.restart": "Перезапустить", + "desktop.menu.exportLogs": "Экспортировать журналы...", + "desktop.menu.newSession": "Новая сессия", + "desktop.menu.openProject": "Открыть проект...", + "desktop.menu.newWindow": "Новое окно", + "desktop.menu.closeWindow": "Закрыть окно", + "desktop.menu.undo": "Отменить", + "desktop.menu.redo": "Повторить", + "desktop.menu.cut": "Вырезать", + "desktop.menu.copy": "Копировать", + "desktop.menu.paste": "Вставить", + "desktop.menu.delete": "Удалить", + "desktop.menu.selectAll": "Выбрать всё", + "desktop.menu.toggleSidebar": "Переключить боковую панель", + "desktop.menu.toggleTerminal": "Переключить терминал", + "desktop.menu.toggleFileTree": "Переключить дерево файлов", + "desktop.menu.reload": "Перезагрузить", + "desktop.menu.toggleDeveloperTools": "Переключить инструменты разработчика", + "desktop.menu.actualSize": "Фактический размер", + "desktop.menu.zoomIn": "Увеличить", + "desktop.menu.zoomOut": "Уменьшить", + "desktop.menu.toggleFullScreen": "Переключить полноэкранный режим", + "desktop.menu.back": "Назад", + "desktop.menu.forward": "Вперёд", + "desktop.menu.previousSession": "Предыдущая сессия", + "desktop.menu.nextSession": "Следующая сессия", + "desktop.menu.previousProject": "Предыдущий проект", + "desktop.menu.nextProject": "Следующий проект", + "desktop.menu.minimize": "Свернуть", + "desktop.menu.maximize": "Развернуть", + "desktop.menu.documentation": "Документация OpenCode", + "desktop.menu.supportForum": "Форум поддержки", + "desktop.menu.shareFeedback": "Отправить отзыв", + "desktop.menu.reportBug": "Сообщить об ошибке", + "desktop.menu.ariaLabel": "Меню OpenCode", + + "desktop.updater.dialog.checkFailed.message": "Не удалось проверить наличие обновлений.", + "desktop.updater.dialog.checkFailed.title": "Ошибка обновления", + "desktop.updater.dialog.upToDate.message": "У вас установлена последняя версия.", + "desktop.updater.dialog.upToDate.title": "Обновлений нет", + "desktop.updater.dialog.ready.message": "Обновление {{version}} загружено. Перезапустить сейчас?", + "desktop.updater.dialog.ready.title": "Обновление готово", + "desktop.updater.dialog.restart": "Перезапустить", + "desktop.updater.dialog.later": "Позже", + + "desktop.recovery.action.relaunch": "Запустить снова", + "desktop.recovery.action.exportLogs": "Экспортировать журналы", + "desktop.recovery.action.keepWaiting": "Продолжить ожидание", + "desktop.recovery.action.quit": "Выйти", + "desktop.recovery.loadFailed": "Не удалось загрузить OpenCode", + "desktop.recovery.terminated": "Окно OpenCode неожиданно завершило работу", + "desktop.recovery.unresponsive": "OpenCode не отвечает", + "desktop.recovery.unresponsive.detail": "Можно снова запустить приложение, открыть журналы или продолжить ожидание.", + "desktop.recovery.loadFailed.detail": "Окно: {{window}}\nURL: {{url}}\nОшибка: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Окно: {{window}}\nПричина: {{reason}}\nКод: {{code}}", + "desktop.recovery.unknown": "<неизвестно>", + + "desktop.dialog.chooseFolder": "Выберите папку", + "desktop.dialog.chooseFile": "Выберите файл", + "desktop.dialog.saveFile": "Сохранить файл", + "desktop.dialog.files": "Файлы", + "desktop.server.local": "Локальный сервер", + + "desktop.wsl.error.windowsOnly": "WSL доступна только в Windows", + "desktop.wsl.error.unavailable": "WSL недоступна", + "desktop.wsl.error.listInstalled": "Не удалось получить список установленных дистрибутивов WSL", + "desktop.wsl.error.listOnline": "Не удалось получить список доступных дистрибутивов WSL", + "desktop.wsl.error.executeDistro": "Не удаётся выполнять команды в дистрибутиве", + "desktop.wsl.error.installWsl": "Не удалось установить WSL", + "desktop.wsl.error.installDistro": "Не удалось установить дистрибутив: {{distro}}", + "desktop.wsl.error.installOpencode": "Не удалось установить OpenCode", + "desktop.wsl.error.alreadyAdded": "Дистрибутив {{distro}} уже добавлен", + "desktop.wsl.error.opencodeMissing": "opencode не установлен в этом дистрибутиве", + "desktop.wsl.error.opencodeCannotRun": "opencode установлен, но его не удалось запустить", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode не установлен в {{distro}}", + "desktop.wsl.error.updateVersion": + "Обновление OpenCode завершено, но {{distro}} по-прежнему сообщает версию {{installed}}; ожидалась {{expected}}", + "desktop.wsl.error.noVersion": "нет версии", + "desktop.wsl.error.serverExited": "Сервер WSL завершил работу после запуска (код={{code}}, сигнал={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "Сервер WSL завершил работу до перехода в рабочее состояние (код={{code}}, сигнал={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": + "Истекло время ожидания проверки работоспособности Sidecar для {{distro}} ({{timeout}} мс)", + "desktop.wsl.error.commandTimeout": "Истекло время ожидания выполнения {{command}} {{args}} ({{timeout}} мс)", + "desktop.wsl.error.failedPort": "Не удалось получить порт", + + "desktop.picker.error.notSelected": "В средстве выбора не выбран файл", + "desktop.picker.error.sizeLimit": "Размер выбранных вложений превышает лимит {{limit}} МБ", + "command.category.suggested": "Предложено", "command.category.view": "Просмотр", "command.category.project": "Проект", @@ -16,6 +115,7 @@ export const dict = { "command.category.permissions": "Разрешения", "command.category.workspace": "Рабочее пространство", "command.category.settings": "Настройки", + "command.logs.export": "Экспортировать журналы", "theme.scheme.system": "Системная", "theme.scheme.light": "Светлая", @@ -37,12 +137,12 @@ export const dict = { "command.palette": "Палитра команд", - "command.theme.cycle": "Цикл тем", + "command.theme.cycle": "Переключить тему", "command.theme.set": "Использовать тему: {{theme}}", - "command.theme.scheme.cycle": "Цикл цветовой схемы", + "command.theme.scheme.cycle": "Переключить цветовую схему", "command.theme.scheme.set": "Использовать цветовую схему: {{scheme}}", - "command.language.cycle": "Цикл языков", + "command.language.cycle": "Переключить язык", "command.language.set": "Использовать язык: {{language}}", "command.session.new": "Новая сессия", @@ -51,7 +151,7 @@ export const dict = { "command.tab.reopenClosed": "Повторно открыть закрытую вкладку", "command.context.addSelection": "Добавить выделение в контекст", "command.context.addSelection.description": "Добавить выбранные строки из текущего файла", - "command.input.focus": "Фокус на поле ввода", + "command.input.focus": "Перейти к полю ввода", "command.terminal.toggle": "Переключить терминал", "command.fileTree.toggle": "Переключить дерево файлов", "command.review.toggle": "Переключить обзор", @@ -67,11 +167,11 @@ export const dict = { "command.model.choose.description": "Выбрать другую модель", "command.mcp.toggle": "Переключить MCP", "command.mcp.toggle.description": "Переключить MCP", - "command.agent.cycle": "Цикл агентов", + "command.agent.cycle": "Следующий агент", "command.agent.cycle.description": "Переключиться к следующему агенту", - "command.agent.cycle.reverse": "Цикл агентов назад", + "command.agent.cycle.reverse": "Предыдущий агент", "command.agent.cycle.reverse.description": "Переключиться к предыдущему агенту", - "command.model.variant.cycle": "Цикл режимов мышления", + "command.model.variant.cycle": "Переключить уровень усилий", "command.model.variant.cycle.description": "Переключиться к следующему уровню усилий", "command.prompt.mode.shell": "Оболочка", "command.prompt.mode.normal": "Промпт", @@ -92,6 +192,9 @@ export const dict = { "command.session.unshare": "Отменить публикацию", "command.session.unshare.description": "Прекратить публикацию сессии", + "command.session.export": "Экспортировать сессию", + "command.session.export.description": "Экспортировать полную историю сессии в формате JSON", + "palette.search.placeholder": "Поиск файлов, команд и сессий", "palette.search.placeholder.home": "Поиск команд и сессий", "palette.empty": "Ничего не найдено", @@ -102,9 +205,10 @@ export const dict = { "dialog.provider.empty": "Провайдеры не найдены", "dialog.provider.group.popular": "Популярные", "dialog.provider.group.other": "Другие", + "dialog.provider.custom.label": "Пользовательский провайдер, совместимый с OpenAI", "dialog.provider.tag.recommended": "Рекомендуемые", "dialog.provider.opencode.note": "Отобранные модели, включая Claude, GPT, Gemini и другие", - "dialog.provider.opencode.tagline": "Надежные оптимизированные модели", + "dialog.provider.opencode.tagline": "Надёжные оптимизированные модели", "dialog.provider.opencodeGo.tagline": "Доступная подписка для всех", "dialog.provider.anthropic.note": "Прямой доступ к моделям Claude, включая Pro и Max", "dialog.provider.copilot.note": "ИИ-модели для помощи в кодировании через GitHub Copilot", @@ -117,33 +221,36 @@ export const dict = { "dialog.model.search.placeholder": "Поиск моделей", "dialog.model.empty": "Модели не найдены", "dialog.model.manage": "Управление моделями", - "dialog.model.manage.description": "Настройте какие модели появляются в выборе модели", + "dialog.model.manage.description": "Настройте, какие модели отображаются при выборе модели", "dialog.model.manage.provider.toggle": "Переключить все модели {{provider}}", "dialog.model.unpaid.freeModels.title": "Бесплатные модели от OpenCode", "dialog.model.unpaid.addMore.title": "Добавьте больше моделей от популярных провайдеров", + "dialog.model.unpaid.viewMoreProviders": "Посмотреть ещё более 70 провайдеров", "dialog.provider.viewAll": "Показать больше провайдеров", "provider.connect.title": "Подключить {{provider}}", "provider.connect.title.anthropicProMax": "Войти с помощью Claude Pro/Max", "provider.connect.selectMethod": "Выберите способ входа для {{provider}}.", - "provider.connect.method.apiKey": "API ключ", + "provider.connect.method.apiKey": "Ключ API", + "provider.connect.method.browser": "Браузер", + "provider.connect.method.headless": "Без браузера", "provider.connect.status.inProgress": "Авторизация...", "provider.connect.status.waiting": "Ожидание авторизации...", "provider.connect.status.failed": "Ошибка авторизации: {{error}}", "provider.connect.apiKey.description": - "Введите ваш API ключ {{provider}} для подключения аккаунта и использования моделей {{provider}} в OpenCode.", - "provider.connect.apiKey.label": "{{provider}} API ключ", - "provider.connect.apiKey.placeholder": "API ключ", - "provider.connect.apiKey.required": "API ключ обязателен", + "Введите ключ API {{provider}}, чтобы подключить аккаунт и использовать модели {{provider}} в OpenCode.", + "provider.connect.apiKey.label": "Ключ API {{provider}}", + "provider.connect.apiKey.placeholder": "Ключ API", + "provider.connect.apiKey.required": "Требуется ключ API", "provider.connect.opencodeZen.line1": "OpenCode Zen даёт вам доступ к отобранным надёжным оптимизированным моделям для агентов программирования.", "provider.connect.opencodeZen.line2": - "С одним API ключом вы получите доступ к таким моделям как Claude, GPT, Gemini, GLM и другим.", + "С одним ключом API вы получите доступ к таким моделям, как Claude, GPT, Gemini, GLM и другие.", "provider.connect.opencodeZen.visit.prefix": "Посетите ", "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", - "provider.connect.opencodeZen.visit.suffix": " чтобы получить ваш API ключ.", + "provider.connect.opencodeZen.visit.suffix": ", чтобы получить ключ API.", "provider.connect.oauth.code.visit.prefix": "Посетите ", "provider.connect.oauth.code.visit.link": "эту ссылку", "provider.connect.oauth.code.visit.suffix": @@ -161,18 +268,19 @@ export const dict = { "provider.connect.toast.connected.description": "Модели {{provider}} теперь доступны.", "provider.custom.title": "Пользовательский провайдер", - "provider.custom.description.prefix": "Настройте OpenAI-совместимого провайдера. См. ", + "provider.custom.unavailable": "Пользовательские провайдеры недоступны на этом сервере", + "provider.custom.description.prefix": "Настройте провайдера, совместимого с OpenAI. См. ", "provider.custom.description.link": "документацию по настройке провайдера", "provider.custom.description.suffix": ".", "provider.custom.field.providerID.label": "ID провайдера", "provider.custom.field.providerID.placeholder": "myprovider", "provider.custom.field.providerID.description": "Строчные буквы, цифры, дефисы или подчёркивания", "provider.custom.field.name.label": "Отображаемое имя", - "provider.custom.field.name.placeholder": "Мой AI провайдер", + "provider.custom.field.name.placeholder": "Мой ИИ-провайдер", "provider.custom.field.baseURL.label": "Базовый URL", "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", - "provider.custom.field.apiKey.label": "API ключ", - "provider.custom.field.apiKey.placeholder": "API ключ", + "provider.custom.field.apiKey.label": "Ключ API", + "provider.custom.field.apiKey.placeholder": "Ключ API", "provider.custom.field.apiKey.description": "Необязательно. Оставьте пустым, если управляете авторизацией через заголовки.", "provider.custom.models.label": "Модели", @@ -211,15 +319,15 @@ export const dict = { "model.input.image": "изображение", "model.input.audio": "аудио", "model.input.video": "видео", - "model.input.pdf": "pdf", - "model.tooltip.allows": "Разрешено: {{inputs}}", + "model.input.pdf": "PDF", + "model.tooltip.allows": "Поддерживает: {{inputs}}", "model.tooltip.context.label": "Контекст", "model.tooltip.inputs": "Входные данные", "model.tooltip.model": "Модель", "model.tooltip.provider": "Провайдер", "model.tooltip.reasoning": "Рассуждение", - "model.tooltip.reasoning.allowed": "Разрешает рассуждение", - "model.tooltip.reasoning.none": "Без рассуждения", + "model.tooltip.reasoning.allowed": "Поддерживает рассуждения", + "model.tooltip.reasoning.none": "Без рассуждений", "model.tooltip.context": "Лимит контекста {{limit}}", "common.search.placeholder": "Поиск", @@ -231,7 +339,7 @@ export const dict = { "common.clear": "Очистить", "common.connect": "Подключить", "common.disconnect": "Отключить", - "common.continue": "Отправить", + "common.continue": "Продолжить", "common.submit": "Отправить", "common.save": "Сохранить", "common.saving": "Сохранение...", @@ -241,8 +349,8 @@ export const dict = { "prompt.placeholder.shell": "Введите команду оболочки... {{example}}", "prompt.placeholder.normal": 'Спросите что угодно... "{{example}}"', "prompt.placeholder.simple": "Спросите что угодно...", - "prompt.placeholder.summarizeComments": "Суммировать комментарии…", - "prompt.placeholder.summarizeComment": "Суммировать комментарий…", + "prompt.placeholder.summarizeComments": "Обобщить комментарии…", + "prompt.placeholder.summarizeComment": "Обобщить комментарий…", "prompt.mode.shell": "Оболочка", "prompt.mode.normal": "Промпт", "prompt.mode.shell.exit": "esc для выхода", @@ -252,33 +360,33 @@ export const dict = { "prompt.example.1": "Исправить TODO в коде", "prompt.example.2": "Какой технологический стек этого проекта?", "prompt.example.3": "Исправить сломанные тесты", - "prompt.example.4": "Объясни как работает аутентификация", + "prompt.example.4": "Объясни, как работает аутентификация", "prompt.example.5": "Найти и исправить уязвимости безопасности", - "prompt.example.6": "Добавить юнит-тесты для сервиса пользователя", + "prompt.example.6": "Добавить модульные тесты для службы пользователей", "prompt.example.7": "Рефакторить эту функцию для лучшей читаемости", "prompt.example.8": "Что означает эта ошибка?", "prompt.example.9": "Помоги мне отладить эту проблему", "prompt.example.10": "Сгенерировать документацию API", "prompt.example.11": "Оптимизировать запросы к базе данных", - "prompt.example.12": "Добавить валидацию ввода", + "prompt.example.12": "Добавить проверку входных данных", "prompt.example.13": "Создать новый компонент для...", "prompt.example.14": "Как развернуть этот проект?", - "prompt.example.15": "Проверь мой код на лучшие практики", + "prompt.example.15": "Проверь, соответствует ли мой код рекомендациям", "prompt.example.16": "Добавить обработку ошибок в эту функцию", - "prompt.example.17": "Объясни этот паттерн regex", - "prompt.example.18": "Конвертировать это в TypeScript", + "prompt.example.17": "Объясни это регулярное выражение", + "prompt.example.18": "Преобразовать это в TypeScript", "prompt.example.19": "Добавить логирование по всему проекту", "prompt.example.20": "Какие зависимости устарели?", "prompt.example.21": "Помоги написать скрипт миграции", - "prompt.example.22": "Реализовать кэширование для этой конечной точки", + "prompt.example.22": "Реализовать кеширование для этой конечной точки", "prompt.example.23": "Добавить пагинацию в этот список", - "prompt.example.24": "Создать CLI команду для...", - "prompt.example.25": "Как работают переменные окружения здесь?", + "prompt.example.24": "Создать CLI-команду для...", + "prompt.example.25": "Как здесь работают переменные окружения?", "prompt.popover.emptyResults": "Нет совпадений", "prompt.popover.emptyCommands": "Нет совпадающих команд", "prompt.dropzone.label": "Перетащите сюда изображения, PDF или текстовые файлы", - "prompt.dropzone.file.label": "Отпустите для @упоминания файла", + "prompt.dropzone.file.label": "Отпустите, чтобы упомянуть файл через @", "prompt.slash.badge.custom": "своё", "prompt.slash.badge.skill": "навык", "prompt.slash.badge.mcp": "mcp", @@ -332,7 +440,7 @@ export const dict = { "dialog.directory.readError": "Не удалось прочитать эту папку", "dialog.server.title": "Серверы", - "dialog.server.description": "Переключите сервер OpenCode к которому подключается приложение.", + "dialog.server.description": "Выберите сервер OpenCode, к которому подключается приложение.", "dialog.server.search.placeholder": "Поиск серверов", "dialog.server.empty": "Серверов пока нет", "dialog.server.add.title": "Добавить сервер", @@ -356,7 +464,7 @@ export const dict = { "dialog.server.menu.edit": "Редактировать", "dialog.server.menu.default": "Сделать по умолчанию", - "dialog.server.menu.defaultRemove": "Удалить по умолчанию", + "dialog.server.menu.defaultRemove": "Отменить выбор по умолчанию", "dialog.server.menu.delete": "Удалить", "dialog.server.current": "Текущий сервер", "dialog.server.status.default": "По умолч.", @@ -405,7 +513,7 @@ export const dict = { "wsl.onboarding.needAnotherDistroHint": "Установите дистрибутив Linux из каталога WSL", "wsl.onboarding.wslNotInstalled.title": "WSL не установлена", "wsl.onboarding.wslNotInstalled.description": - "Для добавления сервера WSL в OpenCode требуется WSL (Windows Subsystem for Linux)", + "Для добавления сервера WSL в OpenCode требуется WSL (Подсистема Windows для Linux)", "wsl.onboarding.wslUnavailable.title": "WSL недоступна", "wsl.onboarding.wslUnavailable.description": "OpenCode не смог проверить WSL на этом компьютере.", "wsl.onboarding.installWsl": "Установить WSL", @@ -430,12 +538,28 @@ export const dict = { "wsl.onboarding.versionMismatch": "Установленная версия не соответствует версии приложения.", "wsl.onboarding.adding": "Добавление...", + "help.tabs.toast.ariaLabel": "Представляем вкладки. Организуйте работу и активные сессии с помощью вкладок", + "help.tabs.toast.dismiss": "Закрыть сведения о вкладках", + "help.tabs.title": "Представляем вкладки", + "help.tabs.description": "Организуйте работу и активные сессии с помощью вкладок", + "help.tabs.date": "14 июля", + "help.tabs.introduction": "Теперь работа в OpenCode Desktop организована с помощью вкладок.", + "help.tabs.sessions": + "Начните новую сессию во вкладке или откройте существующую сессию из любого проекта. Открывайте новую вкладку, когда начинаете новую задачу, и закрывайте её по завершении.", + "help.tabs.organize": + "Несколько открытых вкладок упрощают организацию активных сессий. Если вы планируете оставить вкладки открытыми, присвойте им запоминающиеся названия.", + "help.tabs.home": + "Все сессии и проекты находятся на новом экране «Главная». При выборе сессии она открывается во вкладке.", + "help.tabs.persistence": "После повторного открытия приложения вкладки останутся открытыми.", + "help.tabs.worktrees": + "Новый дизайн пока не поддерживает Git Worktrees, но эта возможность скоро появится. Если вы предпочитаете прежний макет, переключиться между макетами можно в разделе «Настройки». Учтите, что через несколько недель новый макет станет постоянным.", + "dialog.project.edit.title": "Редактировать проект", "dialog.project.edit.name": "Название", - "dialog.project.edit.icon": "Иконка", - "dialog.project.edit.icon.alt": "Иконка проекта", + "dialog.project.edit.icon": "Значок", + "dialog.project.edit.icon.alt": "Значок проекта", "dialog.project.edit.icon.hint": "Нажмите или перетащите изображение", - "dialog.project.edit.icon.recommended": "Рекомендуется: 128x128px", + "dialog.project.edit.icon.recommended": "Рекомендуется: 128 x 128 пикселей", "dialog.project.edit.color": "Цвет", "dialog.project.edit.color.select": "Выбрать цвет {{color}}", @@ -443,6 +567,8 @@ export const dict = { "dialog.project.edit.worktree.startup.description": "Запускается после создания нового рабочего пространства (worktree).", "dialog.project.edit.worktree.startup.placeholder": "например, bun install", + "dialog.usageExceeded.dontShowAgain": "Больше не показывать", + "context.breakdown.title": "Разбивка контекста", "context.breakdown.note": 'Приблизительная разбивка входных токенов. "Другое" включает определения инструментов и накладные расходы.', @@ -455,6 +581,8 @@ export const dict = { "context.systemPrompt.title": "Системный промпт", "context.rawMessages.title": "Исходные сообщения", + "context.export.session": "Экспортировать сессию", + "context.stats.session": "Сессия", "context.stats.messages": "Сообщения", "context.stats.provider": "Провайдер", @@ -465,7 +593,7 @@ export const dict = { "context.stats.inputTokens": "Входные токены", "context.stats.outputTokens": "Выходные токены", "context.stats.reasoningTokens": "Токены рассуждения", - "context.stats.cacheTokens": "Токены кэша (чтение/запись)", + "context.stats.cacheTokens": "Токены кеша (чтение/запись)", "context.stats.userMessages": "Сообщения пользователя", "context.stats.assistantMessages": "Сообщения ассистента", "context.stats.totalCost": "Общая стоимость", @@ -532,6 +660,11 @@ export const dict = { "toast.session.unshare.failed.title": "Не удалось отменить публикацию", "toast.session.unshare.failed.description": "Произошла ошибка при отмене публикации", + "toast.session.export.success.title": "Сессия экспортирована", + "toast.session.export.success.description": "Сессия сохранена в файл {{filename}}", + "toast.session.export.failed.title": "Не удалось экспортировать сессию", + "toast.session.export.failed.description": "Произошла ошибка при экспорте сессии", + "toast.session.listFailed.title": "Не удалось загрузить сессии для {{project}}", "toast.update.title": "Доступно обновление", @@ -564,27 +697,27 @@ export const dict = { "error.chain.causedBy": "Причина:", "error.chain.apiError": "Ошибка API", "error.chain.status": "Статус: {{status}}", - "error.chain.retryable": "Повторная попытка: {{retryable}}", + "error.chain.retryable": "Можно повторить: {{retryable}}", "error.chain.responseBody": "Тело ответа:\n{{body}}", "error.chain.didYouMean": "Возможно, вы имели в виду: {{suggestions}}", "error.chain.modelNotFound": "Модель не найдена: {{provider}}/{{model}}", - "error.chain.checkConfig": "Проверьте названия провайдера/модели в конфиге (opencode.json)", + "error.chain.checkConfig": "Проверьте названия провайдера и модели в конфигурации (opencode.json)", "error.chain.mcpFailed": - 'MCP сервер "{{name}}" завершился с ошибкой. Обратите внимание, что OpenCode пока не поддерживает MCP авторизацию.', + 'MCP-сервер "{{name}}" завершился с ошибкой. Обратите внимание: OpenCode пока не поддерживает MCP-авторизацию.', "error.chain.providerAuthFailed": "Ошибка аутентификации провайдера ({{provider}}): {{message}}", "error.chain.providerInitFailed": 'Не удалось инициализировать провайдера "{{provider}}". Проверьте учётные данные и конфигурацию.', - "error.chain.configJsonInvalid": "Конфигурационный файл по адресу {{path}} не является валидным JSON(C)", + "error.chain.configJsonInvalid": "Конфигурационный файл по адресу {{path}} содержит некорректный JSON(C)", "error.chain.configJsonInvalidWithMessage": - "Конфигурационный файл по адресу {{path}} не является валидным JSON(C): {{message}}", + "Конфигурационный файл по адресу {{path}} содержит некорректный JSON(C): {{message}}", "error.chain.configDirectoryTypo": - 'Папка "{{dir}}" в {{path}} невалидна. Переименуйте папку в "{{suggestion}}" или удалите её. Это распространённая опечатка.', + 'Папка "{{dir}}" в {{path}} недопустима. Переименуйте папку в "{{suggestion}}" или удалите её. Это распространённая опечатка.', "error.chain.configFrontmatterError": "Не удалось разобрать frontmatter в {{path}}:\n{{message}}", - "error.chain.configInvalid": "Конфигурационный файл по адресу {{path}} невалиден", - "error.chain.configInvalidWithMessage": "Конфигурационный файл по адресу {{path}} невалиден: {{message}}", + "error.chain.configInvalid": "Недопустимый конфигурационный файл по адресу {{path}}", + "error.chain.configInvalidWithMessage": "Недопустимый конфигурационный файл по адресу {{path}}: {{message}}", "notification.permission.title": "Требуется разрешение", - "notification.permission.description": "{{sessionTitle}} в {{projectName}} требуется разрешение", + "notification.permission.description": "Для {{sessionTitle}} в {{projectName}} требуется разрешение", "notification.question.title": "Вопрос", "notification.question.description": "У {{sessionTitle}} в {{projectName}} есть вопрос", "notification.action.goToSession": "Перейти к сессии", @@ -623,7 +756,7 @@ export const dict = { "session.error.notFound.description": "Эта вкладка указывает на сессию, которой больше нет на этом сервере.", "session.error.notFound.closeTab": "Закрыть вкладку", "session.error.serverConnection": "Не удаётся подключиться к этому серверу", - "session.review.filesChanged": "{{count}} файлов изменено", + "session.review.filesChanged": "Изменено файлов: {{count}}", "session.review.change.one": "Изменение", "session.review.change.other": "Изменения", "session.review.loadingChanges": "Загрузка изменений...", @@ -650,15 +783,21 @@ export const dict = { "session.question.minimize": "Свернуть вопрос", "session.question.restore": "Восстановить вопрос", "session.question.pending.one": "{{count}} вопрос без ответа", + "session.question.pending.few": "{{count}} вопроса без ответа", + "session.question.pending.many": "{{count}} вопросов без ответа", "session.question.pending.other": "Вопросы без ответа: {{count}}", "session.followupDock.summary.one": "{{count}} сообщение в очереди", - "session.followupDock.summary.other": "{{count}} сообщений в очереди", + "session.followupDock.summary.few": "{{count}} сообщения в очереди", + "session.followupDock.summary.many": "{{count}} сообщений в очереди", + "session.followupDock.summary.other": "Сообщений в очереди: {{count}}", "session.followupDock.sendNow": "Отправить сейчас", "session.followupDock.edit": "Редактировать", "session.followupDock.collapse": "Свернуть сообщения в очереди", "session.followupDock.expand": "Развернуть сообщения в очереди", "session.revertDock.summary.one": "{{count}} сообщение возвращено", - "session.revertDock.summary.other": "{{count}} сообщений возвращено", + "session.revertDock.summary.few": "{{count}} сообщения возвращены", + "session.revertDock.summary.many": "{{count}} сообщений возвращено", + "session.revertDock.summary.other": "Возвращено сообщений: {{count}}", "session.revertDock.collapse": "Свернуть возвращённые сообщения", "session.revertDock.expand": "Развернуть возвращённые сообщения", "session.revertDock.restore": "Восстановить сообщение", @@ -707,7 +846,7 @@ export const dict = { "session.share.copy.copied": "Скопировано", "session.share.copy.copyLink": "Копировать ссылку", - "lsp.tooltip.none": "Нет LSP серверов", + "lsp.tooltip.none": "Нет LSP-серверов", "lsp.label.connected": "{{count}} LSP", "prompt.loading": "Загрузка запроса...", @@ -718,6 +857,12 @@ export const dict = { "terminal.connectionLost.title": "Соединение потеряно", "terminal.connectionLost.description": "Соединение с терминалом прервано. Это может произойти при перезапуске сервера.", + "terminal.connectTicket.csrfError": + "Билет подключения PTY отклонён при проверке источника или CSRF. Проверьте конфигурацию CORS сервера.", + "terminal.connectTicket.statusError": "Не удалось получить билет подключения PTY, статус: {{status}}", + + "titlebar.update": "Обновить", + "titlebar.updateVersion": "Обновить {{version}}", "common.closeTab": "Закрыть вкладку", "common.dismiss": "Закрыть", @@ -725,6 +870,7 @@ export const dict = { "common.moreOptions": "Дополнительные опции", "common.learnMore": "Подробнее", "common.rename": "Переименовать", + "common.export": "Экспортировать", "common.reset": "Сбросить", "common.archive": "Архивировать", "common.delete": "Удалить", @@ -764,7 +910,7 @@ export const dict = { "settings.general.section.updates": "Обновления", "settings.general.section.sounds": "Звуковые эффекты", "settings.general.section.feed": "Лента", - "settings.general.section.display": "Дисплей", + "settings.general.section.display": "Экран", "settings.general.row.language.title": "Язык", "settings.general.row.language.description": "Изменить язык отображения OpenCode", @@ -774,7 +920,7 @@ export const dict = { "settings.general.row.shell.autoDefault": "Авто (по умолчанию)", "settings.general.row.shell.terminalOnly": "только терминал", "settings.general.row.appearance.title": "Внешний вид", - "settings.general.row.appearance.description": "Настройте как OpenCode выглядит на вашем устройстве", + "settings.general.row.appearance.description": "Настройте внешний вид OpenCode на вашем устройстве", "settings.general.row.colorScheme.title": "Цветовая схема", "settings.general.row.colorScheme.description": "Выберите, следует ли OpenCode системной, светлой или тёмной теме", "settings.general.row.theme.title": "Тема", @@ -784,7 +930,7 @@ export const dict = { "settings.general.row.terminalFont.title": "Шрифт терминала", "settings.general.row.terminalFont.description": "Настройте шрифт, используемый в терминале", "settings.general.row.uiFont.title": "Шрифт интерфейса", - "settings.general.row.uiFont.description": "Настройте шрифт, используемый во всем интерфейсе", + "settings.general.row.uiFont.description": "Настройте шрифт, используемый во всём интерфейсе", "settings.general.row.followup.title": "Поведение уточняющих вопросов", "settings.general.row.followup.description": "Выберите, отправлять ли уточняющие вопросы сразу или помещать их в очередь", @@ -804,8 +950,9 @@ export const dict = { "settings.general.row.mobileTitlebarBottom.title": "Нижняя навигация", "settings.general.row.mobileTitlebarBottom.description": "На мобильных устройствах размещать строку заголовка и вкладки сессии внизу экрана", - "settings.general.row.showCustomAgents.title": "Пользовательские агенты", - "settings.general.row.showCustomAgents.description": "Показывать выбор агента в редакторе запросов", + "settings.general.row.showCustomAgents.title": "Выбор агента", + "settings.general.row.showCustomAgents.description": + "Показывать переключатель агентов в редакторе запросов. Если он скрыт, по умолчанию используется агент Build.", "settings.general.row.reasoningSummaries.title": "Показывать сводки рассуждений", "settings.general.row.reasoningSummaries.description": "Отображать сводки рассуждений модели в ленте", @@ -822,11 +969,11 @@ export const dict = { "settings.general.row.newInterfaceNotice.title": "Теперь вы используете новую компоновку", "settings.general.row.newInterfaceNotice.description": "Прежняя компоновка больше недоступна", "settings.general.row.newInterfaceNotice.dismiss": "Закрыть", - "settings.general.row.pinchZoom.title": "Масштабирование щипком", + "settings.general.row.pinchZoom.title": "Масштабирование сведением пальцев", "settings.general.row.pinchZoom.description": - "Разрешить масштабирование жестом щипка на трекпаде и прокруткой с Ctrl", + "Разрешить масштабирование сведением пальцев на трекпаде и прокруткой с нажатой клавишей Ctrl", "settings.general.row.wayland.title": "Использовать нативный Wayland", - "settings.general.row.wayland.description": "Отключить X11 fallback на Wayland. Требуется перезапуск.", + "settings.general.row.wayland.description": "Отключить резервный режим X11 в Wayland. Требуется перезапуск.", "settings.general.row.wayland.tooltip": "На Linux с мониторами разной частоты обновления нативный Wayland может быть стабильнее.", @@ -892,22 +1039,22 @@ export const dict = { "settings.general.notifications.agent.title": "Агент", "settings.general.notifications.agent.description": - "Показывать системное уведомление когда агент завершён или требует внимания", + "Показывать системное уведомление, когда агент завершил работу или требует внимания", "settings.general.notifications.permissions.title": "Разрешения", "settings.general.notifications.permissions.description": - "Показывать системное уведомление когда требуется разрешение", + "Показывать системное уведомление, когда требуется разрешение", "settings.general.notifications.errors.title": "Ошибки", - "settings.general.notifications.errors.description": "Показывать системное уведомление когда происходит ошибка", + "settings.general.notifications.errors.description": "Показывать системное уведомление, когда происходит ошибка", "settings.general.sounds.agent.title": "Агент", - "settings.general.sounds.agent.description": "Воспроизводить звук когда агент завершён или требует внимания", + "settings.general.sounds.agent.description": "Воспроизводить звук, когда агент завершил работу или требует внимания", "settings.general.sounds.permissions.title": "Разрешения", - "settings.general.sounds.permissions.description": "Воспроизводить звук когда требуется разрешение", + "settings.general.sounds.permissions.description": "Воспроизводить звук, когда требуется разрешение", "settings.general.sounds.errors.title": "Ошибки", - "settings.general.sounds.errors.description": "Воспроизводить звук когда происходит ошибка", + "settings.general.sounds.errors.description": "Воспроизводить звук, когда происходит ошибка", "settings.shortcuts.title": "Горячие клавиши", - "settings.shortcuts.reset.button": "Сбросить к умолчаниям", + "settings.shortcuts.reset.button": "Восстановить настройки по умолчанию", "settings.shortcuts.reset.toast.title": "Горячие клавиши сброшены", "settings.shortcuts.reset.toast.description": "Горячие клавиши были сброшены к значениям по умолчанию.", "settings.shortcuts.conflict.title": "Сочетание уже используется", @@ -943,7 +1090,7 @@ export const dict = { "settings.mcp.description": "Настройки MCP будут доступны здесь.", "settings.permissions.title": "Разрешения", - "settings.permissions.description": "Контролируйте какие инструменты сервер может использовать по умолчанию.", + "settings.permissions.description": "Укажите, какие инструменты сервер может использовать по умолчанию.", "settings.permissions.section.tools": "Инструменты", "settings.permissions.toast.updateFailed.title": "Не удалось обновить разрешения", @@ -955,7 +1102,7 @@ export const dict = { "settings.permissions.tool.read.description": "Чтение файла (по совпадению пути)", "settings.permissions.tool.edit.title": "Редактирование", "settings.permissions.tool.edit.description": - "Изменение файлов, включая редактирование, запись, патчи и мульти-редактирование", + "Изменение файлов, включая редактирование, запись, патчи и множественное редактирование", "settings.permissions.tool.glob.title": "Glob", "settings.permissions.tool.glob.description": "Сопоставление файлов по паттернам glob", "settings.permissions.tool.grep.title": "Grep", @@ -965,7 +1112,7 @@ export const dict = { "settings.permissions.tool.bash.title": "Bash", "settings.permissions.tool.bash.description": "Запуск команд оболочки", "settings.permissions.tool.task.title": "Task", - "settings.permissions.tool.task.description": "Запуск подагентов", + "settings.permissions.tool.task.description": "Запуск субагентов", "settings.permissions.tool.skill.title": "Skill", "settings.permissions.tool.skill.description": "Загрузка навыка по имени", "settings.permissions.tool.lsp.title": "LSP", @@ -999,7 +1146,7 @@ export const dict = { "workspace.reset.success.description": "Рабочее пространство теперь соответствует ветке по умолчанию.", "workspace.error.stillPreparing": "Рабочее пространство всё ещё подготавливается", "workspace.status.checking": "Проверка незафиксированных изменений...", - "workspace.status.error": "Не удалось проверить статус git.", + "workspace.status.error": "Не удалось проверить состояние Git.", "workspace.status.clean": "Незафиксированных изменений не обнаружено.", "workspace.status.dirty": "В этом рабочем пространстве обнаружены незафиксированные изменения.", "workspace.delete.title": "Удалить рабочее пространство", @@ -1010,13 +1157,13 @@ export const dict = { "workspace.reset.button": "Сбросить рабочее пространство", "workspace.reset.archived.none": "Активные сессии не будут архивированы.", "workspace.reset.archived.one": "1 сессия будет архивирована.", - "workspace.reset.archived.many": "{{count}} сессий будет архивировано.", + "workspace.reset.archived.many": "Будут архивированы сессии: {{count}}.", "workspace.reset.note": "Это сбросит рабочее пространство до соответствия ветке по умолчанию.", "common.open": "Открыть", "dialog.releaseNotes.action.getStarted": "Начать", "dialog.releaseNotes.action.next": "Далее", "dialog.releaseNotes.action.hideFuture": "Больше не показывать", - "dialog.releaseNotes.media.alt": "Превью релиза", + "dialog.releaseNotes.media.alt": "Предварительный просмотр выпуска", "toast.project.reloadFailed.title": "Не удалось перезагрузить {{project}}", "error.server.invalidConfiguration": "Недопустимая конфигурация", "common.moreCountSuffix": " (ещё {{count}})", @@ -1041,6 +1188,9 @@ export const dict = { "session.question.progress": "{{current}} из {{total}} вопросов", "session.header.open.finder": "Finder", "session.header.open.fileExplorer": "Проводник", + "session.header.reveal.finder": "Показать в Finder", + "session.header.reveal.fileExplorer": "Показать в Проводнике", + "session.header.reveal.containingFolder": "Открыть папку расположения", "session.header.open.fileManager": "Файловый менеджер", "session.header.open.app.vscode": "VS Code", "session.header.open.app.cursor": "Cursor", @@ -1059,7 +1209,7 @@ export const dict = { "debugBar.na": "н/д", "debugBar.nav.label": "NAV", "debugBar.nav.tip": - "Последний завершенный переход маршрута, затрагивающий страницу сеанса, измеренный от запуска маршрутизатора до первой отрисовки после стабилизации.", + "Последний завершённый переход по маршруту, затрагивающий страницу сессии: от запуска маршрутизатора до первой отрисовки после стабилизации.", "debugBar.fps.label": "FPS", "debugBar.fps.tip": "Скользящая частота кадров в секунду за последние 5 секунд.", "debugBar.frame.label": "FRAME", @@ -1074,10 +1224,18 @@ export const dict = { "debugBar.inp.tip": "Приблизительная продолжительность взаимодействия за последние 5 секунд. Это похоже на INP, а не официальный Web Vitals INP.", "debugBar.cls.label": "CLS", - "debugBar.cls.tip": "Кумулятивный сдвиг макета за текущее время жизни приложения.", + "debugBar.cls.tip": "Совокупное смещение макета за время работы приложения.", "debugBar.mem.label": "MEM", "debugBar.mem.tipUnavailable": "Используемая куча JS по сравнению с лимитом кучи. Только Chromium.", "debugBar.mem.tip": "Используемая куча JS по сравнению с лимитом кучи. {{used}} из {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Принудительно применить стили фокуса ко всем интерактивным элементам", + "debugBar.focus.on": "ВКЛ.", + "debugBar.focus.off": "ВЫКЛ.", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Принудительно задать направление макета всего приложения, не меняя выбранный язык", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", "common.key.ctrl": "Ctrl", "common.key.alt": "Alt", "common.key.shift": "Shift", @@ -1096,7 +1254,7 @@ export const dict = { "error.page.circular": "[Циклично]", "error.serverSDK.noServerAvailable": "Нет доступного сервера", "error.serverSDK.serverNotAvailable": "Сервер недоступен", - "error.childStore.persistedCacheCreateFailed": "Не удалось создать постоянный кэш", + "error.childStore.persistedCacheCreateFailed": "Не удалось создать постоянный кеш", "error.childStore.persistedProjectMetadataCreateFailed": "Не удалось создать постоянные метаданные проекта", "error.childStore.persistedProjectIconCreateFailed": "Не удалось создать постоянный значок проекта", "error.childStore.storeCreateFailed": "Не удалось создать хранилище", diff --git a/packages/app/src/i18n/si.ts b/packages/app/src/i18n/si.ts new file mode 100644 index 000000000000..00ca188b1581 --- /dev/null +++ b/packages/app/src/i18n/si.ts @@ -0,0 +1,1153 @@ +export const dict: Record = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "ගොනුව", + "desktop.menu.edit": "සංස්කරණය කරන්න", + "desktop.menu.view": "බලන්න", + "desktop.menu.go": "යන්න", + "desktop.menu.window": "කවුළුව", + "desktop.menu.help": "උදව්", + "desktop.menu.checkForUpdates": "යාවත්කාලීන සඳහා පරීක්ෂා කරන්න...", + "desktop.menu.settings": "සැකසීම්", + "desktop.menu.reloadWebview": "Webview නැවත පූරණය කරන්න", + "desktop.menu.restart": "යළි අරඹන්න", + "desktop.menu.exportLogs": "ලොග අපනයනය කරන්න...", + "desktop.menu.newSession": "නව සැසිය", + "desktop.menu.openProject": "විවෘත ව්‍යාපෘතිය...", + "desktop.menu.newWindow": "නව කවුළුව", + "desktop.menu.closeWindow": "කවුළුව වසන්න", + "desktop.menu.undo": "අහෝසි කරන්න", + "desktop.menu.redo": "නැවත කරන්න", + "desktop.menu.cut": "කපනවා", + "desktop.menu.copy": "පිටපත් කරන්න", + "desktop.menu.paste": "අලවන්න", + "desktop.menu.delete": "මකන්න", + "desktop.menu.selectAll": "සියල්ල තෝරන්න", + "desktop.menu.toggleSidebar": "පැති තීරුව ටොගල් කරන්න", + "desktop.menu.toggleTerminal": "පර්යන්තය ටොගල් කරන්න", + "desktop.menu.toggleFileTree": "ගොනු ගස ටොගල් කරන්න", + "desktop.menu.reload": "නැවත පූරණය කරන්න", + "desktop.menu.toggleDeveloperTools": "සංවර්ධක මෙවලම් ටොගල් කරන්න", + "desktop.menu.actualSize": "සැබෑ ප්රමාණය", + "desktop.menu.zoomIn": "විශාලනය කරන්න", + "desktop.menu.zoomOut": "විශාලනය කරන්න", + "desktop.menu.toggleFullScreen": "සම්පූර්ණ තිරය ටොගල් කරන්න", + "desktop.menu.back": "ආපසු", + "desktop.menu.forward": "ඉදිරියට", + "desktop.menu.previousSession": "පෙර සැසිය", + "desktop.menu.nextSession": "ඊළඟ සැසිය", + "desktop.menu.previousProject": "පෙර ව්යාපෘතිය", + "desktop.menu.nextProject": "ඊළඟ ව්යාපෘතිය", + "desktop.menu.minimize": "අවම කරන්න", + "desktop.menu.maximize": "උපරිම කරන්න", + "desktop.menu.documentation": "OpenCode ලේඛනගත කිරීම", + "desktop.menu.supportForum": "ආධාරක සංසදය", + "desktop.menu.shareFeedback": "ප්‍රතිපෝෂණ බෙදා ගන්න", + "desktop.menu.reportBug": "දෝෂයක් වාර්තා කරන්න", + "desktop.menu.ariaLabel": "OpenCode මෙනුව", + "desktop.updater.dialog.checkFailed.message": "යාවත්කාලීන පරීක්ෂාව අසාර්ථක විය.", + "desktop.updater.dialog.checkFailed.title": "යාවත්කාලීන දෝෂයකි", + "desktop.updater.dialog.upToDate.message": "ඔබ යාවත්කාලීනයි.", + "desktop.updater.dialog.upToDate.title": "යාවත්කාලීන නැත", + "desktop.updater.dialog.ready.message": "යාවත්කාලීන {{version}} බාගන්නා ලදී. දැන් නැවත ආරම්භ කරන්නද?", + "desktop.updater.dialog.ready.title": "යාවත්කාලීනය සූදානම්", + "desktop.updater.dialog.restart": "යළි අරඹන්න", + "desktop.updater.dialog.later": "පසුව", + "desktop.recovery.action.relaunch": "නැවත දියත් කරන්න", + "desktop.recovery.action.exportLogs": "ලොග් අපනයනය කරන්න", + "desktop.recovery.action.keepWaiting": "දිගටම රැඳී සිටින්න", + "desktop.recovery.action.quit": "ඉවත් වන්න", + "desktop.recovery.loadFailed": "OpenCode පූරණය කිරීමට අසමත් විය", + "desktop.recovery.terminated": "OpenCode කවුළුව අනපේක්ෂිත ලෙස අවසන් විය", + "desktop.recovery.unresponsive": "OpenCode ප්‍රතිචාර නොදක්වයි", + "desktop.recovery.unresponsive.detail": "ඔබට යෙදුම නැවත දියත් කිරීමට, ලඝු-සටහන් විවෘත කිරීමට හෝ රැඳී සිටීමට හැකිය.", + "desktop.recovery.loadFailed.detail": "කවුළුව: {{window}}\nURL: {{url}}\nදෝෂය: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "කවුළුව: {{window}}\nහේතුව: {{reason}}\nකේතය: {{code}}", + "desktop.recovery.unknown": "<නොදන්නා>", + "desktop.dialog.chooseFolder": "ෆෝල්ඩරයක් තෝරන්න", + "desktop.dialog.chooseFile": "ගොනුවක් තෝරන්න", + "desktop.dialog.saveFile": "ගොනුව සුරකින්න", + "desktop.dialog.files": "ගොනු", + "desktop.server.local": "දේශීය සේවාදායකය", + "desktop.wsl.error.windowsOnly": "WSL ඇත්තේ Windows හි පමණි", + "desktop.wsl.error.unavailable": "WSL නොමැත", + "desktop.wsl.error.listInstalled": "ස්ථාපිත WSL බෙදාහැරීම් ලැයිස්තුගත කිරීමට අසමත් විය", + "desktop.wsl.error.listOnline": "සබැඳි WSL බෙදාහැරීම් ලැයිස්තුගත කිරීමට අසමත් විය", + "desktop.wsl.error.executeDistro": "distro හි විධාන ක්‍රියාත්මක කළ නොහැක", + "desktop.wsl.error.installWsl": "WSL ස්ථාපනය අසාර්ථක විය", + "desktop.wsl.error.installDistro": "distro ස්ථාපනය කිරීමට අසමත් විය: {{distro}}", + "desktop.wsl.error.installOpencode": "OpenCode ස්ථාපනය අසාර්ථක විය", + "desktop.wsl.error.alreadyAdded": "{{distro}} දැනටමත් එක් කර ඇත", + "desktop.wsl.error.opencodeMissing": "මෙම distro හි opencode ස්ථාපනය කර නොමැත", + "desktop.wsl.error.opencodeCannotRun": "opencode ස්ථාපනය කර ඇති නමුත් ධාවනය කල නොහැක", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode {{distro}} හි ස්ථාපනය කර නැත", + "desktop.wsl.error.updateVersion": + "OpenCode යාවත්කාලීන කිරීම අවසන් නමුත් {{distro}} තවමත් වාර්තා කරන්නේ {{installed}}; අපේක්ෂිත {{expected}}", + "desktop.wsl.error.noVersion": "අනුවාදයක් නැත", + "desktop.wsl.error.serverExited": "WSL සේවාදායකය ආරම්භයෙන් පසු ඉවත් විය (code={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL සේවාදායකය නිරෝගී වීමට පෙර ඉවත් විය (code={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": "{{distro}} සෞඛ්‍ය පරීක්‍ෂාව සඳහා සයිඩ්කාර් {{timeout}}ms ට පසුව කල් ඉකුත් විය", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} {{timeout}}msට පසුව කාලය අවසන් විය", + "desktop.wsl.error.failedPort": "වරාය ලබා ගැනීමට අසමත් විය", + "desktop.picker.error.notSelected": "ගොනුව තෝරන්නා විසින් තෝරාගෙන නොමැත", + "desktop.picker.error.sizeLimit": "තෝරාගත් ඇමුණුම් {{limit}} MB සීමාව ඉක්මවයි", + "command.category.suggested": "යෝජනා කර ඇත", + "command.category.view": "බලන්න", + "command.category.project": "ව්යාපෘතිය", + "command.category.provider": "සපයන්නා", + "command.category.server": "සේවාදායකය", + "command.category.session": "සැසිය", + "command.category.theme": "තේමාව", + "command.category.language": "භාෂාව", + "command.category.file": "ගොනුව", + "command.category.context": "සන්දර්භය", + "command.category.terminal": "පර්යන්තය", + "command.category.model": "ආකෘතිය", + "command.category.mcp": "MCP", + "command.category.agent": "නියෝජිතයා", + "command.category.permissions": "අවසර", + "command.category.workspace": "වැඩබිම", + "command.category.settings": "සැකසීම්", + "command.logs.export": "ලොග් අපනයනය කරන්න", + "theme.scheme.system": "පද්ධතිය", + "theme.scheme.light": "ආලෝකය", + "theme.scheme.dark": "අඳුරු", + "command.sidebar.toggle": "පැති තීරුව ටොගල් කරන්න", + "command.project.open": "විවෘත ව්යාපෘතිය", + "command.project.previous": "පෙර ව්යාපෘතිය", + "command.project.next": "ඊළඟ ව්යාපෘතිය", + "command.project.index": "{{index}} ව්‍යාපෘතියට මාරු වන්න", + "command.provider.connect": "සපයන්නා සම්බන්ධ කරන්න", + "command.server.switch": "සේවාදායකය මාරු කරන්න", + "command.settings.open": "සැකසුම් විවෘත කරන්න", + "command.session.previous": "පෙර සැසිය", + "command.session.next": "ඊළඟ සැසිය", + "command.session.previous.unseen": "පෙර නොකියවූ සැසිය", + "command.session.next.unseen": "ඊළඟ නොකියවූ සැසිය", + "command.session.archive": "සංරක්ෂිත සැසිය", + "command.palette": "විධාන පුවරුව", + "command.theme.cycle": "සයිකල් තේමාව", + "command.theme.set": "තේමාව භාවිතා කරන්න: {{theme}}", + "command.theme.scheme.cycle": "චක්‍ර වර්ණ පටිපාටිය", + "command.theme.scheme.set": "වර්ණ පටිපාටිය භාවිතා කරන්න: {{scheme}}", + "command.language.cycle": "චක්‍ර භාෂාව", + "command.language.set": "භාෂාව භාවිතා කරන්න: {{language}}", + "command.session.new": "නව සැසිය", + "command.file.open": "ගොනුව විවෘත කරන්න", + "command.tab.close": "ටැබ් එක වසන්න", + "command.tab.reopenClosed": "වසා දැමූ ටැබය නැවත විවෘත කරන්න", + "command.context.addSelection": "සන්දර්භයට තේරීම එක් කරන්න", + "command.context.addSelection.description": "වත්මන් ගොනුවෙන් තෝරාගත් රේඛා එක් කරන්න", + "command.input.focus": "අවධානය යොමු කරන්න", + "command.terminal.toggle": "පර්යන්තය ටොගල් කරන්න", + "command.fileTree.toggle": "ගොනු ගස ටොගල් කරන්න", + "command.review.toggle": "සමාලෝචනය ටොගල් කරන්න", + "command.terminal.new": "නව පර්යන්තය", + "command.terminal.new.description": "නව පර්යන්ත පටිත්තක් සාදන්න", + "command.steps.toggle": "පියවර ටොගල් කරන්න", + "command.steps.toggle.description": "වත්මන් පණිවිඩය සඳහා පියවර පෙන්වන්න හෝ සඟවන්න", + "command.message.previous": "පෙර පණිවිඩය", + "command.message.previous.description": "පෙර පරිශීලක පණිවිඩයට යන්න", + "command.message.next": "ඊළඟ පණිවිඩය", + "command.message.next.description": "ඊළඟ පරිශීලක පණිවිඩයට යන්න", + "command.model.choose": "ආකෘතිය තෝරන්න", + "command.model.choose.description": "වෙනස් ආකෘතියක් තෝරන්න", + "command.mcp.toggle": "MCPs ටොගල් කරන්න", + "command.mcp.toggle.description": "MCPs ටොගල් කරන්න", + "command.agent.cycle": "සයිකල් නියෝජිතයා", + "command.agent.cycle.description": "ඊළඟ නියෝජිතයා වෙත මාරු වන්න", + "command.agent.cycle.reverse": "සයිකල් නියෝජිතයා පසුපසට", + "command.agent.cycle.reverse.description": "පෙර නියෝජිතයා වෙත මාරු වන්න", + "command.model.variant.cycle": "චක්‍රීය චින්තන උත්සාහය", + "command.model.variant.cycle.description": "ඊළඟ උත්සාහ මට්ටමට මාරු වන්න", + "command.prompt.mode.shell": "ෂෙල්", + "command.prompt.mode.normal": "ප්‍රොම්ප්ට්", + "command.permissions.autoaccept.enable": "අවසර ස්වයංක්‍රීයව පිළිගන්න", + "command.permissions.autoaccept.disable": "අවසර ස්වයංක්‍රීයව පිළිගැනීම නවත්වන්න", + "command.workspace.toggle": "වැඩබිම් ටොගල් කරන්න", + "command.workspace.toggle.description": "පැති තීරුවේ වැඩබිම් කිහිපයක් සබල හෝ අබල කරන්න", + "command.session.undo": "අහෝසි කරන්න", + "command.session.undo.description": "අවසාන පණිවිඩය අහෝසි කරන්න", + "command.session.redo": "නැවත කරන්න", + "command.session.redo.description": "අවසන් අවලංගු කළ පණිවිඩය නැවත කරන්න", + "command.session.compact": "සංයුක්ත සැසිය", + "command.session.compact.description": "සන්දර්භය ප්‍රමාණය අඩු කිරීමට සැසිය සාරාංශ කරන්න", + "command.session.fork": "පණිවිඩයෙන් දෙබලක", + "command.session.fork.description": "පෙර පණිවිඩයකින් නව සැසියක් සාදන්න", + "command.session.share": "සැසිය බෙදා ගන්න", + "command.session.share.description": "මෙම සැසිය බෙදාගෙන URL පසුරු පුවරුවට පිටපත් කරන්න", + "command.session.unshare": "සැසිය බෙදා නොගන්න", + "command.session.unshare.description": "මෙම සැසිය බෙදා ගැනීම නවත්වන්න", + "command.session.export": "අපනයන සැසිය", + "command.session.export.description": "සම්පූර්ණ සැසි පිටපත JSON ලෙස නිර්යාත කරන්න", + "palette.search.placeholder": "ගොනු, විධාන සහ සැසි සොයන්න", + "palette.search.placeholder.home": "සෙවුම් විධාන සහ සැසි", + "palette.empty": "ප්‍රතිඵල හමු නොවිණි", + "palette.group.commands": "විධාන", + "palette.group.files": "ගොනු", + "dialog.provider.search.placeholder": "සෙවුම් සපයන්නන්", + "dialog.provider.empty": "සපයන්නන් හමු නොවීය", + "dialog.provider.group.popular": "ජනප්‍රියයි", + "dialog.provider.group.other": "වෙනත්", + "dialog.provider.custom.label": "අභිරුචි OpenAI-අනුකූල සැපයුම්කරු", + "dialog.provider.tag.recommended": "නිර්දේශ කර ඇත", + "dialog.provider.opencode.note": "Claude, GPT, Gemini සහ තවත් දේ ඇතුළුව සංවෘත ආකෘති", + "dialog.provider.opencode.tagline": "විශ්වසනීය ප්රශස්ත මාදිලි", + "dialog.provider.opencodeGo.tagline": "සෑම කෙනෙකුටම අඩු වියදම් දායකත්වයක්", + "dialog.provider.anthropic.note": "Pro සහ Max ඇතුළුව Claude මාදිලි වෙත සෘජු ප්‍රවේශය", + "dialog.provider.copilot.note": "GitHub Copilot හරහා කේතීකරණ සහාය සඳහා AI ආකෘති", + "dialog.provider.openai.note": "වේගවත්, හැකියාව ඇති සාමාන්‍ය AI කාර්යයන් සඳහා GPT මාදිලි", + "dialog.provider.google.note": "වේගවත්, ව්‍යුහගත ප්‍රතිචාර සඳහා Gemini ආකෘති", + "dialog.provider.openrouter.note": "එක් සැපයුම්කරුවෙකුගෙන් සියලුම සහාය දක්වන මාදිලි වෙත ප්‍රවේශ වන්න", + "dialog.provider.vercel.note": "ස්මාර්ට් රවුටින් සමඟ AI මාදිලි සඳහා ඒකාබද්ධ ප්‍රවේශය", + "dialog.model.select.title": "ආකෘතිය තෝරන්න", + "dialog.model.search.placeholder": "සෙවුම් ආකෘති", + "dialog.model.empty": "ආදර්ශ ප්‍රතිඵල නැත", + "dialog.model.manage": "ආකෘති කළමනාකරණය කරන්න", + "dialog.model.manage.description": "ආකෘති තේරීම්කාරකයේ දිස්වන මාදිලි අභිරුචිකරණය කරන්න.", + "dialog.model.manage.provider.toggle": "සියලුම {{provider}} මාදිලි ටොගල් කරන්න", + "dialog.model.unpaid.freeModels.title": "OpenCode මඟින් සපයනු ලබන නිදහස් මාදිලි", + "dialog.model.unpaid.addMore.title": "ජනප්‍රිය සැපයුම්කරුවන්ගෙන් තවත් ආකෘති එක් කරන්න", + "dialog.model.unpaid.viewMoreProviders": "තවත් සපයන්නන් 70+ බලන්න", + "dialog.provider.viewAll": "තවත් සපයන්නන් පෙන්වන්න", + "provider.connect.title": "{{provider}} සම්බන්ධ කරන්න", + "provider.connect.title.anthropicProMax": "Claude Pro/Max සමඟින් පුරනය වන්න", + "provider.connect.selectMethod": "{{provider}} සඳහා පිවිසුම් ක්‍රමය තෝරන්න.", + "provider.connect.method.apiKey": "API යතුර", + "provider.connect.method.browser": "බ්රවුසරය", + "provider.connect.method.headless": "හිස නැති", + "provider.connect.status.inProgress": "අවසරය ක්‍රියාත්මක වෙමින් පවතී...", + "provider.connect.status.waiting": "අවසරය සඳහා රැඳී සිටිමින්...", + "provider.connect.status.failed": "අවසරය අසාර්ථක විය: {{error}}", + "provider.connect.apiKey.description": + "ඔබගේ ගිණුම සම්බන්ධ කිරීමට ඔබගේ {{provider}} API යතුර ඇතුලත් කරන්න සහ OpenCode හි {{provider}} මාදිලි භාවිතා කරන්න.", + "provider.connect.apiKey.label": "{{provider}} API යතුර", + "provider.connect.apiKey.placeholder": "API යතුර", + "provider.connect.apiKey.required": "API යතුර අවශ්‍යයි", + "provider.connect.opencodeZen.line1": + "OpenCode Zen ඔබට කේතීකරණ නියෝජිතයන් සඳහා විශ්වාසදායක ප්‍රශස්ත මාදිලි සමූහයකට ප්‍රවේශය ලබා දෙයි.", + "provider.connect.opencodeZen.line2": + "තනි API යතුරක් සමඟින් ඔබට Claude, GPT, Gemini, GLM සහ තවත් ආකෘති වෙත ප්‍රවේශය ලැබෙනු ඇත.", + "provider.connect.opencodeZen.visit.prefix": "පිවිසෙන්න", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": "ඔබගේ API යතුර එකතු කිරීමට.", + "provider.connect.oauth.code.visit.prefix": "පිවිසෙන්න", + "provider.connect.oauth.code.visit.link": "මෙම සබැඳිය", + "provider.connect.oauth.code.visit.suffix": + "ඔබගේ ගිණුම සම්බන්ධ කිරීමට සහ OpenCode හි {{provider}} මාදිලි භාවිතා කිරීමට ඔබගේ අවසර කේතය එකතු කිරීමට.", + "provider.connect.oauth.code.label": "{{method}} අවසර කේතය", + "provider.connect.oauth.code.placeholder": "අවසර කේතය", + "provider.connect.oauth.code.required": "අවසර කේතය අවශ්ය වේ", + "provider.connect.oauth.code.invalid": "වලංගු නොවන අවසර කේතය", + "provider.connect.oauth.auto.visit.prefix": "පිවිසෙන්න", + "provider.connect.oauth.auto.visit.link": "මෙම සබැඳිය", + "provider.connect.oauth.auto.visit.suffix": + "සහ ඔබගේ ගිණුම සම්බන්ධ කිරීමට පහත කේතය ඇතුළු කර {{provider}} මාදිලි OpenCode තුළ භාවිතා කරන්න.", + "provider.connect.oauth.auto.confirmationCode": "තහවුරු කිරීමේ කේතය", + "provider.connect.toast.connected.title": "{{provider}} සම්බන්ධයි", + "provider.connect.toast.connected.description": "{{provider}} මාදිලි දැන් භාවිතා කිරීමට තිබේ.", + "provider.custom.title": "අභිරුචි සපයන්නා", + "provider.custom.unavailable": "අභිරුචි සපයන්නන් මෙම සේවාදායකයේ නොමැත", + "provider.custom.description.prefix": "OpenAI-අනුකූල සැපයුම්කරුවෙකු වින්‍යාස කරන්න. බලන්න", + "provider.custom.description.link": "සපයන්නාගේ වින්‍යාස ලේඛන", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "සපයන්නාගේ හැඳුනුම්පත", + "provider.custom.field.providerID.placeholder": "myprovider", + "provider.custom.field.providerID.description": "කුඩා අකුරු, ඉලක්කම්, ඉරි, හෝ යටි ඉරි", + "provider.custom.field.name.label": "ප්රදර්ශන නාමය", + "provider.custom.field.name.placeholder": "මගේ AI සපයන්නා", + "provider.custom.field.baseURL.label": "පාදක URL", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "API යතුර", + "provider.custom.field.apiKey.placeholder": "API යතුර", + "provider.custom.field.apiKey.description": "විකල්ප. ඔබ ශීර්ෂ හරහා සත්‍යාපනය කළමනාකරණය කරන්නේ නම් හිස්ව තබන්න.", + "provider.custom.models.label": "ආකෘති", + "provider.custom.models.id.label": "හැඳුනුම්පත", + "provider.custom.models.id.placeholder": "ආදර්ශ-id", + "provider.custom.models.name.label": "නම", + "provider.custom.models.name.placeholder": "ප්රදර්ශන නාමය", + "provider.custom.models.remove": "ආකෘතිය ඉවත් කරන්න", + "provider.custom.models.add": "ආකෘතිය එකතු කරන්න", + "provider.custom.headers.label": "ශීර්ෂ (විකල්ප)", + "provider.custom.headers.key.label": "ශීර්ෂකය", + "provider.custom.headers.key.placeholder": "ශීර්ෂය-නම", + "provider.custom.headers.value.label": "වටිනාකම", + "provider.custom.headers.value.placeholder": "වටිනාකම", + "provider.custom.headers.remove": "ශීර්ෂකය ඉවත් කරන්න", + "provider.custom.headers.add": "ශීර්ෂකය එක් කරන්න", + "provider.custom.error.providerID.required": "සපයන්නාගේ හැඳුනුම්පත අවශ්‍යයි", + "provider.custom.error.providerID.format": "කුඩා අකුරු, ඉලක්කම්, ඉරි, හෝ යටි ඉරි භාවිතා කරන්න", + "provider.custom.error.providerID.exists": "එම සැපයුම්කරු හැඳුනුම්පත දැනටමත් පවතී", + "provider.custom.error.name.required": "සංදර්ශක නම අවශ්ය වේ", + "provider.custom.error.baseURL.required": "පදනම URL අවශ්‍යයි", + "provider.custom.error.baseURL.format": "http:// හෝ https:// සමඟින් ආරම්භ කළ යුතුය", + "provider.custom.error.required": "අවශ්යයි", + "provider.custom.error.duplicate": "අනුපිටපත් කරන්න", + "provider.disconnect.toast.disconnected.title": "{{provider}} විසන්ධි විය", + "provider.disconnect.toast.disconnected.description": "{{provider}} මාදිලි තවදුරටත් නොමැත.", + "model.tag.free": "නොමිලේ", + "model.tag.latest": "නවතම", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "පෙළ", + "model.input.image": "රූපය", + "model.input.audio": "ශ්රව්ය", + "model.input.video": "වීඩියෝ", + "model.input.pdf": "pdf", + "model.tooltip.allows": "ඉඩ දෙයි: {{inputs}}", + "model.tooltip.context.label": "සන්දර්භය", + "model.tooltip.inputs": "යෙදවුම්", + "model.tooltip.model": "ආකෘතිය", + "model.tooltip.provider": "සපයන්නා", + "model.tooltip.reasoning": "තර්ක කිරීම", + "model.tooltip.reasoning.allowed": "තර්ක කිරීමට ඉඩ දෙයි", + "model.tooltip.reasoning.none": "තර්කයක් නැත", + "model.tooltip.context": "සන්දර්භය සීමාව {{limit}}", + "common.search.placeholder": "සොයන්න", + "common.goBack": "ආපසු සංචාලනය කරන්න", + "common.goForward": "ඉදිරියට ගමන් කරන්න", + "common.loading": "පැටවීම", + "common.loading.ellipsis": "...", + "common.cancel": "අවලංගු කරන්න", + "common.clear": "පැහැදිලියි", + "common.open": "විවෘත කරන්න", + "common.connect": "සම්බන්ධ කරන්න", + "common.disconnect": "විසන්ධි කරන්න", + "common.continue": "දිගටම කරගෙන යන්න", + "common.submit": "ඉදිරිපත් කරන්න", + "common.save": "සුරකින්න", + "common.saving": "සුරකිමින්...", + "common.default": "පෙරනිමිය", + "common.attachment": "ඇමුණුම", + "prompt.placeholder.shell": "ෂෙල් විධානය ඇතුළත් කරන්න... {{example}}", + "prompt.placeholder.normal": 'ඕනෑම දෙයක් අසන්න... "{{example}}"', + "prompt.placeholder.simple": "ඕන දෙයක් අහන්න...", + "prompt.placeholder.summarizeComments": "අදහස් සාරාංශ කරන්න...", + "prompt.placeholder.summarizeComment": "අදහස් සාරාංශ කරන්න...", + "prompt.mode.shell": "ෂෙල්", + "prompt.mode.normal": "ප්‍රොම්ප්ට්", + "prompt.mode.shell.exit": "පිටවීමට esc", + "session.child.promptDisabled": "උපකාරක සැසි ඉල්ලා සිටිය නොහැක.", + "session.child.backToParent": "ප්‍රධාන සැසිය වෙත ආපසු.", + "prompt.example.1": "කේත පදනමේ TODO එකක් සවි කරන්න", + "prompt.example.2": "මෙම ව්‍යාපෘතියේ තාක්ෂණික තොගය කුමක්ද?", + "prompt.example.3": "කැඩුණු පරීක්ෂණ නිවැරදි කරන්න", + "prompt.example.4": "සත්‍යාපනය ක්‍රියාත්මක වන ආකාරය පැහැදිලි කරන්න", + "prompt.example.5": "ආරක්ෂක දුර්වලතා සොයාගෙන නිවැරදි කරන්න", + "prompt.example.6": "පරිශීලක සේවාව සඳහා ඒකක පරීක්ෂණ එක් කරන්න", + "prompt.example.7": "මෙම ශ්‍රිතය වඩාත් කියවිය හැකි ලෙස නැවත සකස් කරන්න", + "prompt.example.8": "මෙම දෝෂය අදහස් කරන්නේ කුමක්ද?", + "prompt.example.9": "මෙම ගැටලුව නිදොස් කිරීමට මට උදවු කරන්න", + "prompt.example.10": "API ලේඛන උත්පාදනය කරන්න", + "prompt.example.11": "දත්ත සමුදා විමසුම් ප්‍රශස්ත කරන්න", + "prompt.example.12": "ආදාන වලංගුකරණය එක් කරන්න", + "prompt.example.13": "සඳහා නව සංරචකයක් සාදන්න...", + "prompt.example.14": "මම මෙම ව්‍යාපෘතිය යොදවන්නේ කෙසේද?", + "prompt.example.15": "හොඳම භාවිතයන් සඳහා මගේ කේතය සමාලෝචනය කරන්න", + "prompt.example.16": "මෙම කාර්යයට දෝෂ හැසිරවීම එක් කරන්න", + "prompt.example.17": "මෙම regex රටාව පැහැදිලි කරන්න", + "prompt.example.18": "මෙය TypeScript වෙත පරිවර්තනය කරන්න", + "prompt.example.19": "කේත පදනම පුරා ලොග් වීම එක් කරන්න", + "prompt.example.20": "යල් පැන ගිය පරායත්තතා මොනවාද?", + "prompt.example.21": "සංක්‍රමණ පිටපතක් ලිවීමට මට උදවු කරන්න", + "prompt.example.22": "මෙම අන්ත ලක්ෂ්‍යය සඳහා හැඹිලිගත කිරීම ක්‍රියාත්මක කරන්න", + "prompt.example.23": "මෙම ලැයිස්තුවට පිටුව එකතු කරන්න", + "prompt.example.24": "සඳහා CLI විධානයක් සාදන්න...", + "prompt.example.25": "පරිසර විචල්‍යයන් මෙහි ක්‍රියා කරන්නේ කෙසේද?", + "prompt.popover.emptyResults": "ගැළපෙන ප්‍රතිඵල නැත", + "prompt.popover.emptyCommands": "ගැළපෙන විධාන නොමැත", + "prompt.dropzone.label": "පින්තූර, PDF හෝ පෙළ ගොනු මෙහි දමන්න", + "prompt.dropzone.file.label": "@mention ගොනුව වෙත ඇද දමන්න", + "prompt.slash.badge.custom": "චාරිත්රය", + "prompt.slash.badge.skill": "දක්ෂතාවය", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "ක්රියාකාරී", + "prompt.context.includeActiveFile": "සක්රිය ගොනුව ඇතුළත් කරන්න", + "prompt.context.removeActiveFile": "සක්‍රිය ගොනුව සන්දර්භයෙන් ඉවත් කරන්න", + "prompt.context.removeFile": "සන්දර්භය වෙතින් ගොනුව ඉවත් කරන්න", + "prompt.action.attachFile": "ගොනු එකතු කරන්න", + "prompt.menu.addImagesAndFiles": "ගොනු සහ තවත් දේ එක් කරන්න", + "prompt.menu.imagesAndFiles": "පින්තූර සහ ගොනු", + "prompt.menu.commands": "විධාන", + "prompt.menu.context": "සන්දර්භය", + "prompt.menu.shellCommand": "ෂෙල් විධානය", + "prompt.attachment.remove": "ඇමුණුම ඉවත් කරන්න", + "prompt.action.send": "යවන්න", + "prompt.action.stop": "නවත්වන්න", + "prompt.toast.pasteUnsupported.title": "සහාය නොදක්වන ඇමුණුම", + "prompt.toast.pasteUnsupported.description": "පින්තූර, PDF හෝ පෙළ ගොනු පමණක් මෙහි ඇමිණිය හැක.", + "prompt.toast.attachmentDuplicate.title": "මෙම ගොනුව දැනටමත් උඩුගත කර ඇත", + "prompt.toast.modelAgentRequired.title": "නියෝජිතයෙකු සහ ආකෘතියක් තෝරන්න", + "prompt.toast.modelAgentRequired.description": "ප්‍රොම්ප්ට් එකක් යැවීමට පෙර නියෝජිතයෙකු සහ ආකෘතියක් තෝරන්න.", + "prompt.toast.worktreeCreateFailed.title": "Git වර්ක්ට්‍රී එකක් සෑදීමට අසමත් විය", + "prompt.toast.sessionCreateFailed.title": "සැසිය සෑදීමට අසමත් විය", + "prompt.toast.shellSendFailed.title": "ෂෙල් විධානය යැවීමට අසමත් විය", + "prompt.toast.commandSendFailed.title": "විධානය යැවීමට අසමත් විය", + "prompt.toast.promptSendFailed.title": "ප්‍රොම්ප්ට් එක යැවීමට අසමත් විය", + "prompt.toast.promptSendFailed.description": "සැසිය ලබා ගැනීමට නොහැකි විය", + "dialog.mcp.title": "MCPs", + "dialog.mcp.description": "{{total}} න් {{enabled}} සබලයි", + "dialog.mcp.empty": "MCPs වින්‍යාස කර නැත", + "dialog.lsp.empty": "LSPs ගොනු වර්ග වලින් ස්වයංක්‍රීයව අනාවරණය කර ඇත", + "dialog.plugins.empty": "ප්ලගීන opencode.json හි වින්‍යාස කර ඇත", + "mcp.status.connected": "සම්බන්ධයි", + "mcp.status.failed": "අසාර්ථක විය", + "mcp.status.needs_auth": "auth අවශ්‍යයි", + "mcp.status.disabled": "ආබාධිතයි", + "mcp.auth.clickToAuthenticate": "සත්‍යාපනය කිරීමට ක්ලික් කරන්න", + "dialog.fork.empty": "ෆෝක් කිරීමට පණිවිඩ නැත", + "dialog.directory.search.placeholder": "ෆෝල්ඩර සොයන්න", + "dialog.directory.empty": "ෆෝල්ඩර හමු නොවීය", + "dialog.directory.action.selectFile": "ගොනුව තෝරන්න", + "dialog.directory.action.selectFolder": "ෆෝල්ඩරය තෝරන්න", + "dialog.directory.root": "මූල", + "dialog.directory.parent": "දෙමාපිය", + "dialog.directory.readError": "මෙම ෆෝල්ඩරය කියවීමට නොහැක", + "app.server.unreachable": "{{server}} වෙත ළඟා විය නොහැක", + "app.server.retrying": "ස්වයංක්‍රීයව නැවත උත්සාහ කරමින්...", + "app.server.otherServers": "වෙනත් සේවාදායකයන්", + "dialog.server.title": "සේවාදායකයන්", + "dialog.server.description": "මෙම යෙදුම සම්බන්ධ වන්නේ කුමන OpenCode සේවාදායකයටද යන්න මාරු කරන්න.", + "dialog.server.search.placeholder": "සර්වර් සොයන්න", + "dialog.server.empty": "තවමත් සේවාදායකයන් නොමැත", + "dialog.server.add.title": "සේවාදායකය එක් කරන්න", + "dialog.server.add.url": "සේවාදායක ලිපිනය", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "සේවාදායකයට සම්බන්ධ වීමට නොහැකි විය", + "dialog.server.add.checking": "පරීක්ෂා කරමින්...", + "dialog.server.add.button": "සේවාදායකය එක් කරන්න", + "dialog.server.add.name": "සේවාදායකයේ නම (විකල්ප)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "පරිශීලක නාමය (විකල්ප)", + "dialog.server.add.usernamePlaceholder": "පරිශීලක නාමය", + "dialog.server.add.password": "මුරපදය (විකල්ප)", + "dialog.server.add.passwordPlaceholder": "මුරපදය", + "dialog.server.edit.title": "සේවාදායකය සංස්කරණය කරන්න", + "dialog.server.default.title": "පෙරනිමි සේවාදායකය", + "dialog.server.default.description": + "දේශීය සේවාදායකයක් ආරම්භ කිරීම වෙනුවට යෙදුම් දියත් කිරීමේදී මෙම සේවාදායකයට සම්බන්ධ කරන්න. නැවත ආරම්භ කිරීම අවශ්‍ය වේ.", + "dialog.server.default.none": "සේවාදායකයක් තෝරා නැත", + "dialog.server.default.set": "වත්මන් සේවාදායකය පෙරනිමිය ලෙස සකසන්න", + "dialog.server.default.clear": "පැහැදිලියි", + "dialog.server.action.remove": "සේවාදායකය ඉවත් කරන්න", + "dialog.server.menu.edit": "සංස්කරණය කරන්න", + "dialog.server.menu.default": "පෙරනිමිය ලෙස සකසන්න", + "dialog.server.menu.defaultRemove": "පෙරනිමිය ඉවත් කරන්න", + "dialog.server.menu.delete": "මකන්න", + "dialog.server.current": "වත්මන් සේවාදායකය", + "dialog.server.status.default": "පෙරනිමිය", + "wsl.server.add": "WSL සේවාදායකය එක් කරන්න", + "wsl.server.addShort": "WSL එක් කරන්න", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "WSL සේවාදායකය", + "wsl.server.retryStart": "නැවත ආරම්භ කිරීමට උත්සාහ කරන්න", + "wsl.server.updating": "යාවත්කාලීන කරමින්...", + "wsl.onboarding.step.distro": "ඩිස්ට්‍රෝ තෝරන්න", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "WSL පරීක්ෂා කරමින්...", + "wsl.onboarding.restartRequired": "WSL ස්ථාපනය අවසන් කිරීමට Windows හට නැවත ආරම්භයක් අවශ්‍ය වේ.", + "wsl.onboarding.ready": "WSL සූදානම්.", + "wsl.onboarding.required": "දිගටම කරගෙන යාමට WSL අවශ්‍යයි.", + "wsl.onboarding.checkingDistros": "බෙදාහැරීම් පරීක්ෂා කරමින්...", + "wsl.onboarding.installingDistro": "{{distro}} ස්ථාපනය කරමින්...", + "wsl.onboarding.checkingDistro": "{{distro}} පරීක්ෂා කරමින්...", + "wsl.onboarding.listingDistros": "බෙදාහැරීම් ලැයිස්තුගත කරමින්...", + "wsl.onboarding.distroReady": "{{distro}} සූදානම්.", + "wsl.onboarding.distroNotInstalled": "{{distro}} තවම ස්ථාපනය කර නැත.", + "wsl.onboarding.openDistroOnce": "පිහිටුවීම අවසන් කිරීමට {{distro}} වරක් විවෘත කරන්න.", + "wsl.onboarding.finishingDistro": "{{distro}} සඳහා පිහිටුවීම අවසන් කරමින්.", + "wsl.onboarding.pickDistro": "ඩිස්ට්‍රෝ එකක් තෝරන්න හෝ පහත එකක් ස්ථාපනය කරන්න.", + "wsl.onboarding.checkingOpencode": "OpenCode පරීක්ෂා කරමින්...", + "wsl.onboarding.checkingOpencodeIn": "{{distro}} හි OpenCode පරීක්ෂා කරමින්...", + "wsl.onboarding.updatingOpencode": "OpenCode යාවත්කාලීන කරමින්...", + "wsl.onboarding.updatingOpencodeIn": "{{distro}} හි OpenCode යාවත්කාලීන කරමින්...", + "wsl.onboarding.updateOpencodeIn": "{{distro}} හි OpenCode යාවත්කාලීන කරන්න.", + "wsl.onboarding.updateOpencode": "OpenCode යාවත්කාලීන කරන්න", + "wsl.onboarding.opencodeReadyIn": "OpenCode {{distro}} හි සූදානම්ය.", + "wsl.onboarding.opencodeReady": "OpenCode සූදානම්.", + "wsl.onboarding.installOpencodeIn": "{{distro}} හි OpenCode ස්ථාපනය කරන්න.", + "wsl.onboarding.installOpencode": "OpenCode ස්ථාපනය කරන්න", + "wsl.onboarding.chooseDistroFirst": "මුලින්ම ඩිස්ට්‍රෝ එකක් තෝරන්න.", + "wsl.onboarding.loadFailed": "WSL තත්ත්වය පූරණය කිරීමට අසමත් විය.", + "wsl.onboarding.loading": "පූරණය වෙමින්...", + "wsl.onboarding.installedDistros": "ස්ථාපිත distros", + "wsl.onboarding.checkAgain": "නැවත පරීක්ෂා කරන්න", + "wsl.onboarding.distroStatus.ready": "සූදානම්", + "wsl.onboarding.distroStatus.checking": "පරීක්ෂා කරමින්...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode ස්ථාපනය කර නැත", + "wsl.onboarding.distroStatus.missingTools": "නැති bash, curl", + "wsl.onboarding.distroStatus.unsupported": "සහාය නොදක්වයි · WSL 2 භාවිතා කරන්න", + "wsl.onboarding.needAnotherDistro": "තවත් බෙදාහැරීමක් අවශ්‍යද?", + "wsl.onboarding.needAnotherDistroHint": "WSL නාමාවලියෙන් Linux බෙදාහැරීමක් ස්ථාපනය කරන්න", + "wsl.onboarding.wslNotInstalled.title": "WSL ස්ථාපනය කර නැත", + "wsl.onboarding.wslNotInstalled.description": + "WSL (Windows Linux සඳහා උප පද්ධතිය) OpenCode WSL සේවාදායකයක් එක් කිරීමට පෙර අවශ්‍ය වේ", + "wsl.onboarding.wslUnavailable.title": "WSL නොමැත", + "wsl.onboarding.wslUnavailable.description": "OpenCode හට මෙම යන්ත්‍රයේ WSL සත්‍යාපනය කළ නොහැක.", + "wsl.onboarding.installWsl": "WSL ස්ථාපනය කරන්න", + "wsl.onboarding.windowsRestartRequired": + "WSL ස්ථාපනය අවසන් කිරීමට Windows නැවත අරඹන්න, පසුව OpenCode නැවත විවෘත කරන්න.", + "wsl.onboarding.next": "ඊළඟ", + "wsl.onboarding.refresh": "නැවුම් කරන්න", + "wsl.onboarding.allDistrosAdded": "ස්ථාපිත සියලුම බෙදාහැරීම් දැනටමත් එකතු කර ඇත.", + "wsl.onboarding.noDistros": "තවමත් distros අනාවරණය කර ගෙන නොමැත.", + "wsl.onboarding.install": "ස්ථාපනය කරන්න", + "wsl.onboarding.installing": "ස්ථාපනය කරමින්...", + "wsl.onboarding.installDistro": "distro ස්ථාපනය කරන්න", + "wsl.onboarding.searchDistros": "බෙදාහැරීම් සොයන්න", + "wsl.onboarding.wsl2Required": "WSL 2 අවශ්‍යයි.", + "wsl.onboarding.toolsRequired": "මේ distro එකට bash සහ curl අවශ්‍යයි.", + "wsl.onboarding.openTerminal": "ටර්මිනලය විවෘත කරන්න", + "wsl.onboarding.path": "මාර්ගය: {{path}}", + "wsl.onboarding.notFound": "හමු වුණේ නැහැ", + "wsl.onboarding.version": "අනුවාදය: {{version}}", + "wsl.onboarding.unknown": "නොදන්නා", + "wsl.onboarding.desktopVersion": "ඩෙස්ක්ටොප් {{version}}", + "wsl.onboarding.versionMismatch": "ස්ථාපිත අනුවාදය ඩෙස්ක්ටොප් යෙදුම් අනුවාදයට නොගැලපේ.", + "wsl.onboarding.adding": "එකතු කරමින්...", + "help.tabs.toast.ariaLabel": "ටැබ් හඳුන්වා දීම. ටැබ් සමඟ ඔබේ වැඩ සහ සක්‍රිය සැසි සංවිධානය කරන්න", + "help.tabs.toast.dismiss": "ටැබ් තොරතුරු ඉවතලන්න", + "help.tabs.title": "ටැබ් හඳුන්වා දීම", + "help.tabs.description": "ටැබ් සමඟ ඔබේ වැඩ සහ සක්‍රිය සැසි සංවිධානය කරන්න", + "help.tabs.date": "ජූලි 14", + "help.tabs.introduction": "OpenCode ඩෙස්ක්ටොප් එක දැන් ටැබ් වටා ගොඩනගා ඇත.", + "help.tabs.sessions": + "ටැබ් එකක නව සැසියක් ආරම්භ කරන්න, නැතහොත් ඔබේ ඕනෑම ව්‍යාපෘතියකින් පවතින සැසියක් විවෘත කරන්න. ඔබ අලුත් දෙයක් ආරම්භ කරන විට නව ටැබ් එකක් විවෘත කරන්න, ඔබ අවසන් වූ පසු එය වසා දමන්න.", + "help.tabs.organize": + "ටැබ් කිහිපයක් විවෘතව තබා ගැනීම ඔබගේ සක්‍රිය සැසි සංවිධානය කිරීම පහසු කරයි. ඔබ ඒවා අවට තබා ගැනීමට අදහස් කරන්නේ නම් අමතක නොවන දෙයකට ටැබ් නැවත නම් කරන්න.", + "help.tabs.home": + "ඔබ ඔබගේ සියලුම සැසි සහ ව්‍යාපෘති නව මුල් තිරය මත සොයා ගනු ඇත. සැසියක් තේරීමෙන් එය ටැබ් එකකින් විවෘත වේ.", + "help.tabs.persistence": "ඔබ යෙදුම නැවත විවෘත කරන විට, ඔබේ ටැබ් තවමත් විවෘතයි.", + "help.tabs.worktrees": + "නව සැලසුම තවමත් Git Worktrees සඳහා සහය නොදක්වයි, එය ඉක්මනින් පැමිණේ. එබැවින් ඔබ පෙර පිරිසැලසුම දිගටම භාවිතා කිරීමට කැමති නම්, ඔබට සැකසීම් තුළ පිරිසැලසුම් අතර මාරු විය හැක. නව පිරිසැලසුම සති කිහිපයකින් ස්ථිර වනු ඇති බව මතක තබා ගන්න.", + "server.row.noUsername": "පරිශීලක නාමයක් නැත", + "dialog.project.edit.title": "ව්‍යාපෘතිය සංස්කරණය කරන්න", + "dialog.project.edit.name": "නම", + "dialog.project.edit.icon": "නිරූපකය", + "dialog.project.edit.icon.alt": "ව්යාපෘති නිරූපකය", + "dialog.project.edit.icon.hint": "පින්තූරයක් ක්ලික් කරන්න හෝ අදින්න", + "dialog.project.edit.icon.recommended": "නිර්දේශිත: 128x128px", + "dialog.project.edit.color": "වර්ණය", + "dialog.project.edit.color.select": "{{color}} වර්ණය තෝරන්න", + "dialog.project.edit.worktree.startup": "වැඩබිම් ආරම්භක ස්ක්‍රිප්ට්", + "dialog.project.edit.worktree.startup.description": "නව වැඩබිමක් (Git වර්ක්ට්‍රී) සෑදීමෙන් පසු ධාවනය වේ.", + "dialog.project.edit.worktree.startup.placeholder": "උදා. බන් ස්ථාපනය", + "dialog.releaseNotes.action.getStarted": "පටන් ගන්න", + "dialog.releaseNotes.action.next": "ඊළඟ", + "dialog.releaseNotes.action.hideFuture": "මේවා ඉස්සරහට පෙන්නන්න එපා", + "dialog.releaseNotes.media.alt": "පෙරදසුන නිකුත් කරන්න", + "context.breakdown.title": "සන්දර්භය බිඳවැටීම", + "context.breakdown.note": 'ආදාන ටෝකනවල ආසන්න බිඳවැටීම. "වෙනත්" යන්නෙහි මෙවලම් අර්ථ දැක්වීම් සහ පොදු කාර්ය ඇතුළත් වේ.', + "context.breakdown.system": "පද්ධතිය", + "context.breakdown.user": "පරිශීලක", + "context.breakdown.assistant": "සහකාර", + "context.breakdown.tool": "මෙවලම් ඇමතුම්", + "context.breakdown.other": "වෙනත්", + "context.systemPrompt.title": "පද්ධති ප්‍රොම්ප්ට්", + "context.rawMessages.title": "අමු පණිවිඩ", + "context.export.session": "අපනයන සැසිය", + "context.stats.session": "සැසිය", + "context.stats.messages": "පණිවිඩ", + "context.stats.provider": "සපයන්නා", + "context.stats.model": "ආකෘතිය", + "context.stats.limit": "සන්දර්භය සීමාව", + "context.stats.totalTokens": "මුළු ටෝකන", + "context.stats.usage": "භාවිතය", + "context.stats.inputTokens": "ආදාන ටෝකන", + "context.stats.outputTokens": "ප්රතිදාන ටෝකන", + "context.stats.reasoningTokens": "තර්ක ටෝකන", + "context.stats.cacheTokens": "හැඹිලි ටෝකන (කියවීමට/ලිවීමට)", + "context.stats.userMessages": "පරිශීලක පණිවිඩ", + "context.stats.assistantMessages": "සහකාර පණිවිඩ", + "context.stats.totalCost": "මුළු පිරිවැය", + "context.stats.sessionCreated": "සැසිය නිර්මාණය කරන ලදී", + "context.stats.lastActivity": "අවසාන ක්‍රියාකාරකම", + "context.usage.tokens": "ටෝකන", + "context.usage.usage": "භාවිතය", + "context.usage.cost": "පිරිවැය", + "context.usage.clickToView": "සන්දර්භය බැලීමට ක්ලික් කරන්න", + "context.usage.view": "සන්දර්භය භාවිතය බලන්න", + "language.en": "English", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Deutsch", + "language.es": "Español", + "language.fr": "Français", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "Polski", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Norsk", + "language.br": "Português (Brasil)", + "language.bs": "Bosanski", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Türkçe", + "toast.language.title": "භාෂාව", + "toast.language.description": "{{language}} වෙත මාරු විය", + "toast.theme.title": "තේමාව මාරු විය", + "toast.scheme.title": "වර්ණ පටිපාටිය", + "toast.workspace.enabled.title": "වැඩබිම් සබල කර ඇත", + "toast.workspace.enabled.description": "Git වර්ක්ට්‍රී කිහිපයක් දැන් පැති තීරුවේ පෙන්වයි", + "toast.workspace.disabled.title": "වැඩබිම් අබල කර ඇත", + "toast.workspace.disabled.description": "පැති තීරුවේ ප්‍රධාන Git වර්ක්ට්‍රී එක පමණක් පෙන්වයි", + "toast.permissions.autoaccept.on.title": "ස්වයං-පිළිගැනීමේ අවසර", + "toast.permissions.autoaccept.on.description": "අවසර ඉල්ලීම් ස්වයංක්‍රීයව අනුමත වේ", + "toast.permissions.autoaccept.off.title": "අවසර ස්වයංක්‍රීයව පිළිගැනීම නතර විය", + "toast.permissions.autoaccept.off.description": "අවසර ඉල්ලීම් සඳහා අනුමැතිය අවශ්‍ය වනු ඇත", + "toast.model.none.title": "ආකෘතියක් තෝරා නැත", + "toast.model.none.description": "මෙම සැසිය සාරාංශ කිරීමට සැපයුම්කරුවෙකු සම්බන්ධ කරන්න", + "toast.file.loadFailed.title": "ගොනුව පූරණය කිරීමට අසමත් විය", + "toast.file.listFailed.title": "ගොනු ලැයිස්තුගත කිරීමට අසමත් විය", + "toast.context.noLineSelection.title": "රේඛා තේරීමක් නැත", + "toast.context.noLineSelection.description": "පළමුව ගොනු පටිත්තක රේඛා පරාසයක් තෝරන්න.", + "toast.session.share.copyFailed.title": "පසුරු පුවරුවට URL පිටපත් කිරීමට අසමත් විය", + "toast.session.share.success.title": "සැසිය බෙදා ගත්තා", + "toast.session.share.success.description": "බෙදාගන්න URL පසුරු පුවරුවට පිටපත් කර ඇත!", + "toast.session.share.failed.title": "සැසිය බෙදා ගැනීමට අසමත් විය", + "toast.session.share.failed.description": "සැසිය බෙදා ගැනීමේදී දෝෂයක් ඇති විය", + "toast.session.unshare.success.title": "සැසිය බෙදා නොගන්නා ලදී", + "toast.session.unshare.success.description": "සැසිය සාර්ථකව බෙදා නොගන්නා ලදී!", + "toast.session.unshare.failed.title": "සැසිය බෙදා නොගැනීම අසාර්ථක විය", + "toast.session.unshare.failed.description": "සැසිය බෙදා නොගැනීමේදී දෝෂයක් ඇති විය", + "toast.session.export.success.title": "සැසිය අපනයනය කරන ලදී", + "toast.session.export.success.description": "සැසිය {{filename}} වෙත සුරකින ලදී", + "toast.session.export.failed.title": "සැසිය අපනයනය කිරීමට අසමත් විය", + "toast.session.export.failed.description": "සැසිය නිර්යාත කිරීමේදී දෝෂයක් ඇති විය", + "toast.session.listFailed.title": "{{project}} සඳහා සැසි පූරණය කිරීමට අසමත් විය", + "toast.project.reloadFailed.title": "{{project}} නැවත පූරණය කිරීමට අසමත් විය", + "toast.update.title": "යාවත්කාලීන ලබා ගත හැක", + "toast.update.description": "OpenCode හි නව අනුවාදයක් ({{version}}) ස්ථාපනය කිරීමට දැන් තිබේ.", + "toast.update.action.installRestart": "ස්ථාපනය කර නැවත ආරම්භ කරන්න", + "toast.update.action.notYet": "තවමත් නෑ", + "error.page.title": "යමක් වැරදී ඇත", + "error.page.description": "යෙදුම පූරණය කිරීමේදී දෝෂයක් ඇති විය.", + "error.page.description.localServerStartup": "දේශීය සේවාදායකය ආරම්භ කිරීමේදී දෝෂයක් ඇති විය.", + "error.page.details.label": "දෝෂ විස්තර", + "error.page.action.restart": "යළි අරඹන්න", + "error.page.action.report": "දෝෂය වාර්තා කරන්න", + "error.page.action.reported": "දෝෂය වාර්තා විය", + "error.page.action.exportLogs": "ලොග් අපනයනය කරන්න", + "error.page.action.checking": "පරීක්ෂා කරමින්...", + "error.page.action.checkUpdates": "යාවත්කාලීන සඳහා පරීක්ෂා කරන්න", + "error.page.action.updateTo": "{{version}} වෙත යාවත්කාලීන කරන්න", + "error.page.circular": "[චක්‍රලේඛය]", + "error.page.report.prefix": "කරුණාකර මෙම දෝෂය OpenCode කණ්ඩායමට වාර්තා කරන්න", + "error.page.report.discord": "Discord මත", + "error.page.version": "අනුවාදය: {{version}}", + "error.dev.rootNotFound": + "මූල මූලද්රව්යය හමු නොවීය. ඔබට එය ඔබගේ index.html වෙත එක් කිරීමට අමතකද? එසේත් නැතිනම් හැඳුනුම්පත වැරදි ලෙස සටහන් වී තිබේද?", + "error.serverSync.connectFailed": "සේවාදායකයට සම්බන්ධ වීමට නොහැකි විය. `{{url}}` හි ධාවනය වන සේවාදායකයක් තිබේද?", + "error.serverSDK.noServerAvailable": "සේවාදායකයක් නොමැත", + "error.serverSDK.serverNotAvailable": "සේවාදායකය නොමැත", + "error.childStore.persistedCacheCreateFailed": "නොනැසී පවතින හැඹිලිය සෑදීමට අසමත් විය", + "error.childStore.persistedProjectMetadataCreateFailed": "අඛණ්ඩ ව්‍යාපෘති පාර-දත්ත නිර්මාණය කිරීමට අසමත් විය", + "error.childStore.persistedProjectIconCreateFailed": "නොනැසී පවතින ව්‍යාපෘති නිරූපකය සෑදීමට අසමත් විය", + "error.childStore.storeCreateFailed": "ගබඩාව සෑදීමට අසමත් විය", + "directory.error.invalidUrl": "URL හි වලංගු නොවන නාමාවලිය.", + "error.chain.unknown": "නොදන්නා දෝෂයකි", + "error.server.invalidConfiguration": "වලංගු නොවන වින්‍යාසය", + "error.chain.causedBy": "හේතුව:", + "error.chain.apiError": "API දෝෂයකි", + "error.chain.status": "තත්ත්වය: {{status}}", + "error.chain.retryable": "නැවත උත්සාහ කළ හැකි: {{retryable}}", + "error.chain.responseBody": "ප්‍රතිචාර අන්තර්ගතය:\n{{body}}", + "error.chain.didYouMean": "ඔබ අදහස් කළේ: {{suggestions}}", + "error.chain.modelNotFound": "ආකෘතිය හමු නොවීය: {{provider}}/{{model}}", + "error.chain.checkConfig": "ඔබගේ වින්‍යාසය (opencode.json) සපයන්නා/ආදර්ශ නම් පරීක්ෂා කරන්න", + "error.chain.mcpFailed": 'MCP සේවාදායකය "{{name}}" අසාර්ථක විය. සටහන, OpenCode තවමත් MCP සත්‍යාපනයට සහය නොදක්වයි.', + "error.chain.providerAuthFailed": "සැපයුම්කරු සත්‍යාපනය අසාර්ථක විය ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + '"{{provider}}" සපයන්නා ආරම්භ කිරීමට අසමත් විය. අක්තපත්ර සහ වින්යාසය පරීක්ෂා කරන්න.', + "error.chain.configJsonInvalid": "{{path}} හි වින්‍යාස ගොනුව වලංගු නොවේ JSON(C)", + "error.chain.configJsonInvalidWithMessage": "{{path}} හි වින්‍යාස ගොනුව වලංගු නොවේ JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + '{{path}} හි "{{dir}}" නාමාවලිය වලංගු නොවේ. නාමාවලිය "{{suggestion}}" ලෙස නැවත නම් කරන්න හෝ එය ඉවත් කරන්න. මෙය පොදු අක්ෂර වින්‍යාසයකි.', + "error.chain.configFrontmatterError": "{{path}}:\n{{message}} හි මූලික කරුණු විග්‍රහ කිරීමට අසමත් විය", + "error.chain.configInvalid": "{{path}} හි වින්‍යාස ගොනුව වලංගු නොවේ", + "error.chain.configInvalidWithMessage": "{{path}} හි වින්‍යාස ගොනුව වලංගු නොවේ: {{message}}", + "notification.permission.title": "අවසරය අවශ්‍යයි", + "notification.permission.description": "{{projectName}} හි {{sessionTitle}} හට අවසර අවශ්‍යයි", + "notification.question.title": "ප්රශ්නය", + "notification.question.description": "{{projectName}} හි {{sessionTitle}} හට ප්‍රශ්නයක් ඇත", + "notification.action.goToSession": "සැසිය වෙත යන්න", + "notification.session.responseReady.title": "ප්‍රතිචාරය සූදානම්", + "notification.session.error.title": "සැසි දෝෂය", + "notification.session.error.fallbackDescription": "දෝෂයක් සිදු විය", + "home.recentProjects": "මෑත ව්යාපෘති", + "home.empty.title": "මෑත ව්යාපෘති නැත", + "home.empty.description": "දේශීය ව්‍යාපෘතියක් විවෘත කිරීමෙන් ආරම්භ කරන්න", + "home.title": "නිවස", + "home.projects": "ව්යාපෘති", + "home.project.add": "ව්යාපෘතිය එකතු කරන්න", + "home.recentlyClosed": "මෑතකදී වසා ඇත", + "home.server.collapse": "සේවාදායක ව්‍යාපෘති හකුළන්න", + "home.server.expand": "සේවාදායක ව්‍යාපෘති පුළුල් කරන්න", + "home.sessions.search.placeholder": "සෙවුම් සැසි", + "home.sessions.search.placeholder.scoped": "{{scope}} හි සැසි සොයන්න", + "home.sessions.search.sessions": "සැසි", + "home.sessions.search.noResults": "{{query}} සඳහා සැසි හමු නොවීය", + "home.sessions.empty": "තවමත් මෙහි කිසිවක් නැත", + "home.sessions.empty.description": "ආරම්භ කිරීමට සැසියක් සාදන්න", + "home.sessions.group.today": "අද", + "home.sessions.group.yesterday": "ඊයේ", + "home.sessions.group.older": "වැඩිහිටි", + "home.providerTip": "Claude, GPT, Gemini, ආදිය ඇතුළුව අනෙකුත් මාදිලි භාවිතා කිරීමට 75+ සපයන්නන් වෙත සම්බන්ධ වන්න", + "session.tab.session": "සැසිය", + "session.tab.review": "සමාලෝචනය කරන්න", + "session.tab.context": "සන්දර්භය", + "session.tab.unknown": "නොදන්නා සැසිය", + "session.panel.reviewAndFiles": "සමාලෝචනය සහ ගොනු", + "session.error.notFound": "මෙම සැසිය සොයාගත නොහැක", + "session.error.notFound.description": "මෙම පටිත්ත මෙම සේවාදායකයේ තවදුරටත් නොපවතින සැසියක් වෙත යොමු කරයි.", + "session.error.notFound.closeTab": "ටැබය වසන්න", + "session.error.serverConnection": "මෙම සේවාදායකයට සම්බන්ධ විය නොහැක", + "session.review.filesChanged": "ගොනු {{count}} වෙනස් කරන ලදී", + "session.review.change.one": "වෙනස් කරන්න", + "session.review.change.other": "වෙනස්කම්", + "session.review.loadingChanges": "වෙනස්කම් පූරණය කරමින්...", + "session.review.empty": "මෙම සැසියේ තවමත් වෙනස්කම් නොමැත", + "session.review.noVcs": "Git අනුවාද පාලන පද්ධතියක් අනාවරණය වී නැත, වෙනස්කම් දර්ශනය නොවේ", + "session.review.noVcs.createGit.title": "Git ගබඩාවක් සාදන්න", + "session.review.noVcs.createGit.description": "මෙම ව්‍යාපෘතියේ වෙනස්කම් හඹා යන්න, සමාලෝචනය කරන්න, සහ පසුගමනය කරන්න", + "session.review.noVcs.createGit.actionLoading": "Git ගබඩාව නිර්මාණය කරමින්...", + "session.review.noVcs.createGit.action": "Git ගබඩාවක් සාදන්න", + "session.review.noSnapshot": "Snapshot ලුහුබැඳීම වින්‍යාසය තුළ අබල කර ඇත, එබැවින් සැසි වෙනස්කම් නොමැත", + "session.review.noChanges": "වෙනස්කම් නොමැත", + "session.review.noUncommittedChanges": "තවමත් කැප නොකළ වෙනස්කම් නොමැත", + "session.review.noBranchChanges": "තවම ශාඛාවේ වෙනසක් නැත", + "session.files.selectToOpen": "විවෘත කිරීමට ගොනුවක් තෝරන්න", + "session.files.all": "සියලුම ගොනු", + "session.files.empty": "ගොනු නැත", + "session.files.binaryContent": "ද්විමය ගොනුව (අන්තර්ගතය පෙන්විය නොහැක)", + "session.messages.renderEarlier": "පෙර පණිවිඩ ලබා දෙන්න", + "session.messages.loadingEarlier": "පෙර පණිවිඩ පූරණය කරමින්...", + "session.messages.loadEarlier": "කලින් පණිවිඩ පූරණය කරන්න", + "session.messages.loading": "පණිවිඩ පූරණය කරමින්...", + "session.messages.jumpToLatest": "නවතම වෙත පනින්න", + "session.context.addToContext": "සන්දර්භය වෙත {{selection}} එක් කරන්න", + "session.todo.title": "ටෝඩෝස්", + "session.todo.collapse": "හකුළන්න", + "session.todo.expand": "පුළුල් කරන්න", + "session.todo.progress": "{{total}} න් {{done}} සම්පූර්ණයි", + "session.question.progress": "{{current}} {{total}} ප්‍රශ්න", + "session.question.minimize": "ප්‍රශ්නය අවම කරන්න", + "session.question.restore": "ප්‍රශ්නය ප්‍රතිසාධනය කරන්න", + "session.question.pending.one": "{{count}} පොරොත්තු ප්‍රශ්නය", + "session.question.pending.other": "{{count}} පොරොත්තු ප්‍රශ්න", + "session.followupDock.summary.one": "{{count}} පෝලිම් පණිවිඩය", + "session.followupDock.summary.other": "{{count}} පෝලිම්ගත පණිවිඩ", + "session.followupDock.sendNow": "දැන් එවන්න", + "session.followupDock.edit": "සංස්කරණය කරන්න", + "session.followupDock.collapse": "පෝලිම්ගත පණිවිඩ හකුළන්න", + "session.followupDock.expand": "පෝලිම් පණිවිඩ දිග හරින්න", + "session.revertDock.summary.one": "{{count}} පෙරළන ලද පණිවිඩය", + "session.revertDock.summary.other": "{{count}} පණිවිඩ ආපසු හරවන ලදී", + "session.revertDock.collapse": "පෙරළන ලද පණිවිඩ හකුළන්න", + "session.revertDock.expand": "පෙරළන ලද පණිවිඩ පුළුල් කරන්න", + "session.revertDock.restore": "පණිවිඩය ප්‍රතිසාධනය කරන්න", + "session.new.title": "ඕනෑම දෙයක් ගොඩනඟන්න", + "session.new.project.new": "නව ව්යාපෘතිය", + "session.new.project.search": "ව්යාපෘති සොයන්න", + "session.new.project.add": "ව්යාපෘතිය එකතු කරන්න", + "session.new.worktree.main": "ප්රධාන ශාඛාව", + "session.new.worktree.mainWithBranch": "ප්‍රධාන ශාඛාව ({{branch}})", + "session.new.worktree.create": "නව Git වර්ක්ට්‍රී එකක් සාදන්න", + "session.new.workspace.runIn": "සැසිය ධාවනය කරන්න", + "session.new.workspace.triggerLocal": "දේශීය", + "session.new.workspace.local": "දේශීය ගබඩාව", + "session.new.workspace.existing": "වැඩබිම…", + "session.new.git.none": "Git නැත", + "session.new.lastModified": "අවසන් වරට වෙනස් කරන ලදී", + "session.header.search.placeholder": "{{project}} සොයන්න", + "session.header.searchFiles": "ගොනු සොයන්න", + "session.header.openIn": "විවෘත කරන්න", + "session.header.open.action": "{{app}} විවෘත කරන්න", + "session.header.open.ariaLabel": "{{app}} හි විවෘත කරන්න", + "session.header.open.menu": "විකල්ප විවෘත කරන්න", + "session.header.open.copyPath": "මාර්ගය පිටපත් කරන්න", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "File Explorer", + "session.header.open.fileManager": "File Manager", + "session.header.reveal.finder": "Finder තුළ හෙළි කරන්න", + "session.header.reveal.fileExplorer": "File Explorer හි හෙළි කරන්න", + "session.header.reveal.containingFolder": "අඩංගු ෆෝල්ඩරය විවෘත කරන්න", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "පර්යන්තය", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "තත්ත්වය", + "status.popover.ariaLabel": "සේවාදායක සැකසුම්", + "status.popover.tab.servers": "සේවාදායකයන්", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "ප්ලගීන", + "status.popover.action.manageServers": "සේවාදායකයන් කළමනාකරණය කරන්න", + "session.share.popover.title": "වෙබයේ පළ කරන්න", + "session.share.popover.description.shared": "මෙම සැසිය වෙබයේ පොදු වේ. සබැඳිය ඇති ඕනෑම කෙනෙකුට එය ප්‍රවේශ විය හැකිය.", + "session.share.popover.description.unshared": + "වෙබයේ ප්‍රසිද්ධියේ සැසිය බෙදා ගන්න. සබැඳිය ඇති ඕනෑම කෙනෙකුට එය ප්‍රවේශ විය හැකිය.", + "session.share.action.share": "බෙදාගන්න", + "session.share.action.publish": "ප්‍රකාශ කරන්න", + "session.share.action.publishing": "ප්‍රකාශනය කරමින්...", + "session.share.action.unpublish": "ප්‍රකාශනය ඉවත් කරන්න", + "session.share.action.unpublishing": "ප්‍රකාශනය ඉවත් කරමින්...", + "session.share.action.view": "බලන්න", + "session.share.copy.copied": "පිටපත් කර ඇත", + "session.share.copy.copyLink": "සබැඳිය පිටපත් කරන්න", + "lsp.tooltip.none": "LSP සේවාදායකයන් නොමැත", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "ප්‍රොම්ප්ට් එක පූරණය වෙමින්...", + "terminal.loading": "පර්යන්තය පූරණය කරමින්...", + "terminal.title": "පර්යන්තය", + "terminal.title.numbered": "පර්යන්තය {{number}}", + "terminal.close": "පර්යන්තය වසන්න", + "terminal.connectionLost.title": "සම්බන්ධතාවය නැති විය", + "terminal.connectionLost.abnormalClose": "WebSocket අසාමාන්‍ය ලෙස වසා ඇත: {{code}}", + "terminal.connectionLost.description": + "පර්යන්ත සම්බන්ධතාවයට බාධා ඇති විය. සේවාදායකය නැවත ආරම්භ වන විට මෙය සිදු විය හැක.", + "terminal.connectTicket.csrfError": + "PTY සම්බන්ධක ටිකට් පත සම්භවය හෝ CSRF චෙක්පත් මගින් ප්‍රතික්ෂේප විය. සේවාදායකය CORS වින්‍යාසය පරීක්ෂා කරන්න.", + "terminal.connectTicket.statusError": "{{status}} සමඟ PTY සම්බන්ධක ප්‍රවේශපත්‍රය අසාර්ථක විය", + "titlebar.update": "යාවත්කාලීන කරන්න", + "titlebar.updateVersion": "{{version}} යාවත්කාලීන කරන්න", + "common.closeTab": "ටැබ් එක වසන්න", + "common.dismiss": "අස් කරන්න", + "common.moreCountSuffix": "(+{{count}} තව)", + "common.requestFailed": "ඉල්ලීම අසාර්ථක විය", + "common.moreOptions": "තවත් විකල්ප", + "common.learnMore": "තවත් හදාරන්න", + "common.rename": "නැවත නම් කරන්න", + "common.export": "අපනයනය කරන්න", + "common.reset": "යළි පිහිටුවන්න", + "common.archive": "සංරක්ෂිතය", + "common.delete": "මකන්න", + "common.close": "වසන්න", + "common.edit": "සංස්කරණය කරන්න", + "common.loadMore": "වැඩිපුර පටවන්න", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "නොදන්නා", + "common.time.justNow": "මේ දැන්", + "common.time.minutesAgo.short": "{{count}}m පෙර", + "common.time.hoursAgo.short": "{{count}}පැයට පෙර", + "common.time.daysAgo.short": "{{count}}d පෙර", + "sidebar.menu.toggle": "මෙනුව ටොගල් කරන්න", + "sidebar.nav.projectsAndSessions": "ව්යාපෘති සහ සැසි", + "sidebar.settings": "සැකසීම්", + "sidebar.help": "උදව්", + "sidebar.workspaces.enable": "වැඩබිම් සබල කරන්න", + "sidebar.workspaces.disable": "වැඩබිම් අබල කරන්න", + "sidebar.gettingStarted.title": "ඇරඹේ", + "sidebar.gettingStarted.line1": "OpenCode නොමිලේ ආකෘති ඇතුළත් වන නිසා ඔබට වහාම ආරම්භ කළ හැක.", + "sidebar.gettingStarted.line2": + "ආකෘති භාවිතා කිරීමට ඕනෑම සැපයුම්කරුවෙකු සම්බන්ධ කරන්න, inc. Claude, GPT, Gemini ආදිය.", + "sidebar.project.recentSessions": "මෑත සැසි", + "sidebar.project.viewAllSessions": "සියලුම සැසි බලන්න", + "sidebar.project.clearNotifications": "දැනුම්දීම් හිස් කරන්න", + "sidebar.empty.title": "ව්‍යාපෘති විවෘත නැත", + "sidebar.empty.description": "ආරම්භ කිරීමට ව්‍යාපෘතියක් විවෘත කරන්න", + "debugBar.ariaLabel": "සංවර්ධන කාර්ය සාධන රෝග විනිශ්චය", + "debugBar.na": "n/a", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "සැසි පිටුවක් ස්පර්ශ කරමින් අවසන් වරට සම්පුර්ණ කරන ලද මාර්ග සංක්‍රාන්තිය, රවුටරය ආරම්භයේ සිට එය නිරවුල් වූ පසු පළමු තීන්ත දක්වා මනිනු ලැබේ.", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "පසුගිය තත්පර 5 තුළ තත්පරයට රාමු පෙරළීම.", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "පසුගිය තත්පර 5 තුළ නරකම රාමු කාලය.", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "අවසන් තත්පර 5 තුළ 32ms ට වැඩි රාමු.", + "debugBar.long.label": "LONG", + "debugBar.long.tip": "අවසාන තත්පර 5 තුළ අවහිර කළ කාලය සහ දිගු කාර්ය ගණන. උපරිම කාර්යය: {{max}}.", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "පසුගිය තත්පර 5 තුළ නරකම නිරීක්ෂණය කළ ආදාන ප්‍රමාදය.", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": "පසුගිය තත්පර 5 තුළ ආසන්න අන්තර්ක්‍රියා කාලය. මෙය INP-වැනි, නිල Web Vitals INP නොවේ.", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "වත්මන් යෙදුම් ආයු කාලය සඳහා සමුච්චිත පිරිසැලසුම් මාරුව.", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "භාවිතා කරන ලද JS heap එදිරිව ගොඩ සීමාව. Chromium පමණි.", + "debugBar.mem.tip": "භාවිතා කරන ලද JS heap එදිරිව ගොඩ සීමාව. {{limit}} හි {{used}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "සියලු අන්තර්ක්‍රියාකාරී මූලද්‍රව්‍ය කෙරෙහි අවධානය යොමු කිරීමේ ශෛලීන් බල කරන්න", + "debugBar.focus.on": "ක්‍රියාත්මකයි", + "debugBar.focus.off": "අක්රියයි", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "තෝරාගත් භාෂාව වෙනස් නොකර සම්පූර්ණ යෙදුම් පිරිසැලසුම් දිශාව බල කරන්න", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode ඩෙස්ක්ටොප්", + "settings.section.desktop": "ඩෙස්ක්ටොප්", + "settings.section.server": "සේවාදායකය", + "settings.tab.general": "ජෙනරාල්", + "settings.tab.shortcuts": "කෙටිමං", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "WSL ඒකාබද්ධ කිරීම", + "settings.desktop.wsl.description": "Windows හි WSL තුළ OpenCode සේවාදායකය ධාවනය කරන්න.", + "settings.general.section.appearance": "පෙනුම", + "settings.general.section.advanced": "උසස්", + "settings.general.section.notifications": "පද්ධති දැනුම්දීම්", + "settings.general.section.updates": "යාවත්කාලීන", + "settings.general.section.sounds": "ශබ්ද ප්රයෝග", + "settings.general.section.feed": "පෝෂණය කරන්න", + "settings.general.section.display": "ප්රදර්ශනය කරන්න", + "settings.general.row.language.title": "භාෂාව", + "settings.general.row.language.description": "OpenCode සඳහා සංදර්ශක භාෂාව වෙනස් කරන්න", + "settings.general.row.shell.title": "පර්යන්ත ෂෙල්", + "settings.general.row.shell.description": "පර්යන්තය සහ නියෝජිත මෙවලම් භාවිතා කරන ෂෙල්", + "settings.general.row.shell.autoDefault": "ස්වයංක්‍රීය (පෙරනිමි)", + "settings.general.row.shell.terminalOnly": "පර්යන්තය පමණි", + "settings.general.row.appearance.title": "පෙනුම", + "settings.general.row.appearance.description": "ඔබගේ උපාංගයේ OpenCode පෙනෙන ආකාරය අභිරුචිකරණය කරන්න", + "settings.general.row.colorScheme.title": "වර්ණ පටිපාටිය", + "settings.general.row.colorScheme.description": "OpenCode පද්ධතිය, ආලෝකය හෝ අඳුරු තේමාව අනුගමනය කරන්නේද යන්න තෝරන්න", + "settings.general.row.theme.title": "තේමාව", + "settings.general.row.theme.description": "OpenCode තේමා කර ඇති ආකාරය අභිරුචිකරණය කරන්න.", + "settings.general.row.font.title": "කේත අකුරු", + "settings.general.row.font.description": "කේත බ්ලොක් වල භාවිතා කරන අකුරු අභිරුචිකරණය කරන්න", + "settings.general.row.terminalFont.title": "ටර්මිනල් අකුරු", + "settings.general.row.terminalFont.description": "ටර්මිනලයේ භාවිතා කරන අකුරු අභිරුචිකරණය කරන්න", + "settings.general.row.uiFont.title": "UI අකුරු", + "settings.general.row.uiFont.description": "අතුරු මුහුණත පුරා භාවිතා කරන අකුරු අභිරුචිකරණය කරන්න", + "settings.general.row.followup.title": "පසු විපරම් හැසිරීම", + "settings.general.row.followup.description": + "පසු විපරම් ප්‍රේරක ක්ෂණිකව ගමන් කරනවාද නැතිනම් පෝලිමක රැඳී සිටිනවාද යන්න තෝරන්න", + "settings.general.row.followup.option.queue": "පෝලිමේ", + "settings.general.row.followup.option.steer": "මෙහෙයවන්න", + "settings.general.row.showFileTree.title": "ගොනු ගස", + "settings.general.row.showFileTree.description": "සැසි තුළ ගොනු ගස් පැනලය පෙන්වන්න", + "settings.general.row.showNavigation.title": "සංචාලන පාලන", + "settings.general.row.showNavigation.description": "ඩෙස්ක්ටොප් මාතෘකා තීරුවේ පසුපස සහ ඉදිරි බොත්තම් පෙන්වන්න", + "settings.general.row.showSearch.title": "විධාන පුවරුව", + "settings.general.row.showSearch.description": "මාතෘකා තීරුවේ සෙවුම් සහ විධාන පුවරුවේ බොත්තම පෙන්වන්න", + "settings.general.row.showTerminal.title": "පර්යන්තය", + "settings.general.row.showTerminal.description": "ඩෙස්ක්ටොප් මාතෘකා තීරුවේ ටර්මිනල් බොත්තම පෙන්වන්න", + "settings.general.row.showStatus.title": "සේවාදායක තත්ත්වය", + "settings.general.row.showStatus.description": "මාතෘකා තීරුවේ සේවාදායක තත්ව බොත්තම පෙන්වන්න", + "settings.general.row.mobileTitlebarBottom.title": "පහළ සංචලනය", + "settings.general.row.mobileTitlebarBottom.description": "මාතෘකා තීරුව සහ සැසි ටැබ් ජංගම දුරකථනයේ තිරයේ පතුලේ තබන්න", + "settings.general.row.showCustomAgents.title": "නියෝජිතයා පෙන්වන්න", + "settings.general.row.showCustomAgents.description": + "නිර්මාපකයේ නියෝජිතයන් අතර මාරු වන්න. සැඟවුණු විට, බිල්ඩ් ඒජන්ත වෙත පෙරනිමි වේ.", + "settings.general.row.reasoningSummaries.title": "තර්ක සාරාංශ පෙන්වන්න", + "settings.general.row.reasoningSummaries.description": "කාලරේඛාව තුළ ආකෘති තර්ක සාරාංශ සංදර්ශන කරන්න", + "settings.general.row.shellToolPartsExpanded.title": "ෂෙල් මෙවලම් කොටස් පුළුල් කරන්න", + "settings.general.row.shellToolPartsExpanded.description": + "කාලරේඛාව තුළ පෙරනිමියෙන් පුළුල් කළ ෂෙල් මෙවලම් කොටස් පෙන්වන්න", + "settings.general.row.editToolPartsExpanded.title": "සංස්කරණ මෙවලම් කොටස් පුළුල් කරන්න", + "settings.general.row.editToolPartsExpanded.description": + "කාලරේඛාව තුළ පෙරනිමියෙන් පුළුල් කරන ලද සංස්කරණය, ලිවීම සහ පැච් මෙවලම් කොටස් පෙන්වන්න", + "settings.general.row.newInterface.title": "නව පිරිසැලසුම", + "settings.general.row.newInterface.badge": "අලුත්", + "settings.general.row.newInterface.description": + "නව ටැබ් සහ නිවසේ පිරිසැලසුම භාවිතා කරන්න. සීමිත කාලයක් සඳහා පිරිසැලසුම් අතර මාරු වන්න.", + "settings.general.row.newInterfaceNotice.title": "ඔබ දැන් නව පිරිසැලසුමක් භාවිතා කරයි", + "settings.general.row.newInterfaceNotice.description": "පෙර පිරිසැලසුම තවදුරටත් නොමැත", + "settings.general.row.newInterfaceNotice.dismiss": "අස් කරන්න", + "settings.general.row.pinchZoom.title": "විශාලනය කිරීමට පින්ච් කරන්න", + "settings.general.row.pinchZoom.description": + "විශාලනය කිරීමට ට්‍රැක්පෑඩ් පින්ච් කිරීමට සහ Ctrl-අනුචලන අභිනයන්ට ඉඩ දෙන්න", + "settings.general.row.wayland.title": "දේශීය Wayland භාවිත කරන්න", + "settings.general.row.wayland.description": "Wayland හි X11 ආපසු හැරීම අක්‍රීය කරන්න. නැවත ආරම්භ කිරීම අවශ්‍ය වේ.", + "settings.general.row.wayland.tooltip": + "මිශ්‍ර නැවුම් අනුපාත මොනිටර සහිත Linux මත, ස්වදේශික Wayland වඩා ස්ථායී විය හැක.", + "settings.general.row.releaseNotes.title": "නිකුත් කිරීමේ සටහන්", + "settings.general.row.releaseNotes.description": "යාවත්කාලීන කිරීමෙන් පසු නව උත්පතන මොනවාදැයි පෙන්වන්න", + "settings.updates.row.startup.title": "ආරම්භය පිළිබඳ යාවත්කාලීන සඳහා පරීක්ෂා කරන්න", + "settings.updates.row.startup.description": "OpenCode දියත් කරන විට යාවත්කාලීන සඳහා ස්වයංක්‍රීයව පරීක්ෂා කරන්න", + "settings.updates.row.check.title": "යාවත්කාලීන සඳහා පරීක්ෂා කරන්න", + "settings.updates.row.check.description": "යාවත්කාලීන සඳහා හස්තීයව පරීක්ෂා කර තිබේ නම් ස්ථාපනය කරන්න", + "settings.updates.action.checkNow": "දැන් පරීක්ෂා කරන්න", + "settings.updates.action.checking": "පරීක්ෂා කරමින්...", + "settings.updates.action.downloading": "බාගනිමින්...", + "settings.updates.action.installing": "ස්ථාපනය කරමින්...", + "settings.updates.toast.latest.title": "ඔබ යාවත්කාලීනයි", + "settings.updates.toast.latest.description": "ඔබ OpenCode හි නවතම අනුවාදය ධාවනය කරයි.", + "sound.option.none": "කිසිවක් නැත", + "sound.option.alert01": "Alert 01", + "sound.option.alert02": "Alert 02", + "sound.option.alert03": "Alert 03", + "sound.option.alert04": "Alert 04", + "sound.option.alert05": "Alert 05", + "sound.option.alert06": "Alert 06", + "sound.option.alert07": "Alert 07", + "sound.option.alert08": "Alert 08", + "sound.option.alert09": "Alert 09", + "sound.option.alert10": "Alert 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "Nope 01", + "sound.option.nope02": "Nope 02", + "sound.option.nope03": "Nope 03", + "sound.option.nope04": "Nope 04", + "sound.option.nope05": "Nope 05", + "sound.option.nope06": "Nope 06", + "sound.option.nope07": "Nope 07", + "sound.option.nope08": "Nope 08", + "sound.option.nope09": "Nope 09", + "sound.option.nope10": "Nope 10", + "sound.option.nope11": "Nope 11", + "sound.option.nope12": "Nope 12", + "sound.option.yup01": "Yup 01", + "sound.option.yup02": "Yup 02", + "sound.option.yup03": "Yup 03", + "sound.option.yup04": "Yup 04", + "sound.option.yup05": "Yup 05", + "sound.option.yup06": "Yup 06", + "settings.general.notifications.agent.title": "නියෝජිතයා", + "settings.general.notifications.agent.description": + "නියෝජිතයා සම්පූර්ණ වූ විට හෝ අවධානය අවශ්‍ය වූ විට පද්ධති දැනුම්දීම පෙන්වන්න", + "settings.general.notifications.permissions.title": "අවසර", + "settings.general.notifications.permissions.description": "අවසරයක් අවශ්‍ය වූ විට පද්ධති දැනුම්දීම පෙන්වන්න", + "settings.general.notifications.errors.title": "දෝෂ", + "settings.general.notifications.errors.description": "දෝෂයක් ඇති වූ විට පද්ධති දැනුම්දීම පෙන්වන්න", + "settings.general.sounds.agent.title": "නියෝජිතයා", + "settings.general.sounds.agent.description": "නියෝජිතයා සම්පූර්ණ වූ විට හෝ අවධානය අවශ්‍ය වූ විට ශබ්දය වාදනය කරන්න", + "settings.general.sounds.permissions.title": "අවසර", + "settings.general.sounds.permissions.description": "අවසරයක් අවශ්‍ය විට ශබ්දය වාදනය කරන්න", + "settings.general.sounds.errors.title": "දෝෂ", + "settings.general.sounds.errors.description": "දෝෂයක් ඇති වූ විට ශබ්දය වාදනය කරන්න", + "settings.shortcuts.title": "යතුරුපුවරු කෙටිමං", + "settings.shortcuts.reset.button": "පෙරනිමියට යළි පිහිටුවන්න", + "settings.shortcuts.reset.toast.title": "කෙටිමං යළි පිහිටුවීම", + "settings.shortcuts.reset.toast.description": "යතුරුපුවරු කෙටිමං පෙරනිමියට යළි සකසා ඇත.", + "settings.shortcuts.conflict.title": "කෙටිමඟ දැනටමත් භාවිතයේ ඇත", + "settings.shortcuts.conflict.description": "{{keybind}} දැනටමත් {{titles}} වෙත පවරා ඇත.", + "settings.shortcuts.unassigned": "පැවරීම නොකළ", + "settings.shortcuts.pressKeys": "යතුරු ඔබන්න", + "settings.shortcuts.search.placeholder": "කෙටිමං සොයන්න", + "settings.shortcuts.search.empty": "කෙටිමං හමු නොවීය", + "settings.shortcuts.group.general": "ජෙනරාල්", + "settings.shortcuts.group.session": "සැසිය", + "settings.shortcuts.group.navigation": "සංචලනය", + "settings.shortcuts.group.modelAndAgent": "ආකෘතිය සහ නියෝජිතයා", + "settings.shortcuts.group.terminal": "පර්යන්තය", + "settings.shortcuts.group.prompt": "ප්‍රොම්ප්ට්", + "settings.providers.title": "සපයන්නන්", + "settings.providers.description": "සපයන්නාගේ සිටුවම් මෙහි වින්‍යාස කළ හැක.", + "settings.providers.section.connected": "සම්බන්ධිත සැපයුම්කරුවන්", + "settings.providers.connected.empty": "සම්බන්ධිත සපයන්නන් නැත", + "settings.providers.connected.environmentDescription": "ඔබගේ පරිසර විචල්‍ය වලින් සම්බන්ධ කර ඇත", + "settings.providers.section.popular": "ජනප්‍රිය සැපයුම්කරුවන්", + "settings.providers.custom.description": "URL පදනම අනුව OpenAI-අනුකූල සැපයුම්කරුවෙකු එක් කරන්න.", + "settings.providers.tag.environment": "පරිසරය", + "settings.providers.tag.config": "වින්යාසය", + "settings.providers.tag.custom": "අභිරුචි", + "settings.providers.tag.other": "වෙනත්", + "settings.models.title": "ආකෘති", + "settings.models.description": "ආදර්ශ සැකසුම් මෙහි වින්‍යාසගත වනු ඇත.", + "settings.agents.title": "නියෝජිතයන්", + "settings.agents.description": "නියෝජිත සැකසුම් මෙහි වින්‍යාස කළ හැක.", + "settings.commands.title": "විධාන", + "settings.commands.description": "විධාන සැකසුම් මෙහි වින්‍යාසගත කළ හැක.", + "settings.mcp.title": "MCP", + "settings.mcp.description": "MCP සැකසීම් මෙහි වින්‍යාස කළ හැක.", + "settings.permissions.title": "අවසර", + "settings.permissions.description": "පෙරනිමියෙන් සේවාදායකයට භාවිතා කළ හැකි මෙවලම් පාලනය කරන්න.", + "settings.permissions.section.tools": "මෙවලම්", + "settings.permissions.toast.updateFailed.title": "අවසර යාවත්කාලීන කිරීමට අසමත් විය", + "settings.permissions.action.allow": "ඉඩ දෙන්න", + "settings.permissions.action.ask": "අහන්න", + "settings.permissions.action.deny": "ප්‍රතික්ෂේප කරන්න", + "settings.permissions.tool.read.title": "කියවන්න", + "settings.permissions.tool.read.description": "ගොනුවක් කියවීම (ගොනු මාර්ගයට ගැලපේ)", + "settings.permissions.tool.edit.title": "සංස්කරණය කරන්න", + "settings.permissions.tool.edit.description": "සංස්කරණය කිරීම්, ලිවීම් සහ පැච් ඇතුළු ගොනු වෙනස් කරන්න", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "ග්ලෝබ් රටා භාවිතයෙන් ගොනු ගලපන්න", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "සාමාන්‍ය ප්‍රකාශන භාවිතයෙන් ගොනු අන්තර්ගතය සොයන්න", + "settings.permissions.tool.list.title": "ලැයිස්තුව", + "settings.permissions.tool.list.description": "නාමාවලියක් තුළ ගොනු ලැයිස්තුගත කරන්න", + "settings.permissions.tool.bash.title": "Bash", + "settings.permissions.tool.bash.description": "shell විධාන ක්‍රියාත්මක කරන්න", + "settings.permissions.tool.task.title": "කාර්යය", + "settings.permissions.tool.task.description": "උප නියෝජිතයන් දියත් කරන්න", + "settings.permissions.tool.skill.title": "දක්ෂතාවය", + "settings.permissions.tool.skill.description": "නමින් කුසලතාවයක් පූරණය කරන්න", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "භාෂා සේවාදායක විමසුම් ධාවනය කරන්න", + "settings.permissions.tool.todowrite.title": "Todo Write", + "settings.permissions.tool.todowrite.description": "Todo ලැයිස්තුව යාවත්කාලීන කරන්න", + "settings.permissions.tool.webfetch.title": "Web Fetch", + "settings.permissions.tool.webfetch.description": "URL වෙතින් අන්තර්ගතය ලබා ගන්න", + "settings.permissions.tool.websearch.title": "Web Search", + "settings.permissions.tool.websearch.description": "වෙබයේ සොයන්න", + "settings.permissions.tool.external_directory.title": "බාහිර නාමාවලිය", + "settings.permissions.tool.external_directory.description": "ව්‍යාපෘති නාමාවලියෙන් පිටත ගොනු වෙත ප්‍රවේශ වන්න", + "settings.permissions.tool.doom_loop.title": "Doom Loop", + "settings.permissions.tool.doom_loop.description": "සමාන ආදානයක් සමඟ නැවත නැවතත් මෙවලම් ඇමතුම් හඳුනා ගන්න", + "session.delete.failed.title": "සැසිය මැකීමට අසමත් විය", + "session.delete.title": "සැසිය මකන්න", + "session.delete.confirm": '"{{name}}" සැසිය මකන්නද?', + "session.delete.button": "සැසිය මකන්න", + "workspace.new": "නව වැඩබිම", + "workspace.type.local": "දේශීය", + "workspace.type.sandbox": "වැලිපිල්ල", + "workspace.create.failed.title": "වැඩබිම සෑදීමට අසමත් විය", + "workspace.delete.failed.title": "වැඩබිම මැකීමට අසමත් විය", + "workspace.resetting.title": "වැඩබිම නැවත සැකසීම", + "workspace.resetting.description": "මෙය විනාඩියක් ගත විය හැක.", + "workspace.reset.failed.title": "වැඩබිම යළි පිහිටුවීමට අසමත් විය", + "workspace.reset.success.title": "වැඩබිම යළි පිහිටුවීම", + "workspace.reset.success.description": "වැඩබිම දැන් පෙරනිමි ශාඛාවට ගැලපේ.", + "workspace.error.stillPreparing": "වැඩබිම තවමත් සූදානම් වෙමින් පවතී", + "workspace.status.checking": "ඒකාබද්ධ නොකළ වෙනස්කම් සඳහා පරීක්ෂා කරමින්...", + "workspace.status.error": "git තත්ත්වය සත්‍යාපනය කළ නොහැක.", + "workspace.status.clean": "ඒකාබද්ධ නොකළ වෙනස්කම් කිසිවක් අනාවරණය කර නොමැත.", + "workspace.status.dirty": "මෙම වැඩබිමේ ඒකාබද්ධ නොකළ වෙනස්කම් හමු විය.", + "workspace.delete.title": "වැඩබිම මකන්න", + "workspace.delete.confirm": '"{{name}}" වැඩබිම මකන්නද?', + "workspace.delete.button": "වැඩබිම මකන්න", + "workspace.reset.title": "වැඩබිම නැවත සකසන්න", + "workspace.reset.confirm": '"{{name}}" වැඩබිම යළි පිහිටුවන්නද?', + "workspace.reset.button": "වැඩබිම නැවත සකසන්න", + "workspace.reset.archived.none": "සක්‍රිය සැසි කිසිවක් සංරක්ෂණය නොකෙරේ.", + "workspace.reset.archived.one": "1 සැසියක් සංරක්ෂණය කෙරේ.", + "workspace.reset.archived.many": "සැසි {{count}} සංරක්ෂිත වනු ඇත.", + "workspace.reset.note": "මෙය පෙරනිමි ශාඛාවට ගැලපෙන පරිදි වැඩබිම නැවත සකසනු ඇත.", + "dialog.usageExceeded.dontShowAgain": "නැවත නොපෙන්වන්න", +} diff --git a/packages/app/src/i18n/sk.ts b/packages/app/src/i18n/sk.ts new file mode 100644 index 000000000000..9992e06cc4af --- /dev/null +++ b/packages/app/src/i18n/sk.ts @@ -0,0 +1,1159 @@ +export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Súbor", + "desktop.menu.edit": "Upraviť", + "desktop.menu.view": "Zobraziť", + "desktop.menu.go": "Prejsť", + "desktop.menu.window": "Okno", + "desktop.menu.help": "Pomocník", + "desktop.menu.checkForUpdates": "Skontrolovať aktualizácie...", + "desktop.menu.settings": "Nastavenia", + "desktop.menu.reloadWebview": "Obnoviť webové zobrazenie", + "desktop.menu.restart": "Reštartovať", + "desktop.menu.exportLogs": "Exportovať záznamy...", + "desktop.menu.newSession": "Nová relácia", + "desktop.menu.openProject": "Otvoriť projekt...", + "desktop.menu.newWindow": "Nové okno", + "desktop.menu.closeWindow": "Zavrieť okno", + "desktop.menu.undo": "Späť", + "desktop.menu.redo": "Znovu", + "desktop.menu.cut": "Vystrihnúť", + "desktop.menu.copy": "Kopírovať", + "desktop.menu.paste": "Prilepiť", + "desktop.menu.delete": "Odstrániť", + "desktop.menu.selectAll": "Vybrať všetko", + "desktop.menu.toggleSidebar": "Zobraziť/skryť bočný panel", + "desktop.menu.toggleTerminal": "Zobraziť/skryť terminál", + "desktop.menu.toggleFileTree": "Zobraziť/skryť strom súborov", + "desktop.menu.reload": "Obnoviť", + "desktop.menu.toggleDeveloperTools": "Zobraziť/skryť nástroje pre vývojárov", + "desktop.menu.actualSize": "Skutočná veľkosť", + "desktop.menu.zoomIn": "Priblížiť", + "desktop.menu.zoomOut": "Oddialiť", + "desktop.menu.toggleFullScreen": "Prepnúť na celú obrazovku", + "desktop.menu.back": "Späť", + "desktop.menu.forward": "Dopredu", + "desktop.menu.previousSession": "Predchádzajúca relácia", + "desktop.menu.nextSession": "Nasledujúca relácia", + "desktop.menu.previousProject": "Predchádzajúci projekt", + "desktop.menu.nextProject": "Nasledujúci projekt", + "desktop.menu.minimize": "Minimalizovať", + "desktop.menu.maximize": "Maximalizovať", + "desktop.menu.documentation": "Dokumentácia OpenCode", + "desktop.menu.supportForum": "Fórum podpory", + "desktop.menu.shareFeedback": "Odoslať spätnú väzbu", + "desktop.menu.reportBug": "Nahlásiť chybu", + "desktop.menu.ariaLabel": "Ponuka OpenCode", + "desktop.updater.dialog.checkFailed.message": "Kontrola aktualizácií zlyhala.", + "desktop.updater.dialog.checkFailed.title": "Chyba aktualizácie", + "desktop.updater.dialog.upToDate.message": "Máte najnovšiu verziu.", + "desktop.updater.dialog.upToDate.title": "Žiadne aktualizácie", + "desktop.updater.dialog.ready.message": "Aktualizácia {{version}} stiahnutá. Reštartovať teraz?", + "desktop.updater.dialog.ready.title": "Aktualizácia pripravená", + "desktop.updater.dialog.restart": "Reštartovať", + "desktop.updater.dialog.later": "Neskôr", + "desktop.recovery.action.relaunch": "Spustiť znova", + "desktop.recovery.action.exportLogs": "Exportovať záznamy", + "desktop.recovery.action.keepWaiting": "Čakať ďalej", + "desktop.recovery.action.quit": "Ukončiť", + "desktop.recovery.loadFailed": "OpenCode sa nepodarilo načítať", + "desktop.recovery.terminated": "Okno OpenCode bolo neočakávane ukončené", + "desktop.recovery.unresponsive": "OpenCode neodpovedá", + "desktop.recovery.unresponsive.detail": "Môžete reštartovať aplikáciu, otvoriť záznamy alebo počkať.", + "desktop.recovery.loadFailed.detail": "Okno: {{window}}\nURL: {{url}}\nChyba: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Okno: {{window}}\nDôvod: {{reason}}\nKód: {{code}}", + "desktop.recovery.unknown": "", + "desktop.dialog.chooseFolder": "Vyberte priečinok", + "desktop.dialog.chooseFile": "Vyberte súbor", + "desktop.dialog.saveFile": "Uložiť súbor", + "desktop.dialog.files": "Súbory", + "desktop.server.local": "Lokálny server", + "desktop.wsl.error.windowsOnly": "WSL je dostupné len vo Windows", + "desktop.wsl.error.unavailable": "WSL nie je dostupné", + "desktop.wsl.error.listInstalled": "Nepodarilo sa zobraziť nainštalované distribúcie WSL", + "desktop.wsl.error.listOnline": "Nepodarilo sa zobraziť online distribúcie WSL", + "desktop.wsl.error.executeDistro": "Nie je možné spustiť príkazy v distribúcii", + "desktop.wsl.error.installWsl": "Inštalácia WSL zlyhala", + "desktop.wsl.error.installDistro": "Nepodarilo sa nainštalovať distribúciu: {{distro}}", + "desktop.wsl.error.installOpencode": "Inštalácia OpenCode zlyhala", + "desktop.wsl.error.alreadyAdded": "{{distro}} je už pridaná", + "desktop.wsl.error.opencodeMissing": "opencode nie je v tejto distribúcii nainštalovaný", + "desktop.wsl.error.opencodeCannotRun": "opencode je nainštalovaný, ale nedá sa spustiť", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode nie je nainštalovaný v {{distro}}", + "desktop.wsl.error.updateVersion": + "Aktualizácia OpenCode bola dokončená, ale {{distro}} stále hlási {{installed}}; očakávané {{expected}}", + "desktop.wsl.error.noVersion": "žiadna verzia", + "desktop.wsl.error.serverExited": "WSL server sa ukončil po spustení (kód={{code}} signál={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL server sa ukončil pred inicializáciou (kód={{code}} signál={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": "Kontrola stavu sidecar pre {{distro}} vypršala po {{timeout}} ms", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} vypršalo po {{timeout}} ms", + "desktop.wsl.error.failedPort": "Nepodarilo sa získať port", + "desktop.picker.error.notSelected": "Súbor nebol vybraný v dialógu", + "desktop.picker.error.sizeLimit": "Vybrané prílohy presahujú limit {{limit}} MB", + "command.category.suggested": "Navrhované", + "command.category.view": "Zobrazenie", + "command.category.project": "Projekt", + "command.category.provider": "Poskytovateľ", + "command.category.server": "Server", + "command.category.session": "Relácia", + "command.category.theme": "Motív", + "command.category.language": "Jazyk", + "command.category.file": "Súbor", + "command.category.context": "Kontext", + "command.category.terminal": "Terminál", + "command.category.model": "Model", + "command.category.mcp": "MCP", + "command.category.agent": "Agent", + "command.category.permissions": "Oprávnenia", + "command.category.workspace": "Pracovný priestor", + "command.category.settings": "Nastavenia", + "command.logs.export": "Exportovať záznamy", + "theme.scheme.system": "Systém", + "theme.scheme.light": "Svetlý", + "theme.scheme.dark": "Tmavý", + "command.sidebar.toggle": "Prepnúť bočný panel", + "command.project.open": "Otvoriť projekt", + "command.project.previous": "Predchádzajúci projekt", + "command.project.next": "Nasledujúci projekt", + "command.project.index": "Prepnúť na projekt {{index}}", + "command.provider.connect": "Pripojiť poskytovateľa", + "command.server.switch": "Prepnúť server", + "command.settings.open": "Otvoriť nastavenia", + "command.session.previous": "Predchádzajúca relácia", + "command.session.next": "Ďalšia relácia", + "command.session.previous.unseen": "Predchádzajúca neprečítaná relácia", + "command.session.next.unseen": "Ďalšia neprečítaná relácia", + "command.session.archive": "Archivovať reláciu", + "command.palette": "Paleta príkazov", + "command.theme.cycle": "Prepnúť tému", + "command.theme.set": "Použiť tému: {{theme}}", + "command.theme.scheme.cycle": "Prepnúť farebnú schému", + "command.theme.scheme.set": "Použiť farebnú schému: {{scheme}}", + "command.language.cycle": "Prepnúť jazyk", + "command.language.set": "Použiť jazyk: {{language}}", + "command.session.new": "Nová relácia", + "command.file.open": "Otvoriť súbor", + "command.tab.close": "Zavrieť kartu", + "command.tab.reopenClosed": "Obnoviť zatvorenú kartu", + "command.context.addSelection": "Pridať výber do kontextu", + "command.context.addSelection.description": "Pridať vybrané riadky z aktuálneho súboru", + "command.input.focus": "Zamerať vstup", + "command.terminal.toggle": "Prepnúť terminál", + "command.fileTree.toggle": "Prepnúť strom súborov", + "command.review.toggle": "Prepnúť kontrolu", + "command.terminal.new": "Nový terminál", + "command.terminal.new.description": "Vytvoriť novú kartu terminálu", + "command.steps.toggle": "Prepnúť kroky", + "command.steps.toggle.description": "Zobraziť alebo skryť kroky pre aktuálnu správu", + "command.message.previous": "Predchádzajúca správa", + "command.message.previous.description": "Prejsť na predchádzajúcu správu používateľa", + "command.message.next": "Ďalšia správa", + "command.message.next.description": "Prejsť na ďalšiu správu používateľa", + "command.model.choose": "Vybrať model", + "command.model.choose.description": "Vybrať iný model", + "command.mcp.toggle": "Prepnúť MCP", + "command.mcp.toggle.description": "Prepnúť MCP", + "command.agent.cycle": "Prepnúť agenta", + "command.agent.cycle.description": "Prepnúť na ďalšieho agenta", + "command.agent.cycle.reverse": "Prepnúť agenta späť", + "command.agent.cycle.reverse.description": "Prepnúť na predchádzajúceho agenta", + "command.model.variant.cycle": "Prepnúť úroveň premýšľania", + "command.model.variant.cycle.description": "Prepnúť na ďalšiu úroveň úsilia", + "command.prompt.mode.shell": "Shell", + "command.prompt.mode.normal": "Výzva", + "command.permissions.autoaccept.enable": "Automaticky prijímať povolenia", + "command.permissions.autoaccept.disable": "Zastaviť automatické prijímanie povolení", + "command.workspace.toggle": "Prepnúť pracovné priestory", + "command.workspace.toggle.description": "Povoliť alebo zakázať viacero pracovných priestorov v postrannom paneli", + "command.session.undo": "Späť", + "command.session.undo.description": "Vrátiť poslednú správu späť", + "command.session.redo": "Znovu", + "command.session.redo.description": "Obnoviť poslednú vrátenú správu", + "command.session.compact": "Zhutniť reláciu", + "command.session.compact.description": "Zhrnúť reláciu na zmenšenie kontextu", + "command.session.fork": "Vytvoriť vetvu zo správy", + "command.session.fork.description": "Vytvoriť novú reláciu z predchádzajúcej správy", + "command.session.share": "Zdieľať reláciu", + "command.session.share.description": "Zdieľať túto reláciu a skopírovať URL do schránky", + "command.session.unshare": "Zrušiť zdieľanie relácie", + "command.session.unshare.description": "Prestať zdieľať túto reláciu", + "command.session.export": "Exportovať reláciu", + "command.session.export.description": "Exportovať celý prepis relácie ako JSON", + "palette.search.placeholder": "Hľadať súbory, príkazy a relácie", + "palette.search.placeholder.home": "Hľadať príkazy a relácie", + "palette.empty": "Nenašli sa žiadne výsledky", + "palette.group.commands": "Príkazy", + "palette.group.files": "Súbory", + "dialog.provider.search.placeholder": "Hľadať poskytovateľov", + "dialog.provider.empty": "Nenašli sa žiadni poskytovatelia", + "dialog.provider.group.popular": "Populárne", + "dialog.provider.group.other": "Ostatné", + "dialog.provider.custom.label": "Vlastný poskytovateľ kompatibilný s OpenAI", + "dialog.provider.tag.recommended": "Odporúčané", + "dialog.provider.opencode.note": "Vybrané modely vrátane Claude, GPT, Gemini a ďalších", + "dialog.provider.opencode.tagline": "Spoľahlivé optimalizované modely", + "dialog.provider.opencodeGo.tagline": "Nízkonákladové predplatné pre každého", + "dialog.provider.anthropic.note": "Priamy prístup k modelom Claude vrátane Pro a Max", + "dialog.provider.copilot.note": "AI modely na asistenciu pri kódovaní cez GitHub Copilot", + "dialog.provider.openai.note": "GPT modely na rýchle a výkonné všeobecné AI úlohy", + "dialog.provider.google.note": "Gemini modely na rýchle, štruktúrované odpovede", + "dialog.provider.openrouter.note": "Prístup ku všetkým podporovaným modelom od jedného poskytovateľa", + "dialog.provider.vercel.note": "Zjednotený prístup k AI modelom s inteligentným smerovaním", + "dialog.model.select.title": "Vybrať model", + "dialog.model.search.placeholder": "Hľadať modely", + "dialog.model.empty": "Nenašli sa žiadne modely", + "dialog.model.manage": "Spravovať modely", + "dialog.model.manage.description": "Prispôsobte si, ktoré modely sa zobrazia vo výbere modelov.", + "dialog.model.manage.provider.toggle": "Prepnúť všetky modely poskytovateľa {{provider}}", + "dialog.model.unpaid.freeModels.title": "Bezplatné modely poskytované OpenCode", + "dialog.model.unpaid.addMore.title": "Pridať ďalšie modely od populárnych poskytovateľov", + "dialog.model.unpaid.viewMoreProviders": "Zobraziť viac ako 70 ďalších poskytovateľov", + "dialog.provider.viewAll": "Zobraziť viac poskytovateľov", + "provider.connect.title": "Pripojiť {{provider}}", + "provider.connect.title.anthropicProMax": "Prihlásiť sa cez Claude Pro/Max", + "provider.connect.selectMethod": "Vyberte spôsob prihlásenia pre {{provider}}.", + "provider.connect.method.apiKey": "API kľúč", + "provider.connect.method.browser": "Prehliadač", + "provider.connect.method.headless": "Bezhlavý režim", + "provider.connect.status.inProgress": "Prebieha autorizácia...", + "provider.connect.status.waiting": "Čaká sa na autorizáciu...", + "provider.connect.status.failed": "Autorizácia zlyhala: {{error}}", + "provider.connect.apiKey.description": + "Zadajte svoj API kľúč {{provider}}, aby ste prepojili svoj účet a mohli používať modely {{provider}} v OpenCode.", + "provider.connect.apiKey.label": "API kľúč {{provider}}", + "provider.connect.apiKey.placeholder": "API kľúč", + "provider.connect.apiKey.required": "API kľúč je povinný", + "provider.connect.opencodeZen.line1": + "OpenCode Zen vám poskytuje prístup k vybraným spoľahlivým optimalizovaným modelom pre kódovacích agentov.", + "provider.connect.opencodeZen.line2": + "S jediným API kľúčom získate prístup k modelom ako Claude, GPT, Gemini, GLM a ďalším.", + "provider.connect.opencodeZen.visit.prefix": "Navštívte", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": "a získajte svoj API kľúč.", + "provider.connect.oauth.code.visit.prefix": "Navštívte", + "provider.connect.oauth.code.visit.link": "tento odkaz", + "provider.connect.oauth.code.visit.suffix": + " a získajte svoj autorizačný kód na prepojenie účtu a používanie modelov {{provider}} v OpenCode.", + "provider.connect.oauth.code.label": "Autorizačný kód {{method}}", + "provider.connect.oauth.code.placeholder": "Autorizačný kód", + "provider.connect.oauth.code.required": "Autorizačný kód je povinný", + "provider.connect.oauth.code.invalid": "Neplatný autorizačný kód", + "provider.connect.oauth.auto.visit.prefix": "Navštívte", + "provider.connect.oauth.auto.visit.link": "tento odkaz", + "provider.connect.oauth.auto.visit.suffix": + " a zadajte nižšie uvedený kód na prepojenie účtu a používanie modelov {{provider}} v OpenCode.", + "provider.connect.oauth.auto.confirmationCode": "Potvrdzovací kód", + "provider.connect.toast.connected.title": "{{provider}} pripojený", + "provider.connect.toast.connected.description": "Modely {{provider}} sú teraz dostupné na použitie.", + "provider.custom.title": "Vlastný poskytovateľ", + "provider.custom.unavailable": "Vlastní poskytovatelia nie sú na tomto serveri dostupní", + "provider.custom.description.prefix": "Nastavte poskytovateľa kompatibilného s OpenAI. Pozrite si", + "provider.custom.description.link": "dokumentáciu k nastaveniu poskytovateľa", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "ID poskytovateľa", + "provider.custom.field.providerID.placeholder": "myprovider", + "provider.custom.field.providerID.description": "Malé písmená, čísla, pomlčky alebo podčiarkovníky", + "provider.custom.field.name.label": "Zobrazovaný názov", + "provider.custom.field.name.placeholder": "Môj AI poskytovateľ", + "provider.custom.field.baseURL.label": "Základná URL adresa", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "API kľúč", + "provider.custom.field.apiKey.placeholder": "API kľúč", + "provider.custom.field.apiKey.description": "Voliteľné. Nechajte prázdne, ak autentifikáciu riešite cez hlavičky.", + "provider.custom.models.label": "Modely", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "model-id", + "provider.custom.models.name.label": "Názov", + "provider.custom.models.name.placeholder": "Zobrazovaný názov", + "provider.custom.models.remove": "Odstrániť model", + "provider.custom.models.add": "Pridať model", + "provider.custom.headers.label": "Hlavičky (voliteľné)", + "provider.custom.headers.key.label": "Hlavička", + "provider.custom.headers.key.placeholder": "Header-Name", + "provider.custom.headers.value.label": "Hodnota", + "provider.custom.headers.value.placeholder": "hodnota", + "provider.custom.headers.remove": "Odstrániť hlavičku", + "provider.custom.headers.add": "Pridať hlavičku", + "provider.custom.error.providerID.required": "ID poskytovateľa je povinné", + "provider.custom.error.providerID.format": "Použite malé písmená, číslice, pomlčky alebo podčiarkovníky", + "provider.custom.error.providerID.exists": "Toto ID poskytovateľa už existuje", + "provider.custom.error.name.required": "Zobrazovaný názov je povinný", + "provider.custom.error.baseURL.required": "Základná URL adresa je povinná", + "provider.custom.error.baseURL.format": "Musí začínať http:// alebo https://", + "provider.custom.error.required": "Povinné", + "provider.custom.error.duplicate": "Duplicitné", + "provider.disconnect.toast.disconnected.title": "{{provider}} odpojený", + "provider.disconnect.toast.disconnected.description": "Modely {{provider}} už nie sú dostupné.", + "model.tag.free": "Bezplatné", + "model.tag.latest": "Najnovšie", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "text", + "model.input.image": "obrázok", + "model.input.audio": "audio", + "model.input.video": "video", + "model.input.pdf": "pdf", + "model.tooltip.allows": "Povoľuje: {{inputs}}", + "model.tooltip.context.label": "Kontext", + "model.tooltip.inputs": "Vstupy", + "model.tooltip.model": "Model", + "model.tooltip.provider": "Poskytovateľ", + "model.tooltip.reasoning": "Uvažovanie", + "model.tooltip.reasoning.allowed": "Uvažovanie povolené", + "model.tooltip.reasoning.none": "Bez uvažovania", + "model.tooltip.context": "Limit kontextu {{limit}}", + "common.search.placeholder": "Hľadať", + "common.goBack": "Prejsť späť", + "common.goForward": "Prejsť vpred", + "common.loading": "Načítava sa", + "common.loading.ellipsis": "...", + "common.cancel": "Zrušiť", + "common.clear": "Vymazať", + "common.open": "Otvoriť", + "common.connect": "Pripojiť", + "common.disconnect": "Odpojiť", + "common.continue": "Pokračovať", + "common.submit": "Odoslať", + "common.save": "Uložiť", + "common.saving": "Ukladá sa...", + "common.default": "Predvolené", + "common.attachment": "príloha", + "prompt.placeholder.shell": "Zadajte shell príkaz... {{example}}", + "prompt.placeholder.normal": "Opýtajte sa na čokoľvek... „{{example}}“", + "prompt.placeholder.simple": "Opýtajte sa na čokoľvek...", + "prompt.placeholder.summarizeComments": "Zhrnúť komentáre…", + "prompt.placeholder.summarizeComment": "Zhrnúť komentár…", + "prompt.mode.shell": "Shell", + "prompt.mode.normal": "Výzva", + "prompt.mode.shell.exit": "esc na ukončenie", + "session.child.promptDisabled": "V reláciách podagenta nie je možné zadávať výzvy.", + "session.child.backToParent": "Späť na hlavnú reláciu.", + "prompt.example.1": "Opraviť TODO v kóde", + "prompt.example.2": "Aký je technologický stack tohto projektu?", + "prompt.example.3": "Opraviť nefunkčné testy", + "prompt.example.4": "Vysvetlite, ako funguje autentifikácia", + "prompt.example.5": "Nájsť a opraviť bezpečnostné zraniteľnosti", + "prompt.example.6": "Pridať jednotkové testy pre službu používateľa", + "prompt.example.7": "Refaktorovať túto funkciu pre lepšiu čitateľnosť", + "prompt.example.8": "Čo znamená táto chyba?", + "prompt.example.9": "Pomôžte mi ladiť tento problém", + "prompt.example.10": "Vygenerovať API dokumentáciu", + "prompt.example.11": "Optimalizovať databázové dotazy", + "prompt.example.12": "Pridať validáciu vstupu", + "prompt.example.13": "Vytvoriť novú komponentu pre...", + "prompt.example.14": "Ako nasadím tento projekt?", + "prompt.example.15": "Skontrolovať môj kód podľa najlepších postupov", + "prompt.example.16": "Pridať ošetrenie chýb do tejto funkcie", + "prompt.example.17": "Vysvetliť tento regex vzor", + "prompt.example.18": "Konvertovať toto na TypeScript", + "prompt.example.19": "Pridať logovanie do celého kódu", + "prompt.example.20": "Ktoré závislosti sú zastarané?", + "prompt.example.21": "Pomôžte mi napísať migračný skript", + "prompt.example.22": "Implementovať cache pre tento endpoint", + "prompt.example.23": "Pridať stránkovanie do tohto zoznamu", + "prompt.example.24": "Vytvoriť CLI príkaz pre...", + "prompt.example.25": "Ako tu fungujú premenné prostredia?", + "prompt.popover.emptyResults": "Žiadne zodpovedajúce výsledky", + "prompt.popover.emptyCommands": "Žiadne zodpovedajúce príkazy", + "prompt.dropzone.label": "Sem presuňte obrázky, PDF alebo textové súbory", + "prompt.dropzone.file.label": "Presuňte na @zmienku súboru", + "prompt.slash.badge.custom": "vlastné", + "prompt.slash.badge.skill": "zručnosť", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "aktívne", + "prompt.context.includeActiveFile": "Zahrnúť aktívny súbor", + "prompt.context.removeActiveFile": "Odstrániť aktívny súbor z kontextu", + "prompt.context.removeFile": "Odstrániť súbor z kontextu", + "prompt.action.attachFile": "Pridať súbory", + "prompt.menu.addImagesAndFiles": "Pridať súbory a ďalšie", + "prompt.menu.imagesAndFiles": "Obrázky a súbory", + "prompt.menu.commands": "Príkazy", + "prompt.menu.context": "Kontext", + "prompt.menu.shellCommand": "Príkaz shellu", + "prompt.attachment.remove": "Odstrániť prílohu", + "prompt.action.send": "Odoslať", + "prompt.action.stop": "Zastaviť", + "prompt.toast.pasteUnsupported.title": "Nepodporovaná príloha", + "prompt.toast.pasteUnsupported.description": "Pripojiť možno len obrázky, PDF alebo textové súbory.", + "prompt.toast.attachmentDuplicate.title": "Tento súbor už bol nahraný", + "prompt.toast.modelAgentRequired.title": "Vyberte agenta a model", + "prompt.toast.modelAgentRequired.description": "Pred odoslaním výzvy vyberte agenta a model.", + "prompt.toast.worktreeCreateFailed.title": "Nepodarilo sa vytvoriť pracovný strom", + "prompt.toast.sessionCreateFailed.title": "Nepodarilo sa vytvoriť reláciu", + "prompt.toast.shellSendFailed.title": "Nepodarilo sa odoslať príkaz shellu", + "prompt.toast.commandSendFailed.title": "Nepodarilo sa odoslať príkaz", + "prompt.toast.promptSendFailed.title": "Nepodarilo sa odoslať výzvu", + "prompt.toast.promptSendFailed.description": "Nepodarilo sa získať reláciu", + "dialog.mcp.title": "MCP", + "dialog.mcp.description": "{{enabled}} z {{total}} povolených", + "dialog.mcp.empty": "Nie sú nastavené žiadne MCP", + "dialog.lsp.empty": "LSP automaticky zistené podľa typov súborov", + "dialog.plugins.empty": "Pluginy nastavené v opencode.json", + "mcp.status.connected": "pripojené", + "mcp.status.failed": "zlyhalo", + "mcp.status.needs_auth": "vyžaduje overenie", + "mcp.status.disabled": "vypnuté", + "mcp.auth.clickToAuthenticate": "Kliknite na overenie", + "dialog.fork.empty": "Žiadne správy na vytvorenie vetvy", + "dialog.directory.search.placeholder": "Hľadať priečinky", + "dialog.directory.empty": "Nenašli sa žiadne priečinky", + "dialog.directory.action.selectFile": "Vybrať súbor", + "dialog.directory.action.selectFolder": "Vybrať priečinok", + "dialog.directory.root": "Koreň", + "dialog.directory.parent": "Nadradený", + "dialog.directory.readError": "Nepodarilo sa načítať tento priečinok", + "app.server.unreachable": "Nepodarilo sa kontaktovať {{server}}", + "app.server.retrying": "Automaticky opakujem...", + "app.server.otherServers": "Iné servery", + "dialog.server.title": "Servery", + "dialog.server.description": "Vyberte, ku ktorému OpenCode serveru sa aplikácia pripája.", + "dialog.server.search.placeholder": "Hľadať servery", + "dialog.server.empty": "Zatiaľ žiadne servery", + "dialog.server.add.title": "Pridať server", + "dialog.server.add.url": "Adresa servera", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "Nepodarilo sa pripojiť k serveru", + "dialog.server.add.checking": "Kontroluje sa...", + "dialog.server.add.button": "Pridať server", + "dialog.server.add.name": "Názov servera (voliteľné)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "Používateľské meno (voliteľné)", + "dialog.server.add.usernamePlaceholder": "používateľ", + "dialog.server.add.password": "Heslo (voliteľné)", + "dialog.server.add.passwordPlaceholder": "heslo", + "dialog.server.edit.title": "Upraviť server", + "dialog.server.default.title": "Predvolený server", + "dialog.server.default.description": + "Pri spustení aplikácie sa pripojí k tomuto serveru namiesto spustenia lokálneho servera. Vyžaduje reštart.", + "dialog.server.default.none": "Nie je vybraný žiadny server", + "dialog.server.default.set": "Nastaviť aktuálny server ako predvolený", + "dialog.server.default.clear": "Vymazať", + "dialog.server.action.remove": "Odstrániť server", + "dialog.server.menu.edit": "Upraviť", + "dialog.server.menu.default": "Nastaviť ako predvolený", + "dialog.server.menu.defaultRemove": "Odstrániť predvolený", + "dialog.server.menu.delete": "Odstrániť", + "dialog.server.current": "Aktuálny server", + "dialog.server.status.default": "Predvolený", + "wsl.server.add": "Pridať WSL server", + "wsl.server.addShort": "Pridať WSL", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "Server WSL", + "wsl.server.retryStart": "Opakovať spustenie", + "wsl.server.updating": "Aktualizuje sa...", + "wsl.onboarding.step.distro": "Vyberte distribúciu", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "Kontroluje sa WSL...", + "wsl.onboarding.restartRequired": "Na dokončenie inštalácie WSL je potrebné reštartovať Windows.", + "wsl.onboarding.ready": "WSL je pripravené.", + "wsl.onboarding.required": "Na pokračovanie je potrebné WSL.", + "wsl.onboarding.checkingDistros": "Kontrolujú sa distribúcie...", + "wsl.onboarding.installingDistro": "Inštaluje sa {{distro}}...", + "wsl.onboarding.checkingDistro": "Kontroluje sa {{distro}}...", + "wsl.onboarding.listingDistros": "Zobrazujú sa distribúcie...", + "wsl.onboarding.distroReady": "{{distro}} je pripravená.", + "wsl.onboarding.distroNotInstalled": "{{distro}} ešte nie je nainštalovaná.", + "wsl.onboarding.openDistroOnce": "Otvorte {{distro}} raz na dokončenie nastavenia.", + "wsl.onboarding.finishingDistro": "Dokončuje sa nastavenie pre {{distro}}.", + "wsl.onboarding.pickDistro": "Vyberte distribúciu alebo nainštalujte jednu nižšie.", + "wsl.onboarding.checkingOpencode": "Kontroluje sa OpenCode...", + "wsl.onboarding.checkingOpencodeIn": "Kontroluje sa OpenCode v {{distro}}...", + "wsl.onboarding.updatingOpencode": "Aktualizuje sa OpenCode...", + "wsl.onboarding.updatingOpencodeIn": "Aktualizuje sa OpenCode v {{distro}}...", + "wsl.onboarding.updateOpencodeIn": "Aktualizovať OpenCode v {{distro}}.", + "wsl.onboarding.updateOpencode": "Aktualizovať OpenCode", + "wsl.onboarding.opencodeReadyIn": "OpenCode je pripravený v {{distro}}.", + "wsl.onboarding.opencodeReady": "OpenCode je pripravený.", + "wsl.onboarding.installOpencodeIn": "Nainštalovať OpenCode v {{distro}}.", + "wsl.onboarding.installOpencode": "Nainštalovať OpenCode", + "wsl.onboarding.chooseDistroFirst": "Najprv vyberte distribúciu.", + "wsl.onboarding.loadFailed": "Nepodarilo sa načítať stav WSL.", + "wsl.onboarding.loading": "Načítava sa...", + "wsl.onboarding.installedDistros": "Nainštalované distribúcie", + "wsl.onboarding.checkAgain": "Skontrolovať znova", + "wsl.onboarding.distroStatus.ready": "Pripravené", + "wsl.onboarding.distroStatus.checking": "Kontroluje sa...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode nie je nainštalovaný", + "wsl.onboarding.distroStatus.missingTools": "Chýba bash, curl", + "wsl.onboarding.distroStatus.unsupported": "Nepodporované · Použite WSL 2", + "wsl.onboarding.needAnotherDistro": "Potrebujete inú distribúciu?", + "wsl.onboarding.needAnotherDistroHint": "Nainštalujte linuxovú distribúciu z katalógu WSL", + "wsl.onboarding.wslNotInstalled.title": "WSL nie je nainštalovaný", + "wsl.onboarding.wslNotInstalled.description": + "Pred pridaním WSL servera cez OpenCode je potrebné mať nainštalovaný WSL (Windows Subsystem for Linux).", + "wsl.onboarding.wslUnavailable.title": "WSL nie je dostupný", + "wsl.onboarding.wslUnavailable.description": "OpenCode nemohol overiť WSL na tomto zariadení.", + "wsl.onboarding.installWsl": "Nainštalovať WSL", + "wsl.onboarding.windowsRestartRequired": + "Reštartujte Windows, aby ste dokončili inštaláciu WSL, potom znova otvorte OpenCode.", + "wsl.onboarding.next": "Ďalej", + "wsl.onboarding.refresh": "Obnoviť", + "wsl.onboarding.allDistrosAdded": "Všetky nainštalované distribúcie sú už pridané.", + "wsl.onboarding.noDistros": "Zatiaľ neboli zistené žiadne distribúcie.", + "wsl.onboarding.install": "Inštalovať", + "wsl.onboarding.installing": "Inštaluje sa...", + "wsl.onboarding.installDistro": "Inštalovať distribúciu", + "wsl.onboarding.searchDistros": "Hľadať distribúcie", + "wsl.onboarding.wsl2Required": "Vyžaduje sa WSL 2.", + "wsl.onboarding.toolsRequired": "Táto distribúcia vyžaduje bash a curl.", + "wsl.onboarding.openTerminal": "Otvoriť terminál", + "wsl.onboarding.path": "Cesta: {{path}}", + "wsl.onboarding.notFound": "nenájdené", + "wsl.onboarding.version": "Verzia: {{version}}", + "wsl.onboarding.unknown": "neznáme", + "wsl.onboarding.desktopVersion": "desktop {{version}}", + "wsl.onboarding.versionMismatch": "Nainštalovaná verzia sa nezhoduje s verziou desktopovej aplikácie.", + "wsl.onboarding.adding": "Pridáva sa...", + "help.tabs.toast.ariaLabel": "Predstavujeme karty. Organizujte si prácu a aktívne relácie pomocou kariet", + "help.tabs.toast.dismiss": "Zavrieť informácie o kartách", + "help.tabs.title": "Predstavujeme karty", + "help.tabs.description": "Organizujte si prácu a aktívne relácie pomocou kariet", + "help.tabs.date": "14. júl", + "help.tabs.introduction": "OpenCode Desktop je teraz postavený na kartách.", + "help.tabs.sessions": + "Spustite novú reláciu na karte alebo otvorte existujúcu reláciu z niektorého zo svojich projektov. Otvorte novú kartu, keď začínate niečo nové, a zatvorte ju, keď skončíte.", + "help.tabs.organize": + "Ak necháte otvorených niekoľko kariet, ľahšie si zorganizujete aktívne relácie. Ak plánujete kartu ponechať, premenujte ju na niečo zapamätateľné.", + "help.tabs.home": + "Všetky svoje relácie a projekty nájdete na novej domovskej obrazovke. Výberom relácie ju otvoríte na karte.", + "help.tabs.persistence": "Po opätovnom otvorení aplikácie zostanú vaše karty otvorené.", + "help.tabs.worktrees": + "Nový dizajn zatiaľ nepodporuje Git Worktrees, podpora čoskoro pribudne. Ak chcete naďalej používať predchádzajúce rozloženie, môžete medzi rozloženiami prepínať v nastaveniach. Majte však na pamäti, že nové rozloženie sa o niekoľko týždňov stane trvalým.", + "server.row.noUsername": "bez používateľského mena", + "dialog.project.edit.title": "Upraviť projekt", + "dialog.project.edit.name": "Názov", + "dialog.project.edit.icon": "Ikona", + "dialog.project.edit.icon.alt": "Ikona projektu", + "dialog.project.edit.icon.hint": "Kliknite alebo presuňte obrázok", + "dialog.project.edit.icon.recommended": "Odporúčané: 128×128 px", + "dialog.project.edit.color": "Farba", + "dialog.project.edit.color.select": "Vyberte farbu {{color}}", + "dialog.project.edit.worktree.startup": "Štartovací skript pracovného priestoru", + "dialog.project.edit.worktree.startup.description": "Spustí sa po vytvorení nového pracovného priestoru (worktree).", + "dialog.project.edit.worktree.startup.placeholder": "napr. bun install", + "dialog.releaseNotes.action.getStarted": "Začať", + "dialog.releaseNotes.action.next": "Ďalej", + "dialog.releaseNotes.action.hideFuture": "Nabudúce nezobrazovať", + "dialog.releaseNotes.media.alt": "Ukážka vydania", + "context.breakdown.title": "Rozpis kontextu", + "context.breakdown.note": "Približný rozpis vstupných tokenov. „Iné“ zahŕňa definície nástrojov a režijné náklady.", + "context.breakdown.system": "Systém", + "context.breakdown.user": "Používateľ", + "context.breakdown.assistant": "Asistent", + "context.breakdown.tool": "Volania nástrojov", + "context.breakdown.other": "Iné", + "context.systemPrompt.title": "Systémová výzva", + "context.rawMessages.title": "Surové správy", + "context.export.session": "Exportovať reláciu", + "context.stats.session": "Relácia", + "context.stats.messages": "Správy", + "context.stats.provider": "Poskytovateľ", + "context.stats.model": "Model", + "context.stats.limit": "Limit kontextu", + "context.stats.totalTokens": "Celkový počet tokenov", + "context.stats.usage": "Použitie", + "context.stats.inputTokens": "Vstupné tokeny", + "context.stats.outputTokens": "Výstupné tokeny", + "context.stats.reasoningTokens": "Tokeny na uvažovanie", + "context.stats.cacheTokens": "Tokeny v cache (čítanie/zápis)", + "context.stats.userMessages": "Správy používateľa", + "context.stats.assistantMessages": "Správy asistenta", + "context.stats.totalCost": "Celkové náklady", + "context.stats.sessionCreated": "Vytvorenie relácie", + "context.stats.lastActivity": "Posledná aktivita", + "context.usage.tokens": "Tokeny", + "context.usage.usage": "Použitie", + "context.usage.cost": "Náklady", + "context.usage.clickToView": "Kliknite na zobrazenie kontextu", + "context.usage.view": "Zobraziť využitie kontextu", + "language.en": "English", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Deutsch", + "language.es": "Español", + "language.fr": "Français", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "Polski", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Norsk", + "language.br": "Português (Brasil)", + "language.bs": "Bosanski", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Türkçe", + "toast.language.title": "Jazyk", + "toast.language.description": "Prepnuté na {{language}}", + "toast.theme.title": "Téma zmenená", + "toast.scheme.title": "Farebná schéma", + "toast.workspace.enabled.title": "Pracovné priestory povolené", + "toast.workspace.enabled.description": "Viac pracovných stromov je teraz zobrazených v postrannom paneli", + "toast.workspace.disabled.title": "Pracovné priestory zakázané", + "toast.workspace.disabled.description": "V postrannom paneli je zobrazený len hlavný pracovný strom", + "toast.permissions.autoaccept.on.title": "Automatické schvaľovanie povolení", + "toast.permissions.autoaccept.on.description": "Žiadosti o povolenie budú automaticky schválené", + "toast.permissions.autoaccept.off.title": "Automatické schvaľovanie povolení zastavené", + "toast.permissions.autoaccept.off.description": "Žiadosti o povolenie budú vyžadovať schválenie", + "toast.model.none.title": "Nie je vybraný model", + "toast.model.none.description": "Pripojte poskytovateľa na zhrnutie tejto relácie", + "toast.file.loadFailed.title": "Nepodarilo sa načítať súbor", + "toast.file.listFailed.title": "Nepodarilo sa zobraziť zoznam súborov", + "toast.context.noLineSelection.title": "Nie je vybraný riadok", + "toast.context.noLineSelection.description": "Najprv vyberte rozsah riadkov na karte súboru.", + "toast.session.share.copyFailed.title": "Nepodarilo sa skopírovať URL do schránky", + "toast.session.share.success.title": "Relácia zdieľaná", + "toast.session.share.success.description": "URL na zdieľanie skopírovaná do schránky!", + "toast.session.share.failed.title": "Nepodarilo sa zdieľať reláciu", + "toast.session.share.failed.description": "Pri zdieľaní relácie došlo k chybe", + "toast.session.unshare.success.title": "Zdieľanie relácie zrušené", + "toast.session.unshare.success.description": "Zdieľanie relácie bolo úspešne zrušené!", + "toast.session.unshare.failed.title": "Zdieľanie relácie sa nepodarilo zrušiť", + "toast.session.unshare.failed.description": "Pri rušení zdieľania relácie došlo k chybe", + "toast.session.export.success.title": "Relácia exportovaná", + "toast.session.export.success.description": "Relácia uložená do {{filename}}", + "toast.session.export.failed.title": "Export relácie zlyhal", + "toast.session.export.failed.description": "Pri exporte relácie došlo k chybe", + "toast.session.listFailed.title": "Nepodarilo sa načítať relácie pre {{project}}", + "toast.project.reloadFailed.title": "Nepodarilo sa znovu načítať {{project}}", + "toast.update.title": "Dostupná aktualizácia", + "toast.update.description": "Je dostupná nová verzia OpenCode ({{version}}) na inštaláciu.", + "toast.update.action.installRestart": "Nainštalovať a reštartovať", + "toast.update.action.notYet": "Ešte nie", + "error.page.title": "Niečo sa pokazilo", + "error.page.description": "Pri načítavaní aplikácie došlo k chybe.", + "error.page.description.localServerStartup": "Pri spúšťaní lokálneho servera došlo k chybe.", + "error.page.details.label": "Podrobnosti o chybe", + "error.page.action.restart": "Reštartovať", + "error.page.action.report": "Nahlásiť chybu", + "error.page.action.reported": "Chyba nahlásená", + "error.page.action.exportLogs": "Exportovať logy", + "error.page.action.checking": "Kontroluje sa...", + "error.page.action.checkUpdates": "Skontrolovať aktualizácie", + "error.page.action.updateTo": "Aktualizovať na {{version}}", + "error.page.circular": "[Cyklické]", + "error.page.report.prefix": "Nahláste túto chybu tímu OpenCode", + "error.page.report.discord": "na Discorde", + "error.page.version": "Verzia: {{version}}", + "error.dev.rootNotFound": + "Koreňový prvok sa nenašiel. Pridali ste ho do index.html? Alebo je atribút id napísaný nesprávne?", + "error.serverSync.connectFailed": "Nepodarilo sa pripojiť k serveru. Beží server na adrese `{{url}}`?", + "error.serverSDK.noServerAvailable": "Nie je dostupný žiadny server", + "error.serverSDK.serverNotAvailable": "Server nie je dostupný", + "error.childStore.persistedCacheCreateFailed": "Nepodarilo sa vytvoriť trvalú vyrovnávaciu pamäť", + "error.childStore.persistedProjectMetadataCreateFailed": "Nepodarilo sa vytvoriť trvalé metadáta projektu", + "error.childStore.persistedProjectIconCreateFailed": "Nepodarilo sa vytvoriť trvalú ikonu projektu", + "error.childStore.storeCreateFailed": "Nepodarilo sa vytvoriť úložisko", + "directory.error.invalidUrl": "Neplatný adresár v URL.", + "error.chain.unknown": "Neznáma chyba", + "error.server.invalidConfiguration": "Neplatná konfigurácia", + "error.chain.causedBy": "Príčina:", + "error.chain.apiError": "Chyba API", + "error.chain.status": "Stav: {{status}}", + "error.chain.retryable": "Možné opakovať: {{retryable}}", + "error.chain.responseBody": "Telo odpovede:\n{{body}}", + "error.chain.didYouMean": "Mysleli ste: {{suggestions}}", + "error.chain.modelNotFound": "Model nenájdený: {{provider}}/{{model}}", + "error.chain.checkConfig": "Skontrolujte názvy poskytovateľa/modelu v konfigurácii (opencode.json)", + "error.chain.mcpFailed": "MCP server „{{name}}“ zlyhal. Poznámka: OpenCode zatiaľ nepodporuje MCP autentifikáciu.", + "error.chain.providerAuthFailed": "Autentifikácia poskytovateľa zlyhala ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + "Inicializácia poskytovateľa „{{provider}}“ zlyhala. Skontrolujte prihlasovacie údaje a konfiguráciu.", + "error.chain.configJsonInvalid": "Konfiguračný súbor na {{path}} nie je platný JSON(C)", + "error.chain.configJsonInvalidWithMessage": "Konfiguračný súbor na {{path}} nie je platný JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + "Adresár „{{dir}}“ v {{path}} nie je platný. Premenujte adresár na „{{suggestion}}“ alebo ho odstráňte. Toto je častý preklep.", + "error.chain.configFrontmatterError": "Nepodarilo sa spracovať frontmatter v {{path}}:\n{{message}}", + "error.chain.configInvalid": "Konfiguračný súbor na {{path}} je neplatný", + "error.chain.configInvalidWithMessage": "Konfiguračný súbor na {{path}} je neplatný: {{message}}", + "notification.permission.title": "Vyžaduje sa povolenie", + "notification.permission.description": "{{sessionTitle}} v {{projectName}} vyžaduje povolenie", + "notification.question.title": "Otázka", + "notification.question.description": "{{sessionTitle}} v {{projectName}} má otázku", + "notification.action.goToSession": "Prejsť na reláciu", + "notification.session.responseReady.title": "Odpoveď pripravená", + "notification.session.error.title": "Chyba relácie", + "notification.session.error.fallbackDescription": "Vyskytla sa chyba", + "home.recentProjects": "Nedávne projekty", + "home.empty.title": "Žiadne nedávne projekty", + "home.empty.description": "Začnite otvorením miestneho projektu", + "home.title": "Domov", + "home.projects": "Projekty", + "home.project.add": "Pridať projekt", + "home.recentlyClosed": "Nedávno zatvorené", + "home.server.collapse": "Zbaliť serverové projekty", + "home.server.expand": "Rozbaliť serverové projekty", + "home.sessions.search.placeholder": "Hľadať relácie", + "home.sessions.search.placeholder.scoped": "Hľadať relácie v {{scope}}", + "home.sessions.search.sessions": "Relácie", + "home.sessions.search.noResults": "Nenašli sa žiadne relácie pre {{query}}", + "home.sessions.empty": "Zatiaľ tu nič nie je", + "home.sessions.empty.description": "Vytvorte reláciu pre začiatok", + "home.sessions.group.today": "Dnes", + "home.sessions.group.yesterday": "Včera", + "home.sessions.group.older": "Staršie", + "home.providerTip": + "Pripojte sa k viac ako 75 poskytovateľom a používajte ďalšie modely, vrátane Claude, GPT, Gemini a ďalších", + "session.tab.session": "Relácia", + "session.tab.review": "Revízia", + "session.tab.context": "Kontext", + "session.tab.unknown": "Neznáma relácia", + "session.panel.reviewAndFiles": "Revízia a súbory", + "session.error.notFound": "Táto relácia sa nenašla", + "session.error.notFound.description": "Táto karta odkazuje na reláciu, ktorá už na tomto serveri neexistuje.", + "session.error.notFound.closeTab": "Zavrieť kartu", + "session.error.serverConnection": "Nedá sa pripojiť k tomuto serveru", + "session.review.filesChanged": "Zmenené súbory {{count}}", + "session.review.change.one": "Zmena", + "session.review.change.other": "Zmeny", + "session.review.loadingChanges": "Načítavam zmeny...", + "session.review.empty": "V tejto relácii zatiaľ nie sú žiadne zmeny", + "session.review.noVcs": "Nebolo zistené Git verzionovanie, zmeny sa nezobrazujú", + "session.review.noVcs.createGit.title": "Vytvoriť Git repozitár", + "session.review.noVcs.createGit.description": "Sledujte, kontrolujte a vracajte zmeny v tomto projekte", + "session.review.noVcs.createGit.actionLoading": "Vytváram Git repozitár...", + "session.review.noVcs.createGit.action": "Vytvoriť Git repozitár", + "session.review.noSnapshot": "Sledovanie snímok je v konfigurácii vypnuté, zmeny relácie nie sú dostupné", + "session.review.noChanges": "Žiadne zmeny", + "session.review.noUncommittedChanges": "Zatiaľ žiadne neuložené zmeny", + "session.review.noBranchChanges": "Zatiaľ žiadne zmeny vetvy", + "session.files.selectToOpen": "Vyberte súbor na otvorenie", + "session.files.all": "Všetky súbory", + "session.files.empty": "Žiadne súbory", + "session.files.binaryContent": "Binárny súbor (obsah sa nedá zobraziť)", + "session.messages.renderEarlier": "Zobraziť staršie správy", + "session.messages.loadingEarlier": "Načítavam staršie správy...", + "session.messages.loadEarlier": "Načítať staršie správy", + "session.messages.loading": "Načítavam správy...", + "session.messages.jumpToLatest": "Prejsť na najnovšie", + "session.context.addToContext": "Pridať {{selection}} do kontextu", + "session.todo.title": "Úlohy", + "session.todo.collapse": "Zbaliť", + "session.todo.expand": "Rozbaliť", + "session.todo.progress": "{{done}} z {{total}} úloh dokončených", + "session.question.progress": "{{current}} z {{total}} otázok", + "session.question.minimize": "Minimalizovať otázku", + "session.question.restore": "Obnoviť otázku", + "session.question.pending.one": "{{count}} čakajúca otázka", + "session.question.pending.other": "{{count}} čakajúcich otázok", + "session.question.pending.few": "{{count}} čakajúce otázky", + "session.question.pending.many": "{{count}} čakajúcej otázky", + "session.followupDock.summary.one": "{{count}} zaradená správa", + "session.followupDock.summary.other": "{{count}} zaradených správ", + "session.followupDock.summary.few": "{{count}} zaradené správy", + "session.followupDock.summary.many": "{{count}} zaradenej správy", + "session.followupDock.sendNow": "Odoslať teraz", + "session.followupDock.edit": "Upraviť", + "session.followupDock.collapse": "Zbaliť zaradené správy", + "session.followupDock.expand": "Rozbaliť zaradené správy", + "session.revertDock.summary.one": "{{count}} vrátená správa", + "session.revertDock.summary.other": "{{count}} vrátených správ", + "session.revertDock.summary.few": "{{count}} vrátené správy", + "session.revertDock.summary.many": "{{count}} vrátenej správy", + "session.revertDock.collapse": "Zbaliť vrátené správy", + "session.revertDock.expand": "Rozbaliť vrátené správy", + "session.revertDock.restore": "Obnoviť správu", + "session.new.title": "Vytvorte čokoľvek", + "session.new.project.new": "Nový projekt", + "session.new.project.search": "Hľadať projekty", + "session.new.project.add": "Pridať projekt", + "session.new.worktree.main": "Hlavná vetva", + "session.new.worktree.mainWithBranch": "Hlavná vetva ({{branch}})", + "session.new.worktree.create": "Vytvoriť novú pracovnú vetvu", + "session.new.workspace.runIn": "Spustiť reláciu v", + "session.new.workspace.triggerLocal": "Lokálne", + "session.new.workspace.local": "Lokálne úložisko", + "session.new.workspace.existing": "Pracovný priestor…", + "session.new.git.none": "Bez Git", + "session.new.lastModified": "Naposledy upravené", + "session.header.search.placeholder": "Hľadať v {{project}}", + "session.header.searchFiles": "Hľadať súbory", + "session.header.openIn": "Otvoriť v", + "session.header.open.action": "Otvoriť v {{app}}", + "session.header.open.ariaLabel": "Otvoriť v {{app}}", + "session.header.open.menu": "Možnosti otvorenia", + "session.header.open.copyPath": "Kopírovať cestu", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "Prieskumník súborov", + "session.header.open.fileManager": "Správca súborov", + "session.header.reveal.finder": "Zobraziť vo Finderi", + "session.header.reveal.fileExplorer": "Zobraziť v Prieskumníku súborov", + "session.header.reveal.containingFolder": "Otvoriť obsahujúci priečinok", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Terminál", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "Stav", + "status.popover.ariaLabel": "Konfigurácie servera", + "status.popover.tab.servers": "Servery", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "Zásuvné moduly", + "status.popover.action.manageServers": "Spravovať servery", + "session.share.popover.title": "Zverejniť na webe", + "session.share.popover.description.shared": "Táto relácia je verejná na webe. Prístupná je komukoľvek s odkazom.", + "session.share.popover.description.unshared": + "Zdieľajte reláciu verejne na webe. Bude prístupná komukoľvek s odkazom.", + "session.share.action.share": "Zdieľať", + "session.share.action.publish": "Zverejniť", + "session.share.action.publishing": "Zverejňovanie...", + "session.share.action.unpublish": "Zrušiť zverejnenie", + "session.share.action.unpublishing": "Ruší sa zverejnenie...", + "session.share.action.view": "Zobraziť", + "session.share.copy.copied": "Skopírované", + "session.share.copy.copyLink": "Kopírovať odkaz", + "lsp.tooltip.none": "Žiadne LSP servery", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "Načítava sa výzva...", + "terminal.loading": "Načítava sa terminál...", + "terminal.title": "Terminál", + "terminal.title.numbered": "Terminál {{number}}", + "terminal.close": "Zavrieť terminál", + "terminal.connectionLost.title": "Pripojenie prerušené", + "terminal.connectionLost.abnormalClose": "WebSocket bol abnormálne ukončený: {{code}}", + "terminal.connectionLost.description": "Pripojenie terminálu bolo prerušené. Môže sa to stať pri reštarte servera.", + "terminal.connectTicket.csrfError": + "Lístok na pripojenie PTY bol odmietnutý kvôli pôvodu alebo CSRF kontrole. Skontrolujte CORS nastavenie servera.", + "terminal.connectTicket.statusError": "Lístok na pripojenie PTY zlyhal so stavom {{status}}", + "titlebar.update": "Aktualizovať", + "titlebar.updateVersion": "Aktualizovať na verziu {{version}}", + "common.closeTab": "Zavrieť kartu", + "common.dismiss": "Zavrieť", + "common.moreCountSuffix": " (+{{count}} ďalšie)", + "common.requestFailed": "Požiadavka zlyhala", + "common.moreOptions": "Viac možností", + "common.learnMore": "Zistiť viac", + "common.rename": "Premenovať", + "common.export": "Exportovať", + "common.reset": "Obnoviť", + "common.archive": "Archivovať", + "common.delete": "Odstrániť", + "common.close": "Zavrieť", + "common.edit": "Upraviť", + "common.loadMore": "Načítať viac", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Medzerník", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "neznáme", + "common.time.justNow": "Práve teraz", + "common.time.minutesAgo.short": "pred {{count}} min", + "common.time.hoursAgo.short": "pred {{count}} h", + "common.time.daysAgo.short": "pred {{count}} d", + "sidebar.menu.toggle": "Prepnúť menu", + "sidebar.nav.projectsAndSessions": "Projekty a relácie", + "sidebar.settings": "Nastavenia", + "sidebar.help": "Pomocník", + "sidebar.workspaces.enable": "Povoliť pracovné priestory", + "sidebar.workspaces.disable": "Zakázať pracovné priestory", + "sidebar.gettingStarted.title": "Začíname", + "sidebar.gettingStarted.line1": "OpenCode obsahuje bezplatné modely, takže môžete začať okamžite.", + "sidebar.gettingStarted.line2": + "Pripojte ľubovoľného poskytovateľa na používanie modelov, vrátane Claude, GPT, Gemini a ďalších.", + "sidebar.project.recentSessions": "Nedávne relácie", + "sidebar.project.viewAllSessions": "Zobraziť všetky relácie", + "sidebar.project.clearNotifications": "Vymazať oznámenia", + "sidebar.empty.title": "Nie sú otvorené žiadne projekty", + "sidebar.empty.description": "Otvorte projekt pre začiatok", + "debugBar.ariaLabel": "Diagnostika výkonu vývoja", + "debugBar.na": "n/a", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "Posledný dokončený prechod trasy dotýkajúci sa stránky relácie, merané od začiatku smerovača po prvé vykreslenie po ustálení.", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "Priemerný počet snímok za sekundu za posledných 5 sekúnd.", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "Najhorší čas snímky za posledných 5 sekúnd.", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "Snímky nad 32 ms za posledných 5 sekúnd.", + "debugBar.long.label": "LONG", + "debugBar.long.tip": "Blokovaný čas a počet dlhých úloh za posledných 5 sekúnd. Max. úloha: {{max}}.", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "Najhoršie zaznamenané oneskorenie vstupu za posledných 5 sekúnd.", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": + "Približné trvanie interakcie za posledných 5 sekúnd. Toto je podobné INP, nie oficiálne Web Vitals INP.", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "Kumulatívny posun rozloženia počas aktuálneho behu aplikácie.", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "Použitá JS halda vs limit haldy. Len Chromium.", + "debugBar.mem.tip": "Použitá JS halda vs limit haldy. {{used}} z {{limit}}.", + "debugBar.focus.label": "FOKUS", + "debugBar.focus.tip": "Vynútiť štýly zamerania na všetky interaktívne prvky", + "debugBar.focus.on": "ZAP.", + "debugBar.focus.off": "VYP.", + "debugBar.direction.label": "SMER", + "debugBar.direction.tip": "Vynútiť smer rozloženia celej aplikácie bez zmeny vybraného jazyka", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode Desktop", + "settings.section.desktop": "Desktop", + "settings.section.server": "Server", + "settings.tab.general": "Všeobecné", + "settings.tab.shortcuts": "Klávesové skratky", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "Integrácia s WSL", + "settings.desktop.wsl.description": "Spustiť server OpenCode vo WSL na Windows.", + "settings.general.section.appearance": "Vzhľad", + "settings.general.section.advanced": "Pokročilé", + "settings.general.section.notifications": "Systémové upozornenia", + "settings.general.section.updates": "Aktualizácie", + "settings.general.section.sounds": "Zvukové efekty", + "settings.general.section.feed": "Kanál", + "settings.general.section.display": "Zobrazenie", + "settings.general.row.language.title": "Jazyk", + "settings.general.row.language.description": "Zmeniť jazyk rozhrania pre OpenCode", + "settings.general.row.shell.title": "Terminálový shell", + "settings.general.row.shell.description": "Shell používaný terminálom a nástrojmi agenta", + "settings.general.row.shell.autoDefault": "Automaticky (predvolené)", + "settings.general.row.shell.terminalOnly": "iba terminál", + "settings.general.row.appearance.title": "Vzhľad", + "settings.general.row.appearance.description": "Prispôsobte vzhľad OpenCode na svojom zariadení", + "settings.general.row.colorScheme.title": "Farebná schéma", + "settings.general.row.colorScheme.description": + "Vyberte, či má OpenCode nasledovať systémovú, svetlú alebo tmavú tému", + "settings.general.row.theme.title": "Téma", + "settings.general.row.theme.description": "Prispôsobte tému OpenCode.", + "settings.general.row.font.title": "Písmo kódu", + "settings.general.row.font.description": "Prispôsobte písmo používané v blokoch kódu", + "settings.general.row.terminalFont.title": "Písmo terminálu", + "settings.general.row.terminalFont.description": "Prispôsobte písmo používané v termináli", + "settings.general.row.uiFont.title": "Písmo rozhrania", + "settings.general.row.uiFont.description": "Prispôsobte písmo používané v celom rozhraní", + "settings.general.row.followup.title": "Správanie následných výziev", + "settings.general.row.followup.description": "Vyberte, či sa následné výzvy vykonajú ihneď alebo čakajú v poradí", + "settings.general.row.followup.option.queue": "Poradie", + "settings.general.row.followup.option.steer": "Ihneď", + "settings.general.row.showFileTree.title": "Strom súborov", + "settings.general.row.showFileTree.description": "Zobraziť panel stromu súborov v reláciách", + "settings.general.row.showNavigation.title": "Navigačné ovládanie", + "settings.general.row.showNavigation.description": "Zobraziť tlačidlá späť a dopredu v titulnom paneli na ploche", + "settings.general.row.showSearch.title": "Paleta príkazov", + "settings.general.row.showSearch.description": "Zobraziť tlačidlo vyhľadávania a palety príkazov v titulnom paneli", + "settings.general.row.showTerminal.title": "Terminál", + "settings.general.row.showTerminal.description": "Zobraziť tlačidlo terminálu v titulnom paneli na ploche", + "settings.general.row.showStatus.title": "Stav servera", + "settings.general.row.showStatus.description": "Zobraziť tlačidlo stavu servera v titulnom paneli", + "settings.general.row.mobileTitlebarBottom.title": "Spodná navigácia", + "settings.general.row.mobileTitlebarBottom.description": + "Umiestniť panel s názvom a karty relácií na spodok obrazovky v mobile", + "settings.general.row.showCustomAgents.title": "Zobraziť agenta", + "settings.general.row.showCustomAgents.description": + "Prepínať medzi agentmi v editore. Ak je skryté, predvolený je Build agent.", + "settings.general.row.reasoningSummaries.title": "Zobraziť súhrny uvažovania", + "settings.general.row.reasoningSummaries.description": "Zobrazovať súhrny uvažovania modelu v časovej osi", + "settings.general.row.shellToolPartsExpanded.title": "Rozbaliť časti shell nástroja", + "settings.general.row.shellToolPartsExpanded.description": "Predvolene rozbaliť časti shell nástroja v časovej osi", + "settings.general.row.editToolPartsExpanded.title": "Rozbaliť časti editačného nástroja", + "settings.general.row.editToolPartsExpanded.description": + "Predvolene rozbaliť časti editácie, písania a patchovania v časovej osi", + "settings.general.row.newInterface.title": "Nové rozloženie", + "settings.general.row.newInterface.badge": "Nové", + "settings.general.row.newInterface.description": + "Použiť nové karty a domovské rozloženie. Prepínanie rozložení je dostupné len dočasne.", + "settings.general.row.newInterfaceNotice.title": "Používate nové rozloženie", + "settings.general.row.newInterfaceNotice.description": "Predchádzajúce rozloženie už nie je dostupné", + "settings.general.row.newInterfaceNotice.dismiss": "Zavrieť", + "settings.general.row.pinchZoom.title": "Priblíženie gestom", + "settings.general.row.pinchZoom.description": "Povoliť priblíženie pomocou gest na touchpade a Ctrl-posúvanie", + "settings.general.row.wayland.title": "Použiť natívny Wayland", + "settings.general.row.wayland.description": "Zakázať X11 fallback na Waylande. Vyžaduje reštart.", + "settings.general.row.wayland.tooltip": + "Na Linuxe s monitormi s rôznou obnovovacou frekvenciou môže byť natívny Wayland stabilnejší.", + "settings.general.row.releaseNotes.title": "Poznámky k vydaniu", + "settings.general.row.releaseNotes.description": "Zobrazovať okná Čo je nové po aktualizáciách", + "settings.updates.row.startup.title": "Kontrolovať aktualizácie pri spustení", + "settings.updates.row.startup.description": "Automaticky kontrolovať aktualizácie pri spustení OpenCode", + "settings.updates.row.check.title": "Skontrolovať aktualizácie", + "settings.updates.row.check.description": "Manuálne skontrolovať a nainštalovať dostupné aktualizácie", + "settings.updates.action.checkNow": "Skontrolovať teraz", + "settings.updates.action.checking": "Kontroluje sa...", + "settings.updates.action.downloading": "Sťahuje sa...", + "settings.updates.action.installing": "Inštalujem...", + "settings.updates.toast.latest.title": "Všetko je aktuálne", + "settings.updates.toast.latest.description": "Používate najnovšiu verziu OpenCode.", + "sound.option.none": "Žiadny", + "sound.option.alert01": "Upozornenie 01", + "sound.option.alert02": "Upozornenie 02", + "sound.option.alert03": "Upozornenie 03", + "sound.option.alert04": "Upozornenie 04", + "sound.option.alert05": "Upozornenie 05", + "sound.option.alert06": "Upozornenie 06", + "sound.option.alert07": "Upozornenie 07", + "sound.option.alert08": "Upozornenie 08", + "sound.option.alert09": "Upozornenie 09", + "sound.option.alert10": "Upozornenie 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "Nope 01", + "sound.option.nope02": "Nope 02", + "sound.option.nope03": "Nope 03", + "sound.option.nope04": "Nope 04", + "sound.option.nope05": "Nope 05", + "sound.option.nope06": "Nope 06", + "sound.option.nope07": "Nope 07", + "sound.option.nope08": "Nope 08", + "sound.option.nope09": "Nope 09", + "sound.option.nope10": "Nope 10", + "sound.option.nope11": "Nope 11", + "sound.option.nope12": "Nope 12", + "sound.option.yup01": "Yup 01", + "sound.option.yup02": "Yup 02", + "sound.option.yup03": "Yup 03", + "sound.option.yup04": "Yup 04", + "sound.option.yup05": "Yup 05", + "sound.option.yup06": "Yup 06", + "settings.general.notifications.agent.title": "Agent", + "settings.general.notifications.agent.description": + "Zobraziť systémové oznámenie po dokončení agenta alebo ak vyžaduje pozornosť", + "settings.general.notifications.permissions.title": "Oprávnenia", + "settings.general.notifications.permissions.description": "Zobraziť systémové oznámenie, keď je potrebné oprávnenie", + "settings.general.notifications.errors.title": "Chyby", + "settings.general.notifications.errors.description": "Zobraziť systémové oznámenie pri výskyte chyby", + "settings.general.sounds.agent.title": "Agent", + "settings.general.sounds.agent.description": "Prehrať zvuk po dokončení agenta alebo ak vyžaduje pozornosť", + "settings.general.sounds.permissions.title": "Oprávnenia", + "settings.general.sounds.permissions.description": "Prehrať zvuk, keď je potrebné oprávnenie", + "settings.general.sounds.errors.title": "Chyby", + "settings.general.sounds.errors.description": "Prehrať zvuk pri chybe", + "settings.shortcuts.title": "Klávesové skratky", + "settings.shortcuts.reset.button": "Obnoviť predvolené", + "settings.shortcuts.reset.toast.title": "Skratky obnovené", + "settings.shortcuts.reset.toast.description": "Klávesové skratky boli obnovené na predvolené hodnoty.", + "settings.shortcuts.conflict.title": "Skratka sa už používa", + "settings.shortcuts.conflict.description": "{{keybind}} je už priradená k {{titles}}.", + "settings.shortcuts.unassigned": "Nepřiřadené", + "settings.shortcuts.pressKeys": "Stlačte klávesy", + "settings.shortcuts.search.placeholder": "Hľadať skratky", + "settings.shortcuts.search.empty": "Nenašli sa žiadne skratky", + "settings.shortcuts.group.general": "Všeobecné", + "settings.shortcuts.group.session": "Relácia", + "settings.shortcuts.group.navigation": "Navigácia", + "settings.shortcuts.group.modelAndAgent": "Model a agent", + "settings.shortcuts.group.terminal": "Terminál", + "settings.shortcuts.group.prompt": "Výzva", + "settings.providers.title": "Poskytovatelia", + "settings.providers.description": "Nastavenia poskytovateľov budú konfigurovateľné tu.", + "settings.providers.section.connected": "Pripojení poskytovatelia", + "settings.providers.connected.empty": "Žiadni pripojení poskytovatelia", + "settings.providers.connected.environmentDescription": "Pripojené z vašich premenných prostredia", + "settings.providers.section.popular": "Populárni poskytovatelia", + "settings.providers.custom.description": "Pridajte poskytovateľa kompatibilného s OpenAI pomocou základnej URL.", + "settings.providers.tag.environment": "Prostredie", + "settings.providers.tag.config": "Konfigurácia", + "settings.providers.tag.custom": "Vlastné", + "settings.providers.tag.other": "Iné", + "settings.models.title": "Modely", + "settings.models.description": "Nastavenia modelov budú konfigurovateľné tu.", + "settings.agents.title": "Agenti", + "settings.agents.description": "Nastavenia agentov budú konfigurovateľné tu.", + "settings.commands.title": "Príkazy", + "settings.commands.description": "Nastavenia príkazov budú konfigurovateľné tu.", + "settings.mcp.title": "MCP", + "settings.mcp.description": "Nastavenia MCP budú konfigurovateľné tu.", + "settings.permissions.title": "Oprávnenia", + "settings.permissions.description": "Spravujte, aké nástroje môže server používať predvolene.", + "settings.permissions.section.tools": "Nástroje", + "settings.permissions.toast.updateFailed.title": "Nepodarilo sa aktualizovať oprávnenia", + "settings.permissions.action.allow": "Povoliť", + "settings.permissions.action.ask": "Opýtať sa", + "settings.permissions.action.deny": "Zakázať", + "settings.permissions.tool.read.title": "Čítanie", + "settings.permissions.tool.read.description": "Čítanie súboru (zodpovedá ceste k súboru)", + "settings.permissions.tool.edit.title": "Úprava", + "settings.permissions.tool.edit.description": "Úprava súborov vrátane zmien, zápisu a patchov", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "Vyhľadávanie súborov pomocou glob vzorov", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "Vyhľadávanie v obsahu súborov pomocou regulárnych výrazov", + "settings.permissions.tool.list.title": "Zoznam", + "settings.permissions.tool.list.description": "Zobraziť súbory v adresári", + "settings.permissions.tool.bash.title": "Bash", + "settings.permissions.tool.bash.description": "Spustiť príkazy shellu", + "settings.permissions.tool.task.title": "Úloha", + "settings.permissions.tool.task.description": "Spustiť podagentov", + "settings.permissions.tool.skill.title": "Zručnosť", + "settings.permissions.tool.skill.description": "Načítať zručnosť podľa názvu", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "Spúšťať dotazy na jazykový server", + "settings.permissions.tool.todowrite.title": "Zápis do zoznamu úloh", + "settings.permissions.tool.todowrite.description": "Aktualizovať zoznam úloh", + "settings.permissions.tool.webfetch.title": "Načítať z webu", + "settings.permissions.tool.webfetch.description": "Načítať obsah z URL", + "settings.permissions.tool.websearch.title": "Vyhľadávanie na webe", + "settings.permissions.tool.websearch.description": "Vyhľadávať na webe", + "settings.permissions.tool.external_directory.title": "Externý adresár", + "settings.permissions.tool.external_directory.description": "Prístup k súborom mimo projektového adresára", + "settings.permissions.tool.doom_loop.title": "Doom Loop", + "settings.permissions.tool.doom_loop.description": "Detekovať opakované volania nástroja s rovnakým vstupom", + "session.delete.failed.title": "Nepodarilo sa odstrániť reláciu", + "session.delete.title": "Odstrániť reláciu", + "session.delete.confirm": "Odstrániť reláciu „{{name}}“?", + "session.delete.button": "Odstrániť reláciu", + "workspace.new": "Nový pracovný priestor", + "workspace.type.local": "lokálny", + "workspace.type.sandbox": "sandbox", + "workspace.create.failed.title": "Nepodarilo sa vytvoriť pracovný priestor", + "workspace.delete.failed.title": "Nepodarilo sa odstrániť pracovný priestor", + "workspace.resetting.title": "Obnovuje sa pracovný priestor", + "workspace.resetting.description": "Toto môže chvíľu trvať.", + "workspace.reset.failed.title": "Nepodarilo sa obnoviť pracovný priestor", + "workspace.reset.success.title": "Pracovný priestor obnovený", + "workspace.reset.success.description": "Pracovný priestor teraz zodpovedá predvolenému vetvu.", + "workspace.error.stillPreparing": "Pracovný priestor sa ešte pripravuje", + "workspace.status.checking": "Kontrolujú sa nezlúčené zmeny...", + "workspace.status.error": "Nepodarilo sa overiť stav git.", + "workspace.status.clean": "Nezistené žiadne nezlúčené zmeny.", + "workspace.status.dirty": "V tomto pracovnom priestore boli zistené nezlúčené zmeny.", + "workspace.delete.title": "Odstrániť pracovný priestor", + "workspace.delete.confirm": "Odstrániť pracovný priestor „{{name}}“?", + "workspace.delete.button": "Odstrániť pracovný priestor", + "workspace.reset.title": "Obnoviť pracovný priestor", + "workspace.reset.confirm": "Obnoviť pracovný priestor „{{name}}“?", + "workspace.reset.button": "Obnoviť pracovný priestor", + "workspace.reset.archived.none": "Žiadne aktívne relácie nebudú archivované.", + "workspace.reset.archived.one": "1 relácia bude archivovaná.", + "workspace.reset.archived.many": "{{count}} relácií bude archivovaných.", + "workspace.reset.note": "Týmto sa pracovný priestor obnoví podľa predvolenej vetvy.", + "dialog.usageExceeded.dontShowAgain": "Znova nezobrazovať", +} diff --git a/packages/app/src/i18n/sl.ts b/packages/app/src/i18n/sl.ts new file mode 100644 index 000000000000..3c23fcd7f708 --- /dev/null +++ b/packages/app/src/i18n/sl.ts @@ -0,0 +1,1163 @@ +export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Datoteka", + "desktop.menu.edit": "Uredi", + "desktop.menu.view": "Pogled", + "desktop.menu.go": "pojdi", + "desktop.menu.window": "Okno", + "desktop.menu.help": "pomoč", + "desktop.menu.checkForUpdates": "Preverite posodobitve ...", + "desktop.menu.settings": "nastavitve", + "desktop.menu.reloadWebview": "Ponovno naloži Webview", + "desktop.menu.restart": "Znova zaženite", + "desktop.menu.exportLogs": "Izvozi dnevnike ...", + "desktop.menu.newSession": "Nova seja", + "desktop.menu.openProject": "Odpri projekt ...", + "desktop.menu.newWindow": "Novo okno", + "desktop.menu.closeWindow": "Zapri okno", + "desktop.menu.undo": "Razveljavi", + "desktop.menu.redo": "Ponovi", + "desktop.menu.cut": "Izreži", + "desktop.menu.copy": "Kopiraj", + "desktop.menu.paste": "Prilepi", + "desktop.menu.delete": "Izbriši", + "desktop.menu.selectAll": "Izberite Vse", + "desktop.menu.toggleSidebar": "Preklopi stransko vrstico", + "desktop.menu.toggleTerminal": "Preklopi terminal", + "desktop.menu.toggleFileTree": "Preklopi drevo datotek", + "desktop.menu.reload": "Ponovno naloži", + "desktop.menu.toggleDeveloperTools": "Preklop orodij za razvijalce", + "desktop.menu.actualSize": "Dejanska velikost", + "desktop.menu.zoomIn": "Povečaj", + "desktop.menu.zoomOut": "Pomanjšaj", + "desktop.menu.toggleFullScreen": "Preklop na celoten zaslon", + "desktop.menu.back": "Nazaj", + "desktop.menu.forward": "Naprej", + "desktop.menu.previousSession": "Prejšnja seja", + "desktop.menu.nextSession": "Naslednja seja", + "desktop.menu.previousProject": "Prejšnji projekt", + "desktop.menu.nextProject": "Naslednji projekt", + "desktop.menu.minimize": "Zmanjšaj", + "desktop.menu.maximize": "Povečaj", + "desktop.menu.documentation": "OpenCode Dokumentacija", + "desktop.menu.supportForum": "Forum za podporo", + "desktop.menu.shareFeedback": "Delite povratne informacije", + "desktop.menu.reportBug": "Prijavi napako", + "desktop.menu.ariaLabel": "OpenCode meni", + "desktop.updater.dialog.checkFailed.message": "Preverjanje posodobitve ni uspelo.", + "desktop.updater.dialog.checkFailed.title": "Napaka posodobitve", + "desktop.updater.dialog.upToDate.message": "Ste na tekočem.", + "desktop.updater.dialog.upToDate.title": "Brez posodobitev", + "desktop.updater.dialog.ready.message": "Prenesena posodobitev {{version}}. Ponovno zagnati zdaj?", + "desktop.updater.dialog.ready.title": "Posodobitev pripravljena", + "desktop.updater.dialog.restart": "Znova zaženite", + "desktop.updater.dialog.later": "Kasneje", + "desktop.recovery.action.relaunch": "Znova zaženi", + "desktop.recovery.action.exportLogs": "Izvozi dnevnike", + "desktop.recovery.action.keepWaiting": "Čakaj še naprej", + "desktop.recovery.action.quit": "Končaj", + "desktop.recovery.loadFailed": "OpenCode ni uspelo naložiti", + "desktop.recovery.terminated": "Okno OpenCode se je nepričakovano končalo", + "desktop.recovery.unresponsive": "OpenCode se ne odziva", + "desktop.recovery.unresponsive.detail": "Lahko znova zaženete aplikacijo, odprete dnevnike ali počakate.", + "desktop.recovery.loadFailed.detail": "Okno: {{window}}\nURL: {{url}}\nNapaka: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Okno: {{window}}\nRazlog: {{reason}}\nKoda: {{code}}", + "desktop.recovery.unknown": "", + "desktop.dialog.chooseFolder": "Izberite mapo", + "desktop.dialog.chooseFile": "Izberite datoteko", + "desktop.dialog.saveFile": "Shrani datoteko", + "desktop.dialog.files": "Datoteke", + "desktop.server.local": "Lokalni strežnik", + "desktop.wsl.error.windowsOnly": "WSL je na voljo samo na Windows", + "desktop.wsl.error.unavailable": "WSL ni na voljo", + "desktop.wsl.error.listInstalled": "Seznam nameščenih distribucij WSL ni uspel", + "desktop.wsl.error.listOnline": "Seznam spletnih distribucij WSL ni uspel", + "desktop.wsl.error.executeDistro": "Ni mogoče izvajati ukazov v distribuciji", + "desktop.wsl.error.installWsl": "Namestitev WSL ni uspela", + "desktop.wsl.error.installDistro": "Namestitev distribucije ni uspela: {{distro}}", + "desktop.wsl.error.installOpencode": "Namestitev OpenCode ni uspela", + "desktop.wsl.error.alreadyAdded": "{{distro}} je že dodan", + "desktop.wsl.error.opencodeMissing": "opencode ni nameščen v tej distribuciji", + "desktop.wsl.error.opencodeCannotRun": "opencode je nameščen, vendar se ne more zagnati", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode ni nameščen v {{distro}}", + "desktop.wsl.error.updateVersion": + "Posodobitev OpenCode je končana, vendar {{distro}} še vedno poroča {{installed}}; pričakovano {{expected}}", + "desktop.wsl.error.noVersion": "brez različice", + "desktop.wsl.error.serverExited": "Strežnik WSL je po zagonu zapustil (koda={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "Strežnik WSL je zapustil, preden je postal zdrav (koda={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": "Stranska prikolica za zdravstveni pregled {{distro}} je potekla po {{timeout}}ms", + "desktop.wsl.error.commandTimeout": "Časovna omejitev {{command}} {{args}} je potekla po {{timeout}}ms", + "desktop.wsl.error.failedPort": "Vrat ni bilo mogoče pridobiti", + "desktop.picker.error.notSelected": "Izbirnik ni izbral datoteke", + "desktop.picker.error.sizeLimit": "Izbrane priloge presegajo omejitev {{limit}} MB", + "command.category.suggested": "Predlagano", + "command.category.view": "Pogled", + "command.category.project": "Projekt", + "command.category.provider": "Ponudnik", + "command.category.server": "Strežnik", + "command.category.session": "Seja", + "command.category.theme": "Tema", + "command.category.language": "Jezik", + "command.category.file": "Datoteka", + "command.category.context": "Kontekst", + "command.category.terminal": "Terminal", + "command.category.model": "Model", + "command.category.mcp": "MCP", + "command.category.agent": "Agent", + "command.category.permissions": "Dovoljenja", + "command.category.workspace": "Delovni prostor", + "command.category.settings": "nastavitve", + "command.logs.export": "Izvoz dnevnikov", + "theme.scheme.system": "Sistem", + "theme.scheme.light": "Svetloba", + "theme.scheme.dark": "Temno", + "command.sidebar.toggle": "Preklop stranske vrstice", + "command.project.open": "Odprt projekt", + "command.project.previous": "Prejšnji projekt", + "command.project.next": "Naslednji projekt", + "command.project.index": "Preklopite na projekt {{index}}", + "command.provider.connect": "Poveži ponudnika", + "command.server.switch": "Zamenjaj strežnik", + "command.settings.open": "Odprite nastavitve", + "command.session.previous": "Prejšnja seja", + "command.session.next": "Naslednja seja", + "command.session.previous.unseen": "Prejšnja neprebrana seja", + "command.session.next.unseen": "Naslednja neprebrana seja", + "command.session.archive": "Arhiv seje", + "command.palette": "Paleta ukazov", + "command.theme.cycle": "Tema cikla", + "command.theme.set": "Uporabite temo: {{theme}}", + "command.theme.scheme.cycle": "Cikel barvne sheme", + "command.theme.scheme.set": "Uporabite barvno shemo: {{scheme}}", + "command.language.cycle": "Jezik cikla", + "command.language.set": "Uporabi jezik: {{language}}", + "command.session.new": "Nova seja", + "command.file.open": "Odpri datoteko", + "command.tab.close": "Zapri zavihek", + "command.tab.reopenClosed": "Ponovno odpri zaprt zavihek", + "command.context.addSelection": "Dodaj izbor v kontekst", + "command.context.addSelection.description": "Dodaj izbrane vrstice iz trenutne datoteke", + "command.input.focus": "Vnos fokusa", + "command.terminal.toggle": "Preklop terminala", + "command.fileTree.toggle": "Preklop drevesa datotek", + "command.review.toggle": "Preklopi pregled", + "command.terminal.new": "Nov terminal", + "command.terminal.new.description": "Ustvari nov zavihek terminala", + "command.steps.toggle": "Preklapljanje korakov", + "command.steps.toggle.description": "Prikaži ali skrij korake za trenutno sporočilo", + "command.message.previous": "Prejšnje sporočilo", + "command.message.previous.description": "Pojdite na prejšnje uporabniško sporočilo", + "command.message.next": "Naslednje sporočilo", + "command.message.next.description": "Pojdite na naslednje uporabniško sporočilo", + "command.model.choose": "Izberite model", + "command.model.choose.description": "Izberite drug model", + "command.mcp.toggle": "Preklop MCP-jev", + "command.mcp.toggle.description": "Preklop MCP-jev", + "command.agent.cycle": "Naslednji agent", + "command.agent.cycle.description": "Preklopite na naslednjega agenta", + "command.agent.cycle.reverse": "Prejšnji agent", + "command.agent.cycle.reverse.description": "Preklopite na prejšnjega agenta", + "command.model.variant.cycle": "Naslednja raven razmišljanja", + "command.model.variant.cycle.description": "Preklopite na naslednjo stopnjo napora", + "command.prompt.mode.shell": "školjka", + "command.prompt.mode.normal": "Poziv", + "command.permissions.autoaccept.enable": "Samodejno sprejemanje dovoljenj", + "command.permissions.autoaccept.disable": "Ustavi samodejno sprejemanje dovoljenj", + "command.workspace.toggle": "Preklopi delovne prostore", + "command.workspace.toggle.description": "Omogočite ali onemogočite več delovnih prostorov v stranski vrstici", + "command.session.undo": "Razveljavi", + "command.session.undo.description": "Razveljavi zadnje sporočilo", + "command.session.redo": "Ponovi", + "command.session.redo.description": "Ponovite zadnje razveljavljeno sporočilo", + "command.session.compact": "Kompaktna seja", + "command.session.compact.description": "Povzemite sejo, da zmanjšate velikost konteksta", + "command.session.fork": "Razcep iz sporočila", + "command.session.fork.description": "Ustvari novo sejo iz prejšnjega sporočila", + "command.session.share": "Delite sejo", + "command.session.share.description": "Delite to sejo in kopirajte URL v odložišče", + "command.session.unshare": "Prekliči skupno rabo seje", + "command.session.unshare.description": "Nehaj deliti to sejo", + "command.session.export": "Izvozna seja", + "command.session.export.description": "Izvoz celotnega zapisa seje kot JSON", + "palette.search.placeholder": "Iskanje datotek, ukazov in sej", + "palette.search.placeholder.home": "Iskalni ukazi in seje", + "palette.empty": "Ni rezultatov", + "palette.group.commands": "Ukazi", + "palette.group.files": "Datoteke", + "dialog.provider.search.placeholder": "Ponudniki iskanja", + "dialog.provider.empty": "Ni ponudnikov", + "dialog.provider.group.popular": "Priljubljeno", + "dialog.provider.group.other": "drugo", + "dialog.provider.custom.label": "Ponudnik po meri, združljiv z OpenAI", + "dialog.provider.tag.recommended": "Priporočeno", + "dialog.provider.opencode.note": "Izbrani modeli, vključno z Claude, GPT, Gemini in drugimi", + "dialog.provider.opencode.tagline": "Zanesljivi optimizirani modeli", + "dialog.provider.opencodeGo.tagline": "Poceni naročnina za vsakogar", + "dialog.provider.anthropic.note": "Neposreden dostop do modelov Claude, vključno s Pro in Max", + "dialog.provider.copilot.note": "Modeli AI za pomoč pri kodiranju prek GitHub Copilot", + "dialog.provider.openai.note": "Modeli GPT za hitre in zmogljive splošne naloge z umetno inteligenco", + "dialog.provider.google.note": "Modeli Gemini za hitre, strukturirane odzive", + "dialog.provider.openrouter.note": "Dostop do vseh podprtih modelov pri enem ponudniku", + "dialog.provider.vercel.note": "Poenoten dostop do modelov AI s pametnim usmerjanjem", + "dialog.model.select.title": "Izberite model", + "dialog.model.search.placeholder": "Iskanje modelov", + "dialog.model.empty": "Ni rezultatov modela", + "dialog.model.manage": "Upravljanje modelov", + "dialog.model.manage.description": "Prilagodite, kateri modeli se prikažejo v izbirniku modelov.", + "dialog.model.manage.provider.toggle": "Preklopi vse modele {{provider}}", + "dialog.model.unpaid.freeModels.title": "Brezplačne modele ponuja OpenCode", + "dialog.model.unpaid.addMore.title": "Dodajte več modelov priljubljenih ponudnikov", + "dialog.model.unpaid.viewMoreProviders": "Oglejte si več kot 70 ponudnikov", + "dialog.provider.viewAll": "Pokaži več ponudnikov", + "provider.connect.title": "Povežite {{provider}}", + "provider.connect.title.anthropicProMax": "Prijavite se z Claude Pro/Max", + "provider.connect.selectMethod": "Izberite način prijave za {{provider}}.", + "provider.connect.method.apiKey": "Ključ API", + "provider.connect.method.browser": "Brskalnik", + "provider.connect.method.headless": "Brez glave", + "provider.connect.status.inProgress": "Avtorizacija v teku...", + "provider.connect.status.waiting": "Čakanje na avtorizacijo ...", + "provider.connect.status.failed": "Avtorizacija ni uspela: {{error}}", + "provider.connect.apiKey.description": + "Vnesite ključ API ponudnika {{provider}}, da povežete račun in uporabljate modele {{provider}} v OpenCode.", + "provider.connect.apiKey.label": "Ključ {{provider}} API", + "provider.connect.apiKey.placeholder": "Ključ API", + "provider.connect.apiKey.required": "Potreben je ključ API", + "provider.connect.opencodeZen.line1": + "OpenCode Zen vam omogoča dostop do izbranega nabora zanesljivih optimiziranih modelov za agente za kodiranje.", + "provider.connect.opencodeZen.line2": + "Z enim samim ključem API boste dobili dostop do modelov, kot so Claude, GPT, Gemini, GLM in več.", + "provider.connect.opencodeZen.visit.prefix": "Obisk ", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": " za prevzem ključa API.", + "provider.connect.oauth.code.visit.prefix": "Obisk ", + "provider.connect.oauth.code.visit.link": "ta povezava", + "provider.connect.oauth.code.visit.suffix": + " za zbiranje avtorizacijske kode za povezavo vašega računa in uporabo modelov {{provider}} v OpenCode.", + "provider.connect.oauth.code.label": "{{method}} avtorizacijska koda", + "provider.connect.oauth.code.placeholder": "Avtorizacijska koda", + "provider.connect.oauth.code.required": "Zahtevana je avtorizacijska koda", + "provider.connect.oauth.code.invalid": "Neveljavna avtorizacijska koda", + "provider.connect.oauth.auto.visit.prefix": "Obisk ", + "provider.connect.oauth.auto.visit.link": "ta povezava", + "provider.connect.oauth.auto.visit.suffix": + " in vnesite spodnjo kodo, da povežete svoj račun in uporabite modele {{provider}} v OpenCode.", + "provider.connect.oauth.auto.confirmationCode": "Potrditvena koda", + "provider.connect.toast.connected.title": "{{provider}} je povezan", + "provider.connect.toast.connected.description": "Modeli {{provider}} so zdaj na voljo za uporabo.", + "provider.custom.title": "Ponudnik po meri", + "provider.custom.unavailable": "Ponudniki po meri na tem strežniku niso na voljo", + "provider.custom.description.prefix": "Konfigurirajte ponudnika, združljivega z OpenAI. Glej ", + "provider.custom.description.link": "konfiguracijski dokumenti ponudnika", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "ID ponudnika", + "provider.custom.field.providerID.placeholder": "moj ponudnik", + "provider.custom.field.providerID.description": "Male črke, številke, vezaji ali podčrtaji", + "provider.custom.field.name.label": "Prikazno ime", + "provider.custom.field.name.placeholder": "Moj ponudnik AI", + "provider.custom.field.baseURL.label": "Osnova URL", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "Ključ API", + "provider.custom.field.apiKey.placeholder": "Ključ API", + "provider.custom.field.apiKey.description": "Neobvezno. Pustite prazno, če upravljate avtorizacijo prek glav.", + "provider.custom.models.label": "Modeli", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "model-id", + "provider.custom.models.name.label": "Ime", + "provider.custom.models.name.placeholder": "Prikazno ime", + "provider.custom.models.remove": "Odstrani model", + "provider.custom.models.add": "Dodaj model", + "provider.custom.headers.label": "Glave (neobvezno)", + "provider.custom.headers.key.label": "Glava", + "provider.custom.headers.key.placeholder": "Glava-Ime", + "provider.custom.headers.value.label": "Vrednost", + "provider.custom.headers.value.placeholder": "vrednost", + "provider.custom.headers.remove": "Odstrani glavo", + "provider.custom.headers.add": "Dodaj glavo", + "provider.custom.error.providerID.required": "Potreben je ID ponudnika", + "provider.custom.error.providerID.format": "Uporabljajte male črke, številke, vezaje ali podčrtaje", + "provider.custom.error.providerID.exists": "Ta ID ponudnika že obstaja", + "provider.custom.error.name.required": "Prikazno ime je obvezno", + "provider.custom.error.baseURL.required": "Zahtevana je osnova URL", + "provider.custom.error.baseURL.format": "Začeti se mora s http:// ali https://", + "provider.custom.error.required": "Obvezno", + "provider.custom.error.duplicate": "Dvojnik", + "provider.disconnect.toast.disconnected.title": "{{provider}} prekinjen", + "provider.disconnect.toast.disconnected.description": "Modeli {{provider}} niso več na voljo.", + "model.tag.free": "Brezplačno", + "model.tag.latest": "Zadnje", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "besedilo", + "model.input.image": "slika", + "model.input.audio": "zvok", + "model.input.video": "video", + "model.input.pdf": "pdf", + "model.tooltip.allows": "Omogoča: {{inputs}}", + "model.tooltip.context.label": "Kontekst", + "model.tooltip.inputs": "Vložki", + "model.tooltip.model": "Model", + "model.tooltip.provider": "Ponudnik", + "model.tooltip.reasoning": "Utemeljitev", + "model.tooltip.reasoning.allowed": "Omogoča sklepanje", + "model.tooltip.reasoning.none": "Brez obrazložitve", + "model.tooltip.context": "Omejitev konteksta {{limit}}", + "common.search.placeholder": "Iskanje", + "common.goBack": "Navigacija nazaj", + "common.goForward": "Navigacija naprej", + "common.loading": "Nalaganje", + "common.loading.ellipsis": "...", + "common.cancel": "Prekliči", + "common.clear": "jasno", + "common.open": "Odpri", + "common.connect": "Povežite se", + "common.disconnect": "Prekini povezavo", + "common.continue": "Nadaljuj", + "common.submit": "Predloži", + "common.save": "Shrani", + "common.saving": "Shranjevanje ...", + "common.default": "Privzeto", + "common.attachment": "priloga", + "prompt.placeholder.shell": "Vnesite ukaz lupine ... {{example}}", + "prompt.placeholder.normal": 'Vprašajte karkoli ... "{{example}}"', + "prompt.placeholder.simple": "Vprašajte karkoli ...", + "prompt.placeholder.summarizeComments": "Povzemite komentarje …", + "prompt.placeholder.summarizeComment": "Povzemite komentar ...", + "prompt.mode.shell": "školjka", + "prompt.mode.normal": "Poziv", + "prompt.mode.shell.exit": "esc za izhod", + "session.child.promptDisabled": "Sej podagenta ni mogoče pozvati.", + "session.child.backToParent": "Nazaj na glavno sejo.", + "prompt.example.1": "Popravite TODO v zbirki kod", + "prompt.example.2": "Kakšen je tehnološki sklop tega projekta?", + "prompt.example.3": "Popravi pokvarjene teste", + "prompt.example.4": "Pojasnite, kako deluje preverjanje pristnosti", + "prompt.example.5": "Poiščite in odpravite varnostne ranljivosti", + "prompt.example.6": "Dodajte teste enot za uporabniško storitev", + "prompt.example.7": "Preoblikujte to funkcijo, da bo bolj berljiva", + "prompt.example.8": "Kaj pomeni ta napaka?", + "prompt.example.9": "Pomagajte mi odpraviti to težavo", + "prompt.example.10": "Ustvari dokumentacijo API", + "prompt.example.11": "Optimizirajte poizvedbe po bazi podatkov", + "prompt.example.12": "Dodajte preverjanje vnosa", + "prompt.example.13": "Ustvari novo komponento za...", + "prompt.example.14": "Kako uvedem ta projekt?", + "prompt.example.15": "Preglejte mojo kodo za najboljše prakse", + "prompt.example.16": "Tej funkciji dodajte obravnavanje napak", + "prompt.example.17": "Pojasnite ta vzorec regularnega izraza", + "prompt.example.18": "Pretvorite to v TypeScript", + "prompt.example.19": "Dodajte beleženje v celotno kodno zbirko", + "prompt.example.20": "Katere odvisnosti so zastarele?", + "prompt.example.21": "Pomagaj mi napisati skript za selitev", + "prompt.example.22": "Izvedite predpomnjenje za to končno točko", + "prompt.example.23": "Na ta seznam dodajte paginacijo", + "prompt.example.24": "Ustvarite ukaz CLI za...", + "prompt.example.25": "Kako tukaj delujejo spremenljivke okolja?", + "prompt.popover.emptyResults": "Ni ustreznih rezultatov", + "prompt.popover.emptyCommands": "Ni ustreznih ukazov", + "prompt.dropzone.label": "Sem spustite slike, datoteke PDF ali besedilne datoteke", + "prompt.dropzone.file.label": "Spustite v datoteko @mention", + "prompt.slash.badge.custom": "po meri", + "prompt.slash.badge.skill": "spretnost", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "aktivna", + "prompt.context.includeActiveFile": "Vključi aktivno datoteko", + "prompt.context.removeActiveFile": "Odstrani aktivno datoteko iz konteksta", + "prompt.context.removeFile": "Odstrani datoteko iz konteksta", + "prompt.action.attachFile": "Dodajte datoteke", + "prompt.menu.addImagesAndFiles": "Dodajte datoteke in drugo", + "prompt.menu.imagesAndFiles": "Slike in datoteke", + "prompt.menu.commands": "Ukazi", + "prompt.menu.context": "Kontekst", + "prompt.menu.shellCommand": "Ukaz lupine", + "prompt.attachment.remove": "Odstrani prilogo", + "prompt.action.send": "Pošlji", + "prompt.action.stop": "Ustavi", + "prompt.toast.pasteUnsupported.title": "Nepodprta priloga", + "prompt.toast.pasteUnsupported.description": "Sem lahko priložite samo slike, datoteke PDF ali besedilne datoteke.", + "prompt.toast.attachmentDuplicate.title": "Ta datoteka je že naložena", + "prompt.toast.modelAgentRequired.title": "Izberite agenta in model", + "prompt.toast.modelAgentRequired.description": "Preden pošljete poziv, izberite agenta in model.", + "prompt.toast.worktreeCreateFailed.title": "Delovnega drevesa ni bilo mogoče ustvariti", + "prompt.toast.sessionCreateFailed.title": "Seje ni bilo mogoče ustvariti", + "prompt.toast.shellSendFailed.title": "Ukaza lupine ni bilo mogoče poslati", + "prompt.toast.commandSendFailed.title": "Ukaza ni bilo mogoče poslati", + "prompt.toast.promptSendFailed.title": "Poziva ni bilo mogoče poslati", + "prompt.toast.promptSendFailed.description": "Seje ni mogoče pridobiti", + "dialog.mcp.title": "MCP-ji", + "dialog.mcp.description": "{{enabled}} od {{total}} omogočen", + "dialog.mcp.empty": "MCP-ji niso konfigurirani", + "dialog.lsp.empty": "LSP-ji samodejno zaznani glede na vrste datotek", + "dialog.plugins.empty": "Vtičniki, konfigurirani v opencode.json", + "mcp.status.connected": "povezan", + "mcp.status.failed": "ni uspelo", + "mcp.status.needs_auth": "potrebuje avt", + "mcp.status.disabled": "onemogočen", + "mcp.auth.clickToAuthenticate": "Kliknite za preverjanje pristnosti", + "dialog.fork.empty": "Ni sporočil za odcepitev", + "dialog.directory.search.placeholder": "Iskanje map", + "dialog.directory.empty": "Ni najdenih map", + "dialog.directory.action.selectFile": "Izberite datoteko", + "dialog.directory.action.selectFolder": "Izberite mapo", + "dialog.directory.root": "Koren", + "dialog.directory.parent": "starš", + "dialog.directory.readError": "Te mape ni mogoče prebrati", + "app.server.unreachable": "Ni bilo mogoče doseči {{server}}", + "app.server.retrying": "Samodejni ponovni poskus ...", + "app.server.otherServers": "Drugi strežniki", + "dialog.server.title": "Strežniki", + "dialog.server.description": "Preklopite, s katerim strežnikom OpenCode se povezuje ta aplikacija.", + "dialog.server.search.placeholder": "Iskanje strežnikov", + "dialog.server.empty": "Še ni strežnikov", + "dialog.server.add.title": "Dodaj strežnik", + "dialog.server.add.url": "Naslov strežnika", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "Ni bilo mogoče vzpostaviti povezave s strežnikom", + "dialog.server.add.checking": "Preverjanje ...", + "dialog.server.add.button": "Dodaj strežnik", + "dialog.server.add.name": "Ime strežnika (neobvezno)", + "dialog.server.add.namePlaceholder": "Lokalni gostitelj", + "dialog.server.add.username": "uporabniško ime (neobvezno)", + "dialog.server.add.usernamePlaceholder": "uporabniško ime", + "dialog.server.add.password": "Geslo (neobvezno)", + "dialog.server.add.passwordPlaceholder": "geslo", + "dialog.server.edit.title": "Uredi strežnik", + "dialog.server.default.title": "Privzeti strežnik", + "dialog.server.default.description": + "Povežite se s tem strežnikom ob zagonu aplikacije namesto zagona lokalnega strežnika. Zahteva ponovni zagon.", + "dialog.server.default.none": "Izbran ni noben strežnik", + "dialog.server.default.set": "Trenutni strežnik nastavite kot privzetega", + "dialog.server.default.clear": "Počisti", + "dialog.server.action.remove": "Odstrani strežnik", + "dialog.server.menu.edit": "Uredi", + "dialog.server.menu.default": "Nastavi kot privzeto", + "dialog.server.menu.defaultRemove": "Odstrani privzeto", + "dialog.server.menu.delete": "Izbriši", + "dialog.server.current": "Trenutni strežnik", + "dialog.server.status.default": "Privzeto", + "wsl.server.add": "Dodajte strežnik WSL", + "wsl.server.addShort": "Dodajte WSL", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "strežnik WSL", + "wsl.server.retryStart": "Poskusite znova začeti", + "wsl.server.updating": "Posodabljanje ...", + "wsl.onboarding.step.distro": "Izberite distro", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "Preverjanje WSL ...", + "wsl.onboarding.restartRequired": "Windows potrebuje ponovni zagon za dokončanje namestitve WSL.", + "wsl.onboarding.ready": "WSL je pripravljen.", + "wsl.onboarding.required": "Za nadaljevanje je potreben WSL.", + "wsl.onboarding.checkingDistros": "Preverjanje distribucij ...", + "wsl.onboarding.installingDistro": "Namestitev {{distro}} ...", + "wsl.onboarding.checkingDistro": "Preverjanje {{distro}} ...", + "wsl.onboarding.listingDistros": "Seznam distribucij ...", + "wsl.onboarding.distroReady": "{{distro}} je pripravljen.", + "wsl.onboarding.distroNotInstalled": "{{distro}} še ni nameščen.", + "wsl.onboarding.openDistroOnce": "Enkrat odprite {{distro}}, da dokončate namestitev.", + "wsl.onboarding.finishingDistro": "Končna nastavitev za {{distro}}.", + "wsl.onboarding.pickDistro": "Spodaj izberite distribucijo ali jo namestite.", + "wsl.onboarding.checkingOpencode": "Preverjanje OpenCode ...", + "wsl.onboarding.checkingOpencodeIn": "Preverjanje OpenCode v {{distro}} ...", + "wsl.onboarding.updatingOpencode": "Posodabljanje OpenCode ...", + "wsl.onboarding.updatingOpencodeIn": "Posodabljanje OpenCode v {{distro}} ...", + "wsl.onboarding.updateOpencodeIn": "Posodobite OpenCode v {{distro}}.", + "wsl.onboarding.updateOpencode": "Posodobite OpenCode", + "wsl.onboarding.opencodeReadyIn": "OpenCode je pripravljen v {{distro}}.", + "wsl.onboarding.opencodeReady": "OpenCode je pripravljen.", + "wsl.onboarding.installOpencodeIn": "Namestite OpenCode v {{distro}}.", + "wsl.onboarding.installOpencode": "Namestite OpenCode", + "wsl.onboarding.chooseDistroFirst": "Najprej izberite distribucijo.", + "wsl.onboarding.loadFailed": "Stanja WSL ni bilo mogoče naložiti.", + "wsl.onboarding.loading": "Nalaganje...", + "wsl.onboarding.installedDistros": "Nameščene distribucije", + "wsl.onboarding.checkAgain": "Preverite znova", + "wsl.onboarding.distroStatus.ready": "pripravljena", + "wsl.onboarding.distroStatus.checking": "Preverjanje ...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode ni nameščen", + "wsl.onboarding.distroStatus.missingTools": "Manjka bash, curl", + "wsl.onboarding.distroStatus.unsupported": "Nepodprto · Uporabi WSL 2", + "wsl.onboarding.needAnotherDistro": "Potrebujete drugo distribucijo?", + "wsl.onboarding.needAnotherDistroHint": "Namestite distribucijo Linux iz kataloga WSL", + "wsl.onboarding.wslNotInstalled.title": "WSL ni nameščen", + "wsl.onboarding.wslNotInstalled.description": + "WSL (podsistem Windows za Linux) je potreben, preden lahko OpenCode doda strežnik WSL", + "wsl.onboarding.wslUnavailable.title": "WSL ni na voljo", + "wsl.onboarding.wslUnavailable.description": "OpenCode ni mogel preveriti WSL na tej napravi.", + "wsl.onboarding.installWsl": "Namestite WSL", + "wsl.onboarding.windowsRestartRequired": + "Znova zaženite Windows, da dokončate namestitev WSL, nato znova odprite OpenCode.", + "wsl.onboarding.next": "Naprej", + "wsl.onboarding.refresh": "Osveži", + "wsl.onboarding.allDistrosAdded": "Vse nameščene distribucije so že dodane.", + "wsl.onboarding.noDistros": "Ni zaznanih distribucij.", + "wsl.onboarding.install": "Namestite", + "wsl.onboarding.installing": "Namestitev ...", + "wsl.onboarding.installDistro": "Namestite distro", + "wsl.onboarding.searchDistros": "Iskanje distribucij", + "wsl.onboarding.wsl2Required": "Zahtevan je WSL 2.", + "wsl.onboarding.toolsRequired": "Ta distribucija potrebuje bash in curl.", + "wsl.onboarding.openTerminal": "Odpri terminal", + "wsl.onboarding.path": "Pot: {{path}}", + "wsl.onboarding.notFound": "ni najden", + "wsl.onboarding.version": "Različica: {{version}}", + "wsl.onboarding.unknown": "neznano", + "wsl.onboarding.desktopVersion": "namizje {{version}}", + "wsl.onboarding.versionMismatch": "Nameščena različica se ne ujema z različico namizne aplikacije.", + "wsl.onboarding.adding": "Dodajanje ...", + "help.tabs.toast.ariaLabel": "Predstavljamo zavihke. Organizirajte svoje delo in aktivne seje z zavihki", + "help.tabs.toast.dismiss": "Opusti informacije o zavihkih", + "help.tabs.title": "Predstavljamo zavihke", + "help.tabs.description": "Organizirajte svoje delo in aktivne seje z zavihki", + "help.tabs.date": "14. julij", + "help.tabs.introduction": "OpenCode Desktop je zdaj zgrajen okoli zavihkov.", + "help.tabs.sessions": + "Začnite novo sejo na zavihku ali odprite obstoječo sejo iz katerega koli od svojih projektov. Odprite nov zavihek, ko začnete nekaj novega, in ga zaprite, ko končate.", + "help.tabs.organize": + "Če imate nekaj odprtih zavihkov, lažje organizirate svoje aktivne seje. Preimenujte zavihke v nekaj nepozabnega, če jih nameravate obdržati.", + "help.tabs.home": + "Vse svoje seje in projekte boste našli na novem zaslonu Home. Če izberete sejo, jo odprete v zavihku.", + "help.tabs.persistence": "Ko znova odprete aplikacijo, so vaši zavihki še vedno odprti.", + "help.tabs.worktrees": + "Nova oblika še ne podpira Git Worktrees, kmalu bo na voljo. Če bi torej raje še naprej uporabljali prejšnjo postavitev, lahko preklapljate med postavitvami v nastavitvah. Ne pozabite le, da bo nova postavitev v nekaj tednih postala trajna.", + "server.row.noUsername": "brez uporabniškega imena", + "dialog.project.edit.title": "Uredi projekt", + "dialog.project.edit.name": "Ime", + "dialog.project.edit.icon": "Ikona", + "dialog.project.edit.icon.alt": "Ikona projekta", + "dialog.project.edit.icon.hint": "Kliknite ali povlecite sliko", + "dialog.project.edit.icon.recommended": "Priporočeno: 128x128px", + "dialog.project.edit.color": "barva", + "dialog.project.edit.color.select": "Izberite barvo {{color}}", + "dialog.project.edit.worktree.startup": "Zagonski skript delovnega prostora", + "dialog.project.edit.worktree.startup.description": + "Zažene se po ustvarjanju novega delovnega prostora (delovnega drevesa).", + "dialog.project.edit.worktree.startup.placeholder": "npr. bun install", + "dialog.releaseNotes.action.getStarted": "Začnite", + "dialog.releaseNotes.action.next": "Naprej", + "dialog.releaseNotes.action.hideFuture": "V prihodnje jih ne prikazujte", + "dialog.releaseNotes.media.alt": "Predogled izdaje", + "context.breakdown.title": "Razčlenitev konteksta", + "context.breakdown.note": + 'Približna razčlenitev vhodnih žetonov. "Drugo" vključuje definicije orodij in režijske stroške.', + "context.breakdown.system": "Sistem", + "context.breakdown.user": "Uporabnik", + "context.breakdown.assistant": "Pomočnik", + "context.breakdown.tool": "Klici orodja", + "context.breakdown.other": "drugo", + "context.systemPrompt.title": "Sistemski poziv", + "context.rawMessages.title": "Neobdelana sporočila", + "context.export.session": "Izvozna seja", + "context.stats.session": "Seja", + "context.stats.messages": "Sporočila", + "context.stats.provider": "Ponudnik", + "context.stats.model": "Model", + "context.stats.limit": "Omejitev konteksta", + "context.stats.totalTokens": "Skupaj žetonov", + "context.stats.usage": "Uporaba", + "context.stats.inputTokens": "Vhodni žetoni", + "context.stats.outputTokens": "Izhodni žetoni", + "context.stats.reasoningTokens": "Žetoni razmišljanja", + "context.stats.cacheTokens": "Žetoni predpomnilnika (branje/pisanje)", + "context.stats.userMessages": "Uporabniška sporočila", + "context.stats.assistantMessages": "Sporočila pomočnika", + "context.stats.totalCost": "Skupni stroški", + "context.stats.sessionCreated": "Seja ustvarjena", + "context.stats.lastActivity": "Zadnja dejavnost", + "context.usage.tokens": "Žetoni", + "context.usage.usage": "Uporaba", + "context.usage.cost": "Stroški", + "context.usage.clickToView": "Kliknite za ogled konteksta", + "context.usage.view": "Oglejte si uporabo konteksta", + "language.en": "angleščina", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Deutsch", + "language.es": "Español", + "language.fr": "Français", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "Polski", + "language.ru": "Russkij", + "language.ar": "العربية", + "language.no": "Norsk", + "language.br": "português (Brazilija)", + "language.bs": "Bosanski", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Türkçe", + "toast.language.title": "Jezik", + "toast.language.description": "Preklopil na {{language}}", + "toast.theme.title": "Tema je zamenjana", + "toast.scheme.title": "Barvna shema", + "toast.workspace.enabled.title": "Delovni prostori omogočeni", + "toast.workspace.enabled.description": "V stranski vrstici je zdaj prikazanih več delovnih dreves", + "toast.workspace.disabled.title": "Delovni prostori so onemogočeni", + "toast.workspace.disabled.description": "V stranski vrstici je prikazano samo glavno delovno drevo", + "toast.permissions.autoaccept.on.title": "Samodejno sprejemanje dovoljenj", + "toast.permissions.autoaccept.on.description": "Zahteve za dovoljenje bodo samodejno odobrene", + "toast.permissions.autoaccept.off.title": "Ustavljeno samodejno sprejemanje dovoljenj", + "toast.permissions.autoaccept.off.description": "Zahteve za dovoljenje bodo zahtevale odobritev", + "toast.model.none.title": "Noben model ni izbran", + "toast.model.none.description": "Povežite ponudnika, da povzamete to sejo", + "toast.file.loadFailed.title": "Datoteke ni bilo mogoče naložiti", + "toast.file.listFailed.title": "Seznam datotek ni uspel", + "toast.context.noLineSelection.title": "Brez izbire vrstice", + "toast.context.noLineSelection.description": "Najprej izberite obseg vrstic na zavihku datoteke.", + "toast.session.share.copyFailed.title": "URL ni bilo mogoče kopirati v odložišče", + "toast.session.share.success.title": "Seja je deljena", + "toast.session.share.success.description": "Skupna raba URL kopirano v odložišče!", + "toast.session.share.failed.title": "Skupna raba seje ni uspela", + "toast.session.share.failed.description": "Med deljenjem seje je prišlo do napake", + "toast.session.unshare.success.title": "Seja ni deljena", + "toast.session.unshare.success.description": "Seja je bila uspešno preklicana!", + "toast.session.unshare.failed.title": "Preklic skupne rabe seje ni uspel", + "toast.session.unshare.failed.description": "Pri preklicu skupne rabe seje je prišlo do napake", + "toast.session.export.success.title": "Seja izvožena", + "toast.session.export.success.description": "Shranjena seja v {{filename}}", + "toast.session.export.failed.title": "Seje ni bilo mogoče izvoziti", + "toast.session.export.failed.description": "Pri izvozu seje je prišlo do napake", + "toast.session.listFailed.title": "Nalaganje sej za {{project}} ni uspelo", + "toast.project.reloadFailed.title": "Ponovno nalaganje {{project}} ni uspelo", + "toast.update.title": "Na voljo je posodobitev", + "toast.update.description": "Nova različica OpenCode ({{version}}) je zdaj na voljo za namestitev.", + "toast.update.action.installRestart": "Namestite in znova zaženite", + "toast.update.action.notYet": "Ne še", + "error.page.title": "Nekaj je šlo narobe", + "error.page.description": "Med nalaganjem aplikacije je prišlo do napake.", + "error.page.description.localServerStartup": "Med zagonom lokalnega strežnika je prišlo do napake.", + "error.page.details.label": "Podrobnosti o napaki", + "error.page.action.restart": "Znova zaženite", + "error.page.action.report": "Prijavi napako", + "error.page.action.reported": "Prijavljena napaka", + "error.page.action.exportLogs": "Izvozi dnevnike", + "error.page.action.checking": "Preverjanje ...", + "error.page.action.checkUpdates": "Preverite posodobitve", + "error.page.action.updateTo": "Posodobite na {{version}}", + "error.page.circular": "[Okrožnica]", + "error.page.report.prefix": "Prosimo, prijavite to napako ekipi OpenCode", + "error.page.report.discord": "na Discordu", + "error.page.version": "Različica: {{version}}", + "error.dev.rootNotFound": + "Korenski element ni bil najden. Ste ga pozabili dodati v svoj index.html? Ali pa je morda atribut id narobe črkovan?", + "error.serverSync.connectFailed": + "Ni bilo mogoče vzpostaviti povezave s strežnikom. Ali na `{{url}}` deluje strežnik?", + "error.serverSDK.noServerAvailable": "Strežnik ni na voljo", + "error.serverSDK.serverNotAvailable": "Strežnik ni na voljo", + "error.childStore.persistedCacheCreateFailed": "Trajnega predpomnilnika ni bilo mogoče ustvariti", + "error.childStore.persistedProjectMetadataCreateFailed": "Trajnih metapodatkov projekta ni bilo mogoče ustvariti", + "error.childStore.persistedProjectIconCreateFailed": "Ikone trajnega projekta ni bilo mogoče ustvariti", + "error.childStore.storeCreateFailed": "Trgovine ni bilo mogoče ustvariti", + "directory.error.invalidUrl": "Neveljaven imenik v URL.", + "error.chain.unknown": "Neznana napaka", + "error.server.invalidConfiguration": "Neveljavna konfiguracija", + "error.chain.causedBy": "Vzrok:", + "error.chain.apiError": "Napaka API", + "error.chain.status": "Stanje: {{status}}", + "error.chain.retryable": "Ponovni poskus: {{retryable}}", + "error.chain.responseBody": "Telo odgovora:\n{{body}}", + "error.chain.didYouMean": "Ste mislili: {{suggestions}}", + "error.chain.modelNotFound": "Modela ni bilo mogoče najti: {{provider}}/{{model}}", + "error.chain.checkConfig": "Preverite imena ponudnikov/modelov konfiguracije (opencode.json).", + "error.chain.mcpFailed": 'MCP strežnik "{{name}}" ni uspel. Opomba, OpenCode še ne podpira avtentikacije MCP.', + "error.chain.providerAuthFailed": "Preverjanje pristnosti ponudnika ni uspelo ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + 'Inicializacija ponudnika "{{provider}}" ni uspela. Preverite poverilnice in konfiguracijo.', + "error.chain.configJsonInvalid": "Konfiguracijska datoteka na {{path}} ni veljavna JSON(C)", + "error.chain.configJsonInvalidWithMessage": "Konfiguracijska datoteka pri {{path}} ni veljavna JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + 'Imenik "{{dir}}" v {{path}} ni veljaven. Preimenujte imenik v "{{suggestion}}" ali ga odstranite. To je običajna tipkarska napaka.', + "error.chain.configFrontmatterError": "Ni bilo mogoče razčleniti sprednje snovi v {{path}}:\n{{message}}", + "error.chain.configInvalid": "Konfiguracijska datoteka na {{path}} ni veljavna", + "error.chain.configInvalidWithMessage": "Konfiguracijska datoteka na {{path}} je neveljavna: {{message}}", + "notification.permission.title": "Potrebno je dovoljenje", + "notification.permission.description": "{{sessionTitle}} v {{projectName}} potrebuje dovoljenje", + "notification.question.title": "vprašanje", + "notification.question.description": "{{sessionTitle}} v {{projectName}} ima vprašanje", + "notification.action.goToSession": "Pojdi na sejo", + "notification.session.responseReady.title": "Odziv pripravljen", + "notification.session.error.title": "Napaka seje", + "notification.session.error.fallbackDescription": "Prišlo je do napake", + "home.recentProjects": "Nedavni projekti", + "home.empty.title": "Ni nedavnih projektov", + "home.empty.description": "Začnite z odprtjem lokalnega projekta", + "home.title": "Domov", + "home.projects": "Projekti", + "home.project.add": "Dodajte projekt", + "home.recentlyClosed": "Pred kratkim zaprto", + "home.server.collapse": "Strni strežniške projekte", + "home.server.expand": "Razširite strežniške projekte", + "home.sessions.search.placeholder": "Seje iskanja", + "home.sessions.search.placeholder.scoped": "Iskanje sej v {{scope}}", + "home.sessions.search.sessions": "Seje", + "home.sessions.search.noResults": "Ni najdenih sej za {{query}}", + "home.sessions.empty": "Tukaj še ni ničesar", + "home.sessions.empty.description": "Za začetek ustvarite sejo", + "home.sessions.group.today": "Danes", + "home.sessions.group.yesterday": "včeraj", + "home.sessions.group.older": "Starejši", + "home.providerTip": "Povežite se s 75+ ponudniki za uporabo drugih modelov, vključno z Claude, GPT, Gemini itd.", + "session.tab.session": "Seja", + "session.tab.review": "Pregled", + "session.tab.context": "Kontekst", + "session.tab.unknown": "Neznana seja", + "session.panel.reviewAndFiles": "Pregled in datoteke", + "session.error.notFound": "Te seje ni mogoče najti", + "session.error.notFound.description": "Ta zavihek kaže na sejo, ki ne obstaja več na tem strežniku.", + "session.error.notFound.closeTab": "Zapri zavihek", + "session.error.serverConnection": "Ni mogoče vzpostaviti povezave s tem strežnikom", + "session.review.filesChanged": "Spremenjene datoteke {{count}}", + "session.review.change.one": "spremeniti", + "session.review.change.other": "Spremembe", + "session.review.loadingChanges": "Nalaganje sprememb ...", + "session.review.empty": "V tej seji še ni sprememb", + "session.review.noVcs": "Sistem za nadzor različic Git ni bil zaznan, spremembe niso prikazane", + "session.review.noVcs.createGit.title": "Ustvarite repozitorij Git", + "session.review.noVcs.createGit.description": "Sledite, pregledujte in razveljavite spremembe v tem projektu", + "session.review.noVcs.createGit.actionLoading": "Ustvarjanje skladišča Git ...", + "session.review.noVcs.createGit.action": "Ustvari repozitorij Git", + "session.review.noSnapshot": "Sledenje posnetku je onemogočeno v konfiguraciji, zato spremembe seje niso na voljo", + "session.review.noChanges": "Brez sprememb", + "session.review.noUncommittedChanges": "Ni še nepotrjenih sprememb", + "session.review.noBranchChanges": "Ni še nobenih sprememb veje", + "session.files.selectToOpen": "Izberite datoteko, ki jo želite odpreti", + "session.files.all": "Vse datoteke", + "session.files.empty": "Ni datotek", + "session.files.binaryContent": "Binarna datoteka (vsebine ni mogoče prikazati)", + "session.messages.renderEarlier": "Upodobi prejšnja sporočila", + "session.messages.loadingEarlier": "Nalaganje prejšnjih sporočil ...", + "session.messages.loadEarlier": "Naloži prejšnja sporočila", + "session.messages.loading": "Nalaganje sporočil ...", + "session.messages.jumpToLatest": "Skoči na najnovejšo", + "session.context.addToContext": "Dodajte {{selection}} v kontekst", + "session.todo.title": "Opravila", + "session.todo.collapse": "Strni", + "session.todo.expand": "Razširi", + "session.todo.progress": "{{done}} od {{total}} opravil je končano", + "session.question.progress": "{{current}} od vprašanj {{total}}", + "session.question.minimize": "Zmanjšajte vprašanje", + "session.question.restore": "Obnovi vprašanje", + "session.question.pending.one": "{{count}} čakajoče vprašanje", + "session.question.pending.other": "{{count}} čakajočih vprašanj", + "session.question.pending.two": "{{count}} čakajoči vprašanji", + "session.question.pending.few": "{{count}} čakajoča vprašanja", + "session.followupDock.summary.one": "{{count}} sporočilo v čakalni vrsti", + "session.followupDock.summary.other": "{{count}} sporočil v čakalni vrsti", + "session.followupDock.summary.two": "{{count}} sporočili v čakalni vrsti", + "session.followupDock.summary.few": "{{count}} sporočila v čakalni vrsti", + "session.followupDock.sendNow": "Pošlji zdaj", + "session.followupDock.edit": "Uredi", + "session.followupDock.collapse": "Strni sporočila v čakalni vrsti", + "session.followupDock.expand": "Razširi sporočila v čakalni vrsti", + "session.revertDock.summary.one": "{{count}} razveljavljeno sporočilo", + "session.revertDock.summary.other": "{{count}} razveljavljenih sporočil", + "session.revertDock.summary.two": "{{count}} razveljavljeni sporočili", + "session.revertDock.summary.few": "{{count}} razveljavljena sporočila", + "session.revertDock.collapse": "Strni povratna sporočila", + "session.revertDock.expand": "Razširi povrnjena sporočila", + "session.revertDock.restore": "Obnovi sporočilo", + "session.new.title": "Zgradi karkoli", + "session.new.project.new": "Nov projekt", + "session.new.project.search": "Iskanje projektov", + "session.new.project.add": "Dodajte projekt", + "session.new.worktree.main": "Glavna veja", + "session.new.worktree.mainWithBranch": "Glavna veja ({{branch}})", + "session.new.worktree.create": "Ustvari novo delovno drevo", + "session.new.workspace.runIn": "Zaženi sejo", + "session.new.workspace.triggerLocal": "Lokalno", + "session.new.workspace.local": "Lokalno skladišče", + "session.new.workspace.existing": "Delovni prostor…", + "session.new.git.none": "Ne Git", + "session.new.lastModified": "Nazadnje spremenjeno", + "session.header.search.placeholder": "Išči {{project}}", + "session.header.searchFiles": "Iskanje datotek", + "session.header.openIn": "Odpri v", + "session.header.open.action": "Odprite {{app}}", + "session.header.open.ariaLabel": "Odpri v {{app}}", + "session.header.open.menu": "Odprte možnosti", + "session.header.open.copyPath": "Kopiraj pot", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "Raziskovalec datotek", + "session.header.open.fileManager": "Upravitelj datotek", + "session.header.reveal.finder": "Razkrij v Finder", + "session.header.reveal.fileExplorer": "Razkrij v File Explorer", + "session.header.reveal.containingFolder": "Odpri mapo, ki vsebuje", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Terminal", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "Stanje", + "status.popover.ariaLabel": "Konfiguracije strežnika", + "status.popover.tab.servers": "Strežniki", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "Vtičniki", + "status.popover.action.manageServers": "Upravljanje strežnikov", + "session.share.popover.title": "Objavi na spletu", + "session.share.popover.description.shared": "Ta seja je javna v spletu. Dostopen je vsem s povezavo.", + "session.share.popover.description.unshared": "Delite sejo javno v spletu. Dostopen bo vsem s povezavo.", + "session.share.action.share": "Delite", + "session.share.action.publish": "Objavi", + "session.share.action.publishing": "Objava ...", + "session.share.action.unpublish": "Prekliči objavo", + "session.share.action.unpublishing": "Preklic objave ...", + "session.share.action.view": "Pogled", + "session.share.copy.copied": "Kopirano", + "session.share.copy.copyLink": "Kopiraj povezavo", + "lsp.tooltip.none": "Ni strežnikov LSP", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "Nalaganje poziva ...", + "terminal.loading": "Nalaganje terminala ...", + "terminal.title": "Terminal", + "terminal.title.numbered": "Terminal {{number}}", + "terminal.close": "Zapri terminal", + "terminal.connectionLost.title": "Povezava je prekinjena", + "terminal.connectionLost.abnormalClose": "WebSocket zaprt nenormalno: {{code}}", + "terminal.connectionLost.description": + "Povezava s terminalom je bila prekinjena. To se lahko zgodi, ko se strežnik znova zažene.", + "terminal.connectTicket.csrfError": + "PTY povezovalna vozovnica zavrnjena s preverjanjem izvora ali CSRF. Preverite konfiguracijo strežnika CORS.", + "terminal.connectTicket.statusError": "PTY povezovalna karta ni uspela z {{status}}", + "titlebar.update": "posodobitev", + "titlebar.updateVersion": "Posodobite {{version}}", + "common.closeTab": "Zapri zavihek", + "common.dismiss": "Odpusti", + "common.moreCountSuffix": " (+{{count}} več)", + "common.requestFailed": "Zahteva ni uspela", + "common.moreOptions": "Več možnosti", + "common.learnMore": "Več o tem", + "common.rename": "Preimenuj", + "common.export": "Izvozi", + "common.reset": "Ponastavi", + "common.archive": "Arhiv", + "common.delete": "Izbriši", + "common.close": "Zapri", + "common.edit": "Uredi", + "common.loadMore": "Naloži več", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "neznano", + "common.time.justNow": "Pravkar", + "common.time.minutesAgo.short": "Pred {{count}}m", + "common.time.hoursAgo.short": "{{count}}h nazaj", + "common.time.daysAgo.short": "Pred {{count}}d", + "sidebar.menu.toggle": "Preklopi meni", + "sidebar.nav.projectsAndSessions": "Projekti in seje", + "sidebar.settings": "nastavitve", + "sidebar.help": "pomoč", + "sidebar.workspaces.enable": "Omogoči delovne prostore", + "sidebar.workspaces.disable": "Onemogoči delovne prostore", + "sidebar.gettingStarted.title": "Začetek", + "sidebar.gettingStarted.line1": "OpenCode vključuje brezplačne modele, tako da lahko začnete takoj.", + "sidebar.gettingStarted.line2": "Povežite katerega koli ponudnika za uporabo modelov, vklj. Claude, GPT, Gemini itd.", + "sidebar.project.recentSessions": "Nedavne seje", + "sidebar.project.viewAllSessions": "Ogled vseh sej", + "sidebar.project.clearNotifications": "Počisti obvestila", + "sidebar.empty.title": "Ni odprtih projektov", + "sidebar.empty.description": "Za začetek odprite projekt", + "debugBar.ariaLabel": "Diagnostika uspešnosti razvoja", + "debugBar.na": "n/a", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "Zadnji zaključen prehod poti, ki se je dotaknil strani seje, merjeno od začetka usmerjevalnika do prve barve po tem, ko se poravna.", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "Vrtenje sličic na sekundo v zadnjih 5 sekundah.", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "Najslabši čas sličice v zadnjih 5 sekundah.", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "Sličice, daljše od 32 ms v zadnjih 5 sekundah.", + "debugBar.long.label": "LONG", + "debugBar.long.tip": "Štetje blokiranega časa in dolgih opravil v zadnjih 5 sekundah. Največja naloga: {{max}}.", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "Najslabša opažena zakasnitev vnosa v zadnjih 5 sekundah.", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": + "Približno trajanje interakcije v zadnjih 5 sekundah. To je podobno INP, ne uradni spletni kazalniki INP.", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "Kumulativni premik postavitve za trenutno življenjsko dobo aplikacije.", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "Uporabljena kopica JS v primerjavi z omejitvijo kopice. Samo Chromium.", + "debugBar.mem.tip": "Uporabljena kopica JS v primerjavi z omejitvijo kopice. {{used}} od {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Vsili sloge fokusa na vse interaktivne elemente", + "debugBar.focus.on": "ON", + "debugBar.focus.off": "OFF", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Vsili celotno smer postavitve aplikacije brez spreminjanja izbranega jezika", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode Desktop", + "settings.section.desktop": "Namizje", + "settings.section.server": "Strežnik", + "settings.tab.general": "Splošno", + "settings.tab.shortcuts": "Bližnjice", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "Integracija WSL", + "settings.desktop.wsl.description": "Zaženite strežnik OpenCode znotraj WSL na Windows.", + "settings.general.section.appearance": "Videz", + "settings.general.section.advanced": "Napredno", + "settings.general.section.notifications": "Sistemska obvestila", + "settings.general.section.updates": "Posodobitve", + "settings.general.section.sounds": "Zvočni učinki", + "settings.general.section.feed": "Krma", + "settings.general.section.display": "Zaslon", + "settings.general.row.language.title": "Jezik", + "settings.general.row.language.description": "Spremenite jezik prikaza za OpenCode", + "settings.general.row.shell.title": "Končna lupina", + "settings.general.row.shell.description": "Lupina, ki jo uporabljajo terminalska in agentska orodja", + "settings.general.row.shell.autoDefault": "Samodejno (privzeto)", + "settings.general.row.shell.terminalOnly": "samo terminal", + "settings.general.row.appearance.title": "Videz", + "settings.general.row.appearance.description": "Prilagodite, kako OpenCode izgleda na vaši napravi", + "settings.general.row.colorScheme.title": "Barvna shema", + "settings.general.row.colorScheme.description": "Izberite, ali OpenCode sledi sistemski, svetli ali temni temi", + "settings.general.row.theme.title": "Tema", + "settings.general.row.theme.description": "Prilagodite temo OpenCode.", + "settings.general.row.font.title": "Pisava kode", + "settings.general.row.font.description": "Prilagodite pisavo, uporabljeno v blokih kode", + "settings.general.row.terminalFont.title": "Pisava terminala", + "settings.general.row.terminalFont.description": "Prilagodite pisavo, uporabljeno v terminalu", + "settings.general.row.uiFont.title": "Pisava uporabniškega vmesnika", + "settings.general.row.uiFont.description": "Prilagodite pisavo, ki se uporablja v celotnem vmesniku", + "settings.general.row.followup.title": "Nadaljnje vedenje", + "settings.general.row.followup.description": + "Izberite, ali se nadaljnji pozivi usmerjajo takoj ali čakajo v čakalni vrsti", + "settings.general.row.followup.option.queue": "Čakalna vrsta", + "settings.general.row.followup.option.steer": "Krmariti", + "settings.general.row.showFileTree.title": "Drevo datotek", + "settings.general.row.showFileTree.description": "Pokaži podokno drevesa datotek v sejah", + "settings.general.row.showNavigation.title": "Navigacijske kontrole", + "settings.general.row.showNavigation.description": "Pokaži gumba za nazaj in naprej v naslovni vrstici namizja", + "settings.general.row.showSearch.title": "Paleta ukazov", + "settings.general.row.showSearch.description": "Prikaži gumb za iskanje in ukazno paleto v naslovni vrstici", + "settings.general.row.showTerminal.title": "Terminal", + "settings.general.row.showTerminal.description": "Prikažite gumb terminala v naslovni vrstici namizja", + "settings.general.row.showStatus.title": "Stanje strežnika", + "settings.general.row.showStatus.description": "Prikaži gumb stanja strežnika v naslovni vrstici", + "settings.general.row.mobileTitlebarBottom.title": "Spodnja navigacija", + "settings.general.row.mobileTitlebarBottom.description": + "Postavite naslovno vrstico in zavihke seje na dno zaslona mobilne naprave", + "settings.general.row.showCustomAgents.title": "Razstavni agent", + "settings.general.row.showCustomAgents.description": + "Preklapljanje med agenti v skladatelju. Ko je skrit, je privzeto nastavljen na Build agent.", + "settings.general.row.reasoningSummaries.title": "Prikažite povzetke sklepanja", + "settings.general.row.reasoningSummaries.description": "Prikažite povzetke sklepanja modela na časovnici", + "settings.general.row.shellToolPartsExpanded.title": "Razširite dele orodja lupine", + "settings.general.row.shellToolPartsExpanded.description": + "Pokaži privzeto razširjene dele orodja lupine na časovnici", + "settings.general.row.editToolPartsExpanded.title": "Razširite urejanje delov orodja", + "settings.general.row.editToolPartsExpanded.description": + "Prikaži privzeto razširjene dele orodja za urejanje, pisanje in popravljanje na časovnici", + "settings.general.row.newInterface.title": "Nova postavitev", + "settings.general.row.newInterface.badge": "Novo", + "settings.general.row.newInterface.description": + "Uporabite nove zavihke in domačo postavitev. Za omejen čas preklapljajte med postavitvami.", + "settings.general.row.newInterfaceNotice.title": "Zdaj uporabljate novo postavitev", + "settings.general.row.newInterfaceNotice.description": "Prejšnja postavitev ni več na voljo", + "settings.general.row.newInterfaceNotice.dismiss": "Odpusti", + "settings.general.row.pinchZoom.title": "Stisnite za povečavo", + "settings.general.row.pinchZoom.description": + "Omogočite ščipanje sledilne ploščice in Ctrl poteze drsenja za povečavo", + "settings.general.row.wayland.title": "Uporabi izvorni Wayland", + "settings.general.row.wayland.description": "Onemogoči nadomestno X11 na Wayland. Zahteva ponovni zagon.", + "settings.general.row.wayland.tooltip": + "Na Linux z monitorji z mešano hitrostjo osveževanja je izvorni Wayland lahko bolj stabilen.", + "settings.general.row.releaseNotes.title": "Opombe ob izdaji", + "settings.general.row.releaseNotes.description": "Pokaži pojavna okna Kaj je novega po posodobitvah", + "settings.updates.row.startup.title": "Preverite posodobitve ob zagonu", + "settings.updates.row.startup.description": "Samodejno preveri posodobitve, ko se zažene OpenCode", + "settings.updates.row.check.title": "Preverite posodobitve", + "settings.updates.row.check.description": + "Ročno preverite, ali so na voljo posodobitve, in jih namestite, če so na voljo", + "settings.updates.action.checkNow": "Preverite zdaj", + "settings.updates.action.checking": "Preverjanje ...", + "settings.updates.action.downloading": "Prenašanje ...", + "settings.updates.action.installing": "Namestitev ...", + "settings.updates.toast.latest.title": "Ste na tekočem", + "settings.updates.toast.latest.description": "Uporabljate najnovejšo različico OpenCode.", + "sound.option.none": "Noben", + "sound.option.alert01": "Opozorilo 01", + "sound.option.alert02": "Opozorilo 02", + "sound.option.alert03": "Opozorilo 03", + "sound.option.alert04": "Opozorilo 04", + "sound.option.alert05": "Opozorilo 05", + "sound.option.alert06": "Opozorilo 06", + "sound.option.alert07": "Opozorilo 07", + "sound.option.alert08": "Opozorilo 08", + "sound.option.alert09": "Opozorilo 09", + "sound.option.alert10": "Opozorilo 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "ne 01", + "sound.option.nope02": "ne 02", + "sound.option.nope03": "ne 03", + "sound.option.nope04": "ne 04", + "sound.option.nope05": "ne 05", + "sound.option.nope06": "ne 06", + "sound.option.nope07": "ne 07", + "sound.option.nope08": "ne 08", + "sound.option.nope09": "ne 09", + "sound.option.nope10": "Ne 10", + "sound.option.nope11": "Ne 11", + "sound.option.nope12": "Ne 12", + "sound.option.yup01": "Ja 01", + "sound.option.yup02": "Ja 02", + "sound.option.yup03": "Ja 03", + "sound.option.yup04": "Ja 04", + "sound.option.yup05": "Ja 05", + "sound.option.yup06": "Ja 06", + "settings.general.notifications.agent.title": "Agent", + "settings.general.notifications.agent.description": + "Pokaži sistemsko obvestilo, ko je agent dokončan ali potrebuje pozornost", + "settings.general.notifications.permissions.title": "Dovoljenja", + "settings.general.notifications.permissions.description": "Pokaži sistemsko obvestilo, ko je potrebno dovoljenje", + "settings.general.notifications.errors.title": "Napake", + "settings.general.notifications.errors.description": "Pokaži sistemsko obvestilo, ko pride do napake", + "settings.general.sounds.agent.title": "Agent", + "settings.general.sounds.agent.description": "Predvajaj zvok, ko je agent dokončan ali potrebuje pozornost", + "settings.general.sounds.permissions.title": "Dovoljenja", + "settings.general.sounds.permissions.description": "Predvajaj zvok, ko je potrebno dovoljenje", + "settings.general.sounds.errors.title": "Napake", + "settings.general.sounds.errors.description": "Predvajaj zvok, ko pride do napake", + "settings.shortcuts.title": "Bližnjice na tipkovnici", + "settings.shortcuts.reset.button": "Ponastavi na privzete nastavitve", + "settings.shortcuts.reset.toast.title": "Ponastavitev bližnjic", + "settings.shortcuts.reset.toast.description": "Bližnjice na tipkovnici so bile ponastavljene na privzete.", + "settings.shortcuts.conflict.title": "Bližnjica je že v uporabi", + "settings.shortcuts.conflict.description": "{{keybind}} je že dodeljen {{titles}}.", + "settings.shortcuts.unassigned": "Nedodeljen", + "settings.shortcuts.pressKeys": "Pritisnite tipke", + "settings.shortcuts.search.placeholder": "Bližnjice za iskanje", + "settings.shortcuts.search.empty": "Ni bližnjic", + "settings.shortcuts.group.general": "Splošno", + "settings.shortcuts.group.session": "Seja", + "settings.shortcuts.group.navigation": "Navigacija", + "settings.shortcuts.group.modelAndAgent": "Model in agent", + "settings.shortcuts.group.terminal": "Terminal", + "settings.shortcuts.group.prompt": "Poziv", + "settings.providers.title": "Ponudniki", + "settings.providers.description": "Tukaj je mogoče konfigurirati nastavitve ponudnika.", + "settings.providers.section.connected": "Povezani ponudniki", + "settings.providers.connected.empty": "Ni povezanih ponudnikov", + "settings.providers.connected.environmentDescription": "Povezano iz spremenljivk vašega okolja", + "settings.providers.section.popular": "Priljubljeni ponudniki", + "settings.providers.custom.description": "Dodajte ponudnika, združljivega z OpenAI, po osnovi URL.", + "settings.providers.tag.environment": "okolje", + "settings.providers.tag.config": "Konfiguracija", + "settings.providers.tag.custom": "Po meri", + "settings.providers.tag.other": "drugo", + "settings.models.title": "Modeli", + "settings.models.description": "Tukaj je mogoče konfigurirati nastavitve modela.", + "settings.agents.title": "Agenti", + "settings.agents.description": "Tukaj je mogoče konfigurirati nastavitve agenta.", + "settings.commands.title": "Ukazi", + "settings.commands.description": "Tukaj je mogoče konfigurirati nastavitve ukaza.", + "settings.mcp.title": "MCP", + "settings.mcp.description": "Tukaj je mogoče konfigurirati nastavitve MCP.", + "settings.permissions.title": "Dovoljenja", + "settings.permissions.description": "Nadzorujte, katera orodja lahko strežnik uporablja privzeto.", + "settings.permissions.section.tools": "Orodja", + "settings.permissions.toast.updateFailed.title": "Posodobitev dovoljenj ni uspela", + "settings.permissions.action.allow": "Dovoli", + "settings.permissions.action.ask": "Vprašajte", + "settings.permissions.action.deny": "Zavrni", + "settings.permissions.tool.read.title": "Preberi", + "settings.permissions.tool.read.description": "Branje datoteke (ujema se s potjo datoteke)", + "settings.permissions.tool.edit.title": "Uredi", + "settings.permissions.tool.edit.description": "Spreminjanje datotek, vključno z urejanjem, pisanjem in popravki", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "Ujemite datoteke z uporabo vzorcev glob", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "Iskanje po vsebini datoteke z uporabo regularnih izrazov", + "settings.permissions.tool.list.title": "Seznam", + "settings.permissions.tool.list.description": "Seznam datotek v imeniku", + "settings.permissions.tool.bash.title": "Bash", + "settings.permissions.tool.bash.description": "Zagon lupinskih ukazov", + "settings.permissions.tool.task.title": "Naloga", + "settings.permissions.tool.task.description": "Zagon pod-agentov", + "settings.permissions.tool.skill.title": "Spretnost", + "settings.permissions.tool.skill.description": "Naloži veščino po imenu", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "Izvedite poizvedbe jezikovnega strežnika", + "settings.permissions.tool.todowrite.title": "Todo Write", + "settings.permissions.tool.todowrite.description": "Posodobite seznam opravil", + "settings.permissions.tool.webfetch.title": "Web Fetch", + "settings.permissions.tool.webfetch.description": "Pridobite vsebino iz URL", + "settings.permissions.tool.websearch.title": "Spletno iskanje", + "settings.permissions.tool.websearch.description": "Iskanje po spletu", + "settings.permissions.tool.external_directory.title": "Zunanji imenik", + "settings.permissions.tool.external_directory.description": "Dostopajte do datotek zunaj imenika projekta", + "settings.permissions.tool.doom_loop.title": "Doom Loop", + "settings.permissions.tool.doom_loop.description": "Zazna ponavljajoče se klice orodja z enakim vnosom", + "session.delete.failed.title": "Brisanje seje ni uspelo", + "session.delete.title": "Izbriši sejo", + "session.delete.confirm": 'Izbrišem sejo "{{name}}"?', + "session.delete.button": "Izbriši sejo", + "workspace.new": "Nov delovni prostor", + "workspace.type.local": "lokalni", + "workspace.type.sandbox": "peskovnik", + "workspace.create.failed.title": "Delovnega prostora ni bilo mogoče ustvariti", + "workspace.delete.failed.title": "Delovnega prostora ni bilo mogoče izbrisati", + "workspace.resetting.title": "Ponastavitev delovnega prostora", + "workspace.resetting.description": "To lahko traja minuto.", + "workspace.reset.failed.title": "Ponastavitev delovnega prostora ni uspela", + "workspace.reset.success.title": "Ponastavitev delovnega prostora", + "workspace.reset.success.description": "Delovni prostor se zdaj ujema s privzeto vejo.", + "workspace.error.stillPreparing": "Delovni prostor se še pripravlja", + "workspace.status.checking": "Preverjanje nespojenih sprememb ...", + "workspace.status.error": "Ni mogoče preveriti statusa git.", + "workspace.status.clean": "Ni zaznanih nespojenih sprememb.", + "workspace.status.dirty": "V tem delovnem prostoru so bile zaznane nespojene spremembe.", + "workspace.delete.title": "Izbriši delovni prostor", + "workspace.delete.confirm": 'Izbrišem delovni prostor "{{name}}"?', + "workspace.delete.button": "Izbriši delovni prostor", + "workspace.reset.title": "Ponastavi delovni prostor", + "workspace.reset.confirm": 'Ponastaviti delovni prostor "{{name}}"?', + "workspace.reset.button": "Ponastavi delovni prostor", + "workspace.reset.archived.none": "Nobena aktivna seja ne bo arhivirana.", + "workspace.reset.archived.one": "1 seja bo arhivirana.", + "workspace.reset.archived.many": "{{count}} seje bodo arhivirane.", + "workspace.reset.note": "To bo ponastavilo delovni prostor, da bo ustrezal privzeti veji.", + "dialog.usageExceeded.dontShowAgain": "Ne prikaži več", +} diff --git a/packages/app/src/i18n/sq.ts b/packages/app/src/i18n/sq.ts new file mode 100644 index 000000000000..ca94793ab0e6 --- /dev/null +++ b/packages/app/src/i18n/sq.ts @@ -0,0 +1,1163 @@ +export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Skedari", + "desktop.menu.edit": "Redakto", + "desktop.menu.view": "Shiko", + "desktop.menu.go": "Shkoni", + "desktop.menu.window": "Dritare", + "desktop.menu.help": "Ndihmë", + "desktop.menu.checkForUpdates": "Kontrollo për përditësime...", + "desktop.menu.settings": "Cilësimet", + "desktop.menu.reloadWebview": "Rifresko pamjen e internetit", + "desktop.menu.restart": "Rinis", + "desktop.menu.exportLogs": "Eksporto regjistrat...", + "desktop.menu.newSession": "Sesion i ri", + "desktop.menu.openProject": "Hap projektin...", + "desktop.menu.newWindow": "Dritare e re", + "desktop.menu.closeWindow": "Mbyll dritaren", + "desktop.menu.undo": "Zhbër", + "desktop.menu.redo": "Ribëje", + "desktop.menu.cut": "Prerë", + "desktop.menu.copy": "Kopjo", + "desktop.menu.paste": "Ngjit", + "desktop.menu.delete": "Fshi", + "desktop.menu.selectAll": "Zgjidhni Të gjitha", + "desktop.menu.toggleSidebar": "Ndrysho shiritin anësor", + "desktop.menu.toggleTerminal": "Ndrysho Terminalin", + "desktop.menu.toggleFileTree": "Ndrysho Pemën e skedarit", + "desktop.menu.reload": "Ringarko", + "desktop.menu.toggleDeveloperTools": "Aktivizo Veglat e Zhvilluesit", + "desktop.menu.actualSize": "Madhësia aktuale", + "desktop.menu.zoomIn": "Zmadhoni", + "desktop.menu.zoomOut": "Zmadhoni", + "desktop.menu.toggleFullScreen": "Ndrysho ekranin e plotë", + "desktop.menu.back": "Mbrapa", + "desktop.menu.forward": "Përpara", + "desktop.menu.previousSession": "Sesioni i mëparshëm", + "desktop.menu.nextSession": "Sesioni i ardhshëm", + "desktop.menu.previousProject": "Projekti i mëparshëm", + "desktop.menu.nextProject": "Projekti i radhës", + "desktop.menu.minimize": "Minimizoje", + "desktop.menu.maximize": "Maksimizoni", + "desktop.menu.documentation": "Dokumentacioni OpenCode", + "desktop.menu.supportForum": "Forumi i Mbështetjes", + "desktop.menu.shareFeedback": "Ndani komentet", + "desktop.menu.reportBug": "Raportoni një gabim", + "desktop.menu.ariaLabel": "Menuja OpenCode", + "desktop.updater.dialog.checkFailed.message": "Kontrolli i përditësimit dështoi.", + "desktop.updater.dialog.checkFailed.title": "Gabim i përditësimit", + "desktop.updater.dialog.upToDate.message": "Ju jeni të përditësuar.", + "desktop.updater.dialog.upToDate.title": "Nuk ka përditësime", + "desktop.updater.dialog.ready.message": "Përditësimi {{version}} u shkarkua. Të riniset tani?", + "desktop.updater.dialog.ready.title": "Përditësimi gati", + "desktop.updater.dialog.restart": "Rinis", + "desktop.updater.dialog.later": "Më vonë", + "desktop.recovery.action.relaunch": "Rinis", + "desktop.recovery.action.exportLogs": "Eksporto regjistrat", + "desktop.recovery.action.keepWaiting": "Vazhdoni të prisni", + "desktop.recovery.action.quit": "Hiq dorë", + "desktop.recovery.loadFailed": "OpenCode nuk u ngarkua", + "desktop.recovery.terminated": "Dritarja OpenCode u mbyll papritur", + "desktop.recovery.unresponsive": "OpenCode nuk po përgjigjet", + "desktop.recovery.unresponsive.detail": + "Mund ta rinisni aplikacionin, të hapni regjistrat ose të vazhdoni të prisni.", + "desktop.recovery.loadFailed.detail": "Dritarja: {{window}}\nURL: {{url}}\nGabim: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Dritarja: {{window}}\nArsyeja: {{reason}}\nKodi: {{code}}", + "desktop.recovery.unknown": "", + "desktop.dialog.chooseFolder": "Zgjidhni një dosje", + "desktop.dialog.chooseFile": "Zgjidhni një skedar", + "desktop.dialog.saveFile": "Ruaj skedarin", + "desktop.dialog.files": "Skedarët", + "desktop.server.local": "Server lokal", + "desktop.wsl.error.windowsOnly": "WSL disponohet vetëm në Windows", + "desktop.wsl.error.unavailable": "WSL është i padisponueshëm", + "desktop.wsl.error.listInstalled": "Lista e shpërndarjeve të instaluara WSL dështoi", + "desktop.wsl.error.listOnline": "Lista e shpërndarjeve në linjë WSL dështoi", + "desktop.wsl.error.executeDistro": "Nuk mund të ekzekutohen komandat në distro", + "desktop.wsl.error.installWsl": "Instalimi i WSL dështoi", + "desktop.wsl.error.installDistro": "Instalimi i shpërndarjes dështoi: {{distro}}", + "desktop.wsl.error.installOpencode": "Instalimi i OpenCode dështoi", + "desktop.wsl.error.alreadyAdded": "{{distro}} është shtuar tashmë", + "desktop.wsl.error.opencodeMissing": "Opencode nuk është i instaluar në këtë shpërndarje", + "desktop.wsl.error.opencodeCannotRun": "Opencode është instaluar por nuk mund të ekzekutohet", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode nuk është i instaluar në {{distro}}", + "desktop.wsl.error.updateVersion": + "Përditësimi i OpenCode përfundoi, por {{distro}} ende raporton {{installed}}; pritet {{expected}}", + "desktop.wsl.error.noVersion": "asnjë version", + "desktop.wsl.error.serverExited": "Serveri WSL doli pas nisjes (kodi={{code}} sinjal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "Serveri WSL doli përpara se të bëhej i shëndetshëm (kodi={{code}} sinjal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": "Makina anësore për kontrollin shëndetësor të {{distro}} mbaroi pas {{timeout}}ms", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} skadoi pas {{timeout}}ms", + "desktop.wsl.error.failedPort": "Dështoi në marrjen e portit", + "desktop.picker.error.notSelected": "Skedari nuk u zgjodh nga zgjedhësi", + "desktop.picker.error.sizeLimit": "Bashkëngjitjet e zgjedhura tejkalojnë kufirin {{limit}} MB", + "command.category.suggested": "Sugjeruar", + "command.category.view": "Shiko", + "command.category.project": "Projekti", + "command.category.provider": "Ofruesi", + "command.category.server": "Serveri", + "command.category.session": "Sesioni", + "command.category.theme": "Tema", + "command.category.language": "Gjuha", + "command.category.file": "Skedari", + "command.category.context": "Konteksti", + "command.category.terminal": "Terminali", + "command.category.model": "Model", + "command.category.mcp": "MCP", + "command.category.agent": "Agjenti", + "command.category.permissions": "Lejet", + "command.category.workspace": "Hapësira e punës", + "command.category.settings": "Cilësimet", + "command.logs.export": "Eksporto regjistrat", + "theme.scheme.system": "Sistemi", + "theme.scheme.light": "Drita", + "theme.scheme.dark": "E errët", + "command.sidebar.toggle": "Ndrysho shiritin anësor", + "command.project.open": "Projekt i hapur", + "command.project.previous": "Projekti i mëparshëm", + "command.project.next": "Projekti i radhës", + "command.project.index": "Kalo te projekti {{index}}", + "command.provider.connect": "Lidhni ofruesin", + "command.server.switch": "Ndërro serverin", + "command.settings.open": "Hap cilësimet", + "command.session.previous": "Sesioni i mëparshëm", + "command.session.next": "Sesioni i ardhshëm", + "command.session.previous.unseen": "Sesioni i mëparshëm i palexuar", + "command.session.next.unseen": "Sesioni tjetër i palexuar", + "command.session.archive": "Sesioni i arkivit", + "command.palette": "Paleta e komandave", + "command.theme.cycle": "Tema e ciklit", + "command.theme.set": "Përdorni temën: {{theme}}", + "command.theme.scheme.cycle": "Skema e ngjyrave të ciklit", + "command.theme.scheme.set": "Përdorni skemën e ngjyrave: {{scheme}}", + "command.language.cycle": "Gjuha e ciklit", + "command.language.set": "Përdorni gjuhën: {{language}}", + "command.session.new": "Sesion i ri", + "command.file.open": "Hap skedarin", + "command.tab.close": "Mbyll skedën", + "command.tab.reopenClosed": "Rihap skedën e mbyllur", + "command.context.addSelection": "Shtoni përzgjedhjen në kontekst", + "command.context.addSelection.description": "Shtoni linjat e zgjedhura nga skedari aktual", + "command.input.focus": "Fokusoni hyrjen", + "command.terminal.toggle": "Ndrysho terminalin", + "command.fileTree.toggle": "Ndrysho pemën e skedarit", + "command.review.toggle": "Aktivizo rishikimin", + "command.terminal.new": "Terminali i ri", + "command.terminal.new.description": "Krijo një skedë të re terminali", + "command.steps.toggle": "Ndrysho hapat", + "command.steps.toggle.description": "Shfaq ose fshih hapat për mesazhin aktual", + "command.message.previous": "Mesazhi i mëparshëm", + "command.message.previous.description": "Shkoni te mesazhi i mëparshëm i përdoruesit", + "command.message.next": "Mesazhi i radhës", + "command.message.next.description": "Shkoni te mesazhi tjetër i përdoruesit", + "command.model.choose": "Zgjidhni modelin", + "command.model.choose.description": "Zgjidhni një model tjetër", + "command.mcp.toggle": "Aktivizo MCP-të", + "command.mcp.toggle.description": "Aktivizo MCP-të", + "command.agent.cycle": "Agjenti tjetër", + "command.agent.cycle.description": "Kalo te agjenti tjetër", + "command.agent.cycle.reverse": "Agjenti i mëparshëm", + "command.agent.cycle.reverse.description": "Kalo te agjenti i mëparshëm", + "command.model.variant.cycle": "Niveli tjetër i arsyetimit", + "command.model.variant.cycle.description": "Kalo në nivelin tjetër të përpjekjes", + "command.prompt.mode.shell": "Shell", + "command.prompt.mode.normal": "Kërkesë", + "command.permissions.autoaccept.enable": "Prano automatikisht lejet", + "command.permissions.autoaccept.disable": "Ndalo pranimin automatik të lejeve", + "command.workspace.toggle": "Ndrysho hapësirat e punës", + "command.workspace.toggle.description": "Aktivizo ose çaktivizo shumë hapësira pune në shiritin anësor", + "command.session.undo": "Zhbër", + "command.session.undo.description": "Zhbër mesazhin e fundit", + "command.session.redo": "Ribëje", + "command.session.redo.description": "Ribërë mesazhin e fundit të zhbërë", + "command.session.compact": "Sesion kompakt", + "command.session.compact.description": "Përmblidhni seancën për të zvogëluar madhësinë e kontekstit", + "command.session.fork": "Fork nga mesazhi", + "command.session.fork.description": "Krijoni një seancë të re nga një mesazh i mëparshëm", + "command.session.share": "Ndani seancën", + "command.session.share.description": "Ndani këtë sesion dhe kopjoni URL në kujtesën e fragmenteve", + "command.session.unshare": "Anulo ndarjen e seancës", + "command.session.unshare.description": "Ndalo ndarjen e këtij sesioni", + "command.session.export": "Sesioni i eksportit", + "command.session.export.description": "Eksporto transkriptin e plotë të sesionit si JSON", + "palette.search.placeholder": "Kërkoni skedarë, komanda dhe sesione", + "palette.search.placeholder.home": "Kërko komandat dhe seancat", + "palette.empty": "Nuk u gjet asnjë rezultat", + "palette.group.commands": "Komandat", + "palette.group.files": "Skedarët", + "dialog.provider.search.placeholder": "Kërko ofruesit", + "dialog.provider.empty": "Nuk u gjet asnjë ofrues", + "dialog.provider.group.popular": "Popullore", + "dialog.provider.group.other": "Të tjera", + "dialog.provider.custom.label": "Ofrues i personalizuar i përputhshëm me OpenAI", + "dialog.provider.tag.recommended": "Rekomanduar", + "dialog.provider.opencode.note": "Modele të kuruara duke përfshirë Claude, GPT, Gemini dhe më shumë", + "dialog.provider.opencode.tagline": "Modele të besueshme të optimizuara", + "dialog.provider.opencodeGo.tagline": "Abonim me kosto të ulët për të gjithë", + "dialog.provider.anthropic.note": "Qasje e drejtpërdrejtë në modelet Claude, duke përfshirë Pro dhe Max", + "dialog.provider.copilot.note": "Modele të AI për ndihmë kodimi përmes GitHub Copilot", + "dialog.provider.openai.note": "Modelet GPT për detyra të shpejta dhe të afta të përgjithshme të AI", + "dialog.provider.google.note": "Modele Gemini për përgjigje të shpejta dhe të strukturuara", + "dialog.provider.openrouter.note": "Hyni në të gjitha modelet e mbështetura nga një ofrues", + "dialog.provider.vercel.note": "Qasje e unifikuar në modelet e AI me rrugëzim inteligjent", + "dialog.model.select.title": "Zgjidhni modelin", + "dialog.model.search.placeholder": "Kërko modele", + "dialog.model.empty": "Asnjë rezultat modeli", + "dialog.model.manage": "Menaxhoni modelet", + "dialog.model.manage.description": "Personalizo cilat modele shfaqen në përzgjedhësin e modelit.", + "dialog.model.manage.provider.toggle": "Ndrysho të gjitha modelet {{provider}}", + "dialog.model.unpaid.freeModels.title": "Modele falas të ofruara nga OpenCode", + "dialog.model.unpaid.addMore.title": "Shtoni më shumë modele nga ofruesit e njohur", + "dialog.model.unpaid.viewMoreProviders": "Shiko mbi 70 ofrues të tjerë", + "dialog.provider.viewAll": "Shfaq më shumë ofrues", + "provider.connect.title": "Lidhni {{provider}}", + "provider.connect.title.anthropicProMax": "Hyni me Claude Pro/Max", + "provider.connect.selectMethod": "Zgjidhni metodën e hyrjes për {{provider}}.", + "provider.connect.method.apiKey": "Tasti API", + "provider.connect.method.browser": "Shfletuesi", + "provider.connect.method.headless": "Pa kokë", + "provider.connect.status.inProgress": "Autorizimi në proces...", + "provider.connect.status.waiting": "Në pritje të autorizimit...", + "provider.connect.status.failed": "Autorizimi dështoi: {{error}}", + "provider.connect.apiKey.description": + "Futni çelësin API të {{provider}} për të lidhur llogarinë dhe për të përdorur modelet {{provider}} në OpenCode.", + "provider.connect.apiKey.label": "{{provider}} Tasti API", + "provider.connect.apiKey.placeholder": "Tasti API", + "provider.connect.apiKey.required": "Kërkohet çelësi API", + "provider.connect.opencodeZen.line1": + "OpenCode Zen ju jep akses në një grup të kuruar modelesh të optimizuara të besueshme për agjentët e kodimit.", + "provider.connect.opencodeZen.line2": + "Me një çelës të vetëm API do të keni akses në modele të tilla si Claude, GPT, Gemini, GLM dhe më shumë.", + "provider.connect.opencodeZen.visit.prefix": "Vizitoni ", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": " për të mbledhur çelësin tuaj API.", + "provider.connect.oauth.code.visit.prefix": "Vizitoni ", + "provider.connect.oauth.code.visit.link": "kjo lidhje", + "provider.connect.oauth.code.visit.suffix": + " për të mbledhur kodin tuaj të autorizimit për të lidhur llogarinë tuaj dhe për të përdorur modelet {{provider}} në OpenCode.", + "provider.connect.oauth.code.label": "Kodi i autorizimit {{method}}", + "provider.connect.oauth.code.placeholder": "Kodi i autorizimit", + "provider.connect.oauth.code.required": "Kërkohet kodi i autorizimit", + "provider.connect.oauth.code.invalid": "Kodi i pavlefshëm i autorizimit", + "provider.connect.oauth.auto.visit.prefix": "Vizitoni ", + "provider.connect.oauth.auto.visit.link": "kjo lidhje", + "provider.connect.oauth.auto.visit.suffix": + " dhe futni kodin më poshtë për të lidhur llogarinë tuaj dhe për të përdorur modelet {{provider}} në OpenCode.", + "provider.connect.oauth.auto.confirmationCode": "Kodi i konfirmimit", + "provider.connect.toast.connected.title": "{{provider}} i lidhur", + "provider.connect.toast.connected.description": "Modelet {{provider}} tani janë në dispozicion për t'u përdorur.", + "provider.custom.title": "Ofruesi i personalizuar", + "provider.custom.unavailable": "Ofruesit e personalizuar nuk janë të disponueshëm në këtë server", + "provider.custom.description.prefix": "Konfiguro një ofrues të pajtueshëm me OpenAI. Shihni ", + "provider.custom.description.link": "dokumentet e konfigurimit të ofruesit", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "ID e ofruesit", + "provider.custom.field.providerID.placeholder": "ofruesi im", + "provider.custom.field.providerID.description": "Shkronjat e vogla, numrat, vizat vijuese ose nënvizat", + "provider.custom.field.name.label": "Emri i shfaqur", + "provider.custom.field.name.placeholder": "Ofruesi im i AI", + "provider.custom.field.baseURL.label": "Baza URL", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "Tasti API", + "provider.custom.field.apiKey.placeholder": "Tasti API", + "provider.custom.field.apiKey.description": "Fakultative. Lëreni bosh nëse menaxhoni auth nëpërmjet titujve.", + "provider.custom.models.label": "Modelet", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "model-id", + "provider.custom.models.name.label": "Emri", + "provider.custom.models.name.placeholder": "Emri i shfaqur", + "provider.custom.models.remove": "Hiq modelin", + "provider.custom.models.add": "Shto model", + "provider.custom.headers.label": "Titujt (opsionale)", + "provider.custom.headers.key.label": "Kreu", + "provider.custom.headers.key.placeholder": "Header-Emri", + "provider.custom.headers.value.label": "Vlera", + "provider.custom.headers.value.placeholder": "vlerë", + "provider.custom.headers.remove": "Hiq kokën", + "provider.custom.headers.add": "Shto kokën", + "provider.custom.error.providerID.required": "Kërkohet ID e ofruesit", + "provider.custom.error.providerID.format": "Përdorni shkronja të vogla, numra, viza ose nënvizime", + "provider.custom.error.providerID.exists": "Ajo ID e ofruesit ekziston tashmë", + "provider.custom.error.name.required": "Kërkohet emri i shfaqur", + "provider.custom.error.baseURL.required": "Kërkohet baza URL", + "provider.custom.error.baseURL.format": "Duhet të fillojë me http:// ose https://", + "provider.custom.error.required": "E detyrueshme", + "provider.custom.error.duplicate": "Dublikatë", + "provider.disconnect.toast.disconnected.title": "{{provider}} u shkëput", + "provider.disconnect.toast.disconnected.description": "Modelet {{provider}} nuk janë më të disponueshme.", + "model.tag.free": "Falas", + "model.tag.latest": "E fundit", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "teksti", + "model.input.image": "imazh", + "model.input.audio": "audio", + "model.input.video": "video", + "model.input.pdf": "pdf", + "model.tooltip.allows": "Lejon: {{inputs}}", + "model.tooltip.context.label": "Konteksti", + "model.tooltip.inputs": "Inputet", + "model.tooltip.model": "Model", + "model.tooltip.provider": "Ofruesi", + "model.tooltip.reasoning": "Arsyetimi", + "model.tooltip.reasoning.allowed": "Lejon arsyetimin", + "model.tooltip.reasoning.none": "Asnjë arsyetim", + "model.tooltip.context": "Kufiri i kontekstit {{limit}}", + "common.search.placeholder": "Kërko", + "common.goBack": "Navigoni prapa", + "common.goForward": "Navigoni përpara", + "common.loading": "Po ngarkohet", + "common.loading.ellipsis": "...", + "common.cancel": "Anulo", + "common.clear": "E qartë", + "common.open": "Hapur", + "common.connect": "Lidheni", + "common.disconnect": "Shkëputeni", + "common.continue": "Vazhdoni", + "common.submit": "Paraqisni", + "common.save": "Ruaj", + "common.saving": "Po ruan...", + "common.default": "E paracaktuar", + "common.attachment": "bashkëngjitje", + "prompt.placeholder.shell": "Futni një komandë shell... {{example}}", + "prompt.placeholder.normal": 'Pyet çdo gjë... "{{example}}"', + "prompt.placeholder.simple": "Pyet ndonjë gjë...", + "prompt.placeholder.summarizeComments": "Përmblidhni komentet…", + "prompt.placeholder.summarizeComment": "Përmblidhni komentin…", + "prompt.mode.shell": "Shell", + "prompt.mode.normal": "Kërkesë", + "prompt.mode.shell.exit": "esc për të dalë", + "session.child.promptDisabled": "Seancat e nënagjentit nuk mund të kërkohen.", + "session.child.backToParent": "Kthehu në sesionin kryesor.", + "prompt.example.1": "Rregulloni një TODO në bazën e kodeve", + "prompt.example.2": "Cili është grupi teknologjik i këtij projekti?", + "prompt.example.3": "Rregulloni testet e prishura", + "prompt.example.4": "Shpjegoni se si funksionon vërtetimi", + "prompt.example.5": "Gjeni dhe rregulloni dobësitë e sigurisë", + "prompt.example.6": "Shtoni testet e njësisë për shërbimin e përdoruesit", + "prompt.example.7": "Rifaktoroni këtë funksion për të qenë më i lexueshëm", + "prompt.example.8": "Çfarë do të thotë ky gabim?", + "prompt.example.9": "Më ndihmo të korrigjoj këtë problem", + "prompt.example.10": "Gjeneroni dokumentacion API", + "prompt.example.11": "Optimizoni pyetjet e bazës së të dhënave", + "prompt.example.12": "Shto vërtetimin e hyrjes", + "prompt.example.13": "Krijo një komponent të ri për...", + "prompt.example.14": "Si ta vendos këtë projekt?", + "prompt.example.15": "Rishikoni kodin tim për praktikat më të mira", + "prompt.example.16": "Shto trajtimin e gabimeve në këtë funksion", + "prompt.example.17": "Shpjegoni këtë model regex", + "prompt.example.18": "Konvertojeni këtë në TypeScript", + "prompt.example.19": "Shto regjistrime në të gjithë bazën e kodeve", + "prompt.example.20": "Cilat varësi janë të vjetruara?", + "prompt.example.21": "Më ndihmo të shkruaj një skenar migrimi", + "prompt.example.22": "Zbatoni caching për këtë pikë fundore", + "prompt.example.23": "Shto faqezim në këtë listë", + "prompt.example.24": "Krijo një komandë CLI për...", + "prompt.example.25": "Si funksionojnë variablat e mjedisit këtu?", + "prompt.popover.emptyResults": "Nuk ka rezultate që përputhen", + "prompt.popover.emptyCommands": "Nuk ka komanda që përputhen", + "prompt.dropzone.label": "Hidhni këtu imazhe, PDF ose skedarë teksti", + "prompt.dropzone.file.label": "Hidheni te skedari @mention", + "prompt.slash.badge.custom": "zakon", + "prompt.slash.badge.skill": "shkathtësi", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "aktive", + "prompt.context.includeActiveFile": "Përfshi skedarin aktiv", + "prompt.context.removeActiveFile": "Hiq skedarin aktiv nga konteksti", + "prompt.context.removeFile": "Hiq skedarin nga konteksti", + "prompt.action.attachFile": "Shtoni skedarë", + "prompt.menu.addImagesAndFiles": "Shtoni skedarë dhe më shumë", + "prompt.menu.imagesAndFiles": "Imazhet dhe skedarët", + "prompt.menu.commands": "Komandat", + "prompt.menu.context": "Konteksti", + "prompt.menu.shellCommand": "Komanda e guaskës", + "prompt.attachment.remove": "Hiq shtojcën", + "prompt.action.send": "Dërgo", + "prompt.action.stop": "Ndalo", + "prompt.toast.pasteUnsupported.title": "Bashkëngjitje e pambështetur", + "prompt.toast.pasteUnsupported.description": + "Këtu mund të bashkëngjiten vetëm imazhe, skedarë PDF ose skedarë teksti.", + "prompt.toast.attachmentDuplicate.title": "Ky skedar tashmë është ngarkuar", + "prompt.toast.modelAgentRequired.title": "Zgjidhni një agjent dhe model", + "prompt.toast.modelAgentRequired.description": "Zgjidhni një agjent dhe model përpara se të dërgoni një kërkesë.", + "prompt.toast.worktreeCreateFailed.title": "Krijimi i pemës së punës dështoi", + "prompt.toast.sessionCreateFailed.title": "Krijimi i sesionit dështoi", + "prompt.toast.shellSendFailed.title": "Dërgimi i komandës së predhës dështoi", + "prompt.toast.commandSendFailed.title": "Dërgimi i komandës dështoi", + "prompt.toast.promptSendFailed.title": "Dërgimi i kërkesës dështoi", + "prompt.toast.promptSendFailed.description": "Sesioni nuk mund të rikthehet", + "dialog.mcp.title": "MCP-të", + "dialog.mcp.description": "{{enabled}} nga {{total}} është aktivizuar", + "dialog.mcp.empty": "Asnjë MCP nuk është konfiguruar", + "dialog.lsp.empty": "LSP-të zbulohen automatikisht nga llojet e skedarëve", + "dialog.plugins.empty": "Shtojcat e konfiguruara në opencode.json", + "mcp.status.connected": "lidhur", + "mcp.status.failed": "dështoi", + "mcp.status.needs_auth": "nevojiten auth", + "mcp.status.disabled": "me aftësi të kufizuara", + "mcp.auth.clickToAuthenticate": "Kliko për të vërtetuar", + "dialog.fork.empty": "Nuk ka mesazhe për të marrë nga", + "dialog.directory.search.placeholder": "Kërko dosjet", + "dialog.directory.empty": "Nuk u gjet asnjë dosje", + "dialog.directory.action.selectFile": "Zgjidhni skedarin", + "dialog.directory.action.selectFolder": "Zgjidhni dosjen", + "dialog.directory.root": "Rrënja", + "dialog.directory.parent": "Prindi", + "dialog.directory.readError": "Nuk mund të lexohet kjo dosje", + "app.server.unreachable": "{{server}} nuk mund të arrihet", + "app.server.retrying": "Po riprovohet automatikisht...", + "app.server.otherServers": "Serverë të tjerë", + "dialog.server.title": "Serverat", + "dialog.server.description": "Ndrysho me cilin server OpenCode lidhet ky aplikacion.", + "dialog.server.search.placeholder": "Kërko serverët", + "dialog.server.empty": "Ende nuk ka serverë", + "dialog.server.add.title": "Shto server", + "dialog.server.add.url": "Adresa e serverit", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "Nuk mund të lidhej me serverin", + "dialog.server.add.checking": "Po kontrollon...", + "dialog.server.add.button": "Shto server", + "dialog.server.add.name": "Emri i serverit (opsionale)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "Emri i përdoruesit (opsionale)", + "dialog.server.add.usernamePlaceholder": "emri i përdoruesit", + "dialog.server.add.password": "Fjalëkalimi (opsionale)", + "dialog.server.add.passwordPlaceholder": "fjalëkalimin", + "dialog.server.edit.title": "Redakto serverin", + "dialog.server.default.title": "Serveri i parazgjedhur", + "dialog.server.default.description": + "Lidhu me këtë server në nisjen e aplikacionit në vend që të nisësh një server lokal. Kërkon rinisje.", + "dialog.server.default.none": "Nuk është zgjedhur asnjë server", + "dialog.server.default.set": "Cakto serverin aktual si parazgjedhje", + "dialog.server.default.clear": "Pastro", + "dialog.server.action.remove": "Hiq serverin", + "dialog.server.menu.edit": "Redakto", + "dialog.server.menu.default": "Cakto si parazgjedhje", + "dialog.server.menu.defaultRemove": "Hiq parazgjedhjen", + "dialog.server.menu.delete": "Fshi", + "dialog.server.current": "Serveri aktual", + "dialog.server.status.default": "E paracaktuar", + "wsl.server.add": "Shto serverin WSL", + "wsl.server.addShort": "Shto WSL", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "Serveri WSL", + "wsl.server.retryStart": "Riprovo fillimin", + "wsl.server.updating": "Po përditësohet...", + "wsl.onboarding.step.distro": "Zgjidhni shpërndarjen", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "Po kontrollon WSL...", + "wsl.onboarding.restartRequired": "Windows ka nevojë për një rinisje për të përfunduar instalimin e WSL.", + "wsl.onboarding.ready": "WSL është gati.", + "wsl.onboarding.required": "WSL kërkohet për të vazhduar.", + "wsl.onboarding.checkingDistros": "Po kontrollon shpërndarjet...", + "wsl.onboarding.installingDistro": "Po instalon {{distro}}...", + "wsl.onboarding.checkingDistro": "Po kontrollon {{distro}}...", + "wsl.onboarding.listingDistros": "Listimi i shpërndarjeve...", + "wsl.onboarding.distroReady": "{{distro}} është gati.", + "wsl.onboarding.distroNotInstalled": "{{distro}} nuk është instaluar ende.", + "wsl.onboarding.openDistroOnce": "Hap {{distro}} një herë për të përfunduar konfigurimin.", + "wsl.onboarding.finishingDistro": "Përfundimi i konfigurimit për {{distro}}.", + "wsl.onboarding.pickDistro": "Zgjidh një shpërndarje ose instalo një më poshtë.", + "wsl.onboarding.checkingOpencode": "Po kontrollon OpenCode...", + "wsl.onboarding.checkingOpencodeIn": "Po kontrollon OpenCode në {{distro}}...", + "wsl.onboarding.updatingOpencode": "OpenCode po përditësohet...", + "wsl.onboarding.updatingOpencodeIn": "Po përditëson OpenCode në {{distro}}...", + "wsl.onboarding.updateOpencodeIn": "Përditëso OpenCode në {{distro}}.", + "wsl.onboarding.updateOpencode": "Përditëso OpenCode", + "wsl.onboarding.opencodeReadyIn": "OpenCode është gati në {{distro}}.", + "wsl.onboarding.opencodeReady": "OpenCode është gati.", + "wsl.onboarding.installOpencodeIn": "Instaloni OpenCode në {{distro}}.", + "wsl.onboarding.installOpencode": "Instaloni OpenCode", + "wsl.onboarding.chooseDistroFirst": "Së pari zgjidhni një shpërndarje.", + "wsl.onboarding.loadFailed": "Ngarkimi i gjendjes WSL dështoi.", + "wsl.onboarding.loading": "Po ngarkohet...", + "wsl.onboarding.installedDistros": "Distro të instaluara", + "wsl.onboarding.checkAgain": "Kontrollo sërish", + "wsl.onboarding.distroStatus.ready": "Gati", + "wsl.onboarding.distroStatus.checking": "Po kontrollon...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode nuk është i instaluar", + "wsl.onboarding.distroStatus.missingTools": "Mungon bash, kaçurrela", + "wsl.onboarding.distroStatus.unsupported": "E pambështetur · Përdor WSL 2", + "wsl.onboarding.needAnotherDistro": "Keni nevojë për një shpërndarje tjetër?", + "wsl.onboarding.needAnotherDistroHint": "Instaloni një shpërndarje Linux nga katalogu WSL", + "wsl.onboarding.wslNotInstalled.title": "WSL nuk është i instaluar", + "wsl.onboarding.wslNotInstalled.description": + "WSL (Nënsistemi Windows për Linux) kërkohet përpara se OpenCode të shtojë një server WSL", + "wsl.onboarding.wslUnavailable.title": "WSL i padisponueshëm", + "wsl.onboarding.wslUnavailable.description": "OpenCode nuk mund ta verifikonte WSL në këtë makinë.", + "wsl.onboarding.installWsl": "Instaloni WSL", + "wsl.onboarding.windowsRestartRequired": "Rinis Windows për të përfunduar instalimin e WSL, më pas rihap OpenCode.", + "wsl.onboarding.next": "Tjetra", + "wsl.onboarding.refresh": "Rifresko", + "wsl.onboarding.allDistrosAdded": "Të gjitha shpërndarjet e instaluara janë shtuar tashmë.", + "wsl.onboarding.noDistros": "Nuk është zbuluar ende asnjë shpërndarje.", + "wsl.onboarding.install": "Instaloni", + "wsl.onboarding.installing": "Po instalohet...", + "wsl.onboarding.installDistro": "Instaloni distro", + "wsl.onboarding.searchDistros": "Kërko shpërndarjet", + "wsl.onboarding.wsl2Required": "Kërkohet WSL 2.", + "wsl.onboarding.toolsRequired": "Kjo shpërndarje ka nevojë për bash dhe kaçurrela.", + "wsl.onboarding.openTerminal": "Hap terminalin", + "wsl.onboarding.path": "Rruga: {{path}}", + "wsl.onboarding.notFound": "nuk u gjet", + "wsl.onboarding.version": "Versioni: {{version}}", + "wsl.onboarding.unknown": "i panjohur", + "wsl.onboarding.desktopVersion": "desktop {{version}}", + "wsl.onboarding.versionMismatch": "Versioni i instaluar nuk përputhet me versionin e aplikacionit desktop.", + "wsl.onboarding.adding": "Po shtohet...", + "help.tabs.toast.ariaLabel": "Prezantimi i skedave. Organizoni punën tuaj dhe seancat aktive me skeda", + "help.tabs.toast.dismiss": "Hiq informacionin e skedave", + "help.tabs.title": "Prezantimi i skedave", + "help.tabs.description": "Organizoni punën tuaj dhe seancat aktive me skeda", + "help.tabs.date": "14 korrik", + "help.tabs.introduction": "OpenCode Desktop tani është ndërtuar rreth skedave.", + "help.tabs.sessions": + "Filloni një sesion të ri në një skedë ose hapni një sesion ekzistues nga ndonjë prej projekteve tuaja. Hapni një skedë të re kur filloni diçka të re dhe mbylleni kur të keni mbaruar.", + "help.tabs.organize": + "Mbajtja e disa skedave të hapura e bën më të lehtë organizimin e seancave tuaja aktive. Riemërtoni skedat në diçka të paharrueshme nëse planifikoni t'i mbani ato përreth.", + "help.tabs.home": + "Do t'i gjeni të gjitha seancat dhe projektet tuaja në ekranin e ri Home. Zgjedhja e një sesioni e hap atë në një skedë.", + "help.tabs.persistence": "Kur rihapni aplikacionin, skedat tuaja janë ende të hapura.", + "help.tabs.worktrees": + 'Dizajni i ri nuk mbështet ende Git Worktrees, ai vjen së shpejti. Pra, nëse preferoni të vazhdoni të përdorni paraqitjen e mëparshme, mund të kaloni midis paraqitjeve te "Cilësimet". Vetëm mbani në mend se faqosja e re do të bëhet e përhershme brenda disa javësh.', + "server.row.noUsername": "asnjë emër përdoruesi", + "dialog.project.edit.title": "Redakto projektin", + "dialog.project.edit.name": "Emri", + "dialog.project.edit.icon": "Ikona", + "dialog.project.edit.icon.alt": "Ikona e projektit", + "dialog.project.edit.icon.hint": "Klikoni ose tërhiqni një imazh", + "dialog.project.edit.icon.recommended": "Rekomandohet: 128x128px", + "dialog.project.edit.color": "Ngjyra", + "dialog.project.edit.color.select": "Zgjidhni ngjyrën {{color}}", + "dialog.project.edit.worktree.startup": "Skript i nisjes së hapësirës së punës", + "dialog.project.edit.worktree.startup.description": + "Ekzekutohet pas krijimit të një hapësire të re pune (pema e punës).", + "dialog.project.edit.worktree.startup.placeholder": "p.sh. bun install", + "dialog.releaseNotes.action.getStarted": "Filloni", + "dialog.releaseNotes.action.next": "Tjetra", + "dialog.releaseNotes.action.hideFuture": "Mos i shfaq këto në të ardhmen", + "dialog.releaseNotes.media.alt": "Pamja paraprake e publikimit", + "context.breakdown.title": "Zbërthimi i kontekstit", + "context.breakdown.note": + 'Zbërthimi i përafërt i shenjave hyrëse. "Të tjera" përfshin përkufizimet e mjeteve dhe shpenzimet e përgjithshme.', + "context.breakdown.system": "Sistemi", + "context.breakdown.user": "Përdoruesi", + "context.breakdown.assistant": "Asistent", + "context.breakdown.tool": "Thirrjet e mjeteve", + "context.breakdown.other": "Të tjera", + "context.systemPrompt.title": "Prompt i sistemit", + "context.rawMessages.title": "Mesazhe të papërpunuara", + "context.export.session": "Sesioni i eksportit", + "context.stats.session": "Sesioni", + "context.stats.messages": "Mesazhet", + "context.stats.provider": "Ofruesi", + "context.stats.model": "Model", + "context.stats.limit": "Kufiri i kontekstit", + "context.stats.totalTokens": "Tokenet totale", + "context.stats.usage": "Përdorimi", + "context.stats.inputTokens": "Shenjat hyrëse", + "context.stats.outputTokens": "Shenjat e daljes", + "context.stats.reasoningTokens": "Shenjat e arsyetimit", + "context.stats.cacheTokens": "Shenjat e memories (lexo/shkruaj)", + "context.stats.userMessages": "Mesazhet e Përdoruesit", + "context.stats.assistantMessages": "Mesazhet e asistentit", + "context.stats.totalCost": "Kostoja totale", + "context.stats.sessionCreated": "Sesioni u krijua", + "context.stats.lastActivity": "Aktiviteti i fundit", + "context.usage.tokens": "Shenjat", + "context.usage.usage": "Përdorimi", + "context.usage.cost": "Kostoja", + "context.usage.clickToView": "Klikoni për të parë kontekstin", + "context.usage.view": "Shikoni përdorimin e kontekstit", + "language.en": "anglisht", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Deutsch", + "language.es": "Español", + "language.fr": "Français", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "Polski", + "language.ru": "Русский", + "language.ar": "Arabisht", + "language.no": "Norsk", + "language.br": "portugalisht (Brazil)", + "language.bs": "Bosanski", + "language.uk": "Ukrainas", + "language.th": "ไทย", + "language.tr": "Türkçe", + "toast.language.title": "Gjuha", + "toast.language.description": "Kaloi në {{language}}", + "toast.theme.title": "Tema u ndërrua", + "toast.scheme.title": "Skema e ngjyrave", + "toast.workspace.enabled.title": "Hapësirat e punës janë aktivizuar", + "toast.workspace.enabled.description": "Pemët e shumta të punës shfaqen tani në shiritin anësor", + "toast.workspace.disabled.title": "Hapësirat e punës janë çaktivizuar", + "toast.workspace.disabled.description": "Vetëm pema kryesore e punës shfaqet në shiritin anësor", + "toast.permissions.autoaccept.on.title": "Auto-pranimi i lejeve", + "toast.permissions.autoaccept.on.description": "Kërkesat për leje do të miratohen automatikisht", + "toast.permissions.autoaccept.off.title": "Ndaloi pranimin automatik të lejeve", + "toast.permissions.autoaccept.off.description": "Kërkesat për leje do të kërkojnë miratim", + "toast.model.none.title": "Asnjë model i zgjedhur", + "toast.model.none.description": "Lidhni një ofrues për të përmbledhur këtë sesion", + "toast.file.loadFailed.title": "Ngarkimi i skedarit dështoi", + "toast.file.listFailed.title": "Lista e skedarëve dështoi", + "toast.context.noLineSelection.title": "Nuk ka përzgjedhje rreshti", + "toast.context.noLineSelection.description": "Së pari zgjidhni një varg rreshti në një skedë skedari.", + "toast.session.share.copyFailed.title": "Kopjimi i URL në kujtesën e fragmenteve dështoi", + "toast.session.share.success.title": "Sesioni i përbashkët", + "toast.session.share.success.description": "Ndani URL kopjuar në kujtesën e fragmenteve!", + "toast.session.share.failed.title": "Ndarja e sesionit dështoi", + "toast.session.share.failed.description": "Ndodhi një gabim gjatë ndarjes së seancës", + "toast.session.unshare.success.title": "Sesioni u anulua", + "toast.session.unshare.success.description": "Sesioni u anulua me sukses!", + "toast.session.unshare.failed.title": "Shpërndarja e sesionit dështoi", + "toast.session.unshare.failed.description": "Ndodhi një gabim gjatë anulimit të seancës", + "toast.session.export.success.title": "Sesioni u eksportua", + "toast.session.export.success.description": "Sesioni u ruajt në {{filename}}", + "toast.session.export.failed.title": "Eksportimi i sesionit dështoi", + "toast.session.export.failed.description": "Ndodhi një gabim gjatë eksportimit të sesionit", + "toast.session.listFailed.title": "Ngarkimi i seancave për {{project}} dështoi", + "toast.project.reloadFailed.title": "Ringarkimi i {{project}} dështoi", + "toast.update.title": "Ofrohet përditësim", + "toast.update.description": "Një version i ri i OpenCode ({{version}}) është tani i disponueshëm për t'u instaluar.", + "toast.update.action.installRestart": "Instaloni dhe rinisni", + "toast.update.action.notYet": "Ende jo", + "error.page.title": "Diçka shkoi keq", + "error.page.description": "Ndodhi një gabim gjatë ngarkimit të aplikacionit.", + "error.page.description.localServerStartup": "Ndodhi një gabim gjatë nisjes së serverit lokal.", + "error.page.details.label": "Detajet e gabimit", + "error.page.action.restart": "Rinis", + "error.page.action.report": "Raportoni një gabim", + "error.page.action.reported": "Gabim i raportuar", + "error.page.action.exportLogs": "Eksporto regjistrat", + "error.page.action.checking": "Po kontrollon...", + "error.page.action.checkUpdates": "Kontrolloni për përditësime", + "error.page.action.updateTo": "Përditëso në {{version}}", + "error.page.circular": "[Rrethore]", + "error.page.report.prefix": "Ju lutemi raportoni këtë gabim te ekipi i OpenCode", + "error.page.report.discord": "mbi Mosmarrëveshjen", + "error.page.version": "Versioni: {{version}}", + "error.dev.rootNotFound": + "Elementi rrënjë nuk u gjet. A keni harruar ta shtoni atë në index.html tuaj? Apo ndoshta atributi id është shkruar gabim?", + "error.serverSync.connectFailed": "Nuk mund të lidhej me serverin. A ka një server që funksionon në `{{url}}`?", + "error.serverSDK.noServerAvailable": "Asnjë server i disponueshëm", + "error.serverSDK.serverNotAvailable": "Serveri nuk disponohet", + "error.childStore.persistedCacheCreateFailed": "Dështoi në krijimin e memories së vazhdueshme", + "error.childStore.persistedProjectMetadataCreateFailed": + "Krijimi i meta të dhënave të vazhdueshme të projektit dështoi", + "error.childStore.persistedProjectIconCreateFailed": "Krijimi i ikonës së projektit të vazhdueshëm dështoi", + "error.childStore.storeCreateFailed": "Krijimi i dyqanit dështoi", + "directory.error.invalidUrl": "Drejtoria e pavlefshme në URL.", + "error.chain.unknown": "Gabim i panjohur", + "error.server.invalidConfiguration": "Konfigurim i pavlefshëm", + "error.chain.causedBy": "Shkaktuar nga:", + "error.chain.apiError": "Gabim API", + "error.chain.status": "Statusi: {{status}}", + "error.chain.retryable": "Mund të provohet përsëri: {{retryable}}", + "error.chain.responseBody": "Trupi i përgjigjes:\n{{body}}", + "error.chain.didYouMean": "A do të thuash: {{suggestions}}", + "error.chain.modelNotFound": "Modeli nuk u gjet: {{provider}}/{{model}}", + "error.chain.checkConfig": "Kontrolloni emrat e ofruesit/modelit tuaj të konfigurimit (opencode.json).", + "error.chain.mcpFailed": 'Serveri MCP "{{name}}" dështoi. Shënim, OpenCode nuk e mbështet ende vërtetimin MCP.', + "error.chain.providerAuthFailed": "Autentifikimi i ofruesit dështoi ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + 'Inicializimi i ofruesit "{{provider}}" dështoi. Kontrolloni kredencialet dhe konfigurimin.', + "error.chain.configJsonInvalid": "Skedari i konfigurimit në {{path}} nuk është i vlefshëm JSON(C)", + "error.chain.configJsonInvalidWithMessage": + "Skedari i konfigurimit në {{path}} nuk është i vlefshëm JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + 'Drejtoria "{{dir}}" në {{path}} nuk është e vlefshme. Riemërtoni direktorinë në "{{suggestion}}" ose hiqeni atë. Ky është një gabim i zakonshëm.', + "error.chain.configFrontmatterError": "Dështoi në analizimin e materialit të parë në {{path}}:\n{{message}}", + "error.chain.configInvalid": "Skedari i konfigurimit në {{path}} është i pavlefshëm", + "error.chain.configInvalidWithMessage": "Skedari i konfigurimit në {{path}} është i pavlefshëm: {{message}}", + "notification.permission.title": "Kërkohet leje", + "notification.permission.description": "{{sessionTitle}} në {{projectName}} ka nevojë për leje", + "notification.question.title": "Pyetje", + "notification.question.description": "{{sessionTitle}} në {{projectName}} ka një pyetje", + "notification.action.goToSession": "Shkoni në seancë", + "notification.session.responseReady.title": "Përgjigja gati", + "notification.session.error.title": "Gabim në seancë", + "notification.session.error.fallbackDescription": "Ndodhi një gabim", + "home.recentProjects": "Projektet e fundit", + "home.empty.title": "Asnjë projekt i fundit", + "home.empty.description": "Filloni duke hapur një projekt lokal", + "home.title": "Kreu", + "home.projects": "Projektet", + "home.project.add": "Shto projekt", + "home.recentlyClosed": "Mbyllur së fundmi", + "home.server.collapse": "Palos projektet e serverit", + "home.server.expand": "Zgjeroni projektet e serverëve", + "home.sessions.search.placeholder": "Kërko seancat", + "home.sessions.search.placeholder.scoped": "Kërkoni sesione në {{scope}}", + "home.sessions.search.sessions": "Sesionet", + "home.sessions.search.noResults": "Nuk u gjetën seanca për {{query}}", + "home.sessions.empty": "Asgjë këtu ende", + "home.sessions.empty.description": "Krijo një seancë për të filluar", + "home.sessions.group.today": "Sot", + "home.sessions.group.yesterday": "Dje", + "home.sessions.group.older": "Më të vjetër", + "home.providerTip": "Lidhu me 75+ ofrues për të përdorur modele të tjera, duke përfshirë Claude, GPT, Gemini, etj.", + "session.tab.session": "Sesioni", + "session.tab.review": "Rishikimi", + "session.tab.context": "Konteksti", + "session.tab.unknown": "Sesion i panjohur", + "session.panel.reviewAndFiles": "Rishikimi dhe dosjet", + "session.error.notFound": "Ky sesion nuk mund të gjendet", + "session.error.notFound.description": "Kjo skedë tregon për një sesion që nuk ekziston më në këtë server.", + "session.error.notFound.closeTab": "Mbyll skedën", + "session.error.serverConnection": "Nuk mund të lidhet me këtë server", + "session.review.filesChanged": "Skedarët u ndryshuan {{count}}", + "session.review.change.one": "Ndryshimi", + "session.review.change.other": "Ndryshimet", + "session.review.loadingChanges": "Ndryshimet po ngarkohen...", + "session.review.empty": "Ende nuk ka ndryshime në këtë seancë", + "session.review.noVcs": "Nuk u zbulua sistemi i kontrollit të versionit Git, ndryshimet nuk shfaqen", + "session.review.noVcs.createGit.title": "Krijoni një depo Git", + "session.review.noVcs.createGit.description": "Gjurmoni, rishikoni dhe anuloni ndryshimet në këtë projekt", + "session.review.noVcs.createGit.actionLoading": "Krijimi i depove Git...", + "session.review.noVcs.createGit.action": "Krijo depo Git", + "session.review.noSnapshot": + "Ndjekja e fotografive është çaktivizuar në konfigurim, kështu që ndryshimet e sesionit nuk ofrohen", + "session.review.noChanges": "Nuk ka ndryshime", + "session.review.noUncommittedChanges": "Ende nuk ka ndryshime të pazgjedhura", + "session.review.noBranchChanges": "Ende nuk ka ndryshime në degë", + "session.files.selectToOpen": "Zgjidhni një skedar për të hapur", + "session.files.all": "Të gjithë skedarët", + "session.files.empty": "Nuk ka skedarë", + "session.files.binaryContent": "Skedar binar (përmbajtja nuk mund të shfaqet)", + "session.messages.renderEarlier": "Jepni mesazhe të mëparshme", + "session.messages.loadingEarlier": "Mesazhet e mëparshme po ngarkohen...", + "session.messages.loadEarlier": "Ngarko mesazhet e mëparshme", + "session.messages.loading": "Po ngarkon mesazhet...", + "session.messages.jumpToLatest": "Kalo tek e fundit", + "session.context.addToContext": "Shtoni {{selection}} në kontekst", + "session.todo.title": "Detyrat", + "session.todo.collapse": "Kolapsi", + "session.todo.expand": "Zgjerojeni", + "session.todo.progress": "{{done}} e {{total}} detyrat e përfunduara", + "session.question.progress": "{{current}} e pyetjeve {{total}}", + "session.question.minimize": "Minimizo pyetjen", + "session.question.restore": "Rivendos pyetjen", + "session.question.pending.one": "{{count}} pyetje në pritje", + "session.question.pending.other": "{{count}} pyetje në pritje", + "session.followupDock.summary.one": "Mesazhi në radhë {{count}}", + "session.followupDock.summary.other": "{{count}} mesazhe në radhë", + "session.followupDock.sendNow": "Dërgo tani", + "session.followupDock.edit": "Redakto", + "session.followupDock.collapse": "Palos mesazhet në radhë", + "session.followupDock.expand": "Zgjero mesazhet në radhë", + "session.revertDock.summary.one": "{{count}} u kthye në mesazh", + "session.revertDock.summary.other": "{{count}} i ktheu mesazhet", + "session.revertDock.collapse": "Palos mesazhet e kthyera", + "session.revertDock.expand": "Zgjero mesazhet e kthyera", + "session.revertDock.restore": "Rivendos mesazhin", + "session.new.title": "Ndërtoni ndonjë gjë", + "session.new.project.new": "Projekt i ri", + "session.new.project.search": "Kërko projekte", + "session.new.project.add": "Shto projekt", + "session.new.worktree.main": "Dega kryesore", + "session.new.worktree.mainWithBranch": "Dega kryesore ({{branch}})", + "session.new.worktree.create": "Krijo një pemë të re pune", + "session.new.workspace.runIn": "Drejtoni seancën brenda", + "session.new.workspace.triggerLocal": "Lokale", + "session.new.workspace.local": "Depo lokale", + "session.new.workspace.existing": "Hapësira e punës…", + "session.new.git.none": "Jo Git", + "session.new.lastModified": "Ndryshuar së fundi", + "session.header.search.placeholder": "Kërko {{project}}", + "session.header.searchFiles": "Kërko skedarët", + "session.header.openIn": "Hape brenda", + "session.header.open.action": "Hap {{app}}", + "session.header.open.ariaLabel": "Hapni në {{app}}", + "session.header.open.menu": "Hap opsionet", + "session.header.open.copyPath": "Kopjo rrugën", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "Eksploruesi i skedarëve", + "session.header.open.fileManager": "Menaxheri i skedarëve", + "session.header.reveal.finder": "Zbulojeni në Finder", + "session.header.reveal.fileExplorer": "Zbulojeni në File Explorer", + "session.header.reveal.containingFolder": "Hap dosjen që përmban", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Terminali", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "Statusi", + "status.popover.ariaLabel": "Konfigurimet e serverit", + "status.popover.tab.servers": "Serverat", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "Shtojcat", + "status.popover.action.manageServers": "Menaxho serverët", + "session.share.popover.title": "Publikimi në ueb", + "session.share.popover.description.shared": + "Ky sesion është publik në ueb. Është i aksesueshëm për këdo që ka lidhjen.", + "session.share.popover.description.unshared": + "Ndani sesionin publikisht në ueb. Ai do të jetë i aksesueshëm për këdo që ka lidhjen.", + "session.share.action.share": "Shpërndaje", + "session.share.action.publish": "Publikoni", + "session.share.action.publishing": "Po publikon...", + "session.share.action.unpublish": "Anulo publikimin", + "session.share.action.unpublishing": "Po anulohet publikimi...", + "session.share.action.view": "Shiko", + "session.share.copy.copied": "E kopjuar", + "session.share.copy.copyLink": "Kopjo lidhjen", + "lsp.tooltip.none": "Nuk ka serverë LSP", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "Kërkesa po ngarkohet...", + "terminal.loading": "Po ngarkohet terminali...", + "terminal.title": "Terminali", + "terminal.title.numbered": "Terminali {{number}}", + "terminal.close": "Mbyll terminalin", + "terminal.connectionLost.title": "Lidhja e humbur", + "terminal.connectionLost.abnormalClose": "WebSocket u mbyll anormalisht: {{code}}", + "terminal.connectionLost.description": "Lidhja e terminalit u ndërpre. Kjo mund të ndodhë kur serveri riniset.", + "terminal.connectTicket.csrfError": + "Bileta lidhëse PTY e refuzuar nga origjina ose çeqet CSRF. Kontrolloni konfigurimin e serverit CORS.", + "terminal.connectTicket.statusError": "Bileta e lidhjes PTY dështoi me {{status}}", + "titlebar.update": "Përditëso", + "titlebar.updateVersion": "Përditëso {{version}}", + "common.closeTab": "Mbyll skedën", + "common.dismiss": "Largoje", + "common.moreCountSuffix": " (+{{count}} më shumë)", + "common.requestFailed": "Kërkesa dështoi", + "common.moreOptions": "Më shumë opsione", + "common.learnMore": "Mësoni më shumë", + "common.rename": "Riemërto", + "common.export": "Eksporto", + "common.reset": "Rivendos", + "common.archive": "Arkivi", + "common.delete": "Fshi", + "common.close": "Mbylle", + "common.edit": "Redakto", + "common.loadMore": "Ngarko më shumë", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "i panjohur", + "common.time.justNow": "Vetëm tani", + "common.time.minutesAgo.short": "{{count}}m më parë", + "common.time.hoursAgo.short": "{{count}}h më parë", + "common.time.daysAgo.short": "{{count}}d më parë", + "sidebar.menu.toggle": "Ndrysho menynë", + "sidebar.nav.projectsAndSessions": "Projektet dhe sesionet", + "sidebar.settings": "Cilësimet", + "sidebar.help": "Ndihmë", + "sidebar.workspaces.enable": "Aktivizo hapësirat e punës", + "sidebar.workspaces.disable": "Çaktivizo hapësirat e punës", + "sidebar.gettingStarted.title": "Duke filluar", + "sidebar.gettingStarted.line1": "OpenCode përfshin modele falas, kështu që mund të filloni menjëherë.", + "sidebar.gettingStarted.line2": "Lidhni çdo ofrues për të përdorur modele, inc. Claude, GPT, Gemini etj.", + "sidebar.project.recentSessions": "Seancat e fundit", + "sidebar.project.viewAllSessions": "Shikoni të gjitha seancat", + "sidebar.project.clearNotifications": "Pastro njoftimet", + "sidebar.empty.title": "Asnjë projekt i hapur", + "sidebar.empty.description": "Hapni një projekt për të filluar", + "debugBar.ariaLabel": "Diagnostifikimi i performancës së zhvillimit", + "debugBar.na": "n/a", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "Tranzicioni i fundit i përfunduar i rrugës duke prekur një faqe sesioni, i matur nga fillimi i routerit deri në bojën e parë pasi të vendoset.", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "Korniza rrotulluese për sekondë gjatë 5 sekondave të fundit.", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "Koha më e keqe e kuadrove gjatë 5 sekondave të fundit.", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "Korniza mbi 32 ms në 5 sekondat e fundit.", + "debugBar.long.label": "LONG", + "debugBar.long.tip": + "Koha e bllokuar dhe numërimi i detyrave të gjata në 5 sekondat e fundit. Detyra maksimale: {{max}}.", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "Vonesa më e keqe e vërejtur e hyrjes në 5 sekondat e fundit.", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": + "Kohëzgjatja e përafërt e ndërveprimit gjatë 5 sekondave të fundit. Ky është i ngjashëm me INP, jo Web Vitals zyrtar INP.", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "Zhvendosja kumulative e paraqitjes për jetëgjatësinë aktuale të aplikacionit.", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "Grup i përdorur JS kundrejt kufirit të grumbullit. Vetëm Chromium.", + "debugBar.mem.tip": "Grup i përdorur JS kundrejt kufirit të grumbullit. {{used}} e {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Forconi stilet e fokusimit në të gjithë elementët ndërveprues", + "debugBar.focus.on": "ON", + "debugBar.focus.off": "OFF", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Forco drejtimin e plotë të paraqitjes së aplikacionit pa ndryshuar gjuhën e zgjedhur", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode Desktop", + "settings.section.desktop": "Desktop", + "settings.section.server": "Serveri", + "settings.tab.general": "Gjeneral", + "settings.tab.shortcuts": "Shkurtoret", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "Integrimi WSL", + "settings.desktop.wsl.description": "Ekzekutoni serverin OpenCode brenda WSL në Windows.", + "settings.general.section.appearance": "Pamja e jashtme", + "settings.general.section.advanced": "E avancuar", + "settings.general.section.notifications": "Njoftimet e sistemit", + "settings.general.section.updates": "Përditësimet", + "settings.general.section.sounds": "Efektet zanore", + "settings.general.section.feed": "Prurja", + "settings.general.section.display": "Ekrani", + "settings.general.row.language.title": "Gjuha", + "settings.general.row.language.description": "Ndryshoni gjuhën e ekranit për OpenCode", + "settings.general.row.shell.title": "Predha e terminalit", + "settings.general.row.shell.description": "Predha e përdorur nga terminali dhe mjetet e agjentit", + "settings.general.row.shell.autoDefault": "Auto (e parazgjedhur)", + "settings.general.row.shell.terminalOnly": "vetëm terminali", + "settings.general.row.appearance.title": "Pamja e jashtme", + "settings.general.row.appearance.description": "Personalizojeni se si duket OpenCode në pajisjen tuaj", + "settings.general.row.colorScheme.title": "Skema e ngjyrave", + "settings.general.row.colorScheme.description": + "Zgjidhni nëse OpenCode ndjek temën e sistemit, të lehtë ose të errët", + "settings.general.row.theme.title": "Tema", + "settings.general.row.theme.description": "Personalizojeni se si është tema e OpenCode.", + "settings.general.row.font.title": "Fonti i kodit", + "settings.general.row.font.description": "Personalizoni fontin e përdorur në blloqet e kodit", + "settings.general.row.terminalFont.title": "Fonti i Terminalit", + "settings.general.row.terminalFont.description": "Personalizojeni fontin e përdorur në terminal", + "settings.general.row.uiFont.title": "Fonti UI", + "settings.general.row.uiFont.description": "Personalizoni fontin e përdorur në të gjithë ndërfaqen", + "settings.general.row.followup.title": "Sjellja pasuese", + "settings.general.row.followup.description": + "Zgjidhni nëse kërkesat e ndjekjes drejtohen menjëherë ose prisni në një radhë", + "settings.general.row.followup.option.queue": "Radhë", + "settings.general.row.followup.option.steer": "Drejtoni", + "settings.general.row.showFileTree.title": "Pema e skedarit", + "settings.general.row.showFileTree.description": "Shfaq panelin e pemës së skedarëve në sesione", + "settings.general.row.showNavigation.title": "Kontrollet e navigimit", + "settings.general.row.showNavigation.description": + "Shfaqni butonat prapa dhe përpara në shiritin e titullit të desktopit", + "settings.general.row.showSearch.title": "Paleta e komandave", + "settings.general.row.showSearch.description": + "Shfaq butonin e paletës së kërkimit dhe komandës në shiritin e titullit", + "settings.general.row.showTerminal.title": "Terminali", + "settings.general.row.showTerminal.description": "Shfaq butonin e terminalit në shiritin e titullit të desktopit", + "settings.general.row.showStatus.title": "Statusi i serverit", + "settings.general.row.showStatus.description": "Shfaq butonin e statusit të serverit në shiritin e titullit", + "settings.general.row.mobileTitlebarBottom.title": "Navigimi i poshtëm", + "settings.general.row.mobileTitlebarBottom.description": + "Vendosni shiritin e titullit dhe skedat e sesionit në fund të ekranit në celular", + "settings.general.row.showCustomAgents.title": "Trego agjentin", + "settings.general.row.showCustomAgents.description": + "Kaloni ndërmjet agjentëve në kompozitor. Kur fshihet, si parazgjedhje është Build agent.", + "settings.general.row.reasoningSummaries.title": "Trego përmbledhjet e arsyetimit", + "settings.general.row.reasoningSummaries.description": "Shfaqni përmbledhjet e arsyetimit të modelit në afatin kohor", + "settings.general.row.shellToolPartsExpanded.title": "Zgjeroni pjesët e veglave të guaskës", + "settings.general.row.shellToolPartsExpanded.description": + "Shfaq pjesët e veglës së guaskës të zgjeruara si parazgjedhje në afatin kohor", + "settings.general.row.editToolPartsExpanded.title": "Zgjero pjesët e veglave të redaktimit", + "settings.general.row.editToolPartsExpanded.description": + "Shfaq pjesët e veglave të modifikimit, shkrimit dhe korrigjimit të zgjeruara si parazgjedhje në afatin kohor", + "settings.general.row.newInterface.title": "Paraqitje e re", + "settings.general.row.newInterface.badge": "E re", + "settings.general.row.newInterface.description": + "Përdorni skedat e reja dhe paraqitjen e shtëpisë. Kaloni ndërmjet paraqitjeve për një kohë të kufizuar.", + "settings.general.row.newInterfaceNotice.title": "Tani po përdorni strukturë të re", + "settings.general.row.newInterfaceNotice.description": "Paraqitja e mëparshme nuk është më e disponueshme", + "settings.general.row.newInterfaceNotice.dismiss": "Largoje", + "settings.general.row.pinchZoom.title": "Pini për të zmadhuar", + "settings.general.row.pinchZoom.description": "Lejo zmadhimin e kapjes së tastierës dhe gjestet e lëvizjes Ctrl", + "settings.general.row.wayland.title": "Përdorni Wayland amtare", + "settings.general.row.wayland.description": "Çaktivizo kthimin e X11 në Wayland. Kërkon rinisje.", + "settings.general.row.wayland.tooltip": + "Në Linux me monitorë të përzier me shpejtësi rifreskimi, Wayland vendas mund të jetë më i qëndrueshëm.", + "settings.general.row.releaseNotes.title": "Shënimet e publikimit", + "settings.general.row.releaseNotes.description": "Shfaq dritaret kërcyese Çfarë ka të re pas përditësimeve", + "settings.updates.row.startup.title": "Kontrolloni për përditësime gjatë nisjes", + "settings.updates.row.startup.description": "Kontrolloni automatikisht për përditësime kur niset OpenCode", + "settings.updates.row.check.title": "Kontrolloni për përditësime", + "settings.updates.row.check.description": "Kontrolloni manualisht për përditësime dhe instaloni nëse ka", + "settings.updates.action.checkNow": "Kontrollo tani", + "settings.updates.action.checking": "Po kontrollon...", + "settings.updates.action.downloading": "Po shkarkohet...", + "settings.updates.action.installing": "Po instalohet...", + "settings.updates.toast.latest.title": "Ju jeni të përditësuar", + "settings.updates.toast.latest.description": "Ju jeni duke ekzekutuar versionin më të fundit të OpenCode.", + "sound.option.none": "Asnjë", + "sound.option.alert01": "Alarmi 01", + "sound.option.alert02": "Alarmi 02", + "sound.option.alert03": "Alarmi 03", + "sound.option.alert04": "Alarmi 04", + "sound.option.alert05": "Alarmi 05", + "sound.option.alert06": "Alarmi 06", + "sound.option.alert07": "Alarmi 07", + "sound.option.alert08": "Alarmi 08", + "sound.option.alert09": "Alarmi 09", + "sound.option.alert10": "Alarmi 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "Jo 01", + "sound.option.nope02": "Jo 02", + "sound.option.nope03": "Jo 03", + "sound.option.nope04": "Jo 04", + "sound.option.nope05": "Jo 05", + "sound.option.nope06": "Jo 06", + "sound.option.nope07": "Jo 07", + "sound.option.nope08": "Jo 08", + "sound.option.nope09": "Jo 09", + "sound.option.nope10": "Jo 10", + "sound.option.nope11": "Jo 11", + "sound.option.nope12": "Jo 12", + "sound.option.yup01": "Po 01", + "sound.option.yup02": "Po 02", + "sound.option.yup03": "Po 03", + "sound.option.yup04": "Po 04", + "sound.option.yup05": "Po 05", + "sound.option.yup06": "Po 06", + "settings.general.notifications.agent.title": "Agjenti", + "settings.general.notifications.agent.description": + "Shfaq njoftimin e sistemit kur agjenti është i plotë ose ka nevojë për vëmendje", + "settings.general.notifications.permissions.title": "Lejet", + "settings.general.notifications.permissions.description": "Shfaq njoftimin e sistemit kur kërkohet një leje", + "settings.general.notifications.errors.title": "Gabimet", + "settings.general.notifications.errors.description": "Shfaq njoftimin e sistemit kur ndodh një gabim", + "settings.general.sounds.agent.title": "Agjenti", + "settings.general.sounds.agent.description": "Luaj tingullin kur agjenti është i plotë ose ka nevojë për vëmendje", + "settings.general.sounds.permissions.title": "Lejet", + "settings.general.sounds.permissions.description": "Luaj tingull kur kërkohet leje", + "settings.general.sounds.errors.title": "Gabimet", + "settings.general.sounds.errors.description": "Luaj tingullin kur ndodh një gabim", + "settings.shortcuts.title": "Shkurtoret e tastierës", + "settings.shortcuts.reset.button": "Rivendos në standardet", + "settings.shortcuts.reset.toast.title": "Rivendosja e shkurtoreve", + "settings.shortcuts.reset.toast.description": "Shkurtoret e tastierës janë rivendosur në standardet.", + "settings.shortcuts.conflict.title": "Shkurtorja tashmë është në përdorim", + "settings.shortcuts.conflict.description": "{{keybind}} i është caktuar tashmë {{titles}}.", + "settings.shortcuts.unassigned": "E pacaktuar", + "settings.shortcuts.pressKeys": "Shtypni tastet", + "settings.shortcuts.search.placeholder": "Shkurtoret e kërkimit", + "settings.shortcuts.search.empty": "Nuk u gjetën shkurtore", + "settings.shortcuts.group.general": "Gjeneral", + "settings.shortcuts.group.session": "Sesioni", + "settings.shortcuts.group.navigation": "Navigimi", + "settings.shortcuts.group.modelAndAgent": "Model dhe agjent", + "settings.shortcuts.group.terminal": "Terminali", + "settings.shortcuts.group.prompt": "Kërkesë", + "settings.providers.title": "Ofruesit", + "settings.providers.description": "Cilësimet e ofruesit do të konfigurohen këtu.", + "settings.providers.section.connected": "Ofruesit e lidhur", + "settings.providers.connected.empty": "Nuk ka ofrues të lidhur", + "settings.providers.connected.environmentDescription": "Lidhur nga variablat e mjedisit tuaj", + "settings.providers.section.popular": "Ofruesit e njohur", + "settings.providers.custom.description": "Shtoni një ofrues të pajtueshëm me OpenAI nga baza URL.", + "settings.providers.tag.environment": "Mjedisi", + "settings.providers.tag.config": "Konfigurimi", + "settings.providers.tag.custom": "Me porosi", + "settings.providers.tag.other": "Të tjera", + "settings.models.title": "Modelet", + "settings.models.description": "Cilësimet e modelit do të konfigurohen këtu.", + "settings.agents.title": "Agjentët", + "settings.agents.description": "Cilësimet e agjentit do të konfigurohen këtu.", + "settings.commands.title": "Komandat", + "settings.commands.description": "Cilësimet e komandës do të konfigurohen këtu.", + "settings.mcp.title": "MCP", + "settings.mcp.description": "Cilësimet MCP do të konfigurohen këtu.", + "settings.permissions.title": "Lejet", + "settings.permissions.description": "Kontrolloni se cilat mjete mund të përdorë serveri si parazgjedhje.", + "settings.permissions.section.tools": "Mjetet", + "settings.permissions.toast.updateFailed.title": "Përditësimi i lejeve dështoi", + "settings.permissions.action.allow": "Lejo", + "settings.permissions.action.ask": "Pyetni", + "settings.permissions.action.deny": "Moho", + "settings.permissions.tool.read.title": "Lexoni", + "settings.permissions.tool.read.description": "Leximi i një skedari (përputhet me shtegun e skedarit)", + "settings.permissions.tool.edit.title": "Redakto", + "settings.permissions.tool.edit.description": "Ndryshoni skedarët, duke përfshirë redaktimet, shkrimet dhe arnimet", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "Përputhni skedarët duke përdorur modele glob", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "Kërkoni përmbajtjen e skedarit duke përdorur shprehje të rregullta", + "settings.permissions.tool.list.title": "Lista", + "settings.permissions.tool.list.description": "Listoni skedarët brenda një drejtorie", + "settings.permissions.tool.bash.title": "Bash", + "settings.permissions.tool.bash.description": "Ekzekutoni komandat e guaskës", + "settings.permissions.tool.task.title": "Detyrë", + "settings.permissions.tool.task.description": "Nisni nën-agjentët", + "settings.permissions.tool.skill.title": "Shkathtësi", + "settings.permissions.tool.skill.description": "Ngarko një aftësi me emër", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "Drejtoni pyetjet e serverit të gjuhës", + "settings.permissions.tool.todowrite.title": "Todo Shkruani", + "settings.permissions.tool.todowrite.description": "Përditësoni listën e detyrave", + "settings.permissions.tool.webfetch.title": "Marrja në ueb", + "settings.permissions.tool.webfetch.description": "Merr përmbajtje nga një URL", + "settings.permissions.tool.websearch.title": "Kërkimi në ueb", + "settings.permissions.tool.websearch.description": "Kërkoni në ueb", + "settings.permissions.tool.external_directory.title": "Drejtoria e jashtme", + "settings.permissions.tool.external_directory.description": "Qasni skedarët jashtë drejtorisë së projektit", + "settings.permissions.tool.doom_loop.title": "Doom Loop", + "settings.permissions.tool.doom_loop.description": "Zbuloni thirrjet e përsëritura të mjeteve me hyrje identike", + "session.delete.failed.title": "Fshirja e sesionit dështoi", + "session.delete.title": "Fshi sesionin", + "session.delete.confirm": 'Të fshihet sesioni "{{name}}"?', + "session.delete.button": "Fshi sesionin", + "workspace.new": "Hapësirë e re pune", + "workspace.type.local": "lokale", + "workspace.type.sandbox": "mjedis i izoluar", + "workspace.create.failed.title": "Krijimi i hapësirës së punës dështoi", + "workspace.delete.failed.title": "Fshirja e hapësirës së punës dështoi", + "workspace.resetting.title": "Rivendosja e hapësirës së punës", + "workspace.resetting.description": "Kjo mund të zgjasë një minutë.", + "workspace.reset.failed.title": "Rivendosja e hapësirës së punës dështoi", + "workspace.reset.success.title": "Rivendosja e hapësirës së punës", + "workspace.reset.success.description": "Hapësira e punës tani përputhet me degën e paracaktuar.", + "workspace.error.stillPreparing": "Hapësira e punës është ende duke u përgatitur", + "workspace.status.checking": "Po kontrollon për ndryshime të pabashkuara...", + "workspace.status.error": "Statusi i git nuk mund të verifikohet.", + "workspace.status.clean": "Nuk u zbuluan ndryshime të pabashkuara.", + "workspace.status.dirty": "Ndryshime të pabashkuara u zbuluan në këtë hapësirë pune.", + "workspace.delete.title": "Fshi hapësirën e punës", + "workspace.delete.confirm": 'Të fshihet hapësira e punës "{{name}}"?', + "workspace.delete.button": "Fshi hapësirën e punës", + "workspace.reset.title": "Rivendos hapësirën e punës", + "workspace.reset.confirm": 'Të rivendoset hapësira e punës "{{name}}"?', + "workspace.reset.button": "Rivendos hapësirën e punës", + "workspace.reset.archived.none": "Asnjë seancë aktive nuk do të arkivohet.", + "workspace.reset.archived.one": "1 sesion do të arkivohet.", + "workspace.reset.archived.many": "Seancat {{count}} do të arkivohen.", + "workspace.reset.note": "Kjo do të rivendosë hapësirën e punës që të përputhet me degën e paracaktuar.", + "dialog.usageExceeded.dontShowAgain": "Mos e shfaq përsëri", +} diff --git a/packages/app/src/i18n/sr.ts b/packages/app/src/i18n/sr.ts new file mode 100644 index 000000000000..f059160087d8 --- /dev/null +++ b/packages/app/src/i18n/sr.ts @@ -0,0 +1,1161 @@ +export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "датотека", + "desktop.menu.edit": "Уреди", + "desktop.menu.view": "Приказ", + "desktop.menu.go": "Иди", + "desktop.menu.window": "Прозор", + "desktop.menu.help": "Помоћ", + "desktop.menu.checkForUpdates": "Проверите да ли постоје ажурирања...", + "desktop.menu.settings": "Подешавања", + "desktop.menu.reloadWebview": "Поново учитај Webview", + "desktop.menu.restart": "Поново покрените", + "desktop.menu.exportLogs": "Извези евиденције...", + "desktop.menu.newSession": "Нова сесија", + "desktop.menu.openProject": "Отвори пројекат...", + "desktop.menu.newWindow": "Нови прозор", + "desktop.menu.closeWindow": "Затвори прозор", + "desktop.menu.undo": "Поништи", + "desktop.menu.redo": "Понови", + "desktop.menu.cut": "Цут", + "desktop.menu.copy": "Копирај", + "desktop.menu.paste": "Налепи", + "desktop.menu.delete": "Избриши", + "desktop.menu.selectAll": "Изаберите Све", + "desktop.menu.toggleSidebar": "Пребаци бочну траку", + "desktop.menu.toggleTerminal": "Пребаци терминал", + "desktop.menu.toggleFileTree": "Прикажи или сакриј стабло датотека", + "desktop.menu.reload": "Поново учитај", + "desktop.menu.toggleDeveloperTools": "Прикажи или сакриј развојне алате", + "desktop.menu.actualSize": "стварна величина", + "desktop.menu.zoomIn": "Зоом Ин", + "desktop.menu.zoomOut": "Умањи", + "desktop.menu.toggleFullScreen": "Пребаци преко целог екрана", + "desktop.menu.back": "Назад", + "desktop.menu.forward": "Проследи", + "desktop.menu.previousSession": "Претходна сесија", + "desktop.menu.nextSession": "Следећа сесија", + "desktop.menu.previousProject": "претходни пројекат", + "desktop.menu.nextProject": "Следећи пројекат", + "desktop.menu.minimize": "Умањи", + "desktop.menu.maximize": "Увећај", + "desktop.menu.documentation": "OpenCode Документација", + "desktop.menu.supportForum": "Форум подршке", + "desktop.menu.shareFeedback": "Делите повратне информације", + "desktop.menu.reportBug": "Пријавите грешку", + "desktop.menu.ariaLabel": "OpenCode мени", + "desktop.updater.dialog.checkFailed.message": "Провера ажурирања није успела.", + "desktop.updater.dialog.checkFailed.title": "Грешка при ажурирању", + "desktop.updater.dialog.upToDate.message": "Ажурни сте.", + "desktop.updater.dialog.upToDate.title": "Нема ажурирања", + "desktop.updater.dialog.ready.message": "Преузето ажурирање {{version}}. Поново покренути сада?", + "desktop.updater.dialog.ready.title": "Спреман за ажурирање", + "desktop.updater.dialog.restart": "Поново покрените", + "desktop.updater.dialog.later": "касније", + "desktop.recovery.action.relaunch": "Поново покрени", + "desktop.recovery.action.exportLogs": "Извоз евиденције", + "desktop.recovery.action.keepWaiting": "Кееп Ваитинг", + "desktop.recovery.action.quit": "Прекини", + "desktop.recovery.loadFailed": "OpenCode није успело учитавање", + "desktop.recovery.terminated": "OpenCode прозор је неочекивано прекинут", + "desktop.recovery.unresponsive": "OpenCode не реагује", + "desktop.recovery.unresponsive.detail": + "Можете поново покренути апликацију, отворити евиденције или наставити да чекате.", + "desktop.recovery.loadFailed.detail": "Прозор: {{window}}\nURL: {{url}}\nГрешка: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Прозор: {{window}}\nРазлог: {{reason}}\nШифра: {{code}}", + "desktop.recovery.unknown": "<непознато>", + "desktop.dialog.chooseFolder": "Изаберите фасциклу", + "desktop.dialog.chooseFile": "Изаберите датотеку", + "desktop.dialog.saveFile": "Сачувај датотеку", + "desktop.dialog.files": "датотеке", + "desktop.server.local": "Локални сервер", + "desktop.wsl.error.windowsOnly": "WSL доступан је само Windows", + "desktop.wsl.error.unavailable": "WSL је недоступан", + "desktop.wsl.error.listInstalled": "Неуспешно навођење инсталираних WSL дистрибуција", + "desktop.wsl.error.listOnline": "Неуспешно навођење онлајн WSL дистрибуција", + "desktop.wsl.error.executeDistro": "Не могу да изврше команде у дистрибуцији", + "desktop.wsl.error.installWsl": "WSL инсталација није успела", + "desktop.wsl.error.installDistro": "Инсталација дистрибуције није успела: {{distro}}", + "desktop.wsl.error.installOpencode": "OpenCode инсталација није успела", + "desktop.wsl.error.alreadyAdded": "{{distro}} је већ додат", + "desktop.wsl.error.opencodeMissing": "opencode није инсталиран у овој дистрибуцији", + "desktop.wsl.error.opencodeCannotRun": "opencode је инсталиран, али не може да се покрене", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode није инсталиран у {{distro}}", + "desktop.wsl.error.updateVersion": + "OpenCode ажурирање је завршено, али {{distro}} и даље извештава {{installed}}; очекивано {{expected}}", + "desktop.wsl.error.noVersion": "нема верзије", + "desktop.wsl.error.serverExited": "WSL сервер је изашао након покретања (код={{code}} сигнал={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL сервер је изашао пре него што је постао здрав (код={{code}} сигнал={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": "Сидецар за {{distro}} проверу здравља истекло је после {{timeout}}мс", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} истекло је после {{timeout}}мс", + "desktop.wsl.error.failedPort": "није успело преузимање порта", + "desktop.picker.error.notSelected": "Бирач није изабрао датотеку", + "desktop.picker.error.sizeLimit": "Изабрани прилози премашују ограничење од {{limit}} МБ", + "command.category.suggested": "Предложено", + "command.category.view": "Приказ", + "command.category.project": "Пројекат", + "command.category.provider": "Добављач", + "command.category.server": "Сервер", + "command.category.session": "Сесија", + "command.category.theme": "Тема", + "command.category.language": "Језик", + "command.category.file": "датотека", + "command.category.context": "Контекст", + "command.category.terminal": "Терминал", + "command.category.model": "Модел", + "command.category.mcp": "MCP", + "command.category.agent": "Агент", + "command.category.permissions": "дозволе", + "command.category.workspace": "Радни простор", + "command.category.settings": "Подешавања", + "command.logs.export": "Извоз евиденције", + "theme.scheme.system": "Систем", + "theme.scheme.light": "Светло", + "theme.scheme.dark": "Тамно", + "command.sidebar.toggle": "Пребаци бочну траку", + "command.project.open": "Отвори пројекат", + "command.project.previous": "Претходни пројекат", + "command.project.next": "Следећи пројекат", + "command.project.index": "Пређи на пројекат {{index}}", + "command.provider.connect": "Повежите добављача", + "command.server.switch": "Промени сервер", + "command.settings.open": "Отворите подешавања", + "command.session.previous": "Претходна сесија", + "command.session.next": "Следећа сесија", + "command.session.previous.unseen": "Претходна непрочитана сесија", + "command.session.next.unseen": "Следећа непрочитана сесија", + "command.session.archive": "Архивска сесија", + "command.palette": "Командна палета", + "command.theme.cycle": "Тема циклуса", + "command.theme.set": "Користите тему: {{theme}}", + "command.theme.scheme.cycle": "циклусна шема боја", + "command.theme.scheme.set": "Користи шему боја: {{scheme}}", + "command.language.cycle": "језик циклуса", + "command.language.set": "Користи језик: {{language}}", + "command.session.new": "Нова сесија", + "command.file.open": "Отворите датотеку", + "command.tab.close": "Затвори картицу", + "command.tab.reopenClosed": "Поново отворите затворену картицу", + "command.context.addSelection": "Додајте избор у контекст", + "command.context.addSelection.description": "Додајте изабране линије из тренутне датотеке", + "command.input.focus": "Фокусни унос", + "command.terminal.toggle": "Пребаци терминал", + "command.fileTree.toggle": "Пребаците стабло датотека", + "command.review.toggle": "Пребаци преглед", + "command.terminal.new": "Нови терминал", + "command.terminal.new.description": "Креирајте нову картицу терминала", + "command.steps.toggle": "Пребаците кораке", + "command.steps.toggle.description": "Прикажите или сакријте кораке за тренутну поруку", + "command.message.previous": "Претходна порука", + "command.message.previous.description": "Идите на претходну корисничку поруку", + "command.message.next": "Следећа порука", + "command.message.next.description": "Идите на следећу корисничку поруку", + "command.model.choose": "Изаберите модел", + "command.model.choose.description": "Изаберите други модел", + "command.mcp.toggle": "Пребаци MCPс", + "command.mcp.toggle.description": "Пребаци MCPс", + "command.agent.cycle": "Следећи агент", + "command.agent.cycle.description": "Пребаците се на следећег агента", + "command.agent.cycle.reverse": "Претходни агент", + "command.agent.cycle.reverse.description": "Пребаците се на претходног агента", + "command.model.variant.cycle": "Следећи ниво размишљања", + "command.model.variant.cycle.description": "Пребаците се на следећи ниво напора", + "command.prompt.mode.shell": "Shell", + "command.prompt.mode.normal": "Промпт", + "command.permissions.autoaccept.enable": "Аутоматско прихватање дозвола", + "command.permissions.autoaccept.disable": "Зауставите аутоматско прихватање дозвола", + "command.workspace.toggle": "Укључите радне просторе", + "command.workspace.toggle.description": "Омогућите или онемогућите више радних простора на бочној траци", + "command.session.undo": "Поништи", + "command.session.undo.description": "Поништите последњу поруку", + "command.session.redo": "Понови", + "command.session.redo.description": "Поновите последњу поништену поруку", + "command.session.compact": "Компактна сесија", + "command.session.compact.description": "резимирајте сесију да бисте смањили величину контекста", + "command.session.fork": "Нова грана од поруке", + "command.session.fork.description": "Креирајте нову сесију од претходне поруке", + "command.session.share": "Делите сесију", + "command.session.share.description": "Поделите ову сесију и копирајте URL у међуспремник", + "command.session.unshare": "Опозови дељење сесије", + "command.session.unshare.description": "Престаните да делите ову сесију", + "command.session.export": "Извоз сесија", + "command.session.export.description": "Извезите цео транскрипт сесије као JSON", + "palette.search.placeholder": "Претражујте датотеке, команде и сесије", + "palette.search.placeholder.home": "Команде за претрагу и сесије", + "palette.empty": "Нису пронађени резултати", + "palette.group.commands": "команде", + "palette.group.files": "датотеке", + "dialog.provider.search.placeholder": "Добављачи претраге", + "dialog.provider.empty": "Провајдери нису пронађени", + "dialog.provider.group.popular": "Популарно", + "dialog.provider.group.other": "Друго", + "dialog.provider.custom.label": "Прилагођени добављач компатибилан са OpenAI", + "dialog.provider.tag.recommended": "Препоручено", + "dialog.provider.opencode.note": "одабрани модели укључујући Claude, GPT, Gemini и више", + "dialog.provider.opencode.tagline": "Поуздани оптимизовани модели", + "dialog.provider.opencodeGo.tagline": "Ниска цена претплате за све", + "dialog.provider.anthropic.note": "Директан приступ Claude моделима, укључујући Про и Мак", + "dialog.provider.copilot.note": "АИ модели за помоћ код кодирања преко GitHub Copilot", + "dialog.provider.openai.note": "GPT модела за брзе, способне опште задатке вештачке интелигенције", + "dialog.provider.google.note": "Gemini модела за брзе, структуриране одговоре", + "dialog.provider.openrouter.note": "Приступите свим подржаним моделима од једног провајдера", + "dialog.provider.vercel.note": "Обједињен приступ АИ моделима са паметним рутирањем", + "dialog.model.select.title": "Изаберите модел", + "dialog.model.search.placeholder": "Претражите моделе", + "dialog.model.empty": "Нема резултата модела", + "dialog.model.manage": "Управљајте моделима", + "dialog.model.manage.description": "Прилагодите који се модели појављују у бирачу модела.", + "dialog.model.manage.provider.toggle": "Укључите све {{provider}} моделе", + "dialog.model.unpaid.freeModels.title": "Бесплатне моделе обезбеђује OpenCode", + "dialog.model.unpaid.addMore.title": "Додајте још модела популарних провајдера", + "dialog.model.unpaid.viewMoreProviders": "Погледајте више од 70 провајдера", + "dialog.provider.viewAll": "Прикажи више добављача", + "provider.connect.title": "Повежи {{provider}}", + "provider.connect.title.anthropicProMax": "Пријавите се са Claude Про/Мак", + "provider.connect.selectMethod": "Изаберите метод пријаве за {{provider}}.", + "provider.connect.method.apiKey": "API кључ", + "provider.connect.method.browser": "Прегледач", + "provider.connect.method.headless": "Без главе", + "provider.connect.status.inProgress": "Ауторизација је у току...", + "provider.connect.status.waiting": "Чека се ауторизација...", + "provider.connect.status.failed": "Ауторизација није успела: {{error}}", + "provider.connect.apiKey.description": + "Унесите свој {{provider}} API кључ да бисте повезали свој налог и користили {{provider}} моделе у OpenCode.", + "provider.connect.apiKey.label": "{{provider}} API кључ", + "provider.connect.apiKey.placeholder": "API кључ", + "provider.connect.apiKey.required": "API кључ је неопходан", + "provider.connect.opencodeZen.line1": + "OpenCode Zen вам даје приступ одабраном скупу поузданих оптимизованих модела за агенте за кодирање.", + "provider.connect.opencodeZen.line2": + "Са једним тастером API добићете приступ моделима као што су Claude, GPT, Gemini, GLM и други.", + "provider.connect.opencodeZen.visit.prefix": "Посетите", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": "да бисте прикупили ваш API кључ.", + "provider.connect.oauth.code.visit.prefix": "Посетите", + "provider.connect.oauth.code.visit.link": "ова веза", + "provider.connect.oauth.code.visit.suffix": + "да бисте прикупили ваш ауторизациони код за повезивање налога и коришћење {{provider}} модела у OpenCode.", + "provider.connect.oauth.code.label": "{{method}} ауторизациони код", + "provider.connect.oauth.code.placeholder": "Ауторизациони код", + "provider.connect.oauth.code.required": "Потребан је код за ауторизацију", + "provider.connect.oauth.code.invalid": "Неважећи ауторизациони код", + "provider.connect.oauth.auto.visit.prefix": "Посетите", + "provider.connect.oauth.auto.visit.link": "ова веза", + "provider.connect.oauth.auto.visit.suffix": + "и унесите код испод да бисте повезали свој налог и користили {{provider}} моделе у OpenCode.", + "provider.connect.oauth.auto.confirmationCode": "код за потврду", + "provider.connect.toast.connected.title": "{{provider}} повезан", + "provider.connect.toast.connected.description": "{{provider}} модела је сада доступно за коришћење.", + "provider.custom.title": "Прилагођени добављач", + "provider.custom.unavailable": "Прилагођени добављачи нису доступни на овом серверу", + "provider.custom.description.prefix": "Конфигуришите добављача који је компатибилан са OpenAI. Видите", + "provider.custom.description.link": "документи за конфигурацију добављача", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "ИД добављача", + "provider.custom.field.providerID.placeholder": "мипровидер", + "provider.custom.field.providerID.description": "мала слова, бројеви, цртице или доње црте", + "provider.custom.field.name.label": "Име за приказ", + "provider.custom.field.name.placeholder": "Мој добављач вештачке интелигенције", + "provider.custom.field.baseURL.label": "Басе URL", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "API кључ", + "provider.custom.field.apiKey.placeholder": "API кључ", + "provider.custom.field.apiKey.description": "Опционо. Оставите празно ако аутом управљате преко заглавља.", + "provider.custom.models.label": "Модели", + "provider.custom.models.id.label": "ИД", + "provider.custom.models.id.placeholder": "модел-ид", + "provider.custom.models.name.label": "Назив", + "provider.custom.models.name.placeholder": "Име за приказ", + "provider.custom.models.remove": "Уклони модел", + "provider.custom.models.add": "Додајте модел", + "provider.custom.headers.label": "заглавља (опционо)", + "provider.custom.headers.key.label": "Заглавље", + "provider.custom.headers.key.placeholder": "Назив заглавља", + "provider.custom.headers.value.label": "вредност", + "provider.custom.headers.value.placeholder": "вредност", + "provider.custom.headers.remove": "Уклоните заглавље", + "provider.custom.headers.add": "Додајте заглавље", + "provider.custom.error.providerID.required": "ИД добављача је обавезан", + "provider.custom.error.providerID.format": "Користите мала слова, бројеве, цртице или доње црте", + "provider.custom.error.providerID.exists": "Тај ИД добављача већ постоји", + "provider.custom.error.name.required": "потребно је име за приказ", + "provider.custom.error.baseURL.required": "Потребна је база URL", + "provider.custom.error.baseURL.format": "мора да почиње са http:// или https://", + "provider.custom.error.required": "Обавезно", + "provider.custom.error.duplicate": "Дупликат", + "provider.disconnect.toast.disconnected.title": "{{provider}} прекинут", + "provider.disconnect.toast.disconnected.description": "{{provider}} модели више нису доступни.", + "model.tag.free": "Бесплатно", + "model.tag.latest": "Најновије", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "текст", + "model.input.image": "слика", + "model.input.audio": "аудио", + "model.input.video": "видео", + "model.input.pdf": "пдф", + "model.tooltip.allows": "Дозвољава: {{inputs}}", + "model.tooltip.context.label": "Контекст", + "model.tooltip.inputs": "улази", + "model.tooltip.model": "Модел", + "model.tooltip.provider": "Добављач", + "model.tooltip.reasoning": "Реасонинг", + "model.tooltip.reasoning.allowed": "Омогућава резоновање", + "model.tooltip.reasoning.none": "Без образложења", + "model.tooltip.context": "ограничење контекста {{limit}}", + "common.search.placeholder": "Претрага", + "common.goBack": "Вратите се назад", + "common.goForward": "Крећите се напред", + "common.loading": "Учитавање", + "common.loading.ellipsis": "...", + "common.cancel": "Откажи", + "common.clear": "Јасно", + "common.open": "Отвори", + "common.connect": "Повежите се", + "common.disconnect": "Прекини везу", + "common.continue": "Настави", + "common.submit": "Пошаљи", + "common.save": "Сачувај", + "common.saving": "Чување...", + "common.default": "подразумевано", + "common.attachment": "прилог", + "prompt.placeholder.shell": "Унесите команду shell... {{example}}", + "prompt.placeholder.normal": 'Питајте било шта... "{{example}}"', + "prompt.placeholder.simple": "Питајте било шта...", + "prompt.placeholder.summarizeComments": "резимирајте коментаре…", + "prompt.placeholder.summarizeComment": "резимирајте коментар…", + "prompt.mode.shell": "Shell", + "prompt.mode.normal": "Промпт", + "prompt.mode.shell.exit": "есц за излаз", + "session.child.promptDisabled": "сесије субагента не могу да буду упитане.", + "session.child.backToParent": "Назад на главну сесију.", + "prompt.example.1": "Поправите ТОДО у бази кода", + "prompt.example.2": "Који је технолошки скуп овог пројекта?", + "prompt.example.3": "Поправите покварене тестове", + "prompt.example.4": "Објасните како функционише аутентификација", + "prompt.example.5": "Пронађите и поправите безбедносне пропусте", + "prompt.example.6": "Додајте јединичне тестове за кориснички сервис", + "prompt.example.7": "Рефакторирајте ову функцију да би била читљивија", + "prompt.example.8": "Шта ова грешка значи?", + "prompt.example.9": "Помозите ми да отклоним овај проблем", + "prompt.example.10": "Генеришите API документацију", + "prompt.example.11": "Оптимизујте упите за базу података", + "prompt.example.12": "Додајте потврду уноса", + "prompt.example.13": "Креирајте нову компоненту за...", + "prompt.example.14": "Како да применим овај пројекат?", + "prompt.example.15": "Прегледајте мој код за најбоље праксе", + "prompt.example.16": "Додајте руковање грешкама овој функцији", + "prompt.example.17": "Објасните овај образац регуларног израза", + "prompt.example.18": "Претворите ово у TypeScript", + "prompt.example.19": "Додајте евиденцију у целој бази кода", + "prompt.example.20": "Које зависности су застареле?", + "prompt.example.21": "Помозите ми да напишем скрипту за миграцију", + "prompt.example.22": "Имплементирајте кеширање за ову крајњу тачку", + "prompt.example.23": "Додајте пагинацију овој листи", + "prompt.example.24": "Направите команду CLI за...", + "prompt.example.25": "Како овде функционишу варијабле окружења?", + "prompt.popover.emptyResults": "Нема одговарајућих резултата", + "prompt.popover.emptyCommands": "Нема одговарајућих команди", + "prompt.dropzone.label": "Овде испустите слике, PDFс или текстуалне датотеке", + "prompt.dropzone.file.label": "Испустите у датотеку @ментион", + "prompt.slash.badge.custom": "прилагођено", + "prompt.slash.badge.skill": "вештина", + "prompt.slash.badge.mcp": "мцп", + "prompt.context.active": "активан", + "prompt.context.includeActiveFile": "Укључи активну датотеку", + "prompt.context.removeActiveFile": "Уклоните активну датотеку из контекста", + "prompt.context.removeFile": "Уклоните датотеку из контекста", + "prompt.action.attachFile": "Додајте датотеке", + "prompt.menu.addImagesAndFiles": "Додајте датотеке и још много тога", + "prompt.menu.imagesAndFiles": "слике и датотеке", + "prompt.menu.commands": "команде", + "prompt.menu.context": "Контекст", + "prompt.menu.shellCommand": "команда Shell", + "prompt.attachment.remove": "Уклоните прилог", + "prompt.action.send": "Пошаљи", + "prompt.action.stop": "Стоп", + "prompt.toast.pasteUnsupported.title": "Неподржани прилог", + "prompt.toast.pasteUnsupported.description": "Овде се могу приложити само слике, PDFс или текстуалне датотеке.", + "prompt.toast.attachmentDuplicate.title": "Ова датотека је већ отпремљена", + "prompt.toast.modelAgentRequired.title": "Изаберите агента и модел", + "prompt.toast.modelAgentRequired.description": "Одаберите агента и модел пре него што пошаљете упит.", + "prompt.toast.worktreeCreateFailed.title": "Креирање радног стабла није успело", + "prompt.toast.sessionCreateFailed.title": "Креирање сесије није успело", + "prompt.toast.shellSendFailed.title": "Слање команде shell није успело", + "prompt.toast.commandSendFailed.title": "Слање команде није успело", + "prompt.toast.promptSendFailed.title": "Слање упита није успело", + "prompt.toast.promptSendFailed.description": "Није могуће преузети сесију", + "dialog.mcp.title": "MCPс", + "dialog.mcp.description": "{{enabled}} од {{total}} омогућено", + "dialog.mcp.empty": "Нема конфигурисаних MCP", + "dialog.lsp.empty": "LSPс аутоматски детектован из типова датотека", + "dialog.plugins.empty": "Додаци конфигурисани у opencode.json", + "mcp.status.connected": "повезан", + "mcp.status.failed": "није успело", + "mcp.status.needs_auth": "потребан је аутх", + "mcp.status.disabled": "онемогућен", + "mcp.auth.clickToAuthenticate": "Кликните да бисте потврдили аутентичност", + "dialog.fork.empty": "Нема порука од којих треба да се рачвате", + "dialog.directory.search.placeholder": "Претражите фасцикле", + "dialog.directory.empty": "Нису пронађене фасцикле", + "dialog.directory.action.selectFile": "Изаберите датотеку", + "dialog.directory.action.selectFolder": "Изаберите фасциклу", + "dialog.directory.root": "Роот", + "dialog.directory.parent": "Родитељ", + "dialog.directory.readError": "Није могуће прочитати ову фасциклу", + "app.server.unreachable": "Није могуће доћи до {{server}}", + "app.server.retrying": "Аутоматски поновни покушај...", + "app.server.otherServers": "Други сервери", + "dialog.server.title": "Сервери", + "dialog.server.description": "Промените на који OpenCode сервер се ова апликација повезује.", + "dialog.server.search.placeholder": "сервери за претрагу", + "dialog.server.empty": "Још нема сервера", + "dialog.server.add.title": "Додај сервер", + "dialog.server.add.url": "Адреса сервера", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "Повезивање са сервером није успело", + "dialog.server.add.checking": "Проверавам...", + "dialog.server.add.button": "Додај сервер", + "dialog.server.add.name": "Име сервера (опционо)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "Корисничко име (опционално)", + "dialog.server.add.usernamePlaceholder": "корисничко име", + "dialog.server.add.password": "Лозинка (опционо)", + "dialog.server.add.passwordPlaceholder": "лозинка", + "dialog.server.edit.title": "Уреди сервер", + "dialog.server.default.title": "подразумевани сервер", + "dialog.server.default.description": + "Повежите се са овим сервером при покретању апликације уместо покретања локалног сервера. Захтева поновно покретање.", + "dialog.server.default.none": "Није изабран сервер", + "dialog.server.default.set": "Подесите тренутни сервер као подразумевани", + "dialog.server.default.clear": "Јасно", + "dialog.server.action.remove": "Уклони сервер", + "dialog.server.menu.edit": "Уреди", + "dialog.server.menu.default": "Подесите као подразумевано", + "dialog.server.menu.defaultRemove": "Уклони подразумевано", + "dialog.server.menu.delete": "Избриши", + "dialog.server.current": "Тренутни сервер", + "dialog.server.status.default": "подразумевано", + "wsl.server.add": "Додајте WSL сервер", + "wsl.server.addShort": "Додај WSL", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "WSL сервер", + "wsl.server.retryStart": "Поново покушајте", + "wsl.server.updating": "Ажурирање...", + "wsl.onboarding.step.distro": "Изаберите дистро", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "Проверавам WSL...", + "wsl.onboarding.restartRequired": "Windows потребно је поновно покретање да би се завршила инсталација WSL.", + "wsl.onboarding.ready": "WSL је спреман.", + "wsl.onboarding.required": "WSL је потребан за наставак.", + "wsl.onboarding.checkingDistros": "Проверавам дистрибуције...", + "wsl.onboarding.installingDistro": "Инсталирање {{distro}}...", + "wsl.onboarding.checkingDistro": "Проверавам {{distro}}...", + "wsl.onboarding.listingDistros": "Списак дистро...", + "wsl.onboarding.distroReady": "{{distro}} је спреман.", + "wsl.onboarding.distroNotInstalled": "{{distro}} још увек није инсталиран.", + "wsl.onboarding.openDistroOnce": "Отворите {{distro}} једном да бисте завршили подешавање.", + "wsl.onboarding.finishingDistro": "Завршавање подешавања за {{distro}}.", + "wsl.onboarding.pickDistro": "Изаберите дистро или га инсталирајте испод.", + "wsl.onboarding.checkingOpencode": "Проверавам OpenCode...", + "wsl.onboarding.checkingOpencodeIn": "Проверавам OpenCode у {{distro}}...", + "wsl.onboarding.updatingOpencode": "Ажурирање OpenCode...", + "wsl.onboarding.updatingOpencodeIn": "Ажурирање OpenCode у {{distro}}...", + "wsl.onboarding.updateOpencodeIn": "Ажурирајте OpenCode у {{distro}}.", + "wsl.onboarding.updateOpencode": "ажурирање OpenCode", + "wsl.onboarding.opencodeReadyIn": "OpenCode је спреман за {{distro}}.", + "wsl.onboarding.opencodeReady": "OpenCode је спреман.", + "wsl.onboarding.installOpencodeIn": "Инсталирајте OpenCode у {{distro}}.", + "wsl.onboarding.installOpencode": "Инсталирај OpenCode", + "wsl.onboarding.chooseDistroFirst": "Прво изаберите дистро.", + "wsl.onboarding.loadFailed": "Учитавање WSL стања није успело.", + "wsl.onboarding.loading": "Учитавање...", + "wsl.onboarding.installedDistros": "Инсталиране дистрибуције", + "wsl.onboarding.checkAgain": "Проверите поново", + "wsl.onboarding.distroStatus.ready": "Спреман", + "wsl.onboarding.distroStatus.checking": "Проверавам...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode није инсталиран", + "wsl.onboarding.distroStatus.missingTools": "недостаје bash, curl", + "wsl.onboarding.distroStatus.unsupported": "Неподржано · Користите WSL 2", + "wsl.onboarding.needAnotherDistro": "Треба вам још један дистро?", + "wsl.onboarding.needAnotherDistroHint": "Инсталирајте Linux дистрибуцију из каталога WSL", + "wsl.onboarding.wslNotInstalled.title": "WSL није инсталиран", + "wsl.onboarding.wslNotInstalled.description": + "WSL (Windows Subsystem for Linux) је потребан да би OpenCode могао да дода WSL сервер", + "wsl.onboarding.wslUnavailable.title": "WSL недоступан", + "wsl.onboarding.wslUnavailable.description": "OpenCode није могао да потврди WSL на овој машини.", + "wsl.onboarding.installWsl": "Инсталирај WSL", + "wsl.onboarding.windowsRestartRequired": + "Поново покрените Windows да бисте завршили инсталирање WSL, а затим поново отворите OpenCode.", + "wsl.onboarding.next": "Следеће", + "wsl.onboarding.refresh": "Освежи", + "wsl.onboarding.allDistrosAdded": "Све инсталиране дистрибуције су већ додате.", + "wsl.onboarding.noDistros": "Још нису откривене дистрибуције.", + "wsl.onboarding.install": "Инсталирај", + "wsl.onboarding.installing": "Инсталирање...", + "wsl.onboarding.installDistro": "Инсталирајте дистро", + "wsl.onboarding.searchDistros": "Претражи дистрибуције", + "wsl.onboarding.wsl2Required": "WSL 2 је обавезан.", + "wsl.onboarding.toolsRequired": "Овој дистрибуцији су потребни bash и curl.", + "wsl.onboarding.openTerminal": "Отвори терминал", + "wsl.onboarding.path": "Путања: {{path}}", + "wsl.onboarding.notFound": "није пронађен", + "wsl.onboarding.version": "Верзија: {{version}}", + "wsl.onboarding.unknown": "непознат", + "wsl.onboarding.desktopVersion": "десктоп {{version}}", + "wsl.onboarding.versionMismatch": "Инсталирана верзија не одговара верзији апликације за рачунар.", + "wsl.onboarding.adding": "Додавање...", + "help.tabs.toast.ariaLabel": "Представљамо картице. Организујте свој рад и активне сесије помоћу картица", + "help.tabs.toast.dismiss": "Одбаци информације о картицама", + "help.tabs.title": "Представљамо картице", + "help.tabs.description": "Организујте свој рад и активне сесије помоћу картица", + "help.tabs.date": "14. јул", + "help.tabs.introduction": "OpenCode Desktop је сада направљен око картица.", + "help.tabs.sessions": + "Започните нову сесију на картици или отворите постојећу сесију из било ког пројекта. Отворите нову картицу када започињете нешто ново и затворите је када завршите.", + "help.tabs.organize": + "Одржавање неколико отворених картица олакшава организовање активних сесија. Преименујте картице у нешто незаборавно ако планирате да их задржите.", + "help.tabs.home": + "Наћи ћете све своје сесије и пројекте на новом почетном екрану. Избор сесије отвара је на картици.", + "help.tabs.persistence": "Када поново отворите апликацију, ваше картице су и даље отворене.", + "help.tabs.worktrees": + "Нови дизајн још увек не подржава Git Ворктреес, ускоро долази. Дакле, ако желите да наставите да користите претходни изглед, можете да прелазите између изгледа у подешавањима. Само имајте на уму да ће нови изглед постати трајан за неколико недеља.", + "server.row.noUsername": "нема корисничког имена", + "dialog.project.edit.title": "Уреди пројекат", + "dialog.project.edit.name": "Назив", + "dialog.project.edit.icon": "Икона", + "dialog.project.edit.icon.alt": "икона пројекта", + "dialog.project.edit.icon.hint": "Кликните или превуците слику", + "dialog.project.edit.icon.recommended": "Препоручено: 128к128пк", + "dialog.project.edit.color": "боја", + "dialog.project.edit.color.select": "Изаберите {{color}} боју", + "dialog.project.edit.worktree.startup": "скрипта за покретање радног простора", + "dialog.project.edit.worktree.startup.description": + "Покреће се након креирања новог радног простора (радног стабла).", + "dialog.project.edit.worktree.startup.placeholder": "нпр. bun install", + "dialog.releaseNotes.action.getStarted": "Започните", + "dialog.releaseNotes.action.next": "Следеће", + "dialog.releaseNotes.action.hideFuture": "Немојте их приказивати у будућности", + "dialog.releaseNotes.media.alt": "Преглед издања", + "context.breakdown.title": "Анализа контекста", + "context.breakdown.note": "Приближна анализа улазних токена. „Остало“ укључује дефиниције алата и режијске трошкове.", + "context.breakdown.system": "Систем", + "context.breakdown.user": "Корисник", + "context.breakdown.assistant": "Помоћник", + "context.breakdown.tool": "Позиви алатки", + "context.breakdown.other": "Друго", + "context.systemPrompt.title": "Системски упит", + "context.rawMessages.title": "необрађене поруке", + "context.export.session": "Извоз сесија", + "context.stats.session": "Сесија", + "context.stats.messages": "Поруке", + "context.stats.provider": "Добављач", + "context.stats.model": "Модел", + "context.stats.limit": "Ограничење контекста", + "context.stats.totalTokens": "Укупно токена", + "context.stats.usage": "Употреба", + "context.stats.inputTokens": "Токени за унос", + "context.stats.outputTokens": "Излазни токени", + "context.stats.reasoningTokens": "Реасонинг Токенс", + "context.stats.cacheTokens": "Кеш токени (читање/писање)", + "context.stats.userMessages": "корисничке поруке", + "context.stats.assistantMessages": "Поруке помоћника", + "context.stats.totalCost": "укупни трошкови", + "context.stats.sessionCreated": "сесија креирана", + "context.stats.lastActivity": "Последња активност", + "context.usage.tokens": "Токени", + "context.usage.usage": "Употреба", + "context.usage.cost": "Цена", + "context.usage.clickToView": "Кликните да бисте видели контекст", + "context.usage.view": "Погледајте употребу контекста", + "language.en": "енглески", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Деутсцх", + "language.es": "Еспанол", + "language.fr": "Францаис", + "language.da": "Данск", + "language.ja": "日本語", + "language.pl": "Полски", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Норск", + "language.br": "португуес (Бразил)", + "language.bs": "Босански", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Туркце", + "toast.language.title": "Језик", + "toast.language.description": "пребачен на {{language}}", + "toast.theme.title": "Тема је промењена", + "toast.scheme.title": "Шема боја", + "toast.workspace.enabled.title": "Радни простори су омогућени", + "toast.workspace.enabled.description": "Више стабала рада је сада приказано на бочној траци", + "toast.workspace.disabled.title": "Радни простори су онемогућени", + "toast.workspace.disabled.description": "На бочној траци је приказано само главно стабло рада", + "toast.permissions.autoaccept.on.title": "Аутоматско прихватање дозвола", + "toast.permissions.autoaccept.on.description": "Захтеви за дозволу ће бити аутоматски одобрени", + "toast.permissions.autoaccept.off.title": "Заустављено аутоматско прихватање дозвола", + "toast.permissions.autoaccept.off.description": "Захтеви за дозволу ће захтевати одобрење", + "toast.model.none.title": "Није изабран ниједан модел", + "toast.model.none.description": "Повежите провајдера да бисте резимирали ову сесију", + "toast.file.loadFailed.title": "Учитавање датотеке није успело", + "toast.file.listFailed.title": "Неуспешно навођење датотека", + "toast.context.noLineSelection.title": "Нема избора линија", + "toast.context.noLineSelection.description": "Прво изаберите опсег линија на картици датотеке.", + "toast.session.share.copyFailed.title": "Копирање URL у међуспремник није успело", + "toast.session.share.success.title": "Сесија је дељена", + "toast.session.share.success.description": "Дељење URL копирано у међуспремник!", + "toast.session.share.failed.title": "Дељење сесије није успело", + "toast.session.share.failed.description": "Дошло је до грешке приликом дељења сесије", + "toast.session.unshare.success.title": "сесија није дељена", + "toast.session.unshare.success.description": "Дељење сесије је успешно!", + "toast.session.unshare.failed.title": "опозив дељења сесије није успео", + "toast.session.unshare.failed.description": "Дошло је до грешке при опозивању дељења сесије", + "toast.session.export.success.title": "сесија је извезена", + "toast.session.export.success.description": "Сачувана сесија на {{filename}}", + "toast.session.export.failed.title": "Извоз сесије није успео", + "toast.session.export.failed.description": "Дошло је до грешке при извозу сесије", + "toast.session.listFailed.title": "Учитавање сесија за {{project}} није успело", + "toast.project.reloadFailed.title": "Поновно учитавање није успело {{project}}", + "toast.update.title": "доступно је ажурирање", + "toast.update.description": "Нова верзија OpenCode ({{version}}) је сада доступна за инсталацију.", + "toast.update.action.installRestart": "Инсталирајте и поново покрените", + "toast.update.action.notYet": "Не још", + "error.page.title": "Нешто је пошло наопако", + "error.page.description": "Дошло је до грешке при учитавању апликације.", + "error.page.description.localServerStartup": "Дошло је до грешке при покретању локалног сервера.", + "error.page.details.label": "Детаљи о грешци", + "error.page.action.restart": "Поново покрените", + "error.page.action.report": "Извештај о грешци", + "error.page.action.reported": "пријављена грешка", + "error.page.action.exportLogs": "Извоз евиденције", + "error.page.action.checking": "Проверавам...", + "error.page.action.checkUpdates": "Проверите да ли постоје ажурирања", + "error.page.action.updateTo": "ажурирање на {{version}}", + "error.page.circular": "[Цирцулар]", + "error.page.report.prefix": "пријавите ову грешку OpenCode тиму", + "error.page.report.discord": "дана Discord", + "error.page.version": "Верзија: {{version}}", + "error.dev.rootNotFound": + "Основни елемент није пронађен. Да ли сте заборавили да га додате у свој index.html? Или је можда атрибут ид погрешно написан?", + "error.serverSync.connectFailed": "Повезивање са сервером није успело. Да ли постоји сервер који ради на `{{url}}`?", + "error.serverSDK.noServerAvailable": "Није доступан сервер", + "error.serverSDK.serverNotAvailable": "Сервер није доступан", + "error.childStore.persistedCacheCreateFailed": "Креирање трајног кеша није успело", + "error.childStore.persistedProjectMetadataCreateFailed": "Креирање трајних метаподатака пројекта није успело", + "error.childStore.persistedProjectIconCreateFailed": "Креирање иконе трајног пројекта није успело", + "error.childStore.storeCreateFailed": "Креирање продавнице није успело", + "directory.error.invalidUrl": "Неважећи директоријум у URL.", + "error.chain.unknown": "непозната грешка", + "error.server.invalidConfiguration": "Неважећа конфигурација", + "error.chain.causedBy": "Узрок:", + "error.chain.apiError": "API грешка", + "error.chain.status": "Статус: {{status}}", + "error.chain.retryable": "Поновни покушај: {{retryable}}", + "error.chain.responseBody": "Тело одговора:\n{{body}}", + "error.chain.didYouMean": "Да ли сте мислили: {{suggestions}}", + "error.chain.modelNotFound": "Модел није пронађен: {{provider}}/{{model}}", + "error.chain.checkConfig": "Проверите имена добављача/модела конфигурације (opencode.json).", + "error.chain.mcpFailed": + "MCP сервер „{{name}}“ није успео. Напомена, OpenCode још увек не подржава MCP аутентификацију.", + "error.chain.providerAuthFailed": "аутентификација добављача није успела ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + "Иницијализација добављача „{{provider}}“ није успела. Проверите акредитиве и конфигурацију.", + "error.chain.configJsonInvalid": "Конфигурациона датотека на {{path}} није важећа JSON(C)", + "error.chain.configJsonInvalidWithMessage": "Конфигурациона датотека на {{path}} није важећа JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + "Директоријум „{{dir}}“ у {{path}} није важећи. Преименујте директоријум у „{{suggestion}}“ или га уклоните. Ово је уобичајена грешка у куцању.", + "error.chain.configFrontmatterError": "рашчлањивање frontmatter у {{path}} није успело:\n{{message}}", + "error.chain.configInvalid": "Конфигурациони фајл на {{path}} је неважећи", + "error.chain.configInvalidWithMessage": "Конфигурациони фајл на {{path}} је неважећи: {{message}}", + "notification.permission.title": "потребна је дозвола", + "notification.permission.description": "{{sessionTitle}} у {{projectName}} потребна је дозвола", + "notification.question.title": "Питање", + "notification.question.description": "{{sessionTitle}} у {{projectName}} има питање", + "notification.action.goToSession": "Иди на сесију", + "notification.session.responseReady.title": "Одговор спреман", + "notification.session.error.title": "Грешка сесије", + "notification.session.error.fallbackDescription": "Дошло је до грешке", + "home.recentProjects": "Недавни пројекти", + "home.empty.title": "Нема недавних пројеката", + "home.empty.description": "Започните отварањем локалног пројекта", + "home.title": "Почетна", + "home.projects": "Пројекти", + "home.project.add": "Додај пројекат", + "home.recentlyClosed": "Недавно затворено", + "home.server.collapse": "Скупи серверске пројекте", + "home.server.expand": "Проширите пројекте сервера", + "home.sessions.search.placeholder": "Сесије претраге", + "home.sessions.search.placeholder.scoped": "Сесије претраге у {{scope}}", + "home.sessions.search.sessions": "Сесије", + "home.sessions.search.noResults": "Нису пронађене сесије за {{query}}", + "home.sessions.empty": "Овде још ништа", + "home.sessions.empty.description": "Креирајте сесију да бисте започели", + "home.sessions.group.today": "Данас", + "home.sessions.group.yesterday": "јуче", + "home.sessions.group.older": "старији", + "home.providerTip": + "Повежите се са 75+ провајдера да бисте користили друге моделе, укључујући Claude, GPT, Gemini итд", + "session.tab.session": "Сесија", + "session.tab.review": "Преглед", + "session.tab.context": "Контекст", + "session.tab.unknown": "Непозната сесија", + "session.panel.reviewAndFiles": "Преглед и датотеке", + "session.error.notFound": "Ова сесија није пронађена", + "session.error.notFound.description": "Ова картица указује на сесију која више не постоји на овом серверу.", + "session.error.notFound.closeTab": "Затвори картицу", + "session.error.serverConnection": "Не могу да се повежем са овим сервером", + "session.review.filesChanged": "Промењене датотеке {{count}}", + "session.review.change.one": "Промена", + "session.review.change.other": "Промене", + "session.review.loadingChanges": "Учитавање промена...", + "session.review.empty": "Још нема промена у овој сесији", + "session.review.noVcs": "Није откривен Git Систем контроле верзија, промене нису приказане", + "session.review.noVcs.createGit.title": "Направите Git спремиште", + "session.review.noVcs.createGit.description": "Пратите, прегледајте и опозовите промене у овом пројекту", + "session.review.noVcs.createGit.actionLoading": "Креирање Git спремишта...", + "session.review.noVcs.createGit.action": "Креирајте Git спремиште", + "session.review.noSnapshot": "Праћење снимака је онемогућено у конфигурацији, тако да промене сесије нису доступне", + "session.review.noChanges": "Нема промена", + "session.review.noUncommittedChanges": "Још увек нема неизвршених промена", + "session.review.noBranchChanges": "Још нема промена гране", + "session.files.selectToOpen": "Изаберите датотеку за отварање", + "session.files.all": "Све датотеке", + "session.files.empty": "Нема датотека", + "session.files.binaryContent": "Бинарна датотека (садржај се не може приказати)", + "session.messages.renderEarlier": "Рендерујте раније поруке", + "session.messages.loadingEarlier": "Учитавање ранијих порука...", + "session.messages.loadEarlier": "Учитајте раније поруке", + "session.messages.loading": "Учитавање порука...", + "session.messages.jumpToLatest": "Скочи на најновије", + "session.context.addToContext": "Додајте {{selection}} у контекст", + "session.todo.title": "Тодос", + "session.todo.collapse": "Скупи", + "session.todo.expand": "Прошири", + "session.todo.progress": "{{done}} од {{total}} задатака је завршено", + "session.question.progress": "{{current}} од {{total}} питања", + "session.question.minimize": "Смањите питање", + "session.question.restore": "Врати питање", + "session.question.pending.one": "{{count}} питање на чекању", + "session.question.pending.few": "{{count}} питања на чекању", + "session.question.pending.other": "{{count}} питања на чекању", + "session.followupDock.summary.one": "{{count}} порука у реду чекања", + "session.followupDock.summary.few": "{{count}} поруке у реду чекања", + "session.followupDock.summary.other": "{{count}} порука у реду чекања", + "session.followupDock.sendNow": "Пошаљи одмах", + "session.followupDock.edit": "Уреди", + "session.followupDock.collapse": "Скупи поруке у реду чекања", + "session.followupDock.expand": "Проширите поруке у реду чекања", + "session.revertDock.summary.one": "{{count}} враћена порука", + "session.revertDock.summary.few": "{{count}} враћене поруке", + "session.revertDock.summary.other": "{{count}} враћених порука", + "session.revertDock.collapse": "Скупи враћене поруке", + "session.revertDock.expand": "Проширите враћене поруке", + "session.revertDock.restore": "Врати поруку", + "session.new.title": "Направите било шта", + "session.new.project.new": "Нови пројекат", + "session.new.project.search": "Претрага пројеката", + "session.new.project.add": "Додај пројекат", + "session.new.worktree.main": "Главна грана", + "session.new.worktree.mainWithBranch": "Главна грана ({{branch}})", + "session.new.worktree.create": "Креирајте ново стабло рада", + "session.new.workspace.runIn": "Покрените сесију у", + "session.new.workspace.triggerLocal": "локално", + "session.new.workspace.local": "Локално спремиште", + "session.new.workspace.existing": "Радни простор…", + "session.new.git.none": "Не Git", + "session.new.lastModified": "Последња измена", + "session.header.search.placeholder": "Претрага {{project}}", + "session.header.searchFiles": "Претрага датотека", + "session.header.openIn": "Отвори у", + "session.header.open.action": "Отвори {{app}}", + "session.header.open.ariaLabel": "Отвори у {{app}}", + "session.header.open.menu": "Отворите опције", + "session.header.open.copyPath": "Копирај путању", + "session.header.open.finder": "Финдер", + "session.header.open.fileExplorer": "Истраживач датотека", + "session.header.open.fileManager": "Управљач датотекама", + "session.header.reveal.finder": "Откриј у Финдер-у", + "session.header.reveal.fileExplorer": "Откриј у File Explorer", + "session.header.reveal.containingFolder": "Отворите фасциклу која садржи", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Терминал", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "Статус", + "status.popover.ariaLabel": "Конфигурације сервера", + "status.popover.tab.servers": "Сервери", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "Додаци", + "status.popover.action.manageServers": "Управљајте серверима", + "session.share.popover.title": "Објавите на вебу", + "session.share.popover.description.shared": "Ова сесија је јавна на вебу. Доступан је свима који имају везу.", + "session.share.popover.description.unshared": "Јавно делите сесију на вебу. Биће доступан свима који имају везу.", + "session.share.action.share": "Дели", + "session.share.action.publish": "Објави", + "session.share.action.publishing": "Објављивање...", + "session.share.action.unpublish": "Опозови објављивање", + "session.share.action.unpublishing": "Опозив објављивања...", + "session.share.action.view": "Приказ", + "session.share.copy.copied": "Копирано", + "session.share.copy.copyLink": "Копирај везу", + "lsp.tooltip.none": "Нема LSP сервера", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "Учитавање упита...", + "terminal.loading": "Учитавање терминала...", + "terminal.title": "Терминал", + "terminal.title.numbered": "Терминал {{number}}", + "terminal.close": "Затвори терминал", + "terminal.connectionLost.title": "Веза је изгубљена", + "terminal.connectionLost.abnormalClose": "WebSocket затворен ненормално: {{code}}", + "terminal.connectionLost.description": + "Терминална веза је прекинута. Ово се може десити када се сервер поново покрене.", + "terminal.connectTicket.csrfError": + "PTY улазница за повезивање одбијена од стране порекла или CSRF провера. Проверите конфигурацију сервера CORS.", + "terminal.connectTicket.statusError": "PTY улазница за повезивање није успела са {{status}}", + "titlebar.update": "ажурирање", + "titlebar.updateVersion": "ажурирање {{version}}", + "common.closeTab": "Затвори картицу", + "common.dismiss": "Одбаци", + "common.moreCountSuffix": "(+{{count}} више)", + "common.requestFailed": "Захтев није успео", + "common.moreOptions": "Више опција", + "common.learnMore": "Сазнајте више", + "common.rename": "Преименуј", + "common.export": "Извоз", + "common.reset": "Ресет", + "common.archive": "Архива", + "common.delete": "Избриши", + "common.close": "Затвори", + "common.edit": "Уреди", + "common.loadMore": "Учитајте више", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "непознат", + "common.time.justNow": "Управо сада", + "common.time.minutesAgo.short": "пре {{count}}м", + "common.time.hoursAgo.short": "пре {{count}}х", + "common.time.daysAgo.short": "пре {{count}}д", + "sidebar.menu.toggle": "Пребаци мени", + "sidebar.nav.projectsAndSessions": "Пројекти и сесије", + "sidebar.settings": "Подешавања", + "sidebar.help": "Помоћ", + "sidebar.workspaces.enable": "Омогућите радне просторе", + "sidebar.workspaces.disable": "Онемогућите радне просторе", + "sidebar.gettingStarted.title": "Почетак", + "sidebar.gettingStarted.line1": "OpenCode укључује бесплатне моделе тако да можете одмах да почнете.", + "sidebar.gettingStarted.line2": + "Повежите било ког провајдера да бисте користили моделе, вк. Claude, GPT, Gemini итд.", + "sidebar.project.recentSessions": "Недавне сесије", + "sidebar.project.viewAllSessions": "Погледајте све сесије", + "sidebar.project.clearNotifications": "Обришите обавештења", + "sidebar.empty.title": "Нема отворених пројеката", + "sidebar.empty.description": "Отворите пројекат да бисте започели", + "debugBar.ariaLabel": "Дијагностика перформанси развоја", + "debugBar.na": "н/а", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "Последњи довршени прелаз руте додирује страницу сесије, мерено од почетка рутера до прве боје након што се слегне.", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "Померање кадрова у секунди у последњих 5 секунди.", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "Најгоре време кадра у последњих 5 секунди.", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "кадрови преко 32 мс у последњих 5 секунди.", + "debugBar.long.label": "LONG", + "debugBar.long.tip": "Блокирано време и број дугих задатака у последњих 5 секунди. Максимални задатак: {{max}}.", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "Најгоре примећено кашњење уноса у последњих 5 секунди.", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": + "Приближно трајање интеракције у последњих 5 секунди. Ово је као INP, а не званични Веб Виталс INP.", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "Кумулативна промена изгледа за тренутни животни век апликације.", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "Коришћена ЈС хрпа наспрам ограничења гомиле. Само Chromium.", + "debugBar.mem.tip": "Коришћена ЈС хрпа наспрам ограничења гомиле. {{used}} од {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Форсирајте стилове фокуса на све интерактивне елементе", + "debugBar.focus.on": "УКЉУЧЕНО", + "debugBar.focus.off": "ИСКЉУЧЕНО", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Форсирајте пун смер распореда апликације без промене изабраног језика", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode Desktop", + "settings.section.desktop": "Десктоп", + "settings.section.server": "Сервер", + "settings.tab.general": "Опште", + "settings.tab.shortcuts": "Пречице", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "WSL интеграција", + "settings.desktop.wsl.description": "Покрените OpenCode сервер унутар WSL на Windows.", + "settings.general.section.appearance": "Изглед", + "settings.general.section.advanced": "Напредно", + "settings.general.section.notifications": "Системска обавештења", + "settings.general.section.updates": "Ажурирања", + "settings.general.section.sounds": "Звучни ефекти", + "settings.general.section.feed": "Феед", + "settings.general.section.display": "Приказ", + "settings.general.row.language.title": "Језик", + "settings.general.row.language.description": "Промените језик приказа за OpenCode", + "settings.general.row.shell.title": "Терминал shell", + "settings.general.row.shell.description": "Shell који користе алати терминала и агента", + "settings.general.row.shell.autoDefault": "аутоматски (подразумевано)", + "settings.general.row.shell.terminalOnly": "само терминал", + "settings.general.row.appearance.title": "Изглед", + "settings.general.row.appearance.description": "Прилагодите како OpenCode изгледа на вашем уређају", + "settings.general.row.colorScheme.title": "Шема боја", + "settings.general.row.colorScheme.description": "Одаберите да ли OpenCode прати системску, светлу или тамну тему", + "settings.general.row.theme.title": "Тема", + "settings.general.row.theme.description": "Прилагодите како је OpenCode тематски.", + "settings.general.row.font.title": "Фонт кода", + "settings.general.row.font.description": "Прилагодите фонт који се користи у блоковима кода", + "settings.general.row.terminalFont.title": "Фонт терминала", + "settings.general.row.terminalFont.description": "Прилагодите фонт који се користи у терминалу", + "settings.general.row.uiFont.title": "фонт корисничког интерфејса", + "settings.general.row.uiFont.description": "Прилагодите фонт који се користи у интерфејсу", + "settings.general.row.followup.title": "Праћење понашања", + "settings.general.row.followup.description": "Одаберите да ли ће се пратећи упити усмеравати одмах или чекати у реду", + "settings.general.row.followup.option.queue": "Ред", + "settings.general.row.followup.option.steer": "Стеер", + "settings.general.row.showFileTree.title": "стабло датотека", + "settings.general.row.showFileTree.description": "Прикажи панел стабла датотека у сесијама", + "settings.general.row.showNavigation.title": "Контроле навигације", + "settings.general.row.showNavigation.description": + "Прикажите дугмад за назад и напред у насловној траци радне површине", + "settings.general.row.showSearch.title": "Командна палета", + "settings.general.row.showSearch.description": "Прикажите дугме за претрагу и палету команди у насловној траци", + "settings.general.row.showTerminal.title": "Терминал", + "settings.general.row.showTerminal.description": "Прикажите дугме терминала у насловној траци радне површине", + "settings.general.row.showStatus.title": "Статус сервера", + "settings.general.row.showStatus.description": "Прикажите дугме статуса сервера у насловној траци", + "settings.general.row.mobileTitlebarBottom.title": "Доња навигација", + "settings.general.row.mobileTitlebarBottom.description": + "Поставите насловну траку и картице сесије на дно екрана на мобилном телефону", + "settings.general.row.showCustomAgents.title": "Прикажи агента", + "settings.general.row.showCustomAgents.description": + "Пребацивање између агената у композитору. Када је скривено, подразумевано је Буилд агент.", + "settings.general.row.reasoningSummaries.title": "Прикажи резимее образложења", + "settings.general.row.reasoningSummaries.description": "Приказ резимеа образложења модела на временској линији", + "settings.general.row.shellToolPartsExpanded.title": "Проширите shell делова алата", + "settings.general.row.shellToolPartsExpanded.description": + "Прикажи shell делове алата проширене подразумевано на временској линији", + "settings.general.row.editToolPartsExpanded.title": "Проширите делове алата за уређивање", + "settings.general.row.editToolPartsExpanded.description": + "Прикажите делове алата за уређивање, писање и закрпе проширене подразумевано на временској линији", + "settings.general.row.newInterface.title": "Нови изглед", + "settings.general.row.newInterface.badge": "Ново", + "settings.general.row.newInterface.description": + "Користите нове картице и изглед куће. Пребацивање између распореда ограничено време.", + "settings.general.row.newInterfaceNotice.title": "Сада користите нови изглед", + "settings.general.row.newInterfaceNotice.description": "Претходни изглед више није доступан", + "settings.general.row.newInterfaceNotice.dismiss": "Одбаци", + "settings.general.row.pinchZoom.title": "Пинцх за зумирање", + "settings.general.row.pinchZoom.description": + "Дозволите зумирање прстима додиром додирне табле и покретима Цтрл и скроловањем", + "settings.general.row.wayland.title": "Користи изворни Wayland", + "settings.general.row.wayland.description": "Онемогући X11 резервни на Wayland. Захтева поновно покретање.", + "settings.general.row.wayland.tooltip": + "На Linux са мешовитим мониторима брзине освежавања, изворни Wayland може бити стабилнији.", + "settings.general.row.releaseNotes.title": "белешке о издању", + "settings.general.row.releaseNotes.description": "Прикажи шта је ново након ажурирања", + "settings.updates.row.startup.title": "Проверите да ли има ажурирања при покретању", + "settings.updates.row.startup.description": "Аутоматски провери да ли постоје ажурирања када се OpenCode покрене", + "settings.updates.row.check.title": "Проверите да ли постоје ажурирања", + "settings.updates.row.check.description": "Ручно проверите да ли постоје ажурирања и инсталирајте ако су доступна", + "settings.updates.action.checkNow": "Проверите сада", + "settings.updates.action.checking": "Проверавам...", + "settings.updates.action.downloading": "Преузимање...", + "settings.updates.action.installing": "Инсталирање...", + "settings.updates.toast.latest.title": "Ажурни сте", + "settings.updates.toast.latest.description": "Користите најновију верзију OpenCode.", + "sound.option.none": "Нема", + "sound.option.alert01": "Упозорење 01", + "sound.option.alert02": "Упозорење 02", + "sound.option.alert03": "Упозорење 03", + "sound.option.alert04": "Упозорење 04", + "sound.option.alert05": "Упозорење 05", + "sound.option.alert06": "Упозорење 06", + "sound.option.alert07": "Упозорење 07", + "sound.option.alert08": "Упозорење 08", + "sound.option.alert09": "Упозорење 09", + "sound.option.alert10": "Упозорење 10", + "sound.option.bipbop01": "Бип-боп 01", + "sound.option.bipbop02": "Бип-боп 02", + "sound.option.bipbop03": "Бип-боп 03", + "sound.option.bipbop04": "Бип-боп 04", + "sound.option.bipbop05": "Бип-боп 05", + "sound.option.bipbop06": "Бип-боп 06", + "sound.option.bipbop07": "Бип-боп 07", + "sound.option.bipbop08": "Бип-боп 08", + "sound.option.bipbop09": "Бип-боп 09", + "sound.option.bipbop10": "Бип-боп 10", + "sound.option.staplebops01": "Стаплебопс 01", + "sound.option.staplebops02": "Стаплебопс 02", + "sound.option.staplebops03": "Стаплебопс 03", + "sound.option.staplebops04": "Стаплебопс 04", + "sound.option.staplebops05": "Стаплебопс 05", + "sound.option.staplebops06": "Стаплебопс 06", + "sound.option.staplebops07": "Стаплебопс 07", + "sound.option.nope01": "Не 01", + "sound.option.nope02": "Не 02", + "sound.option.nope03": "Не 03", + "sound.option.nope04": "Не 04", + "sound.option.nope05": "Не 05", + "sound.option.nope06": "Не 06", + "sound.option.nope07": "Не 07", + "sound.option.nope08": "Не 08", + "sound.option.nope09": "Не 09", + "sound.option.nope10": "Не 10", + "sound.option.nope11": "Не 11", + "sound.option.nope12": "Не 12", + "sound.option.yup01": "Да 01", + "sound.option.yup02": "Да 02", + "sound.option.yup03": "Да 03", + "sound.option.yup04": "Да 04", + "sound.option.yup05": "Да 05", + "sound.option.yup06": "Да 06", + "settings.general.notifications.agent.title": "Агент", + "settings.general.notifications.agent.description": + "Прикажи системско обавештење када је агент готов или му је потребна пажња", + "settings.general.notifications.permissions.title": "дозволе", + "settings.general.notifications.permissions.description": "Прикажи системско обавештење када је потребна дозвола", + "settings.general.notifications.errors.title": "Грешке", + "settings.general.notifications.errors.description": "Прикажи системско обавештење када дође до грешке", + "settings.general.sounds.agent.title": "Агент", + "settings.general.sounds.agent.description": "Пусти звук када је агент завршен или му је потребна пажња", + "settings.general.sounds.permissions.title": "дозволе", + "settings.general.sounds.permissions.description": "Пусти звук када је потребна дозвола", + "settings.general.sounds.errors.title": "Грешке", + "settings.general.sounds.errors.description": "Пусти звук када дође до грешке", + "settings.shortcuts.title": "Пречице на тастатури", + "settings.shortcuts.reset.button": "Ресетујте на подразумеване вредности", + "settings.shortcuts.reset.toast.title": "Ресетовање пречица", + "settings.shortcuts.reset.toast.description": "Пречице на тастатури су враћене на подразумеване вредности.", + "settings.shortcuts.conflict.title": "Пречица се већ користи", + "settings.shortcuts.conflict.description": "{{keybind}} је већ додељен {{titles}}.", + "settings.shortcuts.unassigned": "није додељен", + "settings.shortcuts.pressKeys": "Притисните тастере", + "settings.shortcuts.search.placeholder": "Пречице за претрагу", + "settings.shortcuts.search.empty": "Нису пронађене пречице", + "settings.shortcuts.group.general": "Опште", + "settings.shortcuts.group.session": "Сесија", + "settings.shortcuts.group.navigation": "Навигација", + "settings.shortcuts.group.modelAndAgent": "Модел и агент", + "settings.shortcuts.group.terminal": "Терминал", + "settings.shortcuts.group.prompt": "Промпт", + "settings.providers.title": "Добављачи", + "settings.providers.description": "Овде ће се моћи конфигурисати подешавања добављача.", + "settings.providers.section.connected": "Повезани провајдери", + "settings.providers.connected.empty": "Нема повезаних добављача", + "settings.providers.connected.environmentDescription": "Повезано из променљивих окружења", + "settings.providers.section.popular": "Популарни провајдери", + "settings.providers.custom.description": "Додајте добављача компатибилног са OpenAI по бази URL.", + "settings.providers.tag.environment": "окружење", + "settings.providers.tag.config": "Конфигурација", + "settings.providers.tag.custom": "Прилагођено", + "settings.providers.tag.other": "Друго", + "settings.models.title": "Модели", + "settings.models.description": "Овде ће се моћи конфигурисати подешавања модела.", + "settings.agents.title": "Агенти", + "settings.agents.description": "Овде ће се моћи конфигурисати подешавања агента.", + "settings.commands.title": "команде", + "settings.commands.description": "Овде ће се моћи конфигурисати подешавања команде.", + "settings.mcp.title": "MCP", + "settings.mcp.description": "MCP подешавања ће се моћи конфигурисати овде.", + "settings.permissions.title": "дозволе", + "settings.permissions.description": "Контролишите које алатке сервер може да користи подразумевано.", + "settings.permissions.section.tools": "Алати", + "settings.permissions.toast.updateFailed.title": "Ажурирање дозвола није успело", + "settings.permissions.action.allow": "Дозволи", + "settings.permissions.action.ask": "Питајте", + "settings.permissions.action.deny": "Дени", + "settings.permissions.tool.read.title": "Прочитај", + "settings.permissions.tool.read.description": "Читање датотеке (одговара путањи датотеке)", + "settings.permissions.tool.edit.title": "Уреди", + "settings.permissions.tool.edit.description": "Измените датотеке, укључујући измене, писање и закрпе", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "Упарите датотеке помоћу глоб образаца", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "Претражујте садржај датотеке користећи регуларне изразе", + "settings.permissions.tool.list.title": "Листа", + "settings.permissions.tool.list.description": "Листа датотека унутар директоријума", + "settings.permissions.tool.bash.title": "Басх", + "settings.permissions.tool.bash.description": "Покрените shell команде", + "settings.permissions.tool.task.title": "Задатак", + "settings.permissions.tool.task.description": "Покрените под-агенте", + "settings.permissions.tool.skill.title": "Вештина", + "settings.permissions.tool.skill.description": "Учитајте вештину по имену", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "Покрените упите сервера језика", + "settings.permissions.tool.todowrite.title": "Тодо Врите", + "settings.permissions.tool.todowrite.description": "Ажурирајте листу обавеза", + "settings.permissions.tool.webfetch.title": "Веб Фетцх", + "settings.permissions.tool.webfetch.description": "Преузмите садржај са URL", + "settings.permissions.tool.websearch.title": "Веб претрага", + "settings.permissions.tool.websearch.description": "Претражујте веб", + "settings.permissions.tool.external_directory.title": "Спољни директоријум", + "settings.permissions.tool.external_directory.description": "Приступ датотекама изван директоријума пројекта", + "settings.permissions.tool.doom_loop.title": "Доом Лооп", + "settings.permissions.tool.doom_loop.description": "Откријте поновљене позиве алата са идентичним уносом", + "session.delete.failed.title": "Брисање сесије није успело", + "session.delete.title": "Избриши сесију", + "session.delete.confirm": "Избрисати сесију „{{name}}“?", + "session.delete.button": "Избриши сесију", + "workspace.new": "Нови радни простор", + "workspace.type.local": "локални", + "workspace.type.sandbox": "сандбок", + "workspace.create.failed.title": "није успело креирање радног простора", + "workspace.delete.failed.title": "Брисање радног простора није успело", + "workspace.resetting.title": "Ресетовање радног простора", + "workspace.resetting.description": "Ово може потрајати минут.", + "workspace.reset.failed.title": "Ресетовање радног простора није успело", + "workspace.reset.success.title": "Ресетовање радног простора", + "workspace.reset.success.description": "Радни простор сада одговара подразумеваној грани.", + "workspace.error.stillPreparing": "Радни простор се још увек припрема", + "workspace.status.checking": "Провера необједињених промена...", + "workspace.status.error": "Није могуће проверити статус гит-а.", + "workspace.status.clean": "Нису откривене необјављене промене.", + "workspace.status.dirty": "Необједињене промене су откривене у овом радном простору.", + "workspace.delete.title": "Избришите радни простор", + "workspace.delete.confirm": "Избрисати радни простор „{{name}}“?", + "workspace.delete.button": "Избришите радни простор", + "workspace.reset.title": "Ресетујте радни простор", + "workspace.reset.confirm": "Ресетовати радни простор „{{name}}“?", + "workspace.reset.button": "Ресетујте радни простор", + "workspace.reset.archived.none": "Ниједна активна сесија неће бити архивирана.", + "workspace.reset.archived.one": "1 сесија ће бити архивирана.", + "workspace.reset.archived.many": "{{count}} сесије ће бити архивиране.", + "workspace.reset.note": "Ово ће ресетовати радни простор тако да одговара подразумеваној грани.", + "dialog.usageExceeded.dontShowAgain": "Не приказуј поново", +} diff --git a/packages/app/src/i18n/sv.ts b/packages/app/src/i18n/sv.ts new file mode 100644 index 000000000000..39b363c6b657 --- /dev/null +++ b/packages/app/src/i18n/sv.ts @@ -0,0 +1,1160 @@ +export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Arkiv", + "desktop.menu.edit": "Redigera", + "desktop.menu.view": "Visa", + "desktop.menu.go": "Gå", + "desktop.menu.window": "Fönster", + "desktop.menu.help": "Hjälp", + "desktop.menu.checkForUpdates": "Sök efter uppdateringar...", + "desktop.menu.settings": "Inställningar", + "desktop.menu.reloadWebview": "Läs in webbvyn igen", + "desktop.menu.restart": "Starta om", + "desktop.menu.exportLogs": "Exportera loggar...", + "desktop.menu.newSession": "Ny session", + "desktop.menu.openProject": "Öppna projekt...", + "desktop.menu.newWindow": "Nytt fönster", + "desktop.menu.closeWindow": "Stäng fönster", + "desktop.menu.undo": "Ångra", + "desktop.menu.redo": "Gör om", + "desktop.menu.cut": "Klipp ut", + "desktop.menu.copy": "Kopiera", + "desktop.menu.paste": "Klistra in", + "desktop.menu.delete": "Radera", + "desktop.menu.selectAll": "Markera allt", + "desktop.menu.toggleSidebar": "Växla sidofältet", + "desktop.menu.toggleTerminal": "Växla terminal", + "desktop.menu.toggleFileTree": "Växla filträdet", + "desktop.menu.reload": "Läs in igen", + "desktop.menu.toggleDeveloperTools": "Växla utvecklarverktyg", + "desktop.menu.actualSize": "Verklig storlek", + "desktop.menu.zoomIn": "Zooma in", + "desktop.menu.zoomOut": "Zooma ut", + "desktop.menu.toggleFullScreen": "Växla helskärmsläge", + "desktop.menu.back": "Bakåt", + "desktop.menu.forward": "Framåt", + "desktop.menu.previousSession": "Föregående session", + "desktop.menu.nextSession": "Nästa session", + "desktop.menu.previousProject": "Föregående projekt", + "desktop.menu.nextProject": "Nästa projekt", + "desktop.menu.minimize": "Minimera", + "desktop.menu.maximize": "Maximera", + "desktop.menu.documentation": "OpenCode-dokumentation", + "desktop.menu.supportForum": "Supportforum", + "desktop.menu.shareFeedback": "Skicka feedback", + "desktop.menu.reportBug": "Rapportera ett fel", + "desktop.menu.ariaLabel": "OpenCode-meny", + "desktop.updater.dialog.checkFailed.message": "Det gick inte att söka efter uppdateringar.", + "desktop.updater.dialog.checkFailed.title": "Uppdateringsfel", + "desktop.updater.dialog.upToDate.message": "Du har den senaste versionen.", + "desktop.updater.dialog.upToDate.title": "Inga uppdateringar", + "desktop.updater.dialog.ready.message": "Uppdateringen {{version}} har hämtats. Vill du starta om nu?", + "desktop.updater.dialog.ready.title": "Uppdateringen är klar", + "desktop.updater.dialog.restart": "Starta om", + "desktop.updater.dialog.later": "Senare", + "desktop.recovery.action.relaunch": "Starta om appen", + "desktop.recovery.action.exportLogs": "Exportera loggar", + "desktop.recovery.action.keepWaiting": "Fortsätt vänta", + "desktop.recovery.action.quit": "Avsluta", + "desktop.recovery.loadFailed": "OpenCode kunde inte läsas in", + "desktop.recovery.terminated": "OpenCode-fönstret avslutades oväntat", + "desktop.recovery.unresponsive": "OpenCode svarar inte", + "desktop.recovery.unresponsive.detail": "Du kan starta om appen, öppna loggarna eller fortsätta vänta.", + "desktop.recovery.loadFailed.detail": "Fönster: {{window}}\nURL: {{url}}\nFel: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Fönster: {{window}}\nOrsak: {{reason}}\nKod: {{code}}", + "desktop.recovery.unknown": "", + "desktop.dialog.chooseFolder": "Välj en mapp", + "desktop.dialog.chooseFile": "Välj en fil", + "desktop.dialog.saveFile": "Spara fil", + "desktop.dialog.files": "Filer", + "desktop.server.local": "Lokal server", + "desktop.wsl.error.windowsOnly": "WSL är endast tillgängligt i Windows", + "desktop.wsl.error.unavailable": "WSL är inte tillgängligt", + "desktop.wsl.error.listInstalled": "Det gick inte att lista installerade WSL-distributioner", + "desktop.wsl.error.listOnline": "Det gick inte att lista tillgängliga WSL-distributioner", + "desktop.wsl.error.executeDistro": "Det går inte att köra kommandon i distributionen", + "desktop.wsl.error.installWsl": "Installationen av WSL misslyckades", + "desktop.wsl.error.installDistro": "Det gick inte att installera distributionen: {{distro}}", + "desktop.wsl.error.installOpencode": "Installationen av OpenCode misslyckades", + "desktop.wsl.error.alreadyAdded": "{{distro}} har redan lagts till", + "desktop.wsl.error.opencodeMissing": "opencode är inte installerat i den här distributionen", + "desktop.wsl.error.opencodeCannotRun": "opencode är installerat men kunde inte köras", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode är inte installerat i {{distro}}", + "desktop.wsl.error.updateVersion": + "OpenCode-uppdateringen slutfördes, men {{distro}} rapporterar fortfarande {{installed}}. {{expected}} förväntades", + "desktop.wsl.error.noVersion": "ingen version", + "desktop.wsl.error.serverExited": "WSL-servern avslutades efter start (kod={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL-servern avslutades innan den blev felfri (kod={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": + "Tidsgränsen för hälsokontrollen av sidoprocessen för {{distro}} överskreds efter {{timeout}} ms", + "desktop.wsl.error.commandTimeout": "Tidsgränsen för {{command}} {{args}} överskreds efter {{timeout}} ms", + "desktop.wsl.error.failedPort": "Det gick inte att hämta porten", + "desktop.picker.error.notSelected": "Ingen fil valdes i filväljaren", + "desktop.picker.error.sizeLimit": "De valda bilagorna överskrider gränsen på {{limit}} MB", + "command.category.suggested": "Föreslagna", + "command.category.view": "Visa", + "command.category.project": "Projekt", + "command.category.provider": "Leverantör", + "command.category.server": "Server", + "command.category.session": "Session", + "command.category.theme": "Tema", + "command.category.language": "Språk", + "command.category.file": "Fil", + "command.category.context": "Kontext", + "command.category.terminal": "Terminal", + "command.category.model": "Modell", + "command.category.mcp": "MCP", + "command.category.agent": "Agent", + "command.category.permissions": "Behörigheter", + "command.category.workspace": "Arbetsyta", + "command.category.settings": "Inställningar", + "command.logs.export": "Exportera loggar", + "theme.scheme.system": "System", + "theme.scheme.light": "Ljus", + "theme.scheme.dark": "Mörk", + "command.sidebar.toggle": "Växla sidofältet", + "command.project.open": "Öppna projekt", + "command.project.previous": "Föregående projekt", + "command.project.next": "Nästa projekt", + "command.project.index": "Byt till projekt {{index}}", + "command.provider.connect": "Anslut leverantör", + "command.server.switch": "Byt server", + "command.settings.open": "Öppna inställningar", + "command.session.previous": "Föregående session", + "command.session.next": "Nästa session", + "command.session.previous.unseen": "Föregående oläst session", + "command.session.next.unseen": "Nästa olästa session", + "command.session.archive": "Arkivera session", + "command.palette": "Kommandopalett", + "command.theme.cycle": "Växla tema", + "command.theme.set": "Använd tema: {{theme}}", + "command.theme.scheme.cycle": "Växla färgschema", + "command.theme.scheme.set": "Använd färgschema: {{scheme}}", + "command.language.cycle": "Växla språk", + "command.language.set": "Använd språk: {{language}}", + "command.session.new": "Ny session", + "command.file.open": "Öppna filen", + "command.tab.close": "Stäng fliken", + "command.tab.reopenClosed": "Öppna stängd flik igen", + "command.context.addSelection": "Lägg till markering i kontexten", + "command.context.addSelection.description": "Lägg till markerade rader från den aktuella filen", + "command.input.focus": "Fokusera inmatningsfältet", + "command.terminal.toggle": "Växla terminal", + "command.fileTree.toggle": "Växla filträdet", + "command.review.toggle": "Växla granskning", + "command.terminal.new": "Ny terminal", + "command.terminal.new.description": "Skapa en ny terminalflik", + "command.steps.toggle": "Växla steg", + "command.steps.toggle.description": "Visa eller dölj steg för det aktuella meddelandet", + "command.message.previous": "Föregående meddelande", + "command.message.previous.description": "Gå till föregående användarmeddelande", + "command.message.next": "Nästa meddelande", + "command.message.next.description": "Gå till nästa användarmeddelande", + "command.model.choose": "Välj modell", + "command.model.choose.description": "Välj en annan modell", + "command.mcp.toggle": "Växla MCP:er", + "command.mcp.toggle.description": "Växla MCP:er", + "command.agent.cycle": "Växla agent", + "command.agent.cycle.description": "Byt till nästa agent", + "command.agent.cycle.reverse": "Växla agent bakåt", + "command.agent.cycle.reverse.description": "Byt till föregående agent", + "command.model.variant.cycle": "Växla resonemangsnivå", + "command.model.variant.cycle.description": "Växla till nästa resonemangsnivå", + "command.prompt.mode.shell": "Shell", + "command.prompt.mode.normal": "Prompt", + "command.permissions.autoaccept.enable": "Autoacceptera behörigheter", + "command.permissions.autoaccept.disable": "Sluta att automatiskt acceptera behörigheter", + "command.workspace.toggle": "Växla arbetsytor", + "command.workspace.toggle.description": "Aktivera eller inaktivera flera arbetsytor i sidofältet", + "command.session.undo": "Ångra", + "command.session.undo.description": "Ångra det senaste meddelandet", + "command.session.redo": "Gör om", + "command.session.redo.description": "Gör om det senaste ångrade meddelandet", + "command.session.compact": "Komprimera session", + "command.session.compact.description": "Sammanfatta sessionen för att minska kontextstorleken", + "command.session.fork": "Förgrena från meddelande", + "command.session.fork.description": "Skapa en ny session från ett tidigare meddelande", + "command.session.share": "Dela session", + "command.session.share.description": "Dela den här sessionen och kopiera URL:en till urklipp", + "command.session.unshare": "Sluta dela session", + "command.session.unshare.description": "Sluta dela den här sessionen", + "command.session.export": "Exportera session", + "command.session.export.description": "Exportera hela sessionsutskriften som JSON", + + "palette.search.placeholder": "Sök efter filer, kommandon och sessioner", + "palette.search.placeholder.home": "Sök bland kommandon och sessioner", + "palette.empty": "Inga resultat hittades", + "palette.group.commands": "Kommandon", + "palette.group.files": "Filer", + "dialog.provider.search.placeholder": "Sök leverantörer", + "dialog.provider.empty": "Inga leverantörer hittades", + "dialog.provider.group.popular": "Populära", + "dialog.provider.group.other": "Andra", + "dialog.provider.custom.label": "Anpassad OpenAI-kompatibel leverantör", + "dialog.provider.tag.recommended": "Rekommenderad", + "dialog.provider.opencode.note": "Kurerade modeller inklusive Claude, GPT, Gemini och mer", + "dialog.provider.opencode.tagline": "Pålitliga optimerade modeller", + "dialog.provider.opencodeGo.tagline": "Lågprisprenumeration för alla", + "dialog.provider.anthropic.note": "Direkt tillgång till Claude-modeller, inklusive Pro och Max", + "dialog.provider.copilot.note": "AI-modeller för kodningshjälp via GitHub Copilot", + "dialog.provider.openai.note": "GPT-modeller för snabba, kapabla allmänna AI-uppgifter", + "dialog.provider.google.note": "Gemini-modeller för snabba, strukturerade svar", + "dialog.provider.openrouter.note": "Få tillgång till alla modeller som stöds från en leverantör", + "dialog.provider.vercel.note": "Enhetlig tillgång till AI-modeller med smart routing", + "dialog.model.select.title": "Välj modell", + "dialog.model.search.placeholder": "Sök efter modeller", + "dialog.model.empty": "Inga modellresultat", + "dialog.model.manage": "Hantera modeller", + "dialog.model.manage.description": "Anpassa vilka modeller som visas i modellväljaren.", + "dialog.model.manage.provider.toggle": "Växla alla {{provider}}-modeller", + "dialog.model.unpaid.freeModels.title": "Gratis modeller tillhandahålls av OpenCode", + "dialog.model.unpaid.addMore.title": "Lägg till fler modeller från populära leverantörer", + "dialog.model.unpaid.viewMoreProviders": "Se fler än 70 leverantörer", + "dialog.provider.viewAll": "Visa fler leverantörer", + "provider.connect.title": "Anslut {{provider}}", + "provider.connect.title.anthropicProMax": "Logga in med Claude Pro/Max", + "provider.connect.selectMethod": "Välj inloggningsmetod för {{provider}}.", + "provider.connect.method.apiKey": "API-nyckel", + "provider.connect.method.browser": "Webbläsare", + "provider.connect.method.headless": "Huvudlös", + "provider.connect.status.inProgress": "Auktorisering pågår...", + "provider.connect.status.waiting": "Väntar på auktorisering...", + "provider.connect.status.failed": "Auktorisering misslyckades: {{error}}", + "provider.connect.apiKey.description": + "Ange din {{provider}}-API-nyckel för att ansluta ditt konto och använda {{provider}}-modeller i OpenCode.", + "provider.connect.apiKey.label": "{{provider}}-API-nyckel", + "provider.connect.apiKey.placeholder": "API-nyckel", + "provider.connect.apiKey.required": "API-nyckel krävs", + "provider.connect.opencodeZen.line1": + "OpenCode Zen ger dig tillgång till en utvald uppsättning pålitliga optimerade modeller för kodningsagenter.", + "provider.connect.opencodeZen.line2": + "Med en enda API-nyckel får du tillgång till modeller som Claude, GPT, Gemini, GLM och mer.", + "provider.connect.opencodeZen.visit.prefix": "Besök ", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": " för att hämta din API-nyckel.", + "provider.connect.oauth.code.visit.prefix": "Besök ", + "provider.connect.oauth.code.visit.link": "denna länk", + "provider.connect.oauth.code.visit.suffix": + " för att hämta auktoriseringskoden som ansluter ditt konto och låter dig använda {{provider}}-modeller i OpenCode.", + "provider.connect.oauth.code.label": "Auktoriseringskod för {{method}}", + "provider.connect.oauth.code.placeholder": "Auktoriseringskod", + "provider.connect.oauth.code.required": "Auktoriseringskod krävs", + "provider.connect.oauth.code.invalid": "Ogiltig auktoriseringskod", + "provider.connect.oauth.auto.visit.prefix": "Besök ", + "provider.connect.oauth.auto.visit.link": "denna länk", + "provider.connect.oauth.auto.visit.suffix": + " och ange koden nedan för att ansluta ditt konto och använda {{provider}}-modeller i OpenCode.", + "provider.connect.oauth.auto.confirmationCode": "Bekräftelsekod", + "provider.connect.toast.connected.title": "{{provider}} ansluten", + "provider.connect.toast.connected.description": "{{provider}}-modeller är nu tillgängliga.", + "provider.custom.title": "Anpassad leverantör", + "provider.custom.unavailable": "Anpassade leverantörer är inte tillgängliga på den här servern", + "provider.custom.description.prefix": "Konfigurera en OpenAI-kompatibel leverantör. Se ", + "provider.custom.description.link": "dokumentationen om leverantörskonfiguration", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "Leverantörs-ID", + "provider.custom.field.providerID.placeholder": "minleverantor", + "provider.custom.field.providerID.description": "Små bokstäver, siffror, bindestreck eller understreck", + "provider.custom.field.name.label": "Visningsnamn", + "provider.custom.field.name.placeholder": "Min AI-leverantör", + "provider.custom.field.baseURL.label": "Bas-URL", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "API-nyckel", + "provider.custom.field.apiKey.placeholder": "API-nyckel", + "provider.custom.field.apiKey.description": "Valfritt. Lämna tomt om du hanterar autentisering via HTTP-huvuden.", + "provider.custom.models.label": "Modeller", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "modell-id", + "provider.custom.models.name.label": "Namn", + "provider.custom.models.name.placeholder": "Visningsnamn", + "provider.custom.models.remove": "Ta bort modellen", + "provider.custom.models.add": "Lägg till modell", + "provider.custom.headers.label": "HTTP-huvuden (valfritt)", + "provider.custom.headers.key.label": "HTTP-huvud", + "provider.custom.headers.key.placeholder": "Namn på HTTP-huvud", + "provider.custom.headers.value.label": "Värde", + "provider.custom.headers.value.placeholder": "värde", + "provider.custom.headers.remove": "Ta bort HTTP-huvud", + "provider.custom.headers.add": "Lägg till HTTP-huvud", + "provider.custom.error.providerID.required": "Leverantörs-ID krävs", + "provider.custom.error.providerID.format": "Använd små bokstäver, siffror, bindestreck eller understreck", + "provider.custom.error.providerID.exists": "Det leverantörs-ID:t finns redan", + "provider.custom.error.name.required": "Visningsnamn krävs", + "provider.custom.error.baseURL.required": "Bas-URL krävs", + "provider.custom.error.baseURL.format": "Måste börja med http:// eller https://", + "provider.custom.error.required": "Obligatoriskt", + "provider.custom.error.duplicate": "Dubblett", + "provider.disconnect.toast.disconnected.title": "{{provider}} frånkopplad", + "provider.disconnect.toast.disconnected.description": "{{provider}}-modeller är inte längre tillgängliga.", + "model.tag.free": "Gratis", + "model.tag.latest": "Senaste", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "text", + "model.input.image": "bild", + "model.input.audio": "ljud", + "model.input.video": "video", + "model.input.pdf": "pdf", + "model.tooltip.allows": "Tillåter: {{inputs}}", + "model.tooltip.context.label": "Kontext", + "model.tooltip.inputs": "Indata", + "model.tooltip.model": "Modell", + "model.tooltip.provider": "Leverantör", + "model.tooltip.reasoning": "Resonemang", + "model.tooltip.reasoning.allowed": "Tillåter resonemang", + "model.tooltip.reasoning.none": "Inget resonemang", + "model.tooltip.context": "Kontextgräns {{limit}}", + "common.search.placeholder": "Sök", + "common.goBack": "Navigera tillbaka", + "common.goForward": "Navigera framåt", + "common.loading": "Laddar", + "common.loading.ellipsis": "...", + "common.cancel": "Avbryt", + "common.clear": "Rensa", + "common.open": "Öppna", + "common.connect": "Anslut", + "common.disconnect": "Koppla från", + "common.continue": "Fortsätt", + "common.submit": "Skicka", + "common.save": "Spara", + "common.saving": "Sparar...", + "common.default": "Standard", + "common.attachment": "bilaga", + "prompt.placeholder.shell": "Ange skalkommando... {{example}}", + "prompt.placeholder.normal": 'Fråga vad som helst... "{{example}}"', + "prompt.placeholder.simple": "Fråga vad som helst...", + "prompt.placeholder.summarizeComments": "Sammanfatta kommentarer...", + "prompt.placeholder.summarizeComment": "Sammanfatta kommentar...", + "prompt.mode.shell": "Shell", + "prompt.mode.normal": "Prompt", + "prompt.mode.shell.exit": "esc för att avsluta", + "session.child.promptDisabled": "Det går inte att skicka promptar till underagentsessioner.", + "session.child.backToParent": "Tillbaka till huvudsessionen.", + "prompt.example.1": "Fixa en TODO i kodbasen", + "prompt.example.2": "Vad är den tekniska stacken i det här projektet?", + "prompt.example.3": "Åtgärda trasiga tester", + "prompt.example.4": "Förklara hur autentisering fungerar", + "prompt.example.5": "Hitta och åtgärda säkerhetsbrister", + "prompt.example.6": "Lägg till enhetstester för användartjänsten", + "prompt.example.7": "Refaktorera denna funktion för att bli mer läsbar", + "prompt.example.8": "Vad betyder detta fel?", + "prompt.example.9": "Hjälp mig att felsöka det här problemet", + "prompt.example.10": "Skapa API-dokumentation", + "prompt.example.11": "Optimera databasfrågor", + "prompt.example.12": "Lägg till indatavalidering", + "prompt.example.13": "Skapa en ny komponent för...", + "prompt.example.14": "Hur distribuerar jag det här projektet?", + "prompt.example.15": "Granska min kod för bästa praxis", + "prompt.example.16": "Lägg till felhantering till denna funktion", + "prompt.example.17": "Förklara detta regexmönster", + "prompt.example.18": "Konvertera detta till TypeScript", + "prompt.example.19": "Lägg till loggning i hela kodbasen", + "prompt.example.20": "Vilka beroenden är föråldrade?", + "prompt.example.21": "Hjälp mig att skriva ett migreringsskript", + "prompt.example.22": "Implementera cachning för denna slutpunkt", + "prompt.example.23": "Lägg till paginering till den här listan", + "prompt.example.24": "Skapa ett CLI-kommando för...", + "prompt.example.25": "Hur fungerar miljövariabler här?", + "prompt.popover.emptyResults": "Inga matchande resultat", + "prompt.popover.emptyCommands": "Inga matchande kommandon", + "prompt.dropzone.label": "Släpp bilder, PDF-filer eller textfiler här", + "prompt.dropzone.file.label": "Släpp för att @-omnämna filen", + "prompt.slash.badge.custom": "anpassad", + "prompt.slash.badge.skill": "färdighet", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "aktiv", + "prompt.context.includeActiveFile": "Inkludera aktiv fil", + "prompt.context.removeActiveFile": "Ta bort aktiv fil från kontexten", + "prompt.context.removeFile": "Ta bort filen från kontexten", + "prompt.action.attachFile": "Lägg till filer", + "prompt.menu.addImagesAndFiles": "Lägg till filer och mer", + "prompt.menu.imagesAndFiles": "Bilder och filer", + "prompt.menu.commands": "Kommandon", + "prompt.menu.context": "Kontext", + "prompt.menu.shellCommand": "Skalkommando", + "prompt.attachment.remove": "Ta bort bilagan", + "prompt.action.send": "Skicka", + "prompt.action.stop": "Stoppa", + "prompt.toast.pasteUnsupported.title": "Bilaga som inte stöds", + "prompt.toast.pasteUnsupported.description": "Endast bilder, PDF-filer eller textfiler kan bifogas här.", + "prompt.toast.attachmentDuplicate.title": "Den här filen har redan laddats upp", + "prompt.toast.modelAgentRequired.title": "Välj en agent och modell", + "prompt.toast.modelAgentRequired.description": "Välj en agent och modell innan du skickar en prompt.", + "prompt.toast.worktreeCreateFailed.title": "Det gick inte att skapa worktree", + "prompt.toast.sessionCreateFailed.title": "Det gick inte att skapa session", + "prompt.toast.shellSendFailed.title": "Det gick inte att skicka skalkommandot", + "prompt.toast.commandSendFailed.title": "Det gick inte att skicka kommandot", + "prompt.toast.promptSendFailed.title": "Det gick inte att skicka meddelandet", + "prompt.toast.promptSendFailed.description": "Det gick inte att hämta sessionen", + "dialog.mcp.title": "MCP:er", + "dialog.mcp.description": "{{enabled}} av {{total}} aktiverade", + "dialog.mcp.empty": "Inga MCP:er konfigurerade", + "dialog.lsp.empty": "LSP:er detekteras automatiskt från filtyper", + "dialog.plugins.empty": "Insticksprogram konfigurerade i opencode.json", + "mcp.status.connected": "ansluten", + "mcp.status.failed": "misslyckades", + "mcp.status.needs_auth": "behöver autentisering", + "mcp.status.disabled": "inaktiverad", + "mcp.auth.clickToAuthenticate": "Klicka för att autentisera", + "dialog.fork.empty": "Inga meddelanden att förgrena från", + "dialog.directory.search.placeholder": "Sök i mappar", + "dialog.directory.empty": "Inga mappar hittades", + "dialog.directory.action.selectFile": "Välj fil", + "dialog.directory.action.selectFolder": "Välj mapp", + "dialog.directory.root": "Rotmapp", + "dialog.directory.parent": "Överordnad mapp", + "dialog.directory.readError": "Det går inte att läsa den här mappen", + "app.server.unreachable": "Kunde inte nå {{server}}", + "app.server.retrying": "Försöker igen automatiskt...", + "app.server.otherServers": "Andra servrar", + "dialog.server.title": "Servrar", + "dialog.server.description": "Växla vilken OpenCode-server som denna app ansluter till.", + "dialog.server.search.placeholder": "Sök servrar", + "dialog.server.empty": "Inga servrar ännu", + "dialog.server.add.title": "Lägg till server", + "dialog.server.add.url": "Serveradress", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "Kunde inte ansluta till servern", + "dialog.server.add.checking": "Kontrollerar...", + "dialog.server.add.button": "Lägg till server", + "dialog.server.add.name": "Servernamn (valfritt)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "Användarnamn (valfritt)", + "dialog.server.add.usernamePlaceholder": "användarnamn", + "dialog.server.add.password": "Lösenord (valfritt)", + "dialog.server.add.passwordPlaceholder": "lösenord", + "dialog.server.edit.title": "Redigera server", + "dialog.server.default.title": "Standardserver", + "dialog.server.default.description": + "Anslut till den här servern vid appstart istället för att starta en lokal server. Kräver omstart.", + "dialog.server.default.none": "Ingen server vald", + "dialog.server.default.set": "Ställ in aktuell server som standard", + "dialog.server.default.clear": "Rensa", + "dialog.server.action.remove": "Ta bort servern", + "dialog.server.menu.edit": "Redigera", + "dialog.server.menu.default": "Ställ in som standard", + "dialog.server.menu.defaultRemove": "Ta bort standard", + "dialog.server.menu.delete": "Radera", + "dialog.server.current": "Aktuell server", + "dialog.server.status.default": "Standard", + "wsl.server.add": "Lägg till WSL-server", + "wsl.server.addShort": "Lägg till WSL", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "WSL-server", + "wsl.server.retryStart": "Försök att starta igen", + "wsl.server.updating": "Uppdaterar...", + "wsl.onboarding.step.distro": "Välj distro", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "Kontrollerar WSL...", + "wsl.onboarding.restartRequired": "Windows behöver en omstart för att slutföra installationen av WSL.", + "wsl.onboarding.ready": "WSL är redo.", + "wsl.onboarding.required": "WSL krävs för att fortsätta.", + "wsl.onboarding.checkingDistros": "Kontrollerar distributioner...", + "wsl.onboarding.installingDistro": "Installerar {{distro}}...", + "wsl.onboarding.checkingDistro": "Kontrollerar {{distro}}...", + "wsl.onboarding.listingDistros": "Listar distributioner...", + "wsl.onboarding.distroReady": "{{distro}} är klar.", + "wsl.onboarding.distroNotInstalled": "{{distro}} är inte installerad än.", + "wsl.onboarding.openDistroOnce": "Öppna {{distro}} en gång för att avsluta installationen.", + "wsl.onboarding.finishingDistro": "Slutför installationen för {{distro}}.", + "wsl.onboarding.pickDistro": "Välj en distro eller installera en nedan.", + "wsl.onboarding.checkingOpencode": "Kontrollerar OpenCode...", + "wsl.onboarding.checkingOpencodeIn": "Kontrollerar OpenCode i {{distro}}...", + "wsl.onboarding.updatingOpencode": "Uppdaterar OpenCode...", + "wsl.onboarding.updatingOpencodeIn": "Uppdaterar OpenCode i {{distro}}...", + "wsl.onboarding.updateOpencodeIn": "Uppdatera OpenCode i {{distro}}.", + "wsl.onboarding.updateOpencode": "Uppdatera OpenCode", + "wsl.onboarding.opencodeReadyIn": "OpenCode är redo i {{distro}}.", + "wsl.onboarding.opencodeReady": "OpenCode är redo.", + "wsl.onboarding.installOpencodeIn": "Installera OpenCode i {{distro}}.", + "wsl.onboarding.installOpencode": "Installera OpenCode", + "wsl.onboarding.chooseDistroFirst": "Välj en distro först.", + "wsl.onboarding.loadFailed": "Det gick inte att ladda WSL-tillståndet.", + "wsl.onboarding.loading": "Laddar...", + "wsl.onboarding.installedDistros": "Installerade distros", + "wsl.onboarding.checkAgain": "Kontrollera igen", + "wsl.onboarding.distroStatus.ready": "Redo", + "wsl.onboarding.distroStatus.checking": "Kontrollerar...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode är inte installerat", + "wsl.onboarding.distroStatus.missingTools": "Saknar bash, curl", + "wsl.onboarding.distroStatus.unsupported": "Stöds inte · Använd WSL 2", + "wsl.onboarding.needAnotherDistro": "Behöver du en annan distro?", + "wsl.onboarding.needAnotherDistroHint": "Installera en Linux-distribution från WSL-katalogen", + "wsl.onboarding.wslNotInstalled.title": "WSL är inte installerat", + "wsl.onboarding.wslNotInstalled.description": + "WSL (Windows Subsystem for Linux) krävs innan OpenCode kan lägga till en WSL-server", + "wsl.onboarding.wslUnavailable.title": "WSL är inte tillgängligt", + "wsl.onboarding.wslUnavailable.description": "OpenCode kunde inte verifiera WSL på den här maskinen.", + "wsl.onboarding.installWsl": "Installera WSL", + "wsl.onboarding.windowsRestartRequired": + "Starta om Windows för att slutföra installationen av WSL och öppna sedan OpenCode igen.", + "wsl.onboarding.next": "Nästa", + "wsl.onboarding.refresh": "Uppdatera", + "wsl.onboarding.allDistrosAdded": "Alla installerade distros har redan lagts till.", + "wsl.onboarding.noDistros": "Inga distros har upptäckts ännu.", + "wsl.onboarding.install": "Installera", + "wsl.onboarding.installing": "Installerar...", + "wsl.onboarding.installDistro": "Installera distro", + "wsl.onboarding.searchDistros": "Sök efter distributioner", + "wsl.onboarding.wsl2Required": "WSL 2 krävs.", + "wsl.onboarding.toolsRequired": "Denna distro behöver bash och curl.", + "wsl.onboarding.openTerminal": "Öppna terminalen", + "wsl.onboarding.path": "Sökväg: {{path}}", + "wsl.onboarding.notFound": "hittades inte", + "wsl.onboarding.version": "Version: {{version}}", + "wsl.onboarding.unknown": "okänd", + "wsl.onboarding.desktopVersion": "desktop {{version}}", + "wsl.onboarding.versionMismatch": "Den installerade versionen matchar inte versionen av skrivbordsappen.", + "wsl.onboarding.adding": "Lägger till...", + "help.tabs.toast.ariaLabel": "Vi presenterar flikar. Ordna ditt arbete och dina aktiva sessioner med flikar", + "help.tabs.toast.dismiss": "Stäng informationen om flikar", + "help.tabs.title": "Vi presenterar flikar", + "help.tabs.description": "Ordna ditt arbete och dina aktiva sessioner med flikar", + "help.tabs.date": "14 juli", + "help.tabs.introduction": "OpenCode Desktop är nu uppbyggt kring flikar.", + "help.tabs.sessions": + "Starta en ny session på en flik eller öppna en befintlig session från något av dina projekt. Öppna en ny flik när du påbörjar något nytt och stäng den när du är klar.", + "help.tabs.organize": + "Genom att hålla några flikar öppna blir det enklare att ordna dina aktiva sessioner. Byt namn på flikarna till något du kommer ihåg om du tänker behålla dem.", + "help.tabs.home": + "Du hittar alla dina sessioner och projekt på den nya hemskärmen. När du väljer en session öppnas den på en flik.", + "help.tabs.persistence": "När du öppnar appen igen är dina flikar fortfarande öppna.", + "help.tabs.worktrees": + "Den nya designen stöder inte Git Worktrees ännu, men stöd kommer snart. Om du föredrar att fortsätta använda den tidigare layouten kan du därför växla mellan layouterna i Inställningar. Tänk bara på att den nya layouten blir permanent om några veckor.", + "server.row.noUsername": "inget användarnamn", + "dialog.project.edit.title": "Redigera projekt", + "dialog.project.edit.name": "Namn", + "dialog.project.edit.icon": "Ikon", + "dialog.project.edit.icon.alt": "Projektikonen", + "dialog.project.edit.icon.hint": "Klicka eller dra en bild", + "dialog.project.edit.icon.recommended": "Rekommenderat: 128x128px", + "dialog.project.edit.color": "Färg", + "dialog.project.edit.color.select": "Välj färgen {{color}}", + "dialog.project.edit.worktree.startup": "Startskript för arbetsyta", + "dialog.project.edit.worktree.startup.description": "Körs efter att en ny arbetsyta (worktree) har skapats.", + "dialog.project.edit.worktree.startup.placeholder": "t.ex. bun install", + "dialog.releaseNotes.action.getStarted": "Kom igång", + "dialog.releaseNotes.action.next": "Nästa", + "dialog.releaseNotes.action.hideFuture": "Visa inte dessa i framtiden", + "dialog.releaseNotes.media.alt": "Förhandsvisning av version", + "dialog.usageExceeded.dontShowAgain": "Visa inte igen", + + "context.breakdown.title": "Kontextfördelning", + "context.breakdown.note": + 'Ungefärlig uppdelning av inmatningstokens. "Övrigt" inkluderar verktygsdefinitioner och overhead.', + "context.breakdown.system": "System", + "context.breakdown.user": "Användare", + "context.breakdown.assistant": "Assistent", + "context.breakdown.tool": "Verktygsanrop", + "context.breakdown.other": "Övrigt", + "context.systemPrompt.title": "Systemprompt", + "context.rawMessages.title": "Råmeddelanden", + "context.export.session": "Exportera session", + + "context.stats.session": "Session", + "context.stats.messages": "Meddelanden", + "context.stats.provider": "Leverantör", + "context.stats.model": "Modell", + "context.stats.limit": "Kontextgräns", + "context.stats.totalTokens": "Totala tokens", + "context.stats.usage": "Användning", + "context.stats.inputTokens": "Indatatokens", + "context.stats.outputTokens": "Utdatatokens", + "context.stats.reasoningTokens": "Resonemangstokens", + "context.stats.cacheTokens": "Cache-tokens (läs/skriv)", + "context.stats.userMessages": "Användarmeddelanden", + "context.stats.assistantMessages": "Assistentmeddelanden", + "context.stats.totalCost": "Total kostnad", + "context.stats.sessionCreated": "Session skapades", + "context.stats.lastActivity": "Senaste aktivitet", + "context.usage.tokens": "Tokens", + "context.usage.usage": "Användning", + "context.usage.cost": "Kostnad", + "context.usage.clickToView": "Klicka för att visa kontexten", + "context.usage.view": "Visa kontextanvändning", + "language.en": "English", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Deutsch", + "language.es": "Español", + "language.fr": "Français", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "Polski", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Norsk", + "language.br": "Português (Brasil)", + "language.bs": "Bosanski", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Türkçe", + "toast.language.title": "Språk", + "toast.language.description": "Bytte språk till {{language}}", + "toast.theme.title": "Tema har bytts", + "toast.scheme.title": "Färgschema", + "toast.workspace.enabled.title": "Arbetsytor aktiverade", + "toast.workspace.enabled.description": "Flera worktrees visas nu i sidofältet", + "toast.workspace.disabled.title": "Arbetsytor inaktiverade", + "toast.workspace.disabled.description": "Endast huvudworktreen visas i sidofältet", + "toast.permissions.autoaccept.on.title": "Autoaccepterar behörigheter", + "toast.permissions.autoaccept.on.description": "Behörighetsförfrågningar kommer att godkännas automatiskt", + "toast.permissions.autoaccept.off.title": "Slutade att automatiskt acceptera behörigheter", + "toast.permissions.autoaccept.off.description": "Behörighetsförfrågningar kommer att kräva godkännande", + "toast.model.none.title": "Ingen modell har valts", + "toast.model.none.description": "Anslut en leverantör för att sammanfatta denna session", + "toast.file.loadFailed.title": "Det gick inte att ladda filen", + "toast.file.listFailed.title": "Det gick inte att lista filer", + "toast.context.noLineSelection.title": "Inget radval", + "toast.context.noLineSelection.description": "Välj ett radintervall på en filflik först.", + "toast.session.share.copyFailed.title": "Det gick inte att kopiera URL till urklipp", + "toast.session.share.success.title": "Sessionen har delats", + "toast.session.share.success.description": "Delningsadressen har kopierats till urklipp!", + "toast.session.share.failed.title": "Det gick inte att dela sessionen", + "toast.session.share.failed.description": "Ett fel uppstod när sessionen delades", + "toast.session.unshare.success.title": "Sessionen delas inte längre", + "toast.session.unshare.success.description": "Delningen av sessionen har avslutats!", + "toast.session.unshare.failed.title": "Det gick inte att avsluta delningen", + "toast.session.unshare.failed.description": "Ett fel uppstod när delningen skulle avslutas", + "toast.session.export.success.title": "Session exporterad", + "toast.session.export.success.description": "Sessionen sparades i {{filename}}", + "toast.session.export.failed.title": "Det gick inte att exportera sessionen", + "toast.session.export.failed.description": "Ett fel uppstod när sessionen exporterades", + + "toast.session.listFailed.title": "Det gick inte att läsa in sessioner för {{project}}", + "toast.project.reloadFailed.title": "Det gick inte att ladda om {{project}}", + "toast.update.title": "Uppdatering tillgänglig", + "toast.update.description": "En ny version av OpenCode ({{version}}) är nu tillgänglig att installera.", + "toast.update.action.installRestart": "Installera och starta om", + "toast.update.action.notYet": "Inte än", + "error.page.title": "Något gick fel", + "error.page.description": "Ett fel uppstod när programmet laddades.", + "error.page.description.localServerStartup": "Ett fel uppstod vid start av den lokala servern.", + "error.page.details.label": "Feldetaljer", + "error.page.action.restart": "Starta om", + "error.page.action.report": "Rapportera fel", + "error.page.action.reported": "Fel rapporterat", + "error.page.action.exportLogs": "Exportera loggar", + "error.page.action.checking": "Kontrollerar...", + "error.page.action.checkUpdates": "Sök efter uppdateringar", + "error.page.action.updateTo": "Uppdatera till {{version}}", + "error.page.circular": "[Circular]", + "error.page.report.prefix": "Rapportera det här felet till OpenCode-teamet", + "error.page.report.discord": "på Discord", + "error.page.version": "Version: {{version}}", + "error.dev.rootNotFound": + "Rotelementet hittades inte. Har du glömt att lägga till det i din index.html? Eller kanske id-attributet är felstavat?", + "error.serverSync.connectFailed": "Kunde inte ansluta till servern. Körs det en server på `{{url}}`?", + "error.serverSDK.noServerAvailable": "Ingen server tillgänglig", + "error.serverSDK.serverNotAvailable": "Servern är inte tillgänglig", + "error.childStore.persistedCacheCreateFailed": "Det gick inte att skapa beständig cache", + "error.childStore.persistedProjectMetadataCreateFailed": "Det gick inte att skapa beständig projektmetadata", + "error.childStore.persistedProjectIconCreateFailed": "Det gick inte att skapa en beständig projektikon", + "error.childStore.storeCreateFailed": "Det gick inte att skapa lagring", + "directory.error.invalidUrl": "Ogiltig katalog i URL.", + "error.chain.unknown": "Okänt fel", + "error.server.invalidConfiguration": "Ogiltig konfiguration", + "error.chain.causedBy": "Orsakas av:", + "error.chain.apiError": "API-fel", + "error.chain.status": "Status: {{status}}", + "error.chain.retryable": "Kan försökas igen: {{retryable}}", + "error.chain.responseBody": "Svarstext:\n{{body}}", + "error.chain.didYouMean": "Menade du: {{suggestions}}", + "error.chain.modelNotFound": "Modellen hittades inte: {{provider}}/{{model}}", + "error.chain.checkConfig": "Kontrollera leverantörs- och modellnamnen i konfigurationen (opencode.json)", + "error.chain.mcpFailed": 'MCP-servern "{{name}}" misslyckades. Obs, OpenCode stöder inte MCP-autentisering ännu.', + "error.chain.providerAuthFailed": "Leverantörsautentisering misslyckades ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + 'Det gick inte att initiera leverantören "{{provider}}". Kontrollera autentiseringsuppgifter och konfiguration.', + "error.chain.configJsonInvalid": "Konfigurationsfilen på {{path}} är inte giltig JSON(C)", + "error.chain.configJsonInvalidWithMessage": "Konfigurationsfilen på {{path}} är inte giltig JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + 'Katalogen "{{dir}}" i {{path}} är inte giltig. Byt namn på katalogen till "{{suggestion}}" eller ta bort den. Detta är ett vanligt stavfel.', + "error.chain.configFrontmatterError": "Det gick inte att analysera frontmatter i {{path}}:\n{{message}}", + "error.chain.configInvalid": "Konfigurationsfilen på {{path}} är ogiltig", + "error.chain.configInvalidWithMessage": "Konfigurationsfilen på {{path}} är ogiltig: {{message}}", + "notification.permission.title": "Behörighet krävs", + "notification.permission.description": "{{sessionTitle}} i {{projectName}} behöver behörighet", + "notification.question.title": "Fråga", + "notification.question.description": "{{sessionTitle}} i {{projectName}} har en fråga", + "notification.action.goToSession": "Gå till session", + "notification.session.responseReady.title": "Svar redo", + "notification.session.error.title": "Sessionsfel", + "notification.session.error.fallbackDescription": "Ett fel uppstod", + "home.recentProjects": "Senaste projekten", + "home.empty.title": "Inga senaste projekt", + "home.empty.description": "Kom igång genom att öppna ett lokalt projekt", + "home.title": "Hem", + "home.projects": "Projekt", + "home.project.add": "Lägg till projekt", + "home.recentlyClosed": "Nyligen stängda", + "home.server.collapse": "Fäll ihop serverprojekt", + "home.server.expand": "Fäll ut serverprojekt", + "home.sessions.search.placeholder": "Sök sessioner", + "home.sessions.search.placeholder.scoped": "Sök sessioner i {{scope}}", + "home.sessions.search.sessions": "Sessioner", + "home.sessions.search.noResults": "Inga sessioner hittades för {{query}}", + "home.sessions.empty": "Inget här ännu", + "home.sessions.empty.description": "Skapa en session för att komma igång", + "home.sessions.group.today": "I dag", + "home.sessions.group.yesterday": "I går", + "home.sessions.group.older": "Äldre", + "home.providerTip": "Anslut till 75+ leverantörer för att använda andra modeller, inklusive Claude, GPT, Gemini, etc", + "session.tab.session": "Session", + "session.tab.review": "Granskning", + "session.tab.context": "Kontext", + "session.tab.unknown": "Okänd session", + "session.panel.reviewAndFiles": "Granskning och filer", + "session.error.notFound": "Denna session kan inte hittas", + "session.error.notFound.description": "Den här fliken pekar på en session som inte längre finns på den här servern.", + "session.error.notFound.closeTab": "Stäng flik", + "session.error.serverConnection": "Det går inte att ansluta till den här servern", + "session.review.filesChanged": "Ändrade filer: {{count}}", + "session.review.change.one": "Ändring", + "session.review.change.other": "Ändringar", + "session.review.loadingChanges": "Läser in ändringar...", + "session.review.empty": "Inga ändringar i denna session ännu", + "session.review.noVcs": "Inget Git-versionskontrollsystem upptäcktes, ändringar visas inte", + "session.review.noVcs.createGit.title": "Skapa ett Git-arkiv", + "session.review.noVcs.createGit.description": "Spåra, granska och ångra ändringar i det här projektet", + "session.review.noVcs.createGit.actionLoading": "Skapar Git-arkiv...", + "session.review.noVcs.createGit.action": "Skapa Git-arkiv", + "session.review.noSnapshot": + "Spårning av ögonblicksbilder är inaktiverad i konfigurationen, så sessionsändringar är inte tillgängliga", + "session.review.noChanges": "Inga ändringar", + "session.review.noUncommittedChanges": "Inga ändringar som inte har checkats in ännu", + "session.review.noBranchChanges": "Inga grenändringar ännu", + "session.files.selectToOpen": "Välj en fil att öppna", + "session.files.all": "Alla filer", + "session.files.empty": "Inga filer", + "session.files.binaryContent": "Binär fil (innehåll kan inte visas)", + "session.messages.renderEarlier": "Återge tidigare meddelanden", + "session.messages.loadingEarlier": "Läser in tidigare meddelanden...", + "session.messages.loadEarlier": "Ladda tidigare meddelanden", + "session.messages.loading": "Läser in meddelanden...", + "session.messages.jumpToLatest": "Hoppa till senaste", + "session.context.addToContext": "Lägg till {{selection}} i kontexten", + "session.todo.title": "Att göra", + "session.todo.collapse": "Fäll ihop", + "session.todo.expand": "Fäll ut", + "session.todo.progress": "{{done}} av {{total}} uppgifter slutförda", + "session.question.progress": "{{current}} av {{total}} frågor", + "session.question.minimize": "Minimera frågan", + "session.question.restore": "Återställ fråga", + "session.question.pending.one": "{{count}} väntande fråga", + "session.question.pending.other": "{{count}} väntande frågor", + "session.followupDock.summary.one": "{{count}} meddelande i kö", + "session.followupDock.summary.other": "{{count}} meddelanden i kö", + "session.followupDock.sendNow": "Skicka nu", + "session.followupDock.edit": "Redigera", + "session.followupDock.collapse": "Fäll ihop köade meddelanden", + "session.followupDock.expand": "Fäll ut köade meddelanden", + "session.revertDock.summary.one": "{{count}} återställt meddelande", + "session.revertDock.summary.other": "{{count}} återställda meddelanden", + "session.revertDock.collapse": "Fäll ihop återställda meddelanden", + "session.revertDock.expand": "Fäll ut återställda meddelanden", + "session.revertDock.restore": "Återställ meddelande", + "session.new.title": "Bygg vad som helst", + "session.new.project.new": "Nytt projekt", + "session.new.project.search": "Sök efter projekt", + "session.new.project.add": "Lägg till projekt", + "session.new.worktree.main": "Huvudgren", + "session.new.worktree.mainWithBranch": "Huvudgren ({{branch}})", + "session.new.worktree.create": "Skapa ny worktree", + "session.new.workspace.runIn": "Kör sessionen i", + "session.new.workspace.triggerLocal": "Lokal", + "session.new.workspace.local": "Lokalt arkiv", + "session.new.workspace.existing": "Arbetsyta...", + "session.new.git.none": "Ingen Git", + "session.new.lastModified": "Senast ändrad", + "session.header.search.placeholder": "Sök {{project}}", + "session.header.searchFiles": "Sök filer", + "session.header.openIn": "Öppna i", + "session.header.open.action": "Öppna {{app}}", + "session.header.open.ariaLabel": "Öppna i {{app}}", + "session.header.open.menu": "Öppna alternativ", + "session.header.open.copyPath": "Kopiera sökväg", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "Filutforskaren", + "session.header.open.fileManager": "Filhanteraren", + "session.header.reveal.finder": "Visa i Finder", + "session.header.reveal.fileExplorer": "Visa i Utforskaren", + "session.header.reveal.containingFolder": "Öppna överordnad mapp", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Terminal", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "Status", + "status.popover.ariaLabel": "Serverkonfigurationer", + "status.popover.tab.servers": "Servrar", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "Insticksprogram", + "status.popover.action.manageServers": "Hantera servrar", + "session.share.popover.title": "Publicera på webben", + "session.share.popover.description.shared": + "Denna session är offentlig på webben. Den är tillgänglig för alla med länken.", + "session.share.popover.description.unshared": + "Dela sessionen offentligt på webben. Den kommer att vara tillgänglig för alla med länken.", + "session.share.action.share": "Dela", + "session.share.action.publish": "Publicera", + "session.share.action.publishing": "Publicerar...", + "session.share.action.unpublish": "Avpublicera", + "session.share.action.unpublishing": "Avpublicerar...", + "session.share.action.view": "Visa", + "session.share.copy.copied": "Kopierad", + "session.share.copy.copyLink": "Kopiera länk", + "lsp.tooltip.none": "Inga LSP-servrar", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "Laddar prompt...", + "terminal.loading": "Laddar terminal...", + "terminal.title": "Terminal", + "terminal.title.numbered": "Terminal {{number}}", + "terminal.close": "Stäng terminalen", + "terminal.connectionLost.title": "Anslutning förlorad", + "terminal.connectionLost.abnormalClose": "WebSocket stängdes onormalt: {{code}}", + "terminal.connectionLost.description": "Terminalanslutningen avbröts. Detta kan hända när servern startar om.", + "terminal.connectTicket.csrfError": + "PTY-anslutningsbiljetten avvisades vid ursprungs- eller CSRF-kontrollen. Kontrollera serverns CORS-konfiguration.", + "terminal.connectTicket.statusError": "PTY-anslutningsbiljetten misslyckades med status {{status}}", + "titlebar.update": "Uppdatera", + "titlebar.updateVersion": "Uppdatera {{version}}", + "common.closeTab": "Stäng fliken", + "common.dismiss": "Avfärda", + "common.moreCountSuffix": " (+{{count}} till)", + "common.requestFailed": "Begäran misslyckades", + "common.moreOptions": "Fler alternativ", + "common.learnMore": "Läs mer", + "common.rename": "Byt namn", + "common.export": "Exportera", + "common.reset": "Återställ", + "common.archive": "Arkivera", + "common.delete": "Radera", + "common.close": "Stäng", + "common.edit": "Redigera", + "common.loadMore": "Ladda mer", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Mellanslag", + "common.key.backspace": "Backsteg", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "okänd", + "common.time.justNow": "Just nu", + "common.time.minutesAgo.short": "{{count}}m sedan", + "common.time.hoursAgo.short": "{{count}}h sedan", + "common.time.daysAgo.short": "{{count}}d sedan", + "sidebar.menu.toggle": "Växla meny", + "sidebar.nav.projectsAndSessions": "Projekt och sessioner", + "sidebar.settings": "Inställningar", + "sidebar.help": "Hjälp", + "sidebar.workspaces.enable": "Aktivera arbetsytor", + "sidebar.workspaces.disable": "Inaktivera arbetsytor", + "sidebar.gettingStarted.title": "Kom igång", + "sidebar.gettingStarted.line1": "OpenCode innehåller gratis modeller så att du kan börja direkt.", + "sidebar.gettingStarted.line2": "Anslut valfri leverantör för att använda modeller, inkl. Claude, GPT, Gemini etc.", + "sidebar.project.recentSessions": "Senaste sessioner", + "sidebar.project.viewAllSessions": "Se alla sessioner", + "sidebar.project.clearNotifications": "Rensa aviseringar", + "sidebar.empty.title": "Inga projekt öppna", + "sidebar.empty.description": "Öppna ett projekt för att komma igång", + "debugBar.ariaLabel": "Utvecklingsprestandadiagnostik", + "debugBar.na": "n/a", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "Senast slutförda ruttövergång som berör en sessionssida, mätt från routerns start till första bildrutans rendering efter att övergången har slutförts.", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "Rullande bilder per sekund under de senaste 5 sekunderna.", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "Sämsta bildtid under de senaste 5 sekunderna.", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "Bildrutor över 32 ms under de senaste 5 sekunderna.", + "debugBar.long.label": "LONG", + "debugBar.long.tip": + "Blockerad tid och antal långa uppgifter under de senaste 5 sekunderna. Längsta uppgift: {{max}}.", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "Längsta observerade inmatningsfördröjning under de senaste 5 sekunderna.", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": + "Ungefärlig interaktionslängd under de senaste 5 sekunderna. Detta är INP-liknande, inte den officiella Web Vitals INP.", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "Kumulativ layoutförskjutning för den aktuella appens livslängd.", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "Använd JS-heap jämfört med heapgränsen. Endast Chromium.", + "debugBar.mem.tip": "Använd JS-heap jämfört med heapgränsen. {{used}} av {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Tvinga fram fokusstilar på alla interaktiva element", + "debugBar.focus.on": "PÅ", + "debugBar.focus.off": "AV", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Tvinga fram hela appens layoutriktning utan att ändra valt språk", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode Desktop", + "settings.section.desktop": "Skrivbord", + "settings.section.server": "Server", + "settings.tab.general": "Allmänt", + "settings.tab.shortcuts": "Kortkommandon", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "WSL-integration", + "settings.desktop.wsl.description": "Kör OpenCode-servern inuti WSL på Windows.", + "settings.general.section.appearance": "Utseende", + "settings.general.section.advanced": "Avancerat", + "settings.general.section.notifications": "Systemaviseringar", + "settings.general.section.updates": "Uppdateringar", + "settings.general.section.sounds": "Ljudeffekter", + "settings.general.section.feed": "Flöde", + "settings.general.section.display": "Visning", + "settings.general.row.language.title": "Språk", + "settings.general.row.language.description": "Ändra visningsspråket för OpenCode", + "settings.general.row.shell.title": "Terminalskal", + "settings.general.row.shell.description": "Skal som används av terminalen och agentverktygen", + "settings.general.row.shell.autoDefault": "Auto (standard)", + "settings.general.row.shell.terminalOnly": "endast terminal", + "settings.general.row.appearance.title": "Utseende", + "settings.general.row.appearance.description": "Anpassa hur OpenCode ser ut på din enhet", + "settings.general.row.colorScheme.title": "Färgschema", + "settings.general.row.colorScheme.description": "Välj om OpenCode följer system-, ljus- eller mörktemat", + "settings.general.row.theme.title": "Tema", + "settings.general.row.theme.description": "Anpassa OpenCodes tema.", + "settings.general.row.font.title": "Kodtypsnitt", + "settings.general.row.font.description": "Anpassa teckensnittet som används i kodblock", + "settings.general.row.terminalFont.title": "Terminaltypsnitt", + "settings.general.row.terminalFont.description": "Anpassa teckensnittet som används i terminalen", + "settings.general.row.uiFont.title": "UI-teckensnitt", + "settings.general.row.uiFont.description": "Anpassa typsnittet som används i hela gränssnittet", + "settings.general.row.followup.title": "Uppföljningsbeteende", + "settings.general.row.followup.description": "Välj om uppföljningsmeddelanden ska styra direkt eller vänta i kö", + "settings.general.row.followup.option.queue": "Kö", + "settings.general.row.followup.option.steer": "Styr", + "settings.general.row.showFileTree.title": "Filträd", + "settings.general.row.showFileTree.description": "Visa filträdspanelen i sessioner", + "settings.general.row.showNavigation.title": "Navigationskontroller", + "settings.general.row.showNavigation.description": "Visa bakåt- och framåtknapparna i skrivbordets namnlist", + "settings.general.row.showSearch.title": "Kommandopalett", + "settings.general.row.showSearch.description": "Visa sök- och kommandopalettens knapp i namnlisten", + "settings.general.row.showTerminal.title": "Terminal", + "settings.general.row.showTerminal.description": "Visa terminalknappen i skrivbordets namnlist", + "settings.general.row.showStatus.title": "Serverstatus", + "settings.general.row.showStatus.description": "Visa serverstatusknappen i namnlisten", + "settings.general.row.mobileTitlebarBottom.title": "Bottennavigering", + "settings.general.row.mobileTitlebarBottom.description": + "Placera titelfältet och sessionsflikarna längst ned på skärmen på mobilen", + "settings.general.row.showCustomAgents.title": "Visa agent", + "settings.general.row.showCustomAgents.description": + "Växla mellan agenter i inmatningsfältet. När alternativet är dolt används agenten Bygg som standard.", + "settings.general.row.reasoningSummaries.title": "Visa resonemangssammanfattningar", + "settings.general.row.reasoningSummaries.description": "Visa modellresonemangssammanfattningar i tidslinjen", + "settings.general.row.shellToolPartsExpanded.title": "Expandera skalverktygsdelar", + "settings.general.row.shellToolPartsExpanded.description": + "Visa skalverktygsdelar expanderade som standard på tidslinjen", + "settings.general.row.editToolPartsExpanded.title": "Fäll ut delar för redigeringsverktyg", + "settings.general.row.editToolPartsExpanded.description": + "Visa delar för redigerings-, skriv- och patchverktyg utfällda som standard i tidslinjen", + "settings.general.row.newInterface.title": "Ny layout", + "settings.general.row.newInterface.badge": "Ny", + "settings.general.row.newInterface.description": + "Använd de nya flikarna och hemlayouten. Växla mellan layouter under en begränsad tid.", + "settings.general.row.newInterfaceNotice.title": "Du använder nu ny layout", + "settings.general.row.newInterfaceNotice.description": "Den tidigare layouten är inte längre tillgänglig", + "settings.general.row.newInterfaceNotice.dismiss": "Avfärda", + "settings.general.row.pinchZoom.title": "Nyp för att zooma", + "settings.general.row.pinchZoom.description": "Tillåt nypgester på styrplattan och Ctrl-rullning för att zooma", + "settings.general.row.wayland.title": "Använd inbyggt Wayland-stöd", + "settings.general.row.wayland.description": "Inaktivera X11-reservläget på Wayland. Kräver omstart.", + "settings.general.row.wayland.tooltip": + "På Linux med skärmar som har olika uppdateringsfrekvens kan inbyggt Wayland-stöd vara stabilare.", + "settings.general.row.releaseNotes.title": "Versionsinformation", + "settings.general.row.releaseNotes.description": "Visa popup-fönster för vad som är nytt efter uppdateringar", + "settings.updates.row.startup.title": "Sök efter uppdateringar vid start", + "settings.updates.row.startup.description": "Sök automatiskt efter uppdateringar när OpenCode startas", + "settings.updates.row.check.title": "Sök efter uppdateringar", + "settings.updates.row.check.description": "Sök manuellt efter uppdateringar och installera dem om de är tillgängliga", + "settings.updates.action.checkNow": "Kontrollera nu", + "settings.updates.action.checking": "Kontrollerar...", + "settings.updates.action.downloading": "Laddar ned...", + "settings.updates.action.installing": "Installerar...", + "settings.updates.toast.latest.title": "Du är uppdaterad", + "settings.updates.toast.latest.description": "Du kör den senaste versionen av OpenCode.", + "sound.option.none": "Inget", + "sound.option.alert01": "Varning 01", + "sound.option.alert02": "Varning 02", + "sound.option.alert03": "Varning 03", + "sound.option.alert04": "Varning 04", + "sound.option.alert05": "Varning 05", + "sound.option.alert06": "Varning 06", + "sound.option.alert07": "Alarm 07", + "sound.option.alert08": "Alarm 08", + "sound.option.alert09": "Alarm 09", + "sound.option.alert10": "Varning 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "Nej 01", + "sound.option.nope02": "Nej 02", + "sound.option.nope03": "Nej 03", + "sound.option.nope04": "Nej 04", + "sound.option.nope05": "Nej 05", + "sound.option.nope06": "Nej 06", + "sound.option.nope07": "Nej 07", + "sound.option.nope08": "Nej 08", + "sound.option.nope09": "Nej 09", + "sound.option.nope10": "Nej 10", + "sound.option.nope11": "Nej 11", + "sound.option.nope12": "Nej 12", + "sound.option.yup01": "Japp 01", + "sound.option.yup02": "Japp 02", + "sound.option.yup03": "Japp 03", + "sound.option.yup04": "Japp 04", + "sound.option.yup05": "Japp 05", + "sound.option.yup06": "Japp 06", + "settings.general.notifications.agent.title": "Agent", + "settings.general.notifications.agent.description": + "Visa en systemavisering när agenten är klar eller behöver uppmärksamhet", + "settings.general.notifications.permissions.title": "Behörigheter", + "settings.general.notifications.permissions.description": "Visa systemavisering när en behörighet krävs", + "settings.general.notifications.errors.title": "Fel", + "settings.general.notifications.errors.description": "Visa systemavisering när ett fel uppstår", + "settings.general.sounds.agent.title": "Agent", + "settings.general.sounds.agent.description": "Spela upp ett ljud när agenten är klar eller behöver uppmärksamhet", + "settings.general.sounds.permissions.title": "Behörigheter", + "settings.general.sounds.permissions.description": "Spela upp ett ljud när en behörighet krävs", + "settings.general.sounds.errors.title": "Fel", + "settings.general.sounds.errors.description": "Spela upp ljud när ett fel uppstår", + "settings.shortcuts.title": "Kortkommandon", + "settings.shortcuts.reset.button": "Återställ till standardinställningar", + "settings.shortcuts.reset.toast.title": "Kortkommandon återställda", + "settings.shortcuts.reset.toast.description": "Kortkommandon har återställts till standardinställningarna.", + "settings.shortcuts.conflict.title": "Kortkommandot används redan", + "settings.shortcuts.conflict.description": "{{keybind}} är redan tilldelat till {{titles}}.", + "settings.shortcuts.unassigned": "Otilldelad", + "settings.shortcuts.pressKeys": "Tryck på tangenter", + "settings.shortcuts.search.placeholder": "Sök kortkommandon", + "settings.shortcuts.search.empty": "Inga kortkommandon hittades", + "settings.shortcuts.group.general": "Allmänt", + "settings.shortcuts.group.session": "Session", + "settings.shortcuts.group.navigation": "Navigering", + "settings.shortcuts.group.modelAndAgent": "Modell och agent", + "settings.shortcuts.group.terminal": "Terminal", + "settings.shortcuts.group.prompt": "Prompt", + "settings.providers.title": "Leverantörer", + "settings.providers.description": "Leverantörsinställningar kommer att kunna konfigureras här.", + "settings.providers.section.connected": "Anslutna leverantörer", + "settings.providers.connected.empty": "Inga anslutna leverantörer", + "settings.providers.connected.environmentDescription": "Anslutna via dina miljövariabler", + "settings.providers.section.popular": "Populära leverantörer", + "settings.providers.custom.description": "Lägg till en OpenAI-kompatibel leverantör genom bas-URL.", + "settings.providers.tag.environment": "Miljö", + "settings.providers.tag.config": "Konfiguration", + "settings.providers.tag.custom": "Anpassad", + "settings.providers.tag.other": "Övrigt", + "settings.models.title": "Modeller", + "settings.models.description": "Modellinställningar kommer att kunna konfigureras här.", + "settings.agents.title": "Agenter", + "settings.agents.description": "Agentinställningar kommer att kunna konfigureras här.", + "settings.commands.title": "Kommandon", + "settings.commands.description": "Kommandoinställningarna kommer att kunna konfigureras här.", + "settings.mcp.title": "MCP", + "settings.mcp.description": "MCP-inställningar kommer att kunna konfigureras här.", + "settings.permissions.title": "Behörigheter", + "settings.permissions.description": "Kontrollera vilka verktyg servern kan använda som standard.", + "settings.permissions.section.tools": "Verktyg", + "settings.permissions.toast.updateFailed.title": "Det gick inte att uppdatera behörigheter", + "settings.permissions.action.allow": "Tillåt", + "settings.permissions.action.ask": "Fråga", + "settings.permissions.action.deny": "Neka", + "settings.permissions.tool.read.title": "Läs", + "settings.permissions.tool.read.description": "Läsa en fil (matchar filsökvägen)", + "settings.permissions.tool.edit.title": "Redigera", + "settings.permissions.tool.edit.description": "Ändra filer, inklusive redigeringar, skrivningar och patchar", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "Matcha filer med globmönster", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "Sök filinnehåll med hjälp av reguljära uttryck", + "settings.permissions.tool.list.title": "Lista", + "settings.permissions.tool.list.description": "Lista filer i en katalog", + "settings.permissions.tool.bash.title": "Bash", + "settings.permissions.tool.bash.description": "Kör skalkommandon", + "settings.permissions.tool.task.title": "Uppgift", + "settings.permissions.tool.task.description": "Starta underagenter", + "settings.permissions.tool.skill.title": "Färdighet", + "settings.permissions.tool.skill.description": "Ladda en färdighet efter namn", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "Kör språkserverfrågor", + "settings.permissions.tool.todowrite.title": "Skriv att göra-lista", + "settings.permissions.tool.todowrite.description": "Uppdatera att göra-listan", + "settings.permissions.tool.webfetch.title": "Webbhämtning", + "settings.permissions.tool.webfetch.description": "Hämta innehåll från en URL", + "settings.permissions.tool.websearch.title": "Webbsökning", + "settings.permissions.tool.websearch.description": "Sök på webben", + "settings.permissions.tool.external_directory.title": "Extern katalog", + "settings.permissions.tool.external_directory.description": "Få åtkomst till filer utanför projektkatalogen", + "settings.permissions.tool.doom_loop.title": "Doom Loop", + "settings.permissions.tool.doom_loop.description": "Upptäck upprepade verktygsanrop med identiska indata", + "session.delete.failed.title": "Det gick inte att ta bort sessionen", + "session.delete.title": "Ta bort session", + "session.delete.confirm": 'Ta bort session "{{name}}"?', + "session.delete.button": "Ta bort session", + "workspace.new": "Ny arbetsyta", + "workspace.type.local": "lokal", + "workspace.type.sandbox": "sandlåda", + "workspace.create.failed.title": "Det gick inte att skapa arbetsyta", + "workspace.delete.failed.title": "Det gick inte att ta bort arbetsytan", + "workspace.resetting.title": "Återställer arbetsytan", + "workspace.resetting.description": "Detta kan ta en minut.", + "workspace.reset.failed.title": "Det gick inte att återställa arbetsytan", + "workspace.reset.success.title": "Arbetsytan har återställts", + "workspace.reset.success.description": "Arbetsytan matchar nu standardgrenen.", + "workspace.error.stillPreparing": "Arbetsytan förbereds fortfarande", + "workspace.status.checking": "Söker efter osammanslagna ändringar...", + "workspace.status.error": "Det gick inte att verifiera git-status.", + "workspace.status.clean": "Inga osammanslagna ändringar upptäcktes.", + "workspace.status.dirty": "Osammanslagna ändringar upptäcktes i den här arbetsytan.", + "workspace.delete.title": "Ta bort arbetsyta", + "workspace.delete.confirm": 'Ta bort arbetsytan "{{name}}"?', + "workspace.delete.button": "Ta bort arbetsyta", + "workspace.reset.title": "Återställ arbetsytan", + "workspace.reset.confirm": 'Återställa arbetsytan "{{name}}"?', + "workspace.reset.button": "Återställ arbetsytan", + "workspace.reset.archived.none": "Inga aktiva sessioner kommer att arkiveras.", + "workspace.reset.archived.one": "1 session kommer att arkiveras.", + "workspace.reset.archived.many": "{{count}} sessioner kommer att arkiveras.", + "workspace.reset.note": "Detta kommer att återställa arbetsytan så att den matchar standardgrenen.", +} diff --git a/packages/app/src/i18n/tg.ts b/packages/app/src/i18n/tg.ts new file mode 100644 index 000000000000..ffa08409f684 --- /dev/null +++ b/packages/app/src/i18n/tg.ts @@ -0,0 +1,1164 @@ +export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Файл", + "desktop.menu.edit": "Таҳрир", + "desktop.menu.view": "Намоиш", + "desktop.menu.go": "Бирав", + "desktop.menu.window": "Тиреза", + "desktop.menu.help": "Кӯмак", + "desktop.menu.checkForUpdates": "Навсозиро санҷед...", + "desktop.menu.settings": "Танзимотҳо", + "desktop.menu.reloadWebview": "Аз нав бор кунед Webview", + "desktop.menu.restart": "Оғози дубора", + "desktop.menu.exportLogs": "Содироти гузоришҳо...", + "desktop.menu.newSession": "Сессияи нав", + "desktop.menu.openProject": "Лоиҳаи кушода...", + "desktop.menu.newWindow": "Равзанаи нав", + "desktop.menu.closeWindow": "Пӯшидани Тиреза", + "desktop.menu.undo": "Бекор кардан", + "desktop.menu.redo": "Такрор кунед", + "desktop.menu.cut": "Бурида", + "desktop.menu.copy": "Нусхабардорӣ", + "desktop.menu.paste": "Часбонед", + "desktop.menu.delete": "Нобуд кунед", + "desktop.menu.selectAll": "Ҳамаро интихоб кунед", + "desktop.menu.toggleSidebar": "Гузариш кардани панели паҳлӯ", + "desktop.menu.toggleTerminal": "Терминалро иваз кунед", + "desktop.menu.toggleFileTree": "Гузариш кардани дарахти файл", + "desktop.menu.reload": "Аз нав бор кунед", + "desktop.menu.toggleDeveloperTools": "Воситаҳои таҳиякунандаро иваз кунед", + "desktop.menu.actualSize": "Андозаи воқеӣ", + "desktop.menu.zoomIn": "Масштаб кардан", + "desktop.menu.zoomOut": "Масоҳат", + "desktop.menu.toggleFullScreen": "Гузариш ба экрани пурра", + "desktop.menu.back": "Бозгашт", + "desktop.menu.forward": "Ба пеш", + "desktop.menu.previousSession": "Сессияи гузашта", + "desktop.menu.nextSession": "Сеанси оянда", + "desktop.menu.previousProject": "Лоиҳаи қаблӣ", + "desktop.menu.nextProject": "Лоиҳаи навбатӣ", + "desktop.menu.minimize": "Кам кардан", + "desktop.menu.maximize": "Максимум кардан", + "desktop.menu.documentation": "OpenCode Ҳуҷҷатҳо", + "desktop.menu.supportForum": "Форуми дастгирӣ", + "desktop.menu.shareFeedback": "Мубодилаи фикру ақида", + "desktop.menu.reportBug": "Дар бораи хато хабар диҳед", + "desktop.menu.ariaLabel": "OpenCode меню", + "desktop.updater.dialog.checkFailed.message": "Санҷиши навсозӣ ноком шуд.", + "desktop.updater.dialog.checkFailed.title": "Хатои навсозӣ", + "desktop.updater.dialog.upToDate.message": "Шумо навсозӣ доред.", + "desktop.updater.dialog.upToDate.title": "Навсозиҳо нест", + "desktop.updater.dialog.ready.message": "Навсозии {{version}} бор карда шуд. Ҳоло аз нав оғоз кунед?", + "desktop.updater.dialog.ready.title": "Навсозӣ омода аст", + "desktop.updater.dialog.restart": "Оғози дубора", + "desktop.updater.dialog.later": "Баъдтар", + "desktop.recovery.action.relaunch": "Аз нав оғоз кунед", + "desktop.recovery.action.exportLogs": "Содироти гузоришҳо", + "desktop.recovery.action.keepWaiting": "Интизор бошед", + "desktop.recovery.action.quit": "Истед", + "desktop.recovery.loadFailed": "OpenCode бор карда натавонист", + "desktop.recovery.terminated": "OpenCode тиреза ба таври ғайричашмдошт қатъ карда шуд", + "desktop.recovery.unresponsive": "OpenCode ҷавоб намедиҳад", + "desktop.recovery.unresponsive.detail": + "Шумо метавонед барномаро аз нав оғоз кунед, гузоришҳоро кушоед ё интизор шавед.", + "desktop.recovery.loadFailed.detail": "Тиреза: {{window}}\nURL: {{url}}\nХатогӣ: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Тиреза: {{window}}\nСабаб: {{reason}}\nРамз: {{code}}", + "desktop.recovery.unknown": "<номаълум>", + "desktop.dialog.chooseFolder": "Папкаро интихоб кунед", + "desktop.dialog.chooseFile": "Файлро интихоб кунед", + "desktop.dialog.saveFile": "Файлро захира кунед", + "desktop.dialog.files": "Файлҳо", + "desktop.server.local": "Сервери маҳаллӣ", + "desktop.wsl.error.windowsOnly": "WSL танҳо дар Windows дастрас аст", + "desktop.wsl.error.unavailable": "WSL дастрас нест", + "desktop.wsl.error.listInstalled": "Рӯйхати WSL дистрибюторҳои насбшуда иҷро нашуд", + "desktop.wsl.error.listOnline": "Рӯйхати WSL паҳнкунии онлайн номуваффақ шуд", + "desktop.wsl.error.executeDistro": "Фармонҳоро дар distro иҷро карда наметавонад", + "desktop.wsl.error.installWsl": "WSL насб карда нашуд", + "desktop.wsl.error.installDistro": "Насб кардани distro иҷро нашуд: {{distro}}", + "desktop.wsl.error.installOpencode": "OpenCode насб карда нашуд", + "desktop.wsl.error.alreadyAdded": "{{distro}} аллакай илова карда шудааст", + "desktop.wsl.error.opencodeMissing": "opencode дар ин паҳнкунӣ насб нашудааст", + "desktop.wsl.error.opencodeCannotRun": "opencode насб шудааст, аммо иҷро карда натавонист", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode дар {{distro}} насб нашудааст", + "desktop.wsl.error.updateVersion": + "OpenCode навсозӣ анҷом ёфт, аммо {{distro}} то ҳол гузориш медиҳад {{installed}}; интизорӣ {{expected}}", + "desktop.wsl.error.noVersion": "версия нест", + "desktop.wsl.error.serverExited": "WSL сервер пас аз оғозшавӣ хориҷ шуд (рамз = {{code}} сигнал = {{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL сервер пеш аз солим шудан хориҷ шуд (рамз={{code}} сигнал ={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": "Санҷиши саломатии Sidecar барои {{distro}} пас аз {{timeout}} мс ба охир расид", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} пас аз {{timeout}}мс ба охир расид", + "desktop.wsl.error.failedPort": "Ба даст овардани порт муяссар нашуд", + "desktop.picker.error.notSelected": "Файлро интихобкунанда интихоб накардааст", + "desktop.picker.error.sizeLimit": "Замимаҳои интихобшуда аз ҳадди {{limit}} МБ зиёданд", + "command.category.suggested": "Тавсия дода мешавад", + "command.category.view": "Намоиш", + "command.category.project": "Лоиҳа", + "command.category.provider": "Таъминкунанда", + "command.category.server": "Сервер", + "command.category.session": "Сессия", + "command.category.theme": "Мавзӯъ", + "command.category.language": "Забон", + "command.category.file": "Файл", + "command.category.context": "Контекст", + "command.category.terminal": "Терминал", + "command.category.model": "Модели", + "command.category.mcp": "MCP", + "command.category.agent": "Агент", + "command.category.permissions": "Иҷозатҳо", + "command.category.workspace": "Фазои корӣ", + "command.category.settings": "Танзимотҳо", + "command.logs.export": "Сабтҳои содиротӣ", + "theme.scheme.system": "Система", + "theme.scheme.light": "Нур", + "theme.scheme.dark": "Торик", + "command.sidebar.toggle": "Паҳлӯи паҳлӯро иваз кунед", + "command.project.open": "Лоиҳаи кушода", + "command.project.previous": "Лоиҳаи қаблӣ", + "command.project.next": "Лоиҳаи навбатӣ", + "command.project.index": "Гузариш ба лоиҳа {{index}}", + "command.provider.connect": "Провайдери пайвастшавӣ", + "command.server.switch": "Гузаронидани сервер", + "command.settings.open": "Танзимотро кушоед", + "command.session.previous": "Сессияи гузашта", + "command.session.next": "Сеанси оянда", + "command.session.previous.unseen": "Сеанси қаблии хонданашуда", + "command.session.next.unseen": "Сеанси навбатии нохонда", + "command.session.archive": "Сеанси архив", + "command.palette": "Палитраи фармон", + "command.theme.cycle": "Мавзӯи велосипедронӣ", + "command.theme.set": "Мавзӯъро истифода баред: {{theme}}", + "command.theme.scheme.cycle": "Схемаи рангҳои даврӣ", + "command.theme.scheme.set": "Схемаи рангро истифода баред: {{scheme}}", + "command.language.cycle": "Забони даврӣ", + "command.language.set": "Истифодаи забон: {{language}}", + "command.session.new": "Сеанси нав", + "command.file.open": "Файлро кушоед", + "command.tab.close": "Варақаро пӯшед", + "command.tab.reopenClosed": "Варақаи пӯшидаро аз нав кушоед", + "command.context.addSelection": "Интихобро ба контекст илова кунед", + "command.context.addSelection.description": "Аз файли ҷорӣ сатрҳои интихобшударо илова кунед", + "command.input.focus": "Вуруди фокус", + "command.terminal.toggle": "Терминалро иваз кунед", + "command.fileTree.toggle": "Гузариш кардани дарахти файл", + "command.review.toggle": "Гузариш аз барраси", + "command.terminal.new": "Терминали нав", + "command.terminal.new.description": "Варақаи нави терминал эҷод кунед", + "command.steps.toggle": "Қадамҳоро иваз кунед", + "command.steps.toggle.description": "Қадамҳоро барои паёми ҷорӣ нишон диҳед ё пинҳон кунед", + "command.message.previous": "Паёми қаблӣ", + "command.message.previous.description": "Ба паёми пешинаи корбар гузаред", + "command.message.next": "Паёми навбатӣ", + "command.message.next.description": "Ба паёми навбатии корбар гузаред", + "command.model.choose": "Модели интихоб кунед", + "command.model.choose.description": "Модели дигарро интихоб кунед", + "command.mcp.toggle": "Гузариш MCPс", + "command.mcp.toggle.description": "Гузариш MCPс", + "command.agent.cycle": "Агенти сикли", + "command.agent.cycle.description": "Ба агенти навбатӣ гузаред", + "command.agent.cycle.reverse": "Агенти даврӣ ба ақиб", + "command.agent.cycle.reverse.description": "Ба агенти қаблӣ гузаред", + "command.model.variant.cycle": "Кӯшиши фикрронии даврӣ", + "command.model.variant.cycle.description": "Ба сатҳи навбатии кӯшишҳо гузаред", + "command.prompt.mode.shell": "Shell", + "command.prompt.mode.normal": "Промпт", + "command.permissions.autoaccept.enable": "Иҷозатҳоро худкор қабул кунед", + "command.permissions.autoaccept.disable": "Қабули худкори иҷозатҳоро қатъ кунед", + "command.workspace.toggle": "Ҷойҳои корӣ иваз кунед", + "command.workspace.toggle.description": "Дар панели паҳлӯ ҷойҳои кории сершуморро фаъол ё ғайрифаъол кунед", + "command.session.undo": "Бекор кардан", + "command.session.undo.description": "Паёми охиринро бекор кунед", + "command.session.redo": "Такрор кунед", + "command.session.redo.description": "Паёми охирини бекоршударо такрор кунед", + "command.session.compact": "Сеанси компакт", + "command.session.compact.description": "Барои кам кардани андозаи контекст ҷаласаро ҷамъбаст кунед", + "command.session.fork": "Аз паём шоха созед", + "command.session.fork.description": "Аз паёми қаблӣ сессияи нав эҷод кунед", + "command.session.share": "Сеанси мубодила", + "command.session.share.description": "Ин сессияро мубодила кунед ва URL-ро ба буфер нусхабардорӣ кунед", + "command.session.unshare": "Бекор кардани сеанс", + "command.session.unshare.description": "Мубодилаи ин сессияро бас кунед", + "command.session.export": "Сеанси содирот", + "command.session.export.description": "Транскрипти пурраи сессияро ҳамчун JSON содир кунед", + "palette.search.placeholder": "Ҷустуҷӯи файлҳо, фармонҳо ва сессияҳо", + "palette.search.placeholder.home": "Фармонҳо ва сессияҳоро ҷустуҷӯ кунед", + "palette.empty": "Ягон натиҷа ёфт нашуд", + "palette.group.commands": "Фармонҳо", + "palette.group.files": "Файлҳо", + "dialog.provider.search.placeholder": "Ҷустуҷӯи провайдерҳо", + "dialog.provider.empty": "Ягон провайдер ёфт нашуд", + "dialog.provider.group.popular": "Маъмул", + "dialog.provider.group.other": "Дигар", + "dialog.provider.custom.label": "Фармоишгар OpenAI-провайдери мувофиқ", + "dialog.provider.tag.recommended": "Тавсия дода мешавад", + "dialog.provider.opencode.note": "Моделҳои интихобшуда, аз ҷумла Claude, GPT, Gemini ва ғайра", + "dialog.provider.opencode.tagline": "Моделҳои боэътимоди оптимизатсияшуда", + "dialog.provider.opencodeGo.tagline": "Обунаи арзон барои ҳама", + "dialog.provider.anthropic.note": "Дастрасии мустақим ба моделҳои Claude, аз ҷумла Pro ва Max", + "dialog.provider.copilot.note": "Моделҳои AI барои кӯмаки рамзгузорӣ тавассути GitHub Copilot", + "dialog.provider.openai.note": "GPT моделҳо барои вазифаҳои зуд ва тавонои умумии AI", + "dialog.provider.google.note": "Gemini моделҳо барои посухҳои зуд ва сохторӣ", + "dialog.provider.openrouter.note": "Ба ҳама моделҳои дастгирӣшаванда аз як провайдер дастрасӣ пайдо кунед", + "dialog.provider.vercel.note": "Дастрасии ягона ба моделҳои AI бо масири оқилона", + "dialog.model.select.title": "Модели интихоб кунед", + "dialog.model.search.placeholder": "Ҷустуҷӯи моделҳо", + "dialog.model.empty": "Натоиҷи модел нест", + "dialog.model.manage": "Моделҳоро идора кунед", + "dialog.model.manage.description": "Муайян кунед, ки кадом моделҳо дар интихоби модел пайдо мешаванд.", + "dialog.model.manage.provider.toggle": "Ҳама моделҳои {{provider}}-ро иваз кунед", + "dialog.model.unpaid.freeModels.title": "Моделҳои ройгон аз ҷониби OpenCode пешниҳодшуда", + "dialog.model.unpaid.addMore.title": "Моделҳои бештар аз провайдерҳои маъмул илова кунед", + "dialog.model.unpaid.viewMoreProviders": "Ба 70+ провайдерҳои дигар нигаред", + "dialog.provider.viewAll": "Провайдерҳои бештарро нишон диҳед", + "provider.connect.title": "Пайвастшавӣ {{provider}}", + "provider.connect.title.anthropicProMax": "Воридшавӣ бо Claude Pro/Max", + "provider.connect.selectMethod": "Усули воридшавиро барои {{provider}} интихоб кунед.", + "provider.connect.method.apiKey": "API калид", + "provider.connect.method.browser": "Браузер", + "provider.connect.method.headless": "Бесар", + "provider.connect.status.inProgress": "Иҷозатдиҳӣ идома дорад...", + "provider.connect.status.waiting": "Мунтазири иҷозат...", + "provider.connect.status.failed": "Иҷозат дода нашуд: {{error}}", + "provider.connect.apiKey.description": + "Барои пайваст кардани ҳисоби худ калиди {{provider}} API-ро ворид кунед ва моделҳои {{provider}}-ро дар OpenCode истифода баред.", + "provider.connect.apiKey.label": "{{provider}} API калид", + "provider.connect.apiKey.placeholder": "API калид", + "provider.connect.apiKey.required": "API калид лозим аст", + "provider.connect.opencodeZen.line1": + "OpenCode Zen ба шумо дастрасӣ ба маҷмӯи мураттабшудаи моделҳои боэътимоди оптимизатсияшуда барои агентҳои рамзгузориро медиҳад.", + "provider.connect.opencodeZen.line2": + "Бо як калиди API шумо метавонед ба моделҳое мисли Claude, GPT, Gemini, GLM ва ғайра дастрасӣ пайдо кунед.", + "provider.connect.opencodeZen.visit.prefix": "Ташриф", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": "барои гирифтани калиди API худ.", + "provider.connect.oauth.code.visit.prefix": "Ташриф", + "provider.connect.oauth.code.visit.link": "ин пайванд", + "provider.connect.oauth.code.visit.suffix": + "Барои ҷамъ овардани рамзи иҷозати шумо барои пайваст кардани ҳисоби шумо ва истифода бурдани моделҳои {{provider}} дар OpenCode.", + "provider.connect.oauth.code.label": "{{method}} рамзи иҷозат", + "provider.connect.oauth.code.placeholder": "Рамзи авторизатсия", + "provider.connect.oauth.code.required": "Рамзи авторизатсия лозим аст", + "provider.connect.oauth.code.invalid": "Рамзи иҷозати нодуруст", + "provider.connect.oauth.auto.visit.prefix": "Ташриф", + "provider.connect.oauth.auto.visit.link": "ин пайванд", + "provider.connect.oauth.auto.visit.suffix": + "ва рамзи зерро ворид кунед, то ҳисоби худро пайваст кунед ва моделҳои {{provider}}-ро дар OpenCode истифода баред.", + "provider.connect.oauth.auto.confirmationCode": "Рамзи тасдиқ", + "provider.connect.toast.connected.title": "{{provider}} пайваст", + "provider.connect.toast.connected.description": "{{provider}} моделҳо ҳоло барои истифода дастрасанд.", + "provider.custom.title": "Провайдери фармоишӣ", + "provider.custom.unavailable": "Провайдерҳои фармоишӣ дар ин сервер дастрас нестанд", + "provider.custom.description.prefix": "Провайдери OpenAI-мувофиқро танзим кунед. нигаред", + "provider.custom.description.link": "ҳуҷҷатҳои конфигуратсияи провайдер", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "ID провайдер", + "provider.custom.field.providerID.placeholder": "провайдери ман", + "provider.custom.field.providerID.description": "Ҳарфҳои хурд, рақамҳо, дефис ё зерхат", + "provider.custom.field.name.label": "Бозтоби ном", + "provider.custom.field.name.placeholder": "Провайдери ман AI", + "provider.custom.field.baseURL.label": "Асос URL", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "API калид", + "provider.custom.field.apiKey.placeholder": "API калид", + "provider.custom.field.apiKey.description": + "Ихтиёрӣ. Агар шумо аутентификатсияро тавассути сарлавҳаҳо идора кунед, холӣ гузоред.", + "provider.custom.models.label": "Моделҳо", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "модели ID", + "provider.custom.models.name.label": "Ном", + "provider.custom.models.name.placeholder": "Бозтоби ном", + "provider.custom.models.remove": "Модели хориҷ кунед", + "provider.custom.models.add": "Илова кардани модел", + "provider.custom.headers.label": "Сарлавҳаҳо (ихтиёрӣ)", + "provider.custom.headers.key.label": "Сарлавҳа", + "provider.custom.headers.key.placeholder": "Сарлавҳа - Ном", + "provider.custom.headers.value.label": "Арзиш", + "provider.custom.headers.value.placeholder": "арзиш", + "provider.custom.headers.remove": "Сарлавҳаро хориҷ кунед", + "provider.custom.headers.add": "Иловаи сарлавҳа", + "provider.custom.error.providerID.required": "ID провайдер лозим аст", + "provider.custom.error.providerID.format": "Ҳарфҳои хурд, рақамҳо, дефис ё зерхатро истифода баред", + "provider.custom.error.providerID.exists": "Ин ID провайдер аллакай вуҷуд дорад", + "provider.custom.error.name.required": "Номи намоиш талаб карда мешавад", + "provider.custom.error.baseURL.required": "Базаи URL талаб карда мешавад", + "provider.custom.error.baseURL.format": "Бояд бо http:// ё https:// оғоз шавад", + "provider.custom.error.required": "Талаб карда мешавад", + "provider.custom.error.duplicate": "Дубликат", + "provider.disconnect.toast.disconnected.title": "{{provider}} ҷудо карда шудааст", + "provider.disconnect.toast.disconnected.description": "{{provider}} моделҳо дигар дастрас нестанд.", + "model.tag.free": "Озод", + "model.tag.latest": "Охирин", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "матн", + "model.input.image": "тасвир", + "model.input.audio": "аудио", + "model.input.video": "видео", + "model.input.pdf": "pdf", + "model.tooltip.allows": "Имкон медиҳад: {{inputs}}", + "model.tooltip.context.label": "Контекст", + "model.tooltip.inputs": "Вурудҳо", + "model.tooltip.model": "Модели", + "model.tooltip.provider": "Таъминкунанда", + "model.tooltip.reasoning": "Мулоҳиза", + "model.tooltip.reasoning.allowed": "Ба ақида имкон медиҳад", + "model.tooltip.reasoning.none": "Бе далел", + "model.tooltip.context": "Маҳдудияти контекст {{limit}}", + "common.search.placeholder": "Ҷустуҷӯ", + "common.goBack": "Бозгашт ба ақиб", + "common.goForward": "Ба пеш ҳаракат кунед", + "common.loading": "Бор карда мешавад", + "common.loading.ellipsis": "...", + "common.cancel": "Бекор кардан", + "common.clear": "Тоза", + "common.open": "Кушода", + "common.connect": "Пайваст кунед", + "common.disconnect": "Қатъ кунед", + "common.continue": "Давом додан", + "common.submit": "Пешниҳод кунед", + "common.save": "Захира кунед", + "common.saving": "Захира...", + "common.default": "Пешфарз", + "common.attachment": "замима", + "prompt.placeholder.shell": "Фармони shellро ворид кунед... {{example}}", + "prompt.placeholder.normal": 'Ҳама чизро пурсед... "{{example}}"', + "prompt.placeholder.simple": "Ҳар чизеро пурсед...", + "prompt.placeholder.summarizeComments": "Ҷамъбасти шарҳҳо…", + "prompt.placeholder.summarizeComment": "Ҷамъбасти шарҳ…", + "prompt.mode.shell": "Shell", + "prompt.mode.normal": "Промпт", + "prompt.mode.shell.exit": "esc барои баромадан", + "session.child.promptDisabled": "Сеансҳои субагентро дархост кардан мумкин нест.", + "session.child.backToParent": "Бозгашт ба ҷаласаи асосӣ.", + "prompt.example.1": "TODO-ро дар пойгоҳи код ислоҳ кунед", + "prompt.example.2": "Андозаи техникии ин лоиҳа чӣ гуна аст?", + "prompt.example.3": "Санҷишҳои шикастаро ислоҳ кунед", + "prompt.example.4": "Фаҳмонед, ки аутентификатсия чӣ гуна кор мекунад", + "prompt.example.5": "Заифии амниятро дарёфт ва ислоҳ кунед", + "prompt.example.6": "Санҷишҳои воҳиди хидматрасонии корбарро илова кунед", + "prompt.example.7": "Ин функсияро бозсозӣ кунед, то хондан бештар бошад", + "prompt.example.8": "Ин хато чӣ маъно дорад?", + "prompt.example.9": "Ба ман кӯмак кунед, ки ин масъаларо ислоҳ кунед", + "prompt.example.10": "Ҳуҷҷатҳои API эҷод кунед", + "prompt.example.11": "Оптимизатсияи дархостҳои пойгоҳи додаҳо", + "prompt.example.12": "Иловаи тасдиқи вуруд", + "prompt.example.13": "Эҷоди ҷузъи нав барои...", + "prompt.example.14": "Чӣ тавр ман ин лоиҳаро татбиқ мекунам?", + "prompt.example.15": "Рамзи маро барои таҷрибаҳои беҳтарин аз назар гузаронед", + "prompt.example.16": "Ба ин функсия коркарди хатогиҳоро илова кунед", + "prompt.example.17": "Ин намунаи регексро шарҳ диҳед", + "prompt.example.18": "Инро ба TypeScript табдил диҳед", + "prompt.example.19": "Ба қайдгириро дар тамоми пойгоҳи код илова кунед", + "prompt.example.20": "Кадом вобастагӣ кӯҳна шудаанд?", + "prompt.example.21": "Ба ман дар навиштани скрипти муҳоҷират кӯмак кунед", + "prompt.example.22": "Барои ин нуқтаи ниҳоӣ кэшро иҷро кунед", + "prompt.example.23": "Ба ин рӯйхат саҳифагузорӣ илова кунед", + "prompt.example.24": "Фармони CLI барои...", + "prompt.example.25": "Дар ин ҷо тағирёбандаҳои муҳити зист чӣ гуна кор мекунанд?", + "prompt.popover.emptyResults": "Натоиҷи мувофиқ нест", + "prompt.popover.emptyCommands": "Фармонҳои мувофиқ нест", + "prompt.dropzone.label": "Тасвирҳо, PDFс ё файлҳои матниро дар ин ҷо гузоред", + "prompt.dropzone.file.label": "Ба файли @mention гузоред", + "prompt.slash.badge.custom": "одат", + "prompt.slash.badge.skill": "махорат", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "фаъол", + "prompt.context.includeActiveFile": "Файли фаъолро дохил кунед", + "prompt.context.removeActiveFile": "Файли фаъолро аз контекст хориҷ кунед", + "prompt.context.removeFile": "Файлро аз контекст хориҷ кунед", + "prompt.action.attachFile": "Илова кардани файлҳо", + "prompt.menu.addImagesAndFiles": "Илова кардани файлҳо ва ғайра", + "prompt.menu.imagesAndFiles": "Тасвирҳо ва файлҳо", + "prompt.menu.commands": "Фармонҳо", + "prompt.menu.context": "Контекст", + "prompt.menu.shellCommand": "Shell фармон", + "prompt.attachment.remove": "Замимаро хориҷ кунед", + "prompt.action.send": "Фиристодан", + "prompt.action.stop": "Ист", + "prompt.toast.pasteUnsupported.title": "Замимаи дастгирӣнашаванда", + "prompt.toast.pasteUnsupported.description": + "Дар ин ҷо танҳо тасвирҳо, PDFс ё файлҳои матнӣ замима кардан мумкин аст.", + "prompt.toast.attachmentDuplicate.title": "Ин файл аллакай бор карда шудааст", + "prompt.toast.modelAgentRequired.title": "Агент ва моделро интихоб кунед", + "prompt.toast.modelAgentRequired.description": "Пеш аз фиристодани промпт агент ва моделро интихоб кунед.", + "prompt.toast.worktreeCreateFailed.title": "Эҷоди Git worktree муяссар нашуд", + "prompt.toast.sessionCreateFailed.title": "Эҷоди сессия натавонист", + "prompt.toast.shellSendFailed.title": "Фармони shell фиристода нашуд", + "prompt.toast.commandSendFailed.title": "Фармон фиристода нашуд", + "prompt.toast.promptSendFailed.title": "Ирсоли промпт муяссар нашуд", + "prompt.toast.promptSendFailed.description": "Сеансро дарёфт кардан ғайриимкон аст", + "dialog.mcp.title": "MCPс", + "dialog.mcp.description": "{{enabled}} аз {{total}} фаъол", + "dialog.mcp.empty": "Ягон MCP танзим карда нашудааст", + "dialog.lsp.empty": "LSPs аз намуди файлҳо худкор муайян карда мешавад", + "dialog.plugins.empty": "Плагинҳо дар opencode.json танзим карда шудаанд", + "mcp.status.connected": "пайваст", + "mcp.status.failed": "ноком шуд", + "mcp.status.needs_auth": "аутент лозим аст", + "mcp.status.disabled": "маъюб", + "mcp.auth.clickToAuthenticate": "Барои тасдиқ кардан клик кунед", + "dialog.fork.empty": "Паёме барои сохтани шоха нест", + "dialog.directory.search.placeholder": "Ҷустуҷӯи ҷузвдонҳо", + "dialog.directory.empty": "Ягон папка ёфт нашуд", + "dialog.directory.action.selectFile": "Файлро интихоб кунед", + "dialog.directory.action.selectFolder": "Папкаро интихоб кунед", + "dialog.directory.root": "Реша", + "dialog.directory.parent": "Падару модар", + "dialog.directory.readError": "Ин ҷузвдонро хондан ғайриимкон аст", + "app.server.unreachable": "Ба {{server}} расида натавонистам", + "app.server.retrying": "Кӯшиши худкор...", + "app.server.otherServers": "Дигар серверҳо", + "dialog.server.title": "Серверҳо", + "dialog.server.description": "Гузариш кунед, ки ин барнома ба кадом сервери OpenCode пайваст мешавад.", + "dialog.server.search.placeholder": "Ҷустуҷӯи серверҳо", + "dialog.server.empty": "Ҳанӯз сервер нест", + "dialog.server.add.title": "Илова кардани сервер", + "dialog.server.add.url": "Суроғаи сервер", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "Ба сервер пайваст шуда натавонист", + "dialog.server.add.checking": "Санҷиш...", + "dialog.server.add.button": "Илова кардани сервер", + "dialog.server.add.name": "Номи сервер (ихтиёрӣ)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "Номи корбар (ихтиёрӣ)", + "dialog.server.add.usernamePlaceholder": "номи корбар", + "dialog.server.add.password": "Рамз (ихтиёрӣ)", + "dialog.server.add.passwordPlaceholder": "парол", + "dialog.server.edit.title": "Серверро таҳрир кунед", + "dialog.server.default.title": "Сервери пешфарз", + "dialog.server.default.description": + "Ба ҷои оғози сервери маҳаллӣ ҳангоми оғози барнома ба ин сервер пайваст шавед. Аз нав оғоз карданро талаб мекунад.", + "dialog.server.default.none": "Ягон сервер интихоб нашудааст", + "dialog.server.default.set": "Сервери ҷорӣро ҳамчун пешфарз таъин кунед", + "dialog.server.default.clear": "Тоза", + "dialog.server.action.remove": "Серверро нест кунед", + "dialog.server.menu.edit": "Таҳрир", + "dialog.server.menu.default": "Ҳамчун пешфарз таъин кунед", + "dialog.server.menu.defaultRemove": "Пешфарзро хориҷ кунед", + "dialog.server.menu.delete": "Нобуд кунед", + "dialog.server.current": "Сервери ҷорӣ", + "dialog.server.status.default": "Пешфарз", + "wsl.server.add": "Илова кардани сервер WSL", + "wsl.server.addShort": "Илова кардан WSL", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "WSL сервер", + "wsl.server.retryStart": "Оғози дубора кӯшиш кунед", + "wsl.server.updating": "Навсозӣ...", + "wsl.onboarding.step.distro": "Дистро интихоб кунед", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "Санҷиш WSL...", + "wsl.onboarding.restartRequired": "Windows барои анҷом додани насби WSL аз нав оғоз кардан лозим аст.", + "wsl.onboarding.ready": "WSL тайёр аст.", + "wsl.onboarding.required": "WSL давом додан лозим аст.", + "wsl.onboarding.checkingDistros": "Санҷиши дистрибюторҳо...", + "wsl.onboarding.installingDistro": "Насб карда мешавад {{distro}}...", + "wsl.onboarding.checkingDistro": "Санҷиш {{distro}}...", + "wsl.onboarding.listingDistros": "Рӯйхати дистрибюсияҳо...", + "wsl.onboarding.distroReady": "{{distro}} тайёр аст.", + "wsl.onboarding.distroNotInstalled": "{{distro}} хануз насб карда нашудааст.", + "wsl.onboarding.openDistroOnce": "Барои анҷом додани танзим {{distro}} -ро як маротиба кушоед.", + "wsl.onboarding.finishingDistro": "Анҷоми насб барои {{distro}}.", + "wsl.onboarding.pickDistro": "Дистро-ро интихоб кунед ё якеро дар зер насб кунед.", + "wsl.onboarding.checkingOpencode": "Санҷиш OpenCode...", + "wsl.onboarding.checkingOpencodeIn": "Санҷиш OpenCode дар {{distro}}...", + "wsl.onboarding.updatingOpencode": "Навсозӣ OpenCode...", + "wsl.onboarding.updatingOpencodeIn": "Навсозии OpenCode дар {{distro}}...", + "wsl.onboarding.updateOpencodeIn": "Навсозии OpenCode дар {{distro}}.", + "wsl.onboarding.updateOpencode": "Навсозӣ OpenCode", + "wsl.onboarding.opencodeReadyIn": "OpenCode дар {{distro}} тайёр аст.", + "wsl.onboarding.opencodeReady": "OpenCode тайёр аст.", + "wsl.onboarding.installOpencodeIn": "OpenCode дар {{distro}} насб кунед.", + "wsl.onboarding.installOpencode": "Насб кунед OpenCode", + "wsl.onboarding.chooseDistroFirst": "Аввал як дистрибюторро интихоб кунед.", + "wsl.onboarding.loadFailed": "Ҳолати WSL бор карда нашуд.", + "wsl.onboarding.loading": "Бор шуда истодааст...", + "wsl.onboarding.installedDistros": "Дистроҳои насбшуда", + "wsl.onboarding.checkAgain": "Боз санҷед", + "wsl.onboarding.distroStatus.ready": "Тайёр", + "wsl.onboarding.distroStatus.checking": "Санҷиш...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode насб нашудааст", + "wsl.onboarding.distroStatus.missingTools": "Бедарак bash, curl", + "wsl.onboarding.distroStatus.unsupported": "Дастгирнашаванда · Истифода WSL 2", + "wsl.onboarding.needAnotherDistro": "Дистрои дигар лозим аст?", + "wsl.onboarding.needAnotherDistroHint": "Аз каталоги WSL тақсимоти Linux насб кунед", + "wsl.onboarding.wslNotInstalled.title": "WSL насб нашудааст", + "wsl.onboarding.wslNotInstalled.description": + "WSL (Windows Subsystem for Linux) лозим аст, то OpenCode сервери WSL илова карда шавад", + "wsl.onboarding.wslUnavailable.title": "WSL дастрас нест", + "wsl.onboarding.wslUnavailable.description": "OpenCode WSL-ро дар ин мошин тафтиш карда натавонист.", + "wsl.onboarding.installWsl": "Насб кунед WSL", + "wsl.onboarding.windowsRestartRequired": + "Барои анҷом додани насби WSL Windows-ро аз нав оғоз кунед, сипас OpenCode-ро боз кунед.", + "wsl.onboarding.next": "Баъдӣ", + "wsl.onboarding.refresh": "Навсозӣ", + "wsl.onboarding.allDistrosAdded": "Ҳама дистрибюторҳои насбшуда аллакай илова карда шудаанд.", + "wsl.onboarding.noDistros": "То ҳол ягон паҳнкунӣ ошкор нашудааст.", + "wsl.onboarding.install": "Насб кунед", + "wsl.onboarding.installing": "Насб карда мешавад...", + "wsl.onboarding.installDistro": "Дистро насб кунед", + "wsl.onboarding.searchDistros": "Ҷустуҷӯи дистрибюторҳо", + "wsl.onboarding.wsl2Required": "WSL 2 лозим аст.", + "wsl.onboarding.toolsRequired": "Ин дистро лозим аст bash ва curl.", + "wsl.onboarding.openTerminal": "Терминали кушода", + "wsl.onboarding.path": "Роҳ: {{path}}", + "wsl.onboarding.notFound": "дарёфт нашуд", + "wsl.onboarding.version": "Версия: {{version}}", + "wsl.onboarding.unknown": "номаълум", + "wsl.onboarding.desktopVersion": "мизи корӣ {{version}}", + "wsl.onboarding.versionMismatch": "Версияи насбшуда ба версияи барномаи мизи корӣ мувофиқат намекунад.", + "wsl.onboarding.adding": "Илова кардан...", + "help.tabs.toast.ariaLabel": "Муаррифии ҷадвалҳо. Кор ва ҷаласаҳои фаъоли худро бо ҷадвалҳо ташкил кунед", + "help.tabs.toast.dismiss": "Бекор кардани маълумоти ҷадвалҳо", + "help.tabs.title": "Муаррифии ҷадвалҳо", + "help.tabs.description": "Кор ва ҷаласаҳои фаъоли худро бо ҷадвалҳо ташкил кунед", + "help.tabs.date": "14 июл", + "help.tabs.introduction": "OpenCode Desktop ҳоло дар атрофи ҷадвалҳо сохта шудааст.", + "help.tabs.sessions": + "Сеанси навро дар ҷадвал оғоз кунед ё сеанси мавҷударо аз ягон лоиҳаи худ кушоед. Вақте ки шумо ягон чизи навро оғоз мекунед, ҷадвали нав кушоед ва пас аз анҷоми он онро пӯшед.", + "help.tabs.organize": + "Кушодани якчанд ҷадвалҳо ташкили ҷаласаҳои фаъоли шуморо осонтар мекунад. Номи ҷадвалҳоро ба чизи фаромӯшнашаванда тағир диҳед, агар шумо ният доред, ки онҳоро дар гирду атроф нигоҳ доред.", + "help.tabs.home": + "Шумо тамоми сессияҳо ва лоиҳаҳои худро дар экрани нави асосӣ пайдо мекунед. Интихоби сессия онро дар ҷадвал мекушояд.", + "help.tabs.persistence": "Вақте ки шумо барномаро аз нав мекушоед, ҷадвалҳои шумо ҳанӯз кушода мешаванд.", + "help.tabs.worktrees": + "Тарҳи нав то ҳол Git Worktrees-ро дастгирӣ намекунад, он ба зудӣ меояд. Пас, агар шумо хоҳед, ки истифодаи тарҳи қаблиро идома диҳед, шумо метавонед дар Танзимот байни тарҳҳо гузаред. Танҳо дар хотир доред, ки тарҳи нав пас аз чанд ҳафта доимӣ хоҳад шуд.", + "server.row.noUsername": "номи корбар нест", + "dialog.project.edit.title": "Таҳрири лоиҳа", + "dialog.project.edit.name": "Ном", + "dialog.project.edit.icon": "Нишона", + "dialog.project.edit.icon.alt": "Нишонаи лоиҳа", + "dialog.project.edit.icon.hint": "Тасвирро клик кунед ё кашола кунед", + "dialog.project.edit.icon.recommended": "Тавсия дода мешавад: 128x128px", + "dialog.project.edit.color": "Ранги", + "dialog.project.edit.color.select": "Ранги {{color}}-ро интихоб кунед", + "dialog.project.edit.worktree.startup": "Скрипти оғозёбии фазои корӣ", + "dialog.project.edit.worktree.startup.description": "Пас аз эҷоди фазои нави корӣ (Git worktree) иҷро мешавад.", + "dialog.project.edit.worktree.startup.placeholder": "масалан. bun install", + "dialog.releaseNotes.action.getStarted": "Оғоз кунед", + "dialog.releaseNotes.action.next": "Баъдӣ", + "dialog.releaseNotes.action.hideFuture": "Инҳоро дар оянда нишон надиҳед", + "dialog.releaseNotes.media.alt": "Намоиши пешнамоиш", + "context.breakdown.title": "Тақсими контекст", + "context.breakdown.note": + 'Тақрибан тақсимоти аломатҳои воридотӣ. "Дигар" таърифҳои асбобҳо ва хароҷотро дар бар мегирад.', + "context.breakdown.system": "Система", + "context.breakdown.user": "Истифодабаранда", + "context.breakdown.assistant": "Ёрдамчӣ", + "context.breakdown.tool": "Зангҳои асбоб", + "context.breakdown.other": "Дигар", + "context.systemPrompt.title": "Промпти система", + "context.rawMessages.title": "Паёмҳои хом", + "context.export.session": "Сеанси содирот", + "context.stats.session": "Сессия", + "context.stats.messages": "Паёмҳо", + "context.stats.provider": "Таъминкунанда", + "context.stats.model": "Модели", + "context.stats.limit": "Маҳдудияти контекст", + "context.stats.totalTokens": "Токенҳои умумӣ", + "context.stats.usage": "Истифода", + "context.stats.inputTokens": "Токенҳои воридотӣ", + "context.stats.outputTokens": "Токенҳои баромад", + "context.stats.reasoningTokens": "Нишонаҳои мулоҳиза", + "context.stats.cacheTokens": "Токенҳои кэш (хондан/навиштан)", + "context.stats.userMessages": "Паёмҳои корбар", + "context.stats.assistantMessages": "Паёмҳои ассистент", + "context.stats.totalCost": "Арзиши умумӣ", + "context.stats.sessionCreated": "Сессия сохта шуд", + "context.stats.lastActivity": "Фаъолияти охирин", + "context.usage.tokens": "Токенҳо", + "context.usage.usage": "Истифода", + "context.usage.cost": "Арзиш", + "context.usage.clickToView": "Барои дидани контекст клик кунед", + "context.usage.view": "Истифодаи контекстро бинед", + "language.en": "англисӣ", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Германия", + "language.es": "Испания", + "language.fr": "Фаронса", + "language.da": "Данск", + "language.ja": "日本語", + "language.pl": "Польски", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Норск", + "language.br": "Português (Бразилия)", + "language.bs": "Босански", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Türkçe", + "toast.language.title": "Забон", + "toast.language.description": "Гузариш ба {{language}}", + "toast.theme.title": "Мавзӯъ иваз карда шуд", + "toast.scheme.title": "Схемаи ранг", + "toast.workspace.enabled.title": "Ҷойҳои корӣ фаъол карда шуданд", + "toast.workspace.enabled.description": "Ҳоло дар панели паҳлӯ якчанд Git worktree нишон дода шудаанд", + "toast.workspace.disabled.title": "Ҷойҳои корӣ ғайрифаъол", + "toast.workspace.disabled.description": "Дар панели паҳлӯ танҳо Git worktree-и асосӣ нишон дода мешавад", + "toast.permissions.autoaccept.on.title": "Қабули худкор иҷозатҳо", + "toast.permissions.autoaccept.on.description": "Дархостҳои иҷозат ба таври худкор тасдиқ карда мешаванд", + "toast.permissions.autoaccept.off.title": "Қабули худкори иҷозатҳоро қатъ кард", + "toast.permissions.autoaccept.off.description": "Дархостҳои иҷозат тасдиқро талаб мекунанд", + "toast.model.none.title": "Ягон модел интихоб нашудааст", + "toast.model.none.description": "Барои ҷамъбасти ин сессия провайдерро пайваст кунед", + "toast.file.loadFailed.title": "Файлро бор карда натавонист", + "toast.file.listFailed.title": "Рӯйхати файлҳо муяссар нашуд", + "toast.context.noLineSelection.title": "Интихоби сатр нест", + "toast.context.noLineSelection.description": "Аввал дар ҷадвали файл диапазони сатрро интихоб кунед.", + "toast.session.share.copyFailed.title": "URL ба буфер нусхабардорӣ карда нашуд", + "toast.session.share.success.title": "Сеанс муштарак", + "toast.session.share.success.description": "Мубодилаи URL ба буфер нусхабардорӣ карда шуд!", + "toast.session.share.failed.title": "Мубодилаи сеанс", + "toast.session.share.failed.description": "Ҳангоми мубодилаи сессия хатогӣ рух дод", + "toast.session.unshare.success.title": "Сеанс тақсим нашудааст", + "toast.session.unshare.success.description": "Сеанс бо муваффақият ҷудо карда шуд!", + "toast.session.unshare.failed.title": "Сеансро ҷудо кардан натавонист", + "toast.session.unshare.failed.description": "Ҳангоми ҷудо кардани сеанс хатогӣ рух дод", + "toast.session.export.success.title": "Сеанс содир карда шуд", + "toast.session.export.success.description": "Сеанс ба {{filename}} захира карда шуд", + "toast.session.export.failed.title": "Сеанс содир карда нашуд", + "toast.session.export.failed.description": "Ҳангоми содироти сессия хатогӣ рӯй дод", + "toast.session.listFailed.title": "Сеансҳо барои {{project}} бор карда нашуд", + "toast.project.reloadFailed.title": "Аз нав бор кардан муяссар нашуд {{project}}", + "toast.update.title": "Навсозии дастрас", + "toast.update.description": "Версияи нави OpenCode ({{version}}) ҳоло барои насб дастрас аст.", + "toast.update.action.installRestart": "Насб кунед ва аз нав оғоз кунед", + "toast.update.action.notYet": "Ҳанӯз не", + "error.page.title": "Чизе хато рафт", + "error.page.description": "Ҳангоми боркунии барнома хатогӣ рӯй дод.", + "error.page.description.localServerStartup": "Ҳангоми оғоз кардани сервери маҳаллӣ хатогӣ рӯй дод.", + "error.page.details.label": "Тафсилоти хато", + "error.page.action.restart": "Оғози дубора", + "error.page.action.report": "Гузориши хато", + "error.page.action.reported": "Хатогӣ гузориш дода шуд", + "error.page.action.exportLogs": "Содироти гузоришҳо", + "error.page.action.checking": "Санҷиш...", + "error.page.action.checkUpdates": "Барои навсозиҳо санҷед", + "error.page.action.updateTo": "Навсозӣ ба {{version}}", + "error.page.circular": "[Даврача]", + "error.page.report.prefix": "Лутфан дар бораи ин хато ба дастаи OpenCode хабар диҳед", + "error.page.report.discord": "дар Discord", + "error.page.version": "Версия: {{version}}", + "error.dev.rootNotFound": + "Элементи решавӣ ёфт нашуд. Оё шумо онро ба index.html илова карданро фаромӯш кардаед? Ё шояд атрибути id хато навишта шудааст?", + "error.serverSync.connectFailed": "Ба сервер пайваст шуда натавонист. Оё сервере дар `{{url}}` кор мекунад?", + "error.serverSDK.noServerAvailable": "Ҳеҷ сервер дастрас нест", + "error.serverSDK.serverNotAvailable": "Сервер дастрас нест", + "error.childStore.persistedCacheCreateFailed": "Эҷоди кэши доимӣ муяссар нашуд", + "error.childStore.persistedProjectMetadataCreateFailed": "Эҷоди метамаълумоти доимии лоиҳа натавонист", + "error.childStore.persistedProjectIconCreateFailed": "Эҷоди нишонаи лоиҳаи доимӣ ноком шуд", + "error.childStore.storeCreateFailed": "Эҷоди мағоза ноком шуд", + "directory.error.invalidUrl": "Феҳристи нодуруст дар URL.", + "error.chain.unknown": "Хатогии номаълум", + "error.server.invalidConfiguration": "Конфигуратсияи нодуруст", + "error.chain.causedBy": "Бо сабаби:", + "error.chain.apiError": "API хато", + "error.chain.status": "Статус: {{status}}", + "error.chain.retryable": "Кӯшиши такрорӣ: {{retryable}}", + "error.chain.responseBody": "Мақомоти вокуниш:\n{{body}}", + "error.chain.didYouMean": "Оё шумо дар назар доштед: {{suggestions}}", + "error.chain.modelNotFound": "Модели ёфт нашуд: {{provider}}/{{model}}", + "error.chain.checkConfig": "Номҳои провайдери конфигуратсияи худро (opencode.json) санҷед", + "error.chain.mcpFailed": + 'MCP сервери "{{name}}" ноком шуд. Дар хотир доред, ки OpenCode тасдиқи MCP-ро ҳанӯз дастгирӣ намекунад.', + "error.chain.providerAuthFailed": "Аутентификатсияи провайдер ноком шуд ({{provider}}): {{message}}", + "error.chain.providerInitFailed": 'Провайдери "{{provider}}" оғоз карда нашуд. Санҷиши эътимоднома ва конфигуратсия.', + "error.chain.configJsonInvalid": "Файли танзимот дар {{path}} эътибор надорад JSON(C)", + "error.chain.configJsonInvalidWithMessage": "Файли танзимот дар {{path}} эътибор надорад JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + 'Феҳристи "{{dir}}" дар {{path}} эътибор надорад. Номи директорияро ба "{{suggestion}}" иваз кунед ё онро хориҷ кунед. Ин як хатои маъмул аст.', + "error.chain.configFrontmatterError": "frontmatter дар {{path}} таҳлил карда нашуд:\n{{message}}", + "error.chain.configInvalid": "Файли танзимот дар {{path}} нодуруст аст", + "error.chain.configInvalidWithMessage": "Файли танзимот дар {{path}} нодуруст аст: {{message}}", + "notification.permission.title": "Иҷозат талаб карда мешавад", + "notification.permission.description": "{{sessionTitle}} дар {{projectName}} ичозат лозим аст", + "notification.question.title": "Савол", + "notification.question.description": "{{sessionTitle}} дар {{projectName}} савол дорад", + "notification.action.goToSession": "Ба сессия равед", + "notification.session.responseReady.title": "Ҷавоб омода", + "notification.session.error.title": "Хатогии сессия", + "notification.session.error.fallbackDescription": "Хатогӣ рӯй дод", + "home.recentProjects": "Лоиҳаҳои охирин", + "home.empty.title": "Лоиҳаҳои охирин нест", + "home.empty.description": "Бо кушодани лоиҳаи маҳаллӣ оғоз кунед", + "home.title": "Хона", + "home.projects": "Лоиҳаҳо", + "home.project.add": "Илова кардани лоиҳа", + "home.recentlyClosed": "Ба наздикӣ баста", + "home.server.collapse": "Лоиҳаҳои серверро вайрон кунед", + "home.server.expand": "Лоиҳаҳои серверро васеъ кунед", + "home.sessions.search.placeholder": "Сеансҳои ҷустуҷӯ", + "home.sessions.search.placeholder.scoped": "Ҷустуҷӯи сессияҳо дар {{scope}}", + "home.sessions.search.sessions": "Сеансхо", + "home.sessions.search.noResults": "Ягон сессия барои {{query}} ёфт нашуд", + "home.sessions.empty": "Дар ин ҷо ҳанӯз чизе нест", + "home.sessions.empty.description": "Барои оғоз кардани сессия сессия эҷод кунед", + "home.sessions.group.today": "Имруз", + "home.sessions.group.yesterday": "Дируз", + "home.sessions.group.older": "калонсолтар", + "home.providerTip": + "Барои истифодаи моделҳои дигар, аз ҷумла Claude, GPT, Gemini ва ғайра ба 75+ провайдерҳо пайваст шавед", + "session.tab.session": "Сессия", + "session.tab.review": "Барраси", + "session.tab.context": "Контекст", + "session.tab.unknown": "Сеанси номаълум", + "session.panel.reviewAndFiles": "Барраси ва файлҳо", + "session.error.notFound": "Ин сессияро ёфтан мумкин нест", + "session.error.notFound.description": "Ин ҷадвал ба сессияе ишора мекунад, ки дигар дар ин сервер вуҷуд надорад.", + "session.error.notFound.closeTab": "Варақаро пӯшед", + "session.error.serverConnection": "Ба ин сервер пайваст шудан мумкин нест", + "session.review.filesChanged": "Файлҳо тағир дода шуданд {{count}}", + "session.review.change.one": "Тағйир", + "session.review.change.other": "Тағйирот", + "session.review.loadingChanges": "Тағйирот бор карда мешавад...", + "session.review.empty": "Дар ин иҷлосия ҳанӯз тағирот нест", + "session.review.noVcs": "Не Git Системаи Идоракунии Версия ошкор нашудааст, тағирот нишон дода нашудааст", + "session.review.noVcs.createGit.title": "Анбори Git эҷод кунед", + "session.review.noVcs.createGit.description": "Тағиротро дар ин лоиҳа пайгирӣ кунед, баррасӣ кунед ва бекор кунед", + "session.review.noVcs.createGit.actionLoading": "Эҷоди Git анбор...", + "session.review.noVcs.createGit.action": "Эҷоди Git репозиторий", + "session.review.noSnapshot": + "Дар конфигуратсия пайгирии аксҳо ғайрифаъол аст, аз ин рӯ тағиротҳои сессия дастрас нестанд", + "session.review.noChanges": "Тағйирот нест", + "session.review.noUncommittedChanges": "Ҳанӯз ягон тағйироти беэътиборнашуда", + "session.review.noBranchChanges": "То ҳол ягон филиал тағир наёфтааст", + "session.files.selectToOpen": "Барои кушодан файлеро интихоб кунед", + "session.files.all": "Ҳама файлҳо", + "session.files.empty": "Файл нест", + "session.files.binaryContent": "Файли дуӣ (мӯҳтаво намоиш дода намешавад)", + "session.messages.renderEarlier": "Паёмҳои қаблиро пешниҳод кунед", + "session.messages.loadingEarlier": "Боркунии паёмҳои қаблӣ...", + "session.messages.loadEarlier": "Паёмҳои қаблиро бор кунед", + "session.messages.loading": "Паёмҳо бор карда мешаванд...", + "session.messages.jumpToLatest": "Ба охирин гузаред", + "session.context.addToContext": "Ба контекст {{selection}} илова кунед", + "session.todo.title": "Тодос", + "session.todo.collapse": "Фурӯпошӣ", + "session.todo.expand": "Васеъ кунед", + "session.todo.progress": "{{done}} аз {{total}} тодо анчом ёфт", + "session.question.progress": "{{current}} аз {{total}} саволҳо", + "session.question.minimize": "Саволро кам кунед", + "session.question.restore": "Саволро барқарор кунед", + "session.question.pending.one": "{{count}} саволи интизорӣ", + "session.question.pending.other": "{{count}} саволҳои интизорӣ", + "session.followupDock.summary.one": "{{count}} паёми навбатӣ", + "session.followupDock.summary.other": "{{count}} паёмҳои навбатӣ", + "session.followupDock.sendNow": "Ҳоло фиристед", + "session.followupDock.edit": "Таҳрир", + "session.followupDock.collapse": "Паёмҳои навбатдорро қатъ кунед", + "session.followupDock.expand": "Паёмҳои навбатдорро васеъ кунед", + "session.revertDock.summary.one": "{{count}} Паём баргашт", + "session.revertDock.summary.other": "{{count}} паёмҳоро баргардонд", + "session.revertDock.collapse": "Паёмҳои баргардонидашуда", + "session.revertDock.expand": "Паёмҳои баргардонидашударо васеъ кунед", + "session.revertDock.restore": "Барқарор кардани паём", + "session.new.title": "Ҳар чизеро созед", + "session.new.project.new": "Лоиҳаи нав", + "session.new.project.search": "Ҷустуҷӯи лоиҳаҳо", + "session.new.project.add": "Илова кардани лоиҳа", + "session.new.worktree.main": "Филиали асосӣ", + "session.new.worktree.mainWithBranch": "Филиали асосӣ ({{branch}})", + "session.new.worktree.create": "Git worktree-и нав эҷод кунед", + "session.new.workspace.runIn": "Иҷлосия дар", + "session.new.workspace.triggerLocal": "маҳаллӣ", + "session.new.workspace.local": "Анбори маҳаллӣ", + "session.new.workspace.existing": "Фазои корӣ…", + "session.new.git.none": "Не Git", + "session.new.lastModified": "Охирин тағир дода шудааст", + "session.header.search.placeholder": "Ҷустуҷӯ {{project}}", + "session.header.searchFiles": "Ҷустуҷӯи файлҳо", + "session.header.openIn": "Кушодан дар", + "session.header.open.action": "Кушодан {{app}}", + "session.header.open.ariaLabel": "Кушодан дар {{app}}", + "session.header.open.menu": "Вариантҳоро кушоед", + "session.header.open.copyPath": "Роҳи нусхабардорӣ", + "session.header.open.finder": "Ҷустуҷӯ", + "session.header.open.fileExplorer": "Роҳбалади файлҳо", + "session.header.open.fileManager": "Мудири файлҳо", + "session.header.reveal.finder": "Дар Finder ошкор кунед", + "session.header.reveal.fileExplorer": "Дар File Explorer ошкор кунед", + "session.header.reveal.containingFolder": "Папкаи дорои ҷузвдонро кушоед", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Терминал", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "Статус", + "status.popover.ariaLabel": "Конфигуратсияҳои сервер", + "status.popover.tab.servers": "Серверҳо", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "Плагинҳо", + "status.popover.action.manageServers": "Серверҳоро идора кунед", + "session.share.popover.title": "Дар веб нашр кунед", + "session.share.popover.description.shared": "Ин ҷаласа дар веб оммавӣ аст. Он барои ҳама бо истинод дастрас аст.", + "session.share.popover.description.unshared": + "Сеансро дар интернет ба таври оммавӣ мубодила кунед. Он барои ҳар касе, ки пайванд дорад, дастрас хоҳад буд.", + "session.share.action.share": "Мубодила", + "session.share.action.publish": "Нашр кунед", + "session.share.action.publishing": "Интишор...", + "session.share.action.unpublish": "Нашр кардан", + "session.share.action.unpublishing": "Нашр карда мешавад...", + "session.share.action.view": "Намоиш", + "session.share.copy.copied": "Нусхабардорӣ", + "session.share.copy.copyLink": "Истиноди нусхабардорӣ", + "lsp.tooltip.none": "Не LSP сервер", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "Промпт бор шуда истодааст...", + "terminal.loading": "Терминал бор карда мешавад...", + "terminal.title": "Терминал", + "terminal.title.numbered": "Терминал {{number}}", + "terminal.close": "Терминалро пӯшед", + "terminal.connectionLost.title": "Пайвастшавӣ гум шуд", + "terminal.connectionLost.abnormalClose": "WebSocket ғайримуқаррарӣ баста шуд: {{code}}", + "terminal.connectionLost.description": + "Пайвасти терминал қатъ шуд. Ин метавонад ҳангоми аз нав оғоз шудани сервер рӯй диҳад.", + "terminal.connectTicket.csrfError": + "PTY пайвастшавӣ чиптаи аз рӯи пайдоиш рад ё CSRF чек. Танзимоти сервер CORS-ро санҷед.", + "terminal.connectTicket.statusError": "PTY чиптаи пайвастшавӣ бо {{status}} ноком шуд", + "titlebar.update": "Навсозӣ", + "titlebar.updateVersion": "Навсозӣ {{version}}", + "common.closeTab": "Варақаро пӯшед", + "common.dismiss": "Рад кардан", + "common.moreCountSuffix": "(+{{count}} бештар)", + "common.requestFailed": "Дархост иҷро нашуд", + "common.moreOptions": "Имконоти бештар", + "common.learnMore": "Бисёр омӯхтан", + "common.rename": "Номи дигар", + "common.export": "Содирот", + "common.reset": "Бозсозӣ", + "common.archive": "Архив", + "common.delete": "Нобуд кунед", + "common.close": "Пӯшед", + "common.edit": "Таҳрир", + "common.loadMore": "Бештар бор кунед", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "номаълум", + "common.time.justNow": "Ҳамин ҳоло", + "common.time.minutesAgo.short": "{{count}}дакика пеш", + "common.time.hoursAgo.short": "{{count}}соат пеш", + "common.time.daysAgo.short": "{{count}}д пеш", + "sidebar.menu.toggle": "Менюи гузариш", + "sidebar.nav.projectsAndSessions": "Лоиҳаҳо ва ҷаласаҳо", + "sidebar.settings": "Танзимотҳо", + "sidebar.help": "Кӯмак", + "sidebar.workspaces.enable": "Фазои кории фаъолро фаъол созед", + "sidebar.workspaces.disable": "Ҷойҳои кории худро ғайрифаъол кунед", + "sidebar.gettingStarted.title": "Сар кардани кор", + "sidebar.gettingStarted.line1": "OpenCode моделҳои ройгонро дар бар мегирад, то шумо метавонед фавран оғоз кунед.", + "sidebar.gettingStarted.line2": + "Ҳар як провайдерро барои истифодаи моделҳо пайваст кунед, Inc. Claude, GPT, Gemini ва гайра.", + "sidebar.project.recentSessions": "Сеансхои охирин", + "sidebar.project.viewAllSessions": "Ҳама сессияҳоро бинед", + "sidebar.project.clearNotifications": "Огоҳиҳоро тоза кунед", + "sidebar.empty.title": "Ягон лоиҳа кушода нест", + "sidebar.empty.description": "Барои оғоз кардани лоиҳа лоиҳа кушоед", + "debugBar.ariaLabel": "Ташхиси самаранокии рушд", + "debugBar.na": "не", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "Гузариши охирини хатсайри анҷомёфта ба саҳифаи сеанс, аз оғози роутер то рангкунии аввал пас аз ҳал шудани он чен карда мешавад.", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "Гузаронидани кадрҳо дар як сония дар 5 сонияи охир.", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "Бадтарин вақти чаҳорчӯба дар 5 сонияи охир.", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "Чорчубахо зиёда аз 32ms дар 5 сонияи охир.", + "debugBar.long.label": "LONG", + "debugBar.long.tip": + "Вақти басташуда ва ҳисоб кардани вазифаҳои тӯлонӣ дар 5 сонияи охир. Вазифаи максималӣ: {{max}}.", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "Бадтарин таъхири вуруд дар 5 сонияи охир.", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": "Давомнокии тахминии ҳамкорӣ дар 5 сонияи охир. Ин ба INP монанд аст, на ба Web Vitals INP.", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "Тағйирёбии тарҳбандии маҷмӯӣ барои умри замимаи ҷорӣ.", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "Тӯдаи истифодашудаи JS против маҳдудияти теппа. танҳо Chromium.", + "debugBar.mem.tip": "Тӯдаи истифодашудаи JS против маҳдудияти теппа. {{used}} аз {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Сабкҳои фокусро ба ҳама унсурҳои интерактивӣ маҷбур кунед", + "debugBar.focus.on": "ДАР БОРАИ", + "debugBar.focus.off": "ХОМӮШ", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Бе тағир додани забони интихобшуда самти тарҳбандии пурраи барномаро маҷбур кунед", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode Desktop", + "settings.section.desktop": "Мизи корӣ", + "settings.section.server": "Сервер", + "settings.tab.general": "Генерал", + "settings.tab.shortcuts": "Миёнабурҳо", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "WSL интеграция", + "settings.desktop.wsl.description": "Сервери OpenCode-ро дар WSL дар Windows иҷро кунед.", + "settings.general.section.appearance": "Намуди зоҳирӣ", + "settings.general.section.advanced": "Мукаммал", + "settings.general.section.notifications": "Огоҳиҳои система", + "settings.general.section.updates": "Навсозиҳо", + "settings.general.section.sounds": "Таъсири садо", + "settings.general.section.feed": "Ғизо", + "settings.general.section.display": "Намоиш", + "settings.general.row.language.title": "Забон", + "settings.general.row.language.description": "Забони намоишро барои OpenCode иваз кунед", + "settings.general.row.shell.title": "Терминал shell", + "settings.general.row.shell.description": "Shell воситаи терминал ва агент истифода мешавад", + "settings.general.row.shell.autoDefault": "Авто (Пешфарз)", + "settings.general.row.shell.terminalOnly": "танҳо терминал", + "settings.general.row.appearance.title": "Намуди зоҳирӣ", + "settings.general.row.appearance.description": + "Фармоиш диҳед, ки чӣ гуна OpenCode дар дастгоҳи шумо намуди зоҳирӣ дорад", + "settings.general.row.colorScheme.title": "Схемаи ранг", + "settings.general.row.colorScheme.description": + "Интихоб кунед, ки OpenCode аз рӯи система, равшанӣ ё мавзӯи торик пайравӣ мекунад", + "settings.general.row.theme.title": "Мавзӯъ", + "settings.general.row.theme.description": "Чӣ тавр OpenCode мавзӯъро танзим кунед.", + "settings.general.row.font.title": "Шрифти код", + "settings.general.row.font.description": "Ҳарферо, ки дар блокҳои код истифода мешавад, танзим кунед", + "settings.general.row.terminalFont.title": "Шрифти терминал", + "settings.general.row.terminalFont.description": "Ҳарферо, ки дар терминал истифода мешавад, танзим кунед", + "settings.general.row.uiFont.title": "Шрифти UI", + "settings.general.row.uiFont.description": "Ҳарферо, ки дар тамоми интерфейс истифода мешавад, танзим кунед", + "settings.general.row.followup.title": "Рафтори пайгирӣ", + "settings.general.row.followup.description": + "Интихоб кунед, ки паёмҳои пайгирӣ фавран идора мешаванд ё дар навбат интизор мешаванд", + "settings.general.row.followup.option.queue": "Навбат", + "settings.general.row.followup.option.steer": "Роҳбарӣ кардан", + "settings.general.row.showFileTree.title": "Дарахти файл", + "settings.general.row.showFileTree.description": "Панели дарахти файлро дар сессияҳо нишон диҳед", + "settings.general.row.showNavigation.title": "Назорати навигатсионӣ", + "settings.general.row.showNavigation.description": "Тугмаҳои қафо ва пешро дар сатри унвони мизи корӣ нишон диҳед", + "settings.general.row.showSearch.title": "Палитраи фармон", + "settings.general.row.showSearch.description": "Тугмаи палитраи ҷустуҷӯ ва фармонро дар сатри унвон нишон диҳед", + "settings.general.row.showTerminal.title": "Терминал", + "settings.general.row.showTerminal.description": "Тугмаи терминалро дар сатри унвони мизи корӣ нишон диҳед", + "settings.general.row.showStatus.title": "Ҳолати сервер", + "settings.general.row.showStatus.description": "Тугмаи ҳолати серверро дар сатри унвон нишон диҳед", + "settings.general.row.mobileTitlebarBottom.title": "Навигатсия дар поён", + "settings.general.row.mobileTitlebarBottom.description": + "Сатри унвон ва ҷадвалҳои сессияро дар поёни экран дар мобилӣ ҷойгир кунед", + "settings.general.row.showCustomAgents.title": "Намоиши агент", + "settings.general.row.showCustomAgents.description": + "Гузариш байни агентҳо дар оҳангсоз. Ҳангоми пинҳон, пешфарз ба Сохтани агент.", + "settings.general.row.reasoningSummaries.title": "Ҷамъбасти далелҳоро нишон диҳед", + "settings.general.row.reasoningSummaries.description": "Дар ҷадвали вақт хулосаҳои далелҳои моделиро нишон диҳед", + "settings.general.row.shellToolPartsExpanded.title": "Қисмҳои shell асбобро васеъ кунед", + "settings.general.row.shellToolPartsExpanded.description": + "Дар ҷадвали вақт қисмҳои асбобҳои shell васеъшударо нишон диҳед", + "settings.general.row.editToolPartsExpanded.title": "Қисмҳои таҳрири асбобро васеъ кунед", + "settings.general.row.editToolPartsExpanded.description": + "Намоиши қисмҳои абзори таҳрир, навиштан ва часбкунӣ, ки ба таври нобаёнӣ дар ҷадвали вақт васеъ карда шудаанд", + "settings.general.row.newInterface.title": "Тарҳбандии нав", + "settings.general.row.newInterface.badge": "Нав", + "settings.general.row.newInterface.description": + "Варақаҳои нав ва тарҳбандии хонаро истифода баред. Дар муддати маҳдуд байни тарҳҳо гузаред.", + "settings.general.row.newInterfaceNotice.title": "Шумо ҳоло тарҳбандии навро истифода мебаред", + "settings.general.row.newInterfaceNotice.description": "Тарҳбандии қаблӣ дигар дастрас нест", + "settings.general.row.newInterfaceNotice.dismiss": "Рад кардан", + "settings.general.row.pinchZoom.title": "Барои калон кардан чимч кунед", + "settings.general.row.pinchZoom.description": + "Ба имову ишораи паймоиш ва Ctrl-и паймоиш иҷозат диҳед, ки калонтар кунед", + "settings.general.row.wayland.title": "Истифодаи аслӣ Wayland", + "settings.general.row.wayland.description": + "Хомӯш кардани X11 бозгашт дар Wayland. Аз нав оғоз карданро талаб мекунад.", + "settings.general.row.wayland.tooltip": + "Дар Linux бо мониторҳои омехтаи суръати навсозӣ, Wayland ватанӣ метавонад устувортар бошад.", + "settings.general.row.releaseNotes.title": "Қайдҳои нашр", + "settings.general.row.releaseNotes.description": 'Пас аз навсозиҳо поп-апҳои "Чӣ нав"-ро нишон диҳед', + "settings.updates.row.startup.title": "Барои навсозиҳо дар оғозёбӣ санҷед", + "settings.updates.row.startup.description": "Ҳангоми оғоз кардани OpenCode навсозиҳо ба таври худкор санҷед", + "settings.updates.row.check.title": "Барои навсозиҳо санҷед", + "settings.updates.row.check.description": "Навсозиро дастӣ тафтиш кунед ва агар дастрас бошад, насб кунед", + "settings.updates.action.checkNow": "Ҳоло санҷед", + "settings.updates.action.checking": "Санҷиш...", + "settings.updates.action.downloading": "Зеркашӣ карда мешавад...", + "settings.updates.action.installing": "Насб карда мешавад...", + "settings.updates.toast.latest.title": "Шумо навсозӣ доред", + "settings.updates.toast.latest.description": "Шумо версияи охирини OpenCode-ро иҷро карда истодаед.", + "sound.option.none": "Ҳеҷ", + "sound.option.alert01": "Огоҳӣ 01", + "sound.option.alert02": "Огоҳӣ 02", + "sound.option.alert03": "Огоҳӣ 03", + "sound.option.alert04": "Огоҳӣ 04", + "sound.option.alert05": "Огоҳӣ 05", + "sound.option.alert06": "Огоҳӣ 06", + "sound.option.alert07": "Огоҳӣ 07", + "sound.option.alert08": "Огоҳӣ 08", + "sound.option.alert09": "Огоҳӣ 09", + "sound.option.alert10": "Огоҳӣ 10", + "sound.option.bipbop01": "Бип-боп 01", + "sound.option.bipbop02": "Бип-боп 02", + "sound.option.bipbop03": "Бип-боп 03", + "sound.option.bipbop04": "Бип-боп 04", + "sound.option.bipbop05": "Бип-боп 05", + "sound.option.bipbop06": "Бип-боп 06", + "sound.option.bipbop07": "Бип-боп 07", + "sound.option.bipbop08": "Бип-боп 08", + "sound.option.bipbop09": "Бип-боп 09", + "sound.option.bipbop10": "Бип-боп 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "Не 01", + "sound.option.nope02": "Не 02", + "sound.option.nope03": "Не 03", + "sound.option.nope04": "Не 04", + "sound.option.nope05": "Не 05", + "sound.option.nope06": "Не 06", + "sound.option.nope07": "Не 07", + "sound.option.nope08": "Не 08", + "sound.option.nope09": "Не 09", + "sound.option.nope10": "Не 10", + "sound.option.nope11": "Не 11", + "sound.option.nope12": "Не 12", + "sound.option.yup01": "Ҳа 01", + "sound.option.yup02": "Ҳа 02", + "sound.option.yup03": "Ҳа 03", + "sound.option.yup04": "Ҳа 04", + "sound.option.yup05": "Ҳа 05", + "sound.option.yup06": "Ҳа 06", + "settings.general.notifications.agent.title": "Агент", + "settings.general.notifications.agent.description": + "Вақте ки агент пурра аст ё ба таваҷҷӯҳ ниёз дорад, огоҳии системаро нишон диҳед", + "settings.general.notifications.permissions.title": "Иҷозатҳо", + "settings.general.notifications.permissions.description": "Вақте ки иҷозат лозим аст, огоҳии системаро нишон диҳед", + "settings.general.notifications.errors.title": "Хатогиҳо", + "settings.general.notifications.errors.description": "Ҳангоми рух додани хато огоҳии системаро нишон диҳед", + "settings.general.sounds.agent.title": "Агент", + "settings.general.sounds.agent.description": "Вақте ки агент пурра аст ё ба таваҷҷӯҳ ниёз дорад, садоро пахш кунед", + "settings.general.sounds.permissions.title": "Иҷозатҳо", + "settings.general.sounds.permissions.description": "Вақте ки иҷозат лозим аст, садо навозед", + "settings.general.sounds.errors.title": "Хатогиҳо", + "settings.general.sounds.errors.description": "Вақте ки хатогӣ рух медиҳад, садоро пахш кунед", + "settings.shortcuts.title": "Миёнабурҳои клавиатура", + "settings.shortcuts.reset.button": "Ба пешфарзҳо баргардонед", + "settings.shortcuts.reset.toast.title": "Миёнабурҳо аз нав барқарор карда мешаванд", + "settings.shortcuts.reset.toast.description": "Миёнабурҳои клавиатура ба пешфарзҳо барқарор карда шуданд.", + "settings.shortcuts.conflict.title": "Миёнабур аллакай истифода мешавад", + "settings.shortcuts.conflict.description": "{{keybind}} аллакай ба {{titles}} таъин шудааст.", + "settings.shortcuts.unassigned": "Таъиннашуда", + "settings.shortcuts.pressKeys": "Тугмаҳоро пахш кунед", + "settings.shortcuts.search.placeholder": "Ҷустуҷӯи миёнабурҳо", + "settings.shortcuts.search.empty": "Ягон миёнабур ёфт нашуд", + "settings.shortcuts.group.general": "Генерал", + "settings.shortcuts.group.session": "Сессия", + "settings.shortcuts.group.navigation": "Навигатсия", + "settings.shortcuts.group.modelAndAgent": "Модел ва агент", + "settings.shortcuts.group.terminal": "Терминал", + "settings.shortcuts.group.prompt": "Промпт", + "settings.providers.title": "Таъминкунандагон", + "settings.providers.description": "Танзимоти провайдер дар ин ҷо танзим карда мешавад.", + "settings.providers.section.connected": "Провайдерҳои пайвастшуда", + "settings.providers.connected.empty": "Провайдерҳои пайвастшуда нест", + "settings.providers.connected.environmentDescription": "Аз тағирёбандаҳои муҳити шумо пайваст карда шудааст", + "settings.providers.section.popular": "Провайдерҳои машҳур", + "settings.providers.custom.description": "Илова кардани провайдери OpenAI-мувофиқ аз рӯи асос URL.", + "settings.providers.tag.environment": "Муҳити зист", + "settings.providers.tag.config": "Конфигуратсия", + "settings.providers.tag.custom": "Фармоишгар", + "settings.providers.tag.other": "Дигар", + "settings.models.title": "Моделҳо", + "settings.models.description": "Танзимоти модел дар ин ҷо танзим карда мешавад.", + "settings.agents.title": "Агентҳо", + "settings.agents.description": "Танзимоти агент дар ин ҷо танзим карда мешавад.", + "settings.commands.title": "Фармонҳо", + "settings.commands.description": "Танзимоти фармон дар ин ҷо танзим карда мешавад.", + "settings.mcp.title": "MCP", + "settings.mcp.description": "MCP танзимот дар ин ҷо танзим карда мешаванд.", + "settings.permissions.title": "Иҷозатҳо", + "settings.permissions.description": "Назорат кунед, ки кадом асбобҳоро сервер бо нобаёнӣ истифода бурда метавонад.", + "settings.permissions.section.tools": "Воситаҳо", + "settings.permissions.toast.updateFailed.title": "Навсозии иҷозатҳо муяссар нашуд", + "settings.permissions.action.allow": "Иҷозат диҳед", + "settings.permissions.action.ask": "Пурсед", + "settings.permissions.action.deny": "Инкор кардан", + "settings.permissions.tool.read.title": "Хондан", + "settings.permissions.tool.read.description": "Хондани файл (бо роҳи файл мувофиқат мекунад)", + "settings.permissions.tool.edit.title": "Таҳрир", + "settings.permissions.tool.edit.description": "Тағир додани файлҳо, аз ҷумла таҳрир, навиштан ва часбҳо", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "Бо истифода аз намунаҳои glob файлҳоро мувофиқ кунед", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "Ҷустуҷӯи мундариҷаи файл бо истифода аз ибораҳои муқаррарӣ", + "settings.permissions.tool.list.title": "Рӯйхат", + "settings.permissions.tool.list.description": "Рӯйхати файлҳо дар дохили директория", + "settings.permissions.tool.bash.title": "Баш", + "settings.permissions.tool.bash.description": "Фармонҳои shell -ро иҷро кунед", + "settings.permissions.tool.task.title": "Вазифа", + "settings.permissions.tool.task.description": "Зер-агентҳоро оғоз кунед", + "settings.permissions.tool.skill.title": "Маҳорат", + "settings.permissions.tool.skill.description": "Маҳоратро бо ном бор кунед", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "Дархостҳои сервери забонро иҷро кунед", + "settings.permissions.tool.todowrite.title": "Барои навиштан", + "settings.permissions.tool.todowrite.description": "Рӯйхати вазифаҳоро навсозӣ кунед", + "settings.permissions.tool.webfetch.title": "Web Fetch", + "settings.permissions.tool.webfetch.description": "Гирифтани мундариҷа аз URL", + "settings.permissions.tool.websearch.title": "Ҷустуҷӯи веб", + "settings.permissions.tool.websearch.description": "Дар веб ҷустуҷӯ кунед", + "settings.permissions.tool.external_directory.title": "Директорияи беруна", + "settings.permissions.tool.external_directory.description": "Дастрасӣ ба файлҳои берун аз феҳристи лоиҳа", + "settings.permissions.tool.doom_loop.title": "Doom Loop", + "settings.permissions.tool.doom_loop.description": "Зангҳои такрории асбобро бо вуруди якхела ошкор кунед", + "session.delete.failed.title": "Сеансро нест карда натавонист", + "session.delete.title": "Сеансро нест кунед", + "session.delete.confirm": 'Сеанси "{{name}}" нест карда шавад?', + "session.delete.button": "Сеансро нест кунед", + "workspace.new": "Майдони нави корӣ", + "workspace.type.local": "маҳаллӣ", + "workspace.type.sandbox": "қуттии қум", + "workspace.create.failed.title": "Фазои корӣ эҷод карда нашуд", + "workspace.delete.failed.title": "Нест кардани фазои корӣ", + "workspace.resetting.title": "Барқарор кардани фазои корӣ", + "workspace.resetting.description": "Ин метавонад як дақиқа вақт гирад.", + "workspace.reset.failed.title": "Муваффақият барқарор кардани фазои корӣ", + "workspace.reset.success.title": "Бозсозии фазои корӣ", + "workspace.reset.success.description": "Фазои корӣ ҳоло ба филиали пешфарз мувофиқат мекунад.", + "workspace.error.stillPreparing": "Майдони корӣ ҳоло ҳам омода мешавад", + "workspace.status.checking": "Тафтиши тағироти муттаҳиднашуда...", + "workspace.status.error": "Ҳолати git-ро тафтиш кардан ғайриимкон аст.", + "workspace.status.clean": "Ягон тағироти муттаҳидшуда ошкор нашудааст.", + "workspace.status.dirty": "Тағироти муттаҳиднашуда дар ин фазои корӣ ошкор карда шуданд.", + "workspace.delete.title": "Нест кардани фазои корӣ", + "workspace.delete.confirm": 'Фазои кории "{{name}}" нест карда шавад?', + "workspace.delete.button": "Нест кардани фазои корӣ", + "workspace.reset.title": "Фазои корӣ аз нав танзим кунед", + "workspace.reset.confirm": 'Фазои кории "{{name}}" барқарор карда шавад?', + "workspace.reset.button": "Фазои корӣ аз нав танзим кунед", + "workspace.reset.archived.none": "Ягон сессияҳои фаъол бойгонӣ карда намешаванд.", + "workspace.reset.archived.one": "1 сессия архив карда мешавад.", + "workspace.reset.archived.many": "{{count}} сессия архив карда мешаванд.", + "workspace.reset.note": "Ин фазои кориро барои мувофиқ кардани филиали пешфарз барқарор мекунад.", + "dialog.usageExceeded.dontShowAgain": "Дигар нишон надиҳед", +} diff --git a/packages/app/src/i18n/th.ts b/packages/app/src/i18n/th.ts index 2c0b7d081c8a..1a0e9db72b1b 100644 --- a/packages/app/src/i18n/th.ts +++ b/packages/app/src/i18n/th.ts @@ -1,4 +1,102 @@ export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "ไฟล์", + "desktop.menu.edit": "แก้ไข", + "desktop.menu.view": "มุมมอง", + "desktop.menu.go": "ไป", + "desktop.menu.window": "หน้าต่าง", + "desktop.menu.help": "วิธีใช้", + "desktop.menu.checkForUpdates": "ตรวจหาการอัปเดต...", + "desktop.menu.settings": "การตั้งค่า", + "desktop.menu.reloadWebview": "โหลด Webview ใหม่", + "desktop.menu.restart": "เริ่มการทำงานใหม่", + "desktop.menu.exportLogs": "ส่งออกบันทึก...", + "desktop.menu.newSession": "เซสชันใหม่", + "desktop.menu.openProject": "เปิดโปรเจกต์...", + "desktop.menu.newWindow": "หน้าต่างใหม่", + "desktop.menu.closeWindow": "ปิดหน้าต่าง", + "desktop.menu.undo": "เลิกทำ", + "desktop.menu.redo": "ทำซ้ำ", + "desktop.menu.cut": "ตัด", + "desktop.menu.copy": "คัดลอก", + "desktop.menu.paste": "วาง", + "desktop.menu.delete": "ลบ", + "desktop.menu.selectAll": "เลือกทั้งหมด", + "desktop.menu.toggleSidebar": "สลับแถบด้านข้าง", + "desktop.menu.toggleTerminal": "สลับเทอร์มินัล", + "desktop.menu.toggleFileTree": "สลับแผนผังไฟล์", + "desktop.menu.reload": "โหลดใหม่", + "desktop.menu.toggleDeveloperTools": "สลับเครื่องมือสำหรับนักพัฒนา", + "desktop.menu.actualSize": "ขนาดจริง", + "desktop.menu.zoomIn": "ขยาย", + "desktop.menu.zoomOut": "ย่อ", + "desktop.menu.toggleFullScreen": "สลับโหมดเต็มหน้าจอ", + "desktop.menu.back": "ย้อนกลับ", + "desktop.menu.forward": "ไปข้างหน้า", + "desktop.menu.previousSession": "เซสชันก่อนหน้า", + "desktop.menu.nextSession": "เซสชันถัดไป", + "desktop.menu.previousProject": "โปรเจกต์ก่อนหน้า", + "desktop.menu.nextProject": "โปรเจกต์ถัดไป", + "desktop.menu.minimize": "ย่อหน้าต่าง", + "desktop.menu.maximize": "ขยายหน้าต่าง", + "desktop.menu.documentation": "เอกสาร OpenCode", + "desktop.menu.supportForum": "ฟอรัมสนับสนุน", + "desktop.menu.shareFeedback": "ส่งข้อคิดเห็น", + "desktop.menu.reportBug": "รายงานข้อบกพร่อง", + "desktop.menu.ariaLabel": "เมนู OpenCode", + + "desktop.updater.dialog.checkFailed.message": "การตรวจหาการอัปเดตล้มเหลว", + "desktop.updater.dialog.checkFailed.title": "ข้อผิดพลาดในการอัปเดต", + "desktop.updater.dialog.upToDate.message": "คุณกำลังใช้เวอร์ชันล่าสุด", + "desktop.updater.dialog.upToDate.title": "ไม่มีการอัปเดต", + "desktop.updater.dialog.ready.message": "ดาวน์โหลดการอัปเดต {{version}} แล้ว เริ่มการทำงานใหม่ตอนนี้หรือไม่", + "desktop.updater.dialog.ready.title": "พร้อมอัปเดต", + "desktop.updater.dialog.restart": "เริ่มการทำงานใหม่", + "desktop.updater.dialog.later": "ภายหลัง", + + "desktop.recovery.action.relaunch": "เปิดอีกครั้ง", + "desktop.recovery.action.exportLogs": "ส่งออกบันทึก", + "desktop.recovery.action.keepWaiting": "รอต่อไป", + "desktop.recovery.action.quit": "ออก", + "desktop.recovery.loadFailed": "โหลด OpenCode ไม่สำเร็จ", + "desktop.recovery.terminated": "หน้าต่าง OpenCode หยุดทำงานโดยไม่คาดคิด", + "desktop.recovery.unresponsive": "OpenCode ไม่ตอบสนอง", + "desktop.recovery.unresponsive.detail": "คุณสามารถเปิดแอปอีกครั้ง เปิดบันทึก หรือรอต่อไป", + "desktop.recovery.loadFailed.detail": "หน้าต่าง: {{window}}\nURL: {{url}}\nข้อผิดพลาด: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "หน้าต่าง: {{window}}\nสาเหตุ: {{reason}}\nรหัส: {{code}}", + "desktop.recovery.unknown": "<ไม่ทราบ>", + + "desktop.dialog.chooseFolder": "เลือกโฟลเดอร์", + "desktop.dialog.chooseFile": "เลือกไฟล์", + "desktop.dialog.saveFile": "บันทึกไฟล์", + "desktop.dialog.files": "ไฟล์", + "desktop.server.local": "เซิร์ฟเวอร์ภายในเครื่อง", + + "desktop.wsl.error.windowsOnly": "WSL ใช้งานได้เฉพาะบน Windows เท่านั้น", + "desktop.wsl.error.unavailable": "WSL ไม่พร้อมใช้งาน", + "desktop.wsl.error.listInstalled": "ไม่สามารถแสดงรายการดิสโทร WSL ที่ติดตั้งแล้วได้", + "desktop.wsl.error.listOnline": "ไม่สามารถแสดงรายการดิสโทร WSL แบบออนไลน์ได้", + "desktop.wsl.error.executeDistro": "ไม่สามารถเรียกใช้คำสั่งในดิสโทรได้", + "desktop.wsl.error.installWsl": "การติดตั้ง WSL ล้มเหลว", + "desktop.wsl.error.installDistro": "ไม่สามารถติดตั้งดิสโทรได้: {{distro}}", + "desktop.wsl.error.installOpencode": "การติดตั้ง OpenCode ล้มเหลว", + "desktop.wsl.error.alreadyAdded": "เพิ่ม {{distro}} แล้ว", + "desktop.wsl.error.opencodeMissing": "ไม่ได้ติดตั้ง opencode ในดิสโทรนี้", + "desktop.wsl.error.opencodeCannotRun": "ติดตั้ง opencode แล้ว แต่ไม่สามารถเรียกใช้ได้", + "desktop.wsl.error.opencodeNotInstalled": "ไม่ได้ติดตั้ง OpenCode ใน {{distro}}", + "desktop.wsl.error.updateVersion": + "อัปเดต OpenCode เสร็จแล้ว แต่ {{distro}} ยังคงรายงานเวอร์ชัน {{installed}} ทั้งที่ควรเป็น {{expected}}", + "desktop.wsl.error.noVersion": "ไม่มีเวอร์ชัน", + "desktop.wsl.error.serverExited": "เซิร์ฟเวอร์ WSL หยุดทำงานหลังเริ่มต้น (code={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "เซิร์ฟเวอร์ WSL หยุดทำงานก่อนพร้อมใช้งาน (code={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": "การตรวจสอบสถานะ Sidecar สำหรับ {{distro}} หมดเวลาหลังจาก {{timeout}}ms", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} หมดเวลาหลังจาก {{timeout}}ms", + "desktop.wsl.error.failedPort": "ไม่สามารถรับพอร์ตได้", + + "desktop.picker.error.notSelected": "ไม่ได้เลือกไฟล์จากตัวเลือกไฟล์", + "desktop.picker.error.sizeLimit": "ไฟล์แนบที่เลือกมีขนาดเกินขีดจำกัด {{limit}} MB", + "command.category.suggested": "แนะนำ", "command.category.view": "มุมมอง", "command.category.project": "โปรเจกต์", @@ -16,6 +114,7 @@ export const dict = { "command.category.permissions": "สิทธิ์", "command.category.workspace": "พื้นที่ทำงาน", "command.category.settings": "การตั้งค่า", + "command.logs.export": "ส่งออกบันทึก", "theme.scheme.system": "ระบบ", "theme.scheme.light": "สว่าง", @@ -53,7 +152,7 @@ export const dict = { "command.context.addSelection.description": "เพิ่มบรรทัดที่เลือกจากไฟล์ปัจจุบัน", "command.input.focus": "โฟกัสช่องป้อนข้อมูล", "command.terminal.toggle": "สลับเทอร์มินัล", - "command.fileTree.toggle": "สลับต้นไม้ไฟล์", + "command.fileTree.toggle": "สลับแผนผังไฟล์", "command.review.toggle": "สลับการตรวจสอบ", "command.terminal.new": "เทอร์มินัลใหม่", "command.terminal.new.description": "สร้างแท็บเทอร์มินัลใหม่", @@ -79,8 +178,8 @@ export const dict = { "command.permissions.autoaccept.disable": "หยุดยอมรับสิทธิ์โดยอัตโนมัติ", "command.workspace.toggle": "สลับพื้นที่ทำงาน", "command.workspace.toggle.description": "เปิดหรือปิดใช้งานพื้นที่ทำงานหลายรายการในแถบด้านข้าง", - "command.session.undo": "ยกเลิก", - "command.session.undo.description": "ยกเลิกข้อความล่าสุด", + "command.session.undo": "เลิกทำ", + "command.session.undo.description": "เลิกทำข้อความล่าสุด", "command.session.redo": "ทำซ้ำ", "command.session.redo.description": "ทำซ้ำข้อความที่ถูกยกเลิกล่าสุด", "command.session.compact": "บีบอัดเซสชัน", @@ -92,6 +191,9 @@ export const dict = { "command.session.unshare": "ยกเลิกการแชร์เซสชัน", "command.session.unshare.description": "หยุดการแชร์เซสชันนี้", + "command.session.export": "ส่งออกเซสชัน", + "command.session.export.description": "ส่งออกบันทึกทั้งหมดของเซสชันเป็น JSON", + "palette.search.placeholder": "ค้นหาไฟล์ คำสั่ง และเซสชัน", "palette.search.placeholder.home": "ค้นหาคำสั่งและเซสชัน", "palette.empty": "ไม่พบผลลัพธ์", @@ -102,6 +204,7 @@ export const dict = { "dialog.provider.empty": "ไม่พบผู้ให้บริการ", "dialog.provider.group.popular": "ยอดนิยม", "dialog.provider.group.other": "อื่น ๆ", + "dialog.provider.custom.label": "ผู้ให้บริการแบบกำหนดเองที่เข้ากันได้กับ OpenAI", "dialog.provider.tag.recommended": "แนะนำ", "dialog.provider.opencode.note": "โมเดลที่คัดสรร รวมถึง Claude, GPT, Gemini และอื่น ๆ", "dialog.provider.opencode.tagline": "โมเดลที่เชื่อถือได้และปรับให้เหมาะสม", @@ -122,6 +225,7 @@ export const dict = { "dialog.model.unpaid.freeModels.title": "โมเดลฟรีที่จัดหาให้โดย OpenCode", "dialog.model.unpaid.addMore.title": "เพิ่มโมเดลเพิ่มเติมจากผู้ให้บริการยอดนิยม", + "dialog.model.unpaid.viewMoreProviders": "ดูผู้ให้บริการเพิ่มเติมกว่า 70 ราย", "dialog.provider.viewAll": "แสดงผู้ให้บริการเพิ่มเติม", @@ -129,6 +233,8 @@ export const dict = { "provider.connect.title.anthropicProMax": "เข้าสู่ระบบด้วย Claude Pro/Max", "provider.connect.selectMethod": "เลือกวิธีการเข้าสู่ระบบสำหรับ {{provider}}", "provider.connect.method.apiKey": "คีย์ API", + "provider.connect.method.browser": "เบราว์เซอร์", + "provider.connect.method.headless": "ไม่ใช้เบราว์เซอร์", "provider.connect.status.inProgress": "กำลังอนุญาต...", "provider.connect.status.waiting": "รอการอนุญาต...", "provider.connect.status.failed": "การอนุญาตล้มเหลว: {{error}}", @@ -143,11 +249,11 @@ export const dict = { "ด้วยคีย์ API เดียวคุณจะได้รับการเข้าถึงโมเดล เช่น Claude, GPT, Gemini, GLM และอื่น ๆ", "provider.connect.opencodeZen.visit.prefix": "เยี่ยมชม ", "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", - "provider.connect.opencodeZen.visit.suffix": " เพื่อรวบรวมคีย์ API ของคุณ", + "provider.connect.opencodeZen.visit.suffix": " เพื่อรับคีย์ API ของคุณ", "provider.connect.oauth.code.visit.prefix": "เยี่ยมชม ", "provider.connect.oauth.code.visit.link": "ลิงก์นี้", "provider.connect.oauth.code.visit.suffix": - " เพื่อรวบรวมรหัสการอนุญาตของคุณเพื่อเชื่อมต่อบัญชีและใช้โมเดล {{provider}} ใน OpenCode", + " เพื่อรับรหัสการอนุญาตสำหรับเชื่อมต่อบัญชีและใช้โมเดล {{provider}} ใน OpenCode", "provider.connect.oauth.code.label": "รหัสการอนุญาต {{method}}", "provider.connect.oauth.code.placeholder": "รหัสการอนุญาต", "provider.connect.oauth.code.required": "ต้องใช้รหัสการอนุญาต", @@ -157,13 +263,14 @@ export const dict = { "provider.connect.oauth.auto.visit.suffix": " และป้อนรหัสด้านล่างเพื่อเชื่อมต่อบัญชีและใช้โมเดล {{provider}} ใน OpenCode", "provider.connect.oauth.auto.confirmationCode": "รหัสยืนยัน", - "provider.connect.toast.connected.title": "{{provider}} ที่เชื่อมต่อแล้ว", + "provider.connect.toast.connected.title": "เชื่อมต่อ {{provider}} แล้ว", "provider.connect.toast.connected.description": "โมเดล {{provider}} พร้อมใช้งานแล้ว", "provider.custom.title": "ผู้ให้บริการที่กำหนดเอง", + "provider.custom.unavailable": "ผู้ให้บริการที่กำหนดเองไม่พร้อมใช้งานบนเซิร์ฟเวอร์นี้", "provider.custom.description.prefix": "กำหนดค่าผู้ให้บริการที่เข้ากันได้กับ OpenAI ดู ", "provider.custom.description.link": "เอกสารการกำหนดค่าผู้ให้บริการ", - "provider.custom.description.suffix": ".", + "provider.custom.description.suffix": "", "provider.custom.field.providerID.label": "รหัสผู้ให้บริการ", "provider.custom.field.providerID.placeholder": "myprovider", "provider.custom.field.providerID.description": "ตัวอักษรพิมพ์เล็ก ตัวเลข ยัติภังค์ หรือขีดล่าง", @@ -197,7 +304,7 @@ export const dict = { "provider.custom.error.required": "จำเป็น", "provider.custom.error.duplicate": "ซ้ำ", - "provider.disconnect.toast.disconnected.title": "{{provider}} ที่ยกเลิกการเชื่อมต่อแล้ว", + "provider.disconnect.toast.disconnected.title": "ยกเลิกการเชื่อมต่อ {{provider}} แล้ว", "provider.disconnect.toast.disconnected.description": "โมเดล {{provider}} ไม่พร้อมใช้งานอีกต่อไป", "model.tag.free": "ฟรี", @@ -212,7 +319,7 @@ export const dict = { "model.input.audio": "เสียง", "model.input.video": "วิดีโอ", "model.input.pdf": "PDF", - "model.tooltip.allows": "อนุญาต: {{inputs}}", + "model.tooltip.allows": "รองรับ: {{inputs}}", "model.tooltip.context.label": "บริบท", "model.tooltip.inputs": "ข้อมูลนำเข้า", "model.tooltip.model": "โมเดล", @@ -224,14 +331,14 @@ export const dict = { "common.search.placeholder": "ค้นหา", "common.goBack": "ย้อนกลับ", - "common.goForward": "นำทางไปข้างหน้า", + "common.goForward": "ไปข้างหน้า", "common.loading": "กำลังโหลด", "common.loading.ellipsis": "...", "common.cancel": "ยกเลิก", "common.clear": "ล้าง", "common.connect": "เชื่อมต่อ", "common.disconnect": "ยกเลิกการเชื่อมต่อ", - "common.continue": "ส่ง", + "common.continue": "ดำเนินการต่อ", "common.submit": "ส่ง", "common.save": "บันทึก", "common.saving": "กำลังบันทึก...", @@ -246,8 +353,8 @@ export const dict = { "prompt.mode.shell": "เชลล์", "prompt.mode.normal": "พรอมต์", "prompt.mode.shell.exit": "กด esc เพื่อออก", - "session.child.promptDisabled": "ไม่สามารถส่งพรอมต์ในเซสชันเอเจนต์ย่อยได้.", - "session.child.backToParent": "กลับไปยังเซสชันหลัก.", + "session.child.promptDisabled": "ไม่สามารถส่งพรอมต์ในเซสชันเอเจนต์ย่อยได้", + "session.child.backToParent": "กลับไปยังเซสชันหลัก", "prompt.example.1": "แก้ไข TODO ในโค้ดเบส", "prompt.example.2": "เทคโนโลยีของโปรเจกต์นี้คืออะไร?", @@ -262,7 +369,7 @@ export const dict = { "prompt.example.11": "ปรับปรุงการสืบค้นฐานข้อมูล", "prompt.example.12": "เพิ่มการตรวจสอบข้อมูลนำเข้า", "prompt.example.13": "สร้างคอมโพเนนต์ใหม่สำหรับ...", - "prompt.example.14": "ฉันจะทำให้โปรเจกต์นี้ทำงานได้อย่างไร?", + "prompt.example.14": "ฉันจะนำโปรเจกต์นี้ไปใช้งานได้อย่างไร?", "prompt.example.15": "ตรวจสอบโค้ดของฉันเพื่อแนวทางปฏิบัติที่ดีที่สุด", "prompt.example.16": "เพิ่มการจัดการข้อผิดพลาดในฟังก์ชันนี้", "prompt.example.17": "อธิบายรูปแบบ regex นี้", @@ -270,15 +377,15 @@ export const dict = { "prompt.example.19": "เพิ่มการบันทึกทั่วทั้งโค้ดเบส", "prompt.example.20": "มีการพึ่งพาอะไรที่ล้าสมัยอยู่?", "prompt.example.21": "ช่วยฉันเขียนสคริปต์การย้ายข้อมูล", - "prompt.example.22": "ใช้งานแคชสำหรับจุดสิ้นสุดนี้", + "prompt.example.22": "ใช้แคชสำหรับเอนด์พอยต์นี้", "prompt.example.23": "เพิ่มการแบ่งหน้าในรายการนี้", "prompt.example.24": "สร้างคำสั่ง CLI สำหรับ...", "prompt.example.25": "ตัวแปรสภาพแวดล้อมทำงานอย่างไรที่นี่?", "prompt.popover.emptyResults": "ไม่พบผลลัพธ์ที่ตรงกัน", "prompt.popover.emptyCommands": "ไม่พบคำสั่งที่ตรงกัน", - "prompt.dropzone.label": "ลากรูปภาพ, PDF หรือไฟล์ข้อความมาวางที่นี่", - "prompt.dropzone.file.label": "วางเพื่อ @กล่าวถึงไฟล์", + "prompt.dropzone.label": "ลากรูปภาพ PDF หรือไฟล์ข้อความมาวางที่นี่", + "prompt.dropzone.file.label": "วางเพื่ออ้างถึงไฟล์ด้วย @", "prompt.slash.badge.custom": "กำหนดเอง", "prompt.slash.badge.skill": "ทักษะ", "prompt.slash.badge.mcp": "MCP", @@ -298,14 +405,14 @@ export const dict = { "prompt.toast.pasteUnsupported.title": "ไฟล์แนบที่ไม่รองรับ", "prompt.toast.attachmentDuplicate.title": "ไฟล์นี้ถูกอัปโหลดแล้ว", - "prompt.toast.pasteUnsupported.description": "แนบได้เฉพาะรูปภาพ, PDF หรือไฟล์ข้อความเท่านั้น", + "prompt.toast.pasteUnsupported.description": "แนบได้เฉพาะรูปภาพ PDF หรือไฟล์ข้อความเท่านั้น", "prompt.toast.modelAgentRequired.title": "เลือกเอเจนต์และโมเดล", - "prompt.toast.modelAgentRequired.description": "เลือกเอเจนต์และโมเดลก่อนส่งพร้อมท์", + "prompt.toast.modelAgentRequired.description": "เลือกเอเจนต์และโมเดลก่อนส่งพรอมต์", "prompt.toast.worktreeCreateFailed.title": "ไม่สามารถสร้าง worktree", "prompt.toast.sessionCreateFailed.title": "ไม่สามารถสร้างเซสชัน", "prompt.toast.shellSendFailed.title": "ไม่สามารถส่งคำสั่งเชลล์", "prompt.toast.commandSendFailed.title": "ไม่สามารถส่งคำสั่ง", - "prompt.toast.promptSendFailed.title": "ไม่สามารถส่งพร้อมท์", + "prompt.toast.promptSendFailed.title": "ไม่สามารถส่งพรอมต์", "prompt.toast.promptSendFailed.description": "ไม่สามารถดึงเซสชันได้", "dialog.mcp.title": "MCPs", @@ -317,7 +424,7 @@ export const dict = { "mcp.status.connected": "เชื่อมต่อแล้ว", "mcp.status.failed": "ล้มเหลว", - "mcp.status.needs_auth": "ต้องการการตรวจสอบสิทธิ์", + "mcp.status.needs_auth": "ต้องยืนยันตัวตน", "mcp.auth.clickToAuthenticate": "คลิกเพื่อยืนยันตัวตน", "mcp.status.disabled": "ปิดใช้งาน", @@ -327,7 +434,7 @@ export const dict = { "dialog.directory.empty": "ไม่พบโฟลเดอร์", "dialog.directory.action.selectFile": "เลือกไฟล์", "dialog.directory.action.selectFolder": "เลือกโฟลเดอร์", - "dialog.directory.root": "ราก", + "dialog.directory.root": "โฟลเดอร์ราก", "dialog.directory.parent": "โฟลเดอร์หลัก", "dialog.directory.readError": "ไม่สามารถอ่านโฟลเดอร์นี้ได้", @@ -369,30 +476,30 @@ export const dict = { "wsl.onboarding.step.distro": "เลือกดิสโทร", "wsl.onboarding.step.opencode": "OpenCode", "wsl.onboarding.checkingRuntime": "กำลังตรวจสอบ WSL...", - "wsl.onboarding.restartRequired": "ต้องรีสตาร์ท Windows เพื่อให้การติดตั้ง WSL เสร็จสมบูรณ์.", - "wsl.onboarding.ready": "WSL พร้อมใช้งานแล้ว.", - "wsl.onboarding.required": "ต้องมี WSL เพื่อดำเนินการต่อ.", + "wsl.onboarding.restartRequired": "ต้องรีสตาร์ท Windows เพื่อให้การติดตั้ง WSL เสร็จสมบูรณ์", + "wsl.onboarding.ready": "WSL พร้อมใช้งานแล้ว", + "wsl.onboarding.required": "ต้องมี WSL เพื่อดำเนินการต่อ", "wsl.onboarding.checkingDistros": "กำลังตรวจสอบดิสโทร...", "wsl.onboarding.installingDistro": "กำลังติดตั้ง {{distro}}...", "wsl.onboarding.checkingDistro": "กำลังตรวจสอบ {{distro}}...", "wsl.onboarding.listingDistros": "กำลังแสดงรายการดิสโทร...", - "wsl.onboarding.distroReady": "{{distro}} พร้อมใช้งานแล้ว.", - "wsl.onboarding.distroNotInstalled": "ยังไม่ได้ติดตั้ง {{distro}}.", - "wsl.onboarding.openDistroOnce": "เปิด {{distro}} หนึ่งครั้งเพื่อให้การตั้งค่าเสร็จสมบูรณ์.", - "wsl.onboarding.finishingDistro": "กำลังตั้งค่า {{distro}} ให้เสร็จสมบูรณ์.", - "wsl.onboarding.pickDistro": "เลือกดิสโทรหรือติดตั้งจากรายการด้านล่าง.", + "wsl.onboarding.distroReady": "{{distro}} พร้อมใช้งานแล้ว", + "wsl.onboarding.distroNotInstalled": "ยังไม่ได้ติดตั้ง {{distro}}", + "wsl.onboarding.openDistroOnce": "เปิด {{distro}} หนึ่งครั้งเพื่อให้การตั้งค่าเสร็จสมบูรณ์", + "wsl.onboarding.finishingDistro": "กำลังตั้งค่า {{distro}} ให้เสร็จสมบูรณ์", + "wsl.onboarding.pickDistro": "เลือกดิสโทรหรือติดตั้งจากรายการด้านล่าง", "wsl.onboarding.checkingOpencode": "กำลังตรวจสอบ OpenCode...", "wsl.onboarding.checkingOpencodeIn": "กำลังตรวจสอบ OpenCode ใน {{distro}}...", "wsl.onboarding.updatingOpencode": "กำลังอัปเดต OpenCode...", "wsl.onboarding.updatingOpencodeIn": "กำลังอัปเดต OpenCode ใน {{distro}}...", - "wsl.onboarding.updateOpencodeIn": "อัปเดต OpenCode ใน {{distro}}.", + "wsl.onboarding.updateOpencodeIn": "อัปเดต OpenCode ใน {{distro}}", "wsl.onboarding.updateOpencode": "อัปเดต OpenCode", - "wsl.onboarding.opencodeReadyIn": "OpenCode พร้อมใช้งานใน {{distro}} แล้ว.", - "wsl.onboarding.opencodeReady": "OpenCode พร้อมใช้งานแล้ว.", - "wsl.onboarding.installOpencodeIn": "ติดตั้ง OpenCode ใน {{distro}}.", + "wsl.onboarding.opencodeReadyIn": "OpenCode พร้อมใช้งานใน {{distro}} แล้ว", + "wsl.onboarding.opencodeReady": "OpenCode พร้อมใช้งานแล้ว", + "wsl.onboarding.installOpencodeIn": "ติดตั้ง OpenCode ใน {{distro}}", "wsl.onboarding.installOpencode": "ติดตั้ง OpenCode", - "wsl.onboarding.chooseDistroFirst": "เลือกดิสโทรก่อน.", - "wsl.onboarding.loadFailed": "ไม่สามารถโหลดสถานะ WSL ได้.", + "wsl.onboarding.chooseDistroFirst": "เลือกดิสโทรก่อน", + "wsl.onboarding.loadFailed": "ไม่สามารถโหลดสถานะ WSL ได้", "wsl.onboarding.loading": "กำลังโหลด...", "wsl.onboarding.installedDistros": "ดิสโทรที่ติดตั้งแล้ว", "wsl.onboarding.checkAgain": "ตรวจสอบอีกครั้ง", @@ -407,29 +514,44 @@ export const dict = { "wsl.onboarding.wslNotInstalled.description": "ต้องมี WSL (Windows Subsystem for Linux) ก่อนที่ OpenCode จะเพิ่มเซิร์ฟเวอร์ WSL ได้", "wsl.onboarding.wslUnavailable.title": "WSL ไม่พร้อมใช้งาน", - "wsl.onboarding.wslUnavailable.description": "OpenCode ไม่สามารถตรวจสอบ WSL บนเครื่องนี้ได้.", + "wsl.onboarding.wslUnavailable.description": "OpenCode ไม่สามารถตรวจสอบ WSL บนเครื่องนี้ได้", "wsl.onboarding.installWsl": "ติดตั้ง WSL", "wsl.onboarding.windowsRestartRequired": - "รีสตาร์ท Windows เพื่อให้การติดตั้ง WSL เสร็จสมบูรณ์ แล้วเปิด OpenCode อีกครั้ง.", + "รีสตาร์ท Windows เพื่อให้การติดตั้ง WSL เสร็จสมบูรณ์ แล้วเปิด OpenCode อีกครั้ง", "wsl.onboarding.next": "ถัดไป", "wsl.onboarding.refresh": "รีเฟรช", - "wsl.onboarding.allDistrosAdded": "เพิ่มดิสโทรที่ติดตั้งไว้ทั้งหมดแล้ว.", - "wsl.onboarding.noDistros": "ยังไม่พบดิสโทร.", + "wsl.onboarding.allDistrosAdded": "เพิ่มดิสโทรที่ติดตั้งไว้ทั้งหมดแล้ว", + "wsl.onboarding.noDistros": "ยังไม่พบดิสโทร", "wsl.onboarding.install": "ติดตั้ง", "wsl.onboarding.installing": "กำลังติดตั้ง...", "wsl.onboarding.installDistro": "ติดตั้งดิสโทร", "wsl.onboarding.searchDistros": "ค้นหาดิสโทร", - "wsl.onboarding.wsl2Required": "ต้องใช้ WSL 2.", - "wsl.onboarding.toolsRequired": "ดิสโทรนี้ต้องมี bash และ curl.", + "wsl.onboarding.wsl2Required": "ต้องใช้ WSL 2", + "wsl.onboarding.toolsRequired": "ดิสโทรนี้ต้องมี bash และ curl", "wsl.onboarding.openTerminal": "เปิดเทอร์มินัล", "wsl.onboarding.path": "เส้นทาง: {{path}}", "wsl.onboarding.notFound": "ไม่พบ", "wsl.onboarding.version": "เวอร์ชัน: {{version}}", "wsl.onboarding.unknown": "ไม่ทราบ", "wsl.onboarding.desktopVersion": "เดสก์ท็อป {{version}}", - "wsl.onboarding.versionMismatch": "เวอร์ชันที่ติดตั้งไม่ตรงกับเวอร์ชันของแอปเดสก์ท็อป.", + "wsl.onboarding.versionMismatch": "เวอร์ชันที่ติดตั้งไม่ตรงกับเวอร์ชันของแอปเดสก์ท็อป", "wsl.onboarding.adding": "กำลังเพิ่ม...", + "help.tabs.toast.ariaLabel": "ขอแนะนำแท็บ จัดระเบียบงานและเซสชันที่ใช้งานอยู่ด้วยแท็บ", + "help.tabs.toast.dismiss": "ปิดข้อมูลเกี่ยวกับแท็บ", + "help.tabs.title": "ขอแนะนำแท็บ", + "help.tabs.description": "จัดระเบียบงานและเซสชันที่ใช้งานอยู่ด้วยแท็บ", + "help.tabs.date": "14 กรกฎาคม", + "help.tabs.introduction": "ตอนนี้ OpenCode Desktop สร้างขึ้นโดยใช้แท็บเป็นหลัก", + "help.tabs.sessions": + "เริ่มเซสชันใหม่ในแท็บ หรือเปิดเซสชันที่มีอยู่จากโปรเจกต์ใดก็ได้ เปิดแท็บใหม่เมื่อเริ่มงานใหม่ และปิดเมื่อทำงานเสร็จ", + "help.tabs.organize": + "การเปิดแท็บไว้สองสามแท็บช่วยให้จัดระเบียบเซสชันที่ใช้งานอยู่ได้ง่ายขึ้น เปลี่ยนชื่อแท็บให้จดจำได้ง่ายหากต้องการเก็บแท็บไว้", + "help.tabs.home": "คุณจะพบเซสชันและโปรเจกต์ทั้งหมดในหน้าจอหน้าหลักแบบใหม่ เมื่อเลือกเซสชัน เซสชันนั้นจะเปิดในแท็บ", + "help.tabs.persistence": "เมื่อเปิดแอปอีกครั้ง แท็บของคุณจะยังคงเปิดอยู่", + "help.tabs.worktrees": + "การออกแบบใหม่ยังไม่รองรับ Git Worktrees แต่จะรองรับเร็ว ๆ นี้ ดังนั้น หากต้องการใช้เค้าโครงก่อนหน้าต่อ คุณสามารถสลับเค้าโครงได้ในการตั้งค่า โปรดทราบว่าเค้าโครงใหม่จะกลายเป็นเค้าโครงถาวรภายในอีกไม่กี่สัปดาห์", + "dialog.project.edit.title": "แก้ไขโปรเจกต์", "dialog.project.edit.name": "ชื่อ", "dialog.project.edit.icon": "ไอคอน", @@ -442,6 +564,8 @@ export const dict = { "dialog.project.edit.worktree.startup.description": "ทำงานหลังจากสร้างพื้นที่ทำงานใหม่ (worktree)", "dialog.project.edit.worktree.startup.placeholder": "เช่น bun install", + "dialog.usageExceeded.dontShowAgain": "ไม่ต้องแสดงอีก", + "context.breakdown.title": "การแบ่งบริบท", "context.breakdown.note": 'การแบ่งโดยประมาณของโทเค็นนำเข้า "อื่น ๆ" รวมถึงคำนิยามเครื่องมือและโอเวอร์เฮด', "context.breakdown.system": "ระบบ", @@ -450,9 +574,11 @@ export const dict = { "context.breakdown.tool": "การเรียกเครื่องมือ", "context.breakdown.other": "อื่น ๆ", - "context.systemPrompt.title": "พร้อมท์ระบบ", + "context.systemPrompt.title": "พรอมต์ระบบ", "context.rawMessages.title": "ข้อความดิบ", + "context.export.session": "ส่งออกเซสชัน", + "context.stats.session": "เซสชัน", "context.stats.messages": "ข้อความ", "context.stats.provider": "ผู้ให้บริการ", @@ -531,6 +657,11 @@ export const dict = { "toast.session.unshare.failed.title": "ไม่สามารถยกเลิกการแชร์เซสชัน", "toast.session.unshare.failed.description": "เกิดข้อผิดพลาดระหว่างการยกเลิกการแชร์เซสชัน", + "toast.session.export.success.title": "ส่งออกเซสชันแล้ว", + "toast.session.export.success.description": "บันทึกเซสชันไปยัง {{filename}} แล้ว", + "toast.session.export.failed.title": "ไม่สามารถส่งออกเซสชัน", + "toast.session.export.failed.description": "เกิดข้อผิดพลาดขณะส่งออกเซสชัน", + "toast.session.listFailed.title": "ไม่สามารถโหลดเซสชันสำหรับ {{project}}", "toast.update.title": "มีการอัปเดต", @@ -540,7 +671,7 @@ export const dict = { "error.page.title": "เกิดข้อผิดพลาด", "error.page.description": "เกิดข้อผิดพลาดระหว่างการโหลดแอปพลิเคชัน", - "error.page.description.localServerStartup": "เกิดข้อผิดพลาดขณะเริ่มเซิร์ฟเวอร์ในเครื่อง.", + "error.page.description.localServerStartup": "เกิดข้อผิดพลาดขณะเริ่มเซิร์ฟเวอร์ในเครื่อง", "error.page.details.label": "รายละเอียดข้อผิดพลาด", "error.page.action.restart": "รีสตาร์ท", "error.page.action.report": "รายงานข้อผิดพลาด", @@ -584,7 +715,7 @@ export const dict = { "notification.question.description": "{{sessionTitle}} ใน {{projectName}} มีคำถาม", "notification.action.goToSession": "ไปที่เซสชัน", - "notification.session.responseReady.title": "การตอบสนองพร้อม", + "notification.session.responseReady.title": "คำตอบพร้อมแล้ว", "notification.session.error.title": "ข้อผิดพลาดเซสชัน", "notification.session.error.fallbackDescription": "เกิดข้อผิดพลาด", @@ -606,7 +737,7 @@ export const dict = { "home.sessions.group.today": "วันนี้", "home.sessions.group.yesterday": "เมื่อวาน", "home.sessions.group.older": "ก่อนหน้านี้", - "home.providerTip": "เชื่อมต่อกับผู้ให้บริการกว่า 75 รายเพื่อใช้โมเดลอื่นๆ รวมถึง Claude, GPT, Gemini และอีกมากมาย", + "home.providerTip": "เชื่อมต่อกับผู้ให้บริการกว่า 75 รายเพื่อใช้โมเดลอื่น ๆ รวมถึง Claude, GPT, Gemini และอีกมากมาย", "session.tab.session": "เซสชัน", "session.tab.review": "ตรวจสอบ", @@ -614,7 +745,7 @@ export const dict = { "session.tab.unknown": "เซสชันที่ไม่รู้จัก", "session.panel.reviewAndFiles": "ตรวจสอบและไฟล์", "session.error.notFound": "ไม่พบเซสชันนี้", - "session.error.notFound.description": "แท็บนี้อ้างถึงเซสชันที่ไม่มีอยู่บนเซิร์ฟเวอร์นี้แล้ว.", + "session.error.notFound.description": "แท็บนี้อ้างถึงเซสชันที่ไม่มีอยู่บนเซิร์ฟเวอร์นี้แล้ว", "session.error.notFound.closeTab": "ปิดแท็บ", "session.error.serverConnection": "ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์นี้", "session.review.filesChanged": "{{count}} ไฟล์ที่เปลี่ยนแปลง", @@ -704,13 +835,19 @@ export const dict = { "lsp.tooltip.none": "ไม่มีเซิร์ฟเวอร์ LSP", "lsp.label.connected": "{{count}} LSP", - "prompt.loading": "กำลังโหลดพร้อมท์...", + "prompt.loading": "กำลังโหลดพรอมต์...", "terminal.loading": "กำลังโหลดเทอร์มินัล...", "terminal.title": "เทอร์มินัล", "terminal.title.numbered": "เทอร์มินัล {{number}}", "terminal.close": "ปิดเทอร์มินัล", "terminal.connectionLost.title": "การเชื่อมต่อขาดหาย", "terminal.connectionLost.description": "การเชื่อมต่อเทอร์มินัลถูกขัดจังหวะ อาจเกิดขึ้นเมื่อเซิร์ฟเวอร์รีสตาร์ท", + "terminal.connectTicket.csrfError": + "ตั๋วเชื่อมต่อ PTY ถูกปฏิเสธโดยการตรวจสอบต้นทางหรือ CSRF โปรดตรวจสอบการกำหนดค่า CORS ของเซิร์ฟเวอร์", + "terminal.connectTicket.statusError": "ตั๋วเชื่อมต่อ PTY ล้มเหลวโดยมีสถานะ {{status}}", + + "titlebar.update": "อัปเดต", + "titlebar.updateVersion": "อัปเดต {{version}}", "common.closeTab": "ปิดแท็บ", "common.dismiss": "ปิด", @@ -718,6 +855,7 @@ export const dict = { "common.moreOptions": "ตัวเลือกเพิ่มเติม", "common.learnMore": "เรียนรู้เพิ่มเติม", "common.rename": "เปลี่ยนชื่อ", + "common.export": "ส่งออก", "common.reset": "รีเซ็ต", "common.archive": "จัดเก็บ", "common.delete": "ลบ", @@ -767,23 +905,23 @@ export const dict = { "settings.general.row.shell.autoDefault": "อัตโนมัติ (ค่าเริ่มต้น)", "settings.general.row.shell.terminalOnly": "เทอร์มินัลเท่านั้น", "settings.general.row.appearance.title": "รูปลักษณ์", - "settings.general.row.appearance.description": "ปรับแต่งวิธีการที่ OpenCode มีลักษณะบนอุปกรณ์ของคุณ", + "settings.general.row.appearance.description": "ปรับแต่งรูปลักษณ์ของ OpenCode บนอุปกรณ์ของคุณ", "settings.general.row.colorScheme.title": "โทนสี", "settings.general.row.colorScheme.description": "เลือกว่าจะให้ OpenCode ใช้ธีมตามระบบ สว่าง หรือมืด", "settings.general.row.theme.title": "ธีม", - "settings.general.row.theme.description": "ปรับแต่งวิธีการที่ OpenCode มีธีม", - "settings.general.row.font.title": "ฟอนต์โค้ด", - "settings.general.row.font.description": "ปรับแต่งฟอนต์ที่ใช้ในบล็อกโค้ด", - "settings.general.row.terminalFont.title": "ฟอนต์เทอร์มินัล", - "settings.general.row.terminalFont.description": "ปรับแต่งฟอนต์ที่ใช้ในเทอร์มินัล", - "settings.general.row.uiFont.title": "ฟอนต์ UI", - "settings.general.row.uiFont.description": "ปรับแต่งฟอนต์ที่ใช้ทั่วทั้งอินเทอร์เฟซ", + "settings.general.row.theme.description": "ปรับแต่งธีมของ OpenCode", + "settings.general.row.font.title": "แบบอักษรโค้ด", + "settings.general.row.font.description": "ปรับแต่งแบบอักษรที่ใช้ในบล็อกโค้ด", + "settings.general.row.terminalFont.title": "แบบอักษรเทอร์มินัล", + "settings.general.row.terminalFont.description": "ปรับแต่งแบบอักษรที่ใช้ในเทอร์มินัล", + "settings.general.row.uiFont.title": "แบบอักษร UI", + "settings.general.row.uiFont.description": "ปรับแต่งแบบอักษรที่ใช้ทั่วทั้งอินเทอร์เฟซ", "settings.general.row.followup.title": "พฤติกรรมการติดตามผล", - "settings.general.row.followup.description": "เลือกว่าจะให้พร้อมท์ติดตามผลทำงานทันทีหรือรอในคิว", + "settings.general.row.followup.description": "เลือกว่าจะให้พรอมต์ติดตามผลทำงานทันทีหรือรอในคิว", "settings.general.row.followup.option.queue": "คิว", "settings.general.row.followup.option.steer": "นำทาง", - "settings.general.row.showFileTree.title": "ต้นไม้ไฟล์", - "settings.general.row.showFileTree.description": "แสดงแผงต้นไม้ไฟล์ในเซสชัน", + "settings.general.row.showFileTree.title": "แผนผังไฟล์", + "settings.general.row.showFileTree.description": "แสดงแผงแผนผังไฟล์ในเซสชัน", "settings.general.row.showNavigation.title": "ตัวควบคุมการนำทาง", "settings.general.row.showNavigation.description": "แสดงปุ่มย้อนกลับและไปข้างหน้าในแถบชื่อเรื่องเดสก์ท็อป", "settings.general.row.showSearch.title": "ชุดคำสั่ง", @@ -795,8 +933,9 @@ export const dict = { "settings.general.row.mobileTitlebarBottom.title": "การนำทางด้านล่าง", "settings.general.row.mobileTitlebarBottom.description": "วางแถบชื่อเรื่องและแท็บเซสชันไว้ด้านล่างของหน้าจอบนอุปกรณ์เคลื่อนที่", - "settings.general.row.showCustomAgents.title": "เอเจนต์ที่กำหนดเอง", - "settings.general.row.showCustomAgents.description": "แสดงตัวเลือกเอเจนต์ในช่องเขียนข้อความ", + "settings.general.row.showCustomAgents.title": "แสดงเอเจนต์", + "settings.general.row.showCustomAgents.description": + "สลับระหว่างเอเจนต์ในช่องเขียนข้อความ เมื่อซ่อน ระบบจะใช้เอเจนต์ Build เป็นค่าเริ่มต้น", "settings.general.row.reasoningSummaries.title": "แสดงสรุปการใช้เหตุผล", "settings.general.row.reasoningSummaries.description": "แสดงสรุปการใช้เหตุผลของโมเดลในไทม์ไลน์", "settings.general.row.shellToolPartsExpanded.title": "ขยายส่วนเครื่องมือ shell", @@ -908,7 +1047,7 @@ export const dict = { "settings.shortcuts.group.navigation": "การนำทาง", "settings.shortcuts.group.modelAndAgent": "โมเดลและเอเจนต์", "settings.shortcuts.group.terminal": "เทอร์มินัล", - "settings.shortcuts.group.prompt": "พร้อมท์", + "settings.shortcuts.group.prompt": "พรอมต์", "settings.providers.title": "ผู้ให้บริการ", "settings.providers.description": "การตั้งค่าผู้ให้บริการจะสามารถกำหนดค่าได้ที่นี่", @@ -945,7 +1084,7 @@ export const dict = { "settings.permissions.tool.glob.description": "จับคู่ไฟล์โดยใช้รูปแบบ glob", "settings.permissions.tool.grep.title": "Grep", "settings.permissions.tool.grep.description": "ค้นหาเนื้อหาไฟล์โดยใช้นิพจน์ทั่วไป", - "settings.permissions.tool.list.title": "รายการ", + "settings.permissions.tool.list.title": "แสดงรายการ", "settings.permissions.tool.list.description": "แสดงรายการไฟล์ภายในไดเรกทอรี", "settings.permissions.tool.bash.title": "Bash", "settings.permissions.tool.bash.description": "เรียกใช้คำสั่งเชลล์", @@ -1018,13 +1157,16 @@ export const dict = { "dialog.server.add.passwordPlaceholder": "รหัสผ่าน", "server.row.noUsername": "ไม่มีชื่อผู้ใช้", "session.review.noVcs.createGit.title": "สร้าง Git รีโพซิทอรี", - "session.review.noVcs.createGit.description": "ติดตาม ตรวจสอบ และเลิกทำสิ่งเปลี่ยนแปลงในโปรเจกต์นี้", + "session.review.noVcs.createGit.description": "ติดตาม ตรวจสอบ และเลิกทำการเปลี่ยนแปลงในโปรเจกต์นี้", "session.review.noVcs.createGit.actionLoading": "กำลังสร้าง Git รีโพซิทอรี...", "session.review.noVcs.createGit.action": "สร้าง Git รีโพซิทอรี", "session.todo.progress": "เสร็จสิ้น {{done}} จาก {{total}} รายการ", "session.question.progress": "{{current}} จาก {{total}} คำถาม", "session.header.open.finder": "Finder", "session.header.open.fileExplorer": "File Explorer", + "session.header.reveal.finder": "แสดงใน Finder", + "session.header.reveal.fileExplorer": "แสดงใน File Explorer", + "session.header.reveal.containingFolder": "เปิดโฟลเดอร์ที่มีรายการนี้", "session.header.open.fileManager": "File Manager", "session.header.open.app.vscode": "VS Code", "session.header.open.app.cursor": "Cursor", @@ -1062,6 +1204,14 @@ export const dict = { "debugBar.mem.label": "MEM", "debugBar.mem.tipUnavailable": "JS heap ที่ใช้เทียบกับขีดจำกัด heap เฉพาะ Chromium", "debugBar.mem.tip": "JS heap ที่ใช้เทียบกับขีดจำกัด heap {{used}} จาก {{limit}}", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "บังคับใช้สไตล์โฟกัสกับองค์ประกอบแบบโต้ตอบทั้งหมด", + "debugBar.focus.on": "เปิด", + "debugBar.focus.off": "ปิด", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "บังคับกำหนดทิศทางเค้าโครงของทั้งแอปโดยไม่เปลี่ยนภาษาที่เลือก", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", "common.key.ctrl": "Ctrl", "common.key.alt": "Alt", "common.key.shift": "Shift", diff --git a/packages/app/src/i18n/tk.ts b/packages/app/src/i18n/tk.ts new file mode 100644 index 000000000000..2b144c6a26c7 --- /dev/null +++ b/packages/app/src/i18n/tk.ts @@ -0,0 +1,1159 @@ +export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Faýl", + "desktop.menu.edit": "Redaktirläň", + "desktop.menu.view": "Gör", + "desktop.menu.go": "Bar", + "desktop.menu.window": "Penjire", + "desktop.menu.help": "Kömek", + "desktop.menu.checkForUpdates": "Täzelenmeleri barlaň ...", + "desktop.menu.settings": "Sazlamalar", + "desktop.menu.reloadWebview": "Web sahypasyny täzeden ýükläň", + "desktop.menu.restart": "Gaýtadan açyň", + "desktop.menu.exportLogs": "Eksport surnallary ...", + "desktop.menu.newSession": "Täze sessiýa", + "desktop.menu.openProject": "Açyk taslama ...", + "desktop.menu.newWindow": "Täze penjire", + "desktop.menu.closeWindow": "Penjiräni ýapyň", + "desktop.menu.undo": "Yza gaýtar", + "desktop.menu.redo": "Gaýtadan işlediň", + "desktop.menu.cut": "Kesiň", + "desktop.menu.copy": "Göçüriň", + "desktop.menu.paste": "Goýuň", + "desktop.menu.delete": "Poz", + "desktop.menu.selectAll": "Hemmesini saýlaň", + "desktop.menu.toggleSidebar": "Gapdal paneli çalyşyň", + "desktop.menu.toggleTerminal": "Terminaly açyň", + "desktop.menu.toggleFileTree": "Faýl agajyny çalyşyň", + "desktop.menu.reload": "Gaýtadan ýükläň", + "desktop.menu.toggleDeveloperTools": "Öndüriji gurallaryny çalyşyň", + "desktop.menu.actualSize": "Hakyky ululygy", + "desktop.menu.zoomIn": "Ulaltmak", + "desktop.menu.zoomOut": "Ulaltmak", + "desktop.menu.toggleFullScreen": "Doly ekrany açyň", + "desktop.menu.back": "Yzyna", + "desktop.menu.forward": "Öňe", + "desktop.menu.previousSession": "Öňki sessiýa", + "desktop.menu.nextSession": "Indiki sessiýa", + "desktop.menu.previousProject": "Öňki taslama", + "desktop.menu.nextProject": "Indiki taslama", + "desktop.menu.minimize": "Minimallaşdyryň", + "desktop.menu.maximize": "Ulaltmak", + "desktop.menu.documentation": "OpenCode Resminamalar", + "desktop.menu.supportForum": "Goldaw forumy", + "desktop.menu.shareFeedback": "Pikir alyşma", + "desktop.menu.reportBug": "Bug barada habar beriň", + "desktop.menu.ariaLabel": "OpenCode menýusy", + "desktop.updater.dialog.checkFailed.message": "Täzelenme şowsuz boldy.", + "desktop.updater.dialog.checkFailed.title": "Täzelenme säwligi", + "desktop.updater.dialog.upToDate.message": "Döwrebap", + "desktop.updater.dialog.upToDate.title": "Täzelenme ýok", + "desktop.updater.dialog.ready.message": "Göçürilen {{version}} täzeläň. Indi täzeden başlaň?", + "desktop.updater.dialog.ready.title": "Täzelenme taýýar", + "desktop.updater.dialog.restart": "Gaýtadan açyň", + "desktop.updater.dialog.later": "Soňrak", + "desktop.recovery.action.relaunch": "Gaýtadan işlediň", + "desktop.recovery.action.exportLogs": "Surnallary eksport ediň", + "desktop.recovery.action.keepWaiting": "Garaşmagy dowam ediň", + "desktop.recovery.action.quit": "Taşla", + "desktop.recovery.loadFailed": "OpenCode ýükläp bilmedi", + "desktop.recovery.terminated": "OpenCode penjiresi garaşylmadyk ýagdaýda bes edildi", + "desktop.recovery.unresponsive": "OpenCode jogap berenok", + "desktop.recovery.unresponsive.detail": + "Programmany täzeden açyp bilersiňiz, surnallary açyp ýa-da garaşyp bilersiňiz.", + "desktop.recovery.loadFailed.detail": "Penjire: {{window}}\nURL: {{url}}\nRoralňyşlyk: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Penjire: {{window}}\nSebäp: {{reason}}\nKod: {{code}}", + "desktop.recovery.unknown": "", + "desktop.dialog.chooseFolder": "Papka saýlaň", + "desktop.dialog.chooseFile": "Faýl saýlaň", + "desktop.dialog.saveFile": "Faýly ýazdyryň", + "desktop.dialog.files": "Faýllar", + "desktop.server.local": "Serli serwer", + "desktop.wsl.error.windowsOnly": "WSL diňe Windows-de elýeterlidir", + "desktop.wsl.error.unavailable": "WSL elýeterli däl", + "desktop.wsl.error.listInstalled": "Gurlan WSL distroslaryny sanap bilmedi", + "desktop.wsl.error.listOnline": "Onlaýn WSL distroslaryny sanap bilmedi", + "desktop.wsl.error.executeDistro": "Distroda buýruklary ýerine ýetirip bolmaýar", + "desktop.wsl.error.installWsl": "WSL gurmak şowsuz", + "desktop.wsl.error.installDistro": "Distro gurup bilmedi: {{distro}}", + "desktop.wsl.error.installOpencode": "OpenCode gurmak şowsuz", + "desktop.wsl.error.alreadyAdded": "{{distro}} eýýäm goşuldy", + "desktop.wsl.error.opencodeMissing": "açyk kod bu distroda gurlanok", + "desktop.wsl.error.opencodeCannotRun": "opencode guruldy, ýöne işledip bilmedi", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode {{distro}} gurulmady", + "desktop.wsl.error.updateVersion": + "OpenCode täzelenmesi gutardy, ýöne {{distro}} henizem {{installed}} habar berýär; garaşylýan {{expected}}", + "desktop.wsl.error.noVersion": "wersiýasy ýok", + "desktop.wsl.error.serverExited": "WSL serweri işe başlandan soň çykdy (kod = {{code}} signal = {{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL serweri sagdyn bolmanka çykdy (kod = {{code}} signal = {{signal}}) {{output}}", + "desktop.wsl.error.healthTimeout": "{{distro}} saglyk barlagy üçin Sidecar, {{timeout}}ms-den soň gutardy", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} {{timeout}}ms-den soň gutardy", + "desktop.wsl.error.failedPort": "Port alyp bilmedi", + "desktop.picker.error.notSelected": "Faýl saýlaýjy tarapyndan saýlanmady", + "desktop.picker.error.sizeLimit": "Saýlanan goşundylar {{limit}} MB çäginden ýokary", + "command.category.suggested": "Teklip edilýär", + "command.category.view": "Gör", + "command.category.project": "Taslama", + "command.category.provider": "Üpjün ediji", + "command.category.server": "Serwer", + "command.category.session": "Sessiýa", + "command.category.theme": "Mowzuk", + "command.category.language": "Dil", + "command.category.file": "Faýl", + "command.category.context": "Kontekst", + "command.category.terminal": "Terminal", + "command.category.model": "Model", + "command.category.mcp": "MCP", + "command.category.agent": "Agent", + "command.category.permissions": "Rugsatlar", + "command.category.workspace": "Workspace", + "command.category.settings": "Sazlamalar", + "command.logs.export": "Surnallary eksport ediň", + "theme.scheme.system": "Ulgam", + "theme.scheme.light": "Lightagtylyk", + "theme.scheme.dark": "Garaňky", + "command.sidebar.toggle": "Gapdal paneli çalyşyň", + "command.project.open": "Açyk taslama", + "command.project.previous": "Öňki taslama", + "command.project.next": "Indiki taslama", + "command.project.index": "{{index}} taslamasyna geçiň", + "command.provider.connect": "Prowaýderi birikdiriň", + "command.server.switch": "Serwer", + "command.settings.open": "Sazlamalary açyň", + "command.session.previous": "Öňki sessiýa", + "command.session.next": "Indiki sessiýa", + "command.session.previous.unseen": "Öňki okalmadyk sessiýa", + "command.session.next.unseen": "Indiki okalmadyk sessiýa", + "command.session.archive": "Arhiw sessiýasy", + "command.palette": "Buýruk palitrasy", + "command.theme.cycle": "Sikl mowzugy", + "command.theme.set": "Tema ulanyň: {{theme}}", + "command.theme.scheme.cycle": "Sikl reňk shemasy", + "command.theme.scheme.set": "Reňk shemasyny ulanyň: {{scheme}}", + "command.language.cycle": "Sikl dili", + "command.language.set": "Dil ulanyň: {{language}}", + "command.session.new": "Täze sessiýa", + "command.file.open": "Faýl açyň", + "command.tab.close": "Salgy ýapyň", + "command.tab.reopenClosed": "Closedapyk goýmany açyň", + "command.context.addSelection": "Kontekste saýlama goşuň", + "command.context.addSelection.description": "Häzirki faýldan saýlanan setirleri goşuň", + "command.input.focus": "Giriş fokus", + "command.terminal.toggle": "Terminaly açyň", + "command.fileTree.toggle": "Faýl agajyny çalyşyň", + "command.review.toggle": "Gözden geçiriň", + "command.terminal.new": "Täze terminal", + "command.terminal.new.description": "Täze terminal goýmasyny dörediň", + "command.steps.toggle": "Ädimleri aç ýa-da ýap", + "command.steps.toggle.description": "Häzirki habar üçin ädimleri görkeziň ýa-da gizläň", + "command.message.previous": "Öňki habar", + "command.message.previous.description": "Öňki ulanyjy habaryna geçiň", + "command.message.next": "Indiki habar", + "command.message.next.description": "Indiki ulanyjy habaryna geçiň", + "command.model.choose": "Model saýlaň", + "command.model.choose.description": "Başga modeli saýlaň", + "command.mcp.toggle": "MCP-leri çalyşyň", + "command.mcp.toggle.description": "MCP-leri çalyşyň", + "command.agent.cycle": "Indiki agent", + "command.agent.cycle.description": "Indiki agente geçiň", + "command.agent.cycle.reverse": "Öňki agent", + "command.agent.cycle.reverse.description": "Öňki agente geçiň", + "command.model.variant.cycle": "Indiki pikirleniş derejesi", + "command.model.variant.cycle.description": "Indiki synanyşyk derejesine geçiň", + "command.prompt.mode.shell": "Shell", + "command.prompt.mode.normal": "Prompt", + "command.permissions.autoaccept.enable": "Rugsatlary awtomatiki kabul ediň", + "command.permissions.autoaccept.disable": "Awto-kabul ediş rugsatlaryny bes ediň", + "command.workspace.toggle": "Workspace-lary çalşyň", + "command.workspace.toggle.description": "Gapdal paneldäki birnäçe workspace-i işletmek ýa-da öçürmek", + "command.session.undo": "Yza gaýtar", + "command.session.undo.description": "Iň soňky habary yzyna al", + "command.session.redo": "Gaýtadan işlediň", + "command.session.redo.description": "Iň soňky yzyna gaýtarylan habary yzyna gaýtaryň", + "command.session.compact": "Ykjam sessiýa", + "command.session.compact.description": "Kontekstiň ululygyny azaltmak üçin sessiýany jemläň", + "command.session.fork": "Habardan şahalandyr", + "command.session.fork.description": "Öňki habardan täze sessiýa dörediň", + "command.session.share": "Sessiýa paýlaş", + "command.session.share.description": "Bu sessiýany paýlaşyň we URL buferine göçüriň", + "command.session.unshare": "Paýlaşma sessiýasy", + "command.session.unshare.description": "Bu sessiýany paýlaşmagy bes ediň", + "command.session.export": "Eksport sessiýasy", + "command.session.export.description": "Sessiýanyň doly ýazgysyny JSON görnüşinde eksport ediň", + "palette.search.placeholder": "Faýllary, buýruklary we sessiýalary gözläň", + "palette.search.placeholder.home": "Buýruklary we sessiýalary gözläň", + "palette.empty": "Netije tapylmady", + "palette.group.commands": "Buýruklar", + "palette.group.files": "Faýllar", + "dialog.provider.search.placeholder": "Gözleg üpjün edijileri", + "dialog.provider.empty": "Hiç hili prowaýder tapylmady", + "dialog.provider.group.popular": "Meşhur", + "dialog.provider.group.other": "Beýlekiler", + "dialog.provider.custom.label": "Xörite OpenAI gabat gelýän üpjün ediji", + "dialog.provider.tag.recommended": "Maslahat berilýär", + "dialog.provider.opencode.note": "Claude, GPT, Gemini we ş.m.", + "dialog.provider.opencode.tagline": "Ygtybarly optimal modeller", + "dialog.provider.opencodeGo.tagline": "Hemmeler üçin arzan bahaly abuna", + "dialog.provider.anthropic.note": "Pro we Max ýaly Claude modellerine göni giriş", + "dialog.provider.copilot.note": "GitHub Copilot arkaly kodlaşdyrmak üçin AI modelleri", + "dialog.provider.openai.note": "Çalt, başarnykly umumy AI meseleleri üçin GPT modelleri", + "dialog.provider.google.note": "Çalt, gurluşly jogaplar üçin Gemini modelleri", + "dialog.provider.openrouter.note": "Bir üpjün edijiden ähli goldanýan modellere giriň", + "dialog.provider.vercel.note": "Akylly marşrutizasiýa bilen AI modellerine bitewi giriş", + "dialog.model.select.title": "Model saýlaň", + "dialog.model.search.placeholder": "Gözleg modelleri", + "dialog.model.empty": "Hiç hili model netijesi ýok", + "dialog.model.manage": "Modelleri dolandyryň", + "dialog.model.manage.description": "Model saýlaýjysynda haýsy modelleriň peýda bolýandygyny düzüň.", + "dialog.model.manage.provider.toggle": "Zhli {{provider}} modellerini üýtgediň", + "dialog.model.unpaid.freeModels.title": "OpenCode tarapyndan mugt modeller", + "dialog.model.unpaid.addMore.title": "Meşhur üpjün edijilerden has köp model goşuň", + "dialog.model.unpaid.viewMoreProviders": "Moreene-de 70+ üpjün edijä serediň", + "dialog.provider.viewAll": "Has köp üpjün edijini görkeziň", + "provider.connect.title": "{{provider}} birikdiriň", + "provider.connect.title.anthropicProMax": "Claude Pro / Maks bilen giriň", + "provider.connect.selectMethod": "{{provider}} üçin giriş usulyny saýlaň.", + "provider.connect.method.apiKey": "API açary", + "provider.connect.method.browser": "Brauzer", + "provider.connect.method.headless": "Kellesiz", + "provider.connect.status.inProgress": "Ygtyýarnama dowam edýär ...", + "provider.connect.status.waiting": "Ygtyýarnama garaşýarys ...", + "provider.connect.status.failed": "Ygtyýarnama şowsuz: {{error}}", + "provider.connect.apiKey.description": + "Hasabyňyzy birikdirmek we OpenCode-da {{provider}} modellerini ulanmak üçin {{provider}} API açaryňyzy giriziň.", + "provider.connect.apiKey.label": "{{provider}} API açary", + "provider.connect.apiKey.placeholder": "API açary", + "provider.connect.apiKey.required": "API açary talap edilýär", + "provider.connect.opencodeZen.line1": + "OpenCode Zen kodlaşdyrmak serişdeleri üçin ygtybarly optimallaşdyrylan modelleriň toplumyna girmäge mümkinçilik berýär.", + "provider.connect.opencodeZen.line2": + "Zekeje API açary bilen Claude, GPT, Gemini, GLM we başgalar ýaly modellere girip bilersiňiz.", + "provider.connect.opencodeZen.visit.prefix": "Sapar ", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": " API açaryňyzy ýygnamak.", + "provider.connect.oauth.code.visit.prefix": "Sapar ", + "provider.connect.oauth.code.visit.link": "Bu baglanyşyk", + "provider.connect.oauth.code.visit.suffix": + " hasabyňyzy birikdirmek we {{provider}} modellerini OpenCode-de ulanmak üçin ygtyýarnama koduňyzy ýygnamak.", + "provider.connect.oauth.code.label": "{{method}} ygtyýarnama kody", + "provider.connect.oauth.code.placeholder": "Awtorizasiýa kody", + "provider.connect.oauth.code.required": "Awtorizasiýa kody talap edilýär", + "provider.connect.oauth.code.invalid": "Nädogry ygtyýar kody", + "provider.connect.oauth.auto.visit.prefix": "Sapar ", + "provider.connect.oauth.auto.visit.link": "Bu baglanyşyk", + "provider.connect.oauth.auto.visit.suffix": + " hasabyňyzy birikdirmek we {{provider}} modellerini OpenCode-de ulanmak üçin aşakdaky kody giriziň.", + "provider.connect.oauth.auto.confirmationCode": "Tassyklama kody", + "provider.connect.toast.connected.title": "{{provider}} birikdirildi", + "provider.connect.toast.connected.description": "{{provider}} modelleri indi ulanylyp bilner.", + "provider.custom.title": "Hususy üpjün ediji", + "provider.custom.unavailable": "Bu serwerde ýörite üpjün edijiler elýeterli däl", + "provider.custom.description.prefix": "OpenAI gabat gelýän üpjün edijini sazlaň. Serediň ", + "provider.custom.description.link": "üpjün ediji konfigurasiýa resminamalary", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "Üpjün edijiniň şahsyýetnamasy", + "provider.custom.field.providerID.placeholder": "myprovider", + "provider.custom.field.providerID.description": "Uly harplar, sanlar, çyzgylar ýa-da aşaky çyzyklar", + "provider.custom.field.name.label": "Adyny görkeziň", + "provider.custom.field.name.placeholder": "AI üpjün edijim", + "provider.custom.field.baseURL.label": "Esasy URL", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "API açary", + "provider.custom.field.apiKey.placeholder": "API açary", + "provider.custom.field.apiKey.description": "Meýletin. Awtory sözbaşylar arkaly dolandyrsaňyz, boş goýuň.", + "provider.custom.models.label": "Modeller", + "provider.custom.models.id.label": "Şahsyýetnamasy", + "provider.custom.models.id.placeholder": "model-id", + "provider.custom.models.name.label": "Ady", + "provider.custom.models.name.placeholder": "Ekranyň ady", + "provider.custom.models.remove": "Modelini aýyryň", + "provider.custom.models.add": "Model goşuň", + "provider.custom.headers.label": "Sözbaşylar (islege görä)", + "provider.custom.headers.key.label": "Sözbaşy", + "provider.custom.headers.key.placeholder": "Adyň ady", + "provider.custom.headers.value.label": "Gymmatlyk", + "provider.custom.headers.value.placeholder": "bahasy", + "provider.custom.headers.remove": "Sözbaşy aýyryň", + "provider.custom.headers.add": "Sözbaşy goşuň", + "provider.custom.error.providerID.required": "Üpjün edijiniň şahsyýetnamasy talap edilýär", + "provider.custom.error.providerID.format": "Baş harplary, sanlary, defisleri ýa-da aşaky harplary ulanyň", + "provider.custom.error.providerID.exists": "Şol üpjün edijiniň ID-si eýýäm bar", + "provider.custom.error.name.required": "Ekranyň ady talap edilýär", + "provider.custom.error.baseURL.required": "Esasy URL hökmany", + "provider.custom.error.baseURL.format": "Http: // ýa-da https: // bilen başlamaly", + "provider.custom.error.required": "Gerekli", + "provider.custom.error.duplicate": "Göçürme", + "provider.disconnect.toast.disconnected.title": "{{provider}} kesildi", + "provider.disconnect.toast.disconnected.description": "{{provider}} modelleri indi ýok.", + "model.tag.free": "Mugt", + "model.tag.latest": "Iň soňky", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "tekst", + "model.input.image": "şekil", + "model.input.audio": "ses", + "model.input.video": "wideo", + "model.input.pdf": "pdf", + "model.tooltip.allows": "Rugsat berýär: {{inputs}}", + "model.tooltip.context.label": "Kontekst", + "model.tooltip.inputs": "Girişler", + "model.tooltip.model": "Model", + "model.tooltip.provider": "Üpjün ediji", + "model.tooltip.reasoning": "Sebäpler", + "model.tooltip.reasoning.allowed": "Pikirlenmäge rugsat berýär", + "model.tooltip.reasoning.none": "Sebäp ýok", + "model.tooltip.context": "Kontekstiň çäkleri {{limit}}", + "common.search.placeholder": "Gözlemek", + "common.goBack": "Yza gaýdyň", + "common.goForward": "Öňe gidiň", + "common.loading": "Adingüklemek", + "common.loading.ellipsis": "...", + "common.cancel": "Elatyr", + "common.clear": "Arassala", + "common.open": "Açyň", + "common.connect": "Birikdiriň", + "common.disconnect": "Aýyr", + "common.continue": "Dowam et", + "common.submit": "Iberiň", + "common.save": "Saklaň", + "common.saving": "Tygşytlamak ...", + "common.default": "Bellenen", + "common.attachment": "goşundy", + "prompt.placeholder.shell": "Shell buýrugyny giriziň ... {{example}}", + "prompt.placeholder.normal": 'Islän zadyňyzy soraň ... "{{example}}"', + "prompt.placeholder.simple": "Islän zadyňyzy soraň ...", + "prompt.placeholder.summarizeComments": "Teswirleri jemläň…", + "prompt.placeholder.summarizeComment": "Teswirleri jemläň…", + "prompt.mode.shell": "Shell", + "prompt.mode.normal": "Prompt", + "prompt.mode.shell.exit": "çykmak", + "session.child.promptDisabled": "Subagent sessiýalary soralyp bilinmez.", + "session.child.backToParent": "Esasy sessiýa dolan.", + "prompt.example.1": "Kod bazasynda TODO düzediň", + "prompt.example.2": "Bu taslamanyň tehnologiýa toplumy näme?", + "prompt.example.3": "Döwülen synaglary düzediň", + "prompt.example.4": "Autentifikasiýanyň nähili işleýändigini düşündiriň", + "prompt.example.5": "Howpsuzlyk gowşak taraplaryny tapyň we düzediň", + "prompt.example.6": "Ulanyjy hyzmaty üçin birlik synaglaryny goşuň", + "prompt.example.7": "Has köp okalmagy üçin bu funksiýany üýtgediň", + "prompt.example.8": "Bu ýalňyşlyk nämäni aňladýar?", + "prompt.example.9": "Bu meseläni çözmäge kömek ediň", + "prompt.example.10": "API resminamalaryny dörediň", + "prompt.example.11": "Maglumat bazasynyň talaplaryny optimizirläň", + "prompt.example.12": "Giriş tassyklamasyny goşuň", + "prompt.example.13": "Üçin täze komponent dörediň ...", + "prompt.example.14": "Bu taslamany nädip ýerleşdirmeli?", + "prompt.example.15": "Iň oňat tejribe üçin kodumy gözden geçiriň", + "prompt.example.16": "Bu funksiýa säwlik bilen işlemek goşuň", + "prompt.example.17": "Bu regex görnüşini düşündiriň", + "prompt.example.18": "Muny TypeScript-e öwüriň", + "prompt.example.19": "Kod bazasynyň hemme ýerinde hasaba giriň", + "prompt.example.20": "Haýsy baglylyklar köne?", + "prompt.example.21": "Migrasiýa skriptini ýazmaga kömek ediň", + "prompt.example.22": "Bu ahyrky nokat üçin keş keşini ýerine ýetiriň", + "prompt.example.23": "Bu sanawa sahypa goşuň", + "prompt.example.24": "Üçin CLI buýrugyny dörediň ...", + "prompt.example.25": "Daşky gurşaw üýtgeýjileri bu ýerde nähili işleýär?", + "prompt.popover.emptyResults": "Gabat gelýän netijeler ýok", + "prompt.popover.emptyCommands": "Gabat gelýän buýruklar ýok", + "prompt.dropzone.label": "Suratlary, PDF-leri ýa-da tekst faýllaryny şu ýere taşlaň", + "prompt.dropzone.file.label": "@mention faýlyna geçiň", + "prompt.slash.badge.custom": "adat", + "prompt.slash.badge.skill": "ussatlygy", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "işjeň", + "prompt.context.includeActiveFile": "Işjeň faýly goşuň", + "prompt.context.removeActiveFile": "Işjeň faýly kontekstden aýyryň", + "prompt.context.removeFile": "Faýly kontekstden aýyryň", + "prompt.action.attachFile": "Faýl goşuň", + "prompt.menu.addImagesAndFiles": "Faýl we ş.m. goşuň", + "prompt.menu.imagesAndFiles": "Suratlar we faýllar", + "prompt.menu.commands": "Buýruklar", + "prompt.menu.context": "Kontekst", + "prompt.menu.shellCommand": "Shell buýrugy", + "prompt.attachment.remove": "Goşundyny aýyryň", + "prompt.action.send": "Iber", + "prompt.action.stop": "Dur", + "prompt.toast.pasteUnsupported.title": "Goldaw berilmeýän goşundy", + "prompt.toast.pasteUnsupported.description": "Bu ýerde diňe suratlar, PDF ýa-da tekst faýllary birikdirilip bilner.", + "prompt.toast.attachmentDuplicate.title": "Bu faýl eýýäm ýüklendi", + "prompt.toast.modelAgentRequired.title": "Agent we model saýlaň", + "prompt.toast.modelAgentRequired.description": "Sorag ibermezden ozal agent we model saýlaň.", + "prompt.toast.worktreeCreateFailed.title": "Git worktree döredip bolmady", + "prompt.toast.sessionCreateFailed.title": "Sessiýa döredip bilmedi", + "prompt.toast.shellSendFailed.title": "Shell buýrugy iberilmedi", + "prompt.toast.commandSendFailed.title": "Buýruk iberilmedi", + "prompt.toast.promptSendFailed.title": "Prompt iberilmedi", + "prompt.toast.promptSendFailed.description": "Sessiýany alyp bolmaýar", + "dialog.mcp.title": "MCP", + "dialog.mcp.description": "{{total}}-iň {{enabled}} açyk", + "dialog.mcp.empty": "Hiç hili MCP düzülmedi", + "dialog.lsp.empty": "LSP-ler faýl görnüşlerinden awtomatiki usulda tapyldy", + "dialog.plugins.empty": "opencode.json-de düzülen pluginler", + "mcp.status.connected": "birikdirildi", + "mcp.status.failed": "şowsuz", + "mcp.status.needs_auth": "auth gerek", + "mcp.status.disabled": "maýyp", + "mcp.auth.clickToAuthenticate": "Hakyky tassyklamak üçin basyň", + "dialog.fork.empty": "Şahalandyrmaly habar ýok", + "dialog.directory.search.placeholder": "Papkalary gözläň", + "dialog.directory.empty": "Papka tapylmady", + "dialog.directory.action.selectFile": "Faýly saýlaň", + "dialog.directory.action.selectFolder": "Papkany saýlaň", + "dialog.directory.root": "Kök", + "dialog.directory.parent": "Ene-ata", + "dialog.directory.readError": "Bu bukjany okap bolmaýar", + "app.server.unreachable": "{{server}} baryp bilmedi", + "app.server.retrying": "Awtomatiki usulda gaýtadan synanyşmak ...", + "app.server.otherServers": "Beýleki serwerler", + "dialog.server.title": "Serwerler", + "dialog.server.description": "Bu programmanyň haýsy OpenCode serwerine birikýändigini üýtgediň.", + "dialog.server.search.placeholder": "Serwerleri gözläň", + "dialog.server.empty": "Entek serwer ýok", + "dialog.server.add.title": "Serwer goşuň", + "dialog.server.add.url": "Serwer salgysy", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "Serwere birigip bilmedim", + "dialog.server.add.checking": "Barlamak ...", + "dialog.server.add.button": "Serwer goşuň", + "dialog.server.add.name": "Serweriň ady (islege görä)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "Ulanyjy ady (islege görä)", + "dialog.server.add.usernamePlaceholder": "ulanyjy ady", + "dialog.server.add.password": "Parol (islege görä)", + "dialog.server.add.passwordPlaceholder": "parol", + "dialog.server.edit.title": "Serweri redaktirläň", + "dialog.server.default.title": "Bellenen serwer", + "dialog.server.default.description": + "Servererli serweri başlamagyň ýerine programma goýberilende bu serwere birikdiriň. Gaýtadan açmagy talap edýär.", + "dialog.server.default.none": "Hiç hili serwer saýlanmady", + "dialog.server.default.set": "Häzirki serweri deslapky görnüşde düzüň", + "dialog.server.default.clear": "Arassala", + "dialog.server.action.remove": "Serweri aýyryň", + "dialog.server.menu.edit": "Redaktirläň", + "dialog.server.menu.default": "Dymmaklyk hökmünde düzüň", + "dialog.server.menu.defaultRemove": "Dymmaklygy aýyryň", + "dialog.server.menu.delete": "Poz", + "dialog.server.current": "Häzirki Serwer", + "dialog.server.status.default": "Bellenen", + "wsl.server.add": "WSL serwerini goşuň", + "wsl.server.addShort": "WSL goşuň", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "WSL serweri", + "wsl.server.retryStart": "Başlaň", + "wsl.server.updating": "Täzelenmek ...", + "wsl.onboarding.step.distro": "Distro saýlaň", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "WSL barlamak ...", + "wsl.onboarding.restartRequired": "Windows, WSL gurnamagy gutarmak üçin täzeden başlamaly.", + "wsl.onboarding.ready": "WSL taýýar.", + "wsl.onboarding.required": "Dowam etmek üçin WSL talap edilýär.", + "wsl.onboarding.checkingDistros": "Distroslary barlamak ...", + "wsl.onboarding.installingDistro": "{{distro}} gurmak ...", + "wsl.onboarding.checkingDistro": "{{distro}} barlamak ...", + "wsl.onboarding.listingDistros": "Distroslaryň sanawy ...", + "wsl.onboarding.distroReady": "{{distro}} taýýar.", + "wsl.onboarding.distroNotInstalled": "{{distro}} entek gurlanok.", + "wsl.onboarding.openDistroOnce": "Gurmak işini tamamlamak üçin {{distro}} bir gezek açyň.", + "wsl.onboarding.finishingDistro": "{{distro}} üçin gurnama.", + "wsl.onboarding.pickDistro": "Distro saýlaň ýa-da aşakda birini guruň.", + "wsl.onboarding.checkingOpencode": "OpenCode barlamak ...", + "wsl.onboarding.checkingOpencodeIn": "{{distro}} içinde OpenCode barlanýar...", + "wsl.onboarding.updatingOpencode": "OpenCode täzelenmek ...", + "wsl.onboarding.updatingOpencodeIn": "{{distro}}-de OpenCode täzelenmek ...", + "wsl.onboarding.updateOpencodeIn": "OpenCode-ni {{distro}}-de täzeläň.", + "wsl.onboarding.updateOpencode": "OpenCode täzeläň", + "wsl.onboarding.opencodeReadyIn": "OpenCode {{distro}}-de taýýar.", + "wsl.onboarding.opencodeReady": "OpenCode taýýar.", + "wsl.onboarding.installOpencodeIn": "{{distro}}-de OpenCode guruň.", + "wsl.onboarding.installOpencode": "OpenCode guruň", + "wsl.onboarding.chooseDistroFirst": "Ilki bilen distro saýlaň.", + "wsl.onboarding.loadFailed": "WSL ýagdaýyny ýükläp bilmedi.", + "wsl.onboarding.loading": "Adingüklenýär ...", + "wsl.onboarding.installedDistros": "Gurlan distroslar", + "wsl.onboarding.checkAgain": "Againene bir gezek barlaň", + "wsl.onboarding.distroStatus.ready": "Taýýar", + "wsl.onboarding.distroStatus.checking": "Barlamak ...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode gurulmady", + "wsl.onboarding.distroStatus.missingTools": "Ingitirim bolan baş, egri", + "wsl.onboarding.distroStatus.unsupported": "Goldaw berilmeýär · WSL 2 ulanyň", + "wsl.onboarding.needAnotherDistro": "Başga bir distro gerekmi?", + "wsl.onboarding.needAnotherDistroHint": "WSL katalogyndan Linux paýlanyşyny guruň", + "wsl.onboarding.wslNotInstalled.title": "WSL gurulmady", + "wsl.onboarding.wslNotInstalled.description": + "WSL (Linux üçin Windows kiçi ulgamy) OpenCode WSL serwerini goşmazdan ozal talap edilýär", + "wsl.onboarding.wslUnavailable.title": "WSL elýeterli däl", + "wsl.onboarding.wslUnavailable.description": "OpenCode bu enjamda WSL barlap bilmedi.", + "wsl.onboarding.installWsl": "WSL guruň", + "wsl.onboarding.windowsRestartRequired": "WSL gurnamagy gutarmak üçin Windows-i täzeden açyň, soňra OpenCode açyň.", + "wsl.onboarding.next": "Indiki", + "wsl.onboarding.refresh": "Täzele", + "wsl.onboarding.allDistrosAdded": "Gurlan distroslaryň hemmesi eýýäm goşuldy.", + "wsl.onboarding.noDistros": "Entek hiç hili distro tapylmady.", + "wsl.onboarding.install": "Gurnama", + "wsl.onboarding.installing": "Gurmak ...", + "wsl.onboarding.installDistro": "Distro guruň", + "wsl.onboarding.searchDistros": "Distroslary gözläň", + "wsl.onboarding.wsl2Required": "WSL 2 talap edilýär.", + "wsl.onboarding.toolsRequired": "Bu distro üçin bash we curl gerek.", + "wsl.onboarding.openTerminal": "Terminal açyň", + "wsl.onboarding.path": ": Ol: {{path}}", + "wsl.onboarding.notFound": "tapylmady", + "wsl.onboarding.version": "Wersiýa: {{version}}", + "wsl.onboarding.unknown": "näbelli", + "wsl.onboarding.desktopVersion": "iş stoly {{version}}", + "wsl.onboarding.versionMismatch": "Gurlan wersiýa iş stoly programma wersiýasyna gabat gelenok.", + "wsl.onboarding.adding": "Goşmak ...", + "help.tabs.toast.ariaLabel": + "Salgylar bilen tanyşdyrmak. Işleriňizi we işjeň sessiýalaryňyzy bellikler bilen tertipläň", + "help.tabs.toast.dismiss": "Salgylar baradaky maglumatlary aýyryň", + "help.tabs.title": "Salgylar bilen tanyşdyrmak", + "help.tabs.description": "Işleriňizi we işjeň sessiýalaryňyzy bellikler bilen tertipläň", + "help.tabs.date": "14-nji iýul", + "help.tabs.introduction": "OpenCode Desktop indi goýmalaryň töwereginde guruldy.", + "help.tabs.sessions": + "Salgyda täze sessiýa başlaň ýa-da islendik taslamaňyzdan bar bolan sessiýany açyň. Täze bir zat başlanyňyzda täze tab açyň we gutaranyňyzdan soň ýapyň.", + "help.tabs.organize": + "Birnäçe goýmany açyk saklamak, işjeň sessiýalaryňyzy tertipleşdirmegi aňsatlaşdyrýar. Tablisalary ýatda saklamagy meýilleşdirýän bolsaňyz, ýatdan çykmajak bir zadyň adyny üýtgediň.", + "help.tabs.home": + "Xhli sessiýalaryňyzy we taslamalaryňyzy täze Home ekranynda tapyp bilersiňiz. Sessiýany saýlamak ony goýmada açýar.", + "help.tabs.persistence": "Programmany açanyňyzda, goýmalar henizem açyk.", + "help.tabs.worktrees": + "Täze dizaýn entek Git Worktrees-i goldamaýar, ýakyn wagtda çykar. Şonuň üçin öňki tertibi ulanmagy dowam etdirmek isleseňiz, Sazlamalardaky düzülişleriň arasynda geçip bilersiňiz. Täze düzülişiň birnäçe hepdeden hemişelik boljakdygyny ýadyňyzdan çykarmaň.", + "server.row.noUsername": "ulanyjy ady ýok", + "dialog.project.edit.title": "Taslamany redaktirläň", + "dialog.project.edit.name": "Ady", + "dialog.project.edit.icon": "Nyşan", + "dialog.project.edit.icon.alt": "Taslamanyň nyşany", + "dialog.project.edit.icon.hint": "Surata basyň ýa-da süýräň", + "dialog.project.edit.icon.recommended": "Maslahat berilýär: 128x128px", + "dialog.project.edit.color": "Reňk", + "dialog.project.edit.color.select": "{{color}} reňkini saýlaň", + "dialog.project.edit.worktree.startup": "Workspace başlangyç skripti", + "dialog.project.edit.worktree.startup.description": "Täze workspace (Git worktree) döredilenden soň işleýär.", + "dialog.project.edit.worktree.startup.placeholder": "meselem bun install", + "dialog.releaseNotes.action.getStarted": "Başla", + "dialog.releaseNotes.action.next": "Indiki", + "dialog.releaseNotes.action.hideFuture": "Geljekde bulary görkezmäň", + "dialog.releaseNotes.media.alt": "Öňünden görüş", + "context.breakdown.title": "Kontekstiň bölünişi", + "context.breakdown.note": + 'Giriş bellikleriniň takmynan döwülmegi. "Beýlekiler" gural kesgitlemelerini we goşmaça sözleri öz içine alýar.', + "context.breakdown.system": "Ulgam", + "context.breakdown.user": "Ulanyjy", + "context.breakdown.assistant": "Kömekçi", + "context.breakdown.tool": "Gural jaňlary", + "context.breakdown.other": "Beýlekiler", + "context.systemPrompt.title": "Ulgam prompt-y", + "context.rawMessages.title": "Çig habarlar", + "context.export.session": "Eksport sessiýasy", + "context.stats.session": "Sessiýa", + "context.stats.messages": "Habarlar", + "context.stats.provider": "Üpjün ediji", + "context.stats.model": "Model", + "context.stats.limit": "Kontekstiň çäkleri", + "context.stats.totalTokens": "Jemi belgiler", + "context.stats.usage": "Ulanylyşy", + "context.stats.inputTokens": "Giriş belgileri", + "context.stats.outputTokens": "Çykyş belgileri", + "context.stats.reasoningTokens": "Tokenler", + "context.stats.cacheTokens": "Keş Tokens (oka / ýaz)", + "context.stats.userMessages": "Ulanyjy habarlary", + "context.stats.assistantMessages": "Kömekçi habarlar", + "context.stats.totalCost": "Jemi bahasy", + "context.stats.sessionCreated": "Sessiýa döredildi", + "context.stats.lastActivity": "Soňky işjeňlik", + "context.usage.tokens": "Belgiler", + "context.usage.usage": "Ulanylyşy", + "context.usage.cost": "Bahasy", + "context.usage.clickToView": "Konteksti görmek üçin basyň", + "context.usage.view": "Kontekstiň ulanylyşyny görüň", + "language.en": "Iňlis", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Doýçe", + "language.es": "Español", + "language.fr": "Fransuz", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "Polski", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Norsk", + "language.br": "Português (Braziliýa)", + "language.bs": "Bosanski", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Türkçe", + "toast.language.title": "Dil", + "toast.language.description": "{{language}}-e geçdi", + "toast.theme.title": "Tema açyldy", + "toast.scheme.title": "Reňk shemasy", + "toast.workspace.enabled.title": "Workspace-lar açyk", + "toast.workspace.enabled.description": "Indi gapdal panelde birnäçe Git worktree görkezilýär", + "toast.workspace.disabled.title": "Workspace-lar ýapyk", + "toast.workspace.disabled.description": "Gapdal panelde diňe esasy Git worktree görkezilýär", + "toast.permissions.autoaccept.on.title": "Awto-kabul ediş rugsatlary", + "toast.permissions.autoaccept.on.description": "Rugsat haýyşlary awtomatiki tassyklanar", + "toast.permissions.autoaccept.off.title": "Awto-kabul ediş rugsatlary bes edildi", + "toast.permissions.autoaccept.off.description": "Rugsat haýyşlary tassyklamagy talap eder", + "toast.model.none.title": "Hiç hili model saýlanmady", + "toast.model.none.description": "Bu sessiýany jemlemek üçin üpjün edijini birikdiriň", + "toast.file.loadFailed.title": "Faýl ýükläp bilmedi", + "toast.file.listFailed.title": "Faýllary sanap bilmedi", + "toast.context.noLineSelection.title": "Setir saýlamasy ýok", + "toast.context.noLineSelection.description": "Ilki bilen faýl goýmasynda setir aralygyny saýlaň.", + "toast.session.share.copyFailed.title": "URL buferine göçürip bilmedi", + "toast.session.share.success.title": "Sessiýa paýlaşyldy", + "toast.session.share.success.description": "Buferde göçürilen URL paýlaşyň!", + "toast.session.share.failed.title": "Sessiýany paýlaşyp bilmedi", + "toast.session.share.failed.description": "Sessiýa paýlaşylanda ýalňyşlyk ýüze çykdy", + "toast.session.unshare.success.title": "Sessiýa paýlaşylmady", + "toast.session.unshare.success.description": "Sessiýa üstünlikli paýlaşylmady!", + "toast.session.unshare.failed.title": "Sessiýa paýlaşylmady", + "toast.session.unshare.failed.description": "Sessiýa paýlaşylanda ýalňyşlyk ýüze çykdy", + "toast.session.export.success.title": "Sessiýa eksport edildi", + "toast.session.export.success.description": "Sessiýa {{filename}}-de saklandy", + "toast.session.export.failed.title": "Sessiýa eksport edip bilmedi", + "toast.session.export.failed.description": "Sessiýa eksport edilende säwlik ýüze çykdy", + "toast.session.listFailed.title": "{{project}} üçin sessiýalary ýükläp bilmedi", + "toast.project.reloadFailed.title": "{{project}} ýükläp bilmedi", + "toast.update.title": "Täzelenme elýeterli", + "toast.update.description": "Indi gurmak üçin OpenCode ({{version}}) -iň täze wersiýasy bar.", + "toast.update.action.installRestart": "Guruň we täzeden açyň", + "toast.update.action.notYet": "Entek däl", + "error.page.title": "Bir zat nädogry boldy", + "error.page.description": "Programmany ýükläniňizde säwlik ýüze çykdy.", + "error.page.description.localServerStartup": "Serli serweri işe girizeniňizde säwlik ýüze çykdy.", + "error.page.details.label": "Roralňyşlyk maglumatlary", + "error.page.action.restart": "Gaýtadan açyň", + "error.page.action.report": "Roralňyşlyk barada habar beriň", + "error.page.action.reported": "Roralňyşlyk habar berildi", + "error.page.action.exportLogs": "Surnallary eksport ediň", + "error.page.action.checking": "Barlamak ...", + "error.page.action.checkUpdates": "Täzelenmeleri barlaň", + "error.page.action.updateTo": "{{version}} täzeläň", + "error.page.circular": "[Tegelek]", + "error.page.report.prefix": "Bu ýalňyşlygy OpenCode toparyna habar bermegiňizi haýyş edýäris", + "error.page.report.discord": "Diskord", + "error.page.version": "Wersiýa: {{version}}", + "error.dev.rootNotFound": + "Kök elementi tapylmady index.html-e goşmagy ýatdan çykardyňyzmy? Ora-da id atributynyň ýalňyş ýazylan bolmagy mümkin?", + "error.serverSync.connectFailed": "Serwere birigip bilmedim. `{{url}}`-de işleýän serwer barmy?", + "error.serverSDK.noServerAvailable": "Serwer ýok", + "error.serverSDK.serverNotAvailable": "Serwer elýeterli däl", + "error.childStore.persistedCacheCreateFailed": "Dowamly keş ýasap bilmedi", + "error.childStore.persistedProjectMetadataCreateFailed": "Dowamly taslama meta-maglumatyny döredip bilmedi", + "error.childStore.persistedProjectIconCreateFailed": "Dowamly taslama nyşanyny döredip bilmedi", + "error.childStore.storeCreateFailed": "Dükan döredip bilmedi", + "directory.error.invalidUrl": "URL-de nädogry katalog.", + "error.chain.unknown": "Näbelli ýalňyşlyk", + "error.server.invalidConfiguration": "Nädogry konfigurasiýa", + "error.chain.causedBy": "Sebäp:", + "error.chain.apiError": "API ýalňyşlygy", + "error.chain.status": ": Agdaýy: {{status}}", + "error.chain.retryable": "Gaýtadan synanyşyp boljak: {{retryable}}", + "error.chain.responseBody": "Jogap beriji organ:\n{{body}}", + "error.chain.didYouMean": "Diýjek bolduňmy: {{suggestions}}", + "error.chain.modelNotFound": "Model tapylmady: {{provider}} / {{model}}", + "error.chain.checkConfig": "Konfigurasiýaňyzy (opencode.json) üpjün edijiniň / model atlaryny barlaň", + "error.chain.mcpFailed": 'MCP serweri "{{name}}" şowsuz. Üns beriň, OpenCode entek MCP tassyklamasyny goldamaýar.', + "error.chain.providerAuthFailed": "Prowaýderiň tassyklamasy şowsuz ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + '"{{provider}}" üpjün edijini işe girizip bilmedi. Şahsyýetnamalary we konfigurasiýany barlaň.', + "error.chain.configJsonInvalid": "{{path}} faýly sazlamak JSON (C)", + "error.chain.configJsonInvalidWithMessage": "{{path}} faýly sazlamak JSON (C): {{message}}", + "error.chain.configDirectoryTypo": + '{{path}}-daky "{{dir}}" katalogy dogry däl. Katalogyň adyny "{{suggestion}}" diýip üýtgediň ýa-da aýyryň. Bu umumy ýalňyşlyk.', + "error.chain.configFrontmatterError": "{{path}}-de frontmateri derňäp bilmedi:\n{{message}}", + "error.chain.configInvalid": "{{path}} faýly sazlamak nädogry", + "error.chain.configInvalidWithMessage": "{{path}} faýly sazlamak nädogry: {{message}}", + "notification.permission.title": "Rugsat gerek", + "notification.permission.description": "{{projectName}} taslamasyndaky {{sessionTitle}} rugsat talap edýär", + "notification.question.title": "Sorag", + "notification.question.description": "{{projectName}} taslamasyndaky {{sessionTitle}} sessiýasynyň soragy bar", + "notification.action.goToSession": "Sessiýa git", + "notification.session.responseReady.title": "Jogap taýýar", + "notification.session.error.title": "Sessiýa ýalňyşlygy", + "notification.session.error.fallbackDescription": "Ýalňyşlyk ýüze çykdy", + "home.recentProjects": "Soňky taslamalar", + "home.empty.title": "Soňky taslamalar ýok", + "home.empty.description": "Projecterli taslamany açmak bilen başlaň", + "home.title": "Baş sahypa", + "home.projects": "Taslamalar", + "home.project.add": "Taslama goşuň", + "home.recentlyClosed": "Recentlyakynda ýapyldy", + "home.server.collapse": "Serwer taslamalaryny ýykyň", + "home.server.expand": "Serwer taslamalaryny giňeltmek", + "home.sessions.search.placeholder": "Gözleg sessiýalary", + "home.sessions.search.placeholder.scoped": "{{scope}}-de gözleg sessiýalary", + "home.sessions.search.sessions": "Sessiýalar", + "home.sessions.search.noResults": "{{query}} üçin sessiýa tapylmady", + "home.sessions.empty": "Bu ýerde entek hiç zat ýok", + "home.sessions.empty.description": "Başlamak üçin sessiýa dörediň", + "home.sessions.group.today": "Bu gün", + "home.sessions.group.yesterday": "Düýn", + "home.sessions.group.older": "Köne", + "home.providerTip": "Claude, GPT, Gemini we ş.m. ýaly beýleki modelleri ulanmak üçin 75+ üpjün edijä birikdiriň.", + "session.tab.session": "Sessiýa", + "session.tab.review": "Syn", + "session.tab.context": "Kontekst", + "session.tab.unknown": "Näbelli sessiýa", + "session.panel.reviewAndFiles": "Gözden geçiriň we faýllary", + "session.error.notFound": "Bu sessiýany tapyp bolmaýar", + "session.error.notFound.description": "Bu goýma, bu serwerde ýok bolan sessiýany görkezýär.", + "session.error.notFound.closeTab": "Tab ýapyň", + "session.error.serverConnection": "Bu serwere birigip bilemok", + "session.review.filesChanged": "Faýllar üýtgedildi {{count}}", + "session.review.change.one": "Üýtget", + "session.review.change.other": "Üýtgeşmeler", + "session.review.loadingChanges": "Üýtgeşmeler ýüklenýär ...", + "session.review.empty": "Bu sessiýada entek üýtgeşme ýok", + "session.review.noVcs": "Git wersiýa dolandyryş ulgamy tapylmady, üýtgeşmeler görkezilmedi", + "session.review.noVcs.createGit.title": "Git ammary dörediň", + "session.review.noVcs.createGit.description": "Bu taslamadaky üýtgeşmeleri yzarlaň, gözden geçiriň we yzyna alyň", + "session.review.noVcs.createGit.actionLoading": "Git ammaryny döretmek ...", + "session.review.noVcs.createGit.action": "Git ammary dörediň", + "session.review.noSnapshot": + "Snapshot yzarlamasy konfigurasiýada ýapyk, şonuň üçin sessiýa üýtgeşmeleri elýeterli däl", + "session.review.noChanges": "Üýtgeşme ýok", + "session.review.noUncommittedChanges": "Entek rugsat berilmedik üýtgeşmeler ýok", + "session.review.noBranchChanges": "Entek hiç hili şahamça üýtgemeýär", + "session.files.selectToOpen": "Açmak üçin bir faýl saýlaň", + "session.files.all": "Fileshli faýllar", + "session.files.empty": "Faýl ýok", + "session.files.binaryContent": "Ikilik faýl (mazmuny görkezilip bilinmez)", + "session.messages.renderEarlier": "Öňki habarlary beriň", + "session.messages.loadingEarlier": "Öňki habarlary ýüklemek ...", + "session.messages.loadEarlier": "Öňki habarlary ýükläň", + "session.messages.loading": "Habarlary ýüklemek ...", + "session.messages.jumpToLatest": "Iň soňkusyna geçiň", + "session.context.addToContext": "Mazmuna {{selection}} goşuň", + "session.todo.title": "Edilmeli işler", + "session.todo.collapse": "Apseykylmak", + "session.todo.expand": "Giňeltmek", + "session.todo.progress": "{{total}} todosynyň {{done}} tamamlandy", + "session.question.progress": "{{total}} soraglarynyň {{current}}", + "session.question.minimize": "Soragy azaldyň", + "session.question.restore": "Soragy dikelt", + "session.question.pending.one": "Garaşylýan sorag {{count}}", + "session.question.pending.other": "Garaşylýan soraglar {{count}}", + "session.followupDock.summary.one": "{{count}} nobatdaky habar", + "session.followupDock.summary.other": "{{count}} nobatdaky habarlar", + "session.followupDock.sendNow": "Indi iber", + "session.followupDock.edit": "Redaktirläň", + "session.followupDock.collapse": "Nobatly habarlary ýykmak", + "session.followupDock.expand": "Nobatly habarlary giňeltmek", + "session.revertDock.summary.one": "{{count}} yzyna gaýdyp geldi", + "session.revertDock.summary.other": "{{count}} yzyna iberilen habarlar", + "session.revertDock.collapse": "Yzyna gaýdyp gelen habarlary ýykmak", + "session.revertDock.expand": "Yza gaýdýan habarlary giňeltmek", + "session.revertDock.restore": "Habary dikelt", + "session.new.title": "Islän zadyňyzy guruň", + "session.new.project.new": "Täze taslama", + "session.new.project.search": "Taslamalary gözläň", + "session.new.project.add": "Taslama goşuň", + "session.new.worktree.main": "Esasy şahasy", + "session.new.worktree.mainWithBranch": "Esasy şahasy ({{branch}})", + "session.new.worktree.create": "Täze Git worktree dörediň", + "session.new.workspace.runIn": "Sessiýany işlediň", + "session.new.workspace.triggerLocal": "Localerli", + "session.new.workspace.local": "Localerli ammar", + "session.new.workspace.existing": "Workspace…", + "session.new.git.none": "Git ýok", + "session.new.lastModified": "Soňky gezek üýtgedildi", + "session.header.search.placeholder": "{{project}} gözläň", + "session.header.searchFiles": "Faýllary gözläň", + "session.header.openIn": "Aç", + "session.header.open.action": "{{app}} açyň", + "session.header.open.ariaLabel": "{{app}}-de açyň", + "session.header.open.menu": "Açyk görnüşler", + "session.header.open.copyPath": "Pathol göçüriň", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "Faýl gözlegçisi", + "session.header.open.fileManager": "Faýl dolandyryjysy", + "session.header.reveal.finder": "Finder-de açyň", + "session.header.reveal.fileExplorer": "File Explorer-de açyň", + "session.header.reveal.containingFolder": "Içindäki bukjany açyň", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Terminal", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": ".Agdaý", + "status.popover.ariaLabel": "Serwer sazlamalary", + "status.popover.tab.servers": "Serwerler", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "Pluginler", + "status.popover.action.manageServers": "Serwerleri dolandyryň", + "session.share.popover.title": "Webde çap ediň", + "session.share.popover.description.shared": + "Bu sessiýa internetde açykdyr. Salgysy bolan islendik adam üçin elýeterlidir.", + "session.share.popover.description.unshared": + "Sessiýany internetde köpçülige paýlaşyň. Baglanyşygy bolan islendik adam üçin elýeterli bolar.", + "session.share.action.share": "Paýlaş", + "session.share.action.publish": "Neşir et", + "session.share.action.publishing": "Neşir etmek ...", + "session.share.action.unpublish": "Neşir et", + "session.share.action.unpublishing": "Neşir etmek ...", + "session.share.action.view": "Gör", + "session.share.copy.copied": "Göçürildi", + "session.share.copy.copyLink": "Baglanyşygy göçüriň", + "lsp.tooltip.none": "LSP serwerleri ýok", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "Prompt ýüklenýär ...", + "terminal.loading": "Terminal ýüklenýär ...", + "terminal.title": "Terminal", + "terminal.title.numbered": "{{number}} terminaly", + "terminal.close": "Terminaly ýapyň", + "terminal.connectionLost.title": "Baglanyşyk ýitdi", + "terminal.connectionLost.abnormalClose": "WebSocket adatdan daşary ýapyldy: {{code}}", + "terminal.connectionLost.description": "Terminal birikmesi kesildi. Serwer täzeden başlanda bolup biler.", + "terminal.connectTicket.csrfError": + "PTY baglanyşyk bileti gelip çykyşy ýa-da CSRF barlaglary bilen ret edilýär. CORS serwerini barlaň.", + "terminal.connectTicket.statusError": "PTY birikme bileti {{status}} bilen şowsuz boldy", + "titlebar.update": "Täzelen", + "titlebar.updateVersion": "{{version}} täzeläň", + "common.closeTab": "Salgy ýapyň", + "common.dismiss": "Işden aýyrmak", + "common.moreCountSuffix": " (+ {{count}} has köp)", + "common.requestFailed": "Talap başa barmady", + "common.moreOptions": "Has köp wariant", + "common.learnMore": "Has giňişleýin öwreniň", + "common.rename": "Adyny üýtgetmek", + "common.export": "Eksport", + "common.reset": "Täzeden düzmek", + "common.archive": "Arhiw", + "common.delete": "Poz", + "common.close": ".Akyn", + "common.edit": "Redaktirläň", + "common.loadMore": "Has köp ýükläň", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "näbelli", + "common.time.justNow": "Edil häzir", + "common.time.minutesAgo.short": "{{count}}m öň", + "common.time.hoursAgo.short": "{{count}}h öň", + "common.time.daysAgo.short": "{{count}}d öň", + "sidebar.menu.toggle": "Menýu açyň", + "sidebar.nav.projectsAndSessions": "Taslamalar we sessiýalar", + "sidebar.settings": "Sazlamalar", + "sidebar.help": "Kömek", + "sidebar.workspaces.enable": "Workspace-lary açyň", + "sidebar.workspaces.disable": "Workspace-lary öçüriň", + "sidebar.gettingStarted.title": "Başlamak", + "sidebar.gettingStarted.line1": "OpenCode mugt modelleri öz içine alýar, derrew başlap bilersiňiz.", + "sidebar.gettingStarted.line2": + "Modelleri ulanmak üçin islendik üpjün edijini birikdiriň. Claude, GPT, Gemini we ş.m.", + "sidebar.project.recentSessions": "Soňky sessiýalar", + "sidebar.project.viewAllSessions": "Allhli sessiýalary görüň", + "sidebar.project.clearNotifications": "Duýduryşlary arassalaň", + "sidebar.empty.title": "Taslama açylmaýar", + "sidebar.empty.description": "Başlamak üçin taslama açyň", + "debugBar.ariaLabel": "Ösüş öndürijiligini anyklaýyş", + "debugBar.na": "n / a", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "Iň soňky tamamlanan marşrut geçiş, sessiýa sahypasyna degip, marşrutizatoryň başyndan başlap, birinji boýag kesgitlenýänçä ölçelýär.", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "Soňky 5 sekuntda sekuntda aýlaw çarçuwalary.", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "Soňky 5 sekundyň içinde iň erbet kadr wagty.", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "Soňky 5 sekuntda 32 metrden gowrak çarçuwalar.", + "debugBar.long.label": "LONG", + "debugBar.long.tip": "Blok edilen wagt we soňky 5 sekuntda uzak iş. Iň ýokary wezipe: {{max}}.", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "Iň erbet syn edilen soňky 5 sekuntda.", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": + "Soňky 5 sekundyň dowamynda takmynan täsirleşme dowamlylygy. Bu INP ýaly, resmi Web Vital INP däl.", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "Häzirki programmanyň ömri üçin jemleýji düzüliş çalşygy.", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "Ulanylan JS üýşmesi vs üýşmek çägi. Diňe Chromium.", + "debugBar.mem.tip": "Ulanylan JS üýşmesi vs üýşmek çägi. {{limit}}-iň {{used}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Intacthli interaktiw elementlere fokus stillerini mejbur ediň", + "debugBar.focus.on": "ON", + "debugBar.focus.off": "OFF", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Saýlanan dili üýtgetmän doly programma düzüliş ugruny mejbur ediň", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode Desktop", + "settings.section.desktop": "Iş stoly", + "settings.section.server": "Serwer", + "settings.tab.general": "Umumy", + "settings.tab.shortcuts": "Salgylanmalar", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "WSL integrasiýa", + "settings.desktop.wsl.description": "OpenCode serwerini WSL-de Windows-de işlediň.", + "settings.general.section.appearance": "Daş görnüşi", + "settings.general.section.advanced": "Ösen", + "settings.general.section.notifications": "Ulgam habarnamalary", + "settings.general.section.updates": "Täzelenmeler", + "settings.general.section.sounds": "Ses effektleri", + "settings.general.section.feed": "Iýmit", + "settings.general.section.display": "Ekran", + "settings.general.row.language.title": "Dil", + "settings.general.row.language.description": "OpenCode üçin displeý dilini üýtgediň", + "settings.general.row.shell.title": "Terminal shell-i", + "settings.general.row.shell.description": "Terminal we agent gurallary tarapyndan ulanylýan shell", + "settings.general.row.shell.autoDefault": "Awto (Bellenilen)", + "settings.general.row.shell.terminalOnly": "Diňe terminal", + "settings.general.row.appearance.title": "Daş görnüşi", + "settings.general.row.appearance.description": "OpenCode enjamyňyzda nähili görünýändigini düzüň", + "settings.general.row.colorScheme.title": "Reňk shemasy", + "settings.general.row.colorScheme.description": + "OpenCode ulgamy, ýagtylygy ýa-da garaňky temany yzarlaýandygyny saýlaň", + "settings.general.row.theme.title": "Mowzuk", + "settings.general.row.theme.description": "OpenCode-iň mowzuklydygyny düzüň.", + "settings.general.row.font.title": "Kod şrifti", + "settings.general.row.font.description": "Kod bloklarynda ulanylýan şrifti düzüň", + "settings.general.row.terminalFont.title": "Terminal şrifti", + "settings.general.row.terminalFont.description": "Terminalda ulanylýan şrifti düzüň", + "settings.general.row.uiFont.title": "UI şrift", + "settings.general.row.uiFont.description": "Interfeýsiň hemme ýerinde ulanylýan şrifti düzüň", + "settings.general.row.followup.title": "Gözegçilik", + "settings.general.row.followup.description": + "Gözegçiligiň haýal etmän dolandyrjakdygyny ýa-da nobata garaşýandygyny saýlaň", + "settings.general.row.followup.option.queue": "Nobat", + "settings.general.row.followup.option.steer": "Rul", + "settings.general.row.showFileTree.title": "Faýl agajy", + "settings.general.row.showFileTree.description": "Faýl agajy panelini seanslarda görkeziň", + "settings.general.row.showNavigation.title": "Nawigasiýa dolandyryşlary", + "settings.general.row.showNavigation.description": "Iş stolunyň ady setirinde yzky we öňe düwmeleri görkeziň", + "settings.general.row.showSearch.title": "Buýruk palitrasy", + "settings.general.row.showSearch.description": "Gözleg we buýruk palitrasy düwmesini sözbaşy setirinde görkeziň", + "settings.general.row.showTerminal.title": "Terminal", + "settings.general.row.showTerminal.description": "Iş stolunyň ady setirinde terminal düwmesini görkeziň", + "settings.general.row.showStatus.title": "Serweriň ýagdaýy", + "settings.general.row.showStatus.description": "Serweriň ýagdaý düwmesini sözbaşy setirinde görkeziň", + "settings.general.row.mobileTitlebarBottom.title": "Aşakdaky nawigasiýa", + "settings.general.row.mobileTitlebarBottom.description": + "Adyň setirini we sessiýa belliklerini ekranyň aşagyna ykjam ýerleşdiriň", + "settings.general.row.showCustomAgents.title": "Agent görkez", + "settings.general.row.showCustomAgents.description": + "Kompozitordaky agentleriň arasynda geçiň. Gizlenende, agent gurmak üçin defolt.", + "settings.general.row.reasoningSummaries.title": "Pikirleriň gysgaça mazmunyny görkeziň", + "settings.general.row.reasoningSummaries.description": + "Wagt görkezijisinde model pikirlenişiň gysgaça mazmunyny görkeziň", + "settings.general.row.shellToolPartsExpanded.title": "Shell gural böleklerini giňeltmek", + "settings.general.row.shellToolPartsExpanded.description": + "Wagt görkezijisinde deslapky görnüşde giňeldilen shell gural böleklerini görkeziň", + "settings.general.row.editToolPartsExpanded.title": "Redaktirleme gurallarynyň böleklerini giňeltmek", + "settings.general.row.editToolPartsExpanded.description": + "Wagt tertibinde tertip boýunça giňeldilen redaktirlemegi, ýazmagy we patch gurallaryny görkeziň", + "settings.general.row.newInterface.title": "Täze düzüliş", + "settings.general.row.newInterface.badge": "Täze", + "settings.general.row.newInterface.description": + "Täze goýmalary we öý tertibini ulanyň. Çäkli wagt üçin düzülişleriň arasynda geçiň.", + "settings.general.row.newInterfaceNotice.title": "Indi täze düzülişi ulanýarsyňyz", + "settings.general.row.newInterfaceNotice.description": "Öňki düzüliş indi elýeterli däl", + "settings.general.row.newInterfaceNotice.dismiss": "Işden aýyrmak", + "settings.general.row.pinchZoom.title": "Ulaltmak üçin çümmük", + "settings.general.row.pinchZoom.description": "Trackpad çümmüklerine we Ctrl-aýlaw hereketlerine ýakynlaşdyryň", + "settings.general.row.wayland.title": "Nativeerli Wayland ulanyň", + "settings.general.row.wayland.description": "Wayland-de X11 yza gaýdyp gelmegi öçüriň. Gaýtadan açmagy talap edýär.", + "settings.general.row.wayland.tooltip": + "Garyşyk täzeleniş tizligi monitorlary bolan Linux-de ýerli Wayland has durnukly bolup biler.", + "settings.general.row.releaseNotes.title": "Bellikleri goýberiň", + "settings.general.row.releaseNotes.description": "Täzelenmelerden soň täze çykýanlary görkeziň", + "settings.updates.row.startup.title": "Başlangyçdaky täzelenmeleri barlaň", + "settings.updates.row.startup.description": "OpenCode işe başlanda täzelenmeleri awtomatiki barlaň", + "settings.updates.row.check.title": "Täzelenmeleri barlaň", + "settings.updates.row.check.description": "Täzelenmeleri el bilen barlaň we bar bolsa guruň", + "settings.updates.action.checkNow": "Indi barlaň", + "settings.updates.action.checking": "Barlamak ...", + "settings.updates.action.downloading": "Ingüklemek ...", + "settings.updates.action.installing": "Gurmak ...", + "settings.updates.toast.latest.title": "Döwrebap", + "settings.updates.toast.latest.description": "OpenCode-iň iň soňky wersiýasyny işleýärsiňiz.", + "sound.option.none": "Hiç", + "sound.option.alert01": "Duýduryş 01", + "sound.option.alert02": "Duýduryş 02", + "sound.option.alert03": "Duýduryş 03", + "sound.option.alert04": "Duýduryş 04", + "sound.option.alert05": "Duýduryş 05", + "sound.option.alert06": "Duýduryş 06", + "sound.option.alert07": "Duýduryş 07", + "sound.option.alert08": "Duýduryş 08", + "sound.option.alert09": "Duýduryş 09", + "sound.option.alert10": "Duýduryş 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "01ok 01", + "sound.option.nope02": "02ok", + "sound.option.nope03": "03ok", + "sound.option.nope04": "04ok 04", + "sound.option.nope05": "05ok 05", + "sound.option.nope06": "Opeok 06", + "sound.option.nope07": "07ok 07", + "sound.option.nope08": "08ok 08", + "sound.option.nope09": "0ok 09", + "sound.option.nope10": "10ok", + "sound.option.nope11": "11ok", + "sound.option.nope12": "Opeok 12", + "sound.option.yup01": "01ok 01", + "sound.option.yup02": "Upok 02", + "sound.option.yup03": "03ok 03", + "sound.option.yup04": "Upup 04", + "sound.option.yup05": "05ok 05", + "sound.option.yup06": "Upok 06", + "settings.general.notifications.agent.title": "Agent", + "settings.general.notifications.agent.description": + "Agent doly bolanda ýa-da ünsi talap edende ulgam habarnamasyny görkeziň", + "settings.general.notifications.permissions.title": "Rugsatlar", + "settings.general.notifications.permissions.description": "Rugsat talap edilende ulgam habarnamasyny görkeziň", + "settings.general.notifications.errors.title": "Rorsalňyşlyklar", + "settings.general.notifications.errors.description": "Ýalňyşlyk ýüze çykanda ulgam habarnamasyny görkeziň", + "settings.general.sounds.agent.title": "Agent", + "settings.general.sounds.agent.description": "Agent doly bolanda ýa-da ünsi talap edende ses çalyň", + "settings.general.sounds.permissions.title": "Rugsatlar", + "settings.general.sounds.permissions.description": "Rugsat gerek bolsa ses çalyň", + "settings.general.sounds.errors.title": "Rorsalňyşlyklar", + "settings.general.sounds.errors.description": "Ýalňyşlyk ýüze çykanda ses çalyň", + "settings.shortcuts.title": "Klawiatura salgylanmalary", + "settings.shortcuts.reset.button": "Dymmaklyklara gaýtaryň", + "settings.shortcuts.reset.toast.title": "Salgylanmalar täzeden düzülýär", + "settings.shortcuts.reset.toast.description": "Klawiatura gysga ýollary deslapky görnüşde täzeden düzüldi.", + "settings.shortcuts.conflict.title": "Salgylanma eýýäm ulanylýar", + "settings.shortcuts.conflict.description": "{{keybind}} eýýäm {{titles}}-e bellendi.", + "settings.shortcuts.unassigned": "Bellenmedik", + "settings.shortcuts.pressKeys": "Düwmeleri basyň", + "settings.shortcuts.search.placeholder": "Salgylanmalary gözläň", + "settings.shortcuts.search.empty": "Salgylanmalar tapylmady", + "settings.shortcuts.group.general": "Umumy", + "settings.shortcuts.group.session": "Sessiýa", + "settings.shortcuts.group.navigation": "Nawigasiýa", + "settings.shortcuts.group.modelAndAgent": "Model we agent", + "settings.shortcuts.group.terminal": "Terminal", + "settings.shortcuts.group.prompt": "Prompt", + "settings.providers.title": "Üpjün edijiler", + "settings.providers.description": "Üpjün edijiniň sazlamalary bu ýerde düzülip bilner.", + "settings.providers.section.connected": "Birikdirilen üpjün edijiler", + "settings.providers.connected.empty": "Baglanan üpjün edijiler ýok", + "settings.providers.connected.environmentDescription": "Daşky gurşaw üýtgeýjilerinden birikdirildi", + "settings.providers.section.popular": "Meşhur üpjün edijiler", + "settings.providers.custom.description": "URL esasly OpenAI gabat gelýän üpjün edijini goşuň.", + "settings.providers.tag.environment": "Daşky gurşaw", + "settings.providers.tag.config": "Sazlamak", + "settings.providers.tag.custom": "Omörite", + "settings.providers.tag.other": "Beýlekiler", + "settings.models.title": "Modeller", + "settings.models.description": "Model sazlamalary bu ýerde düzülip bilner.", + "settings.agents.title": "Agentler", + "settings.agents.description": "Agent sazlamalary bu ýerde düzülip bilner.", + "settings.commands.title": "Buýruklar", + "settings.commands.description": "Buýruk sazlamalary bu ýerde düzülip bilner.", + "settings.mcp.title": "MCP", + "settings.mcp.description": "MCP sazlamalary bu ýerde düzülip bilner.", + "settings.permissions.title": "Rugsatlar", + "settings.permissions.description": "Serweriň haýsy gurallary ulanyp biljekdigini dolandyryň.", + "settings.permissions.section.tools": "Gurallar", + "settings.permissions.toast.updateFailed.title": "Rugsatlary täzeläp bilmedi", + "settings.permissions.action.allow": "Rugsat beriň", + "settings.permissions.action.ask": "Soraň", + "settings.permissions.action.deny": "Inkär et", + "settings.permissions.tool.read.title": "Oka", + "settings.permissions.tool.read.description": "Faýl okamak (faýl ýoluna gabat gelýär)", + "settings.permissions.tool.edit.title": "Redaktirläň", + "settings.permissions.tool.edit.description": "Faýllary, şol sanda redaktirlemegi, ýazmagy we ýamalary üýtgediň", + "settings.permissions.tool.glob.title": "Globus", + "settings.permissions.tool.glob.description": "Global faýllary ulanyp faýllary deňeşdiriň", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "Faýl mazmunyny yzygiderli aňlatmalar arkaly gözläň", + "settings.permissions.tool.list.title": "Sanaw", + "settings.permissions.tool.list.description": "Faýllary bukjanyň içinde sanaň", + "settings.permissions.tool.bash.title": "Baş", + "settings.permissions.tool.bash.description": "Shell buýruklaryny işlediň", + "settings.permissions.tool.task.title": "Wezipe", + "settings.permissions.tool.task.description": "Sub-agentleri işe giriziň", + "settings.permissions.tool.skill.title": "Ussatlyk", + "settings.permissions.tool.skill.description": "Bir ussatlygy at bilen ýükläň", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "Dil serweriniň talaplaryny işlediň", + "settings.permissions.tool.todowrite.title": "Todo ýaz", + "settings.permissions.tool.todowrite.description": "Todo sanawyny täzeläň", + "settings.permissions.tool.webfetch.title": "Web Fetch", + "settings.permissions.tool.webfetch.description": "Mazmuny URL-den alyň", + "settings.permissions.tool.websearch.title": "Web gözlegi", + "settings.permissions.tool.websearch.description": "Webde gözläň", + "settings.permissions.tool.external_directory.title": "Daşarky katalog", + "settings.permissions.tool.external_directory.description": "Taslama bukjasynyň daşyndaky faýllara giriň", + "settings.permissions.tool.doom_loop.title": "Doom aýlawy", + "settings.permissions.tool.doom_loop.description": "Birmeňzeş giriş bilen gaýtalanýan gural jaňlaryny kesgitläň", + "session.delete.failed.title": "Sessiýany pozup bilmedi", + "session.delete.title": "Sessiýany poz", + "session.delete.confirm": '"{{name}}" sessiýasyny pozmalymy?', + "session.delete.button": "Sessiýany poz", + "workspace.new": "Täze workspace", + "workspace.type.local": "ýerli", + "workspace.type.sandbox": "sandyk", + "workspace.create.failed.title": "Workspace döredip bolmady", + "workspace.delete.failed.title": "Workspace pozup bolmady", + "workspace.resetting.title": "Workspace täzeden düzülýär", + "workspace.resetting.description": "Bu bir minut alyp biler.", + "workspace.reset.failed.title": "Workspace täzeden düzüp bolmady", + "workspace.reset.success.title": "Workspace täzeden düzüldi", + "workspace.reset.success.description": "Workspace indi adaty şaha gabat gelýär.", + "workspace.error.stillPreparing": "Workspace henizem taýýarlanýar", + "workspace.status.checking": "Birleşdirilmedik üýtgeşmeleri barlamak ...", + "workspace.status.error": "Git ýagdaýyny barlap bolmaýar.", + "workspace.status.clean": "Düzülmedik üýtgeşmeler tapylmady.", + "workspace.status.dirty": "Bu workspace-de birleşdirilmedik üýtgeşmeler ýüze çykaryldy.", + "workspace.delete.title": "Workspace-i poz", + "workspace.delete.confirm": '"{{name}}" workspace-i pozmalymy?', + "workspace.delete.button": "Workspace-i poz", + "workspace.reset.title": "Workspace-i täzeden düzmek", + "workspace.reset.confirm": '"{{name}}" workspace-i täzeden düzmelimi?', + "workspace.reset.button": "Workspace-i täzeden düzmek", + "workspace.reset.archived.none": "Hiç bir işjeň sessiýa arhiwlenmez.", + "workspace.reset.archived.one": "1 sessiýa arhiwlener.", + "workspace.reset.archived.many": "{{count}} sessiýalary arhiwlener.", + "workspace.reset.note": "Bu workspace-i adaty şaha gabat getirmek üçin täzeden düzer.", + "dialog.usageExceeded.dontShowAgain": "Gaýtadan görkezme", +} diff --git a/packages/app/src/i18n/tr.ts b/packages/app/src/i18n/tr.ts index 7c123c69aabe..85623036e429 100644 --- a/packages/app/src/i18n/tr.ts +++ b/packages/app/src/i18n/tr.ts @@ -3,6 +3,106 @@ import { dict as en } from "./en" type Keys = keyof typeof en export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Dosya", + "desktop.menu.edit": "Düzen", + "desktop.menu.view": "Görünüm", + "desktop.menu.go": "Git", + "desktop.menu.window": "Pencere", + "desktop.menu.help": "Yardım", + "desktop.menu.checkForUpdates": "Güncellemeleri kontrol et...", + "desktop.menu.settings": "Ayarlar", + "desktop.menu.reloadWebview": "Web görünümünü yeniden yükle", + "desktop.menu.restart": "Yeniden başlat", + "desktop.menu.exportLogs": "Günlükleri dışa aktar...", + "desktop.menu.newSession": "Yeni oturum", + "desktop.menu.openProject": "Proje aç...", + "desktop.menu.newWindow": "Yeni pencere", + "desktop.menu.closeWindow": "Pencereyi kapat", + "desktop.menu.undo": "Geri al", + "desktop.menu.redo": "Yinele", + "desktop.menu.cut": "Kes", + "desktop.menu.copy": "Kopyala", + "desktop.menu.paste": "Yapıştır", + "desktop.menu.delete": "Sil", + "desktop.menu.selectAll": "Tümünü seç", + "desktop.menu.toggleSidebar": "Kenar çubuğunu aç/kapat", + "desktop.menu.toggleTerminal": "Terminali aç/kapat", + "desktop.menu.toggleFileTree": "Dosya ağacını aç/kapat", + "desktop.menu.reload": "Yeniden yükle", + "desktop.menu.toggleDeveloperTools": "Geliştirici araçlarını aç/kapat", + "desktop.menu.actualSize": "Gerçek boyut", + "desktop.menu.zoomIn": "Yakınlaştır", + "desktop.menu.zoomOut": "Uzaklaştır", + "desktop.menu.toggleFullScreen": "Tam ekranı aç/kapat", + "desktop.menu.back": "Geri", + "desktop.menu.forward": "İleri", + "desktop.menu.previousSession": "Önceki oturum", + "desktop.menu.nextSession": "Sonraki oturum", + "desktop.menu.previousProject": "Önceki proje", + "desktop.menu.nextProject": "Sonraki proje", + "desktop.menu.minimize": "Simge durumuna küçült", + "desktop.menu.maximize": "Ekranı kapla", + "desktop.menu.documentation": "OpenCode belgeleri", + "desktop.menu.supportForum": "Destek forumu", + "desktop.menu.shareFeedback": "Geri bildirim paylaş", + "desktop.menu.reportBug": "Hata bildir", + "desktop.menu.ariaLabel": "OpenCode menüsü", + + "desktop.updater.dialog.checkFailed.message": "Güncellemeler kontrol edilemedi.", + "desktop.updater.dialog.checkFailed.title": "Güncelleme hatası", + "desktop.updater.dialog.upToDate.message": "En son sürümü kullanıyorsunuz.", + "desktop.updater.dialog.upToDate.title": "Güncelleme yok", + "desktop.updater.dialog.ready.message": "{{version}} güncellemesi indirildi. Şimdi yeniden başlatılsın mı?", + "desktop.updater.dialog.ready.title": "Güncelleme hazır", + "desktop.updater.dialog.restart": "Yeniden başlat", + "desktop.updater.dialog.later": "Daha sonra", + + "desktop.recovery.action.relaunch": "Uygulamayı yeniden başlat", + "desktop.recovery.action.exportLogs": "Günlükleri dışa aktar", + "desktop.recovery.action.keepWaiting": "Beklemeye devam et", + "desktop.recovery.action.quit": "Çık", + "desktop.recovery.loadFailed": "OpenCode yüklenemedi", + "desktop.recovery.terminated": "OpenCode penceresi beklenmedik şekilde sonlandırıldı", + "desktop.recovery.unresponsive": "OpenCode yanıt vermiyor", + "desktop.recovery.unresponsive.detail": + "Uygulamayı yeniden başlatabilir, günlükleri açabilir veya beklemeye devam edebilirsiniz.", + "desktop.recovery.loadFailed.detail": "Pencere: {{window}}\nURL: {{url}}\nHata: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Pencere: {{window}}\nNeden: {{reason}}\nKod: {{code}}", + "desktop.recovery.unknown": "", + + "desktop.dialog.chooseFolder": "Bir klasör seçin", + "desktop.dialog.chooseFile": "Bir dosya seçin", + "desktop.dialog.saveFile": "Dosyayı kaydedin", + "desktop.dialog.files": "Dosyalar", + "desktop.server.local": "Yerel sunucu", + + "desktop.wsl.error.windowsOnly": "WSL yalnızca Windows'ta kullanılabilir", + "desktop.wsl.error.unavailable": "WSL kullanılamıyor", + "desktop.wsl.error.listInstalled": "Kurulu WSL dağıtımları listelenemedi", + "desktop.wsl.error.listOnline": "Çevrimiçi WSL dağıtımları listelenemedi", + "desktop.wsl.error.executeDistro": "Dağıtımda komutlar çalıştırılamıyor", + "desktop.wsl.error.installWsl": "WSL kurulamadı", + "desktop.wsl.error.installDistro": "Dağıtım kurulamadı: {{distro}}", + "desktop.wsl.error.installOpencode": "OpenCode kurulamadı", + "desktop.wsl.error.alreadyAdded": "{{distro}} zaten eklendi", + "desktop.wsl.error.opencodeMissing": "opencode bu dağıtımda kurulu değil", + "desktop.wsl.error.opencodeCannotRun": "opencode kurulu ancak çalıştırılamadı", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode, {{distro}} içinde kurulu değil", + "desktop.wsl.error.updateVersion": + "OpenCode güncellemesi tamamlandı ancak {{distro}} hâlâ {{installed}} sürümünü bildiriyor; beklenen sürüm: {{expected}}", + "desktop.wsl.error.noVersion": "sürüm yok", + "desktop.wsl.error.serverExited": "WSL sunucusu başlatıldıktan sonra kapandı (code={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL sunucusu kullanıma hazır duruma gelmeden kapandı (code={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": + "{{distro}} Sidecar sistem durumu denetimi {{timeout}} ms sonra zaman aşımına uğradı", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} komutu {{timeout}} ms sonra zaman aşımına uğradı", + "desktop.wsl.error.failedPort": "Bağlantı noktası alınamadı", + + "desktop.picker.error.notSelected": "Dosya seçici tarafından dosya seçilmedi", + "desktop.picker.error.sizeLimit": "Seçilen ekler {{limit}} MB sınırını aşıyor", + "command.category.suggested": "Önerilen", "command.category.view": "Görünüm", "command.category.project": "Proje", @@ -20,6 +120,7 @@ export const dict = { "command.category.permissions": "İzinler", "command.category.workspace": "Çalışma Alanı", "command.category.settings": "Ayarlar", + "command.logs.export": "Günlükleri dışa aktar", "theme.scheme.system": "Sistem", "theme.scheme.light": "Açık", @@ -78,9 +179,9 @@ export const dict = { "command.model.variant.cycle": "Düşünme eforu değiştir", "command.model.variant.cycle.description": "Sonraki efor seviyesine geç", "command.prompt.mode.shell": "Kabuk", - "command.prompt.mode.normal": "Komut", - "command.permissions.autoaccept.enable": "Düzenlemeleri otomatik kabul et", - "command.permissions.autoaccept.disable": "Otomatik kabulü durdur", + "command.prompt.mode.normal": "İstem", + "command.permissions.autoaccept.enable": "İzinleri otomatik kabul et", + "command.permissions.autoaccept.disable": "İzinleri otomatik kabul etmeyi durdur", "command.workspace.toggle": "Çalışma alanlarını aç/kapat", "command.workspace.toggle.description": "Kenar çubuğunda birden fazla çalışma alanını göster veya gizle", "command.session.undo": "Geri al", @@ -96,6 +197,9 @@ export const dict = { "command.session.unshare": "Paylaşımı kaldır", "command.session.unshare.description": "Bu oturumun paylaşımını durdur", + "command.session.export": "Oturumu dışa aktar", + "command.session.export.description": "Oturumun tam dökümünü JSON olarak dışa aktar", + "palette.search.placeholder": "Dosya, komut ve oturum ara", "palette.search.placeholder.home": "Komut ve oturum ara", "palette.empty": "Sonuç bulunamadı", @@ -106,9 +210,10 @@ export const dict = { "dialog.provider.empty": "Sağlayıcı bulunamadı", "dialog.provider.group.popular": "Popüler", "dialog.provider.group.other": "Diğer", + "dialog.provider.custom.label": "Özel OpenAI uyumlu sağlayıcı", "dialog.provider.tag.recommended": "Önerilen", "dialog.provider.opencode.note": "Claude, GPT, Gemini ve daha fazlasını içeren seçilmiş modeller", - "dialog.provider.opencode.tagline": "Güvenilir optimize edilmiş modeller", + "dialog.provider.opencode.tagline": "Güvenilir, optimize edilmiş modeller", "dialog.provider.opencodeGo.tagline": "Herkes için düşük maliyetli abonelik", "dialog.provider.anthropic.note": "Pro ve Max dahil Claude modellerine doğrudan erişim", "dialog.provider.copilot.note": "GitHub Copilot üzerinden kodlama yardımı için yapay zekâ modelleri", @@ -126,6 +231,7 @@ export const dict = { "dialog.model.unpaid.freeModels.title": "OpenCode tarafından sunulan ücretsiz modeller", "dialog.model.unpaid.addMore.title": "Popüler sağlayıcılardan daha fazla model ekleyin", + "dialog.model.unpaid.viewMoreProviders": "70'ten fazla sağlayıcı daha görüntüle", "dialog.provider.viewAll": "Daha fazla sağlayıcı göster", @@ -133,6 +239,8 @@ export const dict = { "provider.connect.title.anthropicProMax": "Claude Pro/Max ile giriş yap", "provider.connect.selectMethod": "{{provider}} için giriş yöntemini seçin.", "provider.connect.method.apiKey": "API anahtarı", + "provider.connect.method.browser": "Tarayıcı", + "provider.connect.method.headless": "Tarayıcısız", "provider.connect.status.inProgress": "Yetkilendirme devam ediyor...", "provider.connect.status.waiting": "Yetkilendirme bekleniyor...", "provider.connect.status.failed": "Yetkilendirme başarısız: {{error}}", @@ -165,10 +273,11 @@ export const dict = { "provider.connect.toast.connected.description": "{{provider}} modelleri artık kullanımda.", "provider.custom.title": "Özel sağlayıcı", + "provider.custom.unavailable": "Özel sağlayıcılar bu sunucuda kullanılamıyor", "provider.custom.description.prefix": "OpenAI uyumlu bir sağlayıcı yapılandırın. ", - "provider.custom.description.link": "Sağlayıcı yapılandırma dökümanları", + "provider.custom.description.link": "sağlayıcı yapılandırma dokümanları", "provider.custom.description.suffix": " sayfasına bakın.", - "provider.custom.field.providerID.label": "Sağlayıcı kimlik", + "provider.custom.field.providerID.label": "Sağlayıcı kimliği", "provider.custom.field.providerID.placeholder": "saglayicim", "provider.custom.field.providerID.description": "Küçük harfler, rakamlar, tire veya alt çizgi", "provider.custom.field.name.label": "Görünen ad", @@ -178,7 +287,7 @@ export const dict = { "provider.custom.field.apiKey.label": "API anahtarı", "provider.custom.field.apiKey.placeholder": "API anahtarı", "provider.custom.field.apiKey.description": - "İsteğe bağlı. Kimlik doğrulamayı başlıklar ile yönetiyorsanız boş bırakın.", + "İsteğe bağlı. Kimlik doğrulamayı başlıklarla yönetiyorsanız boş bırakın.", "provider.custom.models.label": "Modeller", "provider.custom.models.id.label": "Kimlik", "provider.custom.models.id.placeholder": "model-kimlik", @@ -193,9 +302,9 @@ export const dict = { "provider.custom.headers.value.placeholder": "değer", "provider.custom.headers.remove": "Başlığı kaldır", "provider.custom.headers.add": "Başlık ekle", - "provider.custom.error.providerID.required": "Sağlayıcı kimlik gerekli", + "provider.custom.error.providerID.required": "Sağlayıcı kimliği gerekli", "provider.custom.error.providerID.format": "Küçük harf, rakam, tire veya alt çizgi kullanın", - "provider.custom.error.providerID.exists": "Bu sağlayıcı kimlik zaten mevcut", + "provider.custom.error.providerID.exists": "Bu sağlayıcı kimliği zaten mevcut", "provider.custom.error.name.required": "Görünen ad gerekli", "provider.custom.error.baseURL.required": "Temel URL gerekli", "provider.custom.error.baseURL.format": "http:// veya https:// ile başlamalı", @@ -203,7 +312,7 @@ export const dict = { "provider.custom.error.duplicate": "Tekrar", "provider.disconnect.toast.disconnected.title": "{{provider}} bağlantısı kesildi", - "provider.disconnect.toast.disconnected.description": "{{provider}} modelleri artık kullanılabilir değil.", + "provider.disconnect.toast.disconnected.description": "{{provider}} modelleri artık kullanılamıyor.", "model.tag.free": "Ücretsiz", "model.tag.latest": "En yeni", @@ -223,9 +332,9 @@ export const dict = { "model.tooltip.model": "Model", "model.tooltip.provider": "Sağlayıcı", "model.tooltip.reasoning": "Akıl yürütme", - "model.tooltip.reasoning.allowed": "Akıl yürütme destekler", + "model.tooltip.reasoning.allowed": "Akıl yürütmeyi destekler", "model.tooltip.reasoning.none": "Akıl yürütme yok", - "model.tooltip.context": "Bağlam limiti {{limit}}", + "model.tooltip.context": "Bağlam sınırı {{limit}}", "common.search.placeholder": "Ara", "common.goBack": "Geri git", @@ -235,8 +344,8 @@ export const dict = { "common.cancel": "İptal", "common.clear": "Temizle", "common.connect": "Bağlan", - "common.disconnect": "Bağlantı Kes", - "common.continue": "Gönder", + "common.disconnect": "Bağlantıyı kes", + "common.continue": "Devam et", "common.submit": "Gönder", "common.save": "Kaydet", "common.saving": "Kaydediliyor...", @@ -249,7 +358,7 @@ export const dict = { "prompt.placeholder.summarizeComments": "Yorumları özetle…", "prompt.placeholder.summarizeComment": "Yorumu özetle…", "prompt.mode.shell": "Kabuk", - "prompt.mode.normal": "Komut", + "prompt.mode.normal": "İstem", "prompt.mode.shell.exit": "çıkmak için esc", "session.child.promptDisabled": "Alt ajan oturumlarına istem gönderilemez.", "session.child.backToParent": "Ana oturuma dön.", @@ -266,30 +375,30 @@ export const dict = { "prompt.example.10": "API dokümantasyonu oluştur", "prompt.example.11": "Veritabanı sorgularını optimize et", "prompt.example.12": "Girdi doğrulama ekle", - "prompt.example.13": "İçin yeni bir bileşen oluştur...", + "prompt.example.13": "... için yeni bir bileşen oluştur", "prompt.example.14": "Bu projeyi nasıl dağıtabilirim?", "prompt.example.15": "Kodumu en iyi uygulamalar için incele", "prompt.example.16": "Bu fonksiyona hata yönetimi ekle", "prompt.example.17": "Bu regex kalıbını açıkla", "prompt.example.18": "Bunu TypeScript'e dönüştür", - "prompt.example.19": "Kod tabanı boyunca loglama ekle", + "prompt.example.19": "Kod tabanının tamamına günlük kaydı ekle", "prompt.example.20": "Hangi bağımlılıklar güncellenmemiş?", - "prompt.example.21": "Bir göç betiği yazmama yardım et", + "prompt.example.21": "Bir geçiş betiği yazmama yardım et", "prompt.example.22": "Bu uç nokta için önbellekleme uygula", "prompt.example.23": "Bu listeye sayfalama ekle", - "prompt.example.24": "İçin bir CLI komutu oluştur...", + "prompt.example.24": "... için bir CLI komutu oluştur", "prompt.example.25": "Ortam değişkenleri burada nasıl çalışıyor?", "prompt.popover.emptyResults": "Eşleşen sonuç yok", "prompt.popover.emptyCommands": "Eşleşen komut yok", "prompt.dropzone.label": "Resimleri, PDF'leri veya metin dosyalarını buraya bırakın", - "prompt.dropzone.file.label": "@bahsetmek için dosyayı bırakın", + "prompt.dropzone.file.label": "Dosyayı @ ile belirtmek için buraya bırakın", "prompt.slash.badge.custom": "özel", "prompt.slash.badge.skill": "beceri", "prompt.slash.badge.mcp": "mcp", - "prompt.context.active": "aktif", - "prompt.context.includeActiveFile": "Aktif dosyayı dahil et", - "prompt.context.removeActiveFile": "Aktif dosyayı bağlamdan çıkar", + "prompt.context.active": "etkin", + "prompt.context.includeActiveFile": "Etkin dosyayı dahil et", + "prompt.context.removeActiveFile": "Etkin dosyayı bağlamdan çıkar", "prompt.context.removeFile": "Dosyayı bağlamdan çıkar", "prompt.action.attachFile": "Dosya ekle", "prompt.menu.addImagesAndFiles": "Dosya ve daha fazlasını ekle", @@ -305,16 +414,16 @@ export const dict = { "prompt.toast.attachmentDuplicate.title": "Bu dosya zaten yüklendi", "prompt.toast.pasteUnsupported.description": "Buraya yalnızca resimler, PDF'ler veya metin dosyaları eklenebilir.", "prompt.toast.modelAgentRequired.title": "Bir ajan ve model seçin", - "prompt.toast.modelAgentRequired.description": "Komut göndermeden önce bir ajan ve model seçin.", + "prompt.toast.modelAgentRequired.description": "İstem göndermeden önce bir ajan ve model seçin.", "prompt.toast.worktreeCreateFailed.title": "Çalışma ağacı oluşturulamadı", "prompt.toast.sessionCreateFailed.title": "Oturum oluşturulamadı", "prompt.toast.shellSendFailed.title": "Kabuk komutu gönderilemedi", "prompt.toast.commandSendFailed.title": "Komut gönderilemedi", - "prompt.toast.promptSendFailed.title": "Komut gönderilemedi", + "prompt.toast.promptSendFailed.title": "İstem gönderilemedi", "prompt.toast.promptSendFailed.description": "Oturum alınamadı", "dialog.mcp.title": "MCP'ler", - "dialog.mcp.description": "{{total}} içerisinden {{enabled}} etkin", + "dialog.mcp.description": "Toplam {{total}} öğeden {{enabled}} tanesi etkin", "dialog.mcp.empty": "Yapılandırılmış MCP yok", "dialog.lsp.empty": "LSP'ler dosya türlerinden otomatik algılanır", @@ -349,7 +458,7 @@ export const dict = { "dialog.server.add.name": "Sunucu adı (isteğe bağlı)", "dialog.server.add.namePlaceholder": "Localhost", "dialog.server.add.username": "Kullanıcı adı (isteğe bağlı)", - "dialog.server.add.password": "Şifre (isteğe bağlı)", + "dialog.server.add.password": "Parola (isteğe bağlı)", "dialog.server.edit.title": "Sunucuyu düzenle", "dialog.server.default.title": "Varsayılan sunucu", "dialog.server.default.description": @@ -435,6 +544,22 @@ export const dict = { "wsl.onboarding.versionMismatch": "Kurulu sürüm masaüstü uygulamasının sürümüyle eşleşmiyor.", "wsl.onboarding.adding": "Ekleniyor...", + "help.tabs.toast.ariaLabel": "Sekmelerle tanışın. Çalışmalarınızı ve etkin oturumlarınızı sekmelerle düzenleyin", + "help.tabs.toast.dismiss": "Sekmeler bilgilerini kapat", + "help.tabs.title": "Sekmelerle tanışın", + "help.tabs.description": "Çalışmalarınızı ve etkin oturumlarınızı sekmelerle düzenleyin", + "help.tabs.date": "14 Temmuz", + "help.tabs.introduction": "OpenCode Desktop artık sekmeler üzerine kurulu.", + "help.tabs.sessions": + "Bir sekmede yeni oturum başlatın veya projelerinizden mevcut bir oturumu açın. Yeni bir işe başlarken yeni sekme açın, işiniz bittiğinde sekmeyi kapatın.", + "help.tabs.organize": + "Birkaç sekmeyi açık tutmak, etkin oturumlarınızı düzenlemenizi kolaylaştırır. Sekmeleri açık tutmayı planlıyorsanız onlara akılda kalıcı adlar verin.", + "help.tabs.home": + "Tüm oturumlarınızı ve projelerinizi yeni Ana Sayfa ekranında bulabilirsiniz. Bir oturum seçtiğinizde oturum bir sekmede açılır.", + "help.tabs.persistence": "Uygulamayı yeniden açtığınızda sekmeleriniz açık kalır.", + "help.tabs.worktrees": + "Yeni tasarım henüz Git Worktrees'i desteklemiyor; bu özellik yakında kullanıma sunulacak. Önceki düzeni kullanmaya devam etmek isterseniz Ayarlar'da düzenler arasında geçiş yapabilirsiniz. Yeni düzenin birkaç hafta içinde kalıcı olacağını unutmayın.", + "dialog.project.edit.title": "Projeyi düzenle", "dialog.project.edit.name": "Ad", "dialog.project.edit.icon": "Simge", @@ -447,6 +572,8 @@ export const dict = { "dialog.project.edit.worktree.startup.description": "Yeni bir çalışma alanı (worktree) oluşturduktan sonra çalışır.", "dialog.project.edit.worktree.startup.placeholder": "örneğin bun install", + "dialog.usageExceeded.dontShowAgain": "Bir daha gösterme", + "context.breakdown.title": "Bağlam Dökümü", "context.breakdown.note": 'Girdi tokenlerinin yaklaşık dökümü. "Diğer" araç tanımları ve ek yükleri içerir.', "context.breakdown.system": "Sistem", @@ -455,14 +582,16 @@ export const dict = { "context.breakdown.tool": "Araç Çağrıları", "context.breakdown.other": "Diğer", - "context.systemPrompt.title": "Sistem Komutu", + "context.systemPrompt.title": "Sistem İstemi", "context.rawMessages.title": "Ham mesajlar", + "context.export.session": "Oturumu dışa aktar", + "context.stats.session": "Oturum", "context.stats.messages": "Mesajlar", "context.stats.provider": "Sağlayıcı", "context.stats.model": "Model", - "context.stats.limit": "Bağlam Limiti", + "context.stats.limit": "Bağlam Sınırı", "context.stats.totalTokens": "Toplam Token", "context.stats.usage": "Kullanım", "context.stats.inputTokens": "Girdi Tokenleri", @@ -472,7 +601,7 @@ export const dict = { "context.stats.userMessages": "Kullanıcı Mesajları", "context.stats.assistantMessages": "Asistan Mesajları", "context.stats.totalCost": "Toplam Maliyet", - "context.stats.sessionCreated": "Oturum Oluşturulma", + "context.stats.sessionCreated": "Oturum Oluşturma", "context.stats.lastActivity": "Son Etkinlik", "context.usage.tokens": "Tokenler", @@ -511,10 +640,10 @@ export const dict = { "toast.workspace.disabled.title": "Çalışma alanları devre dışı bırakıldı", "toast.workspace.disabled.description": "Kenar çubuğunda yalnızca ana çalışma ağacı gösterilecek", - "toast.permissions.autoaccept.on.title": "Düzenlemeler otomatik kabul ediliyor", - "toast.permissions.autoaccept.on.description": "Düzenleme ve yazma izinleri otomatik olarak onaylanacak", - "toast.permissions.autoaccept.off.title": "Otomatik kabul durduruldu", - "toast.permissions.autoaccept.off.description": "Düzenleme ve yazma izinleri onay gerektirecek", + "toast.permissions.autoaccept.on.title": "İzinler otomatik kabul ediliyor", + "toast.permissions.autoaccept.on.description": "İzin istekleri otomatik olarak onaylanacak", + "toast.permissions.autoaccept.off.title": "İzinleri otomatik kabul etme durduruldu", + "toast.permissions.autoaccept.off.description": "İzin istekleri onay gerektirecek", "toast.model.none.title": "Model seçilmedi", "toast.model.none.description": "Bu oturumu özetlemek için bir sağlayıcı bağlayın", @@ -536,6 +665,11 @@ export const dict = { "toast.session.unshare.failed.title": "Oturum paylaşımı kaldırılamadı", "toast.session.unshare.failed.description": "Oturum paylaşımı kaldırılırken bir hata oluştu", + "toast.session.export.success.title": "Oturum dışa aktarıldı", + "toast.session.export.success.description": "Oturum {{filename}} dosyasına kaydedildi", + "toast.session.export.failed.title": "Oturum dışa aktarılamadı", + "toast.session.export.failed.description": "Oturum dışa aktarılırken bir hata oluştu", + "toast.session.listFailed.title": "{{project}} için oturumlar yüklenemedi", "toast.update.title": "Güncelleme mevcut", @@ -554,8 +688,8 @@ export const dict = { "error.page.action.checking": "Kontrol ediliyor...", "error.page.action.checkUpdates": "Güncellemeleri kontrol et", "error.page.action.updateTo": "{{version}} sürümüne güncelle", - "error.page.report.prefix": "Lütfen bu hatayı OpenCode ekibine bildirin", - "error.page.report.discord": "Discord üzerinden", + "error.page.report.prefix": "Lütfen bu hatayı OpenCode ekibine", + "error.page.report.discord": "Discord üzerinden bildirin", "error.page.version": "Sürüm: {{version}}", "error.dev.rootNotFound": @@ -572,9 +706,9 @@ export const dict = { "error.chain.responseBody": "Yanıt gövdesi:\n{{body}}", "error.chain.didYouMean": "Bunu mu demek istediniz: {{suggestions}}", "error.chain.modelNotFound": "Model bulunamadı: {{provider}}/{{model}}", - "error.chain.checkConfig": "Yapılandırma dosyanızı (opencode.json) sağlayıcı/model adlarını kontrol edin", + "error.chain.checkConfig": "Yapılandırma dosyanızdaki (opencode.json) sağlayıcı/model adlarını kontrol edin", "error.chain.mcpFailed": - 'MCP sunucusu "{{name}}" başarısız oldu. Not: OpenCode henüz MCP kimlik doğrulamasını desteklemiyor.', + 'MCP sunucusu "{{name}}" çalıştırılamadı. Not: OpenCode henüz MCP kimlik doğrulamasını desteklemiyor.', "error.chain.providerAuthFailed": "Sağlayıcı kimlik doğrulaması başarısız ({{provider}}): {{message}}", "error.chain.providerInitFailed": '"{{provider}}" sağlayıcısı başlatılamadı. Kimlik bilgilerini ve yapılandırmayı kontrol edin.', @@ -624,9 +758,9 @@ export const dict = { "session.panel.reviewAndFiles": "İnceleme ve dosyalar", "session.error.notFound": "Bu oturum bulunamıyor", "session.error.notFound.description": "Bu sekme, artık bu sunucuda bulunmayan bir oturuma yönlendiriyor.", - "session.error.notFound.closeTab": "Sekmeyi Kapat", + "session.error.notFound.closeTab": "Sekmeyi kapat", "session.error.serverConnection": "Bu sunucuya bağlanılamıyor", - "session.review.filesChanged": "{{count}} Dosya Değişti", + "session.review.filesChanged": "{{count}} dosya değişti", "session.review.change.one": "Değişiklik", "session.review.change.other": "Değişiklik", "session.review.loadingChanges": "Değişiklikler yükleniyor...", @@ -635,7 +769,7 @@ export const dict = { "session.review.noSnapshot": "Yapılandırmada anlık görüntü takibi devre dışı bırakıldı, bu nedenle oturum değişiklikleri kullanılamıyor", "session.review.noChanges": "Değişiklik yok", - "session.review.noUncommittedChanges": "Henüz commit edilmemiş değişiklik yok", + "session.review.noUncommittedChanges": "Henüz işlenmemiş değişiklik yok", "session.review.noBranchChanges": "Henüz dal değişikliği yok", "session.files.selectToOpen": "Açmak için bir dosya seçin", @@ -669,7 +803,7 @@ export const dict = { "session.revertDock.expand": "Geri alınan mesajları genişlet", "session.revertDock.restore": "Mesajı geri yükle", - "session.new.title": "İstediğini yap", + "session.new.title": "Her şeyi geliştirin", "session.new.project.new": "Yeni proje", "session.new.project.search": "Proje ara", "session.new.project.add": "Proje ekle", @@ -690,6 +824,9 @@ export const dict = { "session.header.open.ariaLabel": "{{app}} ile aç", "session.header.open.menu": "Açma seçenekleri", "session.header.open.copyPath": "Yolu kopyala", + "session.header.reveal.finder": "Finder'da göster", + "session.header.reveal.fileExplorer": "Dosya Gezgini'nde göster", + "session.header.reveal.containingFolder": "İçeren klasörü aç", "status.popover.trigger": "Durum", "status.popover.ariaLabel": "Sunucu yapılandırmaları", @@ -710,19 +847,25 @@ export const dict = { "session.share.action.unpublishing": "Yayından kaldırılıyor...", "session.share.action.view": "Görüntüle", "session.share.copy.copied": "Kopyalandı", - "session.share.copy.copyLink": "Bağlantı kopyala", + "session.share.copy.copyLink": "Bağlantıyı kopyala", "lsp.tooltip.none": "LSP sunucusu yok", "lsp.label.connected": "{{count}} LSP", - "prompt.loading": "Komut yükleniyor...", + "prompt.loading": "İstem yükleniyor...", "terminal.loading": "Terminal yükleniyor...", "terminal.title": "Terminal", "terminal.title.numbered": "Terminal {{number}}", "terminal.close": "Terminali kapat", - "terminal.connectionLost.title": "Bağlantı Kesildi", + "terminal.connectionLost.title": "Bağlantı kesildi", "terminal.connectionLost.description": "Terminal bağlantısı kesildi. Bu durum sunucu yeniden başladığında oluşabilir.", + "terminal.connectTicket.csrfError": + "PTY bağlantı bileti, kaynak veya CSRF denetimleri tarafından reddedildi. Sunucunun CORS yapılandırmasını kontrol edin.", + "terminal.connectTicket.statusError": "PTY bağlantı bileti {{status}} durumuyla başarısız oldu", + + "titlebar.update": "Güncelle", + "titlebar.updateVersion": "Güncelle {{version}}", "common.closeTab": "Sekmeyi kapat", "common.dismiss": "Kapat", @@ -730,6 +873,7 @@ export const dict = { "common.moreOptions": "Daha fazla seçenek", "common.learnMore": "Daha fazla bilgi", "common.rename": "Yeniden adlandır", + "common.export": "Dışa aktar", "common.reset": "Sıfırla", "common.archive": "Arşivle", "common.delete": "Sil", @@ -785,15 +929,15 @@ export const dict = { "OpenCode'un sistem, açık veya koyu temayı takip etip etmeyeceğini seçin", "settings.general.row.theme.title": "Tema", "settings.general.row.theme.description": "OpenCode'un temasını özelleştirin.", - "settings.general.row.font.title": "Kod Yazı Tipi", + "settings.general.row.font.title": "Kod yazı tipi", "settings.general.row.font.description": "Kod bloklarında kullanılan yazı tipini özelleştirin", "settings.general.row.terminalFont.title": "Terminal yazı tipi", "settings.general.row.terminalFont.description": "Terminalde kullanılan yazı tipini özelleştirin", - "settings.general.row.uiFont.title": "Arayüz Yazı Tipi", + "settings.general.row.uiFont.title": "Arayüz yazı tipi", "settings.general.row.uiFont.description": "Arayüz genelinde kullanılan yazı tipini özelleştirin", "settings.general.row.followup.title": "Takip davranışı", "settings.general.row.followup.description": - "Takip komutlarının hemen yönlendirilmesini mi yoksa sırada beklemesini mi istediğinizi seçin", + "Takip istemlerinin hemen yönlendirilmesini mi yoksa sırada beklemesini mi istediğinizi seçin", "settings.general.row.followup.option.queue": "Sıra", "settings.general.row.followup.option.steer": "Yönlendir", "settings.general.row.showFileTree.title": "Dosya ağacı", @@ -809,8 +953,9 @@ export const dict = { "settings.general.row.mobileTitlebarBottom.title": "Alt gezinme", "settings.general.row.mobileTitlebarBottom.description": "Mobil cihazlarda başlık çubuğunu ve oturum sekmelerini ekranın altına yerleştir", - "settings.general.row.showCustomAgents.title": "Özel ajanlar", - "settings.general.row.showCustomAgents.description": "Yazma alanında ajan seçiciyi göster", + "settings.general.row.showCustomAgents.title": "Ajanı göster", + "settings.general.row.showCustomAgents.description": + "Düzenleyicide ajanlar arasında geçiş yapın. Gizlendiğinde varsayılan olarak Build ajanı kullanılır.", "settings.general.row.reasoningSummaries.title": "Akıl yürütme özetlerini göster", "settings.general.row.reasoningSummaries.description": "Zaman çizelgesinde model akıl yürütme özetlerini görüntüle", "settings.general.row.shellToolPartsExpanded.title": "Kabuk araç bileşenlerini genişlet", @@ -834,7 +979,7 @@ export const dict = { "settings.general.row.wayland.description": "Wayland'da X11 geri dönüşünü devre dışı bırak. Yeniden başlatma gerektirir.", "settings.general.row.wayland.tooltip": - "Karışık yenileme hızlı monitörlere sahip Linux'ta yerel Wayland daha kararlı olabilir.", + "Farklı yenileme hızlarına sahip monitörlerin kullanıldığı Linux sistemlerinde yerel Wayland daha kararlı olabilir.", "settings.general.row.releaseNotes.title": "Sürüm notları", "settings.general.row.releaseNotes.description": "Güncellemelerden sonra Yenilikler bildirimlerini göster", @@ -928,7 +1073,7 @@ export const dict = { "settings.shortcuts.group.navigation": "Gezinme", "settings.shortcuts.group.modelAndAgent": "Model ve ajan", "settings.shortcuts.group.terminal": "Terminal", - "settings.shortcuts.group.prompt": "Komut", + "settings.shortcuts.group.prompt": "İstem", "settings.providers.title": "Sağlayıcılar", "settings.providers.description": "Sağlayıcı ayarları burada yapılandırılabilecek.", @@ -953,7 +1098,7 @@ export const dict = { "settings.permissions.section.tools": "Araçlar", "settings.permissions.toast.updateFailed.title": "İzinler güncellenemedi", - "settings.permissions.action.allow": "İzin Ver", + "settings.permissions.action.allow": "İzin ver", "settings.permissions.action.ask": "Sor", "settings.permissions.action.deny": "Reddet", @@ -993,7 +1138,7 @@ export const dict = { "workspace.new": "Yeni çalışma alanı", "workspace.type.local": "yerel", - "workspace.type.sandbox": "sandbox", + "workspace.type.sandbox": "korumalı alan", "workspace.create.failed.title": "Çalışma alanı oluşturulamadı", "workspace.delete.failed.title": "Çalışma alanı silinemedi", "workspace.resetting.title": "Çalışma alanı sıfırlanıyor", @@ -1025,9 +1170,9 @@ export const dict = { "error.server.invalidConfiguration": "Geçersiz yapılandırma", "common.moreCountSuffix": " (+{{count}} daha)", "common.time.justNow": "Şimdi", - "common.time.minutesAgo.short": "{{count}}dk önce", - "common.time.hoursAgo.short": "{{count}}sa önce", - "common.time.daysAgo.short": "{{count}}g önce", + "common.time.minutesAgo.short": "{{count}} dk önce", + "common.time.hoursAgo.short": "{{count}} sa önce", + "common.time.daysAgo.short": "{{count}} gün önce", "settings.providers.connected.environmentDescription": "Ortam değişkenlerinizden bağlandı", "settings.providers.custom.description": "Temel URL üzerinden OpenAI uyumlu bir sağlayıcı ekleyin.", @@ -1065,7 +1210,7 @@ export const dict = { "debugBar.nav.tip": "Yönlendirici başlangıcından yerleşme sonrası ilk boyamaya kadar ölçülen, bir oturum sayfasına dokunan son tamamlanmış rota geçişi.", "debugBar.fps.label": "FPS", - "debugBar.fps.tip": "Son 5 saniyedeki kayan saniye başına kare sayısı.", + "debugBar.fps.tip": "Son 5 saniyedeki hareketli saniye başına kare ortalaması.", "debugBar.frame.label": "FRAME", "debugBar.frame.tip": "Son 5 saniyedeki en kötü kare süresi.", "debugBar.jank.label": "JANK", @@ -1079,14 +1224,22 @@ export const dict = { "debugBar.cls.label": "CLS", "debugBar.cls.tip": "Mevcut uygulama ömrü için kümülatif düzen kayması.", "debugBar.mem.label": "MEM", - "debugBar.mem.tipUnavailable": "Kullanılan JS yığını vs yığın sınırı. Yalnızca Chromium.", - "debugBar.mem.tip": "Kullanılan JS yığını vs yığın sınırı. {{limit}} içinde {{used}}.", + "debugBar.mem.tipUnavailable": "Kullanılan JS yığınının yığın sınırına oranı. Yalnızca Chromium.", + "debugBar.mem.tip": "Kullanılan JS yığınının yığın sınırına oranı: {{used}} / {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Tüm etkileşimli öğelere odak stillerini zorla uygula", + "debugBar.focus.on": "AÇIK", + "debugBar.focus.off": "KAPALI", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Seçili dili değiştirmeden tüm uygulamanın düzen yönünü zorla ayarla", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", "common.key.ctrl": "Ctrl", "common.key.alt": "Alt", "common.key.shift": "Shift", "common.key.meta": "Meta", "common.key.space": "Boşluk", - "common.key.backspace": "Geri", + "common.key.backspace": "Geri Al", "common.key.enter": "Enter", "common.key.tab": "Tab", "common.key.delete": "Delete", diff --git a/packages/app/src/i18n/uk.ts b/packages/app/src/i18n/uk.ts index d8c9ae8e435e..54732a87b7eb 100644 --- a/packages/app/src/i18n/uk.ts +++ b/packages/app/src/i18n/uk.ts @@ -1,4 +1,104 @@ export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Файл", + "desktop.menu.edit": "Редагування", + "desktop.menu.view": "Вигляд", + "desktop.menu.go": "Перехід", + "desktop.menu.window": "Вікно", + "desktop.menu.help": "Довідка", + "desktop.menu.checkForUpdates": "Перевірити наявність оновлень...", + "desktop.menu.settings": "Налаштування", + "desktop.menu.reloadWebview": "Перезавантажити вебподання", + "desktop.menu.restart": "Перезапустити", + "desktop.menu.exportLogs": "Експортувати журнали...", + "desktop.menu.newSession": "Нова сесія", + "desktop.menu.openProject": "Відкрити проєкт...", + "desktop.menu.newWindow": "Нове вікно", + "desktop.menu.closeWindow": "Закрити вікно", + "desktop.menu.undo": "Скасувати", + "desktop.menu.redo": "Повторити", + "desktop.menu.cut": "Вирізати", + "desktop.menu.copy": "Копіювати", + "desktop.menu.paste": "Вставити", + "desktop.menu.delete": "Видалити", + "desktop.menu.selectAll": "Вибрати все", + "desktop.menu.toggleSidebar": "Перемкнути бічну панель", + "desktop.menu.toggleTerminal": "Перемкнути термінал", + "desktop.menu.toggleFileTree": "Перемкнути дерево файлів", + "desktop.menu.reload": "Перезавантажити", + "desktop.menu.toggleDeveloperTools": "Перемкнути інструменти розробника", + "desktop.menu.actualSize": "Фактичний розмір", + "desktop.menu.zoomIn": "Збільшити", + "desktop.menu.zoomOut": "Зменшити", + "desktop.menu.toggleFullScreen": "Перемкнути повноекранний режим", + "desktop.menu.back": "Назад", + "desktop.menu.forward": "Вперед", + "desktop.menu.previousSession": "Попередня сесія", + "desktop.menu.nextSession": "Наступна сесія", + "desktop.menu.previousProject": "Попередній проєкт", + "desktop.menu.nextProject": "Наступний проєкт", + "desktop.menu.minimize": "Згорнути", + "desktop.menu.maximize": "Розгорнути", + "desktop.menu.documentation": "Документація OpenCode", + "desktop.menu.supportForum": "Форум підтримки", + "desktop.menu.shareFeedback": "Надіслати відгук", + "desktop.menu.reportBug": "Повідомити про помилку", + "desktop.menu.ariaLabel": "Меню OpenCode", + + "desktop.updater.dialog.checkFailed.message": "Не вдалося перевірити наявність оновлень.", + "desktop.updater.dialog.checkFailed.title": "Помилка оновлення", + "desktop.updater.dialog.upToDate.message": "У вас найновіша версія.", + "desktop.updater.dialog.upToDate.title": "Оновлень немає", + "desktop.updater.dialog.ready.message": "Оновлення {{version}} завантажено. Перезапустити зараз?", + "desktop.updater.dialog.ready.title": "Оновлення готове", + "desktop.updater.dialog.restart": "Перезапустити", + "desktop.updater.dialog.later": "Пізніше", + + "desktop.recovery.action.relaunch": "Запустити повторно", + "desktop.recovery.action.exportLogs": "Експортувати журнали", + "desktop.recovery.action.keepWaiting": "Продовжити очікування", + "desktop.recovery.action.quit": "Завершити роботу", + "desktop.recovery.loadFailed": "Не вдалося завантажити OpenCode", + "desktop.recovery.terminated": "Роботу вікна OpenCode несподівано завершено", + "desktop.recovery.unresponsive": "OpenCode не відповідає", + "desktop.recovery.unresponsive.detail": + "Ви можете повторно запустити програму, відкрити журнали або продовжити очікування.", + "desktop.recovery.loadFailed.detail": "Вікно: {{window}}\nURL: {{url}}\nПомилка: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Вікно: {{window}}\nПричина: {{reason}}\nКод: {{code}}", + "desktop.recovery.unknown": "<невідомо>", + + "desktop.dialog.chooseFolder": "Виберіть папку", + "desktop.dialog.chooseFile": "Виберіть файл", + "desktop.dialog.saveFile": "Зберегти файл", + "desktop.dialog.files": "Файли", + "desktop.server.local": "Локальний сервер", + + "desktop.wsl.error.windowsOnly": "WSL доступна лише у Windows", + "desktop.wsl.error.unavailable": "WSL недоступна", + "desktop.wsl.error.listInstalled": "Не вдалося отримати список встановлених дистрибутивів WSL", + "desktop.wsl.error.listOnline": "Не вдалося отримати список доступних онлайн дистрибутивів WSL", + "desktop.wsl.error.executeDistro": "Не вдалося виконати команди в дистрибутиві", + "desktop.wsl.error.installWsl": "Не вдалося встановити WSL", + "desktop.wsl.error.installDistro": "Не вдалося встановити дистрибутив: {{distro}}", + "desktop.wsl.error.installOpencode": "Не вдалося встановити OpenCode", + "desktop.wsl.error.alreadyAdded": "{{distro}} уже додано", + "desktop.wsl.error.opencodeMissing": "opencode не встановлено в цьому дистрибутиві", + "desktop.wsl.error.opencodeCannotRun": "opencode встановлено, але його не вдалося запустити", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode не встановлено в {{distro}}", + "desktop.wsl.error.updateVersion": + "Оновлення OpenCode завершено, але {{distro}} усе ще повідомляє про версію {{installed}}; очікувалася {{expected}}", + "desktop.wsl.error.noVersion": "версію не вказано", + "desktop.wsl.error.serverExited": "Сервер WSL завершив роботу після запуску (code={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "Сервер WSL завершив роботу, не досягнувши працездатного стану (code={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": + "Час очікування перевірки працездатності sidecar для {{distro}} минув через {{timeout}}мс", + "desktop.wsl.error.commandTimeout": "Час очікування {{command}} {{args}} минув через {{timeout}}мс", + "desktop.wsl.error.failedPort": "Не вдалося отримати порт", + + "desktop.picker.error.notSelected": "Засіб вибору не повернув вибраний файл", + "desktop.picker.error.sizeLimit": "Вибрані вкладення перевищують обмеження в {{limit}} МБ", + "command.category.suggested": "Рекомендовані", "command.category.view": "Вигляд", "command.category.project": "Проєкт", @@ -16,6 +116,7 @@ export const dict = { "command.category.permissions": "Дозволи", "command.category.workspace": "Робоча область", "command.category.settings": "Налаштування", + "command.logs.export": "Експортувати журнали", "theme.scheme.system": "Системна", "theme.scheme.light": "Світла", @@ -92,6 +193,9 @@ export const dict = { "command.session.unshare": "Припинити поширення сесії", "command.session.unshare.description": "Припинити поширення цієї сесії", + "command.session.export": "Експортувати сесію", + "command.session.export.description": "Експортувати повну історію сесії у форматі JSON", + "palette.search.placeholder": "Пошук файлів, команд і сесій", "palette.search.placeholder.home": "Пошук команд і сесій", "palette.empty": "Результатів не знайдено", @@ -102,26 +206,28 @@ export const dict = { "dialog.provider.empty": "Провайдерів не знайдено", "dialog.provider.group.popular": "Популярні", "dialog.provider.group.other": "Інші", + "dialog.provider.custom.label": "Користувацький провайдер, сумісний з OpenAI", "dialog.provider.tag.recommended": "Рекомендовані", "dialog.provider.opencode.note": "Відібрані моделі, включаючи Claude, GPT, Gemini та інші", "dialog.provider.opencode.tagline": "Надійні оптимізовані моделі", "dialog.provider.opencodeGo.tagline": "Недорога підписка для всіх", "dialog.provider.anthropic.note": "Прямий доступ до моделей Claude, включаючи Pro та Max", - "dialog.provider.copilot.note": "Моделі AI для допомоги в кодуванні через GitHub Copilot", - "dialog.provider.openai.note": "Моделі GPT для швидких і універсальних завдань AI", + "dialog.provider.copilot.note": "Моделі ШІ для допомоги в кодуванні через GitHub Copilot", + "dialog.provider.openai.note": "Моделі GPT для швидких і універсальних завдань ШІ", "dialog.provider.google.note": "Моделі Gemini для швидких структурованих відповідей", "dialog.provider.openrouter.note": "Доступ до всіх підтримуваних моделей від одного провайдера", - "dialog.provider.vercel.note": "Уніфікований доступ до моделей AI з інтелектуальною маршрутизацією", + "dialog.provider.vercel.note": "Уніфікований доступ до моделей ШІ з інтелектуальною маршрутизацією", "dialog.model.select.title": "Вибрати модель", "dialog.model.search.placeholder": "Пошук моделей", - "dialog.model.empty": "Немає результатів моделей", + "dialog.model.empty": "Моделей не знайдено", "dialog.model.manage": "Керувати моделями", "dialog.model.manage.description": "Налаштуйте, які моделі відображатимуться у виборі моделей.", "dialog.model.manage.provider.toggle": "Перемкнути всі моделі {{provider}}", "dialog.model.unpaid.freeModels.title": "Безкоштовні моделі від OpenCode", "dialog.model.unpaid.addMore.title": "Додати більше моделей від популярних провайдерів", + "dialog.model.unpaid.viewMoreProviders": "Переглянути ще понад 70 провайдерів", "dialog.provider.viewAll": "Показати більше провайдерів", @@ -129,6 +235,8 @@ export const dict = { "provider.connect.title.anthropicProMax": "Увійти з Claude Pro/Max", "provider.connect.selectMethod": "Виберіть спосіб входу для {{provider}}.", "provider.connect.method.apiKey": "Ключ API", + "provider.connect.method.browser": "Браузер", + "provider.connect.method.headless": "Без графічного інтерфейсу", "provider.connect.status.inProgress": "Авторизація виконується...", "provider.connect.status.waiting": "Очікування авторизації...", "provider.connect.status.failed": "Авторизація не вдалася: {{error}}", @@ -161,6 +269,7 @@ export const dict = { "provider.connect.toast.connected.description": "Моделі {{provider}} тепер доступні для використання.", "provider.custom.title": "Користувацький провайдер", + "provider.custom.unavailable": "Користувацькі провайдери недоступні на цьому сервері", "provider.custom.description.prefix": "Налаштуйте провайдера, сумісного з OpenAI. Перегляньте ", "provider.custom.description.link": "документацію з налаштування провайдера", "provider.custom.description.suffix": ".", @@ -168,7 +277,7 @@ export const dict = { "provider.custom.field.providerID.placeholder": "myprovider", "provider.custom.field.providerID.description": "Малі літери, цифри, дефіси або підкреслення", "provider.custom.field.name.label": "Відображувана назва", - "provider.custom.field.name.placeholder": "Мій AI Провайдер", + "provider.custom.field.name.placeholder": "Мій провайдер ШІ", "provider.custom.field.baseURL.label": "Базовий URL", "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", "provider.custom.field.apiKey.label": "Ключ API", @@ -189,7 +298,7 @@ export const dict = { "provider.custom.headers.value.placeholder": "значення", "provider.custom.headers.remove": "Видалити заголовок", "provider.custom.headers.add": "Додати заголовок", - "provider.custom.error.providerID.required": "ID провайдера обов'язкове", + "provider.custom.error.providerID.required": "ID провайдера обов'язковий", "provider.custom.error.providerID.format": "Використовуйте малі літери, цифри, дефіси або підкреслення", "provider.custom.error.providerID.exists": "ID провайдера вже існує", "provider.custom.error.name.required": "Відображувана назва обов'язкова", @@ -314,7 +423,7 @@ export const dict = { "dialog.mcp.description": "{{enabled}} з {{total}} увімкнено", "dialog.mcp.empty": "MCP не налаштовано", - "dialog.lsp.empty": "LSP автоматично виявлені за типами файлів", + "dialog.lsp.empty": "Сервери LSP автоматично виявляються за типами файлів", "dialog.plugins.empty": "Плагіни налаштовані в opencode.json", "mcp.status.connected": "підключено", @@ -333,8 +442,8 @@ export const dict = { "dialog.directory.parent": "Батьківська папка", "dialog.directory.readError": "Не вдалося прочитати цю папку", - "app.server.unreachable": "Не вдалося досягти {{server}}", - "app.server.retrying": "Автоматичне повторення...", + "app.server.unreachable": "Не вдалося зв'язатися із {{server}}", + "app.server.retrying": "Автоматична повторна спроба...", "app.server.otherServers": "Інші сервери", "dialog.server.title": "Сервери", @@ -364,7 +473,7 @@ export const dict = { "dialog.server.menu.edit": "Редагувати", "dialog.server.menu.default": "Встановити за замовчуванням", - "dialog.server.menu.defaultRemove": "Видалити за замовчуванням", + "dialog.server.menu.defaultRemove": "Скасувати використання за замовчуванням", "dialog.server.menu.delete": "Видалити", "dialog.server.current": "Поточний сервер", "dialog.server.status.default": "За замовчуванням", @@ -437,6 +546,22 @@ export const dict = { "wsl.onboarding.desktopVersion": "десктопний застосунок {{version}}", "wsl.onboarding.versionMismatch": "Встановлена версія не відповідає версії десктопного застосунку.", "wsl.onboarding.adding": "Додавання...", + + "help.tabs.toast.ariaLabel": "Представляємо вкладки. Упорядковуйте роботу й активні сесії за допомогою вкладок", + "help.tabs.toast.dismiss": "Закрити інформацію про вкладки", + "help.tabs.title": "Представляємо вкладки", + "help.tabs.description": "Упорядковуйте роботу й активні сесії за допомогою вкладок", + "help.tabs.date": "14 липня", + "help.tabs.introduction": "OpenCode Desktop тепер побудовано навколо вкладок.", + "help.tabs.sessions": + "Почніть нову сесію у вкладці або відкрийте наявну сесію з будь-якого свого проєкту. Відкривайте нову вкладку, коли починаєте щось нове, і закривайте її після завершення.", + "help.tabs.organize": + "Кілька відкритих вкладок полегшують упорядкування активних сесій. Якщо плануєте залишити вкладки відкритими, перейменуйте їх на щось пам'ятне.", + "help.tabs.home": + "Усі свої сесії та проєкти ви знайдете на новому екрані «Головна». Вибрана сесія відкриється у вкладці.", + "help.tabs.persistence": "Після повторного відкриття програми ваші вкладки залишаться відкритими.", + "help.tabs.worktrees": + "Новий дизайн поки не підтримує робочі дерева Git, але ця можливість незабаром з'явиться. Тож якщо ви бажаєте й надалі користуватися попереднім макетом, перемикатися між макетами можна в налаштуваннях. Зауважте, що за кілька тижнів новий макет стане постійним.", "server.row.noUsername": "без імені користувача", "dialog.project.edit.title": "Редагувати проєкт", @@ -456,6 +581,8 @@ export const dict = { "dialog.releaseNotes.action.hideFuture": "Не показувати це в майбутньому", "dialog.releaseNotes.media.alt": "Попередній перегляд релізу", + "dialog.usageExceeded.dontShowAgain": "Більше не показувати", + "context.breakdown.title": "Розподіл контексту", "context.breakdown.note": 'Приблизний розподіл вхідних токенів. "Інше" включає визначення інструментів і накладні витрати.', @@ -466,7 +593,9 @@ export const dict = { "context.breakdown.other": "Інше", "context.systemPrompt.title": "Системний запит", - "context.rawMessages.title": "Сировинні повідомлення", + "context.rawMessages.title": "Необроблені повідомлення", + + "context.export.session": "Експортувати сесію", "context.stats.session": "Сесія", "context.stats.messages": "Повідомлення", @@ -546,6 +675,11 @@ export const dict = { "toast.session.unshare.failed.title": "Не вдалося припинити поширення сесії", "toast.session.unshare.failed.description": "Під час припинення поширення сесії сталася помилка", + "toast.session.export.success.title": "Сесію експортовано", + "toast.session.export.success.description": "Сесію збережено у файл {{filename}}", + "toast.session.export.failed.title": "Не вдалося експортувати сесію", + "toast.session.export.failed.description": "Під час експортування сесії сталася помилка", + "toast.session.listFailed.title": "Не вдалося завантажити сесії для {{project}}", "toast.project.reloadFailed.title": "Не вдалося перезавантажити {{project}}", @@ -560,14 +694,14 @@ export const dict = { "error.page.details.label": "Деталі помилки", "error.page.action.restart": "Перезапустити", "error.page.action.report": "Повідомити про помилку", - "error.page.action.reported": "Помилку повідомлено", + "error.page.action.reported": "Про помилку повідомлено", "error.page.action.exportLogs": "Експортувати журнали", "error.page.action.checking": "Перевірка...", "error.page.action.checkUpdates": "Перевірити оновлення", "error.page.action.updateTo": "Оновити до {{version}}", "error.page.circular": "[Циклічне]", "error.page.report.prefix": "Будь ласка, повідомте про цю помилку команді OpenCode", - "error.page.report.discord": "на Discord", + "error.page.report.discord": "у Discord", "error.page.version": "Версія: {{version}}", "error.dev.rootNotFound": @@ -587,7 +721,7 @@ export const dict = { "error.chain.causedBy": "Причина:", "error.chain.apiError": "Помилка API", "error.chain.status": "Статус: {{status}}", - "error.chain.retryable": "Повторювано: {{retryable}}", + "error.chain.retryable": "Можна повторити: {{retryable}}", "error.chain.responseBody": "Тіло відповіді:\n{{body}}", "error.chain.didYouMean": "Можливо, ви мали на увазі: {{suggestions}}", "error.chain.modelNotFound": "Модель не знайдено: {{provider}}/{{model}}", @@ -663,7 +797,7 @@ export const dict = { "session.files.selectToOpen": "Виберіть файл для відкриття", "session.files.all": "Усі файли", "session.files.empty": "Немає файлів", - "session.files.binaryContent": "Бінарний файл (вміст не може бути відображено)", + "session.files.binaryContent": "Двійковий файл (вміст неможливо відобразити)", "session.messages.renderEarlier": "Відобразити раніші повідомлення", "session.messages.loadingEarlier": "Завантаження раніших повідомлень...", @@ -680,14 +814,20 @@ export const dict = { "session.question.minimize": "Згорнути запитання", "session.question.restore": "Відновити запитання", "session.question.pending.one": "{{count}} запитання очікує відповіді", + "session.question.pending.few": "{{count}} запитання очікують відповіді", + "session.question.pending.many": "{{count}} запитань очікують відповіді", "session.question.pending.other": "Запитання, що очікують відповіді: {{count}}", "session.followupDock.summary.one": "{{count}} повідомлення в черзі", + "session.followupDock.summary.few": "{{count}} повідомлення в черзі", + "session.followupDock.summary.many": "{{count}} повідомлень у черзі", "session.followupDock.summary.other": "{{count}} повідомлень у черзі", "session.followupDock.sendNow": "Надіслати зараз", "session.followupDock.edit": "Редагувати", "session.followupDock.collapse": "Згорнути повідомлення в черзі", "session.followupDock.expand": "Розгорнути повідомлення в черзі", "session.revertDock.summary.one": "{{count}} скасоване повідомлення", + "session.revertDock.summary.few": "{{count}} скасовані повідомлення", + "session.revertDock.summary.many": "{{count}} скасованих повідомлень", "session.revertDock.summary.other": "{{count}} скасованих повідомлень", "session.revertDock.collapse": "Згорнути скасовані повідомлення", "session.revertDock.expand": "Розгорнути скасовані повідомлення", @@ -715,7 +855,10 @@ export const dict = { "session.header.open.menu": "Параметри відкриття", "session.header.open.copyPath": "Копіювати шлях", "session.header.open.finder": "Finder", - "session.header.open.fileExplorer": "Провідник файлів", + "session.header.open.fileExplorer": "Файловий провідник", + "session.header.reveal.finder": "Показати у Finder", + "session.header.reveal.fileExplorer": "Показати у Файловому провіднику", + "session.header.reveal.containingFolder": "Відкрити папку розташування", "session.header.open.fileManager": "Файловий менеджер", "session.header.open.app.vscode": "VS Code", "session.header.open.app.cursor": "Cursor", @@ -765,14 +908,21 @@ export const dict = { "terminal.connectionLost.abnormalClose": "WebSocket закрито аномально: {{code}}", "terminal.connectionLost.description": "З'єднання з терміналом було перервано. Це може статися під час перезапуску сервера.", + "terminal.connectTicket.csrfError": + "Квиток підключення PTY відхилено через перевірку джерела або CSRF. Перевірте конфігурацію CORS сервера.", + "terminal.connectTicket.statusError": "Помилка квитка підключення PTY зі статусом {{status}}", + + "titlebar.update": "Оновити", + "titlebar.updateVersion": "Оновити {{version}}", "common.closeTab": "Закрити вкладку", "common.dismiss": "Відхилити", "common.moreCountSuffix": " (ще {{count}})", "common.requestFailed": "Запит не виконано", - "common.moreOptions": "Більше опцій", + "common.moreOptions": "Більше параметрів", "common.learnMore": "Дізнатися більше", "common.rename": "Перейменувати", + "common.export": "Експортувати", "common.reset": "Скинути", "common.archive": "Архівувати", "common.delete": "Видалити", @@ -840,13 +990,21 @@ export const dict = { "debugBar.mem.label": "MEM", "debugBar.mem.tipUnavailable": "Використана купа JS проти ліміту купи. Тільки Chromium.", "debugBar.mem.tip": "Використана купа JS проти ліміту купи. {{used}} з {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Примусово застосувати стилі фокуса до всіх інтерактивних елементів", + "debugBar.focus.on": "УВІМК.", + "debugBar.focus.off": "ВИМК.", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Примусово задати напрямок макета всієї програми, не змінюючи вибрану мову", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", "app.name.desktop": "OpenCode Desktop", - "settings.section.desktop": "Робочий стіл", + "settings.section.desktop": "Десктопний застосунок", "settings.section.server": "Сервер", "settings.tab.general": "Загальні", - "settings.tab.shortcuts": "Скорочення", + "settings.tab.shortcuts": "Клавіатурні скорочення", "settings.desktop.section.wsl": "WSL", "settings.desktop.wsl.title": "Інтеграція WSL", "settings.desktop.wsl.description": "Запускати сервер OpenCode всередині WSL на Windows.", @@ -864,7 +1022,7 @@ export const dict = { "settings.general.row.shell.title": "Командна оболонка термінала", "settings.general.row.shell.description": "Виберіть оболонку для термінала. Сумісні оболонки також використовуються для викликів інструментів агента.", - "settings.general.row.shell.autoDefault": "Авто (за замовчуванням)", + "settings.general.row.shell.autoDefault": "Автоматично (за замовчуванням)", "settings.general.row.shell.terminalOnly": "тільки термінал", "settings.general.row.appearance.title": "Зовнішній вигляд", "settings.general.row.appearance.description": "Налаштуйте вигляд OpenCode на вашому пристрої", @@ -885,18 +1043,21 @@ export const dict = { "settings.general.row.showFileTree.title": "Дерево файлів", "settings.general.row.showFileTree.description": "Показувати панель дерева файлів у сесіях", "settings.general.row.showNavigation.title": "Елементи навігації", - "settings.general.row.showNavigation.description": "Показувати кнопки назад і вперед у заголовку робочого столу", + "settings.general.row.showNavigation.description": + "Показувати кнопки назад і вперед на панелі заголовка десктопного застосунку", "settings.general.row.showSearch.title": "Палітра команд", - "settings.general.row.showSearch.description": "Показувати кнопку пошуку та палітри команд у заголовку", + "settings.general.row.showSearch.description": "Показувати кнопку пошуку та палітри команд на панелі заголовка", "settings.general.row.showTerminal.title": "Термінал", - "settings.general.row.showTerminal.description": "Показувати кнопку термінала в заголовку робочого столу", + "settings.general.row.showTerminal.description": + "Показувати кнопку термінала на панелі заголовка десктопного застосунку", "settings.general.row.showStatus.title": "Статус сервера", - "settings.general.row.showStatus.description": "Показувати кнопку статусу сервера в заголовку", + "settings.general.row.showStatus.description": "Показувати кнопку стану сервера на панелі заголовка", "settings.general.row.mobileTitlebarBottom.title": "Нижня навігація", "settings.general.row.mobileTitlebarBottom.description": - "Розмістити заголовок і вкладки сесії внизу екрана на мобільних пристроях", - "settings.general.row.showCustomAgents.title": "Користувацькі агенти", - "settings.general.row.showCustomAgents.description": "Показувати вибір агента в редакторі запиту", + "Розмістити панель заголовка та вкладки сесії внизу екрана на мобільних пристроях", + "settings.general.row.showCustomAgents.title": "Показувати агента", + "settings.general.row.showCustomAgents.description": + "Перемикатися між агентами в редакторі запиту. Якщо приховано, типовим є агент Build.", "settings.general.row.reasoningSummaries.title": "Показувати підсумки мислення", "settings.general.row.reasoningSummaries.description": "Відображати підсумки мислення моделі на часовій шкалі", "settings.general.row.shellToolPartsExpanded.title": "Розгортати частини інструменту оболонки", @@ -996,16 +1157,16 @@ export const dict = { "settings.general.sounds.errors.title": "Помилки", "settings.general.sounds.errors.description": "Відтворювати звук, коли виникає помилка", - "settings.shortcuts.title": "Скорочення клавіш", - "settings.shortcuts.reset.button": "Скинути до стандартних", - "settings.shortcuts.reset.toast.title": "Скорочення скинуто", - "settings.shortcuts.reset.toast.description": "Скорочення клавіш були скинуті до стандартних.", - "settings.shortcuts.conflict.title": "Скорочення вже використовується", + "settings.shortcuts.title": "Клавіатурні скорочення", + "settings.shortcuts.reset.button": "Відновити стандартні", + "settings.shortcuts.reset.toast.title": "Клавіатурні скорочення відновлено", + "settings.shortcuts.reset.toast.description": "Стандартні клавіатурні скорочення відновлено.", + "settings.shortcuts.conflict.title": "Клавіатурне скорочення вже використовується", "settings.shortcuts.conflict.description": "{{keybind}} вже призначено для {{titles}}.", "settings.shortcuts.unassigned": "Не призначено", "settings.shortcuts.pressKeys": "Натисніть клавіші", - "settings.shortcuts.search.placeholder": "Пошук скорочень", - "settings.shortcuts.search.empty": "Скорочень не знайдено", + "settings.shortcuts.search.placeholder": "Пошук клавіатурних скорочень", + "settings.shortcuts.search.empty": "Клавіатурних скорочень не знайдено", "settings.shortcuts.group.general": "Загальні", "settings.shortcuts.group.session": "Сесія", diff --git a/packages/app/src/i18n/ur.ts b/packages/app/src/i18n/ur.ts new file mode 100644 index 000000000000..2ab69e7aec71 --- /dev/null +++ b/packages/app/src/i18n/ur.ts @@ -0,0 +1,1164 @@ +export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "فائل", + "desktop.menu.edit": "ترمیم", + "desktop.menu.view": "دیکھیں", + "desktop.menu.go": "جائیں", + "desktop.menu.window": "ونڈو", + "desktop.menu.help": "مدد", + "desktop.menu.checkForUpdates": "اپ ڈیٹس کی جانچ کریں...", + "desktop.menu.settings": "ترتیبات", + "desktop.menu.reloadWebview": "ویب ویو دوبارہ لوڈ کریں", + "desktop.menu.restart": "دوبارہ شروع کریں", + "desktop.menu.exportLogs": "لاگز برآمد کریں...", + "desktop.menu.newSession": "نیا سیشن", + "desktop.menu.openProject": "پروجیکٹ کھولیں...", + "desktop.menu.newWindow": "نئی ونڈو", + "desktop.menu.closeWindow": "ونڈو بند کریں", + "desktop.menu.undo": "کالعدم کریں", + "desktop.menu.redo": "دوبارہ کریں", + "desktop.menu.cut": "کاٹیں", + "desktop.menu.copy": "کاپی کریں", + "desktop.menu.paste": "چسپاں کریں", + "desktop.menu.delete": "حذف کریں", + "desktop.menu.selectAll": "سبھی منتخب کریں", + "desktop.menu.toggleSidebar": "سائیڈ بار دکھائیں یا چھپائیں", + "desktop.menu.toggleTerminal": "ٹرمینل دکھائیں یا چھپائیں", + "desktop.menu.toggleFileTree": "فائل ٹری دکھائیں یا چھپائیں", + "desktop.menu.reload": "دوبارہ لوڈ کریں", + "desktop.menu.toggleDeveloperTools": "ڈویلپر ٹولز دکھائیں یا چھپائیں", + "desktop.menu.actualSize": "اصل سائز", + "desktop.menu.zoomIn": "بڑا کریں", + "desktop.menu.zoomOut": "چھوٹا کریں", + "desktop.menu.toggleFullScreen": "پوری اسکرین دکھائیں یا چھپائیں", + "desktop.menu.back": "پیچھے", + "desktop.menu.forward": "آگے", + "desktop.menu.previousSession": "پچھلا سیشن", + "desktop.menu.nextSession": "اگلا سیشن", + "desktop.menu.previousProject": "پچھلا پروجیکٹ", + "desktop.menu.nextProject": "اگلا پروجیکٹ", + "desktop.menu.minimize": "چھوٹا کریں", + "desktop.menu.maximize": "بڑا کریں", + "desktop.menu.documentation": "OpenCode دستاویزات", + "desktop.menu.supportForum": "معاونتی فورم", + "desktop.menu.shareFeedback": "رائے کا اشتراک کریں", + "desktop.menu.reportBug": "خرابی کی اطلاع دیں", + "desktop.menu.ariaLabel": "OpenCode مینو", + + "desktop.updater.dialog.checkFailed.message": "اپ ڈیٹ کی جانچ ناکام ہو گئی۔", + "desktop.updater.dialog.checkFailed.title": "اپ ڈیٹ کی خرابی", + "desktop.updater.dialog.upToDate.message": "آپ کا سافٹ ویئر تازہ ترین ہے۔", + "desktop.updater.dialog.upToDate.title": "کوئی اپ ڈیٹ نہیں", + "desktop.updater.dialog.ready.message": "اپ ڈیٹ {{version}} ڈاؤن لوڈ ہو گئی ہے۔ ابھی دوبارہ شروع کریں؟", + "desktop.updater.dialog.ready.title": "اپ ڈیٹ تیار ہے", + "desktop.updater.dialog.restart": "دوبارہ شروع کریں", + "desktop.updater.dialog.later": "بعد میں", + + "desktop.recovery.action.relaunch": "دوبارہ چلائیں", + "desktop.recovery.action.exportLogs": "لاگز برآمد کریں", + "desktop.recovery.action.keepWaiting": "انتظار جاری رکھیں", + "desktop.recovery.action.quit": "بند کریں", + "desktop.recovery.loadFailed": "OpenCode لوڈ نہیں ہو سکا", + "desktop.recovery.terminated": "OpenCode ونڈو غیر متوقع طور پر بند ہو گئی", + "desktop.recovery.unresponsive": "OpenCode جواب نہیں دے رہا", + "desktop.recovery.unresponsive.detail": + "آپ ایپ کو دوبارہ چلا سکتے ہیں، لاگز کھول سکتے ہیں یا انتظار جاری رکھ سکتے ہیں۔", + "desktop.recovery.loadFailed.detail": "ونڈو: {{window}}\nURL: {{url}}\nخرابی: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "ونڈو: {{window}}\nوجہ: {{reason}}\nکوڈ: {{code}}", + "desktop.recovery.unknown": "<نامعلوم>", + + "desktop.dialog.chooseFolder": "فولڈر منتخب کریں", + "desktop.dialog.chooseFile": "فائل منتخب کریں", + "desktop.dialog.saveFile": "فائل محفوظ کریں", + "desktop.dialog.files": "فائلیں", + "desktop.server.local": "مقامی سرور", + + "desktop.wsl.error.windowsOnly": "WSL صرف Windows پر دستیاب ہے", + "desktop.wsl.error.unavailable": "WSL دستیاب نہیں ہے", + "desktop.wsl.error.listInstalled": "انسٹال شدہ WSL ڈسٹری بیوشنز کی فہرست حاصل نہیں ہو سکی", + "desktop.wsl.error.listOnline": "آن لائن WSL ڈسٹری بیوشنز کی فہرست حاصل نہیں ہو سکی", + "desktop.wsl.error.executeDistro": "ڈسٹری بیوشن میں کمانڈز نہیں چلائی جا سکتیں", + "desktop.wsl.error.installWsl": "WSL کی تنصیب ناکام ہو گئی", + "desktop.wsl.error.installDistro": "ڈسٹری بیوشن انسٹال نہیں ہو سکی: {{distro}}", + "desktop.wsl.error.installOpencode": "OpenCode کی تنصیب ناکام ہو گئی", + "desktop.wsl.error.alreadyAdded": "{{distro}} پہلے ہی شامل ہے", + "desktop.wsl.error.opencodeMissing": "اس ڈسٹری بیوشن میں opencode انسٹال نہیں ہے", + "desktop.wsl.error.opencodeCannotRun": "opencode انسٹال ہے لیکن چل نہیں سکا", + "desktop.wsl.error.opencodeNotInstalled": "{{distro}} میں OpenCode انسٹال نہیں ہے", + "desktop.wsl.error.updateVersion": + "OpenCode کی اپ ڈیٹ مکمل ہو گئی لیکن {{distro}} اب بھی {{installed}} کی اطلاع دے رہا ہے؛ متوقع ورژن {{expected}} ہے", + "desktop.wsl.error.noVersion": "کوئی ورژن نہیں", + "desktop.wsl.error.serverExited": "WSL سرور شروع ہونے کے بعد بند ہو گیا (code={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL سرور فعال ہونے سے پہلے بند ہو گیا (code={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": + "{{distro}} کے سائیڈ کار کی صحت کی جانچ {{timeout}}ms کے بعد مقررہ وقت سے تجاوز کر گئی", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} نے {{timeout}}ms کے بعد مقررہ وقت سے تجاوز کر دیا", + "desktop.wsl.error.failedPort": "پورٹ حاصل نہیں ہو سکی", + + "desktop.picker.error.notSelected": "فائل چنندہ میں کوئی فائل منتخب نہیں کی گئی", + "desktop.picker.error.sizeLimit": "منتخب منسلکات {{limit}} MB کی حد سے زیادہ ہیں", + + "command.category.suggested": "تجویز کردہ", + "command.category.view": "دیکھیں", + "command.category.project": "پروجیکٹ", + "command.category.provider": "فراہم کنندہ", + "command.category.server": "سرور", + "command.category.session": "سیشن", + "command.category.theme": "تھیم", + "command.category.language": "زبان", + "command.category.file": "فائل", + "command.category.context": "سیاق و سباق", + "command.category.terminal": "ٹرمینل", + "command.category.model": "ماڈل", + "command.category.mcp": "MCP", + "command.category.agent": "ایجنٹ", + "command.category.permissions": "اجازتیں", + "command.category.workspace": "کام کی جگہ", + "command.category.settings": "ترتیبات", + "command.logs.export": "لاگز برآمد کریں", + "theme.scheme.system": "سسٹم", + "theme.scheme.light": "روشن", + "theme.scheme.dark": "تاریک", + "command.sidebar.toggle": "سائیڈ بار دکھائیں یا چھپائیں", + "command.project.open": "پروجیکٹ کھولیں۔", + "command.project.previous": "پچھلا پروجیکٹ", + "command.project.next": "اگلا پروجیکٹ", + "command.project.index": "پروجیکٹ {{index}} پر سوئچ کریں۔", + "command.provider.connect": "فراہم کنندہ منسلک کریں", + "command.server.switch": "سرور تبدیل کریں", + "command.settings.open": "ترتیبات کھولیں۔", + "command.session.previous": "پچھلا سیشن", + "command.session.next": "اگلا سیشن", + "command.session.previous.unseen": "پچھلا بغیر پڑھا ہوا سیشن", + "command.session.next.unseen": "اگلا بغیر پڑھا ہوا سیشن", + "command.session.archive": "سیشن آرکائیو کریں", + "command.palette": "کمانڈ پیلیٹ", + "command.theme.cycle": "اگلی تھیم منتخب کریں", + "command.theme.set": "تھیم استعمال کریں: {{theme}}", + "command.theme.scheme.cycle": "اگلی رنگ سکیم منتخب کریں", + "command.theme.scheme.set": "رنگ سکیم استعمال کریں: {{scheme}}", + "command.language.cycle": "اگلی زبان منتخب کریں", + "command.language.set": "زبان استعمال کریں: {{language}}", + "command.session.new": "نیا سیشن", + "command.file.open": "فائل کھولیں۔", + "command.tab.close": "ٹیب بند کریں۔", + "command.tab.reopenClosed": "بند ٹیب کو دوبارہ کھولیں۔", + "command.context.addSelection": "سیاق و سباق میں انتخاب شامل کریں۔", + "command.context.addSelection.description": "موجودہ فائل سے منتخب لائنیں شامل کریں۔", + "command.input.focus": "ان پٹ پر توجہ دیں", + "command.terminal.toggle": "ٹرمینل دکھائیں یا چھپائیں", + "command.fileTree.toggle": "فائل ٹری دکھائیں یا چھپائیں", + "command.review.toggle": "جائزہ دکھائیں یا چھپائیں", + "command.terminal.new": "نیا ٹرمینل", + "command.terminal.new.description": "ایک نیا ٹرمینل ٹیب بنائیں", + "command.steps.toggle": "اقدامات دکھائیں یا چھپائیں", + "command.steps.toggle.description": "موجودہ پیغام کے لیے اقدامات دکھائیں یا چھپائیں۔", + "command.message.previous": "پچھلا پیغام", + "command.message.previous.description": "صارف کے پچھلے پیغام پر جائیں", + "command.message.next": "اگلا پیغام", + "command.message.next.description": "صارف کے اگلے پیغام پر جائیں", + "command.model.choose": "ماڈل منتخب کریں۔", + "command.model.choose.description": "ایک مختلف ماڈل منتخب کریں۔", + "command.mcp.toggle": "MCPs فعال یا غیر فعال کریں", + "command.mcp.toggle.description": "MCPs فعال یا غیر فعال کریں", + "command.agent.cycle": "اگلا ایجنٹ منتخب کریں", + "command.agent.cycle.description": "اگلے ایجنٹ پر جائیں۔", + "command.agent.cycle.reverse": "پچھلا ایجنٹ منتخب کریں", + "command.agent.cycle.reverse.description": "پچھلے ایجنٹ پر جائیں۔", + "command.model.variant.cycle": "سوچنے کی محنت کی سطح تبدیل کریں", + "command.model.variant.cycle.description": "محنت کی اگلی سطح پر جائیں۔", + "command.prompt.mode.shell": "شیل", + "command.prompt.mode.normal": "پرامپٹ", + "command.permissions.autoaccept.enable": "اجازتیں خود بخود قبول کریں۔", + "command.permissions.autoaccept.disable": "اجازتوں کو خودکار طور پر قبول کرنا بند کریں۔", + "command.workspace.toggle": "ورک اسپیسز فعال یا غیر فعال کریں", + "command.workspace.toggle.description": "سائڈبار میں متعدد ورک اسپیس کو فعال یا غیر فعال کریں۔", + "command.session.undo": "کالعدم", + "command.session.undo.description": "آخری پیغام کو کالعدم کریں۔", + "command.session.redo": "دوبارہ کریں۔", + "command.session.redo.description": "آخری کالعدم پیغام کو دوبارہ کریں۔", + "command.session.compact": "سیشن مختصر کریں", + "command.session.compact.description": "سیاق و سباق کے سائز کو کم کرنے کے لیے سیشن کا خلاصہ کریں۔", + "command.session.fork": "پیغام سے نئی شاخ بنائیں", + "command.session.fork.description": "پچھلے پیغام سے ایک نیا سیشن بنائیں", + "command.session.share": "سیشن شیئر کریں۔", + "command.session.share.description": "اس سیشن کا اشتراک کریں اور URL کو کلپ بورڈ میں کاپی کریں۔", + "command.session.unshare": "سیشن کا اشتراک ختم کریں۔", + "command.session.unshare.description": "اس سیشن کا اشتراک کرنا بند کریں۔", + "command.session.export": "سیشن برآمد کریں", + "command.session.export.description": "سیشن کی مکمل نقل JSON کی صورت میں برآمد کریں", + + "palette.search.placeholder": "فائلیں، کمانڈز اور سیشنز تلاش کریں۔", + "palette.search.placeholder.home": "کمانڈز اور سیشن تلاش کریں۔", + "palette.empty": "کوئی نتیجہ نہیں ملا", + "palette.group.commands": "کمانڈز", + "palette.group.files": "فائلیں", + "dialog.provider.search.placeholder": "فراہم کنندگان کو تلاش کریں۔", + "dialog.provider.empty": "کوئی فراہم کنندہ نہیں ملا", + "dialog.provider.group.popular": "مقبول", + "dialog.provider.group.other": "دیگر", + "dialog.provider.custom.label": "حسب ضرورت OpenAI سے ہم آہنگ فراہم کنندہ", + "dialog.provider.tag.recommended": "تجویز کردہ", + "dialog.provider.opencode.note": "کیوریٹ شدہ ماڈلز بشمول Claude، GPT، Gemini اور مزید", + "dialog.provider.opencode.tagline": "قابل اعتماد آپٹمائزڈ ماڈلز", + "dialog.provider.opencodeGo.tagline": "سب کے لیے کم لاگت کی رکنیت", + "dialog.provider.anthropic.note": "پرو اور میکس سمیت Claude ماڈلز تک براہ راست رسائی", + "dialog.provider.copilot.note": "GitHub Copilot کے ذریعے کوڈنگ امداد کے لیے AI ماڈلز", + "dialog.provider.openai.note": "تیز رفتار اور مؤثر عمومی AI کاموں کے لیے GPT ماڈلز", + "dialog.provider.google.note": "تیز، منظم جوابات کے لیے Gemini ماڈل", + "dialog.provider.openrouter.note": "ایک فراہم کنندہ سے تمام تعاون یافتہ ماڈلز تک رسائی حاصل کریں۔", + "dialog.provider.vercel.note": "سمارٹ روٹنگ کے ساتھ AI ماڈلز تک متحد رسائی", + "dialog.model.select.title": "ماڈل منتخب کریں۔", + "dialog.model.search.placeholder": "ماڈلز تلاش کریں۔", + "dialog.model.empty": "کوئی ماڈل نہیں ملا", + "dialog.model.manage": "ماڈلز کا نظم کریں۔", + "dialog.model.manage.description": "اپنی مرضی کے مطابق بنائیں کہ کون سے ماڈل ماڈل سلیکٹر میں نظر آتے ہیں۔", + "dialog.model.manage.provider.toggle": "تمام {{provider}} ماڈلز کو ٹوگل کریں۔", + "dialog.model.unpaid.freeModels.title": "OpenCode کے ذریعہ فراہم کردہ مفت ماڈلز", + "dialog.model.unpaid.addMore.title": "مشہور فراہم کنندگان سے مزید ماڈلز شامل کریں۔", + "dialog.model.unpaid.viewMoreProviders": "مزید 70 فراہم کنندگان دیکھیں", + "dialog.provider.viewAll": "مزید فراہم کنندگان دکھائیں۔", + "provider.connect.title": "{{provider}} سے منسلک ہوں", + "provider.connect.title.anthropicProMax": "Claude Pro/Max کے ساتھ لاگ ان کریں۔", + "provider.connect.selectMethod": "{{provider}} کے لیے لاگ ان کا طریقہ منتخب کریں۔", + "provider.connect.method.apiKey": "API کلید", + "provider.connect.method.browser": "براؤزر", + "provider.connect.method.headless": "ہیڈ لیس", + "provider.connect.status.inProgress": "اجازت حاصل کی جا رہی ہے...", + "provider.connect.status.waiting": "اجازت کا انتظار ہے...", + "provider.connect.status.failed": "اجازت حاصل نہیں ہو سکی: {{error}}", + "provider.connect.apiKey.description": + "اپنا اکاؤنٹ منسلک کرنے اور OpenCode میں {{provider}} ماڈلز استعمال کرنے کے لیے اپنی {{provider}} API کلید درج کریں۔", + "provider.connect.apiKey.label": "{{provider}} API کلید", + "provider.connect.apiKey.placeholder": "API کلید", + "provider.connect.apiKey.required": "API کلید درکار ہے۔", + "provider.connect.opencodeZen.line1": + "OpenCode Zen آپ کو کوڈنگ ایجنٹوں کے لیے قابل اعتماد اصلاح شدہ ماڈلز کے کیوریٹڈ سیٹ تک رسائی فراہم کرتا ہے۔", + "provider.connect.opencodeZen.line2": + "ایک واحد API کلید کے ساتھ آپ Claude، GPT، Gemini، GLM اور مزید ماڈلز تک رسائی حاصل کریں گے۔", + "provider.connect.opencodeZen.visit.prefix": "ملاحظہ کریں ", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": " اور اپنی API کلید حاصل کریں۔", + "provider.connect.oauth.code.visit.prefix": "ملاحظہ کریں ", + "provider.connect.oauth.code.visit.link": "یہ لنک", + "provider.connect.oauth.code.visit.suffix": + "، اپنا اجازت نامہ حاصل کریں، اکاؤنٹ منسلک کریں اور OpenCode میں {{provider}} ماڈلز استعمال کریں۔", + "provider.connect.oauth.code.label": "{{method}} اجازت کا کوڈ", + "provider.connect.oauth.code.placeholder": "اجازت کا کوڈ", + "provider.connect.oauth.code.required": "اجازت کا کوڈ درکار ہے۔", + "provider.connect.oauth.code.invalid": "غلط اجازت کا کوڈ", + "provider.connect.oauth.auto.visit.prefix": "ملاحظہ کریں ", + "provider.connect.oauth.auto.visit.link": "یہ لنک", + "provider.connect.oauth.auto.visit.suffix": + " اور نیچے دیا گیا کوڈ درج کرکے اپنا اکاؤنٹ منسلک کریں اور OpenCode میں {{provider}} ماڈلز استعمال کریں۔", + "provider.connect.oauth.auto.confirmationCode": "تصدیقی کوڈ", + "provider.connect.toast.connected.title": "{{provider}} منسلک ہے۔", + "provider.connect.toast.connected.description": "{{provider}} ماڈل اب استعمال کے لیے دستیاب ہیں۔", + "provider.custom.title": "اپنی مرضی کے مطابق فراہم کنندہ", + "provider.custom.description.prefix": "OpenAI سے ہم آہنگ فراہم کنندہ ترتیب دیں۔ دیکھیے ", + "provider.custom.description.link": "فراہم کنندہ کی تشکیل کی دستاویزات", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "فراہم کنندہ کی شناخت", + "provider.custom.field.providerID.placeholder": "myprovider", + "provider.custom.field.providerID.description": "چھوٹے حروف، نمبر، ہائفن، یا انڈر سکور", + "provider.custom.field.name.label": "ڈسپلے کا نام", + "provider.custom.field.name.placeholder": "میرا AI فراہم کنندہ", + "provider.custom.field.baseURL.label": "بیس URL", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "API کلید", + "provider.custom.field.apiKey.placeholder": "API کلید", + "provider.custom.field.apiKey.description": + "اختیاری۔ اگر آپ ہیڈرز کے ذریعے توثیق کا انتظام کرتے ہیں تو اسے خالی چھوڑ دیں۔", + "provider.custom.models.label": "ماڈلز", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "model-id", + "provider.custom.models.name.label": "نام", + "provider.custom.models.name.placeholder": "ڈسپلے کا نام", + "provider.custom.models.remove": "ماڈل کو ہٹا دیں۔", + "provider.custom.models.add": "ماڈل شامل کریں۔", + "provider.custom.headers.label": "ہیڈرز (اختیاری)", + "provider.custom.headers.key.label": "ہیڈر", + "provider.custom.headers.key.placeholder": "Header-Name", + "provider.custom.headers.value.label": "قدر", + "provider.custom.headers.value.placeholder": "قدر", + "provider.custom.headers.remove": "ہیڈر کو ہٹا دیں۔", + "provider.custom.headers.add": "ہیڈر شامل کریں۔", + "provider.custom.error.providerID.required": "فراہم کنندہ کی شناخت درکار ہے۔", + "provider.custom.error.providerID.format": "چھوٹے حروف، اعداد، ہائفنز، یا انڈر سکور استعمال کریں۔", + "provider.custom.error.providerID.exists": "وہ فراہم کنندہ ID پہلے سے موجود ہے۔", + "provider.custom.error.name.required": "ڈسپلے نام درکار ہے۔", + "provider.custom.error.baseURL.required": "بیس URL درکار ہے۔", + "provider.custom.error.baseURL.format": "http:// یا https:// سے شروع ہونا چاہیے", + "provider.custom.error.required": "درکار ہے۔", + "provider.custom.error.duplicate": "مکرر", + "provider.custom.unavailable": "اس سرور پر اپنی مرضی کے مطابق فراہم کنندگان دستیاب نہیں ہیں۔", + "provider.disconnect.toast.disconnected.title": "{{provider}} منقطع ہو گیا۔", + "provider.disconnect.toast.disconnected.description": "{{provider}} ماڈلز اب دستیاب نہیں ہیں۔", + "model.tag.free": "مفت", + "model.tag.latest": "تازہ ترین", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "متن", + "model.input.image": "تصویر", + "model.input.audio": "آڈیو", + "model.input.video": "ویڈیو", + "model.input.pdf": "پی ڈی ایف", + "model.tooltip.allows": "اجازت دیتا ہے: {{inputs}}", + "model.tooltip.context.label": "سیاق و سباق", + "model.tooltip.inputs": "ان پٹ", + "model.tooltip.model": "ماڈل", + "model.tooltip.provider": "فراہم کنندہ", + "model.tooltip.reasoning": "استدلال", + "model.tooltip.reasoning.allowed": "استدلال کی اجازت دیتا ہے۔", + "model.tooltip.reasoning.none": "کوئی استدلال نہیں۔", + "model.tooltip.context": "سیاق و سباق کی حد {{limit}}", + "common.search.placeholder": "تلاش کریں۔", + "common.goBack": "پیچھے جائیں", + "common.goForward": "آگے جائیں", + "common.loading": "لوڈ ہو رہا ہے۔", + "common.loading.ellipsis": "...", + "common.cancel": "منسوخ کریں۔", + "common.clear": "صاف", + "common.open": "کھولیں۔", + "common.connect": "جڑیں۔", + "common.disconnect": "منقطع کریں", + "common.continue": "جاری رکھیں", + "common.submit": "جمع کروائیں۔", + "common.save": "محفوظ کریں۔", + "common.saving": "محفوظ کر رہا ہے...", + "common.default": "طے شدہ", + "common.attachment": "منسلکہ", + "prompt.placeholder.shell": "شیل کمانڈ درج کریں... {{example}}", + "prompt.placeholder.normal": 'کچھ بھی پوچھیں... "{{example}}"', + "prompt.placeholder.simple": "کچھ بھی پوچھیں...", + "prompt.placeholder.summarizeComments": "تبصروں کا خلاصہ کریں…", + "prompt.placeholder.summarizeComment": "تبصرہ کا خلاصہ کریں…", + "prompt.mode.shell": "شیل", + "prompt.mode.normal": "پرامپٹ", + "prompt.mode.shell.exit": "باہر نکلنے کے لیے esc", + "session.child.promptDisabled": "ذیلی ایجنٹ کے سیشنز میں پرامپٹ نہیں دیا جا سکتا۔", + "session.child.backToParent": "مرکزی سیشن پر واپس جائیں۔", + "prompt.example.1": "کوڈ بیس میں TODO کو درست کریں۔", + "prompt.example.2": "اس پروجیکٹ کا ٹیک اسٹیک کیا ہے؟", + "prompt.example.3": "ٹوٹے ہوئے ٹیسٹوں کو درست کریں۔", + "prompt.example.4": "وضاحت کریں کہ تصدیق کیسے کام کرتی ہے۔", + "prompt.example.5": "سیکیورٹی کی کمزوریوں کو تلاش کریں اور ٹھیک کریں۔", + "prompt.example.6": "صارف کی خدمت کے لیے یونٹ ٹیسٹ شامل کریں۔", + "prompt.example.7": "مزید پڑھنے کے قابل ہونے کے لیے اس فنکشن کو ریفیکٹر کریں۔", + "prompt.example.8": "اس غلطی کا کیا مطلب ہے؟", + "prompt.example.9": "اس مسئلے کو ٹھیک کرنے میں میری مدد کریں۔", + "prompt.example.10": "API دستاویزات بنائیں", + "prompt.example.11": "ڈیٹا بیس کے سوالات کو بہتر بنائیں", + "prompt.example.12": "ان پٹ کی توثیق شامل کریں۔", + "prompt.example.13": "اس کے لیے ایک نیا جزو بنائیں...", + "prompt.example.14": "میں اس پروجیکٹ کو کیسے تعینات کروں؟", + "prompt.example.15": "بہترین طریقوں کے لیے میرے کوڈ کا جائزہ لیں۔", + "prompt.example.16": "اس فنکشن میں ایرر ہینڈلنگ شامل کریں۔", + "prompt.example.17": "اس ریجیکس پیٹرن کی وضاحت کریں۔", + "prompt.example.18": "اسے TypeScript میں تبدیل کریں۔", + "prompt.example.19": "پورے کوڈ بیس میں لاگنگ شامل کریں۔", + "prompt.example.20": "کون سے انحصار پرانے ہیں؟", + "prompt.example.21": "مائیگریشن اسکرپٹ لکھنے میں میری مدد کریں۔", + "prompt.example.22": "اس اینڈ پوائنٹ کے لیے کیشنگ نافذ کریں۔", + "prompt.example.23": "اس فہرست میں صفحہ بندی شامل کریں۔", + "prompt.example.24": "اس کے لیے CLI کمانڈ بنائیں...", + "prompt.example.25": "ماحولیاتی متغیرات یہاں کیسے کام کرتے ہیں؟", + "prompt.popover.emptyResults": "کوئی مماثل نتائج نہیں ہیں۔", + "prompt.popover.emptyCommands": "کوئی مماثل حکم نہیں ہے۔", + "prompt.dropzone.label": "تصاویر، PDFs، یا ٹیکسٹ فائلیں یہاں ڈراپ کریں۔", + "prompt.dropzone.file.label": "فائل کو @mention کرنے کے لیے یہاں ڈراپ کریں", + "prompt.slash.badge.custom": "اپنی مرضی کے مطابق", + "prompt.slash.badge.skill": "مہارت", + "prompt.slash.badge.mcp": "ایم سی پی", + "prompt.context.active": "فعال", + "prompt.context.includeActiveFile": "فعال فائل شامل کریں۔", + "prompt.context.removeActiveFile": "سیاق و سباق سے فعال فائل کو ہٹا دیں۔", + "prompt.context.removeFile": "سیاق و سباق سے فائل کو ہٹا دیں۔", + "prompt.action.attachFile": "فائلیں شامل کریں۔", + "prompt.menu.addImagesAndFiles": "فائلیں اور مزید شامل کریں۔", + "prompt.menu.imagesAndFiles": "تصاویر اور فائلیں۔", + "prompt.menu.commands": "کمانڈز", + "prompt.menu.context": "سیاق و سباق", + "prompt.menu.shellCommand": "شیل کمانڈ", + "prompt.attachment.remove": "منسلکہ کو ہٹا دیں۔", + "prompt.action.send": "بھیجیں۔", + "prompt.action.stop": "روکیں", + "prompt.toast.pasteUnsupported.title": "غیر تعاون یافتہ منسلکہ", + "prompt.toast.pasteUnsupported.description": "یہاں صرف تصاویر، PDFs، یا ٹیکسٹ فائلیں منسلک کی جا سکتی ہیں۔", + "prompt.toast.attachmentDuplicate.title": "یہ فائل پہلے ہی اپ لوڈ ہو چکی ہے", + "prompt.toast.modelAgentRequired.title": "ایک ایجنٹ اور ماڈل منتخب کریں۔", + "prompt.toast.modelAgentRequired.description": "پرامپٹ بھیجنے سے پہلے ایک ایجنٹ اور ماڈل کا انتخاب کریں۔", + "prompt.toast.worktreeCreateFailed.title": "ورک ٹری بنانے میں ناکام", + "prompt.toast.sessionCreateFailed.title": "سیشن بنانے میں ناکام", + "prompt.toast.shellSendFailed.title": "شیل کمانڈ بھیجنے میں ناکام", + "prompt.toast.commandSendFailed.title": "کمانڈ بھیجنے میں ناکام", + "prompt.toast.promptSendFailed.title": "پرامپٹ بھیجنے میں ناکام", + "prompt.toast.promptSendFailed.description": "سیشن بازیافت کرنے سے قاصر", + "dialog.mcp.title": "MCPs", + "dialog.mcp.description": "{{total}} میں سے {{enabled}} فعال", + "dialog.mcp.empty": "کوئی MCPs کنفیگر نہیں ہے۔", + "dialog.lsp.empty": "فائل کی اقسام سے خودکار طور پر شناخت کیے گئے LSPs", + "dialog.plugins.empty": "opencode.json میں کنفیگر کردہ پلگ انز", + "mcp.status.connected": "منسلک", + "mcp.status.failed": "ناکام", + "mcp.status.needs_auth": "توثیق درکار ہے", + "mcp.status.disabled": "غیر فعال", + "mcp.auth.clickToAuthenticate": "تصدیق کرنے کے لیے کلک کریں۔", + "dialog.fork.empty": "کوئی پیغامات نہیں ہیں جن سے فورک کیا جائے۔", + "dialog.directory.search.placeholder": "فولڈرز تلاش کریں۔", + "dialog.directory.empty": "کوئی فولڈر نہیں ملا", + "dialog.directory.action.selectFile": "فائل منتخب کریں۔", + "dialog.directory.action.selectFolder": "فولڈر منتخب کریں۔", + "dialog.directory.root": "بنیادی فولڈر", + "dialog.directory.parent": "بالائی فولڈر", + "dialog.directory.readError": "یہ فولڈر پڑھا نہیں جا سکا", + "app.server.unreachable": "{{server}} تک نہیں پہنچ سکا", + "app.server.retrying": "خودکار طور پر دوبارہ کوشش کر رہا ہے...", + "app.server.otherServers": "دوسرے سرورز", + "dialog.server.title": "سرورز", + "dialog.server.description": "سوئچ کریں کہ یہ ایپ کس OpenCode سرور سے منسلک ہے۔", + "dialog.server.search.placeholder": "سرورز تلاش کریں۔", + "dialog.server.empty": "ابھی تک کوئی سرور نہیں ہے۔", + "dialog.server.add.title": "سرور شامل کریں۔", + "dialog.server.add.url": "سرور کا پتہ", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "سرور سے منسلک نہیں ہو سکا", + "dialog.server.add.checking": "چیک کر رہا ہے...", + "dialog.server.add.button": "سرور شامل کریں۔", + "dialog.server.add.name": "سرور کا نام (اختیاری)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "صارف نام (اختیاری)", + "dialog.server.add.usernamePlaceholder": "صارف نام", + "dialog.server.add.password": "پاس ورڈ (اختیاری)", + "dialog.server.add.passwordPlaceholder": "پاس ورڈ", + "dialog.server.edit.title": "سرور میں ترمیم کریں۔", + "dialog.server.default.title": "ڈیفالٹ سرور", + "dialog.server.default.description": + "مقامی سرور شروع کرنے کے بجائے ایپ لانچ پر اس سرور سے جڑیں۔ دوبارہ شروع کرنے کی ضرورت ہے۔", + "dialog.server.default.none": "کوئی سرور منتخب نہیں کیا گیا۔", + "dialog.server.default.set": "موجودہ سرور کو بطور ڈیفالٹ سیٹ کریں۔", + "dialog.server.default.clear": "صاف کریں", + "dialog.server.action.remove": "سرور کو ہٹا دیں۔", + "dialog.server.menu.edit": "ترمیم کریں۔", + "dialog.server.menu.default": "بطور ڈیفالٹ سیٹ کریں۔", + "dialog.server.menu.defaultRemove": "ڈیفالٹ کو ہٹا دیں۔", + "dialog.server.menu.delete": "حذف کریں۔", + "dialog.server.current": "موجودہ سرور", + "dialog.server.status.default": "طے شدہ", + "wsl.server.add": "WSL سرور شامل کریں۔", + "wsl.server.addShort": "WSL شامل کریں۔", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "WSL سرور", + "wsl.server.retryStart": "دوبارہ شروع کرنے کی کوشش کریں۔", + "wsl.server.updating": "اپ ڈیٹ ہو رہا ہے...", + "wsl.onboarding.step.distro": "ڈسٹرو کا انتخاب کریں۔", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "WSL چیک کیا جا رہا ہے...", + "wsl.onboarding.restartRequired": "Windows کو WSL انسٹال کرنا مکمل کرنے کے لیے دوبارہ شروع کرنے کی ضرورت ہے۔", + "wsl.onboarding.ready": "WSL تیار ہے۔", + "wsl.onboarding.required": "جاری رکھنے کے لیے WSL درکار ہے۔", + "wsl.onboarding.checkingDistros": "ڈسٹری بیوشنز کی جانچ ہو رہی ہے...", + "wsl.onboarding.installingDistro": "{{distro}} انسٹال ہو رہا ہے...", + "wsl.onboarding.checkingDistro": "{{distro}} چیک کیا جا رہا ہے...", + "wsl.onboarding.listingDistros": "ڈسٹری بیوشنز کی فہرست بن رہی ہے...", + "wsl.onboarding.distroReady": "{{distro}} تیار ہے۔", + "wsl.onboarding.distroNotInstalled": "{{distro}} ابھی تک انسٹال نہیں ہوا ہے۔", + "wsl.onboarding.openDistroOnce": "سیٹ اپ مکمل کرنے کے لیے ایک بار {{distro}} کھولیں۔", + "wsl.onboarding.finishingDistro": "{{distro}} کے لیے سیٹ اپ مکمل ہو رہا ہے۔", + "wsl.onboarding.pickDistro": "ایک ڈسٹرو چنیں یا نیچے انسٹال کریں۔", + "wsl.onboarding.checkingOpencode": "OpenCode چیک کیا جا رہا ہے...", + "wsl.onboarding.checkingOpencodeIn": "{{distro}} میں OpenCode چیک کیا جا رہا ہے...", + "wsl.onboarding.updatingOpencode": "OpenCode کو اپ ڈیٹ کیا جا رہا ہے...", + "wsl.onboarding.updatingOpencodeIn": "{{distro}} میں OpenCode کو اپ ڈیٹ کیا جا رہا ہے...", + "wsl.onboarding.updateOpencodeIn": "{{distro}} میں OpenCode کو اپ ڈیٹ کریں۔", + "wsl.onboarding.updateOpencode": "OpenCode کو اپ ڈیٹ کریں۔", + "wsl.onboarding.opencodeReadyIn": "OpenCode {{distro}} میں تیار ہے۔", + "wsl.onboarding.opencodeReady": "OpenCode تیار ہے۔", + "wsl.onboarding.installOpencodeIn": "{{distro}} میں OpenCode انسٹال کریں۔", + "wsl.onboarding.installOpencode": "OpenCode انسٹال کریں۔", + "wsl.onboarding.chooseDistroFirst": "پہلے ایک ڈسٹرو کا انتخاب کریں۔", + "wsl.onboarding.loadFailed": "WSL حالت لوڈ کرنے میں ناکام۔", + "wsl.onboarding.loading": "لوڈ ہو رہا ہے...", + "wsl.onboarding.installedDistros": "انسٹال شدہ ڈسٹرو", + "wsl.onboarding.checkAgain": "دوبارہ چیک کریں۔", + "wsl.onboarding.distroStatus.ready": "تیار", + "wsl.onboarding.distroStatus.checking": "چیک کر رہا ہے...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode انسٹال نہیں ہے۔", + "wsl.onboarding.distroStatus.missingTools": "غائب bash, curl", + "wsl.onboarding.distroStatus.unsupported": "غیر تعاون یافتہ · WSL 2 استعمال کریں۔", + "wsl.onboarding.needAnotherDistro": "ایک اور ڈسٹرو کی ضرورت ہے؟", + "wsl.onboarding.needAnotherDistroHint": "WSL کیٹلاگ سے Linux ڈسٹری بیوشن انسٹال کریں۔", + "wsl.onboarding.wslNotInstalled.title": "WSL انسٹال نہیں ہے۔", + "wsl.onboarding.wslNotInstalled.description": + "WSL (Windows سب سسٹم برائے Linux) کی ضرورت ہے اس سے پہلے کہ OpenCode WSL سرور شامل کر سکے۔", + "wsl.onboarding.wslUnavailable.title": "WSL دستیاب نہیں ہے۔", + "wsl.onboarding.wslUnavailable.description": "OpenCode اس مشین پر WSL کی تصدیق نہیں کر سکا۔", + "wsl.onboarding.installWsl": "WSL انسٹال کریں۔", + "wsl.onboarding.windowsRestartRequired": + "WSL انسٹال کرنے کے لیے Windows کو دوبارہ شروع کریں، پھر OpenCode کو دوبارہ کھولیں۔", + "wsl.onboarding.next": "اگلا", + "wsl.onboarding.refresh": "ریفریش کریں۔", + "wsl.onboarding.allDistrosAdded": "تمام انسٹال شدہ ڈسٹرو پہلے ہی شامل کر دیے گئے ہیں۔", + "wsl.onboarding.noDistros": "ابھی تک کسی ڈسٹرو کا پتہ نہیں چلا۔", + "wsl.onboarding.install": "انسٹال کریں۔", + "wsl.onboarding.installing": "انسٹال ہو رہا ہے...", + "wsl.onboarding.installDistro": "ڈسٹرو انسٹال کریں۔", + "wsl.onboarding.searchDistros": "ڈسٹری بیوشنز تلاش کریں", + "wsl.onboarding.wsl2Required": "WSL 2 درکار ہے۔", + "wsl.onboarding.toolsRequired": "اس ڈسٹرو کو bash اور curl کی ضرورت ہے۔", + "wsl.onboarding.openTerminal": "ٹرمینل کھولیں۔", + "wsl.onboarding.path": "راستہ: {{path}}", + "wsl.onboarding.notFound": "نہیں ملا", + "wsl.onboarding.version": "ورژن: {{version}}", + "wsl.onboarding.unknown": "نامعلوم", + "wsl.onboarding.desktopVersion": "ڈیسک ٹاپ {{version}}", + "wsl.onboarding.versionMismatch": "انسٹال کردہ ورژن ڈیسک ٹاپ ایپ ورژن سے مماثل نہیں ہے۔", + "wsl.onboarding.adding": "شامل کیا جا رہا ہے...", + "help.tabs.toast.ariaLabel": "ٹیبز کا تعارف۔ اپنے کام اور فعال سیشنز کو ٹیبز کے ذریعے منظم کریں", + "help.tabs.toast.dismiss": "ٹیبز کی معلومات بند کریں", + "help.tabs.title": "ٹیبز کا تعارف", + "help.tabs.description": "اپنے کام اور فعال سیشنز کو ٹیبز کے ذریعے منظم کریں", + "help.tabs.date": "14 جولائی", + "help.tabs.introduction": "OpenCode Desktop اب ٹیبز پر مبنی ہے۔", + "help.tabs.sessions": + "ٹیب میں نیا سیشن شروع کریں یا اپنے کسی بھی پروجیکٹ سے موجودہ سیشن کھولیں۔ کوئی نیا کام شروع کرتے وقت نیا ٹیب کھولیں اور کام مکمل ہونے پر اسے بند کر دیں۔", + "help.tabs.organize": + "چند ٹیبز کھلے رکھنے سے فعال سیشنز کو منظم کرنا آسان ہو جاتا ہے۔ اگر آپ کسی ٹیب کو برقرار رکھنا چاہتے ہیں تو اسے کوئی یاد رہنے والا نام دے دیں۔", + "help.tabs.home": + "نئی ہوم اسکرین پر آپ کو اپنے تمام سیشنز اور پروجیکٹس ملیں گے۔ کسی سیشن کو منتخب کرنے سے وہ ٹیب میں کھل جائے گا۔", + "help.tabs.persistence": "ایپ دوبارہ کھولنے پر آپ کے ٹیبز کھلے رہیں گے۔", + "help.tabs.worktrees": + "نیا ڈیزائن ابھی Git Worktrees کو سپورٹ نہیں کرتا، یہ سہولت جلد آ رہی ہے۔ اگر آپ پچھلا لے آؤٹ استعمال کرنا جاری رکھنا چاہتے ہیں تو ترتیبات میں لے آؤٹس کے درمیان سوئچ کر سکتے ہیں۔ یاد رہے کہ چند ہفتوں میں نیا لے آؤٹ مستقل ہو جائے گا۔", + "server.row.noUsername": "کوئی صارف نام نہیں", + "dialog.project.edit.title": "پروجیکٹ میں ترمیم کریں۔", + "dialog.project.edit.name": "نام", + "dialog.project.edit.icon": "آئیکن", + "dialog.project.edit.icon.alt": "پروجیکٹ کا آئیکن", + "dialog.project.edit.icon.hint": "تصویر پر کلک کریں یا گھسیٹیں۔", + "dialog.project.edit.icon.recommended": "تجویز کردہ: 128x128px", + "dialog.project.edit.color": "رنگ", + "dialog.project.edit.color.select": "{{color}} رنگ منتخب کریں۔", + "dialog.project.edit.worktree.startup": "ورک اسپیس اسٹارٹ اپ اسکرپٹ", + "dialog.project.edit.worktree.startup.description": "ایک نئی ورک اسپیس (ورکٹری) بنانے کے بعد چلتا ہے۔", + "dialog.project.edit.worktree.startup.placeholder": "جیسے bun install", + "dialog.releaseNotes.action.getStarted": "شروع کرو", + "dialog.releaseNotes.action.next": "اگلا", + "dialog.releaseNotes.action.hideFuture": "مستقبل میں یہ نہ دکھائیں۔", + "dialog.releaseNotes.media.alt": "ریلیز کا پیش منظر", + "dialog.usageExceeded.dontShowAgain": "دوبارہ نہ دکھائیں", + + "context.breakdown.title": "سیاق و سباق کی تفصیل", + "context.breakdown.note": 'ان پٹ ٹوکنز کی تخمینی تقسیم۔ "دیگر" میں ٹول کی تعریفیں اور اضافی بوجھ شامل ہیں۔', + "context.breakdown.system": "سسٹم", + "context.breakdown.user": "صارف", + "context.breakdown.assistant": "اسسٹنٹ", + "context.breakdown.tool": "ٹول کالز", + "context.breakdown.other": "دیگر", + "context.systemPrompt.title": "سسٹم پرامپٹ", + "context.rawMessages.title": "خام پیغامات", + "context.export.session": "سیشن برآمد کریں", + + "context.stats.session": "سیشن", + "context.stats.messages": "پیغامات", + "context.stats.provider": "فراہم کنندہ", + "context.stats.model": "ماڈل", + "context.stats.limit": "سیاق و سباق کی حد", + "context.stats.totalTokens": "کل ٹوکن", + "context.stats.usage": "استعمال", + "context.stats.inputTokens": "ان پٹ ٹوکنز", + "context.stats.outputTokens": "آؤٹ پٹ ٹوکنز", + "context.stats.reasoningTokens": "ریزننگ ٹوکنز", + "context.stats.cacheTokens": "کیشے ٹوکنز (پڑھنا/لکھنا)", + "context.stats.userMessages": "صارف کے پیغامات", + "context.stats.assistantMessages": "معاون پیغامات", + "context.stats.totalCost": "کل لاگت", + "context.stats.sessionCreated": "سیشن بنایا گیا۔", + "context.stats.lastActivity": "آخری سرگرمی", + "context.usage.tokens": "ٹوکنز", + "context.usage.usage": "استعمال", + "context.usage.cost": "لاگت", + "context.usage.clickToView": "سیاق و سباق دیکھنے کے لیے کلک کریں۔", + "context.usage.view": "سیاق و سباق کا استعمال دیکھیں", + "language.en": "English", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Deutsch", + "language.es": "Español", + "language.fr": "Français", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "Polski", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Norsk", + "language.br": "Português (Brasil)", + "language.bs": "Bosanski", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Türkçe", + "toast.language.title": "زبان", + "toast.language.description": "{{language}} پر تبدیل ہو گیا۔", + "toast.theme.title": "تھیم تبدیل ہو گئی۔", + "toast.scheme.title": "رنگ سکیم", + "toast.workspace.enabled.title": "ورک اسپیسز فعال ہیں۔", + "toast.workspace.enabled.description": "متعدد ورک ٹری اب سائڈبار میں دکھائے گئے ہیں۔", + "toast.workspace.disabled.title": "کام کی جگہیں غیر فعال ہیں۔", + "toast.workspace.disabled.description": "سائڈبار میں صرف مین ورک ٹری کو دکھایا گیا ہے۔", + "toast.permissions.autoaccept.on.title": "خودکار طور پر قبول کرنے کی اجازتیں۔", + "toast.permissions.autoaccept.on.description": "اجازت کی درخواستیں خود بخود منظور ہو جائیں گی۔", + "toast.permissions.autoaccept.off.title": "اجازتوں کو خودکار طور پر قبول کرنا بند کر دیا گیا۔", + "toast.permissions.autoaccept.off.description": "اجازت کی درخواستوں کو منظوری درکار ہوگی۔", + "toast.model.none.title": "کوئی ماڈل منتخب نہیں کیا گیا۔", + "toast.model.none.description": "اس سیشن کا خلاصہ کرنے کے لیے فراہم کنندہ سے رابطہ کریں۔", + "toast.file.loadFailed.title": "فائل لوڈ کرنے میں ناکام", + "toast.file.listFailed.title": "فائلوں کی فہرست بنانے میں ناکام", + "toast.context.noLineSelection.title": "لائن کا کوئی انتخاب نہیں۔", + "toast.context.noLineSelection.description": "پہلے فائل ٹیب میں لائن رینج منتخب کریں۔", + "toast.session.share.copyFailed.title": "URL کو کلپ بورڈ پر کاپی کرنے میں ناکام", + "toast.session.share.success.title": "سیشن کا اشتراک کیا گیا۔", + "toast.session.share.success.description": "اشتراک کا URL کلپ بورڈ پر کاپی ہو گیا!", + "toast.session.share.failed.title": "سیشن کا اشتراک کرنے میں ناکام", + "toast.session.share.failed.description": "سیشن کا اشتراک کرتے وقت ایک خرابی پیش آگئی", + "toast.session.unshare.success.title": "سیشن کا اشتراک ختم کر دیا گیا۔", + "toast.session.unshare.success.description": "سیشن کا اشتراک کامیابی سے ختم ہو گیا!", + "toast.session.unshare.failed.title": "سیشن کا اشتراک ختم کرنے میں ناکام", + "toast.session.unshare.failed.description": "سیشن کا اشتراک ختم کرتے وقت ایک خرابی پیش آگئی", + "toast.session.export.success.title": "سیشن برآمد کر دیا گیا", + "toast.session.export.success.description": "سیشن کو \u2068{{filename}}\u2069 میں محفوظ کر دیا گیا", + "toast.session.export.failed.title": "سیشن برآمد کرنے میں ناکام", + "toast.session.export.failed.description": "سیشن برآمد کرتے وقت ایک خرابی پیش آ گئی", + + "toast.session.listFailed.title": "{{project}} کے لیے سیشن لوڈ کرنے میں ناکام", + "toast.project.reloadFailed.title": "{{project}} کو دوبارہ لوڈ کرنے میں ناکام", + "toast.update.title": "اپ ڈیٹ دستیاب ہے۔", + "toast.update.description": "OpenCode ({{version}}) کا ایک نیا ورژن اب انسٹال کرنے کے لیے دستیاب ہے۔", + "toast.update.action.installRestart": "انسٹال کریں اور دوبارہ شروع کریں۔", + "toast.update.action.notYet": "ابھی تک نہیں۔", + "error.page.title": "کچھ غلط ہو گیا۔", + "error.page.description": "ایپلیکیشن لوڈ کرتے وقت ایک خرابی پیش آگئی۔", + "error.page.description.localServerStartup": "مقامی سرور شروع کرتے وقت ایک خرابی پیش آگئی۔", + "error.page.details.label": "خرابی کی تفصیلات", + "error.page.action.restart": "دوبارہ شروع کریں۔", + "error.page.action.report": "خرابی کی اطلاع دیں", + "error.page.action.reported": "خرابی کی اطلاع دی گئی۔", + "error.page.action.exportLogs": "لاگز برآمد کریں۔", + "error.page.action.checking": "چیک کر رہا ہے...", + "error.page.action.checkUpdates": "اپ ڈیٹس کے لیے چیک کریں۔", + "error.page.action.updateTo": "{{version}} میں اپ ڈیٹ کریں۔", + "error.page.circular": "[سرکلر]", + "error.page.report.prefix": "براہ کرم OpenCode ٹیم کو اس غلطی کی اطلاع دیں۔", + "error.page.report.discord": "Discord پر", + "error.page.version": "ورژن: {{version}}", + "error.dev.rootNotFound": + "روٹ عنصر نہیں ملا۔ کیا آپ اسے اپنے index.html میں شامل کرنا بھول گئے؟ یا ہو سکتا ہے کہ آئی ڈی وصف کی ہجے غلط ہو گئی ہو؟", + "error.serverSync.connectFailed": "سرور سے منسلک نہیں ہو سکا۔ کیا `{{url}}` پر کوئی سرور چل رہا ہے؟", + "error.serverSDK.noServerAvailable": "کوئی سرور دستیاب نہیں ہے۔", + "error.serverSDK.serverNotAvailable": "سرور دستیاب نہیں ہے۔", + "error.childStore.persistedCacheCreateFailed": "مستقل کیشے بنانے میں ناکام", + "error.childStore.persistedProjectMetadataCreateFailed": "مستقل پروجیکٹ میٹا ڈیٹا بنانے میں ناکام", + "error.childStore.persistedProjectIconCreateFailed": "مستقل پروجیکٹ آئیکن بنانے میں ناکام", + "error.childStore.storeCreateFailed": "اسٹور بنانے میں ناکام", + "directory.error.invalidUrl": "URL میں غلط ڈائریکٹری۔", + "error.chain.unknown": "نامعلوم خرابی۔", + "error.server.invalidConfiguration": "غلط کنفیگریشن", + "error.chain.causedBy": "کی وجہ سے:", + "error.chain.apiError": "API غلطی", + "error.chain.status": "حیثیت: {{status}}", + "error.chain.retryable": "دوبارہ کوشش کے قابل: {{retryable}}", + "error.chain.responseBody": "جواب کا متن:\n{{body}}", + "error.chain.didYouMean": "کیا آپ کا مطلب ہے: {{suggestions}}؟", + "error.chain.modelNotFound": "ماڈل نہیں ملا: {{provider}}/{{model}}", + "error.chain.checkConfig": "اپنی تشکیل (opencode.json) فراہم کنندہ/ماڈل کے نام چیک کریں۔", + "error.chain.mcpFailed": 'MCP سرور "{{name}}" ناکام ہو گیا۔ نوٹ، OpenCode ابھی تک MCP تصدیق کو سپورٹ نہیں کرتا ہے۔', + "error.chain.providerAuthFailed": "فراہم کنندہ کی توثیق ناکام ہوگئی ({{provider}}): {{message}}", + "error.chain.providerInitFailed": 'فراہم کنندہ "{{provider}}" کو شروع کرنے میں ناکام۔ اسناد اور کنفیگریشن چیک کریں۔', + "error.chain.configJsonInvalid": "{{path}} پر کنفگ فائل درست نہیں ہے JSON(C)", + "error.chain.configJsonInvalidWithMessage": "{{path}} پر کنفگ فائل درست نہیں ہے JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + '{{path}} میں ڈائریکٹری "{{dir}}" درست نہیں ہے۔ ڈائریکٹری کا نام "{{suggestion}}" رکھیں یا اسے ہٹا دیں۔ یہ املا کی ایک عام غلطی ہے۔', + "error.chain.configFrontmatterError": "{{path}} میں فرنٹ میٹر کو پارس کرنے میں ناکام:\n{{message}}", + "error.chain.configInvalid": "{{path}} پر کنفگ فائل غلط ہے۔", + "error.chain.configInvalidWithMessage": "{{path}} پر کنفگ فائل غلط ہے: {{message}}", + "notification.permission.title": "اجازت درکار ہے۔", + "notification.permission.description": "{{projectName}} میں {{sessionTitle}} کو اجازت درکار ہے۔", + "notification.question.title": "سوال", + "notification.question.description": "{{projectName}} میں {{sessionTitle}} کی جانب سے ایک سوال ہے۔", + "notification.action.goToSession": "سیشن پر جائیں", + "notification.session.responseReady.title": "جواب تیار ہے۔", + "notification.session.error.title": "سیشن کی خرابی", + "notification.session.error.fallbackDescription": "ایک خرابی پیش آ گئی۔", + "home.recentProjects": "حالیہ منصوبے", + "home.empty.title": "کوئی حالیہ پروجیکٹ نہیں۔", + "home.empty.description": "ایک مقامی پروجیکٹ کھول کر شروع کریں۔", + "home.title": "ہوم", + "home.projects": "پروجیکٹس", + "home.project.add": "پروجیکٹ شامل کریں۔", + "home.recentlyClosed": "حال ہی میں بند", + "home.server.collapse": "سرور کے پروجیکٹس سمیٹیں", + "home.server.expand": "سرور پروجیکٹس کو وسعت دیں۔", + "home.sessions.search.placeholder": "سیشن تلاش کریں۔", + "home.sessions.search.placeholder.scoped": "{{scope}} میں سیشن تلاش کریں۔", + "home.sessions.search.sessions": "سیشنز", + "home.sessions.search.noResults": "{{query}} کے لیے کوئی سیشن نہیں ملا", + "home.sessions.empty": "ابھی تک یہاں کچھ نہیں ہے۔", + "home.sessions.empty.description": "شروع کرنے کے لیے ایک سیشن بنائیں", + "home.sessions.group.today": "آج", + "home.sessions.group.yesterday": "کل", + "home.sessions.group.older": "پرانا", + "home.providerTip": "Claude، GPT، Gemini، وغیرہ سمیت دیگر ماڈلز استعمال کرنے کے لیے 75+ فراہم کنندگان سے جڑیں", + "session.tab.session": "سیشن", + "session.tab.review": "جائزہ لیں", + "session.tab.context": "سیاق و سباق", + "session.tab.unknown": "نامعلوم سیشن", + "session.panel.reviewAndFiles": "جائزہ اور فائلیں۔", + "session.error.notFound": "یہ سیشن نہیں مل سکتا", + "session.error.notFound.description": "یہ ٹیب ایک سیشن کی طرف اشارہ کرتا ہے جو اس سرور پر اب موجود نہیں ہے۔", + "session.error.notFound.closeTab": "ٹیب بند کریں", + "session.error.serverConnection": "اس سرور سے منسلک نہیں ہو سکتا", + "session.review.filesChanged": "تبدیل شدہ فائلیں: {{count}}", + "session.review.change.one": "تبدیلی", + "session.review.change.other": "تبدیلیاں", + "session.review.loadingChanges": "تبدیلیاں لوڈ ہو رہی ہیں...", + "session.review.empty": "اس سیشن میں ابھی تک کوئی تبدیلی نہیں آئی", + "session.review.noVcs": "Git ورژن کنٹرول سسٹم کا پتہ نہیں چلا، تبدیلیاں ظاہر نہیں کی گئیں۔", + "session.review.noVcs.createGit.title": "ایک Git ذخیرہ بنائیں", + "session.review.noVcs.createGit.description": + "اس پروجیکٹ میں تبدیلیوں کو ٹریک کریں، ان کا جائزہ لیں اور ان کو کالعدم کریں۔", + "session.review.noVcs.createGit.actionLoading": "Git ذخیرہ تخلیق کیا جا رہا ہے...", + "session.review.noVcs.createGit.action": "Git ذخیرہ تخلیق کریں۔", + "session.review.noSnapshot": + "اسنیپ شاٹ سے باخبر رہنے کی ترتیب کو غیر فعال کر دیا گیا ہے، لہذا سیشن کی تبدیلیاں دستیاب نہیں ہیں۔", + "session.review.noChanges": "کوئی تبدیلی نہیں۔", + "session.review.noUncommittedChanges": "ابھی تک کوئی غیر ارتکاب تبدیلیاں نہیں ہیں۔", + "session.review.noBranchChanges": "ابھی تک برانچ میں کوئی تبدیلی نہیں ہے۔", + "session.files.selectToOpen": "کھولنے کے لیے ایک فائل منتخب کریں۔", + "session.files.all": "تمام فائلیں۔", + "session.files.empty": "کوئی فائل نہیں ہے۔", + "session.files.binaryContent": "بائنری فائل (مواد ظاہر نہیں کیا جا سکتا)", + "session.messages.renderEarlier": "پرانے پیغامات دکھائیں", + "session.messages.loadingEarlier": "پہلے کے پیغامات لوڈ ہو رہے ہیں...", + "session.messages.loadEarlier": "پہلے کے پیغامات لوڈ کریں۔", + "session.messages.loading": "پیغامات لوڈ ہو رہے ہیں...", + "session.messages.jumpToLatest": "تازہ ترین پر جائیں", + "session.context.addToContext": "{{selection}} کو سیاق و سباق میں شامل کریں۔", + "session.todo.title": "زیر التوا کام", + "session.todo.collapse": "سمیٹیں", + "session.todo.expand": "پھیلائیں۔", + "session.todo.progress": "{{total}} میں سے {{done}} کام مکمل ہو گئے", + "session.question.progress": "{{total}} میں سے سوال {{current}}", + "session.question.minimize": "سوال کو کم سے کم کریں۔", + "session.question.restore": "سوال بحال کریں۔", + "session.question.pending.one": "{{count}} زیر التواء سوال", + "session.question.pending.other": "{{count}} زیر التواء سوالات", + "session.followupDock.summary.one": "{{count}} قطار میں شامل پیغام", + "session.followupDock.summary.other": "{{count}} قطار میں لگے پیغامات", + "session.followupDock.sendNow": "ابھی بھیجیں۔", + "session.followupDock.edit": "ترمیم کریں۔", + "session.followupDock.collapse": "قطار میں لگے پیغامات کو سکیڑیں۔", + "session.followupDock.expand": "قطار میں لگے پیغامات کو پھیلائیں۔", + "session.revertDock.summary.one": "{{count}} واپس لیا گیا پیغام", + "session.revertDock.summary.other": "{{count}} واپس لیے گئے پیغامات", + "session.revertDock.collapse": "واپس لیے گئے پیغامات سمیٹیں", + "session.revertDock.expand": "واپس لیے گئے پیغامات پھیلائیں", + "session.revertDock.restore": "پیغام کو بحال کریں۔", + "session.new.title": "کچھ بھی بنائیں", + "session.new.project.new": "نیا پروجیکٹ", + "session.new.project.search": "پروجیکٹس تلاش کریں۔", + "session.new.project.add": "پروجیکٹ شامل کریں۔", + "session.new.worktree.main": "مین برانچ", + "session.new.worktree.mainWithBranch": "مین برانچ ({{branch}})", + "session.new.worktree.create": "نئی ورک ٹری بنائیں", + "session.new.workspace.runIn": "سیشن یہاں چلائیں", + "session.new.workspace.triggerLocal": "مقامی", + "session.new.workspace.local": "مقامی ذخیرہ", + "session.new.workspace.existing": "ورک اسپیس…", + "session.new.git.none": "کوئی Git نہیں۔", + "session.new.lastModified": "آخری بار ترمیم کی گئی۔", + "session.header.search.placeholder": "{{project}} تلاش کریں۔", + "session.header.searchFiles": "فائلیں تلاش کریں۔", + "session.header.openIn": "اس میں کھولیں", + "session.header.open.action": "{{app}} کھولیں۔", + "session.header.open.ariaLabel": "{{app}} میں کھولیں۔", + "session.header.open.menu": "اختیارات کھولیں۔", + "session.header.open.copyPath": "راستہ کاپی کریں۔", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "File Explorer", + "session.header.open.fileManager": "File Manager", + "session.header.reveal.finder": "Finder میں ظاہر کریں۔", + "session.header.reveal.fileExplorer": "File Explorer میں ظاہر کریں۔", + "session.header.reveal.containingFolder": "متعلقہ فولڈر کھولیں", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Terminal", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "حیثیت", + "status.popover.ariaLabel": "سرور کنفیگریشنز", + "status.popover.tab.servers": "سرورز", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "پلگ انز", + "status.popover.action.manageServers": "سرورز کا نظم کریں۔", + "session.share.popover.title": "ویب پر شائع کریں۔", + "session.share.popover.description.shared": "یہ سیشن ویب پر عوامی ہے۔ یہ لنک کے ساتھ ہر کسی کے لیے قابل رسائی ہے۔", + "session.share.popover.description.unshared": + "ویب پر عوامی طور پر سیشن کا اشتراک کریں۔ یہ لنک کے ساتھ ہر کسی کے لیے قابل رسائی ہو گا۔", + "session.share.action.share": "شیئر کریں۔", + "session.share.action.publish": "شائع کریں۔", + "session.share.action.publishing": "شائع ہو رہا ہے...", + "session.share.action.unpublish": "غیر شائع کریں۔", + "session.share.action.unpublishing": "اشاعت ختم کی جا رہی ہے...", + "session.share.action.view": "دیکھیں", + "session.share.copy.copied": "کاپی", + "session.share.copy.copyLink": "لنک کاپی کریں۔", + "lsp.tooltip.none": "LSP سرورز نہیں ہیں۔", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "پرامپٹ لوڈ ہو رہا ہے...", + "terminal.loading": "ٹرمینل لوڈ ہو رہا ہے...", + "terminal.title": "ٹرمینل", + "terminal.title.numbered": "ٹرمینل {{number}}", + "terminal.close": "ٹرمینل بند کریں۔", + "terminal.connectionLost.title": "کنکشن ختم ہو گیا۔", + "terminal.connectionLost.abnormalClose": "WebSocket غیر معمولی طور پر بند ہوا: {{code}}", + "terminal.connectionLost.description": "ٹرمینل کنکشن میں خلل پڑا۔ یہ سرور کے دوبارہ شروع ہونے پر ہوسکتا ہے۔", + "terminal.connectTicket.csrfError": + "PTY کنکشن ٹکٹ کو ماخذ یا CSRF جانچ نے مسترد کر دیا۔ سرور کی CORS تشکیل چیک کریں۔", + "terminal.connectTicket.statusError": "PTY کنکشن ٹکٹ {{status}} اسٹیٹس کے ساتھ ناکام ہو گیا۔", + "titlebar.update": "اپ ڈیٹ کریں", + "titlebar.updateVersion": "اپ ڈیٹ کریں {{version}}", + "common.closeTab": "ٹیب بند کریں۔", + "common.dismiss": "نظر انداز کریں", + "common.moreCountSuffix": " (+{{count}} مزید)", + "common.requestFailed": "درخواست ناکام ہوگئی", + "common.moreOptions": "مزید اختیارات", + "common.learnMore": "مزید جانیں", + "common.rename": "نام تبدیل کریں۔", + "common.export": "برآمد کریں", + "common.reset": "دوبارہ ترتیب دیں۔", + "common.archive": "آرکائیو کریں", + "common.delete": "حذف کریں۔", + "common.close": "بند", + "common.edit": "ترمیم کریں۔", + "common.loadMore": "مزید لوڈ کریں۔", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "نامعلوم", + "common.time.justNow": "ابھی ابھی", + "common.time.minutesAgo.short": "{{count}}m پہلے", + "common.time.hoursAgo.short": "{{count}}h پہلے", + "common.time.daysAgo.short": "{{count}}d پہلے", + "sidebar.menu.toggle": "مینو دکھائیں یا چھپائیں", + "sidebar.nav.projectsAndSessions": "پروجیکٹس اور سیشنز", + "sidebar.settings": "ترتیبات", + "sidebar.help": "مدد", + "sidebar.workspaces.enable": "ورک اسپیسز کو فعال کریں۔", + "sidebar.workspaces.disable": "ورک اسپیس کو غیر فعال کریں۔", + "sidebar.gettingStarted.title": "شروع کرنا", + "sidebar.gettingStarted.line1": "OpenCode میں مفت ماڈل شامل ہیں لہذا آپ فوری طور پر شروع کر سکتے ہیں۔", + "sidebar.gettingStarted.line2": "ماڈلز استعمال کرنے کے لیے کسی بھی فراہم کنندہ کو جوڑیں۔ Claude، GPT، Gemini وغیرہ", + "sidebar.project.recentSessions": "حالیہ سیشنز", + "sidebar.project.viewAllSessions": "تمام سیشنز دیکھیں", + "sidebar.project.clearNotifications": "اطلاعات کو صاف کریں۔", + "sidebar.empty.title": "کوئی پروجیکٹ نہیں کھلا۔", + "sidebar.empty.description": "شروع کرنے کے لیے ایک پروجیکٹ کھولیں۔", + "debugBar.ariaLabel": "ترقیاتی کارکردگی کی تشخیص", + "debugBar.na": "n/a", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "سیشن صفحے سے متعلق آخری مکمل روٹ منتقلی، جسے روٹر کے آغاز سے منتقلی مکمل ہونے کے بعد پہلی بار اسکرین بننے تک ناپا گیا ہے۔", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "آخری 5 سیکنڈز میں فریم فی سیکنڈ رولنگ۔", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "آخری 5 سیکنڈز میں سب سے خراب فریم ٹائم۔", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "آخری 5 سیکنڈ میں 32ms سے زیادہ کے فریم۔", + "debugBar.long.label": "LONG", + "debugBar.long.tip": "آخری 5 سیکنڈ میں مسدود وقت اور طویل کام کی گنتی۔ زیادہ سے زیادہ کام: {{max}}۔", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "آخری 5 سیکنڈ میں سب سے زیادہ مشاہدہ کردہ ان پٹ تاخیر۔", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": "آخری 5 سیکنڈ میں تعامل کا تخمینی دورانیہ۔ یہ INP جیسا ہے، سرکاری Web Vitals INP نہیں۔", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "موجودہ ایپ کی زندگی بھر کے لیے مجموعی لے آؤٹ شفٹ۔", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "استعمال شدہ JS ہیپ بمقابلہ ہیپ کی حد۔ صرف Chromium۔", + "debugBar.mem.tip": "استعمال شدہ JS ہیپ بمقابلہ ہیپ کی حد۔ {{limit}} میں سے {{used}}۔", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "تمام تفاعلی عناصر پر فوکس اسٹائلز لازماً لاگو کریں", + "debugBar.focus.on": "چالو", + "debugBar.focus.off": "بند", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "منتخب زبان تبدیل کیے بغیر پوری ایپ کے لے آؤٹ کی سمت لازماً مقرر کریں", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode ڈیسک ٹاپ", + "settings.section.desktop": "ڈیسک ٹاپ", + "settings.section.server": "سرور", + "settings.tab.general": "عمومی", + "settings.tab.shortcuts": "شارٹ کٹس", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "WSL انضمام", + "settings.desktop.wsl.description": "Windows پر WSL کے اندر OpenCode سرور چلائیں۔", + "settings.general.section.appearance": "ظاہری شکل", + "settings.general.section.advanced": "اعلیٰ ترتیبات", + "settings.general.section.notifications": "سسٹم کی اطلاعات", + "settings.general.section.updates": "اپڈیٹس", + "settings.general.section.sounds": "صوتی اثرات", + "settings.general.section.feed": "فیڈ", + "settings.general.section.display": "ڈسپلے", + "settings.general.row.language.title": "زبان", + "settings.general.row.language.description": "OpenCode کے لیے ڈسپلے کی زبان تبدیل کریں۔", + "settings.general.row.shell.title": "ٹرمینل شیل", + "settings.general.row.shell.description": "ٹرمینل اور ایجنٹ ٹولز کے ذریعے استعمال ہونے والا شیل", + "settings.general.row.shell.autoDefault": "خودکار (پہلے سے طے شدہ)", + "settings.general.row.shell.terminalOnly": "صرف ٹرمینل", + "settings.general.row.appearance.title": "ظاہری شکل", + "settings.general.row.appearance.description": "اپنی مرضی کے مطابق بنائیں کہ آپ کے آلے پر OpenCode کیسا لگتا ہے۔", + "settings.general.row.colorScheme.title": "رنگ سکیم", + "settings.general.row.colorScheme.description": + "منتخب کریں کہ آیا OpenCode سسٹم، لائٹ یا ڈارک تھیم کی پیروی کرتا ہے۔", + "settings.general.row.theme.title": "تھیم", + "settings.general.row.theme.description": "OpenCode کی تھیم حسب ضرورت بنائیں۔", + "settings.general.row.font.title": "کوڈ فونٹ", + "settings.general.row.font.description": "کوڈ بلاکس میں استعمال ہونے والے فونٹ کو حسب ضرورت بنائیں", + "settings.general.row.terminalFont.title": "ٹرمینل فونٹ", + "settings.general.row.terminalFont.description": "ٹرمینل میں استعمال ہونے والے فونٹ کو حسب ضرورت بنائیں", + "settings.general.row.uiFont.title": "UI فونٹ", + "settings.general.row.uiFont.description": "پورے انٹرفیس میں استعمال ہونے والے فونٹ کو حسب ضرورت بنائیں", + "settings.general.row.followup.title": "فالو اپ کا طرز عمل", + "settings.general.row.followup.description": + "منتخب کریں کہ آیا فالو اپ فوری طور پر آگے بڑھتا ہے یا قطار میں انتظار کرتا ہے۔", + "settings.general.row.followup.option.queue": "قطار", + "settings.general.row.followup.option.steer": "فوری رہنمائی", + "settings.general.row.showFileTree.title": "فائل ٹری", + "settings.general.row.showFileTree.description": "سیشن میں فائل ٹری پینل دکھائیں۔", + "settings.general.row.showNavigation.title": "نیویگیشن کنٹرولز", + "settings.general.row.showNavigation.description": "ڈیسک ٹاپ ٹائٹل بار میں پیچھے اور آگے کے بٹن دکھائیں۔", + "settings.general.row.showSearch.title": "کمانڈ پیلیٹ", + "settings.general.row.showSearch.description": "ٹائٹل بار میں سرچ اور کمانڈ پیلیٹ بٹن دکھائیں۔", + "settings.general.row.showTerminal.title": "ٹرمینل", + "settings.general.row.showTerminal.description": "ڈیسک ٹاپ ٹائٹل بار میں ٹرمینل بٹن دکھائیں۔", + "settings.general.row.showStatus.title": "سرور کی حیثیت", + "settings.general.row.showStatus.description": "ٹائٹل بار میں سرور اسٹیٹس بٹن دکھائیں۔", + "settings.general.row.mobileTitlebarBottom.title": "نیچے نیویگیشن", + "settings.general.row.mobileTitlebarBottom.description": "موبائل پر اسکرین کے نیچے ٹائٹل بار اور سیشن ٹیبز رکھیں", + "settings.general.row.showCustomAgents.title": "ایجنٹ دکھائیں۔", + "settings.general.row.showCustomAgents.description": + "کمپوزر میں ایجنٹس تبدیل کریں۔ چھپانے پر Build ایجنٹ بطور طے شدہ استعمال ہوگا۔", + "settings.general.row.reasoningSummaries.title": "استدلال کے خلاصے دکھائیں۔", + "settings.general.row.reasoningSummaries.description": "ٹائم لائن میں ماڈل استدلال کے خلاصے ڈسپلے کریں۔", + "settings.general.row.shellToolPartsExpanded.title": "شیل ٹول کے حصے پھیلائیں", + "settings.general.row.shellToolPartsExpanded.description": + "ٹائم لائن میں شیل ٹول کے حصے بطور طے شدہ پھیلے ہوئے دکھائیں۔", + "settings.general.row.editToolPartsExpanded.title": "ترمیمی ٹول کے حصے پھیلائیں", + "settings.general.row.editToolPartsExpanded.description": + "ٹائم لائن میں ترمیم، تحریر اور پیچ ٹول کے حصے بطور طے شدہ پھیلے ہوئے دکھائیں۔", + "settings.general.row.newInterface.title": "نیا لے آؤٹ", + "settings.general.row.newInterface.badge": "نیا", + "settings.general.row.newInterface.description": + "نئے ٹیبز اور ہوم لے آؤٹ استعمال کریں۔ ایک محدود وقت کے لیے لے آؤٹ کے درمیان سوئچ کریں۔", + "settings.general.row.newInterfaceNotice.title": "اب آپ نیا لے آؤٹ استعمال کر رہے ہیں۔", + "settings.general.row.newInterfaceNotice.description": "پچھلا لے آؤٹ اب دستیاب نہیں ہے۔", + "settings.general.row.newInterfaceNotice.dismiss": "نظر انداز کریں", + "settings.general.row.pinchZoom.title": "زوم کرنے کے لیے چوٹکی لگائیں۔", + "settings.general.row.pinchZoom.description": "ٹریک پیڈ پنچ اور Ctrl-اسکرول اشاروں کو زوم کرنے دیں۔", + "settings.general.row.wayland.title": "مقامی Wayland استعمال کریں۔", + "settings.general.row.wayland.description": "Wayland پر X11 فال بیک کو غیر فعال کریں۔ دوبارہ شروع کرنے کی ضرورت ہے۔", + "settings.general.row.wayland.tooltip": + "مخلوط ریفریش ریٹ مانیٹر کے ساتھ Linux پر، مقامی Wayland زیادہ مستحکم ہو سکتا ہے۔", + "settings.general.row.releaseNotes.title": "ریلیز نوٹس", + "settings.general.row.releaseNotes.description": "اپ ڈیٹس کے بعد نیا کیا ہے پاپ اپ دکھائیں۔", + "settings.updates.row.startup.title": "سٹارٹ اپ پر اپ ڈیٹس چیک کریں۔", + "settings.updates.row.startup.description": "OpenCode لانچ ہونے پر اپ ڈیٹس کے لیے خودکار طور پر چیک کریں۔", + "settings.updates.row.check.title": "اپ ڈیٹس کے لیے چیک کریں۔", + "settings.updates.row.check.description": "اپ ڈیٹس کے لیے دستی طور پر چیک کریں اور اگر دستیاب ہو تو انسٹال کریں۔", + "settings.updates.action.checkNow": "ابھی چیک کریں۔", + "settings.updates.action.checking": "چیک کر رہا ہے...", + "settings.updates.action.downloading": "ڈاؤن لوڈ ہو رہا ہے...", + "settings.updates.action.installing": "انسٹال ہو رہا ہے...", + "settings.updates.toast.latest.title": "آپ اپ ٹو ڈیٹ ہیں۔", + "settings.updates.toast.latest.description": "آپ OpenCode کا تازہ ترین ورژن چلا رہے ہیں۔", + "sound.option.none": "کوئی نہیں۔", + "sound.option.alert01": "Alert 01", + "sound.option.alert02": "Alert 02", + "sound.option.alert03": "Alert 03", + "sound.option.alert04": "Alert 04", + "sound.option.alert05": "Alert 05", + "sound.option.alert06": "Alert 06", + "sound.option.alert07": "Alert 07", + "sound.option.alert08": "Alert 08", + "sound.option.alert09": "Alert 09", + "sound.option.alert10": "Alert 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "Nope 01", + "sound.option.nope02": "Nope 02", + "sound.option.nope03": "Nope 03", + "sound.option.nope04": "Nope 04", + "sound.option.nope05": "Nope 05", + "sound.option.nope06": "Nope 06", + "sound.option.nope07": "Nope 07", + "sound.option.nope08": "Nope 08", + "sound.option.nope09": "Nope 09", + "sound.option.nope10": "Nope 10", + "sound.option.nope11": "Nope 11", + "sound.option.nope12": "Nope 12", + "sound.option.yup01": "Yup 01", + "sound.option.yup02": "Yup 02", + "sound.option.yup03": "Yup 03", + "sound.option.yup04": "Yup 04", + "sound.option.yup05": "Yup 05", + "sound.option.yup06": "Yup 06", + "settings.general.notifications.agent.title": "ایجنٹ", + "settings.general.notifications.agent.description": "جب ایجنٹ مکمل ہو یا توجہ کی ضرورت ہو تو سسٹم کی اطلاع دکھائیں۔", + "settings.general.notifications.permissions.title": "اجازتیں", + "settings.general.notifications.permissions.description": "جب اجازت درکار ہو تو سسٹم کی اطلاع دکھائیں۔", + "settings.general.notifications.errors.title": "غلطیاں", + "settings.general.notifications.errors.description": "جب کوئی خرابی ہوتی ہے تو سسٹم کی اطلاع دکھائیں۔", + "settings.general.sounds.agent.title": "ایجنٹ", + "settings.general.sounds.agent.description": "جب ایجنٹ مکمل ہو جائے یا توجہ کی ضرورت ہو تو آواز چلائیں۔", + "settings.general.sounds.permissions.title": "اجازتیں", + "settings.general.sounds.permissions.description": "جب اجازت درکار ہو تو آواز چلائیں۔", + "settings.general.sounds.errors.title": "غلطیاں", + "settings.general.sounds.errors.description": "غلطی ہونے پر آواز چلائیں۔", + "settings.shortcuts.title": "کی بورڈ شارٹ کٹس", + "settings.shortcuts.reset.button": "ڈیفالٹس پر ری سیٹ کریں۔", + "settings.shortcuts.reset.toast.title": "شارٹ کٹس ری سیٹ", + "settings.shortcuts.reset.toast.description": "کی بورڈ شارٹ کٹس کو ڈیفالٹس پر ری سیٹ کر دیا گیا ہے۔", + "settings.shortcuts.conflict.title": "شارٹ کٹ پہلے سے استعمال میں ہے۔", + "settings.shortcuts.conflict.description": "{{keybind}} پہلے ہی {{titles}} کو تفویض کیا گیا ہے۔", + "settings.shortcuts.unassigned": "غیر تفویض کردہ", + "settings.shortcuts.pressKeys": "چابیاں دبائیں", + "settings.shortcuts.search.placeholder": "شارٹ کٹ تلاش کریں۔", + "settings.shortcuts.search.empty": "کوئی شارٹ کٹ نہیں ملا", + "settings.shortcuts.group.general": "عمومی", + "settings.shortcuts.group.session": "سیشن", + "settings.shortcuts.group.navigation": "نیویگیشن", + "settings.shortcuts.group.modelAndAgent": "ماڈل اور ایجنٹ", + "settings.shortcuts.group.terminal": "ٹرمینل", + "settings.shortcuts.group.prompt": "پرامپٹ", + "settings.providers.title": "فراہم کرنے والے", + "settings.providers.description": "فراہم کنندہ کی ترتیبات یہاں قابل ترتیب ہوں گی۔", + "settings.providers.section.connected": "منسلک فراہم کنندگان", + "settings.providers.connected.empty": "کوئی منسلک فراہم کنندہ نہیں۔", + "settings.providers.connected.environmentDescription": "آپ کے ماحول کے متغیرات سے جڑا ہوا ہے۔", + "settings.providers.section.popular": "مقبول فراہم کنندگان", + "settings.providers.custom.description": "بیس URL کے ذریعے ایک OpenAI-مطابق فراہم کنندہ شامل کریں۔", + "settings.providers.tag.environment": "ماحول", + "settings.providers.tag.config": "ترتیب", + "settings.providers.tag.custom": "حسب ضرورت", + "settings.providers.tag.other": "دیگر", + "settings.models.title": "ماڈلز", + "settings.models.description": "ماڈل کی ترتیبات یہاں قابل ترتیب ہوں گی۔", + "settings.agents.title": "ایجنٹس", + "settings.agents.description": "ایجنٹ کی ترتیبات یہاں قابل ترتیب ہوں گی۔", + "settings.commands.title": "کمانڈز", + "settings.commands.description": "کمانڈ کی ترتیبات یہاں قابل ترتیب ہوں گی۔", + "settings.mcp.title": "MCP", + "settings.mcp.description": "MCP ترتیبات یہاں قابل ترتیب ہوں گی۔", + "settings.permissions.title": "اجازتیں", + "settings.permissions.description": "کنٹرول کریں کہ سرور کن ٹولز کو بطور ڈیفالٹ استعمال کر سکتا ہے۔", + "settings.permissions.section.tools": "اوزار", + "settings.permissions.toast.updateFailed.title": "اجازتوں کو اپ ڈیٹ کرنے میں ناکام", + "settings.permissions.action.allow": "اجازت دیں۔", + "settings.permissions.action.ask": "پوچھیں", + "settings.permissions.action.deny": "انکار کریں", + "settings.permissions.tool.read.title": "پڑھیں", + "settings.permissions.tool.read.description": "فائل پڑھنا (فائل کے راستے سے میل کھاتا ہے)", + "settings.permissions.tool.edit.title": "ترمیم کریں۔", + "settings.permissions.tool.edit.description": "فائلوں میں ترمیم کریں، بشمول ترامیم، تحریریں اور پیچ", + "settings.permissions.tool.glob.title": "گلوب", + "settings.permissions.tool.glob.description": "گلوب پیٹرن کا استعمال کرتے ہوئے فائلوں کو میچ کریں۔", + "settings.permissions.tool.grep.title": "گریپ", + "settings.permissions.tool.grep.description": "ریگولر ایکسپریشنز کا استعمال کرتے ہوئے فائل کا مواد تلاش کریں۔", + "settings.permissions.tool.list.title": "فہرست", + "settings.permissions.tool.list.description": "ڈائریکٹری میں فائلوں کی فہرست بنائیں", + "settings.permissions.tool.bash.title": "باش", + "settings.permissions.tool.bash.description": "شیل کمانڈز چلائیں۔", + "settings.permissions.tool.task.title": "کام", + "settings.permissions.tool.task.description": "ذیلی ایجنٹس چلائیں۔", + "settings.permissions.tool.skill.title": "ہنر", + "settings.permissions.tool.skill.description": "نام سے ایک مہارت لوڈ کریں۔", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "زبان کے سرور کے سوالات چلائیں۔", + "settings.permissions.tool.todowrite.title": "ٹوڈو لکھیں۔", + "settings.permissions.tool.todowrite.description": "ٹوڈو لسٹ کو اپ ڈیٹ کریں۔", + "settings.permissions.tool.webfetch.title": "ویب بازیافت", + "settings.permissions.tool.webfetch.description": "URL سے مواد حاصل کریں۔", + "settings.permissions.tool.websearch.title": "ویب تلاش", + "settings.permissions.tool.websearch.description": "ویب پر تلاش کریں۔", + "settings.permissions.tool.external_directory.title": "بیرونی ڈائریکٹری", + "settings.permissions.tool.external_directory.description": "پروجیکٹ ڈائرکٹری سے باہر فائلوں تک رسائی حاصل کریں۔", + "settings.permissions.tool.doom_loop.title": "ڈوم لوپ", + "settings.permissions.tool.doom_loop.description": "ایک جیسی ان پٹ کے ساتھ بار بار ٹول کالز کا پتہ لگائیں۔", + "session.delete.failed.title": "سیشن کو حذف کرنے میں ناکام", + "session.delete.title": "سیشن کو حذف کریں۔", + "session.delete.confirm": 'سیشن "{{name}}" کو حذف کریں؟', + "session.delete.button": "سیشن کو حذف کریں۔", + "workspace.new": "نئی ورک اسپیس", + "workspace.type.local": "مقامی", + "workspace.type.sandbox": "سینڈ باکس", + "workspace.create.failed.title": "ورک اسپیس بنانے میں ناکام", + "workspace.delete.failed.title": "ورک اسپیس کو حذف کرنے میں ناکام", + "workspace.resetting.title": "ورک اسپیس ری سیٹ کی جا رہی ہے", + "workspace.resetting.description": "اس میں ایک منٹ لگ سکتا ہے۔", + "workspace.reset.failed.title": "ورک اسپیس کو ری سیٹ کرنے میں ناکام", + "workspace.reset.success.title": "ورک اسپیس ری سیٹ", + "workspace.reset.success.description": "ورک اسپیس اب ڈیفالٹ برانچ سے میل کھاتا ہے۔", + "workspace.error.stillPreparing": "ورک اسپیس ابھی بھی تیار ہو رہی ہے۔", + "workspace.status.checking": "غیر ضم شدہ تبدیلیوں کی جانچ ہو رہی ہے...", + "workspace.status.error": "گٹ کی حیثیت کی تصدیق کرنے سے قاصر۔", + "workspace.status.clean": "کوئی غیر ضم شدہ تبدیلی نہیں ملی۔", + "workspace.status.dirty": "اس ورک اسپیس میں غیر ضم شدہ تبدیلیاں ملی ہیں۔", + "workspace.delete.title": "ورک اسپیس کو حذف کریں۔", + "workspace.delete.confirm": 'ورک اسپیس "{{name}}" کو حذف کریں؟', + "workspace.delete.button": "ورک اسپیس کو حذف کریں۔", + "workspace.reset.title": "ورک اسپیس کو ری سیٹ کریں۔", + "workspace.reset.confirm": 'ورک اسپیس "{{name}}" کو ری سیٹ کریں؟', + "workspace.reset.button": "ورک اسپیس کو ری سیٹ کریں۔", + "workspace.reset.archived.none": "کوئی فعال سیشن آرکائیو نہیں کیا جائے گا۔", + "workspace.reset.archived.one": "1 سیشن آرکائیو کیا جائے گا۔", + "workspace.reset.archived.many": "{{count}} سیشنز آرکائیو کیے جائیں گے۔", + "workspace.reset.note": "یہ ڈیفالٹ برانچ سے ملنے کے لیے ورک اسپیس کو دوبارہ ترتیب دے گا۔", +} diff --git a/packages/app/src/i18n/uz.ts b/packages/app/src/i18n/uz.ts new file mode 100644 index 000000000000..8cb7097fc07a --- /dev/null +++ b/packages/app/src/i18n/uz.ts @@ -0,0 +1,1171 @@ +export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Fayl", + "desktop.menu.edit": "Tahrirlash", + "desktop.menu.view": "Ko'rish", + "desktop.menu.go": "Bor", + "desktop.menu.window": "Oyna", + "desktop.menu.help": "Yordam", + "desktop.menu.checkForUpdates": "Yangilanishlarni tekshiring...", + "desktop.menu.settings": "Sozlamalar", + "desktop.menu.reloadWebview": "Veb koʻrinishini qayta yuklash", + "desktop.menu.restart": "Qayta ishga tushirish", + "desktop.menu.exportLogs": "Jurnallarni eksport qilish...", + "desktop.menu.newSession": "Yangi sessiya", + "desktop.menu.openProject": "Loyihani ochish...", + "desktop.menu.newWindow": "Yangi oyna", + "desktop.menu.closeWindow": "Oynani yopish", + "desktop.menu.undo": "Bekor qilish", + "desktop.menu.redo": "Qayta qiling", + "desktop.menu.cut": "Kesish", + "desktop.menu.copy": "Nusxalash", + "desktop.menu.paste": "joylashtirish", + "desktop.menu.delete": "Oʻchirish", + "desktop.menu.selectAll": "Hammasini tanlang", + "desktop.menu.toggleSidebar": "Yon panelni almashtirish", + "desktop.menu.toggleTerminal": "Terminalni almashtirish", + "desktop.menu.toggleFileTree": "Fayl daraxtini almashtirish", + "desktop.menu.reload": "Qayta yuklash", + "desktop.menu.toggleDeveloperTools": "Dasturchi vositalarini almashtirish", + "desktop.menu.actualSize": "Haqiqiy o'lcham", + "desktop.menu.zoomIn": "Kattalashtirish", + "desktop.menu.zoomOut": "Kichraytirish", + "desktop.menu.toggleFullScreen": "Toʻliq ekran rejimiga oʻtish", + "desktop.menu.back": "Orqaga", + "desktop.menu.forward": "Oldinga", + "desktop.menu.previousSession": "Oldingi sessiya", + "desktop.menu.nextSession": "Keyingi sessiya", + "desktop.menu.previousProject": "Oldingi loyiha", + "desktop.menu.nextProject": "Keyingi loyiha", + "desktop.menu.minimize": "Minimallashtirish", + "desktop.menu.maximize": "Maksimallashtirish", + "desktop.menu.documentation": "OpenCode hujjatlari", + "desktop.menu.supportForum": "Qo'llab-quvvatlash forumi", + "desktop.menu.shareFeedback": "Fikr-mulohaza ulashing", + "desktop.menu.reportBug": "Xato haqida xabar berish", + "desktop.menu.ariaLabel": "OpenCode menyusi", + "desktop.updater.dialog.checkFailed.message": "Yangilanish tekshiruvi amalga oshmadi.", + "desktop.updater.dialog.checkFailed.title": "Yangilash xatosi", + "desktop.updater.dialog.upToDate.message": "Siz yangilangansiz.", + "desktop.updater.dialog.upToDate.title": "Yangilanishlar yoʻq", + "desktop.updater.dialog.ready.message": "{{version}} yangilanishi yuklab olindi. Hozir qayta ishga tushirilsinmi?", + "desktop.updater.dialog.ready.title": "Yangilanish tayyor", + "desktop.updater.dialog.restart": "Qayta ishga tushirish", + "desktop.updater.dialog.later": "Keyinchalik", + "desktop.recovery.action.relaunch": "Qayta ishga tushirish", + "desktop.recovery.action.exportLogs": "Jurnallarni eksport qilish", + "desktop.recovery.action.keepWaiting": "Kutishda davom eting", + "desktop.recovery.action.quit": "Chiqish", + "desktop.recovery.loadFailed": "OpenCode yuklanmadi", + "desktop.recovery.terminated": "OpenCode oynasi kutilmaganda tugatildi", + "desktop.recovery.unresponsive": "OpenCode javob bermayapti", + "desktop.recovery.unresponsive.detail": + "Siz ilovani qayta ishga tushirishingiz, jurnallarni ochishingiz yoki kutishda davom etishingiz mumkin.", + "desktop.recovery.loadFailed.detail": "Oyna: {{window}}\nURL: {{url}}\nXato: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Oyna: {{window}}\nSababi: {{reason}}\nKod: {{code}}", + "desktop.recovery.unknown": "", + "desktop.dialog.chooseFolder": "Jildni tanlang", + "desktop.dialog.chooseFile": "Faylni tanlang", + "desktop.dialog.saveFile": "Faylni saqlash", + "desktop.dialog.files": "Fayllar", + "desktop.server.local": "Mahalliy server", + "desktop.wsl.error.windowsOnly": "WSL faqat Windows da mavjud", + "desktop.wsl.error.unavailable": "WSL mavjud emas", + "desktop.wsl.error.listInstalled": "Oʻrnatilgan WSL distrolarini roʻyxatga kiritib boʻlmadi", + "desktop.wsl.error.listOnline": "Onlayn WSL distrolarini roʻyxatga kiritib boʻlmadi", + "desktop.wsl.error.executeDistro": "Distroda buyruqlarni bajarib bo'lmaydi", + "desktop.wsl.error.installWsl": "WSL oʻrnatilmadi", + "desktop.wsl.error.installDistro": "Distroni oʻrnatib boʻlmadi: {{distro}}", + "desktop.wsl.error.installOpencode": "OpenCode oʻrnatilmadi", + "desktop.wsl.error.alreadyAdded": "{{distro}} allaqachon qo'shilgan", + "desktop.wsl.error.opencodeMissing": "Opencode ushbu tarqatishda o'rnatilmagan", + "desktop.wsl.error.opencodeCannotRun": "opencode o'rnatilgan, lekin ishga tushirilmadi", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode {{distro}} da o'rnatilmagan", + "desktop.wsl.error.updateVersion": + "OpenCode yangilanishi tugallandi, lekin {{distro}} hali ham {{installed}} haqida xabar beradi; kutilgan {{expected}}", + "desktop.wsl.error.noVersion": "versiya yo'q", + "desktop.wsl.error.serverExited": "WSL server ishga tushirilgandan so'ng chiqdi (kod = {{code}} signal = {{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL serveri sog'lom bo'lgunga qadar chiqdi (kod={{code}} signali={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": + "{{distro}} sog'lig'ini tekshirish uchun yon mashina {{timeout}}ms dan keyin tugadi", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} {{timeout}}ms dan keyin vaqt tugadi", + "desktop.wsl.error.failedPort": "Port olinmadi", + "desktop.picker.error.notSelected": "Fayl tanlovchi tomonidan tanlanmagan", + "desktop.picker.error.sizeLimit": "Tanlangan biriktirmalar {{limit}} MB chegarasidan oshib ketadi", + "command.category.suggested": "Tavsiya etilgan", + "command.category.view": "Ko'rish", + "command.category.project": "Loyiha", + "command.category.provider": "Provayder", + "command.category.server": "Server", + "command.category.session": "Sessiya", + "command.category.theme": "Mavzu", + "command.category.language": "Til", + "command.category.file": "Fayl", + "command.category.context": "Kontekst", + "command.category.terminal": "Terminal", + "command.category.model": "Model", + "command.category.mcp": "MCP", + "command.category.agent": "Agent", + "command.category.permissions": "Ruxsatlar", + "command.category.workspace": "Ish maydoni", + "command.category.settings": "Sozlamalar", + "command.logs.export": "Jurnallarni eksport qilish", + "theme.scheme.system": "Tizim", + "theme.scheme.light": "Nur", + "theme.scheme.dark": "Qorong'i", + "command.sidebar.toggle": "Yon panelni almashtirish", + "command.project.open": "Ochiq loyiha", + "command.project.previous": "Oldingi loyiha", + "command.project.next": "Keyingi loyiha", + "command.project.index": "{{index}} loyihasiga o'tish", + "command.provider.connect": "Provayderga ulanish", + "command.server.switch": "Serverni almashtirish", + "command.settings.open": "Sozlamalarni oching", + "command.session.previous": "Oldingi sessiya", + "command.session.next": "Keyingi sessiya", + "command.session.previous.unseen": "Oldingi oʻqilmagan seans", + "command.session.next.unseen": "Keyingi oʻqilmagan seans", + "command.session.archive": "Arxiv seansi", + "command.palette": "Buyruqlar palitrasi", + "command.theme.cycle": "Keyingi mavzu", + "command.theme.set": "Mavzudan foydalaning: {{theme}}", + "command.theme.scheme.cycle": "Tsiklning rang sxemasi", + "command.theme.scheme.set": "Rang sxemasidan foydalaning: {{scheme}}", + "command.language.cycle": "Keyingi til", + "command.language.set": "Tildan foydalaning: {{language}}", + "command.session.new": "Yangi sessiya", + "command.file.open": "Faylni ochish", + "command.tab.close": "Tabni yoping", + "command.tab.reopenClosed": "Yopiq tabni qayta oching", + "command.context.addSelection": "Kontekstga tanlov qo'shing", + "command.context.addSelection.description": "Joriy fayldan tanlangan qatorlarni qo'shing", + "command.input.focus": "Fokus kiritish", + "command.terminal.toggle": "Terminalni almashtirish", + "command.fileTree.toggle": "Fayl daraxtini almashtirish", + "command.review.toggle": "Koʻrib chiqish", + "command.terminal.new": "Yangi terminal", + "command.terminal.new.description": "Yangi terminal yorlig'ini yarating", + "command.steps.toggle": "Qadamlarni almashtirish", + "command.steps.toggle.description": "Joriy xabar uchun qadamlarni ko'rsatish yoki yashirish", + "command.message.previous": "Oldingi xabar", + "command.message.previous.description": "Oldingi foydalanuvchi xabariga o'ting", + "command.message.next": "Keyingi xabar", + "command.message.next.description": "Keyingi foydalanuvchi xabariga o'ting", + "command.model.choose": "Modelni tanlang", + "command.model.choose.description": "Boshqa modelni tanlang", + "command.mcp.toggle": "MCPlarni almashtirish", + "command.mcp.toggle.description": "MCPlarni almashtirish", + "command.agent.cycle": "Keyingi agent", + "command.agent.cycle.description": "Keyingi agentga o'ting", + "command.agent.cycle.reverse": "Oldingi agent", + "command.agent.cycle.reverse.description": "Oldingi agentga o'tish", + "command.model.variant.cycle": "Keyingi fikrlash darajasi", + "command.model.variant.cycle.description": "Keyingi harakat darajasiga o'ting", + "command.prompt.mode.shell": "Shell", + "command.prompt.mode.normal": "Tezkor", + "command.permissions.autoaccept.enable": "Ruxsatlarni avtomatik qabul qilish", + "command.permissions.autoaccept.disable": "Ruxsatlarni avtomatik qabul qilishni to'xtating", + "command.workspace.toggle": "Ish joylarini almashtirish", + "command.workspace.toggle.description": "Yon panelda bir nechta ish joylarini yoqing yoki o'chiring", + "command.session.undo": "Bekor qilish", + "command.session.undo.description": "Oxirgi xabarni bekor qiling", + "command.session.redo": "Qayta qiling", + "command.session.redo.description": "Oxirgi bekor qilingan xabarni takrorlang", + "command.session.compact": "Yilni seans", + "command.session.compact.description": "Kontekst hajmini kamaytirish uchun sessiyani umumlashtiring", + "command.session.fork": "Xabardan vilka", + "command.session.fork.description": "Oldingi xabardan yangi seans yarating", + "command.session.share": "Seansni ulashish", + "command.session.share.description": "Ushbu seansni baham ko'ring va URL-ni vaqtinchalik xotiraga nusxalash", + "command.session.unshare": "Seansni ulashishni bekor qilish", + "command.session.unshare.description": "Ushbu seansni baham ko'rishni to'xtating", + "command.session.export": "Eksport seansi", + "command.session.export.description": "Toʻliq seans transkriptini JSON sifatida eksport qiling", + "palette.search.placeholder": "Fayllar, buyruqlar va seanslarni qidiring", + "palette.search.placeholder.home": "Qidiruv buyruqlar va seanslar", + "palette.empty": "Hech qanday natija topilmadi", + "palette.group.commands": "Buyruqlar", + "palette.group.files": "Fayllar", + "dialog.provider.search.placeholder": "Provayderlarni qidirish", + "dialog.provider.empty": "Hech qanday provayder topilmadi", + "dialog.provider.group.popular": "Mashhur", + "dialog.provider.group.other": "Boshqa", + "dialog.provider.custom.label": "Maxsus OpenAI-mos keladigan provayder", + "dialog.provider.tag.recommended": "Tavsiya etilgan", + "dialog.provider.opencode.note": "Tanlangan modellar, jumladan Claude, GPT, Gemini va boshqalar", + "dialog.provider.opencode.tagline": "Ishonchli optimallashtirilgan modellar", + "dialog.provider.opencodeGo.tagline": "Hamma uchun arzon obuna", + "dialog.provider.anthropic.note": "Claude modellariga, jumladan Pro va Maksga to'g'ridan-to'g'ri kirish", + "dialog.provider.copilot.note": "GitHub Copilot orqali kodlash yordami uchun AI modellari", + "dialog.provider.openai.note": "Tez, qobiliyatli umumiy AI vazifalari uchun GPT modellari", + "dialog.provider.google.note": "Tez, tuzilgan javoblar uchun Gemini modellari", + "dialog.provider.openrouter.note": "Barcha qo'llab-quvvatlanadigan modellarga bitta provayderdan kiring", + "dialog.provider.vercel.note": "Aqlli marshrutlash bilan AI modellariga yagona kirish", + "dialog.model.select.title": "Modelni tanlang", + "dialog.model.search.placeholder": "Modellarni qidirish", + "dialog.model.empty": "Model natijalari yo'q", + "dialog.model.manage": "Modellarni boshqarish", + "dialog.model.manage.description": "Model selektorida qaysi modellar ko'rinishini sozlang.", + "dialog.model.manage.provider.toggle": "Barcha {{provider}} modellarini almashtiring", + "dialog.model.unpaid.freeModels.title": "OpenCode tomonidan taqdim etilgan bepul modellar", + "dialog.model.unpaid.addMore.title": "Mashhur provayderlarning ko'proq modellarini qo'shing", + "dialog.model.unpaid.viewMoreProviders": "Yana 70 dan ortiq provayderlarni koʻring", + "dialog.provider.viewAll": "Ko'proq provayderlarni ko'rsatish", + "provider.connect.title": "{{provider}} ni ulang", + "provider.connect.title.anthropicProMax": "Claude Pro/Maks bilan tizimga kiring", + "provider.connect.selectMethod": "{{provider}} uchun kirish usulini tanlang.", + "provider.connect.method.apiKey": "API kaliti", + "provider.connect.method.browser": "Brauzer", + "provider.connect.method.headless": "Boshsiz", + "provider.connect.status.inProgress": "Avtorizatsiya davom etmoqda...", + "provider.connect.status.waiting": "Avtorizatsiya kutilmoqda...", + "provider.connect.status.failed": "Avtorizatsiya amalga oshmadi: {{error}}", + "provider.connect.apiKey.description": + "Hisobingizni ulash va OpenCode’da {{provider}} modellaridan foydalanish uchun {{provider}} API kalitini kiriting.", + "provider.connect.apiKey.label": "{{provider}} API kaliti", + "provider.connect.apiKey.placeholder": "API kaliti", + "provider.connect.apiKey.required": "API kaliti talab qilinadi", + "provider.connect.opencodeZen.line1": + "OpenCode Zen sizga kodlash agentlari uchun ishonchli optimallashtirilgan modellar to'plamiga kirish imkonini beradi.", + "provider.connect.opencodeZen.line2": + "Bitta API kaliti bilan siz Claude, GPT, Gemini, GLM va boshqalar kabi modellarga kirishingiz mumkin.", + "provider.connect.opencodeZen.visit.prefix": "Tashrif buyuring ", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": " API kalitingizni olish uchun.", + "provider.connect.oauth.code.visit.prefix": "Tashrif buyuring ", + "provider.connect.oauth.code.visit.link": "bu havola", + "provider.connect.oauth.code.visit.suffix": + " hisobingizni ulash va OpenCode da {{provider}} modellaridan foydalanish uchun avtorizatsiya kodingizni yig'ish.", + "provider.connect.oauth.code.label": "{{method}} avtorizatsiya kodi", + "provider.connect.oauth.code.placeholder": "Avtorizatsiya kodi", + "provider.connect.oauth.code.required": "Avtorizatsiya kodi talab qilinadi", + "provider.connect.oauth.code.invalid": "Avtorizatsiya kodi yaroqsiz", + "provider.connect.oauth.auto.visit.prefix": "Tashrif buyuring ", + "provider.connect.oauth.auto.visit.link": "bu havola", + "provider.connect.oauth.auto.visit.suffix": + " va hisobingizni ulash uchun quyidagi kodni kiriting va OpenCode da {{provider}} modellaridan foydalaning.", + "provider.connect.oauth.auto.confirmationCode": "Tasdiqlash kodi", + "provider.connect.toast.connected.title": "{{provider}} ulandi", + "provider.connect.toast.connected.description": "{{provider}} modellaridan endi foydalanish mumkin.", + "provider.custom.title": "Maxsus provayder", + "provider.custom.unavailable": "Ushbu serverda maxsus provayderlar mavjud emas", + "provider.custom.description.prefix": "OpenAI-mos keladigan provayderni sozlang. ga qarang ", + "provider.custom.description.link": "provayder konfiguratsiyasi hujjatlari", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "Provayder identifikatori", + "provider.custom.field.providerID.placeholder": "provayderim", + "provider.custom.field.providerID.description": "Kichik harflar, raqamlar, tire yoki pastki chiziq", + "provider.custom.field.name.label": "Ko'rsatilgan nom", + "provider.custom.field.name.placeholder": "Mening AI provayderim", + "provider.custom.field.baseURL.label": "Baza URL", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "API kaliti", + "provider.custom.field.apiKey.placeholder": "API kaliti", + "provider.custom.field.apiKey.description": + "Ixtiyoriy. Agar autentifikatsiyani sarlavhalar orqali boshqarsangiz, boʻsh qoldiring.", + "provider.custom.models.label": "Modellar", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "model identifikatori", + "provider.custom.models.name.label": "Ism", + "provider.custom.models.name.placeholder": "Ko'rsatilgan ism", + "provider.custom.models.remove": "Modelni olib tashlang", + "provider.custom.models.add": "Model qo'shing", + "provider.custom.headers.label": "Sarlavhalar (ixtiyoriy)", + "provider.custom.headers.key.label": "Sarlavha", + "provider.custom.headers.key.placeholder": "Sarlavha - nomi", + "provider.custom.headers.value.label": "Qiymat", + "provider.custom.headers.value.placeholder": "qiymat", + "provider.custom.headers.remove": "Sarlavhani olib tashlang", + "provider.custom.headers.add": "Sarlavha qo'shing", + "provider.custom.error.providerID.required": "Provayder identifikatori talab qilinadi", + "provider.custom.error.providerID.format": "Kichik harflar, raqamlar, tire yoki pastki chiziqdan foydalaning", + "provider.custom.error.providerID.exists": "Bu provayder identifikatori allaqachon mavjud", + "provider.custom.error.name.required": "Ko'rsatilgan nom talab qilinadi", + "provider.custom.error.baseURL.required": "URL bazasi talab qilinadi", + "provider.custom.error.baseURL.format": "http:// yoki https:// bilan boshlanishi kerak", + "provider.custom.error.required": "Majburiy", + "provider.custom.error.duplicate": "Dublikat", + "provider.disconnect.toast.disconnected.title": "{{provider}} uzildi", + "provider.disconnect.toast.disconnected.description": "{{provider}} modellari endi mavjud emas.", + "model.tag.free": "Bepul", + "model.tag.latest": "Oxirgi", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "matn", + "model.input.image": "tasvir", + "model.input.audio": "audio", + "model.input.video": "video", + "model.input.pdf": "pdf", + "model.tooltip.allows": "Ruxsat beradi: {{inputs}}", + "model.tooltip.context.label": "Kontekst", + "model.tooltip.inputs": "Kirishlar", + "model.tooltip.model": "Model", + "model.tooltip.provider": "Provayder", + "model.tooltip.reasoning": "Mulohaza yuritish", + "model.tooltip.reasoning.allowed": "Fikrlash imkonini beradi", + "model.tooltip.reasoning.none": "Mantiq yo'q", + "model.tooltip.context": "Kontekst chegarasi {{limit}}", + "common.search.placeholder": "Qidiruv", + "common.goBack": "Orqaga o'tish", + "common.goForward": "Oldinga harakatlanish", + "common.loading": "Yuklanmoqda", + "common.loading.ellipsis": "...", + "common.cancel": "Bekor qilish", + "common.clear": "Toza", + "common.open": "Ochiq", + "common.connect": "Ulanish", + "common.disconnect": "Ulanishni uzing", + "common.continue": "Davom eting", + "common.submit": "Yuborish", + "common.save": "Saqlash", + "common.saving": "Saqlanmoqda...", + "common.default": "Standart", + "common.attachment": "biriktirma", + "prompt.placeholder.shell": "Shell buyrug'ini kiriting... {{example}}", + "prompt.placeholder.normal": 'Har qanday narsani so\'rang... "{{example}}"', + "prompt.placeholder.simple": "Har qanday narsani so'rang ...", + "prompt.placeholder.summarizeComments": "Fikrlarni umumlashtiring…", + "prompt.placeholder.summarizeComment": "Fikrni umumlashtiring…", + "prompt.mode.shell": "Shell", + "prompt.mode.normal": "Tezkor", + "prompt.mode.shell.exit": "chiqish uchun esc", + "session.child.promptDisabled": "Subagent seanslarini so'rash mumkin emas.", + "session.child.backToParent": "Asosiy sessiyaga qaytish.", + "prompt.example.1": "Kod bazasida TODO ni tuzating", + "prompt.example.2": "Ushbu loyihaning texnologik to'plami nima?", + "prompt.example.3": "Buzilgan testlarni tuzatish", + "prompt.example.4": "Autentifikatsiya qanday ishlashini tushuntiring", + "prompt.example.5": "Xavfsizlik zaifliklarini toping va tuzating", + "prompt.example.6": "Foydalanuvchi xizmati uchun birlik testlarini qo'shing", + "prompt.example.7": "Ko'proq o'qilishi uchun ushbu funktsiyani qayta tahrirlang", + "prompt.example.8": "Bu xato nimani anglatadi?", + "prompt.example.9": "Bu muammoni tuzatishga yordam bering", + "prompt.example.10": "API hujjatlarini yarating", + "prompt.example.11": "Ma'lumotlar bazasi so'rovlarini optimallashtirish", + "prompt.example.12": "Kirish tekshiruvini qo'shing", + "prompt.example.13": "Yangi komponent yarating...", + "prompt.example.14": "Ushbu loyihani qanday tarqataman?", + "prompt.example.15": "Eng yaxshi amaliyotlar uchun mening kodimni ko'rib chiqing", + "prompt.example.16": "Ushbu funktsiyaga xatolarni qayta ishlashni qo'shing", + "prompt.example.17": "Ushbu regex naqshini tushuntiring", + "prompt.example.18": "Buni TypeScript-ga aylantiring", + "prompt.example.19": "Butun kod bazasida jurnalni qo'shing", + "prompt.example.20": "Qanday bog'liqliklar eskirgan?", + "prompt.example.21": "Migratsiya skriptini yozishga yordam bering", + "prompt.example.22": "Ushbu oxirgi nuqta uchun keshlashni amalga oshiring", + "prompt.example.23": "Ushbu ro'yxatga sahifalash qo'shing", + "prompt.example.24": "Buning uchun CLI buyrug'ini yarating...", + "prompt.example.25": "Atrof-muhit o'zgaruvchilari bu erda qanday ishlaydi?", + "prompt.popover.emptyResults": "Mos natijalar topilmadi", + "prompt.popover.emptyCommands": "Mos keladigan buyruqlar yo'q", + "prompt.dropzone.label": "Tasvirlar, PDF yoki matnli fayllarni bu yerga tashlang", + "prompt.dropzone.file.label": "@mention fayliga o'tkazing", + "prompt.slash.badge.custom": "odatiy", + "prompt.slash.badge.skill": "mahorat", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "faol", + "prompt.context.includeActiveFile": "Faol faylni qo'shing", + "prompt.context.removeActiveFile": "Kontekstdan faol faylni olib tashlang", + "prompt.context.removeFile": "Faylni kontekstdan olib tashlang", + "prompt.action.attachFile": "Fayllarni qo'shish", + "prompt.menu.addImagesAndFiles": "Fayllar va boshqalarni qo'shing", + "prompt.menu.imagesAndFiles": "Rasmlar va fayllar", + "prompt.menu.commands": "Buyruqlar", + "prompt.menu.context": "Kontekst", + "prompt.menu.shellCommand": "Shell buyrug'i", + "prompt.attachment.remove": "Qo'shimchani olib tashlang", + "prompt.action.send": "Yuborish", + "prompt.action.stop": "To'xtang", + "prompt.toast.pasteUnsupported.title": "Qoʻllab-quvvatlanmaydigan biriktirma", + "prompt.toast.pasteUnsupported.description": "Bu yerda faqat rasmlar, PDF yoki matnli fayllar biriktirilishi mumkin.", + "prompt.toast.attachmentDuplicate.title": "Bu fayl allaqachon yuklangan", + "prompt.toast.modelAgentRequired.title": "Agent va modelni tanlang", + "prompt.toast.modelAgentRequired.description": "So'rov yuborishdan oldin agent va modelni tanlang.", + "prompt.toast.worktreeCreateFailed.title": "Ish daraxtini yaratib boʻlmadi", + "prompt.toast.sessionCreateFailed.title": "Seans yaratib boʻlmadi", + "prompt.toast.shellSendFailed.title": "Shell buyrug'ini yuborib bo'lmadi", + "prompt.toast.commandSendFailed.title": "Buyruq yuborilmadi", + "prompt.toast.promptSendFailed.title": "Soʻrov yuborilmadi", + "prompt.toast.promptSendFailed.description": "Seansni olib boʻlmadi", + "dialog.mcp.title": "MCPlar", + "dialog.mcp.description": "{{enabled}}, {{total}} yoqilgan", + "dialog.mcp.empty": "Hech qanday MCP sozlanmagan", + "dialog.lsp.empty": "LSP'lar fayl turlaridan avtomatik ravishda aniqlanadi", + "dialog.plugins.empty": "opencode.json da sozlangan plaginlar", + "mcp.status.connected": "ulangan", + "mcp.status.failed": "muvaffaqiyatsiz", + "mcp.status.needs_auth": "avtorizatsiya kerak", + "mcp.status.disabled": "nogiron", + "mcp.auth.clickToAuthenticate": "Haqiqiylikni tekshirish uchun bosing", + "dialog.fork.empty": "Hech qanday xabar yo'q", + "dialog.directory.search.placeholder": "Jildlarni qidirish", + "dialog.directory.empty": "Hech qanday jild topilmadi", + "dialog.directory.action.selectFile": "Faylni tanlang", + "dialog.directory.action.selectFolder": "Jildni tanlang", + "dialog.directory.root": "Ildiz", + "dialog.directory.parent": "Ota-ona", + "dialog.directory.readError": "Bu jildni oʻqib boʻlmadi", + "app.server.unreachable": "{{server}} ga etib boʻlmadi", + "app.server.retrying": "Avtomatik qayta urinish...", + "app.server.otherServers": "Boshqa serverlar", + "dialog.server.title": "Serverlar", + "dialog.server.description": "Ushbu ilova qaysi OpenCode serveriga ulanishini almashtiring.", + "dialog.server.search.placeholder": "Serverlarni qidirish", + "dialog.server.empty": "Hozircha serverlar yoʻq", + "dialog.server.add.title": "Server qo'shish", + "dialog.server.add.url": "Server manzili", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "Serverga ulanib boʻlmadi", + "dialog.server.add.checking": "Tekshirilmoqda...", + "dialog.server.add.button": "Server qo'shish", + "dialog.server.add.name": "Server nomi (ixtiyoriy)", + "dialog.server.add.namePlaceholder": "Localhost", + "dialog.server.add.username": "Foydalanuvchi nomi (ixtiyoriy)", + "dialog.server.add.usernamePlaceholder": "foydalanuvchi nomi", + "dialog.server.add.password": "Parol (ixtiyoriy)", + "dialog.server.add.passwordPlaceholder": "parol", + "dialog.server.edit.title": "Serverni tahrirlash", + "dialog.server.default.title": "Standart server", + "dialog.server.default.description": + "Mahalliy serverni ishga tushirish oʻrniga ilova ishga tushganda ushbu serverga ulaning. Qayta ishga tushirishni talab qiladi.", + "dialog.server.default.none": "Hech qanday server tanlanmagan", + "dialog.server.default.set": "Joriy serverni standart sifatida o'rnating", + "dialog.server.default.clear": "Tozalash", + "dialog.server.action.remove": "Serverni olib tashlang", + "dialog.server.menu.edit": "Tahrirlash", + "dialog.server.menu.default": "Standart sifatida o'rnating", + "dialog.server.menu.defaultRemove": "Standartni olib tashlang", + "dialog.server.menu.delete": "Oʻchirish", + "dialog.server.current": "Joriy server", + "dialog.server.status.default": "Standart", + "wsl.server.add": "WSL serverini qo'shing", + "wsl.server.addShort": "WSL qo'shing", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "WSL serveri", + "wsl.server.retryStart": "Qaytadan boshlash", + "wsl.server.updating": "Yangilanmoqda...", + "wsl.onboarding.step.distro": "Distroni tanlang", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "WSL tekshirilmoqda...", + "wsl.onboarding.restartRequired": "WSL oʻrnatilishini tugatish uchun Windows qayta ishga tushirilishi kerak.", + "wsl.onboarding.ready": "WSL tayyor.", + "wsl.onboarding.required": "Davom etish uchun WSL talab qilinadi.", + "wsl.onboarding.checkingDistros": "Tarqatishlar tekshirilmoqda...", + "wsl.onboarding.installingDistro": "{{distro}} o'rnatilmoqda...", + "wsl.onboarding.checkingDistro": "{{distro}} tekshirilmoqda...", + "wsl.onboarding.listingDistros": "Tarqatishlar roʻyxati...", + "wsl.onboarding.distroReady": "{{distro}} tayyor.", + "wsl.onboarding.distroNotInstalled": "{{distro}} hali o'rnatilmagan.", + "wsl.onboarding.openDistroOnce": "Oʻrnatishni tugatish uchun {{distro}} ni bir marta oching.", + "wsl.onboarding.finishingDistro": "{{distro}} uchun sozlash tugallanmoqda.", + "wsl.onboarding.pickDistro": "Distroni tanlang yoki quyida o'rnating.", + "wsl.onboarding.checkingOpencode": "OpenCode tekshirilmoqda...", + "wsl.onboarding.checkingOpencodeIn": "OpenCode {{distro}} da tekshirilmoqda...", + "wsl.onboarding.updatingOpencode": "OpenCode yangilanmoqda...", + "wsl.onboarding.updatingOpencodeIn": "OpenCode {{distro}} da yangilanmoqda...", + "wsl.onboarding.updateOpencodeIn": "OpenCode-ni {{distro}}-da yangilang.", + "wsl.onboarding.updateOpencode": "OpenCode-ni yangilang", + "wsl.onboarding.opencodeReadyIn": "OpenCode {{distro}} da tayyor.", + "wsl.onboarding.opencodeReady": "OpenCode tayyor.", + "wsl.onboarding.installOpencodeIn": "OpenCode-ni {{distro}}-ga o'rnating.", + "wsl.onboarding.installOpencode": "OpenCode-ni o'rnating", + "wsl.onboarding.chooseDistroFirst": "Avval distroni tanlang.", + "wsl.onboarding.loadFailed": "WSL holatini yuklab boʻlmadi.", + "wsl.onboarding.loading": "Yuklanmoqda...", + "wsl.onboarding.installedDistros": "O'rnatilgan distroslar", + "wsl.onboarding.checkAgain": "Yana tekshiring", + "wsl.onboarding.distroStatus.ready": "Tayyor", + "wsl.onboarding.distroStatus.checking": "Tekshirilmoqda...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode o'rnatilmagan", + "wsl.onboarding.distroStatus.missingTools": "Bash, curl etishmayapti", + "wsl.onboarding.distroStatus.unsupported": "Qo'llab-quvvatlanmaydi · WSL 2 dan foydalaning", + "wsl.onboarding.needAnotherDistro": "Boshqa tarqatish kerakmi?", + "wsl.onboarding.needAnotherDistroHint": "WSL katalogidan Linux distributivini o'rnating", + "wsl.onboarding.wslNotInstalled.title": "WSL o'rnatilmagan", + "wsl.onboarding.wslNotInstalled.description": + "OpenCode WSL serverini qoʻshishdan oldin WSL (Linux uchun Windows quyi tizimi) talab qilinadi.", + "wsl.onboarding.wslUnavailable.title": "WSL mavjud emas", + "wsl.onboarding.wslUnavailable.description": "OpenCode WSL ni ushbu mashinada tasdiqlay olmadi.", + "wsl.onboarding.installWsl": "WSL-ni o'rnating", + "wsl.onboarding.windowsRestartRequired": + "WSL-ni o'rnatishni tugatish uchun Windows-ni qayta ishga tushiring, so'ngra OpenCode-ni qayta oching.", + "wsl.onboarding.next": "Keyingi", + "wsl.onboarding.refresh": "Yangilash", + "wsl.onboarding.allDistrosAdded": "Barcha o'rnatilgan tarqatishlar allaqachon qo'shilgan.", + "wsl.onboarding.noDistros": "Hali hech qanday tarqatish aniqlanmadi.", + "wsl.onboarding.install": "O'rnatish", + "wsl.onboarding.installing": "Oʻrnatilmoqda...", + "wsl.onboarding.installDistro": "Distroni o'rnating", + "wsl.onboarding.searchDistros": "Distroslarni qidirish", + "wsl.onboarding.wsl2Required": "WSL 2 talab qilinadi.", + "wsl.onboarding.toolsRequired": "Bu distroga bash va curl kerak.", + "wsl.onboarding.openTerminal": "Ochiq terminal", + "wsl.onboarding.path": "Yo'l: {{path}}", + "wsl.onboarding.notFound": "topilmadi", + "wsl.onboarding.version": "Versiya: {{version}}", + "wsl.onboarding.unknown": "noma'lum", + "wsl.onboarding.desktopVersion": "ish stoli {{version}}", + "wsl.onboarding.versionMismatch": "Oʻrnatilgan versiya ish stoli ilovasi versiyasiga mos kelmaydi.", + "wsl.onboarding.adding": "Qo'shilmoqda...", + "help.tabs.toast.ariaLabel": "Tablar bilan tanishtirish. Yorliqlar bilan ish va faol seanslaringizni tashkil qiling", + "help.tabs.toast.dismiss": "Yorliqlar ma'lumotlarini o'chirish", + "help.tabs.title": "Tablar bilan tanishtirish", + "help.tabs.description": "Yorliqlar bilan ish va faol seanslaringizni tashkil qiling", + "help.tabs.date": "14 iyul", + "help.tabs.introduction": "OpenCode Desktop endi yorliqlar atrofida qurilgan.", + "help.tabs.sessions": + "Yorliqda yangi seansni boshlang yoki loyihalaringizdan mavjud sessiyani oching. Yangi ishni boshlaganingizda yangi varaqni oching va ish tugagach, uni yoping.", + "help.tabs.organize": + "Bir nechta yorliqlarni ochiq saqlash sizning faol seanslaringizni tashkil qilishni osonlashtiradi. Yorliqlar nomlarini esda qolarli qilib o'zgartiring, agar siz ularni atrofingizda saqlamoqchi bo'lsangiz.", + "help.tabs.home": + "Siz barcha seanslaringiz va loyihalaringizni yangi Home ekranida topasiz. Seansni tanlash uni yorliqda ochadi.", + "help.tabs.persistence": "Ilovani qayta ochganingizda, yorliqlaringiz hali ham ochiq.", + "help.tabs.worktrees": + "Yangi dizayn hali Git Worktrees-ni qo'llab-quvvatlamaydi, u tez orada chiqadi. Shunday qilib, agar siz avvalgi tartibdan foydalanishni davom ettirmoqchi boʻlsangiz, Sozlamalar orqali tartiblar oʻrtasida almashishingiz mumkin. Shuni yodda tutingki, yangi tartib bir necha hafta ichida doimiy bo'ladi.", + "server.row.noUsername": "foydalanuvchi nomi yo'q", + "dialog.project.edit.title": "Loyihani tahrirlash", + "dialog.project.edit.name": "Ism", + "dialog.project.edit.icon": "Belgi", + "dialog.project.edit.icon.alt": "Loyiha belgisi", + "dialog.project.edit.icon.hint": "Rasmni bosing yoki torting", + "dialog.project.edit.icon.recommended": "Tavsiya etilgan: 128x128px", + "dialog.project.edit.color": "Rang", + "dialog.project.edit.color.select": "{{color}} rangini tanlang", + "dialog.project.edit.worktree.startup": "Ish maydonini ishga tushirish skripti", + "dialog.project.edit.worktree.startup.description": "Yangi ish maydoni (ishchi daraxt) yaratilgandan keyin ishlaydi.", + "dialog.project.edit.worktree.startup.placeholder": "masalan bun install", + "dialog.releaseNotes.action.getStarted": "Boshlash", + "dialog.releaseNotes.action.next": "Keyingi", + "dialog.releaseNotes.action.hideFuture": "Kelajakda bularni ko'rsatmang", + "dialog.releaseNotes.media.alt": "Chiqarishni oldindan ko'rish", + "context.breakdown.title": "Kontekstni taqsimlash", + "context.breakdown.note": + "Kirish belgilarining taxminiy taqsimoti. \"Boshqa\" asboblar ta'riflari va qo'shimcha xarajatlarni o'z ichiga oladi.", + "context.breakdown.system": "Tizim", + "context.breakdown.user": "Foydalanuvchi", + "context.breakdown.assistant": "Yordamchi", + "context.breakdown.tool": "Asbob qo'ng'iroqlari", + "context.breakdown.other": "Boshqa", + "context.systemPrompt.title": "Tizim so'rovi", + "context.rawMessages.title": "Xom xabarlar", + "context.export.session": "Eksport seansi", + "context.stats.session": "Sessiya", + "context.stats.messages": "Xabarlar", + "context.stats.provider": "Provayder", + "context.stats.model": "Model", + "context.stats.limit": "Kontekst chegarasi", + "context.stats.totalTokens": "Jami tokenlar", + "context.stats.usage": "Foydalanish", + "context.stats.inputTokens": "Kirish tokenlari", + "context.stats.outputTokens": "Chiqish tokenlari", + "context.stats.reasoningTokens": "Fikrlash belgilari", + "context.stats.cacheTokens": "Kesh tokenlari (o'qish/yozish)", + "context.stats.userMessages": "Foydalanuvchi xabarlari", + "context.stats.assistantMessages": "Yordamchi xabarlari", + "context.stats.totalCost": "Umumiy xarajat", + "context.stats.sessionCreated": "Sessiya yaratildi", + "context.stats.lastActivity": "Oxirgi faoliyat", + "context.usage.tokens": "Tokenlar", + "context.usage.usage": "Foydalanish", + "context.usage.cost": "Narxi", + "context.usage.clickToView": "Kontekstni ko'rish uchun bosing", + "context.usage.view": "Kontekstdan foydalanishni ko'rish", + "language.en": "Ingliz", + "language.zh": "shīngīshīn", + "language.zht": "línìnìnì", + "language.ko": "|", + "language.de": "nemis", + "language.es": "ispan", + "language.fr": "Fransiya", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "Polski", + "language.ru": "Russkiy", + "language.ar": "ạlʿrbyẗ", + "language.no": "Norsk", + "language.br": "Português (Braziliya)", + "language.bs": "Bosanski", + "language.uk": "Ukraínska", + "language.th": "ไทย", + "language.tr": "o'zbekcha", + "toast.language.title": "Til", + "toast.language.description": "{{language}} ga almashtirildi", + "toast.theme.title": "Mavzu almashtirildi", + "toast.scheme.title": "Rang sxemasi", + "toast.workspace.enabled.title": "Ish joylari yoqilgan", + "toast.workspace.enabled.description": "Endi yon panelda bir nechta ishchi daraxtlar ko'rsatilgan", + "toast.workspace.disabled.title": "Ish joylari oʻchirilgan", + "toast.workspace.disabled.description": "Yon panelda faqat asosiy ishchi daraxt ko'rsatilgan", + "toast.permissions.autoaccept.on.title": "Ruxsatlarni avtomatik qabul qilish", + "toast.permissions.autoaccept.on.description": "Ruxsat so'rovlari avtomatik ravishda tasdiqlanadi", + "toast.permissions.autoaccept.off.title": "Ruxsatlarni avtomatik qabul qilish toʻxtatildi", + "toast.permissions.autoaccept.off.description": "Ruxsat so'rovlari tasdiqlashni talab qiladi", + "toast.model.none.title": "Hech qanday model tanlanmagan", + "toast.model.none.description": "Ushbu seansni yakunlash uchun provayderni ulang", + "toast.file.loadFailed.title": "Faylni yuklab boʻlmadi", + "toast.file.listFailed.title": "Fayllarni roʻyxatga kiritib boʻlmadi", + "toast.context.noLineSelection.title": "Qator tanlovi yo'q", + "toast.context.noLineSelection.description": "Avval fayl yorlig'ida qator oralig'ini tanlang.", + "toast.session.share.copyFailed.title": "URLni vaqtinchalik xotiraga nusxalab boʻlmadi", + "toast.session.share.success.title": "Seans ulashildi", + "toast.session.share.success.description": "Buferga nusxalangan URL bilan baham ko'ring!", + "toast.session.share.failed.title": "Seansni ulashib boʻlmadi", + "toast.session.share.failed.description": "Seansni ulashishda xatolik yuz berdi", + "toast.session.unshare.success.title": "Seans ulashilmadi", + "toast.session.unshare.success.description": "Seans muvaffaqiyatli bekor qilindi!", + "toast.session.unshare.failed.title": "Seansni taqsimlab boʻlmadi", + "toast.session.unshare.failed.description": "Seansni taqsimlashda xatolik yuz berdi", + "toast.session.export.success.title": "Seans eksport qilindi", + "toast.session.export.success.description": "Seans {{filename}}ga saqlandi", + "toast.session.export.failed.title": "Seansni eksport qilib boʻlmadi", + "toast.session.export.failed.description": "Seansni eksport qilishda xatolik yuz berdi", + "toast.session.listFailed.title": "{{project}} uchun seanslar yuklanmadi", + "toast.project.reloadFailed.title": "{{project}} qayta yuklanmadi", + "toast.update.title": "Yangilanish mavjud", + "toast.update.description": "OpenCode ({{version}}) yangi versiyasi endi oʻrnatish mumkin.", + "toast.update.action.installRestart": "O'rnating va qayta ishga tushiring", + "toast.update.action.notYet": "Hali emas", + "error.page.title": "Nimadir xato ketdi", + "error.page.description": "Ilovani yuklashda xatolik yuz berdi.", + "error.page.description.localServerStartup": "Mahalliy serverni ishga tushirishda xatolik yuz berdi.", + "error.page.details.label": "Xato tafsilotlari", + "error.page.action.restart": "Qayta ishga tushirish", + "error.page.action.report": "Xato haqida xabar berish", + "error.page.action.reported": "Xato haqida xabar berildi", + "error.page.action.exportLogs": "Jurnallarni eksport qilish", + "error.page.action.checking": "Tekshirilmoqda...", + "error.page.action.checkUpdates": "Yangilanishlarni tekshiring", + "error.page.action.updateTo": "{{version}} ga yangilang", + "error.page.circular": "[Diraviy]", + "error.page.report.prefix": "Iltimos, ushbu xato haqida OpenCode jamoasiga xabar bering", + "error.page.report.discord": "Discord-da", + "error.page.version": "Versiya: {{version}}", + "error.dev.rootNotFound": + "Ildiz element topilmadi. Uni index.html-ga qo'shishni unutdingizmi? Yoki id atributi noto'g'ri yozilgandir?", + "error.serverSync.connectFailed": "Serverga ulanib boʻlmadi. `{{url}}` da ishlaydigan server bormi?", + "error.serverSDK.noServerAvailable": "Hech qanday server mavjud emas", + "error.serverSDK.serverNotAvailable": "Server mavjud emas", + "error.childStore.persistedCacheCreateFailed": "Doimiy kesh yaratib bo'lmadi", + "error.childStore.persistedProjectMetadataCreateFailed": "Doimiy loyiha metamaʼlumotlarini yaratib boʻlmadi", + "error.childStore.persistedProjectIconCreateFailed": "Doimiy loyiha belgisini yaratib boʻlmadi", + "error.childStore.storeCreateFailed": "Doʻkon yaratib boʻlmadi", + "directory.error.invalidUrl": "URL da noto'g'ri katalog.", + "error.chain.unknown": "Noma'lum xato", + "error.server.invalidConfiguration": "Yaroqsiz konfiguratsiya", + "error.chain.causedBy": "Sabab:", + "error.chain.apiError": "API xatosi", + "error.chain.status": "Holati: {{status}}", + "error.chain.retryable": "Qayta urinish mumkin: {{retryable}}", + "error.chain.responseBody": "Javob organi:\n{{body}}", + "error.chain.didYouMean": "Buni nazarda tutdingizmi: {{suggestions}}", + "error.chain.modelNotFound": "Model topilmadi: {{provider}}/{{model}}", + "error.chain.checkConfig": "Konfiguratsiya (opencode.json) provayder/model nomlarini tekshiring", + "error.chain.mcpFailed": + "MCP \"{{name}}\" serveri muvaffaqiyatsiz tugadi. E'tibor bering, OpenCode hali MCP autentifikatsiyasini qo'llab-quvvatlamaydi.", + "error.chain.providerAuthFailed": "Provayder autentifikatsiyasi amalga oshmadi ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + '"{{provider}}" provayderini ishga tushirib boʻlmadi. Hisob ma\'lumotlari va konfiguratsiyani tekshiring.', + "error.chain.configJsonInvalid": "{{path}} da konfiguratsiya fayli yaroqsiz JSON(C)", + "error.chain.configJsonInvalidWithMessage": "{{path}} da konfiguratsiya fayli yaroqsiz JSON(C): {{message}}", + "error.chain.configDirectoryTypo": + '{{path}} da "{{dir}}" katalogi yaroqsiz. Katalog nomini "{{suggestion}}" ga o\'zgartiring yoki uni olib tashlang. Bu keng tarqalgan yozuv xatosi.', + "error.chain.configFrontmatterError": "{{path}} da oldingi materialni tahlil qilib boʻlmadi:\n{{message}}", + "error.chain.configInvalid": "{{path}} da konfiguratsiya fayli yaroqsiz", + "error.chain.configInvalidWithMessage": "{{path}} da konfiguratsiya fayli notoʻgʻri: {{message}}", + "notification.permission.title": "Ruxsat talab qilinadi", + "notification.permission.description": "{{sessionTitle}} uchun {{projectName}} uchun ruxsat kerak", + "notification.question.title": "Savol", + "notification.question.description": "{{projectName}} da {{sessionTitle}} savol bor", + "notification.action.goToSession": "Seansga o'ting", + "notification.session.responseReady.title": "Javob tayyor", + "notification.session.error.title": "Seans xatosi", + "notification.session.error.fallbackDescription": "Xatolik yuz berdi", + "home.recentProjects": "So'nggi loyihalar", + "home.empty.title": "Yaqinda loyihalar yo'q", + "home.empty.description": "Mahalliy loyihani ochishdan boshlang", + "home.title": "Bosh sahifa", + "home.projects": "Loyihalar", + "home.project.add": "Loyiha qo'shish", + "home.recentlyClosed": "Yaqinda yopildi", + "home.server.collapse": "Server loyihalarini yig'ish", + "home.server.expand": "Server loyihalarini kengaytirish", + "home.sessions.search.placeholder": "Qidiruv seanslari", + "home.sessions.search.placeholder.scoped": "{{scope}} da seanslarni qidirish", + "home.sessions.search.sessions": "Seanslar", + "home.sessions.search.noResults": "{{query}} uchun seanslar topilmadi", + "home.sessions.empty": "Bu yerda hali hech narsa", + "home.sessions.empty.description": "Boshlash uchun sessiya yarating", + "home.sessions.group.today": "Bugun", + "home.sessions.group.yesterday": "Kecha", + "home.sessions.group.older": "Kattaroq", + "home.providerTip": + "Claude, GPT, Gemini va boshqalar kabi boshqa modellardan foydalanish uchun 75 dan ortiq provayderlarga ulaning.", + "session.tab.session": "Sessiya", + "session.tab.review": "Koʻrib chiqish", + "session.tab.context": "Kontekst", + "session.tab.unknown": "Noma'lum sessiya", + "session.panel.reviewAndFiles": "Ko'rib chiqish va fayllar", + "session.error.notFound": "Bu sessiya topilmadi", + "session.error.notFound.description": "Ushbu yorliq endi ushbu serverda mavjud bo'lmagan seansga ishora qiladi.", + "session.error.notFound.closeTab": "Tab ni yoping", + "session.error.serverConnection": "Bu serverga ulanib boʻlmadi", + "session.review.filesChanged": "Fayllar o'zgartirildi {{count}}", + "session.review.change.one": "O'zgartirish", + "session.review.change.other": "O'zgarishlar", + "session.review.loadingChanges": "Oʻzgarishlar yuklanmoqda...", + "session.review.empty": "Bu sessiyada hali oʻzgarishlar yoʻq", + "session.review.noVcs": "Git versiyasini boshqarish tizimi aniqlanmadi, o'zgarishlar ko'rsatilmadi", + "session.review.noVcs.createGit.title": "Git omborini yarating", + "session.review.noVcs.createGit.description": + "Ushbu loyihadagi oʻzgarishlarni kuzating, koʻrib chiqing va bekor qiling", + "session.review.noVcs.createGit.actionLoading": "Git ombori yaratilmoqda...", + "session.review.noVcs.createGit.action": "Git omborini yarating", + "session.review.noSnapshot": + "Snapshot kuzatish konfiguratsiyada oʻchirilgan, shuning uchun sessiya oʻzgarishlari mavjud emas", + "session.review.noChanges": "Oʻzgarishlar yoʻq", + "session.review.noUncommittedChanges": "Hali tasdiqlanmagan o'zgarishlar yo'q", + "session.review.noBranchChanges": "Hozircha filial o'zgarmadi", + "session.files.selectToOpen": "Ochish uchun faylni tanlang", + "session.files.all": "Barcha fayllar", + "session.files.empty": "Fayl yo'q", + "session.files.binaryContent": "Ikkilik fayl (tarkibni ko'rsatib bo'lmaydi)", + "session.messages.renderEarlier": "Oldingi xabarlarni ko'rsatish", + "session.messages.loadingEarlier": "Avvalgi xabarlar yuklanmoqda...", + "session.messages.loadEarlier": "Avvalgi xabarlarni yuklang", + "session.messages.loading": "Xabarlar yuklanmoqda...", + "session.messages.jumpToLatest": "Eng oxirgisiga oʻtish", + "session.context.addToContext": "Kontekstga {{selection}} qo'shing", + "session.todo.title": "Vazifalar", + "session.todo.collapse": "Yiqilish", + "session.todo.expand": "Kengaytirish", + "session.todo.progress": "{{done}} {{total}} todos yakunlandi", + "session.question.progress": "{{total}} savollarining {{current}}", + "session.question.minimize": "Savolni minimallashtirish", + "session.question.restore": "Savolni tiklash", + "session.question.pending.one": "{{count}} kutilayotgan savol", + "session.question.pending.other": "{{count}} kutilayotgan savollar", + "session.followupDock.summary.one": "{{count}} navbatdagi xabar", + "session.followupDock.summary.other": "{{count}} navbatdagi xabarlar", + "session.followupDock.sendNow": "Hozir yuboring", + "session.followupDock.edit": "Tahrirlash", + "session.followupDock.collapse": "Navbatdagi xabarlarni yig'ish", + "session.followupDock.expand": "Navbatdagi xabarlarni yoyish", + "session.revertDock.summary.one": "{{count}} xabarni orqaga qaytardi", + "session.revertDock.summary.other": "{{count}} xabarlarni orqaga qaytardi", + "session.revertDock.collapse": "Orqaga qaytarilgan xabarlarni yig'ish", + "session.revertDock.expand": "Orqaga qaytarilgan xabarlarni yoyish", + "session.revertDock.restore": "Xabarni tiklash", + "session.new.title": "Har qanday narsani qurish", + "session.new.project.new": "Yangi loyiha", + "session.new.project.search": "Loyihalarni qidirish", + "session.new.project.add": "Loyiha qo'shish", + "session.new.worktree.main": "Asosiy filial", + "session.new.worktree.mainWithBranch": "Asosiy filial ({{branch}})", + "session.new.worktree.create": "Yangi ishchi daraxt yarating", + "session.new.workspace.runIn": "Seansni ishga tushirish", + "session.new.workspace.triggerLocal": "Mahalliy", + "session.new.workspace.local": "Mahalliy ombor", + "session.new.workspace.existing": "Ish maydoni…", + "session.new.git.none": "Git yo'q", + "session.new.lastModified": "Oxirgi tahrirlangan", + "session.header.search.placeholder": "Qidiruv {{project}}", + "session.header.searchFiles": "Fayllarni qidirish", + "session.header.openIn": "Ochish", + "session.header.open.action": "{{app}}-ni oching", + "session.header.open.ariaLabel": "{{app}} da oching", + "session.header.open.menu": "Ochiq variantlar", + "session.header.open.copyPath": "Yo'lni nusxalash", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "Fayl kuzatuvchisi", + "session.header.open.fileManager": "Fayl menejeri", + "session.header.reveal.finder": "Finder da oshkor qiling", + "session.header.reveal.fileExplorer": "File Explorer da oshkor qiling", + "session.header.reveal.containingFolder": "O'z ichiga olgan jildni oching", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Terminal", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "Holat", + "status.popover.ariaLabel": "Server konfiguratsiyasi", + "status.popover.tab.servers": "Serverlar", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "Plaginlar", + "status.popover.action.manageServers": "Serverlarni boshqarish", + "session.share.popover.title": "Internetda nashr qilish", + "session.share.popover.description.shared": + "Bu seans internetda ochiq. U havolaga ega bo'lgan har bir kishi uchun ochiq.", + "session.share.popover.description.unshared": + "Seansni internetda hammaga ochiq baham ko'ring. U havolaga ega bo'lgan har bir kishi uchun ochiq bo'ladi.", + "session.share.action.share": "Ulashish", + "session.share.action.publish": "Nashr qilish", + "session.share.action.publishing": "Chop etilmoqda...", + "session.share.action.unpublish": "Nashrni bekor qilish", + "session.share.action.unpublishing": "Nashr bekor qilinmoqda...", + "session.share.action.view": "Ko'rish", + "session.share.copy.copied": "Koʻchirildi", + "session.share.copy.copyLink": "Havolani nusxalash", + "lsp.tooltip.none": "LSP serverlari yo'q", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "Tezkor yuklanmoqda...", + "terminal.loading": "Terminal yuklanmoqda...", + "terminal.title": "Terminal", + "terminal.title.numbered": "{{number}} terminali", + "terminal.close": "Terminalni yoping", + "terminal.connectionLost.title": "Ulanish uzildi", + "terminal.connectionLost.abnormalClose": "WebSocket anormal tarzda yopildi: {{code}}", + "terminal.connectionLost.description": + "Terminal aloqasi uzildi. Bu server qayta ishga tushirilganda sodir bo'lishi mumkin.", + "terminal.connectTicket.csrfError": + "PTY ulanish chiptasi kelib chiqishi yoki CSRF tekshiruvlari tomonidan rad etilgan. CORS server konfiguratsiyasini tekshiring.", + "terminal.connectTicket.statusError": "PTY ulanish chiptasi {{status}} bilan amalga oshmadi", + "titlebar.update": "Yangilash", + "titlebar.updateVersion": "{{version}}-ni yangilang", + "common.closeTab": "Tabni yoping", + "common.dismiss": "Rad etish", + "common.moreCountSuffix": " (+{{count}} ko'proq)", + "common.requestFailed": "Soʻrov bajarilmadi", + "common.moreOptions": "Boshqa variantlar", + "common.learnMore": "Batafsil maʼlumot", + "common.rename": "Nomini o'zgartirish", + "common.export": "Eksport", + "common.reset": "Qayta tiklash", + "common.archive": "Arxiv", + "common.delete": "Oʻchirish", + "common.close": "Yopish", + "common.edit": "Tahrirlash", + "common.loadMore": "Ko'proq yuklash", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Space", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "noma'lum", + "common.time.justNow": "Hozir", + "common.time.minutesAgo.short": "{{count}}m oldin", + "common.time.hoursAgo.short": "{{count}}h oldin", + "common.time.daysAgo.short": "{{count}}d oldin", + "sidebar.menu.toggle": "Menyuni almashtirish", + "sidebar.nav.projectsAndSessions": "Loyihalar va sessiyalar", + "sidebar.settings": "Sozlamalar", + "sidebar.help": "Yordam", + "sidebar.workspaces.enable": "Ish joylarini yoqish", + "sidebar.workspaces.disable": "Ish joylarini o'chirib qo'ying", + "sidebar.gettingStarted.title": "Boshlanmoqda", + "sidebar.gettingStarted.line1": + "OpenCode bepul modellarni o'z ichiga oladi, shuning uchun siz darhol boshlashingiz mumkin.", + "sidebar.gettingStarted.line2": + "Modellardan foydalanish uchun har qanday provayderni ulang, inc. Claude, GPT, Gemini va boshqalar.", + "sidebar.project.recentSessions": "Oxirgi sessiyalar", + "sidebar.project.viewAllSessions": "Barcha seanslarni ko'rish", + "sidebar.project.clearNotifications": "Bildirishnomalarni tozalash", + "sidebar.empty.title": "Hech qanday loyiha ochiq emas", + "sidebar.empty.description": "Boshlash uchun loyihani oching", + "debugBar.ariaLabel": "Rivojlanish samaradorligi diagnostikasi", + "debugBar.na": "yo'q", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "Seans sahifasiga tegib oxirgi tugallangan marshrutga o'tish, marshrutizator boshlanishidan boshlab u o'rnatgandan keyingi birinchi bo'yoqgacha o'lchanadi.", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "Oxirgi 5 soniya ichida sekundiga aylanayotgan kadrlar.", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "Oxirgi 5 soniya ichida eng yomon kadr vaqti.", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "Oxirgi 5 soniyada 32 ms dan ortiq kadrlar.", + "debugBar.long.label": "LONG", + "debugBar.long.tip": "Bloklangan vaqt va oxirgi 5 soniyadagi uzoq topshiriqlar soni. Maksimal vazifa: {{max}}.", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "Oxirgi 5 soniya ichida kuzatilgan eng yomon kiritish kechikishi.", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": + "Oxirgi 5 soniya davomida o'zaro ta'sir qilishning taxminiy davomiyligi. Bu INP-ga o'xshaydi, rasmiy Web Vitals INP emas.", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "Joriy ilovaning ishlash muddati uchun joylashuvning umumiy siljishi.", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "Ishlatilgan JS to'plami va to'p chegarasi. Faqat Chromium.", + "debugBar.mem.tip": "Ishlatilgan JS to'plami va to'p chegarasi. {{used}}, {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Fokus uslublarini barcha interaktiv elementlarga majburlash", + "debugBar.focus.on": "ON", + "debugBar.focus.off": "OFF", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Tanlangan tilni oʻzgartirmasdan ilovaning toʻliq joylashuvi yoʻnalishini majburlang", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode Desktop", + "settings.section.desktop": "Ish stoli", + "settings.section.server": "Server", + "settings.tab.general": "Umumiy", + "settings.tab.shortcuts": "Yorliqlar", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "WSL integratsiyasi", + "settings.desktop.wsl.description": "Windows da WSL ichidagi OpenCode serverini ishga tushiring.", + "settings.general.section.appearance": "Tashqi ko'rinish", + "settings.general.section.advanced": "Murakkab", + "settings.general.section.notifications": "Tizim bildirishnomalari", + "settings.general.section.updates": "Yangilanishlar", + "settings.general.section.sounds": "Ovoz effektlari", + "settings.general.section.feed": "Oziqlantirish", + "settings.general.section.display": "Displey", + "settings.general.row.language.title": "Til", + "settings.general.row.language.description": "OpenCode uchun ekran tilini o'zgartiring", + "settings.general.row.shell.title": "Terminal qobig'i", + "settings.general.row.shell.description": "Terminal va agent vositalari tomonidan ishlatiladigan qobiq", + "settings.general.row.shell.autoDefault": "Avtomatik (standart)", + "settings.general.row.shell.terminalOnly": "faqat terminal", + "settings.general.row.appearance.title": "Tashqi ko'rinish", + "settings.general.row.appearance.description": "OpenCode qurilmangizda qanday koʻrinishini sozlang", + "settings.general.row.colorScheme.title": "Rang sxemasi", + "settings.general.row.colorScheme.description": + "OpenCode tizimga, yorugʻlik yoki qorongʻi mavzuga amal qilishini tanlang", + "settings.general.row.theme.title": "Mavzu", + "settings.general.row.theme.description": "OpenCode mavzusini sozlash.", + "settings.general.row.font.title": "Kod shrifti", + "settings.general.row.font.description": "Kod bloklarida ishlatiladigan shriftni moslashtiring", + "settings.general.row.terminalFont.title": "Terminal shrifti", + "settings.general.row.terminalFont.description": "Terminalda ishlatiladigan shriftni sozlang", + "settings.general.row.uiFont.title": "UI shrifti", + "settings.general.row.uiFont.description": "Interfeys davomida ishlatiladigan shriftni moslashtiring", + "settings.general.row.followup.title": "Kuzatuv xatti-harakati", + "settings.general.row.followup.description": + "Kuzatuv soʻrovlari darhol boshqarilishini yoki navbatda kutishini tanlang", + "settings.general.row.followup.option.queue": "Navbat", + "settings.general.row.followup.option.steer": "Boshqarmoq", + "settings.general.row.showFileTree.title": "Fayl daraxti", + "settings.general.row.showFileTree.description": "Seanslarda fayl daraxti panelini ko'rsatish", + "settings.general.row.showNavigation.title": "Navigatsiya boshqaruvlari", + "settings.general.row.showNavigation.description": + "Ish stolining sarlavha satrida orqaga va oldinga tugmalarini ko'rsating", + "settings.general.row.showSearch.title": "Buyruqlar palitrasi", + "settings.general.row.showSearch.description": + "Sarlavha satrida qidirish va buyruqlar palitrasi tugmasini ko'rsating", + "settings.general.row.showTerminal.title": "Terminal", + "settings.general.row.showTerminal.description": "Ish stolining sarlavha satrida terminal tugmachasini ko'rsating", + "settings.general.row.showStatus.title": "Server holati", + "settings.general.row.showStatus.description": "Sarlavha satrida server holati tugmasini ko'rsating", + "settings.general.row.mobileTitlebarBottom.title": "Pastki navigatsiya", + "settings.general.row.mobileTitlebarBottom.description": + "Sarlavha satrini va seans yorliqlarini mobil telefonda ekranning pastki qismiga joylashtiring", + "settings.general.row.showCustomAgents.title": "Agentni ko'rsatish", + "settings.general.row.showCustomAgents.description": + "Kompozitorda agentlar o'rtasida almashish. Yashirin bo'lsa, birlamchi Build agenti bo'ladi.", + "settings.general.row.reasoningSummaries.title": "Fikrlash xulosalarini ko'rsating", + "settings.general.row.reasoningSummaries.description": "Vaqt jadvalida model asoslarini ko'rsatish", + "settings.general.row.shellToolPartsExpanded.title": "Qobiq asboblari qismlarini kengaytiring", + "settings.general.row.shellToolPartsExpanded.description": + "Xronologiyada sukut bo'yicha kengaytirilgan qobiq asboblari qismlarini ko'rsatish", + "settings.general.row.editToolPartsExpanded.title": "Tahrirlash vositasi qismlarini kengaytiring", + "settings.general.row.editToolPartsExpanded.description": + "Vaqt jadvalida sukut boʻyicha kengaytirilgan tahrirlash, yozish va tuzatish vositalari qismlarini koʻrsatish", + "settings.general.row.newInterface.title": "Yangi tartib", + "settings.general.row.newInterface.badge": "Yangi", + "settings.general.row.newInterface.description": + "Yangi yorliqlar va uy tartibidan foydalaning. Cheklangan vaqt uchun tartiblar o'rtasida almashinish.", + "settings.general.row.newInterfaceNotice.title": "Siz hozir yangi tartibdan foydalanmoqdasiz", + "settings.general.row.newInterfaceNotice.description": "Oldingi tartib endi mavjud emas", + "settings.general.row.newInterfaceNotice.dismiss": "Rad etish", + "settings.general.row.pinchZoom.title": "Kattalashtirish uchun chimchilang", + "settings.general.row.pinchZoom.description": + "Kattalashtirish uchun trekpadni chimchilash va Ctrl-aylantirish imo-ishoralariga ruxsat bering", + "settings.general.row.wayland.title": "Mahalliy Wayland dan foydalaning", + "settings.general.row.wayland.description": + "Wayland da X11 zaxirasini o'chirib qo'ying. Qayta ishga tushirishni talab qiladi.", + "settings.general.row.wayland.tooltip": + "Aralashtirilgan yangilanish tezligi monitorlari bilan Linux da mahalliy Wayland barqarorroq bo'lishi mumkin.", + "settings.general.row.releaseNotes.title": "Chiqarish qaydlari", + "settings.general.row.releaseNotes.description": + "Yangilanishlardan so'ng nimalar yangi qalqib chiquvchi oynalarni ko'rsating", + "settings.updates.row.startup.title": "Ishga tushganda yangilanishlarni tekshiring", + "settings.updates.row.startup.description": "OpenCode ishga tushganda avtomatik ravishda yangilanishlarni tekshiring", + "settings.updates.row.check.title": "Yangilanishlarni tekshiring", + "settings.updates.row.check.description": "Yangilanishlarni qo'lda tekshiring va mavjud bo'lsa o'rnating", + "settings.updates.action.checkNow": "Hozir tekshiring", + "settings.updates.action.checking": "Tekshirilmoqda...", + "settings.updates.action.downloading": "Yuklab olinmoqda...", + "settings.updates.action.installing": "Oʻrnatilmoqda...", + "settings.updates.toast.latest.title": "Siz yangilangansiz", + "settings.updates.toast.latest.description": "Siz OpenCode oxirgi versiyasini ishga tushiryapsiz.", + "sound.option.none": "Yo'q", + "sound.option.alert01": "Ogohlantirish 01", + "sound.option.alert02": "Ogohlantirish 02", + "sound.option.alert03": "Ogohlantirish 03", + "sound.option.alert04": "Ogohlantirish 04", + "sound.option.alert05": "Ogohlantirish 05", + "sound.option.alert06": "Ogohlantirish 06", + "sound.option.alert07": "Ogohlantirish 07", + "sound.option.alert08": "Ogohlantirish 08", + "sound.option.alert09": "Ogohlantirish 09", + "sound.option.alert10": "Ogohlantirish 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "Yo'q 01", + "sound.option.nope02": "Yo'q 02", + "sound.option.nope03": "Yo'q 03", + "sound.option.nope04": "Yo'q 04", + "sound.option.nope05": "Yo'q 05", + "sound.option.nope06": "Yo'q 06", + "sound.option.nope07": "Yo'q 07", + "sound.option.nope08": "Yo'q 08", + "sound.option.nope09": "Yo'q 09", + "sound.option.nope10": "Yo'q 10", + "sound.option.nope11": "Yo'q 11", + "sound.option.nope12": "Yo'q 12", + "sound.option.yup01": "Ha 01", + "sound.option.yup02": "Ha 02", + "sound.option.yup03": "Ha 03", + "sound.option.yup04": "Ha 04", + "sound.option.yup05": "Ha 05", + "sound.option.yup06": "Ha 06", + "settings.general.notifications.agent.title": "Agent", + "settings.general.notifications.agent.description": + "Agent tugallanganda yoki unga e'tibor kerak bo'lganda tizim bildirishnomasini ko'rsatish", + "settings.general.notifications.permissions.title": "Ruxsatlar", + "settings.general.notifications.permissions.description": "Ruxsat kerak bo'lganda tizim bildirishnomasini ko'rsatish", + "settings.general.notifications.errors.title": "Xatolar", + "settings.general.notifications.errors.description": "Xatolik yuz berganda tizim bildirishnomasini ko'rsatish", + "settings.general.sounds.agent.title": "Agent", + "settings.general.sounds.agent.description": "Agent tugallanganda yoki e'tiborga muhtoj bo'lganida ovozni ijro eting", + "settings.general.sounds.permissions.title": "Ruxsatlar", + "settings.general.sounds.permissions.description": "Ruxsat kerak bo'lganda ovozni ijro etish", + "settings.general.sounds.errors.title": "Xatolar", + "settings.general.sounds.errors.description": "Xatolik yuz berganda ovozni ijro eting", + "settings.shortcuts.title": "Klaviatura yorliqlari", + "settings.shortcuts.reset.button": "Standart sozlamalarni tiklash", + "settings.shortcuts.reset.toast.title": "Yorliqlar qayta tiklandi", + "settings.shortcuts.reset.toast.description": "Klaviatura yorliqlari standart sozlamalarga qaytarildi.", + "settings.shortcuts.conflict.title": "Yorliq allaqachon ishlatilmoqda", + "settings.shortcuts.conflict.description": "{{keybind}} allaqachon {{titles}} ga tayinlangan.", + "settings.shortcuts.unassigned": "Tayinlanmagan", + "settings.shortcuts.pressKeys": "Tugmalarni bosing", + "settings.shortcuts.search.placeholder": "Yorliqlarni qidirish", + "settings.shortcuts.search.empty": "Hech qanday yorliq topilmadi", + "settings.shortcuts.group.general": "Umumiy", + "settings.shortcuts.group.session": "Sessiya", + "settings.shortcuts.group.navigation": "Navigatsiya", + "settings.shortcuts.group.modelAndAgent": "Model va agent", + "settings.shortcuts.group.terminal": "Terminal", + "settings.shortcuts.group.prompt": "Tezkor", + "settings.providers.title": "Provayderlar", + "settings.providers.description": "Bu yerda provayder sozlamalari sozlanishi mumkin.", + "settings.providers.section.connected": "Ulangan provayderlar", + "settings.providers.connected.empty": "Ulangan provayderlar yo'q", + "settings.providers.connected.environmentDescription": "Atrof-muhit o'zgaruvchilaringizdan ulangan", + "settings.providers.section.popular": "Mashhur provayderlar", + "settings.providers.custom.description": "URL bazasi bo'yicha OpenAI-mos provayderni qo'shing.", + "settings.providers.tag.environment": "Atrof-muhit", + "settings.providers.tag.config": "Konfiguratsiya", + "settings.providers.tag.custom": "Maxsus", + "settings.providers.tag.other": "Boshqa", + "settings.models.title": "Modellar", + "settings.models.description": "Model sozlamalari bu erda sozlanishi mumkin.", + "settings.agents.title": "Agentlar", + "settings.agents.description": "Bu yerda agent sozlamalari sozlanishi mumkin.", + "settings.commands.title": "Buyruqlar", + "settings.commands.description": "Buyruq sozlamalari bu yerda sozlanishi mumkin.", + "settings.mcp.title": "MCP", + "settings.mcp.description": "MCP sozlamalari bu yerda sozlanishi mumkin.", + "settings.permissions.title": "Ruxsatlar", + "settings.permissions.description": "Server sukut bo'yicha qanday vositalardan foydalanishi mumkinligini boshqaring.", + "settings.permissions.section.tools": "Asboblar", + "settings.permissions.toast.updateFailed.title": "Ruxsatlarni yangilab boʻlmadi", + "settings.permissions.action.allow": "Ruxsat bering", + "settings.permissions.action.ask": "So'rang", + "settings.permissions.action.deny": "Rad etish", + "settings.permissions.tool.read.title": "O'qing", + "settings.permissions.tool.read.description": "Faylni o'qish (fayl yo'liga mos keladi)", + "settings.permissions.tool.edit.title": "Tahrirlash", + "settings.permissions.tool.edit.description": "Fayllarni o'zgartirish, jumladan tahrirlash, yozish va tuzatishlar", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "Glob naqshlari yordamida fayllarni moslashtiring", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "Oddiy iboralar yordamida fayl tarkibini qidiring", + "settings.permissions.tool.list.title": "Roʻyxat", + "settings.permissions.tool.list.description": "Katalog ichidagi fayllarni ro'yxatlash", + "settings.permissions.tool.bash.title": "Bash", + "settings.permissions.tool.bash.description": "Shell buyruqlarini ishga tushiring", + "settings.permissions.tool.task.title": "Vazifa", + "settings.permissions.tool.task.description": "Sub-agentlarni ishga tushiring", + "settings.permissions.tool.skill.title": "Malaka", + "settings.permissions.tool.skill.description": "Nomi bo'yicha mahorat yuklang", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "Til serveri so'rovlarini ishga tushirish", + "settings.permissions.tool.todowrite.title": "Todo Write", + "settings.permissions.tool.todowrite.description": "Ishlar ro'yxatini yangilang", + "settings.permissions.tool.webfetch.title": "Web Fetch", + "settings.permissions.tool.webfetch.description": "URL dan kontentni olish", + "settings.permissions.tool.websearch.title": "Veb-qidiruv", + "settings.permissions.tool.websearch.description": "Internetda qidiring", + "settings.permissions.tool.external_directory.title": "Tashqi katalog", + "settings.permissions.tool.external_directory.description": "Loyiha katalogidan tashqaridagi fayllarga kirish", + "settings.permissions.tool.doom_loop.title": "Doom Loop", + "settings.permissions.tool.doom_loop.description": + "Bir xil kirish bilan takrorlangan asboblar qo'ng'iroqlarini aniqlang", + "session.delete.failed.title": "Seansni oʻchirib boʻlmadi", + "session.delete.title": "Seansni o'chirish", + "session.delete.confirm": '"{{name}}" seansi o‘chirilsinmi?', + "session.delete.button": "Seansni o'chirish", + "workspace.new": "Yangi ish maydoni", + "workspace.type.local": "mahalliy", + "workspace.type.sandbox": "qum qutisi", + "workspace.create.failed.title": "Ish maydoni yaratib boʻlmadi", + "workspace.delete.failed.title": "Ish joyini oʻchirib boʻlmadi", + "workspace.resetting.title": "Ish joyini tiklash", + "workspace.resetting.description": "Bu bir daqiqa vaqt olishi mumkin.", + "workspace.reset.failed.title": "Ish joyini qayta oʻrnatib boʻlmadi", + "workspace.reset.success.title": "Ish joyini tiklash", + "workspace.reset.success.description": "Ish maydoni endi standart filialga mos keladi.", + "workspace.error.stillPreparing": "Ish maydoni hali ham tayyorlanmoqda", + "workspace.status.checking": "Birlashtirilmagan o'zgarishlar tekshirilmoqda...", + "workspace.status.error": "Git holatini tekshirib boʻlmadi.", + "workspace.status.clean": "Birlashtirilmagan o'zgarishlar aniqlanmadi.", + "workspace.status.dirty": "Ushbu ish maydonida birlashtirilmagan o'zgarishlar aniqlandi.", + "workspace.delete.title": "Ish maydonini o'chirish", + "workspace.delete.confirm": '"{{name}}" ish maydoni o‘chirilsinmi?', + "workspace.delete.button": "Ish maydonini o'chirish", + "workspace.reset.title": "Ish joyini tiklash", + "workspace.reset.confirm": '"{{name}}" ish maydoni qayta tiklansinmi?', + "workspace.reset.button": "Ish joyini tiklash", + "workspace.reset.archived.none": "Hech qanday faol seans arxivlanmaydi.", + "workspace.reset.archived.one": "1 seans arxivlanadi.", + "workspace.reset.archived.many": "{{count}} seanslari arxivlanadi.", + "workspace.reset.note": "Bu standart filialga mos keladigan ish maydonini tiklaydi.", + "dialog.usageExceeded.dontShowAgain": "Boshqa ko‘rsatma", +} diff --git a/packages/app/src/i18n/vi.ts b/packages/app/src/i18n/vi.ts new file mode 100644 index 000000000000..06fda4ce707c --- /dev/null +++ b/packages/app/src/i18n/vi.ts @@ -0,0 +1,1169 @@ +export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "Tệp", + "desktop.menu.edit": "Chỉnh sửa", + "desktop.menu.view": "Xem", + "desktop.menu.go": "Đi", + "desktop.menu.window": "Cửa sổ", + "desktop.menu.help": "Trợ giúp", + "desktop.menu.checkForUpdates": "Kiểm tra bản cập nhật...", + "desktop.menu.settings": "Cài đặt", + "desktop.menu.reloadWebview": "Tải lại Webview", + "desktop.menu.restart": "Khởi động lại", + "desktop.menu.exportLogs": "Xuất nhật ký...", + "desktop.menu.newSession": "Phiên mới", + "desktop.menu.openProject": "Mở dự án...", + "desktop.menu.newWindow": "Cửa sổ mới", + "desktop.menu.closeWindow": "Đóng cửa sổ", + "desktop.menu.undo": "Hoàn tác", + "desktop.menu.redo": "Làm lại", + "desktop.menu.cut": "Cắt", + "desktop.menu.copy": "Sao chép", + "desktop.menu.paste": "Dán", + "desktop.menu.delete": "Xóa", + "desktop.menu.selectAll": "Chọn tất cả", + "desktop.menu.toggleSidebar": "Bật/tắt thanh bên", + "desktop.menu.toggleTerminal": "Bật/tắt terminal", + "desktop.menu.toggleFileTree": "Bật/tắt cây tệp", + "desktop.menu.reload": "Tải lại", + "desktop.menu.toggleDeveloperTools": "Bật/tắt công cụ dành cho nhà phát triển", + "desktop.menu.actualSize": "Kích thước thực", + "desktop.menu.zoomIn": "Phóng to", + "desktop.menu.zoomOut": "Thu nhỏ", + "desktop.menu.toggleFullScreen": "Bật/tắt toàn màn hình", + "desktop.menu.back": "Quay lại", + "desktop.menu.forward": "Tiến tới", + "desktop.menu.previousSession": "Phiên trước", + "desktop.menu.nextSession": "Phiên tiếp theo", + "desktop.menu.previousProject": "Dự án trước", + "desktop.menu.nextProject": "Dự án tiếp theo", + "desktop.menu.minimize": "Thu nhỏ", + "desktop.menu.maximize": "Phóng to", + "desktop.menu.documentation": "Tài liệu OpenCode", + "desktop.menu.supportForum": "Diễn đàn hỗ trợ", + "desktop.menu.shareFeedback": "Chia sẻ phản hồi", + "desktop.menu.reportBug": "Báo cáo lỗi", + "desktop.menu.ariaLabel": "Menu OpenCode", + + "desktop.updater.dialog.checkFailed.message": "Không kiểm tra được bản cập nhật.", + "desktop.updater.dialog.checkFailed.title": "Lỗi cập nhật", + "desktop.updater.dialog.upToDate.message": "Bạn đang dùng phiên bản mới nhất.", + "desktop.updater.dialog.upToDate.title": "Không có bản cập nhật", + "desktop.updater.dialog.ready.message": "Đã tải xuống bản cập nhật {{version}}. Khởi động lại ngay?", + "desktop.updater.dialog.ready.title": "Bản cập nhật đã sẵn sàng", + "desktop.updater.dialog.restart": "Khởi động lại", + "desktop.updater.dialog.later": "Để sau", + + "desktop.recovery.action.relaunch": "Khởi chạy lại", + "desktop.recovery.action.exportLogs": "Xuất nhật ký", + "desktop.recovery.action.keepWaiting": "Tiếp tục chờ", + "desktop.recovery.action.quit": "Thoát", + "desktop.recovery.loadFailed": "Không tải được OpenCode", + "desktop.recovery.terminated": "Cửa sổ OpenCode đã bị đóng đột ngột", + "desktop.recovery.unresponsive": "OpenCode không phản hồi", + "desktop.recovery.unresponsive.detail": "Bạn có thể khởi chạy lại ứng dụng, mở nhật ký hoặc tiếp tục chờ.", + "desktop.recovery.loadFailed.detail": "Cửa sổ: {{window}}\nURL: {{url}}\nLỗi: {{code}} {{description}}", + "desktop.recovery.terminated.detail": "Cửa sổ: {{window}}\nLý do: {{reason}}\nMã: {{code}}", + "desktop.recovery.unknown": "", + + "desktop.dialog.chooseFolder": "Chọn thư mục", + "desktop.dialog.chooseFile": "Chọn tệp", + "desktop.dialog.saveFile": "Lưu tệp", + "desktop.dialog.files": "Tệp", + "desktop.server.local": "Máy chủ cục bộ", + + "desktop.wsl.error.windowsOnly": "WSL chỉ khả dụng trên Windows", + "desktop.wsl.error.unavailable": "WSL không khả dụng", + "desktop.wsl.error.listInstalled": "Không liệt kê được các bản phân phối WSL đã cài đặt", + "desktop.wsl.error.listOnline": "Không liệt kê được các bản phân phối WSL trực tuyến", + "desktop.wsl.error.executeDistro": "Không thể thực thi lệnh trong bản phân phối", + "desktop.wsl.error.installWsl": "Không cài đặt được WSL", + "desktop.wsl.error.installDistro": "Không cài đặt được bản phân phối: {{distro}}", + "desktop.wsl.error.installOpencode": "Không cài đặt được OpenCode", + "desktop.wsl.error.alreadyAdded": "{{distro}} đã được thêm", + "desktop.wsl.error.opencodeMissing": "opencode chưa được cài đặt trong bản phân phối này", + "desktop.wsl.error.opencodeCannotRun": "opencode đã được cài đặt nhưng không thể chạy", + "desktop.wsl.error.opencodeNotInstalled": "OpenCode chưa được cài đặt trong {{distro}}", + "desktop.wsl.error.updateVersion": + "Đã cập nhật OpenCode nhưng {{distro}} vẫn báo phiên bản {{installed}}; phiên bản dự kiến là {{expected}}", + "desktop.wsl.error.noVersion": "không có phiên bản", + "desktop.wsl.error.serverExited": "Máy chủ WSL đã thoát sau khi khởi động (mã={{code}} tín hiệu={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "Máy chủ WSL đã thoát trước khi sẵn sàng (mã={{code}} tín hiệu={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": + "Sidecar kiểm tra tình trạng của {{distro}} đã hết thời gian chờ sau {{timeout}}ms", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} đã hết thời gian chờ sau {{timeout}}ms", + "desktop.wsl.error.failedPort": "Không lấy được cổng", + + "desktop.picker.error.notSelected": "Không có tệp nào được chọn trong bộ chọn tệp", + "desktop.picker.error.sizeLimit": "Các tệp đính kèm đã chọn vượt quá giới hạn {{limit}} MB", + + "command.category.suggested": "Đề xuất", + "command.category.view": "Xem", + "command.category.project": "Dự án", + "command.category.provider": "Nhà cung cấp", + "command.category.server": "Máy chủ", + "command.category.session": "Phiên", + "command.category.theme": "Chủ đề", + "command.category.language": "Ngôn ngữ", + "command.category.file": "Tệp", + "command.category.context": "Ngữ cảnh", + "command.category.terminal": "Terminal", + "command.category.model": "Mô hình", + "command.category.mcp": "MCP", + "command.category.agent": "Tác nhân", + "command.category.permissions": "Quyền", + "command.category.workspace": "Không gian làm việc", + "command.category.settings": "Cài đặt", + "command.logs.export": "Xuất nhật ký", + "theme.scheme.system": "Hệ thống", + "theme.scheme.light": "Sáng", + "theme.scheme.dark": "Tối", + "command.sidebar.toggle": "Bật/tắt thanh bên", + "command.project.open": "Mở dự án", + "command.project.previous": "Dự án trước đó", + "command.project.next": "Dự án tiếp theo", + "command.project.index": "Chuyển sang dự án {{index}}", + "command.provider.connect": "Kết nối nhà cung cấp", + "command.server.switch": "Chuyển máy chủ", + "command.settings.open": "Mở cài đặt", + "command.session.previous": "Phiên trước", + "command.session.next": "Phiên tiếp theo", + "command.session.previous.unseen": "Phiên chưa đọc trước đó", + "command.session.next.unseen": "Phiên chưa đọc tiếp theo", + "command.session.archive": "Lưu trữ phiên", + "command.palette": "Bảng lệnh", + "command.theme.cycle": "Chuyển chủ đề", + "command.theme.set": "Sử dụng chủ đề: {{theme}}", + "command.theme.scheme.cycle": "Chuyển chế độ màu", + "command.theme.scheme.set": "Sử dụng bảng màu: {{scheme}}", + "command.language.cycle": "Chuyển ngôn ngữ", + "command.language.set": "Sử dụng ngôn ngữ: {{language}}", + "command.session.new": "Phiên mới", + "command.file.open": "Mở tệp", + "command.tab.close": "Đóng tab", + "command.tab.reopenClosed": "Mở lại tab đã đóng", + "command.context.addSelection": "Thêm lựa chọn vào ngữ cảnh", + "command.context.addSelection.description": "Thêm các dòng đã chọn từ tệp hiện tại", + "command.input.focus": "Tập trung vào ô nhập", + "command.terminal.toggle": "Bật/tắt terminal", + "command.fileTree.toggle": "Bật/tắt cây tệp", + "command.review.toggle": "Bật/tắt phần xem lại", + "command.terminal.new": "Terminal mới", + "command.terminal.new.description": "Tạo một tab terminal mới", + "command.steps.toggle": "Bật/tắt các bước", + "command.steps.toggle.description": "Hiển thị hoặc ẩn các bước cho tin nhắn hiện tại", + "command.message.previous": "Tin nhắn trước đó", + "command.message.previous.description": "Đi tới tin nhắn người dùng trước đó", + "command.message.next": "Tin nhắn tiếp theo", + "command.message.next.description": "Chuyển tới tin nhắn người dùng tiếp theo", + "command.model.choose": "Chọn mô hình", + "command.model.choose.description": "Chọn một mô hình khác", + "command.mcp.toggle": "Bật/tắt MCP", + "command.mcp.toggle.description": "Bật hoặc tắt MCP", + "command.agent.cycle": "Chuyển tác nhân", + "command.agent.cycle.description": "Chuyển sang tác nhân tiếp theo", + "command.agent.cycle.reverse": "Chuyển tác nhân theo chiều ngược", + "command.agent.cycle.reverse.description": "Chuyển sang tác nhân trước đó", + "command.model.variant.cycle": "Chuyển mức độ suy luận", + "command.model.variant.cycle.description": "Chuyển sang mức nỗ lực tiếp theo", + "command.prompt.mode.shell": "Shell", + "command.prompt.mode.normal": "Lời nhắc", + "command.permissions.autoaccept.enable": "Tự động chấp nhận quyền", + "command.permissions.autoaccept.disable": "Dừng tự động chấp nhận quyền", + "command.workspace.toggle": "Bật/tắt không gian làm việc", + "command.workspace.toggle.description": "Bật hoặc tắt nhiều không gian làm việc trong thanh bên", + "command.session.undo": "Hoàn tác", + "command.session.undo.description": "Hoàn tác tin nhắn cuối cùng", + "command.session.redo": "Làm lại", + "command.session.redo.description": "Làm lại tin nhắn đã hoàn tác gần đây nhất", + "command.session.compact": "Nén phiên", + "command.session.compact.description": "Tóm tắt phiên để giảm kích thước ngữ cảnh", + "command.session.fork": "Tách nhánh từ tin nhắn", + "command.session.fork.description": "Tạo phiên mới từ tin nhắn trước đó", + "command.session.share": "Chia sẻ phiên", + "command.session.share.description": "Chia sẻ phiên này và sao chép URL vào bảng tạm", + "command.session.unshare": "Ngừng chia sẻ phiên", + "command.session.unshare.description": "Dừng chia sẻ phiên này", + "command.session.export": "Xuất phiên", + "command.session.export.description": "Xuất toàn bộ bản ghi phiên dưới dạng JSON", + + "palette.search.placeholder": "Tìm kiếm tệp, lệnh và phiên", + "palette.search.placeholder.home": "Tìm kiếm lệnh và phiên", + "palette.empty": "Không tìm thấy kết quả nào", + "palette.group.commands": "Lệnh", + "palette.group.files": "Tệp", + "dialog.provider.search.placeholder": "Tìm kiếm nhà cung cấp", + "dialog.provider.empty": "Không tìm thấy nhà cung cấp nào", + "dialog.provider.group.popular": "Phổ biến", + "dialog.provider.group.other": "Khác", + "dialog.provider.custom.label": "Nhà cung cấp tương thích OpenAI tùy chỉnh", + "dialog.provider.tag.recommended": "Đề xuất", + "dialog.provider.opencode.note": "Các mô hình được tuyển chọn, gồm Claude, GPT, Gemini và nhiều mô hình khác", + "dialog.provider.opencode.tagline": "Các mô hình tối ưu hóa đáng tin cậy", + "dialog.provider.opencodeGo.tagline": "Đăng ký chi phí thấp cho mọi người", + "dialog.provider.anthropic.note": "Truy cập trực tiếp các mô hình Claude, bao gồm Pro và Max", + "dialog.provider.copilot.note": "Các mô hình AI hỗ trợ lập trình qua GitHub Copilot", + "dialog.provider.openai.note": "Các mô hình GPT nhanh và mạnh mẽ cho tác vụ AI đa dụng", + "dialog.provider.google.note": "Các mô hình Gemini cho phản hồi nhanh, có cấu trúc", + "dialog.provider.openrouter.note": "Truy cập tất cả các mô hình được hỗ trợ từ một nhà cung cấp", + "dialog.provider.vercel.note": "Truy cập thống nhất vào các mô hình AI với tính năng định tuyến thông minh", + "dialog.model.select.title": "Chọn mô hình", + "dialog.model.search.placeholder": "Tìm kiếm mô hình", + "dialog.model.empty": "Không có kết quả mô hình", + "dialog.model.manage": "Quản lý mô hình", + "dialog.model.manage.description": "Tùy chỉnh mô hình nào xuất hiện trong bộ chọn mô hình.", + "dialog.model.manage.provider.toggle": "Bật/tắt tất cả mô hình {{provider}}", + "dialog.model.unpaid.freeModels.title": "Các mô hình miễn phí do OpenCode cung cấp", + "dialog.model.unpaid.addMore.title": "Thêm nhiều mô hình từ các nhà cung cấp phổ biến", + "dialog.model.unpaid.viewMoreProviders": "Xem hơn 70 nhà cung cấp khác", + "dialog.provider.viewAll": "Hiển thị thêm nhà cung cấp", + "provider.connect.title": "Kết nối {{provider}}", + "provider.connect.title.anthropicProMax": "Đăng nhập bằng Claude Pro/Max", + "provider.connect.selectMethod": "Chọn phương thức đăng nhập cho {{provider}}.", + "provider.connect.method.apiKey": "Khóa API", + "provider.connect.method.browser": "Trình duyệt", + "provider.connect.method.headless": "Không có giao diện người dùng", + "provider.connect.status.inProgress": "Đang ủy quyền...", + "provider.connect.status.waiting": "Đang chờ ủy quyền...", + "provider.connect.status.failed": "Ủy quyền thất bại: {{error}}", + "provider.connect.apiKey.description": + "Nhập khóa API {{provider}} để kết nối tài khoản và sử dụng các mô hình {{provider}} trong OpenCode.", + "provider.connect.apiKey.label": "Khóa API {{provider}}", + "provider.connect.apiKey.placeholder": "khóa API", + "provider.connect.apiKey.required": "Cần có khóa API", + "provider.connect.opencodeZen.line1": + "OpenCode Zen cho phép bạn truy cập một bộ mô hình được tuyển chọn, tối ưu hóa và đáng tin cậy dành cho tác nhân lập trình.", + "provider.connect.opencodeZen.line2": + "Chỉ với một khóa API, bạn sẽ có quyền truy cập vào các mô hình như Claude, GPT, Gemini, GLM và hơn thế nữa.", + "provider.connect.opencodeZen.visit.prefix": "Truy cập ", + "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", + "provider.connect.opencodeZen.visit.suffix": " để lấy khóa API của bạn.", + "provider.connect.oauth.code.visit.prefix": "Truy cập ", + "provider.connect.oauth.code.visit.link": "liên kết này", + "provider.connect.oauth.code.visit.suffix": + " để lấy mã ủy quyền, kết nối tài khoản và sử dụng các mô hình {{provider}} trong OpenCode.", + "provider.connect.oauth.code.label": "Mã ủy quyền {{method}}", + "provider.connect.oauth.code.placeholder": "Mã ủy quyền", + "provider.connect.oauth.code.required": "Cần có mã ủy quyền", + "provider.connect.oauth.code.invalid": "Mã ủy quyền không hợp lệ", + "provider.connect.oauth.auto.visit.prefix": "Truy cập ", + "provider.connect.oauth.auto.visit.link": "liên kết này", + "provider.connect.oauth.auto.visit.suffix": + " và nhập mã bên dưới để kết nối tài khoản của bạn và sử dụng các mô hình {{provider}} trong OpenCode.", + "provider.connect.oauth.auto.confirmationCode": "Mã xác nhận", + "provider.connect.toast.connected.title": "{{provider}} đã kết nối", + "provider.connect.toast.connected.description": "Các mô hình {{provider}} hiện đã sẵn sàng để sử dụng.", + "provider.custom.title": "Nhà cung cấp tùy chỉnh", + "provider.custom.unavailable": "Nhà cung cấp tùy chỉnh không khả dụng trên máy chủ này", + "provider.custom.description.prefix": "Định cấu hình nhà cung cấp tương thích OpenAI. Xem ", + "provider.custom.description.link": "tài liệu cấu hình nhà cung cấp", + "provider.custom.description.suffix": ".", + "provider.custom.field.providerID.label": "ID nhà cung cấp", + "provider.custom.field.providerID.placeholder": "myprovider", + "provider.custom.field.providerID.description": "Chữ thường, số, dấu gạch nối hoặc dấu gạch dưới", + "provider.custom.field.name.label": "Tên hiển thị", + "provider.custom.field.name.placeholder": "Nhà cung cấp AI của tôi", + "provider.custom.field.baseURL.label": "URL cơ sở", + "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", + "provider.custom.field.apiKey.label": "Khóa API", + "provider.custom.field.apiKey.placeholder": "khóa API", + "provider.custom.field.apiKey.description": "Không bắt buộc. Để trống nếu bạn quản lý xác thực thông qua tiêu đề.", + "provider.custom.models.label": "Mô hình", + "provider.custom.models.id.label": "ID", + "provider.custom.models.id.placeholder": "model-id", + "provider.custom.models.name.label": "Tên", + "provider.custom.models.name.placeholder": "Tên hiển thị", + "provider.custom.models.remove": "Xóa mô hình", + "provider.custom.models.add": "Thêm mô hình", + "provider.custom.headers.label": "Header (tùy chọn)", + "provider.custom.headers.key.label": "Header", + "provider.custom.headers.key.placeholder": "Header-Name", + "provider.custom.headers.value.label": "Giá trị", + "provider.custom.headers.value.placeholder": "giá trị", + "provider.custom.headers.remove": "Xóa header", + "provider.custom.headers.add": "Thêm header", + "provider.custom.error.providerID.required": "Bắt buộc phải có ID nhà cung cấp", + "provider.custom.error.providerID.format": "Sử dụng chữ cái viết thường, số, dấu gạch nối hoặc dấu gạch dưới", + "provider.custom.error.providerID.exists": "ID nhà cung cấp này đã tồn tại", + "provider.custom.error.name.required": "Tên hiển thị là bắt buộc", + "provider.custom.error.baseURL.required": "Bắt buộc phải có URL cơ sở", + "provider.custom.error.baseURL.format": "Phải bắt đầu bằng http:// hoặc https://", + "provider.custom.error.required": "Bắt buộc", + "provider.custom.error.duplicate": "Trùng lặp", + "provider.disconnect.toast.disconnected.title": "{{provider}} bị ngắt kết nối", + "provider.disconnect.toast.disconnected.description": "Các mô hình {{provider}} không còn khả dụng.", + "model.tag.free": "Miễn phí", + "model.tag.latest": "Mới nhất", + "model.provider.anthropic": "Anthropic", + "model.provider.openai": "OpenAI", + "model.provider.google": "Google", + "model.provider.xai": "xAI", + "model.provider.meta": "Meta", + "model.input.text": "văn bản", + "model.input.image": "hình ảnh", + "model.input.audio": "âm thanh", + "model.input.video": "video", + "model.input.pdf": "pdf", + "model.tooltip.allows": "Cho phép: {{inputs}}", + "model.tooltip.context.label": "Ngữ cảnh", + "model.tooltip.inputs": "Đầu vào", + "model.tooltip.model": "Mô hình", + "model.tooltip.provider": "Nhà cung cấp", + "model.tooltip.reasoning": "Lý luận", + "model.tooltip.reasoning.allowed": "Cho phép suy luận", + "model.tooltip.reasoning.none": "Không hỗ trợ suy luận", + "model.tooltip.context": "Giới hạn ngữ cảnh {{limit}}", + "common.search.placeholder": "Tìm kiếm", + "common.goBack": "Quay lại", + "common.goForward": "Tiến tới", + "common.loading": "Đang tải", + "common.loading.ellipsis": "...", + "common.cancel": "Hủy", + "common.clear": "Xóa", + "common.open": "Mở", + "common.connect": "Kết nối", + "common.disconnect": "Ngắt kết nối", + "common.continue": "Tiếp tục", + "common.submit": "Gửi", + "common.save": "Lưu", + "common.saving": "Đang lưu...", + "common.default": "Mặc định", + "common.attachment": "tệp đính kèm", + "prompt.placeholder.shell": "Nhập lệnh shell... {{example}}", + "prompt.placeholder.normal": 'Hỏi bất cứ điều gì... "{{example}}"', + "prompt.placeholder.simple": "Hỏi bất cứ điều gì...", + "prompt.placeholder.summarizeComments": "Tóm tắt các bình luận…", + "prompt.placeholder.summarizeComment": "Tóm tắt bình luận…", + "prompt.mode.shell": "Shell", + "prompt.mode.normal": "Lời nhắc", + "prompt.mode.shell.exit": "esc để thoát", + "session.child.promptDisabled": "Không thể gửi lời nhắc trong phiên tác nhân phụ.", + "session.child.backToParent": "Quay lại phiên chính.", + "prompt.example.1": "Sửa TODO trong cơ sở mã", + "prompt.example.2": "Ngăn xếp công nghệ của dự án này là gì?", + "prompt.example.3": "Sửa các bài kiểm tra bị hỏng", + "prompt.example.4": "Giải thích cách xác thực hoạt động", + "prompt.example.5": "Tìm và sửa các lỗ hổng bảo mật", + "prompt.example.6": "Thêm bài kiểm tra đơn vị cho dịch vụ người dùng", + "prompt.example.7": "Tái cấu trúc hàm này để dễ đọc hơn", + "prompt.example.8": "Lỗi này có nghĩa là gì?", + "prompt.example.9": "Giúp tôi gỡ lỗi vấn đề này", + "prompt.example.10": "Tạo tài liệu API", + "prompt.example.11": "Tối ưu hóa truy vấn cơ sở dữ liệu", + "prompt.example.12": "Thêm xác thực đầu vào", + "prompt.example.13": "Tạo một thành phần mới cho...", + "prompt.example.14": "Làm cách nào để triển khai dự án này?", + "prompt.example.15": "Xem lại mã của tôi để biết các phương pháp hay nhất", + "prompt.example.16": "Thêm xử lý lỗi vào hàm này", + "prompt.example.17": "Giải thích mẫu biểu thức chính quy này", + "prompt.example.18": "Chuyển đổi cái này thành TypeScript", + "prompt.example.19": "Thêm ghi nhật ký trong toàn bộ cơ sở mã", + "prompt.example.20": "Những phụ thuộc nào đã lỗi thời?", + "prompt.example.21": "Giúp tôi viết kịch bản di chuyển", + "prompt.example.22": "Triển khai bộ nhớ đệm cho điểm cuối này", + "prompt.example.23": "Thêm phân trang vào danh sách này", + "prompt.example.24": "Tạo lệnh CLI cho...", + "prompt.example.25": "Các biến môi trường hoạt động như thế nào ở đây?", + "prompt.popover.emptyResults": "Không có kết quả phù hợp", + "prompt.popover.emptyCommands": "Không có lệnh phù hợp", + "prompt.dropzone.label": "Thả hình ảnh, tệp PDF hoặc tệp văn bản vào đây", + "prompt.dropzone.file.label": "Thả để @mention tệp", + "prompt.slash.badge.custom": "tùy chỉnh", + "prompt.slash.badge.skill": "kỹ năng", + "prompt.slash.badge.mcp": "mcp", + "prompt.context.active": "hiện hoạt", + "prompt.context.includeActiveFile": "Bao gồm tệp hiện hoạt", + "prompt.context.removeActiveFile": "Xóa tệp hiện hoạt khỏi ngữ cảnh", + "prompt.context.removeFile": "Xóa tệp khỏi ngữ cảnh", + "prompt.action.attachFile": "Thêm tệp", + "prompt.menu.addImagesAndFiles": "Thêm tệp và nội dung khác", + "prompt.menu.imagesAndFiles": "Hình ảnh và tệp", + "prompt.menu.commands": "Lệnh", + "prompt.menu.context": "Ngữ cảnh", + "prompt.menu.shellCommand": "Lệnh shell", + "prompt.attachment.remove": "Xóa tệp đính kèm", + "prompt.action.send": "Gửi", + "prompt.action.stop": "Dừng", + "prompt.toast.pasteUnsupported.title": "Tệp đính kèm không được hỗ trợ", + "prompt.toast.pasteUnsupported.description": "Chỉ có thể đính kèm hình ảnh, tệp PDF hoặc tệp văn bản ở đây.", + "prompt.toast.attachmentDuplicate.title": "Tệp này đã được tải lên", + "prompt.toast.modelAgentRequired.title": "Chọn tác nhân và mô hình", + "prompt.toast.modelAgentRequired.description": "Chọn một tác nhân và mô hình trước khi gửi lời nhắc.", + "prompt.toast.worktreeCreateFailed.title": "Không tạo được worktree", + "prompt.toast.sessionCreateFailed.title": "Không tạo được phiên", + "prompt.toast.shellSendFailed.title": "Không gửi được lệnh shell", + "prompt.toast.commandSendFailed.title": "Không gửi được lệnh", + "prompt.toast.promptSendFailed.title": "Không gửi được lời nhắc", + "prompt.toast.promptSendFailed.description": "Không thể truy xuất phiên", + "dialog.mcp.title": "MCP", + "dialog.mcp.description": "{{enabled}} trong số {{total}} đã bật", + "dialog.mcp.empty": "Không có MCP nào được định cấu hình", + "dialog.lsp.empty": "LSP được tự động phát hiện từ các loại tệp", + "dialog.plugins.empty": "Các plugin được định cấu hình trong opencode.json", + "mcp.status.connected": "đã kết nối", + "mcp.status.failed": "thất bại", + "mcp.status.needs_auth": "cần xác thực", + "mcp.status.disabled": "đã tắt", + "mcp.auth.clickToAuthenticate": "Bấm để xác thực", + "dialog.fork.empty": "Không có tin nhắn nào để phân nhánh", + "dialog.directory.search.placeholder": "Tìm kiếm thư mục", + "dialog.directory.empty": "Không tìm thấy thư mục nào", + "dialog.directory.action.selectFile": "Chọn tệp", + "dialog.directory.action.selectFolder": "Chọn thư mục", + "dialog.directory.root": "Gốc", + "dialog.directory.parent": "Thư mục mẹ", + "dialog.directory.readError": "Không thể đọc thư mục này", + "app.server.unreachable": "Không thể đạt tới {{server}}", + "app.server.retrying": "Đang tự động thử lại...", + "app.server.otherServers": "Máy chủ khác", + "dialog.server.title": "Máy chủ", + "dialog.server.description": "Chuyển máy chủ OpenCode mà ứng dụng này kết nối tới.", + "dialog.server.search.placeholder": "Tìm kiếm máy chủ", + "dialog.server.empty": "Chưa có máy chủ", + "dialog.server.add.title": "Thêm máy chủ", + "dialog.server.add.url": "Địa chỉ máy chủ", + "dialog.server.add.placeholder": "http://localhost:4096", + "dialog.server.add.error": "Không thể kết nối với máy chủ", + "dialog.server.add.checking": "Đang kiểm tra...", + "dialog.server.add.button": "Thêm máy chủ", + "dialog.server.add.name": "Tên máy chủ (tùy chọn)", + "dialog.server.add.namePlaceholder": "Máy chủ cục bộ", + "dialog.server.add.username": "Tên người dùng (tùy chọn)", + "dialog.server.add.usernamePlaceholder": "tên người dùng", + "dialog.server.add.password": "Mật khẩu (tùy chọn)", + "dialog.server.add.passwordPlaceholder": "mật khẩu", + "dialog.server.edit.title": "Chỉnh sửa máy chủ", + "dialog.server.default.title": "Máy chủ mặc định", + "dialog.server.default.description": + "Kết nối với máy chủ này khi khởi chạy ứng dụng thay vì khởi động máy chủ cục bộ. Yêu cầu khởi động lại.", + "dialog.server.default.none": "Không có máy chủ nào được chọn", + "dialog.server.default.set": "Đặt máy chủ hiện tại làm mặc định", + "dialog.server.default.clear": "Xóa", + "dialog.server.action.remove": "Xóa máy chủ", + "dialog.server.menu.edit": "Chỉnh sửa", + "dialog.server.menu.default": "Đặt làm mặc định", + "dialog.server.menu.defaultRemove": "Xóa mặc định", + "dialog.server.menu.delete": "Xóa", + "dialog.server.current": "Máy chủ hiện tại", + "dialog.server.status.default": "Mặc định", + "wsl.server.add": "Thêm máy chủ WSL", + "wsl.server.addShort": "Thêm WSL", + "wsl.server.label": "WSL", + "wsl.server.menu.label": "Máy chủ WSL", + "wsl.server.retryStart": "Thử khởi động lại", + "wsl.server.updating": "Đang cập nhật...", + "wsl.onboarding.step.distro": "Chọn bản phân phối", + "wsl.onboarding.step.opencode": "OpenCode", + "wsl.onboarding.checkingRuntime": "Đang kiểm tra WSL...", + "wsl.onboarding.restartRequired": "Windows cần khởi động lại để hoàn tất cài đặt WSL.", + "wsl.onboarding.ready": "WSL đã sẵn sàng.", + "wsl.onboarding.required": "WSL là bắt buộc để tiếp tục.", + "wsl.onboarding.checkingDistros": "Đang kiểm tra các bản phân phối...", + "wsl.onboarding.installingDistro": "Đang cài đặt {{distro}}...", + "wsl.onboarding.checkingDistro": "Đang kiểm tra {{distro}}...", + "wsl.onboarding.listingDistros": "Liệt kê các bản phân phối...", + "wsl.onboarding.distroReady": "{{distro}} đã sẵn sàng.", + "wsl.onboarding.distroNotInstalled": "{{distro}} chưa được cài đặt.", + "wsl.onboarding.openDistroOnce": "Mở {{distro}} một lần để hoàn tất thiết lập.", + "wsl.onboarding.finishingDistro": "Đang hoàn tất thiết lập cho {{distro}}.", + "wsl.onboarding.pickDistro": "Chọn một bản phân phối hoặc cài đặt một bản dưới đây.", + "wsl.onboarding.checkingOpencode": "Đang kiểm tra OpenCode...", + "wsl.onboarding.checkingOpencodeIn": "Đang kiểm tra OpenCode trong {{distro}}...", + "wsl.onboarding.updatingOpencode": "Đang cập nhật OpenCode...", + "wsl.onboarding.updatingOpencodeIn": "Đang cập nhật OpenCode trong {{distro}}...", + "wsl.onboarding.updateOpencodeIn": "Cập nhật OpenCode trong {{distro}}.", + "wsl.onboarding.updateOpencode": "Cập nhật OpenCode", + "wsl.onboarding.opencodeReadyIn": "OpenCode đã sẵn sàng trong {{distro}}.", + "wsl.onboarding.opencodeReady": "OpenCode đã sẵn sàng.", + "wsl.onboarding.installOpencodeIn": "Cài đặt OpenCode trong {{distro}}.", + "wsl.onboarding.installOpencode": "Cài đặt OpenCode", + "wsl.onboarding.chooseDistroFirst": "Chọn một bản phân phối đầu tiên.", + "wsl.onboarding.loadFailed": "Không tải được trạng thái WSL.", + "wsl.onboarding.loading": "Đang tải...", + "wsl.onboarding.installedDistros": "Các bản phân phối đã cài đặt", + "wsl.onboarding.checkAgain": "Kiểm tra lại", + "wsl.onboarding.distroStatus.ready": "Sẵn sàng", + "wsl.onboarding.distroStatus.checking": "Đang kiểm tra...", + "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode chưa được cài đặt", + "wsl.onboarding.distroStatus.missingTools": "Thiếu bash, curl", + "wsl.onboarding.distroStatus.unsupported": "Không được hỗ trợ · Sử dụng WSL 2", + "wsl.onboarding.needAnotherDistro": "Cần một bản phân phối khác?", + "wsl.onboarding.needAnotherDistroHint": "Cài đặt bản phân phối Linux từ danh mục WSL", + "wsl.onboarding.wslNotInstalled.title": "WSL chưa được cài đặt", + "wsl.onboarding.wslNotInstalled.description": + "Cần có WSL (Hệ thống con Windows dành cho Linux) trước khi OpenCode có thể thêm máy chủ WSL", + "wsl.onboarding.wslUnavailable.title": "WSL không có sẵn", + "wsl.onboarding.wslUnavailable.description": "OpenCode không thể xác minh WSL trên máy này.", + "wsl.onboarding.installWsl": "Cài đặt WSL", + "wsl.onboarding.windowsRestartRequired": "Khởi động lại Windows để hoàn tất cài đặt WSL, sau đó mở lại OpenCode.", + "wsl.onboarding.next": "Tiếp theo", + "wsl.onboarding.refresh": "Làm mới", + "wsl.onboarding.allDistrosAdded": "Tất cả các bản phân phối đã cài đặt đều đã được thêm vào.", + "wsl.onboarding.noDistros": "Chưa phát hiện thấy bản phân phối nào.", + "wsl.onboarding.install": "Cài đặt", + "wsl.onboarding.installing": "Đang cài đặt...", + "wsl.onboarding.installDistro": "Cài đặt bản phân phối", + "wsl.onboarding.searchDistros": "Tìm kiếm bản phân phối", + "wsl.onboarding.wsl2Required": "WSL 2 là bắt buộc.", + "wsl.onboarding.toolsRequired": "Bản phân phối này cần bash và curl.", + "wsl.onboarding.openTerminal": "Mở terminal", + "wsl.onboarding.path": "Đường dẫn: {{path}}", + "wsl.onboarding.notFound": "không tìm thấy", + "wsl.onboarding.version": "Phiên bản: {{version}}", + "wsl.onboarding.unknown": "không rõ", + "wsl.onboarding.desktopVersion": "Desktop {{version}}", + "wsl.onboarding.versionMismatch": "Phiên bản đã cài đặt không khớp với phiên bản ứng dụng desktop.", + "wsl.onboarding.adding": "Đang thêm...", + "help.tabs.toast.ariaLabel": "Giới thiệu về tab. Sắp xếp công việc và các phiên đang hoạt động bằng tab", + "help.tabs.toast.dismiss": "Bỏ qua thông tin về tab", + "help.tabs.title": "Giới thiệu về tab", + "help.tabs.description": "Sắp xếp công việc và các phiên đang hoạt động bằng tab", + "help.tabs.date": "14 tháng 7", + "help.tabs.introduction": "OpenCode Desktop nay được xây dựng xoay quanh các tab.", + "help.tabs.sessions": + "Bắt đầu phiên mới trong một tab hoặc mở phiên hiện có từ bất kỳ dự án nào của bạn. Hãy mở tab mới khi bắt đầu công việc mới và đóng tab khi hoàn tất.", + "help.tabs.organize": + "Việc mở một vài tab giúp bạn dễ dàng sắp xếp các phiên đang hoạt động. Hãy đổi tên tab thành tên dễ nhớ nếu bạn định giữ tab đó lâu dài.", + "help.tabs.home": + "Bạn sẽ tìm thấy tất cả các phiên và dự án trên màn hình Trang chủ mới. Khi bạn chọn một phiên, phiên đó sẽ mở trong một tab.", + "help.tabs.persistence": "Khi bạn mở lại ứng dụng, các tab vẫn mở.", + "help.tabs.worktrees": + "Thiết kế mới chưa hỗ trợ Git Worktrees, nhưng tính năng này sẽ sớm ra mắt. Vì vậy, nếu muốn tiếp tục sử dụng bố cục trước đó, bạn có thể chuyển đổi giữa các bố cục trong Cài đặt. Xin lưu ý rằng bố cục mới sẽ trở thành cố định sau vài tuần nữa.", + "server.row.noUsername": "không có tên người dùng", + "dialog.project.edit.title": "Chỉnh sửa dự án", + "dialog.project.edit.name": "Tên", + "dialog.project.edit.icon": "Biểu tượng", + "dialog.project.edit.icon.alt": "Biểu tượng dự án", + "dialog.project.edit.icon.hint": "Nhấp hoặc kéo hình ảnh", + "dialog.project.edit.icon.recommended": "Khuyến nghị: 128x128px", + "dialog.project.edit.color": "Màu sắc", + "dialog.project.edit.color.select": "Chọn màu {{color}}", + "dialog.project.edit.worktree.startup": "Tập lệnh khởi động không gian làm việc", + "dialog.project.edit.worktree.startup.description": "Chạy sau khi tạo không gian làm việc mới (worktree).", + "dialog.project.edit.worktree.startup.placeholder": "ví dụ: bun install", + "dialog.releaseNotes.action.getStarted": "Bắt đầu", + "dialog.releaseNotes.action.next": "Tiếp theo", + "dialog.releaseNotes.action.hideFuture": "Không hiển thị lại", + "dialog.releaseNotes.media.alt": "Xem trước bản phát hành", + "dialog.usageExceeded.dontShowAgain": "Không hiển thị lại", + + "context.breakdown.title": "Phân tích ngữ cảnh", + "context.breakdown.note": + 'Phân tích gần đúng của token đầu vào. "Khác" bao gồm các định nghĩa công cụ và chi phí chung.', + "context.breakdown.system": "Hệ thống", + "context.breakdown.user": "Người dùng", + "context.breakdown.assistant": "Trợ lý", + "context.breakdown.tool": "Lệnh gọi công cụ", + "context.breakdown.other": "Khác", + "context.systemPrompt.title": "Lời nhắc hệ thống", + "context.rawMessages.title": "Tin nhắn thô", + "context.export.session": "Xuất phiên", + + "context.stats.session": "Phiên", + "context.stats.messages": "Tin nhắn", + "context.stats.provider": "Nhà cung cấp", + "context.stats.model": "Mô hình", + "context.stats.limit": "Giới hạn ngữ cảnh", + "context.stats.totalTokens": "Tổng số token", + "context.stats.usage": "Mức sử dụng", + "context.stats.inputTokens": "Token đầu vào", + "context.stats.outputTokens": "Token đầu ra", + "context.stats.reasoningTokens": "Token lý luận", + "context.stats.cacheTokens": "Token bộ đệm (đọc/ghi)", + "context.stats.userMessages": "Tin nhắn của người dùng", + "context.stats.assistantMessages": "Tin nhắn trợ lý", + "context.stats.totalCost": "Tổng chi phí", + "context.stats.sessionCreated": "Đã tạo phiên", + "context.stats.lastActivity": "Hoạt động cuối cùng", + "context.usage.tokens": "Token", + "context.usage.usage": "Mức sử dụng", + "context.usage.cost": "Chi phí", + "context.usage.clickToView": "Nhấn vào đây để xem ngữ cảnh", + "context.usage.view": "Xem cách sử dụng ngữ cảnh", + "language.en": "English", + "language.zh": "简体中文", + "language.zht": "繁體中文", + "language.ko": "한국어", + "language.de": "Deutsch", + "language.es": "Español", + "language.fr": "Français", + "language.da": "Dansk", + "language.ja": "日本語", + "language.pl": "Polski", + "language.ru": "Русский", + "language.ar": "العربية", + "language.no": "Norsk", + "language.br": "Português (Brasil)", + "language.bs": "Bosanski", + "language.uk": "Українська", + "language.th": "ไทย", + "language.tr": "Türkçe", + "toast.language.title": "Ngôn ngữ", + "toast.language.description": "Đã chuyển sang {{language}}", + "toast.theme.title": "Đã chuyển chủ đề", + "toast.scheme.title": "Cách phối màu", + "toast.workspace.enabled.title": "Đã bật không gian làm việc", + "toast.workspace.enabled.description": "Nhiều worktree hiện được hiển thị trên thanh bên", + "toast.workspace.disabled.title": "Đã tắt không gian làm việc", + "toast.workspace.disabled.description": "Chỉ worktree chính được hiển thị trong thanh bên", + "toast.permissions.autoaccept.on.title": "Tự động chấp nhận quyền", + "toast.permissions.autoaccept.on.description": "Yêu cầu quyền sẽ được tự động phê duyệt", + "toast.permissions.autoaccept.off.title": "Đã dừng quyền tự động chấp nhận", + "toast.permissions.autoaccept.off.description": "Yêu cầu quyền sẽ cần được phê duyệt", + "toast.model.none.title": "Không có mô hình nào được chọn", + "toast.model.none.description": "Kết nối nhà cung cấp để tóm tắt phiên này", + "toast.file.loadFailed.title": "Không tải được tệp", + "toast.file.listFailed.title": "Không thể liệt kê các tệp", + "toast.context.noLineSelection.title": "Không có lựa chọn dòng", + "toast.context.noLineSelection.description": "Trước tiên, hãy chọn một phạm vi dòng trong tab tệp.", + "toast.session.share.copyFailed.title": "Không sao chép được URL vào bảng tạm", + "toast.session.share.success.title": "Đã chia sẻ phiên", + "toast.session.share.success.description": "Đã sao chép URL chia sẻ vào bảng tạm!", + "toast.session.share.failed.title": "Không thể chia sẻ phiên", + "toast.session.share.failed.description": "Đã xảy ra lỗi khi chia sẻ phiên", + "toast.session.unshare.success.title": "Đã ngừng chia sẻ phiên", + "toast.session.unshare.success.description": "Đã hủy chia sẻ phiên thành công!", + "toast.session.unshare.failed.title": "Không hủy chia sẻ được phiên", + "toast.session.unshare.failed.description": "Đã xảy ra lỗi khi hủy chia sẻ phiên", + "toast.session.export.success.title": "Đã xuất phiên", + "toast.session.export.success.description": "Đã lưu phiên vào {{filename}}", + "toast.session.export.failed.title": "Không thể xuất phiên", + "toast.session.export.failed.description": "Đã xảy ra lỗi khi xuất phiên", + + "toast.session.listFailed.title": "Không thể tải phiên cho {{project}}", + "toast.project.reloadFailed.title": "Không thể tải lại {{project}}", + "toast.update.title": "Đã có bản cập nhật", + "toast.update.description": "Hiện đã có phiên bản mới của OpenCode ({{version}}) để cài đặt.", + "toast.update.action.installRestart": "Cài đặt và khởi động lại", + "toast.update.action.notYet": "Chưa", + "error.page.title": "Đã xảy ra lỗi", + "error.page.description": "Đã xảy ra lỗi khi tải ứng dụng.", + "error.page.description.localServerStartup": "Đã xảy ra lỗi khi khởi động máy chủ cục bộ.", + "error.page.details.label": "Chi tiết lỗi", + "error.page.action.restart": "Khởi động lại", + "error.page.action.report": "Báo cáo lỗi", + "error.page.action.reported": "Đã báo lỗi", + "error.page.action.exportLogs": "Xuất nhật ký", + "error.page.action.checking": "Đang kiểm tra...", + "error.page.action.checkUpdates": "Kiểm tra các bản cập nhật", + "error.page.action.updateTo": "Cập nhật lên {{version}}", + "error.page.circular": "[Vòng lặp]", + "error.page.report.prefix": "Vui lòng báo cáo lỗi này cho nhóm OpenCode", + "error.page.report.discord": "trên Discord", + "error.page.version": "Phiên bản: {{version}}", + "error.dev.rootNotFound": + "Không tìm thấy phần tử gốc. Bạn đã quên thêm nó vào index.html của mình? Hoặc có thể thuộc tính id bị sai chính tả?", + "error.serverSync.connectFailed": "Không thể kết nối với máy chủ. Có máy chủ nào đang chạy ở `{{url}}` không?", + "error.serverSDK.noServerAvailable": "Không có máy chủ nào", + "error.serverSDK.serverNotAvailable": "Máy chủ không có sẵn", + "error.childStore.persistedCacheCreateFailed": "Không tạo được bộ nhớ đệm bền vững", + "error.childStore.persistedProjectMetadataCreateFailed": "Không thể tạo siêu dữ liệu dự án bền vững", + "error.childStore.persistedProjectIconCreateFailed": "Không thể tạo biểu tượng dự án bền vững", + "error.childStore.storeCreateFailed": "Không tạo được kho lưu trữ", + "directory.error.invalidUrl": "Thư mục không hợp lệ trong URL.", + "error.chain.unknown": "Lỗi không xác định", + "error.server.invalidConfiguration": "Cấu hình không hợp lệ", + "error.chain.causedBy": "Gây ra bởi:", + "error.chain.apiError": "Lỗi API", + "error.chain.status": "Trạng thái: {{status}}", + "error.chain.retryable": "Có thể thử lại: {{retryable}}", + "error.chain.responseBody": "Nội dung phản hồi:\n{{body}}", + "error.chain.didYouMean": "Có phải ý bạn là: {{suggestions}}", + "error.chain.modelNotFound": "Không tìm thấy mô hình: {{provider}}/{{model}}", + "error.chain.checkConfig": "Kiểm tra tên nhà cung cấp/mô hình cấu hình (opencode.json) của bạn", + "error.chain.mcpFailed": 'Máy chủ MCP "{{name}}" gặp lỗi. Lưu ý: OpenCode chưa hỗ trợ xác thực MCP.', + "error.chain.providerAuthFailed": "Không xác thực được nhà cung cấp ({{provider}}): {{message}}", + "error.chain.providerInitFailed": + 'Không khởi tạo được nhà cung cấp "{{provider}}". Kiểm tra thông tin xác thực và cấu hình.', + "error.chain.configJsonInvalid": "Tệp cấu hình tại {{path}} không phải là JSON(C) hợp lệ", + "error.chain.configJsonInvalidWithMessage": "Tệp cấu hình tại {{path}} không phải là JSON(C) hợp lệ: {{message}}", + "error.chain.configDirectoryTypo": + 'Thư mục "{{dir}}" trong {{path}} không hợp lệ. Đổi tên thư mục thành "{{suggestion}}" hoặc xóa nó. Đây là một lỗi đánh máy phổ biến.', + "error.chain.configFrontmatterError": "Không thể phân tích cú pháp frontmatter trong {{path}}:\n{{message}}", + "error.chain.configInvalid": "Tệp cấu hình tại {{path}} không hợp lệ", + "error.chain.configInvalidWithMessage": "Tệp cấu hình tại {{path}} không hợp lệ: {{message}}", + "notification.permission.title": "Cần có sự cho phép", + "notification.permission.description": "{{sessionTitle}} trong {{projectName}} cần có sự cho phép", + "notification.question.title": "Câu hỏi", + "notification.question.description": "{{sessionTitle}} trong {{projectName}} có câu hỏi", + "notification.action.goToSession": "Đi đến phiên", + "notification.session.responseReady.title": "Đã sẵn sàng phản hồi", + "notification.session.error.title": "Lỗi phiên", + "notification.session.error.fallbackDescription": "Đã xảy ra lỗi", + "home.recentProjects": "dự án gần đây", + "home.empty.title": "Không có dự án gần đây", + "home.empty.description": "Bắt đầu bằng cách mở một dự án cục bộ", + "home.title": "Trang chủ", + "home.projects": "Dự án", + "home.project.add": "Thêm dự án", + "home.recentlyClosed": "Đã đóng gần đây", + "home.server.collapse": "Thu gọn các dự án máy chủ", + "home.server.expand": "Mở rộng dự án máy chủ", + "home.sessions.search.placeholder": "Tìm kiếm phiên", + "home.sessions.search.placeholder.scoped": "Tìm kiếm phiên trong {{scope}}", + "home.sessions.search.sessions": "Phiên", + "home.sessions.search.noResults": "Không tìm thấy phiên nào cho {{query}}", + "home.sessions.empty": "Chưa có gì ở đây", + "home.sessions.empty.description": "Tạo một phiên để bắt đầu", + "home.sessions.group.today": "Hôm nay", + "home.sessions.group.yesterday": "Hôm qua", + "home.sessions.group.older": "Cũ hơn", + "home.providerTip": "Kết nối với hơn 75 nhà cung cấp để sử dụng các mô hình khác, bao gồm Claude, GPT, Gemini, v.v.", + "session.tab.session": "Phiên", + "session.tab.review": "Xem lại", + "session.tab.context": "Ngữ cảnh", + "session.tab.unknown": "Phiên không xác định", + "session.panel.reviewAndFiles": "Xem lại và tệp", + "session.error.notFound": "Không thể tìm thấy phiên này", + "session.error.notFound.description": "Tab này trỏ đến một phiên không còn tồn tại trên máy chủ này.", + "session.error.notFound.closeTab": "Đóng tab", + "session.error.serverConnection": "Không thể kết nối với máy chủ này", + "session.review.filesChanged": "Số tệp đã thay đổi: {{count}}", + "session.review.change.one": "Thay đổi", + "session.review.change.other": "Thay đổi", + "session.review.loadingChanges": "Đang tải các thay đổi...", + "session.review.empty": "Chưa có thay đổi nào trong phiên này", + "session.review.noVcs": "Không phát hiện hệ thống quản lý phiên bản Git nên không thể hiển thị thay đổi", + "session.review.noVcs.createGit.title": "Tạo kho lưu trữ Git", + "session.review.noVcs.createGit.description": "Theo dõi, xem xét và hoàn tác các thay đổi trong dự án này", + "session.review.noVcs.createGit.actionLoading": "Đang tạo kho lưu trữ Git...", + "session.review.noVcs.createGit.action": "Tạo kho lưu trữ Git", + "session.review.noSnapshot": + "Theo dõi ảnh chụp nhanh bị tắt trong cấu hình, do đó các thay đổi về phiên không khả dụng", + "session.review.noChanges": "Không có thay đổi", + "session.review.noUncommittedChanges": "Chưa có thay đổi nào chưa commit", + "session.review.noBranchChanges": "Chưa có thay đổi nhánh", + "session.files.selectToOpen": "Chọn một tệp để mở", + "session.files.all": "Tất cả tệp", + "session.files.empty": "Không có tệp", + "session.files.binaryContent": "Tệp nhị phân (không thể hiển thị nội dung)", + "session.messages.renderEarlier": "Hiển thị tin nhắn trước đó", + "session.messages.loadingEarlier": "Đang tải tin nhắn trước đó...", + "session.messages.loadEarlier": "Tải tin nhắn trước đó", + "session.messages.loading": "Đang tải tin nhắn...", + "session.messages.jumpToLatest": "Chuyển đến mới nhất", + "session.context.addToContext": "Thêm {{selection}} vào ngữ cảnh", + "session.todo.title": "việc cần làm", + "session.todo.collapse": "Thu gọn", + "session.todo.expand": "Mở rộng", + "session.todo.progress": "{{done}} trong số {{total}} việc cần làm đã hoàn thành", + "session.question.progress": "{{current}} trong số {{total}} câu hỏi", + "session.question.minimize": "Giảm thiểu câu hỏi", + "session.question.restore": "Khôi phục câu hỏi", + "session.question.pending.one": "{{count}} câu hỏi đang chờ xử lý", + "session.question.pending.other": "{{count}} câu hỏi đang chờ xử lý", + "session.followupDock.summary.one": "{{count}} tin nhắn đang chờ", + "session.followupDock.summary.other": "{{count}} tin nhắn đang chờ", + "session.followupDock.sendNow": "Gửi ngay bây giờ", + "session.followupDock.edit": "Chỉnh sửa", + "session.followupDock.collapse": "Thu gọn tin nhắn đang chờ", + "session.followupDock.expand": "Mở rộng tin nhắn đang chờ", + "session.revertDock.summary.one": "{{count}} tin nhắn đã hoàn tác", + "session.revertDock.summary.other": "{{count}} tin nhắn đã hoàn tác", + "session.revertDock.collapse": "Thu gọn tin nhắn đã hoàn tác", + "session.revertDock.expand": "Mở rộng tin nhắn đã hoàn tác", + "session.revertDock.restore": "Khôi phục tin nhắn", + "session.new.title": "Xây dựng bất cứ thứ gì", + "session.new.project.new": "Dự án mới", + "session.new.project.search": "Tìm kiếm dự án", + "session.new.project.add": "Thêm dự án", + "session.new.worktree.main": "Nhánh chính", + "session.new.worktree.mainWithBranch": "Nhánh chính ({{branch}})", + "session.new.worktree.create": "Tạo mới worktree", + "session.new.workspace.runIn": "Chạy phiên trong", + "session.new.workspace.triggerLocal": "Cục bộ", + "session.new.workspace.local": "Kho lưu trữ cục bộ", + "session.new.workspace.existing": "Không gian làm việc…", + "session.new.git.none": "Không dùng Git", + "session.new.lastModified": "Sửa đổi lần cuối", + "session.header.search.placeholder": "Tìm kiếm {{project}}", + "session.header.searchFiles": "Tìm kiếm tệp", + "session.header.openIn": "Mở trong", + "session.header.open.action": "Mở {{app}}", + "session.header.open.ariaLabel": "Mở trong {{app}}", + "session.header.open.menu": "Tùy chọn mở", + "session.header.open.copyPath": "Sao chép đường dẫn", + "session.header.open.finder": "Finder", + "session.header.open.fileExplorer": "File Explorer", + "session.header.open.fileManager": "Trình quản lý tệp", + "session.header.reveal.finder": "Hiển thị trong Finder", + "session.header.reveal.fileExplorer": "Hiển thị trong File Explorer", + "session.header.reveal.containingFolder": "Mở thư mục chứa", + "session.header.open.app.vscode": "VS Code", + "session.header.open.app.cursor": "Cursor", + "session.header.open.app.zed": "Zed", + "session.header.open.app.textmate": "TextMate", + "session.header.open.app.antigravity": "Antigravity", + "session.header.open.app.terminal": "Terminal", + "session.header.open.app.iterm2": "iTerm2", + "session.header.open.app.ghostty": "Ghostty", + "session.header.open.app.warp": "Warp", + "session.header.open.app.xcode": "Xcode", + "session.header.open.app.androidStudio": "Android Studio", + "session.header.open.app.powershell": "PowerShell", + "session.header.open.app.sublimeText": "Sublime Text", + "status.popover.trigger": "Trạng thái", + "status.popover.ariaLabel": "Cấu hình máy chủ", + "status.popover.tab.servers": "Máy chủ", + "status.popover.tab.mcp": "MCP", + "status.popover.tab.lsp": "LSP", + "status.popover.tab.plugins": "Plugin", + "status.popover.action.manageServers": "Quản lý máy chủ", + "session.share.popover.title": "Xuất bản trên web", + "session.share.popover.description.shared": + "Phiên này được công khai trên web. Nó có thể truy cập được bởi bất kỳ ai có liên kết.", + "session.share.popover.description.unshared": + "Chia sẻ phiên công khai trên web. Nó sẽ có thể truy cập được bởi bất kỳ ai có liên kết.", + "session.share.action.share": "Chia sẻ", + "session.share.action.publish": "Xuất bản", + "session.share.action.publishing": "Đang xuất bản...", + "session.share.action.unpublish": "Hủy xuất bản", + "session.share.action.unpublishing": "Đang hủy xuất bản...", + "session.share.action.view": "Xem", + "session.share.copy.copied": "Đã sao chép", + "session.share.copy.copyLink": "Sao chép liên kết", + "lsp.tooltip.none": "Không có máy chủ LSP", + "lsp.label.connected": "{{count}} LSP", + "prompt.loading": "Đang tải lời nhắc...", + "terminal.loading": "Đang tải terminal...", + "terminal.title": "Terminal", + "terminal.title.numbered": "Terminal {{number}}", + "terminal.close": "Đóng terminal", + "terminal.connectionLost.title": "Mất kết nối", + "terminal.connectionLost.abnormalClose": "WebSocket đóng bất thường: {{code}}", + "terminal.connectionLost.description": + "Kết nối terminal bị gián đoạn. Điều này có thể xảy ra khi máy chủ khởi động lại.", + "terminal.connectTicket.csrfError": + "Vé kết nối PTY bị từ chối do kiểm tra nguồn gốc hoặc CSRF. Hãy kiểm tra cấu hình CORS của máy chủ.", + "terminal.connectTicket.statusError": "Vé kết nối PTY thất bại với trạng thái {{status}}", + "titlebar.update": "Cập nhật", + "titlebar.updateVersion": "Cập nhật {{version}}", + "common.closeTab": "Đóng tab", + "common.dismiss": "Bỏ qua", + "common.moreCountSuffix": " (+{{count}} thêm)", + "common.requestFailed": "Không thực hiện được yêu cầu", + "common.moreOptions": "Nhiều lựa chọn hơn", + "common.learnMore": "Tìm hiểu thêm", + "common.rename": "Đổi tên", + "common.export": "Xuất", + "common.reset": "Đặt lại", + "common.archive": "Lưu trữ", + "common.delete": "Xóa", + "common.close": "Đóng", + "common.edit": "Chỉnh sửa", + "common.loadMore": "Tải thêm", + "common.key.esc": "ESC", + "common.key.ctrl": "Ctrl", + "common.key.alt": "Alt", + "common.key.shift": "Shift", + "common.key.meta": "Meta", + "common.key.space": "Phím cách", + "common.key.backspace": "Backspace", + "common.key.enter": "Enter", + "common.key.tab": "Tab", + "common.key.delete": "Delete", + "common.key.home": "Home", + "common.key.end": "End", + "common.key.pageUp": "Page Up", + "common.key.pageDown": "Page Down", + "common.key.insert": "Insert", + "common.unknown": "không rõ", + "common.time.justNow": "Vừa rồi", + "common.time.minutesAgo.short": "{{count}} phút trước", + "common.time.hoursAgo.short": "{{count}} giờ trước", + "common.time.daysAgo.short": "{{count}} ngày trước", + "sidebar.menu.toggle": "Bật/tắt menu", + "sidebar.nav.projectsAndSessions": "Dự án và phiên", + "sidebar.settings": "Cài đặt", + "sidebar.help": "Trợ giúp", + "sidebar.workspaces.enable": "Bật không gian làm việc", + "sidebar.workspaces.disable": "Tắt không gian làm việc", + "sidebar.gettingStarted.title": "Bắt đầu", + "sidebar.gettingStarted.line1": "OpenCode bao gồm các mô hình miễn phí để bạn có thể bắt đầu ngay lập tức.", + "sidebar.gettingStarted.line2": + "Kết nối với bất kỳ nhà cung cấp nào để sử dụng các mô hình như Claude, GPT, Gemini, v.v.", + "sidebar.project.recentSessions": "Phiên gần đây", + "sidebar.project.viewAllSessions": "Xem tất cả các phiên", + "sidebar.project.clearNotifications": "Xóa thông báo", + "sidebar.empty.title": "Không có dự án nào mở", + "sidebar.empty.description": "Mở một dự án để bắt đầu", + "debugBar.ariaLabel": "Chẩn đoán hiệu suất phát triển", + "debugBar.na": "không có", + "debugBar.nav.label": "NAV", + "debugBar.nav.tip": + "Lần chuyển tuyến hoàn tất gần nhất có truy cập trang phiên, được đo từ lúc bộ định tuyến bắt đầu đến khung hình đầu tiên sau khi ổn định.", + "debugBar.fps.label": "FPS", + "debugBar.fps.tip": "Số khung hình mỗi giây trong 5 giây qua.", + "debugBar.frame.label": "FRAME", + "debugBar.frame.tip": "Thời gian tạo khung hình tệ nhất trong 5 giây vừa qua.", + "debugBar.jank.label": "JANK", + "debugBar.jank.tip": "Số khung hình mất hơn 32ms trong 5 giây qua.", + "debugBar.long.label": "LONG", + "debugBar.long.tip": "Thời gian bị chặn và số lượng nhiệm vụ dài trong 5 giây qua. Nhiệm vụ tối đa: {{max}}.", + "debugBar.delay.label": "DELAY", + "debugBar.delay.tip": "Độ trễ đầu vào được quan sát tồi tệ nhất trong 5 giây qua.", + "debugBar.inp.label": "INP", + "debugBar.inp.tip": + "Thời lượng tương tác gần đúng trong 5 giây qua. Đây giống như INP, không phải là Web Vitals chính thức INP.", + "debugBar.cls.label": "CLS", + "debugBar.cls.tip": "Sự thay đổi bố cục tích lũy cho thời gian tồn tại của ứng dụng hiện tại.", + "debugBar.mem.label": "MEM", + "debugBar.mem.tipUnavailable": "Bộ nhớ heap JS đã dùng so với giới hạn heap. Chỉ hỗ trợ Chromium.", + "debugBar.mem.tip": "Đã sử dụng JS heap so với giới hạn heap. {{used}} của {{limit}}.", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "Buộc áp dụng kiểu tiêu điểm cho mọi phần tử tương tác", + "debugBar.focus.on": "BẬT", + "debugBar.focus.off": "TẮT", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "Buộc đặt hướng bố cục cho toàn bộ ứng dụng mà không thay đổi ngôn ngữ đã chọn", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", + "app.name.desktop": "OpenCode Desktop", + "settings.section.desktop": "Desktop", + "settings.section.server": "Máy chủ", + "settings.tab.general": "Tổng quan", + "settings.tab.shortcuts": "Phím tắt", + "settings.desktop.section.wsl": "WSL", + "settings.desktop.wsl.title": "WSL tích hợp", + "settings.desktop.wsl.description": "Chạy máy chủ OpenCode bên trong WSL trên Windows.", + "settings.general.section.appearance": "Giao diện", + "settings.general.section.advanced": "Nâng cao", + "settings.general.section.notifications": "Thông báo hệ thống", + "settings.general.section.updates": "Cập nhật", + "settings.general.section.sounds": "Hiệu ứng âm thanh", + "settings.general.section.feed": "Nguồn cấp", + "settings.general.section.display": "Hiển thị", + "settings.general.row.language.title": "Ngôn ngữ", + "settings.general.row.language.description": "Thay đổi ngôn ngữ hiển thị cho OpenCode", + "settings.general.row.shell.title": "Shell terminal", + "settings.general.row.shell.description": "Shell được terminal và các công cụ của tác nhân sử dụng", + "settings.general.row.shell.autoDefault": "Tự động (Mặc định)", + "settings.general.row.shell.terminalOnly": "chỉ terminal", + "settings.general.row.appearance.title": "Giao diện", + "settings.general.row.appearance.description": "Tùy chỉnh giao diện của OpenCode trên thiết bị", + "settings.general.row.colorScheme.title": "Cách phối màu", + "settings.general.row.colorScheme.description": "Chọn xem OpenCode tuân theo hệ thống, chủ đề sáng hay tối", + "settings.general.row.theme.title": "Chủ đề", + "settings.general.row.theme.description": "Tùy chỉnh chủ đề của OpenCode.", + "settings.general.row.font.title": "Phông chữ mã", + "settings.general.row.font.description": "Tùy chỉnh phông chữ được sử dụng trong khối mã", + "settings.general.row.terminalFont.title": "Phông chữ terminal", + "settings.general.row.terminalFont.description": "Tùy chỉnh phông chữ được sử dụng trong terminal", + "settings.general.row.uiFont.title": "Phông chữ giao diện", + "settings.general.row.uiFont.description": "Tùy chỉnh phông chữ dùng trong toàn bộ giao diện", + "settings.general.row.followup.title": "Cách xử lý lời nhắc tiếp theo", + "settings.general.row.followup.description": + "Chọn để lời nhắc tiếp theo điều hướng phiên ngay lập tức hoặc chờ trong hàng đợi", + "settings.general.row.followup.option.queue": "Xếp hàng", + "settings.general.row.followup.option.steer": "Điều hướng", + "settings.general.row.showFileTree.title": "Cây tệp", + "settings.general.row.showFileTree.description": "Hiển thị bảng cây tệp trong phiên", + "settings.general.row.showNavigation.title": "Điều khiển điều hướng", + "settings.general.row.showNavigation.description": + "Hiển thị các nút quay lại và tiến lên trên thanh tiêu đề của màn hình", + "settings.general.row.showSearch.title": "Bảng lệnh", + "settings.general.row.showSearch.description": "Hiển thị nút bảng tìm kiếm và lệnh trong thanh tiêu đề", + "settings.general.row.showTerminal.title": "Terminal", + "settings.general.row.showTerminal.description": "Hiển thị nút terminal trên thanh tiêu đề của ứng dụng desktop", + "settings.general.row.showStatus.title": "Trạng thái máy chủ", + "settings.general.row.showStatus.description": "Hiển thị nút trạng thái máy chủ trên thanh tiêu đề", + "settings.general.row.mobileTitlebarBottom.title": "Điều hướng dưới cùng", + "settings.general.row.mobileTitlebarBottom.description": + "Đặt thanh tiêu đề và tab phiên ở cuối màn hình trên thiết bị di động", + "settings.general.row.showCustomAgents.title": "Hiển thị tác nhân", + "settings.general.row.showCustomAgents.description": + "Chuyển đổi giữa các tác nhân trong trình soạn thảo. Khi ẩn, tác nhân mặc định là Build.", + "settings.general.row.reasoningSummaries.title": "Hiển thị tóm tắt lý luận", + "settings.general.row.reasoningSummaries.description": "Hiển thị tóm tắt lý luận mô hình trong dòng thời gian", + "settings.general.row.shellToolPartsExpanded.title": "Mở rộng các phần của công cụ shell", + "settings.general.row.shellToolPartsExpanded.description": + "Hiển thị các phần công cụ shell được mở rộng theo mặc định trong dòng thời gian", + "settings.general.row.editToolPartsExpanded.title": "Mở rộng các phần công cụ chỉnh sửa", + "settings.general.row.editToolPartsExpanded.description": + "Hiển thị các phần công cụ chỉnh sửa, viết và vá lỗi được mở rộng theo mặc định trong dòng thời gian", + "settings.general.row.newInterface.title": "Bố cục mới", + "settings.general.row.newInterface.badge": "Mới", + "settings.general.row.newInterface.description": + "Sử dụng các tab mới và bố cục trang chủ. Chuyển đổi giữa các bố cục trong một thời gian giới hạn.", + "settings.general.row.newInterfaceNotice.title": "Bạn hiện đang sử dụng bố cục mới", + "settings.general.row.newInterfaceNotice.description": "Bố cục trước đó không còn khả dụng", + "settings.general.row.newInterfaceNotice.dismiss": "Bỏ qua", + "settings.general.row.pinchZoom.title": "Chụm để thu phóng", + "settings.general.row.pinchZoom.description": "Cho phép chụm bàn di chuột và cử chỉ cuộn Ctrl để thu phóng", + "settings.general.row.wayland.title": "Sử dụng Wayland gốc", + "settings.general.row.wayland.description": "Tắt tính năng dự phòng X11 trên Wayland. Yêu cầu khởi động lại.", + "settings.general.row.wayland.tooltip": + "Trên Linux với màn hình có tốc độ làm mới hỗn hợp, Wayland gốc có thể ổn định hơn.", + "settings.general.row.releaseNotes.title": "Ghi chú phát hành", + "settings.general.row.releaseNotes.description": "Hiển thị cửa sổ bật lên Có gì mới sau khi cập nhật", + "settings.updates.row.startup.title": "Kiểm tra cập nhật khi khởi động", + "settings.updates.row.startup.description": "Tự động kiểm tra các bản cập nhật khi OpenCode khởi chạy", + "settings.updates.row.check.title": "Kiểm tra các bản cập nhật", + "settings.updates.row.check.description": "Kiểm tra thủ công các bản cập nhật và cài đặt nếu có", + "settings.updates.action.checkNow": "Kiểm tra ngay", + "settings.updates.action.checking": "Đang kiểm tra...", + "settings.updates.action.downloading": "Đang tải xuống...", + "settings.updates.action.installing": "Đang cài đặt...", + "settings.updates.toast.latest.title": "Đã cập nhật", + "settings.updates.toast.latest.description": "Bạn đang chạy phiên bản mới nhất của OpenCode.", + "sound.option.none": "Không có", + "sound.option.alert01": "Alert 01", + "sound.option.alert02": "Alert 02", + "sound.option.alert03": "Alert 03", + "sound.option.alert04": "Alert 04", + "sound.option.alert05": "Alert 05", + "sound.option.alert06": "Alert 06", + "sound.option.alert07": "Alert 07", + "sound.option.alert08": "Alert 08", + "sound.option.alert09": "Alert 09", + "sound.option.alert10": "Alert 10", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "Nope 01", + "sound.option.nope02": "Nope 02", + "sound.option.nope03": "Nope 03", + "sound.option.nope04": "Nope 04", + "sound.option.nope05": "Nope 05", + "sound.option.nope06": "Nope 06", + "sound.option.nope07": "Nope 07", + "sound.option.nope08": "Nope 08", + "sound.option.nope09": "Nope 09", + "sound.option.nope10": "Nope 10", + "sound.option.nope11": "Nope 11", + "sound.option.nope12": "Nope 12", + "sound.option.yup01": "Yup 01", + "sound.option.yup02": "Yup 02", + "sound.option.yup03": "Yup 03", + "sound.option.yup04": "Yup 04", + "sound.option.yup05": "Yup 05", + "sound.option.yup06": "Yup 06", + "settings.general.notifications.agent.title": "Tác nhân", + "settings.general.notifications.agent.description": + "Hiển thị thông báo hệ thống khi tác nhân hoàn thành hoặc cần chú ý", + "settings.general.notifications.permissions.title": "Quyền", + "settings.general.notifications.permissions.description": "Hiển thị thông báo hệ thống khi cần có sự cho phép", + "settings.general.notifications.errors.title": "Lỗi", + "settings.general.notifications.errors.description": "Hiển thị thông báo hệ thống khi xảy ra lỗi", + "settings.general.sounds.agent.title": "Tác nhân", + "settings.general.sounds.agent.description": "Phát âm thanh khi tác nhân hoàn thành hoặc cần chú ý", + "settings.general.sounds.permissions.title": "Quyền", + "settings.general.sounds.permissions.description": "Phát âm thanh khi cần có sự cho phép", + "settings.general.sounds.errors.title": "Lỗi", + "settings.general.sounds.errors.description": "Phát âm thanh khi xảy ra lỗi", + "settings.shortcuts.title": "Phím tắt", + "settings.shortcuts.reset.button": "Đặt lại về mặc định", + "settings.shortcuts.reset.toast.title": "Đặt lại phím tắt", + "settings.shortcuts.reset.toast.description": "Phím tắt đã được đặt lại về mặc định.", + "settings.shortcuts.conflict.title": "Phím tắt đã được sử dụng", + "settings.shortcuts.conflict.description": "{{keybind}} đã được gán cho {{titles}}.", + "settings.shortcuts.unassigned": "Chưa được chỉ định", + "settings.shortcuts.pressKeys": "Nhấn phím", + "settings.shortcuts.search.placeholder": "Tìm kiếm phím tắt", + "settings.shortcuts.search.empty": "Không tìm thấy phím tắt", + "settings.shortcuts.group.general": "Tổng quan", + "settings.shortcuts.group.session": "Phiên", + "settings.shortcuts.group.navigation": "Điều hướng", + "settings.shortcuts.group.modelAndAgent": "Mô hình và tác nhân", + "settings.shortcuts.group.terminal": "Terminal", + "settings.shortcuts.group.prompt": "Lời nhắc", + "settings.providers.title": "Nhà cung cấp", + "settings.providers.description": "Cài đặt nhà cung cấp sẽ được cấu hình ở đây.", + "settings.providers.section.connected": "Nhà cung cấp được kết nối", + "settings.providers.connected.empty": "Không có nhà cung cấp được kết nối", + "settings.providers.connected.environmentDescription": "Đã kết nối từ các biến môi trường của bạn", + "settings.providers.section.popular": "Nhà cung cấp phổ biến", + "settings.providers.custom.description": "Thêm nhà cung cấp tương thích OpenAI bằng URL cơ sở.", + "settings.providers.tag.environment": "Môi trường", + "settings.providers.tag.config": "Cấu hình", + "settings.providers.tag.custom": "Tùy chỉnh", + "settings.providers.tag.other": "Khác", + "settings.models.title": "Mô hình", + "settings.models.description": "Cài đặt mô hình sẽ được cấu hình ở đây.", + "settings.agents.title": "Tác nhân", + "settings.agents.description": "Cài đặt tác nhân sẽ được cấu hình ở đây.", + "settings.commands.title": "Lệnh", + "settings.commands.description": "Cài đặt lệnh sẽ được cấu hình ở đây.", + "settings.mcp.title": "MCP", + "settings.mcp.description": "Có thể cấu hình cài đặt MCP tại đây.", + "settings.permissions.title": "Quyền", + "settings.permissions.description": "Kiểm soát những công cụ mà máy chủ có thể sử dụng theo mặc định.", + "settings.permissions.section.tools": "Công cụ", + "settings.permissions.toast.updateFailed.title": "Không cập nhật được quyền", + "settings.permissions.action.allow": "Cho phép", + "settings.permissions.action.ask": "Hỏi", + "settings.permissions.action.deny": "Từ chối", + "settings.permissions.tool.read.title": "Đọc", + "settings.permissions.tool.read.description": "Đọc một tệp (khớp với đường dẫn tệp)", + "settings.permissions.tool.edit.title": "Chỉnh sửa", + "settings.permissions.tool.edit.description": "Sửa đổi tệp, bao gồm chỉnh sửa, ghi và vá lỗi", + "settings.permissions.tool.glob.title": "Glob", + "settings.permissions.tool.glob.description": "Khớp tệp bằng mẫu glob", + "settings.permissions.tool.grep.title": "Grep", + "settings.permissions.tool.grep.description": "Tìm kiếm nội dung tệp bằng cách sử dụng biểu thức thông thường", + "settings.permissions.tool.list.title": "Danh sách", + "settings.permissions.tool.list.description": "Liệt kê các tệp trong một thư mục", + "settings.permissions.tool.bash.title": "Bash", + "settings.permissions.tool.bash.description": "Chạy lệnh shell", + "settings.permissions.tool.task.title": "Nhiệm vụ", + "settings.permissions.tool.task.description": "Khởi chạy tác nhân phụ", + "settings.permissions.tool.skill.title": "Kỹ năng", + "settings.permissions.tool.skill.description": "Tải một kỹ năng theo tên", + "settings.permissions.tool.lsp.title": "LSP", + "settings.permissions.tool.lsp.description": "Chạy truy vấn máy chủ ngôn ngữ", + "settings.permissions.tool.todowrite.title": "Ghi việc cần làm", + "settings.permissions.tool.todowrite.description": "Cập nhật danh sách việc cần làm", + "settings.permissions.tool.webfetch.title": "Tìm nạp web", + "settings.permissions.tool.webfetch.description": "Tìm nạp nội dung từ URL", + "settings.permissions.tool.websearch.title": "Tìm kiếm trên web", + "settings.permissions.tool.websearch.description": "Tìm kiếm trên web", + "settings.permissions.tool.external_directory.title": "Thư mục bên ngoài", + "settings.permissions.tool.external_directory.description": "Truy cập các tệp bên ngoài thư mục dự án", + "settings.permissions.tool.doom_loop.title": "Vòng lặp vô hạn", + "settings.permissions.tool.doom_loop.description": + "Phát hiện các lệnh gọi công cụ lặp lại với đầu vào giống hệt nhau", + "session.delete.failed.title": "Không thể xóa phiên", + "session.delete.title": "Xóa phiên", + "session.delete.confirm": 'Xóa phiên "{{name}}"?', + "session.delete.button": "Xóa phiên", + "workspace.new": "Không gian làm việc mới", + "workspace.type.local": "cục bộ", + "workspace.type.sandbox": "sandbox", + "workspace.create.failed.title": "Không tạo được không gian làm việc", + "workspace.delete.failed.title": "Không xóa được không gian làm việc", + "workspace.resetting.title": "Đặt lại không gian làm việc", + "workspace.resetting.description": "Việc này có thể mất một phút.", + "workspace.reset.failed.title": "Không thể đặt lại không gian làm việc", + "workspace.reset.success.title": "Đặt lại không gian làm việc", + "workspace.reset.success.description": "Không gian làm việc bây giờ khớp với nhánh mặc định.", + "workspace.error.stillPreparing": "Không gian làm việc vẫn đang chuẩn bị", + "workspace.status.checking": "Đang kiểm tra các thay đổi chưa được hợp nhất...", + "workspace.status.error": "Không thể xác minh trạng thái git.", + "workspace.status.clean": "Không phát hiện thấy thay đổi chưa hợp nhất nào.", + "workspace.status.dirty": "Đã phát hiện thấy các thay đổi chưa được hợp nhất trong không gian làm việc này.", + "workspace.delete.title": "Xóa không gian làm việc", + "workspace.delete.confirm": 'Xóa không gian làm việc "{{name}}"?', + "workspace.delete.button": "Xóa không gian làm việc", + "workspace.reset.title": "Đặt lại không gian làm việc", + "workspace.reset.confirm": 'Đặt lại không gian làm việc "{{name}}"?', + "workspace.reset.button": "Đặt lại không gian làm việc", + "workspace.reset.archived.none": "Không có phiên hoạt động nào sẽ được lưu trữ.", + "workspace.reset.archived.one": "1 phiên sẽ được lưu trữ.", + "workspace.reset.archived.many": "{{count}} phiên sẽ được lưu trữ.", + "workspace.reset.note": "Điều này sẽ thiết lập lại không gian làm việc để phù hợp với nhánh mặc định.", +} diff --git a/packages/app/src/i18n/zh.ts b/packages/app/src/i18n/zh.ts index 724bcc117599..b0ba0453479b 100644 --- a/packages/app/src/i18n/zh.ts +++ b/packages/app/src/i18n/zh.ts @@ -3,6 +3,104 @@ import { dict as en } from "./en" type Keys = keyof typeof en export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "文件", + "desktop.menu.edit": "编辑", + "desktop.menu.view": "视图", + "desktop.menu.go": "转到", + "desktop.menu.window": "窗口", + "desktop.menu.help": "帮助", + "desktop.menu.checkForUpdates": "检查更新...", + "desktop.menu.settings": "设置", + "desktop.menu.reloadWebview": "重新加载 Webview", + "desktop.menu.restart": "重启", + "desktop.menu.exportLogs": "导出日志...", + "desktop.menu.newSession": "新建会话", + "desktop.menu.openProject": "打开项目...", + "desktop.menu.newWindow": "新建窗口", + "desktop.menu.closeWindow": "关闭窗口", + "desktop.menu.undo": "撤销", + "desktop.menu.redo": "重做", + "desktop.menu.cut": "剪切", + "desktop.menu.copy": "复制", + "desktop.menu.paste": "粘贴", + "desktop.menu.delete": "删除", + "desktop.menu.selectAll": "全选", + "desktop.menu.toggleSidebar": "切换侧边栏", + "desktop.menu.toggleTerminal": "切换终端", + "desktop.menu.toggleFileTree": "切换文件树", + "desktop.menu.reload": "重新加载", + "desktop.menu.toggleDeveloperTools": "切换开发人员工具", + "desktop.menu.actualSize": "实际大小", + "desktop.menu.zoomIn": "放大", + "desktop.menu.zoomOut": "缩小", + "desktop.menu.toggleFullScreen": "切换全屏显示", + "desktop.menu.back": "后退", + "desktop.menu.forward": "前进", + "desktop.menu.previousSession": "上一个会话", + "desktop.menu.nextSession": "下一个会话", + "desktop.menu.previousProject": "上一个项目", + "desktop.menu.nextProject": "下一个项目", + "desktop.menu.minimize": "最小化", + "desktop.menu.maximize": "最大化", + "desktop.menu.documentation": "OpenCode 文档", + "desktop.menu.supportForum": "支持论坛", + "desktop.menu.shareFeedback": "提供反馈", + "desktop.menu.reportBug": "报告错误", + "desktop.menu.ariaLabel": "OpenCode 菜单", + + "desktop.updater.dialog.checkFailed.message": "检查更新失败。", + "desktop.updater.dialog.checkFailed.title": "更新错误", + "desktop.updater.dialog.upToDate.message": "你使用的是最新版本。", + "desktop.updater.dialog.upToDate.title": "无可用更新", + "desktop.updater.dialog.ready.message": "已下载更新 {{version}}。是否立即重启?", + "desktop.updater.dialog.ready.title": "更新已就绪", + "desktop.updater.dialog.restart": "重启", + "desktop.updater.dialog.later": "稍后", + + "desktop.recovery.action.relaunch": "重新启动", + "desktop.recovery.action.exportLogs": "导出日志", + "desktop.recovery.action.keepWaiting": "继续等待", + "desktop.recovery.action.quit": "退出", + "desktop.recovery.loadFailed": "OpenCode 加载失败", + "desktop.recovery.terminated": "OpenCode 窗口意外终止", + "desktop.recovery.unresponsive": "OpenCode 未响应", + "desktop.recovery.unresponsive.detail": "你可以重新启动应用、打开日志或继续等待。", + "desktop.recovery.loadFailed.detail": "窗口:{{window}}\nURL:{{url}}\n错误:{{code}} {{description}}", + "desktop.recovery.terminated.detail": "窗口:{{window}}\n原因:{{reason}}\n代码:{{code}}", + "desktop.recovery.unknown": "<未知>", + + "desktop.dialog.chooseFolder": "选择文件夹", + "desktop.dialog.chooseFile": "选择文件", + "desktop.dialog.saveFile": "保存文件", + "desktop.dialog.files": "文件", + "desktop.server.local": "本地服务器", + + "desktop.wsl.error.windowsOnly": "WSL 仅在 Windows 上可用", + "desktop.wsl.error.unavailable": "WSL 不可用", + "desktop.wsl.error.listInstalled": "无法列出已安装的 WSL 发行版", + "desktop.wsl.error.listOnline": "无法列出在线 WSL 发行版", + "desktop.wsl.error.executeDistro": "无法在发行版中执行命令", + "desktop.wsl.error.installWsl": "WSL 安装失败", + "desktop.wsl.error.installDistro": "无法安装发行版:{{distro}}", + "desktop.wsl.error.installOpencode": "OpenCode 安装失败", + "desktop.wsl.error.alreadyAdded": "已添加 {{distro}}", + "desktop.wsl.error.opencodeMissing": "此发行版中未安装 opencode", + "desktop.wsl.error.opencodeCannotRun": "已安装 opencode,但无法运行", + "desktop.wsl.error.opencodeNotInstalled": "{{distro}} 中未安装 OpenCode", + "desktop.wsl.error.updateVersion": + "OpenCode 更新已完成,但 {{distro}} 仍报告版本 {{installed}};预期版本为 {{expected}}", + "desktop.wsl.error.noVersion": "无版本信息", + "desktop.wsl.error.serverExited": "WSL 服务器启动后退出(code={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL 服务器在进入正常状态前退出(code={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": "{{distro}} 的 Sidecar 运行状况检查在 {{timeout}}ms 后超时", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} 在 {{timeout}}ms 后超时", + "desktop.wsl.error.failedPort": "无法获取端口", + + "desktop.picker.error.notSelected": "文件选择器未选择文件", + "desktop.picker.error.sizeLimit": "所选附件超过 {{limit}} MB 的限制", + "command.category.suggested": "建议", "command.category.view": "视图", "command.category.project": "项目", @@ -20,6 +118,7 @@ export const dict = { "command.category.permissions": "权限", "command.category.workspace": "工作区", "command.category.settings": "设置", + "command.logs.export": "导出日志", "theme.scheme.system": "系统", "theme.scheme.light": "浅色", @@ -86,8 +185,8 @@ export const dict = { "command.model.choose": "选择模型", "command.model.choose.description": "选择不同的模型", - "command.mcp.toggle": "切换 MCPs", - "command.mcp.toggle.description": "切换 MCPs", + "command.mcp.toggle": "启用或禁用 MCP 服务器", + "command.mcp.toggle.description": "启用或禁用 MCP 服务器", "command.agent.cycle": "切换智能体", "command.agent.cycle.description": "切换到下一个智能体", @@ -110,15 +209,18 @@ export const dict = { "command.session.undo.description": "撤销上一条消息", "command.session.redo": "重做", "command.session.redo.description": "重做上一条撤销的消息", - "command.session.compact": "精简会话", + "command.session.compact": "压缩会话", "command.session.compact.description": "总结会话以减少上下文大小", - "command.session.fork": "从消息分叉", + "command.session.fork": "从消息创建新会话", "command.session.fork.description": "从之前的消息创建新会话", "command.session.share": "分享会话", "command.session.share.description": "分享此会话并将链接复制到剪贴板", "command.session.unshare": "取消分享会话", "command.session.unshare.description": "停止分享此会话", + "command.session.export": "导出会话", + "command.session.export.description": "将完整会话记录导出为 JSON", + "palette.search.placeholder": "搜索文件、命令和会话", "palette.search.placeholder.home": "搜索命令和会话", "palette.empty": "未找到结果", @@ -129,16 +231,17 @@ export const dict = { "dialog.provider.empty": "未找到提供商", "dialog.provider.group.popular": "热门", "dialog.provider.group.other": "其他", + "dialog.provider.custom.label": "自定义 OpenAI 兼容提供商", "dialog.provider.tag.recommended": "推荐", - "dialog.provider.opencode.note": "使用 OpenCode Zen 或 API 密钥连接", + "dialog.provider.opencode.note": "精选模型,包括 Claude、GPT、Gemini 等", "dialog.provider.opencode.tagline": "可靠的优化模型", "dialog.provider.opencodeGo.tagline": "适合所有人的低成本订阅", - "dialog.provider.anthropic.note": "使用 Claude Pro/Max 或 API 密钥连接", - "dialog.provider.copilot.note": "使用 Copilot 或 API 密钥连接", - "dialog.provider.openai.note": "使用 ChatGPT Pro/Plus 或 API 密钥连接", - "dialog.provider.google.note": "使用 Google 账号或 API 密钥连接", - "dialog.provider.openrouter.note": "使用 OpenRouter 账号或 API 密钥连接", - "dialog.provider.vercel.note": "使用 Vercel 账号或 API 密钥连接", + "dialog.provider.anthropic.note": "直接使用 Claude 模型,包括 Pro 和 Max", + "dialog.provider.copilot.note": "通过 GitHub Copilot 使用辅助编程 AI 模型", + "dialog.provider.openai.note": "适合快速处理各类 AI 任务的 GPT 模型", + "dialog.provider.google.note": "可快速生成结构化回复的 Gemini 模型", + "dialog.provider.openrouter.note": "通过一个提供商使用所有受支持的模型", + "dialog.provider.vercel.note": "通过智能路由统一使用 AI 模型", "dialog.model.select.title": "选择模型", "dialog.model.search.placeholder": "搜索模型", @@ -148,6 +251,7 @@ export const dict = { "dialog.model.manage.provider.toggle": "切换所有 {{provider}} 模型", "dialog.model.unpaid.freeModels.title": "OpenCode 提供的免费模型", "dialog.model.unpaid.addMore.title": "从热门提供商添加更多模型", + "dialog.model.unpaid.viewMoreProviders": "查看另外 70 多个提供商", "dialog.provider.viewAll": "查看更多提供商", @@ -155,11 +259,13 @@ export const dict = { "provider.connect.title.anthropicProMax": "使用 Claude Pro/Max 登录", "provider.connect.selectMethod": "选择 {{provider}} 的登录方式。", "provider.connect.method.apiKey": "API 密钥", + "provider.connect.method.browser": "浏览器", + "provider.connect.method.headless": "无头模式", "provider.connect.status.inProgress": "正在授权...", "provider.connect.status.waiting": "等待授权...", "provider.connect.status.failed": "授权失败:{{error}}", "provider.connect.apiKey.description": - "输入你的 {{provider}} API 密钥以连接帐户,并在 OpenCode 中使用 {{provider}} 模型。", + "输入你的 {{provider}} API 密钥以连接账户,并在 OpenCode 中使用 {{provider}} 模型。", "provider.connect.apiKey.label": "{{provider}} API 密钥", "provider.connect.apiKey.placeholder": "API 密钥", "provider.connect.apiKey.required": "API 密钥为必填项", @@ -170,19 +276,20 @@ export const dict = { "provider.connect.opencodeZen.visit.suffix": " 获取你的 API 密钥。", "provider.connect.oauth.code.visit.prefix": "访问 ", "provider.connect.oauth.code.visit.link": "此链接", - "provider.connect.oauth.code.visit.suffix": " 获取授权码,以连接你的帐户并在 OpenCode 中使用 {{provider}} 模型。", + "provider.connect.oauth.code.visit.suffix": " 获取授权码,以连接你的账户并在 OpenCode 中使用 {{provider}} 模型。", "provider.connect.oauth.code.label": "{{method}} 授权码", "provider.connect.oauth.code.placeholder": "授权码", "provider.connect.oauth.code.required": "授权码为必填项", "provider.connect.oauth.code.invalid": "授权码无效", "provider.connect.oauth.auto.visit.prefix": "访问 ", "provider.connect.oauth.auto.visit.link": "此链接", - "provider.connect.oauth.auto.visit.suffix": " 并输入以下代码,以连接你的帐户并在 OpenCode 中使用 {{provider}} 模型。", + "provider.connect.oauth.auto.visit.suffix": " 并输入以下代码,以连接你的账户并在 OpenCode 中使用 {{provider}} 模型。", "provider.connect.oauth.auto.confirmationCode": "确认码", "provider.connect.toast.connected.title": "{{provider}} 已连接", "provider.connect.toast.connected.description": "现在可以使用 {{provider}} 模型了。", "provider.custom.title": "自定义提供商", + "provider.custom.unavailable": "此服务器上无法使用自定义提供商", "provider.custom.description.prefix": "配置与 OpenAI 兼容的提供商。请查看", "provider.custom.description.link": "提供商配置文档", "provider.custom.description.suffix": "。", @@ -233,7 +340,7 @@ export const dict = { "model.input.image": "图像", "model.input.audio": "音频", "model.input.video": "视频", - "model.input.pdf": "pdf", + "model.input.pdf": "PDF", "model.tooltip.allows": "支持:{{inputs}}", "model.tooltip.context.label": "上下文", "model.tooltip.inputs": "输入", @@ -253,7 +360,7 @@ export const dict = { "common.clear": "清除", "common.connect": "连接", "common.disconnect": "断开连接", - "common.continue": "提交", + "common.continue": "继续", "common.submit": "提交", "common.save": "保存", "common.saving": "保存中...", @@ -320,18 +427,18 @@ export const dict = { "prompt.toast.pasteUnsupported.description": "此处仅能附加图片、PDF 或文本文件。", "prompt.toast.modelAgentRequired.title": "请选择智能体和模型", "prompt.toast.modelAgentRequired.description": "发送提示前请先选择智能体和模型。", - "prompt.toast.worktreeCreateFailed.title": "创建工作树失败", + "prompt.toast.worktreeCreateFailed.title": "创建工作区失败", "prompt.toast.sessionCreateFailed.title": "创建会话失败", "prompt.toast.shellSendFailed.title": "发送 shell 命令失败", "prompt.toast.commandSendFailed.title": "发送命令失败", "prompt.toast.promptSendFailed.title": "发送提示失败", "prompt.toast.promptSendFailed.description": "无法获取会话", - "dialog.mcp.title": "MCPs", + "dialog.mcp.title": "MCP 服务器", "dialog.mcp.description": "已启用 {{enabled}} / {{total}}", - "dialog.mcp.empty": "未配置 MCPs", + "dialog.mcp.empty": "未配置 MCP 服务器", - "dialog.lsp.empty": "已从文件类型自动检测到 LSPs", + "dialog.lsp.empty": "已根据文件类型自动检测 LSP", "dialog.plugins.empty": "在 opencode.json 中配置的插件", @@ -341,7 +448,7 @@ export const dict = { "mcp.auth.clickToAuthenticate": "点击进行授权", "mcp.status.disabled": "已禁用", - "dialog.fork.empty": "没有可用于分叉的消息", + "dialog.fork.empty": "没有可用于创建新会话的消息", "dialog.directory.search.placeholder": "搜索文件夹", "dialog.directory.empty": "未找到文件夹", @@ -446,6 +553,21 @@ export const dict = { "wsl.onboarding.versionMismatch": "已安装版本与桌面应用版本不一致。", "wsl.onboarding.adding": "正在添加...", + "help.tabs.toast.ariaLabel": "标签页功能介绍。使用标签页整理工作和进行中的会话", + "help.tabs.toast.dismiss": "关闭标签页功能介绍", + "help.tabs.title": "标签页功能介绍", + "help.tabs.description": "使用标签页整理工作和进行中的会话", + "help.tabs.date": "7 月 14 日", + "help.tabs.introduction": "OpenCode Desktop 现已采用以标签页为核心的设计。", + "help.tabs.sessions": + "在标签页中开始新会话,或从任意项目打开现有会话。开始处理新任务时打开新标签页,完成后将其关闭。", + "help.tabs.organize": + "保持打开几个标签页,可更轻松地整理进行中的会话。如果打算保留某个标签页,请为其指定一个便于记忆的名称。", + "help.tabs.home": "你可以在新的主页中找到所有会话和项目。选择会话即可在标签页中将其打开。", + "help.tabs.persistence": "重新打开应用时,标签页仍会保持打开。", + "help.tabs.worktrees": + "新设计暂不支持 Git Worktrees,此功能即将推出。如果希望继续使用之前的布局,可在“设置”中切换布局。请注意,新布局将在几周后永久启用。", + "dialog.project.edit.title": "编辑项目", "dialog.project.edit.name": "名称", "dialog.project.edit.icon": "图标", @@ -453,13 +575,15 @@ export const dict = { "dialog.project.edit.icon.hint": "点击或拖拽图片", "dialog.project.edit.icon.recommended": "建议:128x128px", "dialog.project.edit.color": "颜色", - "dialog.project.edit.color.select": "选择{{color}}颜色", + "dialog.project.edit.color.select": "选择颜色:{{color}}", "dialog.project.edit.worktree.startup": "工作区启动脚本", - "dialog.project.edit.worktree.startup.description": "在创建新的工作区 (worktree) 后运行。", + "dialog.project.edit.worktree.startup.description": "创建新工作区 (worktree) 后运行。", "dialog.project.edit.worktree.startup.placeholder": "例如 bun install", - "context.breakdown.title": "上下文拆分", - "context.breakdown.note": "输入 token 的大致拆分。“其他”包含工具定义和开销。", + "dialog.usageExceeded.dontShowAgain": "不再显示", + + "context.breakdown.title": "上下文细分", + "context.breakdown.note": "输入 token 的大致细分。“其他”包含工具定义和开销。", "context.breakdown.system": "系统", "context.breakdown.user": "用户", "context.breakdown.assistant": "助手", @@ -467,6 +591,8 @@ export const dict = { "context.breakdown.other": "其他", "context.systemPrompt.title": "系统提示词", "context.rawMessages.title": "原始消息", + "context.export.session": "导出会话", + "context.stats.session": "会话", "context.stats.messages": "消息数", "context.stats.provider": "提供商", @@ -511,7 +637,7 @@ export const dict = { "toast.language.title": "语言", "toast.language.description": "已切换到{{language}}", "toast.theme.title": "主题已切换", - "toast.scheme.title": "颜色方案", + "toast.scheme.title": "配色方案", "toast.workspace.enabled.title": "工作区已启用", "toast.workspace.enabled.description": "侧边栏现在显示多个工作树", "toast.workspace.disabled.title": "工作区已禁用", @@ -535,6 +661,11 @@ export const dict = { "toast.session.unshare.success.description": "会话已成功取消分享", "toast.session.unshare.failed.title": "取消分享失败", "toast.session.unshare.failed.description": "取消分享会话时发生错误", + "toast.session.export.success.title": "会话已导出", + "toast.session.export.success.description": "已将会话保存到 {{filename}}", + "toast.session.export.failed.title": "导出会话失败", + "toast.session.export.failed.description": "导出会话时发生错误", + "toast.session.listFailed.title": "无法加载 {{project}} 的会话", "toast.update.title": "有可用更新", "toast.update.description": "OpenCode 有新版本 ({{version}}) 可安装。", @@ -569,7 +700,7 @@ export const dict = { "error.chain.didYouMean": "你是不是想输入:{{suggestions}}", "error.chain.modelNotFound": "未找到模型:{{provider}}/{{model}}", "error.chain.checkConfig": "请检查你的配置 (opencode.json) 中的 provider/model 名称", - "error.chain.mcpFailed": 'MCP 服务器 "{{name}}" 启动失败。注意: OpenCode 暂不支持 MCP 认证。', + "error.chain.mcpFailed": 'MCP 服务器 "{{name}}" 启动失败。注意:OpenCode 暂不支持 MCP 认证。', "error.chain.providerAuthFailed": "提供商认证失败({{provider}}):{{message}}", "error.chain.providerInitFailed": '无法初始化提供商 "{{provider}}"。请检查凭据和配置。', "error.chain.configJsonInvalid": "配置文件 {{path}} 不是有效的 JSON(C)", @@ -607,7 +738,7 @@ export const dict = { "home.sessions.group.today": "今天", "home.sessions.group.yesterday": "昨天", "home.sessions.group.older": "更早", - "home.providerTip": "连接 75 个以上的提供商,使用 Claude、GPT、Gemini 等其他模型", + "home.providerTip": "连接 75 个以上的提供商,使用包括 Claude、GPT、Gemini 在内的更多模型", "session.tab.session": "会话", "session.tab.review": "审查", @@ -618,12 +749,12 @@ export const dict = { "session.error.notFound.description": "此标签页指向的会话已不存在于此服务器上。", "session.error.notFound.closeTab": "关闭标签页", "session.error.serverConnection": "无法连接到此服务器", - "session.review.filesChanged": "{{count}} 个文件变更", + "session.review.filesChanged": "{{count}} 个文件已更改", "session.review.change.one": "更改", "session.review.change.other": "更改", "session.review.loadingChanges": "正在加载更改...", "session.review.empty": "此会话暂无更改", - "session.review.noVcs": "未检测到 Git 版本控制系统,无法显示更改", + "session.review.noVcs": "未检测到 Git,无法显示更改", "session.review.noSnapshot": "配置中已禁用快照跟踪,因此会话更改不可用", "session.review.noChanges": "无更改", "session.review.noUncommittedChanges": "尚无未提交的更改", @@ -641,8 +772,8 @@ export const dict = { "session.todo.title": "待办事项", "session.todo.collapse": "折叠", "session.todo.expand": "展开", - "session.question.minimize": "最小化问题", - "session.question.restore": "恢复问题", + "session.question.minimize": "收起问题", + "session.question.restore": "展开问题", "session.question.pending.one": "{{count}} 个待处理问题", "session.question.pending.other": "{{count}} 个待处理问题", "session.followupDock.summary.one": "{{count}} 条排队消息", @@ -656,7 +787,7 @@ export const dict = { "session.revertDock.collapse": "折叠已回滚消息", "session.revertDock.expand": "展开已回滚消息", "session.revertDock.restore": "恢复消息", - "session.new.title": "构建任何东西", + "session.new.title": "构建任何内容", "session.new.project.new": "新建项目", "session.new.project.search": "搜索项目", "session.new.project.add": "添加项目", @@ -708,6 +839,11 @@ export const dict = { "terminal.close": "关闭终端", "terminal.connectionLost.title": "连接已丢失", "terminal.connectionLost.description": "终端连接已中断。这可能发生在服务器重启时。", + "terminal.connectTicket.csrfError": "PTY 连接票证因来源或 CSRF 检查被拒绝。请检查服务器 CORS 配置。", + "terminal.connectTicket.statusError": "PTY 连接票证失败,状态为 {{status}}", + + "titlebar.update": "更新", + "titlebar.updateVersion": "更新 {{version}}", "common.closeTab": "关闭标签页", "common.dismiss": "忽略", @@ -715,6 +851,7 @@ export const dict = { "common.moreOptions": "更多选项", "common.learnMore": "了解更多", "common.rename": "重命名", + "common.export": "导出", "common.reset": "重置", "common.archive": "归档", "common.delete": "删除", @@ -775,8 +912,8 @@ export const dict = { "settings.general.row.terminalFont.description": "自定义终端使用的字体", "settings.general.row.uiFont.title": "界面字体", "settings.general.row.uiFont.description": "自定义整个界面使用的字体", - "settings.general.row.followup.title": "跟进消息行为", - "settings.general.row.followup.description": "选择跟进提示是立即引导还是在队列中等待", + "settings.general.row.followup.title": "后续消息行为", + "settings.general.row.followup.description": "选择后续提示是立即引导当前会话还是排队等待", "settings.general.row.followup.option.queue": "排队", "settings.general.row.followup.option.steer": "引导", "settings.general.row.showFileTree.title": "文件树", @@ -791,14 +928,14 @@ export const dict = { "settings.general.row.showStatus.description": "在标题栏中显示服务器状态按钮", "settings.general.row.mobileTitlebarBottom.title": "底部导航", "settings.general.row.mobileTitlebarBottom.description": "在移动设备上将标题栏和会话标签页置于屏幕底部", - "settings.general.row.showCustomAgents.title": "自定义智能体", - "settings.general.row.showCustomAgents.description": "在输入框中显示智能体选择器", + "settings.general.row.showCustomAgents.title": "显示智能体", + "settings.general.row.showCustomAgents.description": "在输入框中切换智能体。隐藏时默认使用 Build 智能体。", "settings.general.row.reasoningSummaries.title": "显示推理摘要", "settings.general.row.reasoningSummaries.description": "在时间线中显示模型推理摘要", - "settings.general.row.shellToolPartsExpanded.title": "展开 shell 工具部分", - "settings.general.row.shellToolPartsExpanded.description": "默认在时间线中展开 shell 工具部分", - "settings.general.row.editToolPartsExpanded.title": "展开编辑工具部分", - "settings.general.row.editToolPartsExpanded.description": "默认在时间线中展开 edit、write 和 patch 工具部分", + "settings.general.row.shellToolPartsExpanded.title": "展开 Shell 工具调用", + "settings.general.row.shellToolPartsExpanded.description": "默认在时间线中展开 Shell 工具调用详情", + "settings.general.row.editToolPartsExpanded.title": "展开编辑工具调用", + "settings.general.row.editToolPartsExpanded.description": "默认在时间线中展开 edit、write 和 patch 工具调用详情", "settings.general.row.newInterface.title": "新布局", "settings.general.row.newInterface.badge": "新", "settings.general.row.newInterface.description": "使用新的标签页和主页布局。在有限时间内可在不同布局之间切换。", @@ -806,7 +943,7 @@ export const dict = { "settings.general.row.newInterfaceNotice.description": "之前的布局不再可用", "settings.general.row.newInterfaceNotice.dismiss": "忽略", "settings.general.row.pinchZoom.title": "双指缩放", - "settings.general.row.pinchZoom.description": "允许使用触控板双指捏合和 Ctrl-scroll 手势缩放", + "settings.general.row.pinchZoom.description": "允许使用触控板双指捏合和 Ctrl+滚轮手势缩放", "settings.general.row.wayland.title": "使用原生 Wayland", "settings.general.row.wayland.description": "在 Wayland 上禁用 X11 回退。需要重启。", "settings.general.row.wayland.tooltip": "在混合刷新率显示器的 Linux 系统上,原生 Wayland 可能更稳定。", @@ -835,41 +972,41 @@ export const dict = { "sound.option.alert08": "警报 08", "sound.option.alert09": "警报 09", "sound.option.alert10": "警报 10", - "sound.option.bipbop01": "哔啵 01", - "sound.option.bipbop02": "哔啵 02", - "sound.option.bipbop03": "哔啵 03", - "sound.option.bipbop04": "哔啵 04", - "sound.option.bipbop05": "哔啵 05", - "sound.option.bipbop06": "哔啵 06", - "sound.option.bipbop07": "哔啵 07", - "sound.option.bipbop08": "哔啵 08", - "sound.option.bipbop09": "哔啵 09", - "sound.option.bipbop10": "哔啵 10", - "sound.option.staplebops01": "斯泰普博普斯 01", - "sound.option.staplebops02": "斯泰普博普斯 02", - "sound.option.staplebops03": "斯泰普博普斯 03", - "sound.option.staplebops04": "斯泰普博普斯 04", - "sound.option.staplebops05": "斯泰普博普斯 05", - "sound.option.staplebops06": "斯泰普博普斯 06", - "sound.option.staplebops07": "斯泰普博普斯 07", - "sound.option.nope01": "否 01", - "sound.option.nope02": "否 02", - "sound.option.nope03": "否 03", - "sound.option.nope04": "否 04", - "sound.option.nope05": "否 05", - "sound.option.nope06": "否 06", - "sound.option.nope07": "否 07", - "sound.option.nope08": "否 08", - "sound.option.nope09": "否 09", - "sound.option.nope10": "否 10", - "sound.option.nope11": "否 11", - "sound.option.nope12": "否 12", - "sound.option.yup01": "是 01", - "sound.option.yup02": "是 02", - "sound.option.yup03": "是 03", - "sound.option.yup04": "是 04", - "sound.option.yup05": "是 05", - "sound.option.yup06": "是 06", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "Nope 01", + "sound.option.nope02": "Nope 02", + "sound.option.nope03": "Nope 03", + "sound.option.nope04": "Nope 04", + "sound.option.nope05": "Nope 05", + "sound.option.nope06": "Nope 06", + "sound.option.nope07": "Nope 07", + "sound.option.nope08": "Nope 08", + "sound.option.nope09": "Nope 09", + "sound.option.nope10": "Nope 10", + "sound.option.nope11": "Nope 11", + "sound.option.nope12": "Nope 12", + "sound.option.yup01": "Yup 01", + "sound.option.yup02": "Yup 02", + "sound.option.yup03": "Yup 03", + "sound.option.yup04": "Yup 04", + "sound.option.yup05": "Yup 05", + "sound.option.yup06": "Yup 06", "settings.general.notifications.agent.title": "智能体", "settings.general.notifications.agent.description": "当智能体完成或需要注意时显示系统通知", @@ -902,7 +1039,7 @@ export const dict = { "settings.shortcuts.group.prompt": "提示", "settings.providers.title": "提供商", - "settings.providers.description": "提供商设置将在此处可配置。", + "settings.providers.description": "可在此处配置提供商设置。", "settings.providers.section.connected": "已连接的提供商", "settings.providers.connected.empty": "没有已连接的提供商", "settings.providers.section.popular": "热门提供商", @@ -912,16 +1049,16 @@ export const dict = { "settings.providers.tag.other": "其他", "settings.models.title": "模型", - "settings.models.description": "模型设置将在此处可配置。", + "settings.models.description": "可在此处配置模型设置。", "settings.agents.title": "智能体", - "settings.agents.description": "智能体设置将在此处可配置。", + "settings.agents.description": "可在此处配置智能体设置。", "settings.commands.title": "命令", - "settings.commands.description": "命令设置将在此处可配置。", + "settings.commands.description": "可在此处配置命令设置。", "settings.mcp.title": "MCP", - "settings.mcp.description": "MCP 设置将在此处可配置。", + "settings.mcp.description": "可在此处配置 MCP 设置。", "settings.permissions.title": "权限", "settings.permissions.description": "控制服务器默认可以使用哪些工具。", @@ -933,12 +1070,12 @@ export const dict = { "settings.permissions.tool.read.title": "读取", "settings.permissions.tool.read.description": "读取文件(匹配文件路径)", "settings.permissions.tool.edit.title": "编辑", - "settings.permissions.tool.edit.description": "修改文件,包括编辑、写入、补丁和多重编辑", + "settings.permissions.tool.edit.description": "修改文件,包括编辑、写入和应用补丁", "settings.permissions.tool.glob.title": "Glob", "settings.permissions.tool.glob.description": "使用 glob 模式匹配文件", "settings.permissions.tool.grep.title": "Grep", "settings.permissions.tool.grep.description": "使用正则表达式搜索文件内容", - "settings.permissions.tool.list.title": "列表", + "settings.permissions.tool.list.title": "列出文件", "settings.permissions.tool.list.description": "列出目录中的文件", "settings.permissions.tool.bash.title": "Bash", "settings.permissions.tool.bash.description": "运行 shell 命令", @@ -950,7 +1087,7 @@ export const dict = { "settings.permissions.tool.lsp.description": "运行语言服务器查询", "settings.permissions.tool.todowrite.title": "更新待办", "settings.permissions.tool.todowrite.description": "更新待办列表", - "settings.permissions.tool.webfetch.title": "网页获取", + "settings.permissions.tool.webfetch.title": "获取网页", "settings.permissions.tool.webfetch.description": "从 URL 获取内容", "settings.permissions.tool.websearch.title": "网页搜索", "settings.permissions.tool.websearch.description": "搜索网页", @@ -973,10 +1110,10 @@ export const dict = { "workspace.resetting.description": "这可能需要一点时间。", "workspace.reset.failed.title": "重置工作区失败", "workspace.reset.success.title": "工作区已重置", - "workspace.reset.success.description": "工作区已与默认分支保持一致。", + "workspace.reset.success.description": "工作区现已与默认分支一致。", "workspace.error.stillPreparing": "工作区仍在准备中", "workspace.status.checking": "正在检查未合并的更改...", - "workspace.status.error": "无法验证 git 状态。", + "workspace.status.error": "无法验证 Git 状态。", "workspace.status.clean": "未检测到未合并的更改。", "workspace.status.dirty": "检测到未合并的更改。", "workspace.delete.title": "删除工作区", @@ -993,7 +1130,7 @@ export const dict = { "dialog.releaseNotes.action.getStarted": "开始", "dialog.releaseNotes.action.next": "下一步", "dialog.releaseNotes.action.hideFuture": "不再显示", - "dialog.releaseNotes.media.alt": "发布预览", + "dialog.releaseNotes.media.alt": "版本说明预览", "toast.project.reloadFailed.title": "无法重新加载 {{project}}", "error.server.invalidConfiguration": "配置无效", "common.moreCountSuffix": " (还有 {{count}} 个)", @@ -1018,6 +1155,9 @@ export const dict = { "session.question.progress": "{{current}}/{{total}} 个问题", "session.header.open.finder": "访达", "session.header.open.fileExplorer": "文件资源管理器", + "session.header.reveal.finder": "在访达中显示", + "session.header.reveal.fileExplorer": "在文件资源管理器中显示", + "session.header.reveal.containingFolder": "打开所在文件夹", "session.header.open.fileManager": "文件管理器", "session.header.open.app.vscode": "VS Code", "session.header.open.app.cursor": "Cursor", @@ -1053,6 +1193,14 @@ export const dict = { "debugBar.mem.label": "MEM", "debugBar.mem.tipUnavailable": "使用的 JS 堆与堆限制。仅限 Chromium。", "debugBar.mem.tip": "使用的 JS 堆与堆限制。{{used}} / {{limit}}。", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "强制所有交互元素显示焦点样式", + "debugBar.focus.on": "开", + "debugBar.focus.off": "关", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "在不更改所选语言的情况下,强制设置整个应用的布局方向", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", "common.key.ctrl": "Ctrl", "common.key.alt": "Alt", "common.key.shift": "Shift", diff --git a/packages/app/src/i18n/zht.ts b/packages/app/src/i18n/zht.ts index 6f6682216555..6cc3d555289d 100644 --- a/packages/app/src/i18n/zht.ts +++ b/packages/app/src/i18n/zht.ts @@ -3,6 +3,104 @@ import { dict as en } from "./en" type Keys = keyof typeof en export const dict = { + "desktop.menu.app": "OpenCode", + "desktop.menu.file": "檔案", + "desktop.menu.edit": "編輯", + "desktop.menu.view": "檢視", + "desktop.menu.go": "前往", + "desktop.menu.window": "視窗", + "desktop.menu.help": "說明", + "desktop.menu.checkForUpdates": "檢查更新...", + "desktop.menu.settings": "設定", + "desktop.menu.reloadWebview": "重新載入 Webview", + "desktop.menu.restart": "重新啟動", + "desktop.menu.exportLogs": "匯出記錄檔...", + "desktop.menu.newSession": "新增工作階段", + "desktop.menu.openProject": "開啟專案...", + "desktop.menu.newWindow": "新增視窗", + "desktop.menu.closeWindow": "關閉視窗", + "desktop.menu.undo": "復原", + "desktop.menu.redo": "重做", + "desktop.menu.cut": "剪下", + "desktop.menu.copy": "複製", + "desktop.menu.paste": "貼上", + "desktop.menu.delete": "刪除", + "desktop.menu.selectAll": "全選", + "desktop.menu.toggleSidebar": "切換側邊欄", + "desktop.menu.toggleTerminal": "切換終端機", + "desktop.menu.toggleFileTree": "切換檔案樹", + "desktop.menu.reload": "重新載入", + "desktop.menu.toggleDeveloperTools": "切換開發人員工具", + "desktop.menu.actualSize": "實際大小", + "desktop.menu.zoomIn": "放大", + "desktop.menu.zoomOut": "縮小", + "desktop.menu.toggleFullScreen": "切換全螢幕", + "desktop.menu.back": "上一頁", + "desktop.menu.forward": "下一頁", + "desktop.menu.previousSession": "上一個工作階段", + "desktop.menu.nextSession": "下一個工作階段", + "desktop.menu.previousProject": "上一個專案", + "desktop.menu.nextProject": "下一個專案", + "desktop.menu.minimize": "最小化", + "desktop.menu.maximize": "最大化", + "desktop.menu.documentation": "OpenCode 文件", + "desktop.menu.supportForum": "支援論壇", + "desktop.menu.shareFeedback": "提供意見回饋", + "desktop.menu.reportBug": "回報錯誤", + "desktop.menu.ariaLabel": "OpenCode 選單", + + "desktop.updater.dialog.checkFailed.message": "檢查更新失敗。", + "desktop.updater.dialog.checkFailed.title": "更新錯誤", + "desktop.updater.dialog.upToDate.message": "目前已是最新版本。", + "desktop.updater.dialog.upToDate.title": "沒有更新", + "desktop.updater.dialog.ready.message": "已下載更新 {{version}}。要立即重新啟動嗎?", + "desktop.updater.dialog.ready.title": "更新已就緒", + "desktop.updater.dialog.restart": "重新啟動", + "desktop.updater.dialog.later": "稍後", + + "desktop.recovery.action.relaunch": "重新啟動應用程式", + "desktop.recovery.action.exportLogs": "匯出記錄檔", + "desktop.recovery.action.keepWaiting": "繼續等待", + "desktop.recovery.action.quit": "結束", + "desktop.recovery.loadFailed": "OpenCode 載入失敗", + "desktop.recovery.terminated": "OpenCode 視窗意外終止", + "desktop.recovery.unresponsive": "OpenCode 沒有回應", + "desktop.recovery.unresponsive.detail": "你可以重新啟動應用程式、開啟記錄檔,或繼續等待。", + "desktop.recovery.loadFailed.detail": "視窗:{{window}}\nURL:{{url}}\n錯誤:{{code}} {{description}}", + "desktop.recovery.terminated.detail": "視窗:{{window}}\n原因:{{reason}}\n代碼:{{code}}", + "desktop.recovery.unknown": "<未知>", + + "desktop.dialog.chooseFolder": "選擇資料夾", + "desktop.dialog.chooseFile": "選擇檔案", + "desktop.dialog.saveFile": "儲存檔案", + "desktop.dialog.files": "檔案", + "desktop.server.local": "本機伺服器", + + "desktop.wsl.error.windowsOnly": "WSL 僅適用於 Windows", + "desktop.wsl.error.unavailable": "WSL 無法使用", + "desktop.wsl.error.listInstalled": "無法列出已安裝的 WSL 發行版", + "desktop.wsl.error.listOnline": "無法列出線上 WSL 發行版", + "desktop.wsl.error.executeDistro": "無法在發行版中執行命令", + "desktop.wsl.error.installWsl": "WSL 安裝失敗", + "desktop.wsl.error.installDistro": "無法安裝發行版:{{distro}}", + "desktop.wsl.error.installOpencode": "OpenCode 安裝失敗", + "desktop.wsl.error.alreadyAdded": "已新增 {{distro}}", + "desktop.wsl.error.opencodeMissing": "此發行版中未安裝 opencode", + "desktop.wsl.error.opencodeCannotRun": "已安裝 opencode,但無法執行", + "desktop.wsl.error.opencodeNotInstalled": "{{distro}} 中未安裝 OpenCode", + "desktop.wsl.error.updateVersion": + "OpenCode 更新完成,但 {{distro}} 回報的版本仍為 {{installed}};預期版本為 {{expected}}", + "desktop.wsl.error.noVersion": "無版本資訊", + "desktop.wsl.error.serverExited": "WSL 伺服器在啟動後結束 (code={{code}} signal={{signal}})", + "desktop.wsl.error.serverExitedBeforeHealthy": + "WSL 伺服器在健全狀態確認前結束 (code={{code}} signal={{signal}}){{output}}", + "desktop.wsl.error.healthTimeout": "{{distro}} 的 Sidecar 健全狀態檢查在 {{timeout}}ms 後逾時", + "desktop.wsl.error.commandTimeout": "{{command}} {{args}} 在 {{timeout}}ms 後逾時", + "desktop.wsl.error.failedPort": "無法取得連接埠", + + "desktop.picker.error.notSelected": "檔案選擇器未選取檔案", + "desktop.picker.error.sizeLimit": "所選附件超過 {{limit}} MB 的限制", + "command.category.suggested": "建議", "command.category.view": "檢視", "command.category.project": "專案", @@ -21,6 +119,7 @@ export const dict = { "command.category.workspace": "工作區", "command.category.settings": "設定", + "command.logs.export": "匯出記錄檔", "theme.scheme.system": "系統", "theme.scheme.light": "淺色", "theme.scheme.dark": "深色", @@ -30,23 +129,23 @@ export const dict = { "command.project.previous": "上一個專案", "command.project.next": "下一個專案", "command.project.index": "切換至專案 {{index}}", - "command.provider.connect": "連接提供者", + "command.provider.connect": "連線提供者", "command.server.switch": "切換伺服器", "command.settings.open": "開啟設定", "command.session.previous": "上一個工作階段", "command.session.next": "下一個工作階段", - "command.session.previous.unseen": "上一個未讀會話", - "command.session.next.unseen": "下一個未讀會話", + "command.session.previous.unseen": "上一個未讀工作階段", + "command.session.next.unseen": "下一個未讀工作階段", "command.session.archive": "封存工作階段", "command.palette": "命令面板", - "command.theme.cycle": "循環主題", + "command.theme.cycle": "依序切換主題", "command.theme.set": "使用主題: {{theme}}", - "command.theme.scheme.cycle": "循環配色方案", + "command.theme.scheme.cycle": "依序切換配色方案", "command.theme.scheme.set": "使用配色方案: {{scheme}}", - "command.language.cycle": "循環語言", + "command.language.cycle": "依序切換語言", "command.language.set": "使用語言: {{language}}", "command.session.new": "新增工作階段", @@ -58,9 +157,9 @@ export const dict = { "command.input.focus": "聚焦輸入框", "command.terminal.toggle": "切換終端機", "command.fileTree.toggle": "切換檔案樹", - "command.review.toggle": "切換審查", + "command.review.toggle": "切換檢閱", "command.terminal.new": "新增終端機", - "command.terminal.new.description": "建立新的終端機標籤頁", + "command.terminal.new.description": "建立新的終端機分頁", "command.steps.toggle": "切換步驟", "command.steps.toggle.description": "顯示或隱藏目前訊息的步驟", "command.message.previous": "上一則訊息", @@ -71,11 +170,11 @@ export const dict = { "command.model.choose.description": "選擇不同的模型", "command.mcp.toggle": "切換 MCP", "command.mcp.toggle.description": "切換 MCP", - "command.agent.cycle": "循環代理程式", + "command.agent.cycle": "切換下一個代理程式", "command.agent.cycle.description": "切換到下一個代理程式", - "command.agent.cycle.reverse": "反向循環代理程式", + "command.agent.cycle.reverse": "切換上一個代理程式", "command.agent.cycle.reverse.description": "切換到上一個代理程式", - "command.model.variant.cycle": "循環思考強度", + "command.model.variant.cycle": "切換思考強度", "command.model.variant.cycle.description": "切換到下一個強度等級", "command.prompt.mode.shell": "Shell", "command.prompt.mode.normal": "Prompt", @@ -88,7 +187,7 @@ export const dict = { "command.session.redo": "重做", "command.session.redo.description": "重做上一則復原的訊息", "command.session.compact": "精簡工作階段", - "command.session.compact.description": "總結工作階段以減少上下文大小", + "command.session.compact.description": "摘要工作階段以減少上下文大小", "command.session.fork": "從訊息分支", "command.session.fork.description": "從先前的訊息建立新工作階段", "command.session.share": "分享工作階段", @@ -96,6 +195,9 @@ export const dict = { "command.session.unshare": "取消分享工作階段", "command.session.unshare.description": "停止分享此工作階段", + "command.session.export": "匯出工作階段", + "command.session.export.description": "將完整的工作階段記錄匯出為 JSON", + "palette.search.placeholder": "搜尋檔案、命令和工作階段", "palette.search.placeholder.home": "搜尋命令和工作階段", "palette.empty": "找不到結果", @@ -106,13 +208,14 @@ export const dict = { "dialog.provider.empty": "找不到提供者", "dialog.provider.group.popular": "熱門", "dialog.provider.group.other": "其他", + "dialog.provider.custom.label": "自訂 OpenAI 相容提供者", "dialog.provider.tag.recommended": "推薦", "dialog.provider.opencode.note": "精選模型,包含 Claude、GPT、Gemini 等等", - "dialog.provider.opencode.tagline": "可靠的優化模型", + "dialog.provider.opencode.tagline": "經過最佳化的可靠模型", "dialog.provider.opencodeGo.tagline": "適合所有人的低成本訂閱", - "dialog.provider.anthropic.note": "使用 Claude Pro/Max 或 API 金鑰連線", - "dialog.provider.openai.note": "使用 ChatGPT Pro/Plus 或 API 金鑰連線", - "dialog.provider.copilot.note": "使用 Copilot 或 API 金鑰連線", + "dialog.provider.anthropic.note": "直接存取 Claude 模型,包括 Pro 和 Max", + "dialog.provider.openai.note": "適合快速且功能強大的通用 AI 工作之 GPT 模型", + "dialog.provider.copilot.note": "透過 GitHub Copilot 使用程式設計輔助 AI 模型", "dialog.provider.google.note": "Gemini 模型,提供快速且結構化的回應", "dialog.provider.openrouter.note": "從單一提供者存取所有支援的模型", "dialog.provider.vercel.note": "透過智慧路由統一存取 AI 模型", @@ -126,6 +229,7 @@ export const dict = { "dialog.model.unpaid.freeModels.title": "OpenCode 提供的免費模型", "dialog.model.unpaid.addMore.title": "從熱門提供者新增更多模型", + "dialog.model.unpaid.viewMoreProviders": "查看另外 70 多個提供者", "dialog.provider.viewAll": "查看更多提供者", @@ -133,6 +237,8 @@ export const dict = { "provider.connect.title.anthropicProMax": "使用 Claude Pro/Max 登入", "provider.connect.selectMethod": "選擇 {{provider}} 的登入方式。", "provider.connect.method.apiKey": "API 金鑰", + "provider.connect.method.browser": "瀏覽器", + "provider.connect.method.headless": "無頭模式", "provider.connect.status.inProgress": "正在授權...", "provider.connect.status.waiting": "等待授權...", "provider.connect.status.failed": "授權失敗: {{error}}", @@ -161,16 +267,17 @@ export const dict = { "provider.connect.toast.connected.title": "{{provider}} 已連線", "provider.connect.toast.connected.description": "現在可以使用 {{provider}} 模型了。", - "provider.custom.title": "自訂提供商", - "provider.custom.description.prefix": "設定與 OpenAI 相容的提供商。請參閱", - "provider.custom.description.link": "提供商設定文件", + "provider.custom.title": "自訂提供者", + "provider.custom.unavailable": "此伺服器無法使用自訂提供者", + "provider.custom.description.prefix": "設定與 OpenAI 相容的提供者。請參閱", + "provider.custom.description.link": "提供者設定文件", "provider.custom.description.suffix": "。", - "provider.custom.field.providerID.label": "提供商 ID", + "provider.custom.field.providerID.label": "提供者 ID", "provider.custom.field.providerID.placeholder": "myprovider", "provider.custom.field.providerID.description": "使用小寫字母、數字、連字號或底線", "provider.custom.field.name.label": "顯示名稱", - "provider.custom.field.name.placeholder": "我的 AI 提供商", - "provider.custom.field.baseURL.label": "基礎 URL", + "provider.custom.field.name.placeholder": "我的 AI 提供者", + "provider.custom.field.baseURL.label": "基底 URL", "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1", "provider.custom.field.apiKey.label": "API 金鑰", "provider.custom.field.apiKey.placeholder": "API 金鑰", @@ -189,11 +296,11 @@ export const dict = { "provider.custom.headers.value.placeholder": "value", "provider.custom.headers.remove": "移除標頭", "provider.custom.headers.add": "新增標頭", - "provider.custom.error.providerID.required": "提供商 ID 為必填", + "provider.custom.error.providerID.required": "提供者 ID 為必填", "provider.custom.error.providerID.format": "請使用小寫字母、數字、連字號或底線", - "provider.custom.error.providerID.exists": "該提供商 ID 已存在", + "provider.custom.error.providerID.exists": "該提供者 ID 已存在", "provider.custom.error.name.required": "顯示名稱為必填", - "provider.custom.error.baseURL.required": "基礎 URL 為必填", + "provider.custom.error.baseURL.required": "基底 URL 為必填", "provider.custom.error.baseURL.format": "必須以 http:// 或 https:// 開頭", "provider.custom.error.required": "必填", "provider.custom.error.duplicate": "重複", @@ -212,12 +319,12 @@ export const dict = { "model.input.image": "圖片", "model.input.audio": "音訊", "model.input.video": "影片", - "model.input.pdf": "pdf", + "model.input.pdf": "PDF", "model.tooltip.allows": "支援: {{inputs}}", "model.tooltip.context.label": "上下文", "model.tooltip.inputs": "輸入", "model.tooltip.model": "模型", - "model.tooltip.provider": "供應商", + "model.tooltip.provider": "提供者", "model.tooltip.reasoning": "推理", "model.tooltip.reasoning.allowed": "支援推理", "model.tooltip.reasoning.none": "不支援推理", @@ -231,7 +338,7 @@ export const dict = { "common.clear": "清除", "common.connect": "連線", "common.disconnect": "中斷連線", - "common.continue": "提交", + "common.continue": "繼續", "common.submit": "提交", "common.save": "儲存", "common.saving": "儲存中...", @@ -239,10 +346,10 @@ export const dict = { "common.attachment": "附件", "prompt.placeholder.shell": "輸入 shell 命令... {{example}}", - "prompt.placeholder.normal": '隨便問點什麼... "{{example}}"', - "prompt.placeholder.simple": "隨便問點什麼...", - "prompt.placeholder.summarizeComments": "摘要評論…", - "prompt.placeholder.summarizeComment": "摘要這則評論…", + "prompt.placeholder.normal": "想問什麼都可以…「{{example}}」", + "prompt.placeholder.simple": "想問什麼都可以…", + "prompt.placeholder.summarizeComments": "摘要留言…", + "prompt.placeholder.summarizeComment": "摘要這則留言…", "prompt.mode.shell": "Shell", "prompt.mode.normal": "Prompt", "prompt.mode.shell.exit": "按 esc 退出", @@ -250,30 +357,30 @@ export const dict = { "session.child.backToParent": "返回主要工作階段。", "prompt.example.1": "修復程式碼庫中的一個 TODO", - "prompt.example.2": "這個專案的技術堆疊是什麼?", + "prompt.example.2": "這個專案的技術堆疊是什麼?", "prompt.example.3": "修復失敗的測試", "prompt.example.4": "解釋驗證是如何運作的", "prompt.example.5": "尋找並修復安全漏洞", "prompt.example.6": "為使用者服務新增單元測試", "prompt.example.7": "重構這個函式,讓它更易讀", - "prompt.example.8": "這個錯誤是什麼意思?", + "prompt.example.8": "這個錯誤是什麼意思?", "prompt.example.9": "幫我偵錯這個問題", "prompt.example.10": "產生 API 文件", "prompt.example.11": "最佳化資料庫查詢", "prompt.example.12": "新增輸入驗證", "prompt.example.13": "建立一個新的元件用於...", - "prompt.example.14": "我該如何部署這個專案?", - "prompt.example.15": "審查我的程式碼並給出最佳實務建議", + "prompt.example.14": "我該如何部署這個專案?", + "prompt.example.15": "檢閱我的程式碼並提供最佳實務建議", "prompt.example.16": "為這個函式新增錯誤處理", "prompt.example.17": "解釋這個正規表示式", "prompt.example.18": "把它轉換成 TypeScript", - "prompt.example.19": "在整個程式碼庫中新增日誌", - "prompt.example.20": "哪些相依性已經過期?", + "prompt.example.19": "在整個程式碼庫中加入記錄功能", + "prompt.example.20": "哪些相依性已經過期?", "prompt.example.21": "幫我寫一個遷移腳本", "prompt.example.22": "為這個端點實作快取", - "prompt.example.23": "給這個清單新增分頁", + "prompt.example.23": "為這份清單加入分頁功能", "prompt.example.24": "建立一個 CLI 命令用於...", - "prompt.example.25": "這裡的環境變數是怎麼運作的?", + "prompt.example.25": "這裡的環境變數是怎麼運作的?", "prompt.popover.emptyResults": "沒有符合的結果", "prompt.popover.emptyCommands": "沒有符合的命令", @@ -312,13 +419,13 @@ export const dict = { "dialog.mcp.description": "已啟用 {{enabled}} / {{total}}", "dialog.mcp.empty": "未設定 MCP", - "dialog.lsp.empty": "已從檔案類型自動偵測到 LSPs", + "dialog.lsp.empty": "會根據檔案類型自動偵測 LSP", "dialog.plugins.empty": "在 opencode.json 中設定的外掛程式", "mcp.status.connected": "已連線", "mcp.status.failed": "失敗", "mcp.status.needs_auth": "需要授權", - "mcp.auth.clickToAuthenticate": "點擊以進行授權", + "mcp.auth.clickToAuthenticate": "按一下以進行授權", "mcp.status.disabled": "已停用", "dialog.fork.empty": "沒有可用於分支的訊息", @@ -334,7 +441,7 @@ export const dict = { "dialog.server.title": "伺服器", "dialog.server.description": "切換此應用程式連線的 OpenCode 伺服器。", "dialog.server.search.placeholder": "搜尋伺服器", - "dialog.server.empty": "暫無伺服器", + "dialog.server.empty": "尚無伺服器", "dialog.server.add.title": "新增伺服器", "dialog.server.add.url": "伺服器 URL", "dialog.server.add.placeholder": "http://localhost:4096", @@ -347,7 +454,7 @@ export const dict = { "dialog.server.add.password": "密碼(選填)", "dialog.server.edit.title": "編輯伺服器", "dialog.server.default.title": "預設伺服器", - "dialog.server.default.description": "應用程式啟動時連線此伺服器,而不是啟動本地伺服器。需要重新啟動。", + "dialog.server.default.description": "應用程式啟動時連線此伺服器,而不是啟動本機伺服器。需要重新啟動。", "dialog.server.default.none": "未選擇伺服器", "dialog.server.default.set": "將目前伺服器設為預設", "dialog.server.default.clear": "清除", @@ -427,11 +534,26 @@ export const dict = { "wsl.onboarding.versionMismatch": "已安裝版本與桌面應用程式版本不符。", "wsl.onboarding.adding": "新增中...", + "help.tabs.toast.ariaLabel": "分頁功能介紹。使用分頁整理工作和進行中的工作階段", + "help.tabs.toast.dismiss": "關閉分頁功能資訊", + "help.tabs.title": "分頁功能介紹", + "help.tabs.description": "使用分頁整理工作和進行中的工作階段", + "help.tabs.date": "7 月 14 日", + "help.tabs.introduction": "OpenCode Desktop 現在以分頁為核心。", + "help.tabs.sessions": + "在分頁中開始新的工作階段,或從任一專案開啟現有的工作階段。開始新工作時請開啟新分頁,完成後再將其關閉。", + "help.tabs.organize": + "同時開啟幾個分頁,可讓進行中的工作階段更容易整理。如果打算保留分頁,請將其重新命名為容易記住的名稱。", + "help.tabs.home": "你可以在新的首頁找到所有工作階段和專案。選取工作階段即可在分頁中開啟。", + "help.tabs.persistence": "重新開啟應用程式時,分頁仍會保持開啟。", + "help.tabs.worktrees": + "新版設計尚未支援 Git Worktrees,此功能即將推出。如果你偏好繼續使用先前的版面,可以在設定中切換版面。請留意,新版面將在幾週後成為永久版面。", + "dialog.project.edit.title": "編輯專案", "dialog.project.edit.name": "名稱", "dialog.project.edit.icon": "圖示", "dialog.project.edit.icon.alt": "專案圖示", - "dialog.project.edit.icon.hint": "點擊或拖曳圖片", + "dialog.project.edit.icon.hint": "按一下或拖曳圖片", "dialog.project.edit.icon.recommended": "建議:128x128px", "dialog.project.edit.color": "顏色", "dialog.project.edit.color.select": "選擇{{color}}顏色", @@ -439,17 +561,21 @@ export const dict = { "dialog.project.edit.worktree.startup": "工作區啟動腳本", "dialog.project.edit.worktree.startup.description": "在建立新的工作區 (worktree) 後執行。", "dialog.project.edit.worktree.startup.placeholder": "例如 bun install", - "context.breakdown.title": "上下文拆分", - "context.breakdown.note": "輸入 token 的大致拆分。「其他」包含工具定義和額外開銷。", + "dialog.usageExceeded.dontShowAgain": "不再顯示", + + "context.breakdown.title": "上下文細分", + "context.breakdown.note": "輸入 token 的概略細分。「其他」包含工具定義和額外負擔。", "context.breakdown.system": "系統", "context.breakdown.user": "使用者", - "context.breakdown.assistant": "助手", + "context.breakdown.assistant": "助理", "context.breakdown.tool": "工具呼叫", "context.breakdown.other": "其他", "context.systemPrompt.title": "系統提示詞", "context.rawMessages.title": "原始訊息", + "context.export.session": "匯出工作階段", + "context.stats.session": "工作階段", "context.stats.messages": "訊息數", "context.stats.provider": "提供者", @@ -462,7 +588,7 @@ export const dict = { "context.stats.reasoningTokens": "推理 token", "context.stats.cacheTokens": "快取 token(讀/寫)", "context.stats.userMessages": "使用者訊息", - "context.stats.assistantMessages": "助手訊息", + "context.stats.assistantMessages": "助理訊息", "context.stats.totalCost": "總成本", "context.stats.sessionCreated": "建立時間", "context.stats.lastActivity": "最後活動", @@ -470,7 +596,7 @@ export const dict = { "context.usage.tokens": "Token", "context.usage.usage": "使用量", "context.usage.cost": "成本", - "context.usage.clickToView": "點擊查看上下文", + "context.usage.clickToView": "按一下以檢視上下文", "context.usage.view": "檢視上下文用量", "language.en": "English", @@ -496,7 +622,7 @@ export const dict = { "toast.language.description": "已切換到 {{language}}", "toast.theme.title": "主題已切換", - "toast.scheme.title": "顏色方案", + "toast.scheme.title": "配色方案", "toast.workspace.enabled.title": "工作區已啟用", "toast.workspace.enabled.description": "側邊欄現在顯示多個工作樹", @@ -504,12 +630,12 @@ export const dict = { "toast.workspace.disabled.description": "側邊欄只顯示主工作樹", "toast.permissions.autoaccept.on.title": "正在自動接受權限", - "toast.permissions.autoaccept.on.description": "權限請求將被自動批准", + "toast.permissions.autoaccept.on.description": "權限要求將自動獲准", "toast.permissions.autoaccept.off.title": "已停止自動接受權限", - "toast.permissions.autoaccept.off.description": "權限請求將需要批准", + "toast.permissions.autoaccept.off.description": "權限要求將需要核准", "toast.model.none.title": "未選擇模型", - "toast.model.none.description": "請先連線提供者以總結此工作階段", + "toast.model.none.description": "請先連線提供者以摘要此工作階段", "toast.file.loadFailed.title": "載入檔案失敗", @@ -527,6 +653,11 @@ export const dict = { "toast.session.unshare.failed.title": "取消分享失敗", "toast.session.unshare.failed.description": "取消分享工作階段時發生錯誤", + "toast.session.export.success.title": "工作階段已匯出", + "toast.session.export.success.description": "已將工作階段儲存至 {{filename}}", + "toast.session.export.failed.title": "匯出工作階段失敗", + "toast.session.export.failed.description": "匯出工作階段時發生錯誤", + "toast.session.listFailed.title": "無法載入 {{project}} 的工作階段", "toast.update.title": "有可用更新", @@ -541,7 +672,7 @@ export const dict = { "error.page.action.restart": "重新啟動", "error.page.action.report": "回報錯誤", "error.page.action.reported": "已回報錯誤", - "error.page.action.exportLogs": "匯出日誌", + "error.page.action.exportLogs": "匯出記錄檔", "error.page.action.checking": "檢查中...", "error.page.action.checkUpdates": "檢查更新", "error.page.action.updateTo": "更新到 {{version}}", @@ -549,9 +680,9 @@ export const dict = { "error.page.report.discord": "在 Discord 上", "error.page.version": "版本: {{version}}", - "error.dev.rootNotFound": "找不到根元素。你是不是忘了把它新增到 index.html? 或者 id 屬性拼錯了?", + "error.dev.rootNotFound": "找不到根元素。你是不是忘了把它新增到 index.html?或者 id 屬性拼錯了?", - "error.serverSync.connectFailed": "無法連線到伺服器。是否有伺服器正在 `{{url}}` 執行?", + "error.serverSync.connectFailed": "無法連線到伺服器。是否有伺服器正在 `{{url}}` 執行?", "directory.error.invalidUrl": "URL 中的目錄無效。", "error.chain.unknown": "未知錯誤", @@ -563,8 +694,8 @@ export const dict = { "error.chain.didYouMean": "你是不是想輸入: {{suggestions}}", "error.chain.modelNotFound": "找不到模型: {{provider}}/{{model}}", "error.chain.checkConfig": "請檢查你的設定 (opencode.json) 中的 provider/model 名稱", - "error.chain.mcpFailed": 'MCP 伺服器 "{{name}}" 啟動失敗。注意: OpenCode 暫不支援 MCP 認證。', - "error.chain.providerAuthFailed": "提供者認證失敗 ({{provider}}): {{message}}", + "error.chain.mcpFailed": "MCP 伺服器「{{name}}」啟動失敗。注意:OpenCode 尚不支援 MCP 驗證。", + "error.chain.providerAuthFailed": "提供者驗證失敗({{provider}}):{{message}}", "error.chain.providerInitFailed": '無法初始化提供者 "{{provider}}"。請檢查憑證和設定。', "error.chain.configJsonInvalid": "設定檔 {{path}} 不是有效的 JSON(C)", "error.chain.configJsonInvalidWithMessage": "設定檔 {{path}} 不是有效的 JSON(C): {{message}}", @@ -586,7 +717,7 @@ export const dict = { "home.recentProjects": "最近專案", "home.empty.title": "沒有最近專案", - "home.empty.description": "透過開啟本地專案開始使用", + "home.empty.description": "開啟本機專案以開始使用", "home.title": "首頁", "home.projects": "專案", "home.project.add": "新增專案", @@ -602,13 +733,13 @@ export const dict = { "home.sessions.group.today": "今天", "home.sessions.group.yesterday": "昨天", "home.sessions.group.older": "更早", - "home.providerTip": "連接 75 個以上的供應商,使用 Claude、GPT、Gemini 等其他模型", + "home.providerTip": "連線 75 個以上的提供者,使用 Claude、GPT、Gemini 等其他模型", "session.tab.session": "工作階段", - "session.tab.review": "審查", + "session.tab.review": "檢閱", "session.tab.context": "上下文", "session.tab.unknown": "未知的工作階段", - "session.panel.reviewAndFiles": "審查與檔案", + "session.panel.reviewAndFiles": "檢閱與檔案", "session.error.notFound": "找不到此工作階段", "session.error.notFound.description": "此分頁指向的工作階段已不存在於此伺服器。", "session.error.notFound.closeTab": "關閉分頁", @@ -617,7 +748,7 @@ export const dict = { "session.review.change.one": "變更", "session.review.change.other": "變更", "session.review.loadingChanges": "正在載入變更...", - "session.review.empty": "此工作階段暫無變更", + "session.review.empty": "此工作階段尚無變更", "session.review.noChanges": "沒有變更", "session.review.noUncommittedChanges": "尚無未提交的變更", "session.review.noBranchChanges": "尚無分支變更", @@ -635,7 +766,7 @@ export const dict = { "session.messages.jumpToLatest": "跳到最新", "session.context.addToContext": "將 {{selection}} 新增到上下文", "session.todo.title": "待辦事項", - "session.todo.collapse": "折疊", + "session.todo.collapse": "收合", "session.todo.expand": "展開", "session.question.minimize": "最小化問題", "session.question.restore": "還原問題", @@ -647,13 +778,13 @@ export const dict = { "session.followupDock.edit": "編輯", "session.followupDock.collapse": "收合佇列訊息", "session.followupDock.expand": "展開佇列訊息", - "session.revertDock.summary.one": "{{count}} 則已回復訊息", - "session.revertDock.summary.other": "{{count}} 則已回復訊息", - "session.revertDock.collapse": "收合已回復訊息", - "session.revertDock.expand": "展開已回復訊息", + "session.revertDock.summary.one": "{{count}} 則已還原的訊息", + "session.revertDock.summary.other": "{{count}} 則已還原的訊息", + "session.revertDock.collapse": "收合已還原的訊息", + "session.revertDock.expand": "展開已還原的訊息", "session.revertDock.restore": "還原訊息", - "session.new.title": "建構任何東西", + "session.new.title": "實現任何想法", "session.new.project.new": "新專案", "session.new.project.search": "搜尋專案", "session.new.project.add": "新增專案", @@ -706,12 +837,18 @@ export const dict = { "terminal.connectionLost.title": "連線中斷", "terminal.connectionLost.description": "終端機連線已中斷。這可能會在伺服器重新啟動時發生。", - "common.closeTab": "關閉標籤頁", + "terminal.connectTicket.csrfError": "PTY 連線票證因來源或 CSRF 檢查而遭拒。請檢查伺服器 CORS 設定。", + "terminal.connectTicket.statusError": "PTY 連線票證失敗,狀態為 {{status}}", + + "titlebar.update": "更新", + "titlebar.updateVersion": "更新 {{version}}", + "common.closeTab": "關閉分頁", "common.dismiss": "忽略", "common.requestFailed": "要求失敗", "common.moreOptions": "更多選項", "common.learnMore": "深入了解", "common.rename": "重新命名", + "common.export": "匯出", "common.reset": "重設", "common.archive": "封存", "common.delete": "刪除", @@ -832,41 +969,41 @@ export const dict = { "sound.option.alert08": "警報 08", "sound.option.alert09": "警報 09", "sound.option.alert10": "警報 10", - "sound.option.bipbop01": "嗶啵 01", - "sound.option.bipbop02": "嗶啵 02", - "sound.option.bipbop03": "嗶啵 03", - "sound.option.bipbop04": "嗶啵 04", - "sound.option.bipbop05": "嗶啵 05", - "sound.option.bipbop06": "嗶啵 06", - "sound.option.bipbop07": "嗶啵 07", - "sound.option.bipbop08": "嗶啵 08", - "sound.option.bipbop09": "嗶啵 09", - "sound.option.bipbop10": "嗶啵 10", - "sound.option.staplebops01": "斯泰普博普斯 01", - "sound.option.staplebops02": "斯泰普博普斯 02", - "sound.option.staplebops03": "斯泰普博普斯 03", - "sound.option.staplebops04": "斯泰普博普斯 04", - "sound.option.staplebops05": "斯泰普博普斯 05", - "sound.option.staplebops06": "斯泰普博普斯 06", - "sound.option.staplebops07": "斯泰普博普斯 07", - "sound.option.nope01": "否 01", - "sound.option.nope02": "否 02", - "sound.option.nope03": "否 03", - "sound.option.nope04": "否 04", - "sound.option.nope05": "否 05", - "sound.option.nope06": "否 06", - "sound.option.nope07": "否 07", - "sound.option.nope08": "否 08", - "sound.option.nope09": "否 09", - "sound.option.nope10": "否 10", - "sound.option.nope11": "否 11", - "sound.option.nope12": "否 12", - "sound.option.yup01": "是 01", - "sound.option.yup02": "是 02", - "sound.option.yup03": "是 03", - "sound.option.yup04": "是 04", - "sound.option.yup05": "是 05", - "sound.option.yup06": "是 06", + "sound.option.bipbop01": "Bip-bop 01", + "sound.option.bipbop02": "Bip-bop 02", + "sound.option.bipbop03": "Bip-bop 03", + "sound.option.bipbop04": "Bip-bop 04", + "sound.option.bipbop05": "Bip-bop 05", + "sound.option.bipbop06": "Bip-bop 06", + "sound.option.bipbop07": "Bip-bop 07", + "sound.option.bipbop08": "Bip-bop 08", + "sound.option.bipbop09": "Bip-bop 09", + "sound.option.bipbop10": "Bip-bop 10", + "sound.option.staplebops01": "Staplebops 01", + "sound.option.staplebops02": "Staplebops 02", + "sound.option.staplebops03": "Staplebops 03", + "sound.option.staplebops04": "Staplebops 04", + "sound.option.staplebops05": "Staplebops 05", + "sound.option.staplebops06": "Staplebops 06", + "sound.option.staplebops07": "Staplebops 07", + "sound.option.nope01": "Nope 01", + "sound.option.nope02": "Nope 02", + "sound.option.nope03": "Nope 03", + "sound.option.nope04": "Nope 04", + "sound.option.nope05": "Nope 05", + "sound.option.nope06": "Nope 06", + "sound.option.nope07": "Nope 07", + "sound.option.nope08": "Nope 08", + "sound.option.nope09": "Nope 09", + "sound.option.nope10": "Nope 10", + "sound.option.nope11": "Nope 11", + "sound.option.nope12": "Nope 12", + "sound.option.yup01": "Yup 01", + "sound.option.yup02": "Yup 02", + "sound.option.yup03": "Yup 03", + "sound.option.yup04": "Yup 04", + "sound.option.yup05": "Yup 05", + "sound.option.yup06": "Yup 06", "settings.general.notifications.agent.title": "代理程式", "settings.general.notifications.agent.description": "當代理程式完成或需要注意時顯示系統通知", "settings.general.notifications.permissions.title": "權限", @@ -901,11 +1038,11 @@ export const dict = { "settings.providers.title": "提供者", "settings.providers.description": "提供者設定將在此處可設定。", - "settings.providers.section.connected": "已連線的提供商", - "settings.providers.connected.empty": "沒有已連線的提供商", - "settings.providers.section.popular": "熱門提供商", + "settings.providers.section.connected": "已連線的提供者", + "settings.providers.connected.empty": "沒有已連線的提供者", + "settings.providers.section.popular": "熱門提供者", "settings.providers.tag.environment": "環境", - "settings.providers.tag.config": "配置", + "settings.providers.tag.config": "設定", "settings.providers.tag.custom": "自訂", "settings.providers.tag.other": "其他", "settings.models.title": "模型", @@ -957,11 +1094,11 @@ export const dict = { "session.delete.failed.title": "刪除工作階段失敗", "session.delete.title": "刪除工作階段", - "session.delete.confirm": '刪除工作階段 "{{name}}"?', + "session.delete.confirm": "要刪除工作階段「{{name}}」嗎?", "session.delete.button": "刪除工作階段", "workspace.new": "新增工作區", - "workspace.type.local": "本地", + "workspace.type.local": "本機", "workspace.type.sandbox": "沙盒", "workspace.create.failed.title": "建立工作區失敗", "workspace.delete.failed.title": "刪除工作區失敗", @@ -969,27 +1106,27 @@ export const dict = { "workspace.resetting.description": "這可能需要一點時間。", "workspace.reset.failed.title": "重設工作區失敗", "workspace.reset.success.title": "工作區已重設", - "workspace.reset.success.description": "工作區已與預設分支保持一致。", + "workspace.reset.success.description": "工作區現在與預設分支一致。", "workspace.error.stillPreparing": "工作區仍在準備中", "workspace.status.checking": "正在檢查未合併的變更...", - "workspace.status.error": "無法驗證 git 狀態。", + "workspace.status.error": "無法驗證 Git 狀態。", "workspace.status.clean": "未偵測到未合併的變更。", "workspace.status.dirty": "偵測到未合併的變更。", "workspace.delete.title": "刪除工作區", - "workspace.delete.confirm": '刪除工作區 "{{name}}"?', + "workspace.delete.confirm": "要刪除工作區「{{name}}」嗎?", "workspace.delete.button": "刪除工作區", "workspace.reset.title": "重設工作區", - "workspace.reset.confirm": '重設工作區 "{{name}}"?', + "workspace.reset.confirm": "要重設工作區「{{name}}」嗎?", "workspace.reset.button": "重設工作區", "workspace.reset.archived.none": "不會封存任何作用中工作階段。", "workspace.reset.archived.one": "將封存 1 個工作階段。", "workspace.reset.archived.many": "將封存 {{count}} 個工作階段。", "workspace.reset.note": "這將把工作區重設為與預設分支一致。", - "common.open": "打開", + "common.open": "開啟", "dialog.releaseNotes.action.getStarted": "開始", "dialog.releaseNotes.action.next": "下一步", "dialog.releaseNotes.action.hideFuture": "不再顯示", - "dialog.releaseNotes.media.alt": "發佈預覽", + "dialog.releaseNotes.media.alt": "版本預覽", "toast.project.reloadFailed.title": "無法重新載入 {{project}}", "error.server.invalidConfiguration": "無效的設定", "common.moreCountSuffix": " (還有 {{count}} 個)", @@ -998,7 +1135,7 @@ export const dict = { "common.time.hoursAgo.short": "{{count}}小時前", "common.time.daysAgo.short": "{{count}}天前", "settings.providers.connected.environmentDescription": "已從環境變數連線", - "settings.providers.custom.description": "透過基本 URL 新增與 OpenAI 相容的提供者。", + "settings.providers.custom.description": "透過基底 URL 新增與 OpenAI 相容的提供者。", "app.server.unreachable": "無法連線至 {{server}}", "app.server.retrying": "正在自動重試...", @@ -1014,6 +1151,9 @@ export const dict = { "session.question.progress": "{{current}}/{{total}} 個問題", "session.header.open.finder": "Finder", "session.header.open.fileExplorer": "檔案總管", + "session.header.reveal.finder": "在 Finder 中顯示", + "session.header.reveal.fileExplorer": "在檔案總管中顯示", + "session.header.reveal.containingFolder": "開啟所在的檔案夾", "session.header.open.fileManager": "檔案管理員", "session.header.open.app.vscode": "VS Code", "session.header.open.app.cursor": "Cursor", @@ -1033,11 +1173,11 @@ export const dict = { "debugBar.nav.label": "NAV", "debugBar.nav.tip": "最後一次完成的涉及工作階段頁面的路由轉換,從路由器啟動到穩定後的第一次繪製。", "debugBar.fps.label": "FPS", - "debugBar.fps.tip": "過去 5 秒內的滾動幀率。", + "debugBar.fps.tip": "過去 5 秒內的移動影格率。", "debugBar.frame.label": "FRAME", - "debugBar.frame.tip": "過去 5 秒內最差的幀時間。", + "debugBar.frame.tip": "過去 5 秒內最差的影格時間。", "debugBar.jank.label": "JANK", - "debugBar.jank.tip": "過去 5 秒內超過 32ms 的幀。", + "debugBar.jank.tip": "過去 5 秒內超過 32ms 的影格。", "debugBar.long.label": "LONG", "debugBar.long.tip": "過去 5 秒內的阻塞時間和長任務計數。最大任務:{{max}}。", "debugBar.delay.label": "DELAY", @@ -1049,6 +1189,14 @@ export const dict = { "debugBar.mem.label": "MEM", "debugBar.mem.tipUnavailable": "使用的 JS 堆積與堆積限制。僅限 Chromium。", "debugBar.mem.tip": "使用的 JS 堆積與堆積限制。{{used}} / {{limit}}。", + "debugBar.focus.label": "FOCUS", + "debugBar.focus.tip": "強制所有互動元素顯示焦點樣式", + "debugBar.focus.on": "開啟", + "debugBar.focus.off": "關閉", + "debugBar.direction.label": "DIR", + "debugBar.direction.tip": "在不變更所選語言的情況下,強制設定整個應用程式的版面配置方向", + "debugBar.direction.ltr": "LTR", + "debugBar.direction.rtl": "RTL", "common.key.ctrl": "Ctrl", "common.key.alt": "Alt", "common.key.shift": "Shift", diff --git a/packages/app/src/index.ts b/packages/app/src/index.ts index 2267ebf08168..0e0ed0286f8e 100644 --- a/packages/app/src/index.ts +++ b/packages/app/src/index.ts @@ -8,7 +8,7 @@ export { useTabs } from "./context/tabs" export { useProviders } from "./hooks/use-providers" export { ACCEPTED_FILE_EXTENSIONS, ACCEPTED_FILE_TYPES, filePickerFilters } from "./constants/file-picker" export { useCommand } from "./context/command" -export { loadLocaleDict, normalizeLocale, type Locale } from "./context/language" +export { loadLocaleDict, normalizeLocale, type Locale, useLanguage } from "./context/language" export { useWslServers } from "./wsl/context" export { type DisplayBackend, type FatalRendererErrorLog, type Platform, PlatformProvider } from "./context/platform" export { type UpdaterPlatform, type UpdaterState } from "./updater" @@ -27,3 +27,4 @@ export { type WslServersState, } from "./wsl/types" export { ServerConnection } from "./context/server" +export { createDraftStore, type DraftStore } from "./utils/draft-store" diff --git a/packages/app/src/pages/home/home-controller.ts b/packages/app/src/pages/home/home-controller.ts index 5e7e50cfc49a..8b67533629af 100644 --- a/packages/app/src/pages/home/home-controller.ts +++ b/packages/app/src/pages/home/home-controller.ts @@ -90,7 +90,20 @@ export function createHomeController() { const directory = directories[0] if (!directory) return const ctx = global.ensureServerCtx(conn) - directories.forEach((item) => ctx.projects.open(item)) + directories.forEach((item) => { + if (ctx.projects.list().some((project) => project.worktree === item)) return + const location = { directory: item } + void ctx.sdk.api.file + .list({ path: ".", location }) + .then(async (files) => { + if (files.data.length > 0) return ctx.sdk.api.project.current({ location }) + const result = await ctx.sdk.client.project.initGit({ directory: item }) + return result.data ?? ctx.sdk.api.project.current({ location }) + }) + .then((project) => ctx.sync.child(item, { bootstrap: false })[1]("project", project.id)) + .catch(() => undefined) + ctx.projects.open(item) + }) ctx.projects.touch(directory) setSelection({ server: ServerConnection.key(conn), directory }) }, diff --git a/packages/app/src/pages/home/home-projects-view.tsx b/packages/app/src/pages/home/home-projects-view.tsx index d80d4a942fde..eebb0d574882 100644 --- a/packages/app/src/pages/home/home-projects-view.tsx +++ b/packages/app/src/pages/home/home-projects-view.tsx @@ -475,6 +475,10 @@ function HomeProjectRow( ref={sortable.ref} class="group/project relative flex h-7 min-w-0 items-center rounded-[6px]" classList={{ "z-10": sortable.isDragSource() }} + onContextMenu={(event) => { + event.preventDefault() + props.onSetContextMenuOpen(contextMenuID(), true) + }} > { const project = home.project.selected() if (!project) return home.project.list().flatMap(directories) @@ -119,7 +117,7 @@ export function createHomeSessionsController(home: HomeController) { (ctx.sync.session.data.message[record.session.id] ?? []).flatMap((message) => (ctx.sync.session.data.part[message.id] ?? []).flatMap((part) => { if (part.type !== "text" || !part.text) return [] - return preloadMarkdown(part.text, part.id, marked) + return preloadMarkdown(part.text, part.id) }), ), ), @@ -256,7 +254,7 @@ function buildHomeSessionRecords(input: { const directories = new Set(input.projectDirectories().map(pathKey)) const sessions = input.sessions().filter((session) => directories.has(pathKey(session.directory))) return [...new Map(sessions.map((session) => [session.id, session] as const)).values()] - .sort((a, b) => (b.time.updated ?? b.time.created) - (a.time.updated ?? a.time.created)) + .sort(compareSessionTime) .flatMap((session) => { const directory = pathKey(session.directory) const project = diff --git a/packages/app/src/pages/layout.tsx b/packages/app/src/pages/layout.tsx index 963a542f8808..95f8c01843fd 100644 --- a/packages/app/src/pages/layout.tsx +++ b/packages/app/src/pages/layout.tsx @@ -2278,7 +2278,7 @@ export default function LegacyLayout(props: ParentProps) { data-component="sidebar-nav-desktop" classList={{ "hidden xl:block": true, - "absolute inset-y-0 left-0": true, + "absolute inset-y-0 start-0": true, "z-10": true, }} style={{ width: `${side()}px` }} @@ -2301,7 +2301,7 @@ export default function LegacyLayout(props: ParentProps) {