Compare commits

..

18 Commits

Author SHA1 Message Date
Hona 5af97b4432 feat(i18n): complete Turkish locale coverage 2026-08-17 14:12:33 +00:00
Hona 944924d5cc feat(i18n): complete Asian locale coverage 2026-08-17 14:12:33 +00:00
Hona 0e9230ea7a fix(i18n): localize retained navigation labels 2026-08-17 14:12:33 +00:00
Hona 0524c6f82f style(i18n): format translated dictionaries 2026-08-17 14:12:33 +00:00
Hona bd55a103f0 feat(i18n): translate new V2 app copy 2026-08-17 14:12:32 +00:00
Hona ffde31f469 refactor(i18n): keep locale logic in language layer 2026-08-17 14:12:32 +00:00
Hona 1732dbbbcd fix(i18n): localize dynamic app notices 2026-08-17 14:12:32 +00:00
Dax Raad f14724dfb1 docs(core): reference CLI configuration 2026-08-17 09:57:50 -04:00
Shoubhit Dash cc53db4406 feat(core): discover vLLM models (#43022) 2026-08-17 17:56:03 +05:30
Shoubhit Dash fa055143ea feat(core): discover Ollama models (#43021) 2026-08-17 15:46:47 +05:30
opencode-agent[bot] 875b28658f fix(tui): preserve scroll position across tabs (#43013)
Co-authored-by: Shoubhit Dash <shoubhit2005@gmail.com>
2026-08-17 13:56:30 +05:30
Brendan Allan 0e022036fb refactor(app): use shared client connection (#43016) 2026-08-17 07:53:03 +00:00
Shoubhit Dash f0ae3b9569 fix(core): activate discovered LM Studio provider (#43015) 2026-08-17 13:10:57 +05:30
opencode-agent[bot] 3b5837d354 chore: generate 2026-08-17 07:35:07 +00:00
Brendan Allan e1ff217e44 refactor(client): share Solid server data (#42999) 2026-08-17 15:33:57 +08:00
opencode-agent[bot] ecda3779fa chore: generate 2026-08-17 07:33:17 +00:00
Shoubhit Dash a3e69a967b feat(core): discover LM Studio models (#42607)
Co-authored-by: Kit Langton <kit.langton@gmail.com>
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: Aiden Cline <rekram1-node@users.noreply.github.com>
2026-08-17 13:02:08 +05:30
opencode-agent[bot] 6359623e24 fix(ui): align settled animated numbers (#42998)
Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com>
2026-08-17 16:53:43 +10:00
156 changed files with 7694 additions and 80 deletions
+1
View File
@@ -27,6 +27,7 @@
- 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.
- Do not compose translated count phrases or sentence fragments in feature components. Add a focused language-context operation that owns plural selection and composition when one UI concept needs coordinated keys.
- 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`.
@@ -124,7 +124,13 @@ export const SettingsProvidersV2: Component<{
.get({ integrationID: providerID, location })
.then(async (integration) => {
const credentials = integration.data?.connections.filter((item) => item.type === "credential") ?? []
if (credentials.length === 0) throw new Error(`No removable credentials found for ${name}`)
if (credentials.length === 0) {
showToast({
title: language.t("common.requestFailed"),
description: language.t("provider.disconnect.toast.noCredentials.description", { provider: name }),
})
return
}
await Promise.all(
credentials.map((credential) => serverSdk.api.credential.remove({ credentialID: credential.id, location })),
)
@@ -135,9 +141,11 @@ export const SettingsProvidersV2: Component<{
description: language.t("provider.disconnect.toast.disconnected.description", { provider: name }),
})
})
.catch((err: unknown) => {
const message = err instanceof Error ? err.message : String(err)
showToast({ title: language.t("common.requestFailed"), description: message })
.catch(() => {
showToast({
title: language.t("common.requestFailed"),
description: language.t("provider.disconnect.toast.failed.description", { provider: name }),
})
})
}
+9
View File
@@ -220,6 +220,14 @@ export const { use: useLanguage, provider: LanguageProvider } = createSimpleCont
}
const plural = (key: PluralKey, count: number, params?: Record<string, string | number | boolean>) =>
pluralForm(key, pluralCategory(intl(), count), { ...params, count })
const backgroundTasks = (shells: number, subagents: number, mode: "move" | "running") => {
const shell = shells ? plural("session.background.shell", shells, { count: shells }) : undefined
const subagent = subagents ? plural("session.background.subagent", subagents, { count: subagents }) : undefined
const tasks =
shell && subagent ? t("session.background.combine", { first: shell, second: subagent }) : (shell ?? subagent)
if (!tasks) return ""
return t(mode === "move" ? "session.background.moveTasks" : "session.background.inBackground", { tasks })
}
const label = (value: Locale) => DESKTOP_NATIVE_LABELS[value]
@@ -251,6 +259,7 @@ export const { use: useLanguage, provider: LanguageProvider } = createSimpleCont
t,
plural,
pluralForm,
backgroundTasks,
setLocale(next: Locale) {
setStore("locale", normalizeLocale(next))
},
@@ -255,7 +255,7 @@ describe("v2 session reducer", () => {
type: "system",
text: "Changed instructions",
description: "Instructions updated: agents",
metadata: undefined,
metadata: { notice: "instructions", instructionSources: ["agents"] },
time: { created: 1 },
},
])
@@ -146,7 +146,7 @@ export function createV2SessionReducer() {
type: "system",
text: event.data.text,
description: `Instructions updated: ${Object.keys(event.data.delta).join(", ")}`,
metadata: event.metadata,
metadata: { ...event.metadata, notice: "instructions", instructionSources: Object.keys(event.data.delta) },
time: { created: event.created },
})
case "session.synthetic":
+87
View File
@@ -1108,4 +1108,91 @@ export const dict = {
"workspace.reset.archived.many": "{{count}} ክፍለ-ጊዜዎች በማህደር ይቀመጣሉ።",
"workspace.reset.note": "ይህ workspaceን ከነባሪው ቅርንጫፍ ጋር እንዲመሳሰል ዳግም ያስጀምረዋል።",
"dialog.usageExceeded.dontShowAgain": "እንደገና አታሳይ",
"toast.migration.failed.title": "የውሂብ ፍልሰት አልተሳካም",
"session.background.moveTasks": "{{tasks}}ን ወደ ዳራ አንቀሳቅስ",
"session.background.inBackground": "{{tasks}} በዳራ እየሄደ ነው",
"session.background.combine": "{{first}} እና {{second}}",
"session.background.shell.one": "{{count}} ሼል",
"session.background.shell.other": "{{count}} ሼሎች",
"session.background.subagent.one": "{{count}} ንዑስ ወኪል",
"session.background.subagent.other": "{{count}} ንዑስ ወኪሎች",
"command.session.background": "ወደ ዳራ አንቀሳቅስ",
"session.timeline.notice.finished": "{{actor}} ጨርሷል",
"session.timeline.notice.failed": "{{actor}} አልተሳካም",
"session.timeline.notice.cancelled": "{{actor}} ተሰርዟል",
"settings.tab.preferences": "ምርጫዎች",
"settings.tab.notifications": "ማሳወቂያዎች",
"settings.tab.projects": "ፕሮጀክቶች",
"settings.tab.extensions": "ቅጥያዎች",
"settings.preferences.description": "ምርጫዎችን፣ ገጽታን እና ነባሪ ባህሪን ያብጁ",
"settings.appearance.description": "ገጽታን እና ቅርጸ ቁምፊዎችን ያብጁ",
"settings.notifications.description": "ማሳወቂያዎች መቼ እንደሚደርሱዎት እና ድምፆች መቼ እንደሚሰሙ ይምረጡ",
"settings.shortcuts.description": "ለተለመዱ ድርጊቶች አቋራጮችን ያብጁ",
"settings.servers.description": "የአገልጋይ ግንኙነቶችን ያስተዳድሩ",
"settings.projects.title": "ፕሮጀክቶች",
"settings.projects.description": "በዚህ አገልጋይ ላይ የፕሮጀክት ቅንብሮችን ያስተዳድሩ",
"settings.projects.empty": "ምንም ፕሮጀክት አልተገኘም",
"settings.projects.server.all": "ሁሉም አገልጋዮች",
"settings.mcps.description": "የModel Context Protocol (MCP) አገልጋዮችን እና መሣሪያዎችን ያስተዳድሩ",
"settings.extensions.description": "በዚህ አገልጋይ ላይ የሚገኙ ቅጥያዎችን ያስተዳድሩ",
"settings.extensions.tab.mcps": "MCPs",
"settings.extensions.tab.skills": "ችሎታዎች",
"settings.extensions.availableAll": "ለሁሉም ፕሮጀክቶች ይገኛል",
"settings.extensions.manageConfig": "በopencode.json ውስጥ ያስተዳድሩ",
"settings.extensions.addSkills": "ችሎታዎችን እንዴት ማከል እንደሚቻል",
"dialog.server.authenticate.title": "ማንነትን ያረጋግጡ",
"project.settings.general.description": "የፕሮጀክት ስምን እና ገጽታን ያስተዳድሩ",
"project.settings.scripts": "ስክሪፕቶች",
"project.settings.scripts.description": "ለዚህ ፕሮጀክት ስክሪፕቶችን ያዋቅሩ",
"project.settings.extensions.description": "ለዚህ ፕሮጀክት የሚገኙ ቅጥያዎችን ይመልከቱ",
"project.settings.extensions.tab.lsps": "LSPs",
"project.settings.extensions.added": "ወደዚህ ፕሮጀክት ታክሏል",
"project.settings.extensions.shared": "ከሁሉም ፕሮጀክቶች ጋር የተጋራ",
"project.settings.extensions.lsp.detected": "የተገኙ የቋንቋ አገልጋዮች",
"project.settings.extensions.lsp.description": "ከፋይል ዓይነቶች በራስ-ሰር የተገኘ",
"project.settings.extensions.setupRequired": "ማዋቀር ያስፈልጋል",
"settings.general.section.general": "አጠቃላይ",
"common.viewAll": "ሁሉንም ይመልከቱ",
"session.new.workspace.local.tooltip": "የአሁኑን checkout ይጠቀሙ",
"session.new.workspace.new.tooltip": "የተለየ checkout ይፍጠሩ",
"session.new.workspace.fromBranch": "ከ{{branch}}",
"session.new.workspace.trigger.tooltip": "ክፍለ ጊዜው የት እንደሚሄድ ይምረጡ",
"session.new.workspace.search.placeholder": "Workspace-ዎችን ይፈልጉ",
"settings.tab.workspaces": "Workspace-ዎች",
"settings.workspaces.filter.all": "ሁሉም ፕሮጀክቶች",
"settings.workspaces.empty": "ምንም workspace የለም",
"settings.workspaces.count.one": "{{count}} workspace",
"settings.workspaces.count.other": "{{count}} workspace-ዎች",
"settings.workspaces.sessions.one": "በ{{project}} ውስጥ {{count}} ክፍለ ጊዜ",
"settings.workspaces.sessions.other": "በ{{project}} ውስጥ {{count}} ክፍለ ጊዜዎች",
"settings.workspaces.lastActiveSession": "የመጨረሻው ንቁ ክፍለ ጊዜ",
"settings.workspaces.deleteAll": "ሁሉንም workspace-ዎች ሰርዝ",
"settings.workspaces.deleteAll.confirm": "ሁሉንም {{count}} workspace-ዎች ይሰረዙ?",
"settings.workspaces.delete.warning": "የworkspace ማውጫው እና ቅርንጫፉ፣ ከዚህ በታች የሚታዩ ያልተዋሃዱ ለውጦችን ጨምሮ፣ እስከመጨረሻው ይወገዳሉ።",
"settings.workspaces.deleteAll.warning":
"በ{{project}} ውስጥ ያሉት {{count}} የተመረጡ workspace-ዎች እያንዳንዳቸው ንጹህ፣ እንቅስቃሴ-አልባ እና የተገናኘ ክፍለ ጊዜ ከሌላቸው ብቻ እስከመጨረሻው ይወገዳሉ።",
"settings.workspaces.delete.blocked.active": "ንቁው workspace ሊሰረዝ አይችልም።",
"settings.workspaces.delete.blocked.linked": "የተገናኙ ክፍለ ጊዜዎች ይቀራሉ፣ ነገር ግን የሥራ ማውጫቸው እስከመጨረሻው ይወገዳል።",
"settings.workspaces.default.title": "ነባሪ አካባቢ",
"settings.workspaces.default.description": "አዲስ ክፍለ ጊዜዎች የት እንደሚጀምሩ ይምረጡ",
"settings.workspaces.default.lastUsed": "በእያንዳንዱ ፕሮጀክት ለመጨረሻ ጊዜ ያገለገለ",
"settings.workspaces.default.local": "አካባቢያዊ ማውጫ",
"settings.workspaces.default.new": "አዲስ workspace",
"workspace.move.title": "ወደ workspace አንቀሳቅስ",
"workspace.move.menu.title": "ክፍለ ጊዜን አንቀሳቅስ ወደ",
"workspace.move.failed": "ክፍለ ጊዜን ማንቀሳቀስ አልተሳካም",
"workspace.lifecycle.creating": "Workspace በመፍጠር ላይ",
"workspace.lifecycle.created": "Workspace ተፈጥሯል",
"workspace.lifecycle.starting": "ክፍለ ጊዜ በመጀመር ላይ",
"workspace.onboarding.title": "ክፍለ ጊዜዎችን በworkspace-ዎች ለዩ",
"workspace.onboarding.description": "እያንዳንዱ የራሱ checkout ስላለው በአካባቢያዊ ማከማቻዎ ላይ ምንም ነገር ጣልቃ አይገባም",
"workspace.lifecycle.moving": "ወደ workspace በማንቀሳቀስ ላይ",
"workspace.lifecycle.set": "Workspace ተዘጋጅቷል",
"session.summary.title": "የክፍለ ጊዜ ዝርዝሮች",
"session.summary.noBranch": "ቅርንጫፍ የለም",
"session.summary.basedOn": "በ{{branch}} ላይ የተመሰረተ",
"provider.disconnect.toast.noCredentials.description": "ለ{{provider}} ሊወገድ የሚችል የማረጋገጫ መረጃ አልተገኘም።",
"provider.disconnect.toast.failed.description": "{{provider}}ን ማቋረጥ አልተሳካም።",
"session.timeline.notice.instructionsUpdated": "መመሪያዎች ዘምነዋል፡ {{sources}}",
"session.timeline.notice.restart": "ከዳግም ማስጀመር በኋላ በመቀጠል ላይ",
}
+105
View File
@@ -1146,4 +1146,109 @@ export const dict = {
"error.childStore.persistedProjectIconCreateFailed": "فشل إنشاء أيقونة المشروع الدائمة",
"error.childStore.storeCreateFailed": "فشل إنشاء المخزن",
"terminal.connectionLost.abnormalClose": "تم إغلاق WebSocket بشكل غير طبيعي: {{code}}",
"toast.migration.failed.title": "فشل ترحيل البيانات",
"session.background.moveTasks": "نقل \u2068{{tasks}}\u2069 إلى الخلفية",
"session.background.inBackground": "تشغيل \u2068{{tasks}}\u2069 في الخلفية",
"session.background.combine": "\u2068{{first}}\u2069 و\u2068{{second}}\u2069",
"session.background.shell.zero": "أوامر shell: {{count}}",
"session.background.shell.one": "{{count}} أمر shell",
"session.background.shell.two": "عدد أوامر shell: {{count}}",
"session.background.shell.few": "{{count}} أوامر shell",
"session.background.shell.many": "{{count}} أمر shell",
"session.background.shell.other": "أوامر shell: {{count}}",
"session.background.subagent.zero": "الوكلاء الفرعيون: {{count}}",
"session.background.subagent.one": "{{count}} وكيل فرعي",
"session.background.subagent.two": "عدد الوكلاء الفرعيين: {{count}}",
"session.background.subagent.few": "{{count}} وكلاء فرعيين",
"session.background.subagent.many": "{{count}} وكيلاً فرعيًا",
"session.background.subagent.other": "الوكلاء الفرعيون: {{count}}",
"command.session.background": "نقل إلى الخلفية",
"session.timeline.notice.finished": "انتهى \u2068{{actor}}\u2069",
"session.timeline.notice.failed": "فشل \u2068{{actor}}\u2069",
"session.timeline.notice.cancelled": "أُلغي \u2068{{actor}}\u2069",
"settings.tab.preferences": "التفضيلات",
"settings.tab.notifications": "الإشعارات",
"settings.tab.projects": "المشاريع",
"settings.tab.extensions": "الملحقات",
"settings.preferences.description": "تخصيص التفضيلات والسمة والسلوك الافتراضي",
"settings.appearance.description": "تخصيص السمة والخطوط",
"settings.notifications.description": "اختر متى تتلقى الإشعارات وتسمع الأصوات",
"settings.shortcuts.description": "تخصيص اختصارات الإجراءات الشائعة",
"settings.servers.description": "إدارة اتصالات الخوادم",
"settings.projects.title": "المشاريع",
"settings.projects.description": "إدارة إعدادات المشاريع على هذا الخادم",
"settings.projects.empty": "لم يتم العثور على مشاريع",
"settings.projects.server.all": "كل الخوادم",
"settings.mcps.description": "إدارة خوادم وأدوات بروتوكول سياق النموذج (MCP)",
"settings.extensions.description": "إدارة الملحقات المتاحة على هذا الخادم",
"settings.extensions.tab.mcps": "خوادم MCP",
"settings.extensions.tab.skills": "المهارات",
"settings.extensions.availableAll": "متاحة لكل المشاريع",
"settings.extensions.manageConfig": "إدارة في opencode.json",
"settings.extensions.addSkills": "كيفية إضافة المهارات",
"dialog.server.authenticate.title": "المصادقة",
"project.settings.general.description": "إدارة اسم المشروع ومظهره",
"project.settings.scripts": "البرامج النصية",
"project.settings.scripts.description": "تكوين البرامج النصية لهذا المشروع",
"project.settings.extensions.description": "عرض الملحقات المتاحة لهذا المشروع",
"project.settings.extensions.tab.lsps": "خوادم LSP",
"project.settings.extensions.added": "مضافة إلى هذا المشروع",
"project.settings.extensions.shared": "مشتركة مع كل المشاريع",
"project.settings.extensions.lsp.detected": "خوادم اللغة المكتشفة",
"project.settings.extensions.lsp.description": "تُكتشف تلقائيًا من أنواع الملفات",
"project.settings.extensions.setupRequired": "الإعداد مطلوب",
"settings.general.section.general": "عام",
"common.viewAll": "عرض الكل",
"session.new.workspace.local.tooltip": "استخدام نسخة العمل الحالية",
"session.new.workspace.new.tooltip": "إنشاء نسخة عمل معزولة",
"session.new.workspace.fromBranch": "من \u2068{{branch}}\u2069",
"session.new.workspace.trigger.tooltip": "حدد مكان تشغيل الجلسة",
"session.new.workspace.search.placeholder": "البحث في مساحات العمل",
"settings.tab.workspaces": "مساحات العمل",
"settings.workspaces.filter.all": "كل المشاريع",
"settings.workspaces.empty": "لا توجد مساحات عمل",
"settings.workspaces.count.zero": "مساحات العمل: {{count}}",
"settings.workspaces.count.one": "{{count}} مساحة عمل",
"settings.workspaces.count.two": "عدد مساحات العمل: {{count}}",
"settings.workspaces.count.few": "{{count}} مساحات عمل",
"settings.workspaces.count.many": "{{count}} مساحة عمل",
"settings.workspaces.count.other": "مساحات العمل: {{count}}",
"settings.workspaces.sessions.zero": "الجلسات في \u2068{{project}}\u2069: {{count}}",
"settings.workspaces.sessions.one": "{{count}} جلسة في \u2068{{project}}\u2069",
"settings.workspaces.sessions.two": "عدد الجلسات في \u2068{{project}}\u2069: {{count}}",
"settings.workspaces.sessions.few": "{{count}} جلسات في \u2068{{project}}\u2069",
"settings.workspaces.sessions.many": "{{count}} جلسة في \u2068{{project}}\u2069",
"settings.workspaces.sessions.other": "الجلسات في \u2068{{project}}\u2069: {{count}}",
"settings.workspaces.lastActiveSession": "آخر جلسة نشطة",
"settings.workspaces.deleteAll": "حذف كل مساحات العمل",
"settings.workspaces.deleteAll.confirm": "حذف مساحات العمل كلها وعددها {{count}}؟",
"settings.workspaces.delete.warning":
"سيُحذف دليل مساحة العمل وفرعها نهائيًا، بما في ذلك أي تغييرات غير مدمجة موضحة أدناه.",
"settings.workspaces.deleteAll.warning":
"ستُحذف مساحات العمل المحددة وعددها {{count}} في \u2068{{project}}\u2069 نهائيًا فقط إذا كانت كلها نظيفة وغير نشطة ولا ترتبط بأي جلسات.",
"settings.workspaces.delete.blocked.active": "لا يمكن حذف مساحة العمل النشطة.",
"settings.workspaces.delete.blocked.linked": "ستبقى الجلسات المرتبطة، لكن دليل عملها سيُحذف نهائيًا.",
"settings.workspaces.default.title": "البيئة الافتراضية",
"settings.workspaces.default.description": "اختر مكان بدء الجلسات الجديدة",
"settings.workspaces.default.lastUsed": "آخر استخدام لكل مشروع",
"settings.workspaces.default.local": "الدليل المحلي",
"settings.workspaces.default.new": "مساحة عمل جديدة",
"workspace.move.title": "نقل إلى مساحة عمل",
"workspace.move.menu.title": "نقل الجلسة إلى",
"workspace.move.failed": "فشل نقل الجلسة",
"workspace.lifecycle.creating": "جارٍ إنشاء مساحة العمل",
"workspace.lifecycle.created": "تم إنشاء مساحة العمل",
"workspace.lifecycle.starting": "جارٍ بدء الجلسة",
"workspace.onboarding.title": "عزل الجلسات باستخدام مساحات العمل",
"workspace.onboarding.description": "تحصل كل جلسة على نسخة عمل خاصة بها، فلا يتداخل شيء مع مستودعك المحلي",
"workspace.lifecycle.moving": "جارٍ النقل إلى مساحة العمل",
"workspace.lifecycle.set": "تم تعيين مساحة العمل",
"session.summary.title": "تفاصيل الجلسة",
"session.summary.noBranch": "لا يوجد فرع",
"session.summary.basedOn": "استنادًا إلى \u2068{{branch}}\u2069",
"provider.disconnect.toast.noCredentials.description":
"لم يتم العثور على بيانات اعتماد قابلة للإزالة لـ \u2068{{provider}}\u2069.",
"provider.disconnect.toast.failed.description": "فشل قطع الاتصال بـ \u2068{{provider}}\u2069.",
"session.timeline.notice.instructionsUpdated": "تم تحديث التعليمات: \u2068{{sources}}\u2069",
"session.timeline.notice.restart": "المتابعة بعد إعادة التشغيل",
}
+90
View File
@@ -1143,4 +1143,94 @@ export const dict = {
"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.",
"toast.migration.failed.title": "Məlumat miqrasiyası uğursuz oldu",
"session.background.moveTasks": "{{tasks}} arxa plana keçir",
"session.background.inBackground": "{{tasks}} arxa planda işləyir",
"session.background.combine": "{{first}} və {{second}}",
"session.background.shell.one": "{{count}} shell",
"session.background.shell.other": "{{count}} shell",
"session.background.subagent.one": "{{count}} alt agent",
"session.background.subagent.other": "{{count}} alt agent",
"command.session.background": "Arxa plana keçir",
"session.timeline.notice.finished": "{{actor}} tamamlandı",
"session.timeline.notice.failed": "{{actor}} uğursuz oldu",
"session.timeline.notice.cancelled": "{{actor}} ləğv edildi",
"settings.tab.preferences": "Tərcihlər",
"settings.tab.notifications": "Bildirişlər",
"settings.tab.projects": "Layihələr",
"settings.tab.extensions": "Genişləndirmələr",
"settings.preferences.description": "Tərcihləri, mövzunu və standart davranışı fərdiləşdirin",
"settings.appearance.description": "Mövzunu və şriftləri fərdiləşdirin",
"settings.notifications.description": "Bildirişlərin nə vaxt alınacağını və səslərin nə vaxt səslənəcəyini seçin",
"settings.shortcuts.description": "Ümumi əməliyyatlar üçün qısayolları fərdiləşdirin",
"settings.servers.description": "Server bağlantılarını idarə edin",
"settings.projects.title": "Layihələr",
"settings.projects.description": "Bu serverdə layihə tənzimləmələrini idarə edin",
"settings.projects.empty": "Layihə tapılmadı",
"settings.projects.server.all": "Bütün serverlər",
"settings.mcps.description": "Model Context Protocol (MCP) serverlərini və alətlərini idarə edin",
"settings.extensions.description": "Bu serverdə mövcud olan genişləndirmələri idarə edin",
"settings.extensions.tab.mcps": "MCP-lər",
"settings.extensions.tab.skills": "Bacarıqlar",
"settings.extensions.availableAll": "Bütün layihələr üçün mövcuddur",
"settings.extensions.manageConfig": "opencode.json-da idarə edin",
"settings.extensions.addSkills": "Bacarıqları necə əlavə etməli",
"dialog.server.authenticate.title": "Autentifikasiya",
"project.settings.general.description": "Layihənin adını və görünüşünü idarə edin",
"project.settings.scripts": "Skriptlər",
"project.settings.scripts.description": "Bu layihə üçün skriptləri konfiqurasiya edin",
"project.settings.extensions.description": "Bu layihə üçün mövcud genişləndirmələrə baxın",
"project.settings.extensions.tab.lsps": "LSP-lər",
"project.settings.extensions.added": "Bu layihəyə əlavə edilib",
"project.settings.extensions.shared": "Bütün layihələrlə paylaşılıb",
"project.settings.extensions.lsp.detected": "Aşkarlanmış dil serverləri",
"project.settings.extensions.lsp.description": "Fayl növlərindən avtomatik aşkarlanır",
"project.settings.extensions.setupRequired": "Quraşdırma tələb olunur",
"settings.general.section.general": "Ümumi",
"common.viewAll": "Hamısına bax",
"session.new.workspace.local.tooltip": "Cari checkout-dan istifadə et",
"session.new.workspace.new.tooltip": "Təcrid olunmuş checkout yarat",
"session.new.workspace.fromBranch": "{{branch}} branch-indən",
"session.new.workspace.trigger.tooltip": "Sessiyanın harada işləyəcəyini seçin",
"session.new.workspace.search.placeholder": "İş sahələrini axtar",
"settings.tab.workspaces": "İş sahələri",
"settings.workspaces.filter.all": "Bütün layihələr",
"settings.workspaces.empty": "İş sahəsi yoxdur",
"settings.workspaces.count.one": "{{count}} iş sahəsi",
"settings.workspaces.count.other": "{{count}} iş sahəsi",
"settings.workspaces.sessions.one": "{{project}} layihəsində {{count}} sessiya",
"settings.workspaces.sessions.other": "{{project}} layihəsində {{count}} sessiya",
"settings.workspaces.lastActiveSession": "Son aktiv sessiya",
"settings.workspaces.deleteAll": "Bütün iş sahələrini sil",
"settings.workspaces.deleteAll.confirm": "Bütün {{count}} iş sahəsi silinsin?",
"settings.workspaces.delete.warning":
"İş sahəsi qovluğu və branch, aşağıda göstərilən birləşdirilməmiş dəyişikliklər də daxil olmaqla, həmişəlik silinəcək.",
"settings.workspaces.deleteAll.warning":
"{{project}} layihəsində seçilmiş {{count}} iş sahəsi yalnız hər biri təmiz, qeyri-aktiv və əlaqəli sessiyasız olduqda həmişəlik silinəcək.",
"settings.workspaces.delete.blocked.active": "Aktiv iş sahəsi silinə bilməz.",
"settings.workspaces.delete.blocked.linked":
"Əlaqəli sessiyalar qalacaq, lakin onların iş qovluğu həmişəlik silinəcək.",
"settings.workspaces.default.title": "Standart mühit",
"settings.workspaces.default.description": "Yeni sessiyaların harada başlayacağını seçin",
"settings.workspaces.default.lastUsed": "Hər layihə üzrə son istifadə edilən",
"settings.workspaces.default.local": "Yerli qovluq",
"settings.workspaces.default.new": "Yeni iş sahəsi",
"workspace.move.title": "İş sahəsinə köçür",
"workspace.move.menu.title": "Sessiyanı buraya köçür",
"workspace.move.failed": "Sessiyanı köçürmək mümkün olmadı",
"workspace.lifecycle.creating": "İş sahəsi yaradılır",
"workspace.lifecycle.created": "İş sahəsi yaradıldı",
"workspace.lifecycle.starting": "Sessiya başladılır",
"workspace.onboarding.title": "Sessiyaları iş sahələri ilə təcrid edin",
"workspace.onboarding.description":
"Hər birinin öz checkout-u var, buna görə heç nə yerli repozitoriyanıza müdaxilə etmir",
"workspace.lifecycle.moving": "İş sahəsinə köçürülür",
"workspace.lifecycle.set": "İş sahəsi təyin edildi",
"session.summary.title": "Sessiya detalları",
"session.summary.noBranch": "Branch yoxdur",
"session.summary.basedOn": "{{branch}} əsasında",
"provider.disconnect.toast.noCredentials.description": "{{provider}} üçün silinə bilən giriş məlumatı tapılmadı.",
"provider.disconnect.toast.failed.description": "{{provider}} bağlantısını kəsmək mümkün olmadı.",
"session.timeline.notice.instructionsUpdated": "Təlimatlar yeniləndi: {{sources}}",
"session.timeline.notice.restart": "Yenidən başlatmadan sonra davam edir",
}
+91
View File
@@ -1145,4 +1145,95 @@ export const dict = {
"workspace.reset.archived.many": "{{count}} сесии ще бъдат архивирани.",
"workspace.reset.note": "Това ще нулира работното пространство, за да съответства на клона по подразбиране.",
"dialog.usageExceeded.dontShowAgain": "Не показвай отново",
"provider.disconnect.toast.noCredentials.description":
"Няма намерени подвижни идентификационни данни за {{provider}}.",
"provider.disconnect.toast.failed.description": "Неуспешно прекъсване на връзката {{provider}}.",
"toast.migration.failed.title": "Мигрирането на данни не бе успешно",
"session.background.moveTasks": "Преместете {{tasks}} на заден план",
"session.background.inBackground": "Работи {{tasks}} във фонов режим",
"session.background.combine": "{{first}} и {{second}}",
"session.background.shell.one": "{{count}} shell",
"session.background.shell.other": "{{count}} shell-а",
"session.background.subagent.one": "{{count}} субагент",
"session.background.subagent.other": "{{count}} субагенти",
"command.session.background": "Преместване на заден план",
"session.timeline.notice.finished": "{{actor}} приключи",
"session.timeline.notice.failed": "{{actor}} неуспешно",
"session.timeline.notice.cancelled": "{{actor}} отменен",
"session.timeline.notice.instructionsUpdated": "Актуализирани инструкции: {{sources}}",
"session.timeline.notice.restart": "Продължава след рестартиране",
"settings.tab.preferences": "Предпочитания",
"settings.tab.notifications": "Известия",
"settings.tab.projects": "Проекти",
"settings.tab.extensions": "Разширения",
"settings.preferences.description": "Персонализирайте предпочитанията и темата и поведението по подразбиране",
"settings.appearance.description": "Персонализирайте темата и шрифтовете",
"settings.notifications.description": "Изберете кога да получавате известия и да чувате звуци",
"settings.shortcuts.description": "Персонализирайте преки пътища за обичайни действия",
"settings.servers.description": "Управлявайте връзките със сървъра",
"settings.projects.title": "Проекти",
"settings.projects.description": "Управление на настройките на проекта на този сървър",
"settings.projects.empty": "Няма намерени проекти",
"settings.projects.server.all": "Всички сървъри",
"settings.mcps.description": "Управление на сървъри и инструменти на протокола за контекст на модела (MCP).",
"settings.extensions.description": "Управление на разширенията, налични на този сървър",
"settings.extensions.tab.mcps": "MCPs",
"settings.extensions.tab.skills": "Умения",
"settings.extensions.availableAll": "Предлага се за всички проекти",
"settings.extensions.manageConfig": "Управление в opencode.json",
"settings.extensions.addSkills": "Как да добавите умения",
"dialog.server.authenticate.title": "Удостоверяване",
"project.settings.general.description": "Управлявайте името и външния вид на проекта",
"project.settings.scripts": "Скриптове",
"project.settings.scripts.description": "Конфигуриране на скриптове за този проект",
"project.settings.extensions.description": "Вижте разширенията, налични за този проект",
"project.settings.extensions.tab.lsps": "LSPs",
"project.settings.extensions.added": "Добавен към този проект",
"project.settings.extensions.shared": "Споделено с всички проекти",
"project.settings.extensions.lsp.detected": "Открити езикови сървъри",
"project.settings.extensions.lsp.description": "Автоматично разпознаване от типове файлове",
"project.settings.extensions.setupRequired": "Изисква се настройка",
"settings.general.section.general": "Общи",
"common.viewAll": "Вижте всички",
"session.new.workspace.local.tooltip": "Използвайте текущото работно копие",
"session.new.workspace.new.tooltip": "Създайте изолирано работно копие",
"session.new.workspace.fromBranch": "от {{branch}}",
"session.new.workspace.trigger.tooltip": "Изберете къде да стартирате сесията",
"session.new.workspace.search.placeholder": "Търсете работни пространства",
"settings.tab.workspaces": "Работни пространства",
"settings.workspaces.filter.all": "Всички проекти",
"settings.workspaces.empty": "Няма работни пространства",
"settings.workspaces.count.one": "{{count}} работно пространство",
"settings.workspaces.count.other": "{{count}} работни пространства",
"settings.workspaces.sessions.one": "{{count}} сесия в {{project}}",
"settings.workspaces.sessions.other": "{{count}} сесии в {{project}}",
"settings.workspaces.lastActiveSession": "Последна активна сесия",
"settings.workspaces.deleteAll": "Изтрийте всички работни области",
"settings.workspaces.deleteAll.confirm": "Да се ​​изтрият ли всички {{count}} работни пространства?",
"settings.workspaces.delete.warning":
"Директорията и клонът на работното пространство ще бъдат премахнати за постоянно, включително всички необединени промени, показани по-долу.",
"settings.workspaces.deleteAll.warning":
"Избраните {{count}} работни пространства в {{project}} ще бъдат премахнати за постоянно само ако всяко е чисто, неактивно и няма свързани сесии.",
"settings.workspaces.delete.blocked.active": "Активното работно пространство не може да бъде изтрито.",
"settings.workspaces.delete.blocked.linked":
"Свързаните сесии ще останат, но тяхната работна директория ще бъде премахната за постоянно.",
"settings.workspaces.default.title": "Среда по подразбиране",
"settings.workspaces.default.description": "Изберете къде започват новите сесии",
"settings.workspaces.default.lastUsed": "Последно използвано за проект",
"settings.workspaces.default.local": "Локален указател",
"settings.workspaces.default.new": "Ново работно пространство",
"workspace.move.title": "Преместете се в работното пространство",
"workspace.move.menu.title": "Преместване на сесията към",
"workspace.move.failed": "Преместването на сесията не бе успешно",
"workspace.lifecycle.creating": "Създаване на работно пространство",
"workspace.lifecycle.created": "Работното пространство е създадено",
"workspace.lifecycle.starting": "Начална сесия",
"workspace.onboarding.title": "Изолирайте сесиите с работни пространства",
"workspace.onboarding.description":
"Всяко получава собствено работно копие, така че нищо да не пречи на локалното ви хранилище",
"workspace.lifecycle.moving": "Преминаване към работното пространство",
"workspace.lifecycle.set": "Работното пространство е зададено",
"session.summary.title": "Подробности за сесията",
"session.summary.noBranch": "Няма клон",
"session.summary.basedOn": "Въз основа на {{branch}}",
}
+91
View File
@@ -1127,4 +1127,95 @@ export const dict: Record<string, string> = {
"workspace.reset.archived.many": "{{count}} সেশন আর্কাইভ করা হবে।",
"workspace.reset.note": "এটি ডিফল্ট শাখার সাথে মেলে ওয়ার্কস্পেস রিসেট করবে।",
"dialog.usageExceeded.dontShowAgain": "আবার দেখাবেন না",
"toast.migration.failed.title": "ডেটা মাইগ্রেশন ব্যর্থ হয়েছে",
"session.background.moveTasks": "{{tasks}} ব্যাকগ্রাউন্ডে সরান",
"session.background.inBackground": "{{tasks}} ব্যাকগ্রাউন্ডে চলছে",
"session.background.combine": "{{first}} এবং {{second}}",
"session.background.shell.one": "{{count}}টি শেল",
"session.background.shell.other": "{{count}}টি শেল",
"session.background.subagent.one": "{{count}}টি সাব-এজেন্ট",
"session.background.subagent.other": "{{count}}টি সাব-এজেন্ট",
"command.session.background": "ব্যাকগ্রাউন্ডে সরান",
"session.timeline.notice.finished": "{{actor}} শেষ করেছে",
"session.timeline.notice.failed": "{{actor}} ব্যর্থ হয়েছে",
"session.timeline.notice.cancelled": "{{actor}} বাতিল হয়েছে",
"settings.tab.preferences": "পছন্দসমূহ",
"settings.tab.notifications": "বিজ্ঞপ্তি",
"settings.tab.projects": "প্রকল্প",
"settings.tab.extensions": "এক্সটেনশন",
"settings.preferences.description": "পছন্দ, থিম এবং ডিফল্ট আচরণ কাস্টমাইজ করুন",
"settings.appearance.description": "থিম এবং ফন্ট কাস্টমাইজ করুন",
"settings.notifications.description": "কখন বিজ্ঞপ্তি পাবেন ও শব্দ শুনবেন তা বেছে নিন",
"settings.shortcuts.description": "সাধারণ কাজের শর্টকাট কাস্টমাইজ করুন",
"settings.servers.description": "সার্ভার সংযোগ পরিচালনা করুন",
"settings.projects.title": "প্রকল্প",
"settings.projects.description": "এই সার্ভারের প্রকল্প সেটিংস পরিচালনা করুন",
"settings.projects.empty": "কোনো প্রকল্প পাওয়া যায়নি",
"settings.projects.server.all": "সব সার্ভার",
"settings.mcps.description": "Model Context Protocol (MCP) সার্ভার ও টুল পরিচালনা করুন",
"settings.extensions.description": "এই সার্ভারে উপলভ্য এক্সটেনশন পরিচালনা করুন",
"settings.extensions.tab.mcps": "MCPs",
"settings.extensions.tab.skills": "স্কিল",
"settings.extensions.availableAll": "সব প্রকল্পে উপলভ্য",
"settings.extensions.manageConfig": "opencode.json-এ পরিচালনা করুন",
"settings.extensions.addSkills": "স্কিল যোগ করার নিয়ম",
"dialog.server.authenticate.title": "প্রমাণীকরণ",
"project.settings.general.description": "প্রকল্পের নাম ও চেহারা পরিচালনা করুন",
"project.settings.scripts": "স্ক্রিপ্ট",
"project.settings.scripts.description": "এই প্রকল্পের স্ক্রিপ্ট কনফিগার করুন",
"project.settings.extensions.description": "এই প্রকল্পে উপলভ্য এক্সটেনশন দেখুন",
"project.settings.extensions.tab.lsps": "LSPs",
"project.settings.extensions.added": "এই প্রকল্পে যোগ করা হয়েছে",
"project.settings.extensions.shared": "সব প্রকল্পের সঙ্গে শেয়ার করা",
"project.settings.extensions.lsp.detected": "শনাক্ত করা ল্যাঙ্গুয়েজ সার্ভার",
"project.settings.extensions.lsp.description": "ফাইলের ধরন থেকে স্বয়ংক্রিয়ভাবে শনাক্ত করা",
"project.settings.extensions.setupRequired": "সেটআপ প্রয়োজন",
"settings.general.section.general": "সাধারণ",
"common.viewAll": "সব দেখুন",
"session.new.workspace.local.tooltip": "বর্তমান চেকআউট ব্যবহার করুন",
"session.new.workspace.new.tooltip": "আলাদা চেকআউট তৈরি করুন",
"session.new.workspace.fromBranch": "{{branch}} থেকে",
"session.new.workspace.trigger.tooltip": "সেশন কোথায় চলবে তা নির্বাচন করুন",
"session.new.workspace.search.placeholder": "ওয়ার্কস্পেস খুঁজুন",
"settings.tab.workspaces": "ওয়ার্কস্পেস",
"settings.workspaces.filter.all": "সব প্রকল্প",
"settings.workspaces.empty": "কোনো ওয়ার্কস্পেস নেই",
"settings.workspaces.count.one": "{{count}}টি ওয়ার্কস্পেস",
"settings.workspaces.count.other": "{{count}}টি ওয়ার্কস্পেস",
"settings.workspaces.sessions.one": "{{project}}-এ {{count}}টি সেশন",
"settings.workspaces.sessions.other": "{{project}}-এ {{count}}টি সেশন",
"settings.workspaces.lastActiveSession": "সর্বশেষ সক্রিয় সেশন",
"settings.workspaces.deleteAll": "সব ওয়ার্কস্পেস মুছুন",
"settings.workspaces.deleteAll.confirm": "সব {{count}}টি ওয়ার্কস্পেস মুছবেন?",
"settings.workspaces.delete.warning":
"নিচে দেখানো একীভূত না হওয়া পরিবর্তনসহ ওয়ার্কস্পেস ডিরেক্টরি ও ব্রাঞ্চ স্থায়ীভাবে মুছে যাবে।",
"settings.workspaces.deleteAll.warning":
"{{project}}-এর নির্বাচিত {{count}}টি ওয়ার্কস্পেসের প্রতিটি পরিষ্কার, নিষ্ক্রিয় এবং কোনো সেশনের সঙ্গে যুক্ত না থাকলেই স্থায়ীভাবে মুছে যাবে।",
"settings.workspaces.delete.blocked.active": "সক্রিয় ওয়ার্কস্পেস মোছা যাবে না।",
"settings.workspaces.delete.blocked.linked":
"যুক্ত সেশনগুলো থাকবে, তবে তাদের কার্যকরী ডিরেক্টরি স্থায়ীভাবে মুছে যাবে।",
"settings.workspaces.default.title": "ডিফল্ট পরিবেশ",
"settings.workspaces.default.description": "নতুন সেশন কোথায় শুরু হবে তা বেছে নিন",
"settings.workspaces.default.lastUsed": "প্রতি প্রকল্পে সর্বশেষ ব্যবহৃত",
"settings.workspaces.default.local": "স্থানীয় ডিরেক্টরি",
"settings.workspaces.default.new": "নতুন ওয়ার্কস্পেস",
"workspace.move.title": "ওয়ার্কস্পেসে সরান",
"workspace.move.menu.title": "সেশন এখানে সরান",
"workspace.move.failed": "সেশন সরানো ব্যর্থ হয়েছে",
"workspace.lifecycle.creating": "ওয়ার্কস্পেস তৈরি হচ্ছে",
"workspace.lifecycle.created": "ওয়ার্কস্পেস তৈরি হয়েছে",
"workspace.lifecycle.starting": "সেশন শুরু হচ্ছে",
"workspace.onboarding.title": "ওয়ার্কস্পেস দিয়ে সেশন আলাদা রাখুন",
"workspace.onboarding.description":
"প্রতিটি নিজস্ব চেকআউট পায়, তাই আপনার স্থানীয় রিপোজিটরিতে কোনো হস্তক্ষেপ হয় না",
"workspace.lifecycle.moving": "ওয়ার্কস্পেসে সরানো হচ্ছে",
"workspace.lifecycle.set": "ওয়ার্কস্পেস সেট করা হয়েছে",
"session.summary.title": "সেশনের বিবরণ",
"session.summary.noBranch": "কোনো ব্রাঞ্চ নেই",
"session.summary.basedOn": "{{branch}}-এর ভিত্তিতে",
"provider.disconnect.toast.noCredentials.description":
"{{provider}}-এর জন্য অপসারণযোগ্য কোনো শংসাপত্র পাওয়া যায়নি।",
"provider.disconnect.toast.failed.description": "{{provider}}-এর সংযোগ বিচ্ছিন্ন করা যায়নি।",
"session.timeline.notice.instructionsUpdated": "নির্দেশনা আপডেট হয়েছে: {{sources}}",
"session.timeline.notice.restart": "পুনরায় চালু হওয়ার পর অব্যাহত রয়েছে",
}
+95
View File
@@ -1156,4 +1156,99 @@ export const dict = {
"error.childStore.persistedProjectIconCreateFailed": "Falha ao criar ícone de projeto persistente",
"error.childStore.storeCreateFailed": "Falha ao criar armazenamento",
"terminal.connectionLost.abnormalClose": "WebSocket fechado anormalmente: {{code}}",
"provider.disconnect.toast.noCredentials.description": "Nenhuma credencial removível encontrada para {{provider}}.",
"provider.disconnect.toast.failed.description": "Falha ao desconectar {{provider}}.",
"toast.migration.failed.title": "Falha na migração de dados",
"session.background.moveTasks": "Mova {{tasks}} para segundo plano",
"session.background.inBackground": "Executando {{tasks}} em segundo plano",
"session.background.combine": "{{first}} e {{second}}",
"session.background.shell.one": "{{count}} shell",
"session.background.shell.other": "{{count}} shells",
"session.background.subagent.one": "{{count}} subagente",
"session.background.subagent.other": "{{count}} subagentes",
"command.session.background": "Mover para segundo plano",
"session.timeline.notice.finished": "{{actor}} finalizado",
"session.timeline.notice.failed": "{{actor}} falhou",
"session.timeline.notice.cancelled": "{{actor}} cancelado",
"session.timeline.notice.instructionsUpdated": "Instruções atualizadas: {{sources}}",
"session.timeline.notice.restart": "Continuando após reiniciar",
"settings.tab.preferences": "Preferências",
"settings.tab.notifications": "Notificações",
"settings.tab.projects": "Projetos",
"settings.tab.extensions": "Extensões",
"settings.preferences.description": "Personalize preferências, tema e comportamento padrão",
"settings.appearance.description": "Personalize tema e fontes",
"settings.notifications.description": "Escolha quando receber notificações e ouvir sons",
"settings.shortcuts.description": "Personalize atalhos para ações comuns",
"settings.servers.description": "Gerenciar conexões de servidor",
"settings.projects.title": "Projetos",
"settings.projects.description": "Gerencie as configurações do projeto neste servidor",
"settings.projects.empty": "Nenhum projeto encontrado",
"settings.projects.server.all": "Todos os servidores",
"settings.mcps.description": "Gerenciar servidores e ferramentas do Model Context Protocol (MCP)",
"settings.extensions.description": "Gerenciar extensões disponíveis neste servidor",
"settings.extensions.tab.mcps": "MCP",
"settings.extensions.tab.skills": "Habilidades",
"settings.extensions.availableAll": "Disponível para todos os projetos",
"settings.extensions.manageConfig": "Gerenciar em opencode.json",
"settings.extensions.addSkills": "Como adicionar habilidades",
"dialog.server.authenticate.title": "Autenticar",
"project.settings.general.description": "Gerenciar o nome e a aparência do projeto",
"project.settings.scripts": "Roteiros",
"project.settings.scripts.description": "Configurar scripts para este projeto",
"project.settings.extensions.description": "Ver extensões disponíveis para este projeto",
"project.settings.extensions.tab.lsps": "LSPs",
"project.settings.extensions.added": "Adicionado a este projeto",
"project.settings.extensions.shared": "Compartilhado com todos os projetos",
"project.settings.extensions.lsp.detected": "Servidores de linguagem detectados",
"project.settings.extensions.lsp.description": "Detectado automaticamente em tipos de arquivo",
"project.settings.extensions.setupRequired": "Configuração necessária",
"settings.general.section.general": "Em geral",
"common.viewAll": "Ver tudo",
"session.new.workspace.local.tooltip": "Usar checkout atual",
"session.new.workspace.new.tooltip": "Criar checkout isolado",
"session.new.workspace.fromBranch": "de {{branch}}",
"session.new.workspace.trigger.tooltip": "Selecione onde executar a sessão",
"session.new.workspace.search.placeholder": "Pesquisar espaços de trabalho",
"settings.tab.workspaces": "Espaços de trabalho",
"settings.workspaces.filter.all": "Todos os projetos",
"settings.workspaces.empty": "Sem espaços de trabalho",
"settings.workspaces.count.one": "Espaço de trabalho {{count}}",
"settings.workspaces.count.other": "Espaços de trabalho {{count}}",
"settings.workspaces.sessions.one": "Sessão {{count}} em {{project}}",
"settings.workspaces.sessions.other": "Sessões {{count}} em {{project}}",
"settings.workspaces.lastActiveSession": "Última sessão ativa",
"settings.workspaces.deleteAll": "Excluir todos os espaços de trabalho",
"settings.workspaces.deleteAll.confirm": "Excluir todos os espaços de trabalho {{count}}?",
"settings.workspaces.delete.warning":
"O diretório e a ramificação do espaço de trabalho serão removidos permanentemente, incluindo quaisquer alterações não mescladas mostradas abaixo.",
"settings.workspaces.deleteAll.warning":
"Os espaços de trabalho selecionados {{count}} em {{project}} serão removidos permanentemente somente se cada um estiver limpo, inativo e não tiver sessões vinculadas.",
"settings.workspaces.delete.blocked.active": "O espaço de trabalho ativo não pode ser excluído.",
"settings.workspaces.delete.blocked.linked":
"As sessões vinculadas permanecerão, mas seu diretório de trabalho será removido permanentemente.",
"settings.workspaces.default.title": "Ambiente padrão",
"settings.workspaces.default.description": "Escolha onde as novas sessões começam",
"settings.workspaces.default.lastUsed": "Última utilização por projeto",
"settings.workspaces.default.local": "Diretório local",
"settings.workspaces.default.new": "Novo espaço de trabalho",
"workspace.move.title": "Mover para o espaço de trabalho",
"workspace.move.menu.title": "Mover sessão para",
"workspace.move.failed": "Falha ao mover sessão",
"workspace.lifecycle.creating": "Criando espaço de trabalho",
"workspace.lifecycle.created": "Espaço de trabalho criado",
"workspace.lifecycle.starting": "Iniciando sessão",
"workspace.onboarding.title": "Isolar sessões com espaços de trabalho",
"workspace.onboarding.description":
"Cada um recebe seu próprio checkout, então nada interfere no seu repositório local",
"workspace.lifecycle.moving": "Movendo para o espaço de trabalho",
"workspace.lifecycle.set": "Espaço de trabalho definido",
"session.summary.title": "Detalhes da sessão",
"session.summary.noBranch": "Sem branch",
"session.summary.basedOn": "Baseado em {{branch}}",
"session.background.shell.many": "{{count}} shells",
"session.background.subagent.many": "{{count}} subagentes",
"settings.workspaces.count.many": "{{count}} espaços de trabalho",
"settings.workspaces.sessions.many": "{{count}} sessões em {{project}}",
}
+93
View File
@@ -1231,4 +1231,97 @@ export const dict = {
"error.childStore.persistedProjectIconCreateFailed": "Nije uspjelo kreiranje trajne ikone projekta",
"error.childStore.storeCreateFailed": "Nije uspjelo kreiranje skladišta",
"terminal.connectionLost.abnormalClose": "WebSocket zatvoren nenormalno: {{code}}",
"provider.disconnect.toast.noCredentials.description": "Nisu pronađeni uklonjivi akreditivi za {{provider}}.",
"provider.disconnect.toast.failed.description": "Prekid veze {{provider}} nije uspio.",
"toast.migration.failed.title": "Migracija podataka nije uspjela",
"session.background.moveTasks": "Premjestite {{tasks}} u pozadinu",
"session.background.inBackground": "Pokretanje {{tasks}} u pozadini",
"session.background.combine": "{{first}} i {{second}}",
"session.background.shell.one": "{{count}} shell",
"session.background.shell.other": "{{count}} shellova",
"session.background.subagent.one": "{{count}} subagent",
"session.background.subagent.other": "{{count}} subagenti",
"command.session.background": "Premjesti u pozadinu",
"session.timeline.notice.finished": "{{actor}} završeno",
"session.timeline.notice.failed": "{{actor}} nije uspio",
"session.timeline.notice.cancelled": "{{actor}} otkazan",
"session.timeline.notice.instructionsUpdated": "Ažurirana uputstva: {{sources}}",
"session.timeline.notice.restart": "Nastavak nakon ponovnog pokretanja",
"settings.tab.preferences": "Postavke",
"settings.tab.notifications": "Obavještenja",
"settings.tab.projects": "Projekti",
"settings.tab.extensions": "Ekstenzije",
"settings.preferences.description": "Prilagodite postavke i temu i zadano ponašanje",
"settings.appearance.description": "Prilagodite temu i fontove",
"settings.notifications.description": "Odaberite kada ćete primati obavještenja i čuti zvukove",
"settings.shortcuts.description": "Prilagodite prečice za uobičajene radnje",
"settings.servers.description": "Upravljajte serverskim vezama",
"settings.projects.title": "Projekti",
"settings.projects.description": "Upravljajte postavkama projekta na ovom serveru",
"settings.projects.empty": "Nije pronađen nijedan projekat",
"settings.projects.server.all": "Svi serveri",
"settings.mcps.description": "Upravljajte serverima i alatima Model Context Protocol (MCP).",
"settings.extensions.description": "Upravljajte ekstenzijama dostupnim na ovom serveru",
"settings.extensions.tab.mcps": "MCP-ovi",
"settings.extensions.tab.skills": "Vještine",
"settings.extensions.availableAll": "Dostupan za sve projekte",
"settings.extensions.manageConfig": "Upravljajte u opencode.json",
"settings.extensions.addSkills": "Kako dodati vještine",
"dialog.server.authenticate.title": "Autentificiraj",
"project.settings.general.description": "Upravljajte imenom i izgledom projekta",
"project.settings.scripts": "Skripte",
"project.settings.scripts.description": "Konfigurirajte skripte za ovaj projekat",
"project.settings.extensions.description": "Pogledajte proširenja dostupna za ovaj projekat",
"project.settings.extensions.tab.lsps": "LSP-ovi",
"project.settings.extensions.added": "Dodato ovom projektu",
"project.settings.extensions.shared": "Dijeljeno sa svim projektima",
"project.settings.extensions.lsp.detected": "Otkriveni jezički serveri",
"project.settings.extensions.lsp.description": "Automatski otkriveno prema tipovima datoteka",
"project.settings.extensions.setupRequired": "Potrebna je konfiguracija",
"settings.general.section.general": "Opšte",
"common.viewAll": "Pogledaj sve",
"session.new.workspace.local.tooltip": "Koristi trenutnu radnu kopiju",
"session.new.workspace.new.tooltip": "Kreiraj izolovanu radnu kopiju",
"session.new.workspace.fromBranch": "od {{branch}}",
"session.new.workspace.trigger.tooltip": "Odaberite gdje želite pokrenuti sesiju",
"session.new.workspace.search.placeholder": "Pretražite radne prostore",
"settings.tab.workspaces": "Radni prostori",
"settings.workspaces.filter.all": "Svi projekti",
"settings.workspaces.empty": "Nema radnih prostora",
"settings.workspaces.count.one": "{{count}} radni prostor",
"settings.workspaces.count.other": "{{count}} radni prostori",
"settings.workspaces.sessions.one": "{{count}} sesija u {{project}}",
"settings.workspaces.sessions.other": "{{count}} sesije u {{project}}",
"settings.workspaces.lastActiveSession": "Zadnja aktivna sesija",
"settings.workspaces.deleteAll": "Izbrišite sve radne prostore",
"settings.workspaces.deleteAll.confirm": "Izbrisati sve {{count}} radne prostore?",
"settings.workspaces.delete.warning":
"Direktorij i grana radnog prostora će biti trajno uklonjeni, uključujući sve nespojene promjene prikazane u nastavku.",
"settings.workspaces.deleteAll.warning":
"{{count}} odabrani radni prostori u {{project}} će biti trajno uklonjeni samo ako je svaki čist, neaktivan i nema povezanih sesija.",
"settings.workspaces.delete.blocked.active": "Aktivni radni prostor se ne može izbrisati.",
"settings.workspaces.delete.blocked.linked":
"Povezane sesije će ostati, ali će njihov radni direktorij biti trajno uklonjen.",
"settings.workspaces.default.title": "Zadano okruženje",
"settings.workspaces.default.description": "Odaberite gdje počinju nove sesije",
"settings.workspaces.default.lastUsed": "Posljednje korišteno po projektu",
"settings.workspaces.default.local": "Lokalni imenik",
"settings.workspaces.default.new": "Novi radni prostor",
"workspace.move.title": "Premjestite se u radni prostor",
"workspace.move.menu.title": "Premjesti sesiju na",
"workspace.move.failed": "Premještanje sesije nije uspjelo",
"workspace.lifecycle.creating": "Kreiranje radnog prostora",
"workspace.lifecycle.created": "Radni prostor kreiran",
"workspace.lifecycle.starting": "Početak sesije",
"workspace.onboarding.title": "Izolirajte sesije s radnim prostorima",
"workspace.onboarding.description": "Svaka dobija vlastitu radnu kopiju, tako da ništa ne ometa lokalni repozitorij",
"workspace.lifecycle.moving": "Prelazak u radni prostor",
"workspace.lifecycle.set": "Radni prostor postavljen",
"session.summary.title": "Detalji sesije",
"session.summary.noBranch": "Nema grane",
"session.summary.basedOn": "Zasnovano na {{branch}}",
"session.background.shell.few": "{{count}} shella",
"session.background.subagent.few": "{{count}} subagenta",
"settings.workspaces.count.few": "{{count}} radna prostora",
"settings.workspaces.sessions.few": "{{count}} sesije u {{project}}",
}
+94
View File
@@ -1122,6 +1122,50 @@ export const dict = {
"session.delete.confirm": 'Voleu suprimir la sessió "{{name}}"?',
"session.delete.button": "Suprimeix la sessió",
"workspace.new": "Nou espai de treball",
"common.viewAll": "Mostra-ho tot",
"session.new.workspace.local.tooltip": "Utilitza el checkout actual",
"session.new.workspace.new.tooltip": "Crea un checkout aïllat",
"session.new.workspace.fromBranch": "des de {{branch}}",
"session.new.workspace.trigger.tooltip": "Selecciona on s'executarà la sessió",
"session.new.workspace.search.placeholder": "Cerca espais de treball",
"settings.tab.workspaces": "Espais de treball",
"settings.workspaces.filter.all": "Tots els projectes",
"settings.workspaces.empty": "No hi ha espais de treball",
"settings.workspaces.count.one": "{{count}} espai de treball",
"settings.workspaces.count.many": "{{count}} d'espais de treball",
"settings.workspaces.count.other": "{{count}} espais de treball",
"settings.workspaces.sessions.one": "{{count}} sessió a {{project}}",
"settings.workspaces.sessions.many": "{{count}} de sessions a {{project}}",
"settings.workspaces.sessions.other": "{{count}} sessions a {{project}}",
"settings.workspaces.lastActiveSession": "Última sessió activa",
"settings.workspaces.deleteAll": "Suprimeix tots els espais de treball",
"settings.workspaces.deleteAll.confirm": "Voleu suprimir els {{count}} espais de treball?",
"settings.workspaces.delete.warning":
"El directori i la branca de l'espai de treball se suprimiran permanentment, inclosos els canvis no fusionats que es mostren a continuació.",
"settings.workspaces.deleteAll.warning":
"Els {{count}} espais de treball seleccionats de {{project}} se suprimiran permanentment només si tots estan nets, inactius i no tenen sessions enllaçades.",
"settings.workspaces.delete.blocked.active": "L'espai de treball actiu no es pot suprimir.",
"settings.workspaces.delete.blocked.linked":
"Les sessions enllaçades es conservaran, però el seu directori de treball se suprimirà permanentment.",
"settings.workspaces.default.title": "Entorn predeterminat",
"settings.workspaces.default.description": "Trieu on s'inicien les sessions noves",
"settings.workspaces.default.lastUsed": "Últim utilitzat per projecte",
"settings.workspaces.default.local": "Directori local",
"settings.workspaces.default.new": "Espai de treball nou",
"workspace.move.title": "Mou a un espai de treball",
"workspace.move.menu.title": "Mou la sessió a",
"workspace.move.failed": "No s'ha pogut moure la sessió",
"workspace.lifecycle.creating": "S'està creant l'espai de treball",
"workspace.lifecycle.created": "S'ha creat l'espai de treball",
"workspace.lifecycle.starting": "S'està iniciant la sessió",
"workspace.onboarding.title": "Aïlla les sessions amb espais de treball",
"workspace.onboarding.description":
"Cadascuna té el seu propi checkout, de manera que res no interfereix amb el repositori local",
"workspace.lifecycle.moving": "S'està movent a l'espai de treball",
"workspace.lifecycle.set": "Espai de treball establert",
"session.summary.title": "Detalls de la sessió",
"session.summary.noBranch": "Sense branca",
"session.summary.basedOn": "Basat en {{branch}}",
"workspace.type.local": "locals",
"workspace.type.sandbox": "caixa de sorra",
"workspace.create.failed.title": "No s'ha pogut crear l'espai de treball",
@@ -1147,4 +1191,54 @@ export const dict = {
"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",
"provider.disconnect.toast.noCredentials.description": "No s'han trobat credencials eliminables per a {{provider}}.",
"provider.disconnect.toast.failed.description": "No s'ha pogut desconnectar {{provider}}.",
"toast.migration.failed.title": "La migració de dades ha fallat",
"session.background.moveTasks": "Mou {{tasks}} al segon pla",
"session.background.inBackground": "S'està executant {{tasks}} en segon pla",
"session.background.combine": "{{first}} i {{second}}",
"session.background.shell.one": "{{count}} shell",
"session.background.shell.other": "{{count}} shells",
"session.background.shell.many": "{{count}} shells",
"session.background.subagent.one": "{{count}} subagent",
"session.background.subagent.other": "{{count}} subagents",
"session.background.subagent.many": "{{count}} subagents",
"command.session.background": "Mou al segon pla",
"session.timeline.notice.finished": "{{actor}} ha acabat",
"session.timeline.notice.failed": "{{actor}} ha fallat",
"session.timeline.notice.cancelled": "{{actor}} s'ha cancel·lat",
"session.timeline.notice.instructionsUpdated": "Instruccions actualitzades: {{sources}}",
"session.timeline.notice.restart": "Es continua després de reiniciar",
"settings.tab.preferences": "Preferències",
"settings.tab.notifications": "Notificacions",
"settings.tab.projects": "Projectes",
"settings.tab.extensions": "Extensions",
"settings.preferences.description": "Personalitzeu les preferències, el tema i el comportament predeterminat",
"settings.appearance.description": "Personalitzeu el tema i els tipus de lletra",
"settings.notifications.description": "Trieu quan voleu rebre notificacions i sentir sons",
"settings.shortcuts.description": "Personalitzeu les dreceres per a les accions habituals",
"settings.servers.description": "Gestioneu les connexions als servidors",
"settings.projects.title": "Projectes",
"settings.projects.description": "Gestioneu la configuració dels projectes d'aquest servidor",
"settings.projects.empty": "No s'ha trobat cap projecte",
"settings.projects.server.all": "Tots els servidors",
"settings.mcps.description": "Gestioneu els servidors i les eines del Model Context Protocol (MCP)",
"settings.extensions.description": "Gestioneu les extensions disponibles en aquest servidor",
"settings.extensions.tab.mcps": "MCP",
"settings.extensions.tab.skills": "Habilitats",
"settings.extensions.availableAll": "Disponible per a tots els projectes",
"settings.extensions.manageConfig": "Gestiona-ho a opencode.json",
"settings.extensions.addSkills": "Com afegir habilitats",
"dialog.server.authenticate.title": "Autentica",
"project.settings.general.description": "Gestioneu el nom i l'aparença del projecte",
"project.settings.scripts": "Scripts",
"project.settings.scripts.description": "Configureu els scripts d'aquest projecte",
"project.settings.extensions.description": "Consulteu les extensions disponibles per a aquest projecte",
"project.settings.extensions.tab.lsps": "LSP",
"project.settings.extensions.added": "Afegit a aquest projecte",
"project.settings.extensions.shared": "Compartit amb tots els projectes",
"project.settings.extensions.lsp.detected": "Servidors de llenguatge detectats",
"project.settings.extensions.lsp.description": "Detectats automàticament segons els tipus de fitxer",
"project.settings.extensions.setupRequired": "Cal configurar-ho",
"settings.general.section.general": "General",
}
+98
View File
@@ -1138,4 +1138,102 @@ export const dict = {
"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",
"provider.disconnect.toast.noCredentials.description":
"Pro {{provider}} nebyly nalezeny žádné vyměnitelné přihlašovací údaje.",
"provider.disconnect.toast.failed.description": "Odpojení {{provider}} se nezdařilo.",
"toast.migration.failed.title": "Migrace dat se nezdařila",
"session.background.moveTasks": "Přesuňte {{tasks}} na pozadí",
"session.background.inBackground": "Na pozadí běží {{tasks}}",
"session.background.combine": "{{first}} a {{second}}",
"session.background.shell.one": "{{count}} shell",
"session.background.shell.other": "{{count}} shellů",
"session.background.subagent.one": "Subagent {{count}}",
"session.background.subagent.other": "Subagenti {{count}}",
"command.session.background": "Přesuňte se na pozadí",
"session.timeline.notice.finished": "{{actor}} dokončeno",
"session.timeline.notice.failed": "{{actor}} se nezdařilo",
"session.timeline.notice.cancelled": "{{actor}} zrušeno",
"session.timeline.notice.instructionsUpdated": "Aktualizované pokyny: {{sources}}",
"session.timeline.notice.restart": "Pokračuje po restartu",
"settings.tab.preferences": "Předvolby",
"settings.tab.notifications": "Oznámení",
"settings.tab.projects": "Projekty",
"settings.tab.extensions": "Rozšíření",
"settings.preferences.description": "Přizpůsobte předvolby a motiv a výchozí chování",
"settings.appearance.description": "Přizpůsobte si motiv a písma",
"settings.notifications.description": "Vyberte, kdy chcete dostávat oznámení a slyšet zvuky",
"settings.shortcuts.description": "Přizpůsobte si zkratky pro běžné akce",
"settings.servers.description": "Správa připojení k serveru",
"settings.projects.title": "Projekty",
"settings.projects.description": "Spravujte nastavení projektu na tomto serveru",
"settings.projects.empty": "Nebyly nalezeny žádné projekty",
"settings.projects.server.all": "Všechny servery",
"settings.mcps.description": "Správa serverů a nástrojů Model Context Protocol (MCP).",
"settings.extensions.description": "Spravujte rozšíření dostupná na tomto serveru",
"settings.extensions.tab.mcps": "MCP",
"settings.extensions.tab.skills": "Dovednosti",
"settings.extensions.availableAll": "Dostupné pro všechny projekty",
"settings.extensions.manageConfig": "Spravujte v opencode.json",
"settings.extensions.addSkills": "Jak přidat dovednosti",
"dialog.server.authenticate.title": "Ověřit",
"project.settings.general.description": "Spravujte název a vzhled projektu",
"project.settings.scripts": "Skripty",
"project.settings.scripts.description": "Nakonfigurujte skripty pro tento projekt",
"project.settings.extensions.description": "Zobrazit rozšíření dostupná pro tento projekt",
"project.settings.extensions.tab.lsps": "LSP",
"project.settings.extensions.added": "Přidáno do tohoto projektu",
"project.settings.extensions.shared": "Sdíleno se všemi projekty",
"project.settings.extensions.lsp.detected": "Zjištěné jazykové servery",
"project.settings.extensions.lsp.description": "Automaticky zjištěno z typů souborů",
"project.settings.extensions.setupRequired": "Je vyžadováno nastavení",
"settings.general.section.general": "Obecné",
"common.viewAll": "Zobrazit vše",
"session.new.workspace.local.tooltip": "Použít aktuální pracovní kopii",
"session.new.workspace.new.tooltip": "Vytvořit izolovanou pracovní kopii",
"session.new.workspace.fromBranch": "od {{branch}}",
"session.new.workspace.trigger.tooltip": "Vyberte, kde chcete relaci spustit",
"session.new.workspace.search.placeholder": "Prohledejte pracovní prostory",
"settings.tab.workspaces": "Pracovní prostory",
"settings.workspaces.filter.all": "Všechny projekty",
"settings.workspaces.empty": "Žádné pracovní prostory",
"settings.workspaces.count.one": "Pracovní plocha {{count}}",
"settings.workspaces.count.other": "Pracovní prostory {{count}}",
"settings.workspaces.sessions.one": "Relace {{count}} v {{project}}",
"settings.workspaces.sessions.other": "Relace {{count}} v {{project}}",
"settings.workspaces.lastActiveSession": "Poslední aktivní relace",
"settings.workspaces.deleteAll": "Smazat všechny pracovní prostory",
"settings.workspaces.deleteAll.confirm": "Smazat všechny pracovní prostory {{count}}?",
"settings.workspaces.delete.warning":
"Adresář a větev pracovního prostoru budou trvale odstraněny, včetně všech nesloučených změn zobrazených níže.",
"settings.workspaces.deleteAll.warning":
"Vybrané pracovní prostory {{count}} v {{project}} budou trvale odstraněny, pouze pokud jsou čisté, neaktivní a nemají žádné propojené relace.",
"settings.workspaces.delete.blocked.active": "Aktivní pracovní prostor nelze smazat.",
"settings.workspaces.delete.blocked.linked":
"Propojené relace zůstanou, ale jejich pracovní adresář bude trvale odstraněn.",
"settings.workspaces.default.title": "Výchozí prostředí",
"settings.workspaces.default.description": "Vyberte, kde začínají nové relace",
"settings.workspaces.default.lastUsed": "Naposledy použito na projekt",
"settings.workspaces.default.local": "Místní adresář",
"settings.workspaces.default.new": "Nový pracovní prostor",
"workspace.move.title": "Přesuňte se do pracovního prostoru",
"workspace.move.menu.title": "Přesunout relaci do",
"workspace.move.failed": "Přesun relace se nezdařil",
"workspace.lifecycle.creating": "Vytváření pracovního prostoru",
"workspace.lifecycle.created": "Pracovní prostor vytvořen",
"workspace.lifecycle.starting": "Zahájení relace",
"workspace.onboarding.title": "Izolujte relace s pracovními prostory",
"workspace.onboarding.description": "Každá získá vlastní pracovní kopii, takže nic nezasahuje do místního repozitáře",
"workspace.lifecycle.moving": "Přesun do pracovního prostoru",
"workspace.lifecycle.set": "Pracovní prostor nastaven",
"session.summary.title": "Podrobnosti relace",
"session.summary.noBranch": "Žádná větev",
"session.summary.basedOn": "Na základě {{branch}}",
"session.background.shell.few": "{{count}} shelly",
"session.background.shell.many": "{{count}} shellů",
"session.background.subagent.few": "{{count}} podagenti",
"session.background.subagent.many": "{{count}} subagentů",
"settings.workspaces.count.few": "{{count}} pracovní plochy",
"settings.workspaces.count.many": "{{count}} pracovních míst",
"settings.workspaces.sessions.few": "{{count}} sezení v {{project}}",
"settings.workspaces.sessions.many": "{{count}} relací v {{project}}",
}
+91
View File
@@ -1222,4 +1222,95 @@ export const dict = {
"desktop.picker.error.sizeLimit": "De valgte vedhæftede filer overskrider grænsen på {{limit}} MB",
"command.logs.export": "Eksportér logfiler",
"provider.disconnect.toast.noCredentials.description":
"Der blev ikke fundet nogen flytbare legitimationsoplysninger for {{provider}}.",
"provider.disconnect.toast.failed.description": "Kunne ikke afbryde {{provider}}.",
"toast.migration.failed.title": "Datamigrering mislykkedes",
"session.background.moveTasks": "Flyt {{tasks}} til baggrunden",
"session.background.inBackground": "Kører {{tasks}} i baggrunden",
"session.background.combine": "{{first}} og {{second}}",
"session.background.shell.one": "{{count}} shell",
"session.background.shell.other": "{{count}} shells",
"session.background.subagent.one": "{{count}} subagent",
"session.background.subagent.other": "{{count}} subagenter",
"command.session.background": "Flyt til baggrunden",
"session.timeline.notice.finished": "{{actor}} færdig",
"session.timeline.notice.failed": "{{actor}} mislykkedes",
"session.timeline.notice.cancelled": "{{actor}} annulleret",
"session.timeline.notice.instructionsUpdated": "Instruktioner opdateret: {{sources}}",
"session.timeline.notice.restart": "Fortsætter efter genstart",
"settings.tab.preferences": "Præferencer",
"settings.tab.notifications": "Meddelelser",
"settings.tab.projects": "Projekter",
"settings.tab.extensions": "Udvidelser",
"settings.preferences.description": "Tilpas præferencer og tema og standardadfærd",
"settings.appearance.description": "Tilpas tema og skrifttyper",
"settings.notifications.description": "Vælg, hvornår du vil modtage notifikationer og høre lyde",
"settings.shortcuts.description": "Tilpas genveje til almindelige handlinger",
"settings.servers.description": "Administrer serverforbindelser",
"settings.projects.title": "Projekter",
"settings.projects.description": "Administrer projektindstillinger på denne server",
"settings.projects.empty": "Ingen projekter fundet",
"settings.projects.server.all": "Alle servere",
"settings.mcps.description": "Administrer Model Context Protocol (MCP) servere og værktøjer",
"settings.extensions.description": "Administrer udvidelser, der er tilgængelige på denne server",
"settings.extensions.tab.mcps": "MCP'er",
"settings.extensions.tab.skills": "Færdigheder",
"settings.extensions.availableAll": "Tilgængelig til alle projekter",
"settings.extensions.manageConfig": "Administrer i opencode.json",
"settings.extensions.addSkills": "Sådan tilføjer du færdigheder",
"dialog.server.authenticate.title": "Godkend",
"project.settings.general.description": "Administrer projektnavn og udseende",
"project.settings.scripts": "Scripts",
"project.settings.scripts.description": "Konfigurer scripts til dette projekt",
"project.settings.extensions.description": "Se tilgængelige udvidelser til dette projekt",
"project.settings.extensions.tab.lsps": "LSP'er",
"project.settings.extensions.added": "Tilføjet til dette projekt",
"project.settings.extensions.shared": "Deles med alle projekter",
"project.settings.extensions.lsp.detected": "Detekterede sprogservere",
"project.settings.extensions.lsp.description": "Auto-detekteret fra filtyper",
"project.settings.extensions.setupRequired": "Opsætning påkrævet",
"settings.general.section.general": "Generel",
"common.viewAll": "Se alle",
"session.new.workspace.local.tooltip": "Brug det aktuelle checkout",
"session.new.workspace.new.tooltip": "Opret et isoleret checkout",
"session.new.workspace.fromBranch": "fra {{branch}}",
"session.new.workspace.trigger.tooltip": "Vælg, hvor sessionen skal køres",
"session.new.workspace.search.placeholder": "Søg i arbejdsområder",
"settings.tab.workspaces": "Arbejdsrum",
"settings.workspaces.filter.all": "Alle projekter",
"settings.workspaces.empty": "Ingen arbejdsområder",
"settings.workspaces.count.one": "{{count}} arbejdsområde",
"settings.workspaces.count.other": "{{count}} arbejdsområder",
"settings.workspaces.sessions.one": "{{count}} session i {{project}}",
"settings.workspaces.sessions.other": "{{count}}-sessioner i {{project}}",
"settings.workspaces.lastActiveSession": "Sidste aktive session",
"settings.workspaces.deleteAll": "Slet alle arbejdsområder",
"settings.workspaces.deleteAll.confirm": "Vil du slette alle {{count}}-arbejdsområder?",
"settings.workspaces.delete.warning":
"Arbejdsområdets bibliotek og filial vil blive permanent fjernet, inklusive eventuelle ikke-sammenflettede ændringer vist nedenfor.",
"settings.workspaces.deleteAll.warning":
"De {{count}} valgte arbejdsområder i {{project}} vil kun blive permanent fjernet, hvis hver af dem er rene, inaktive og ikke har nogen linkede sessioner.",
"settings.workspaces.delete.blocked.active": "Det aktive arbejdsområde kan ikke slettes.",
"settings.workspaces.delete.blocked.linked":
"Linkede sessioner forbliver, men deres arbejdsmappe vil blive permanent fjernet.",
"settings.workspaces.default.title": "Standard miljø",
"settings.workspaces.default.description": "Vælg, hvor nye sessioner starter",
"settings.workspaces.default.lastUsed": "Sidst brugt pr. projekt",
"settings.workspaces.default.local": "Lokal vejviser",
"settings.workspaces.default.new": "Nyt arbejdsrum",
"workspace.move.title": "Flyt til arbejdsområdet",
"workspace.move.menu.title": "Flyt session til",
"workspace.move.failed": "Sessionen kunne ikke flyttes",
"workspace.lifecycle.creating": "Oprettelse af arbejdsrum",
"workspace.lifecycle.created": "Arbejdsområde oprettet",
"workspace.lifecycle.starting": "Start session",
"workspace.onboarding.title": "Isoler sessioner med arbejdsområder",
"workspace.onboarding.description": "Hver får sit eget checkout, så intet forstyrrer dit lokale repository",
"workspace.lifecycle.moving": "Flytter til arbejdsområde",
"workspace.lifecycle.set": "Arbejdsområde angivet",
"session.summary.title": "Session detaljer",
"session.summary.noBranch": "Ingen gren",
"session.summary.basedOn": "Baseret på {{branch}}",
}
+92
View File
@@ -1160,4 +1160,96 @@ export const dict = {
"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",
"provider.disconnect.toast.noCredentials.description":
"Für {{provider}} wurden keine entfernbaren Anmeldeinformationen gefunden.",
"provider.disconnect.toast.failed.description": "{{provider}} konnte nicht getrennt werden.",
"toast.migration.failed.title": "Die Datenmigration ist fehlgeschlagen",
"session.background.moveTasks": "Verschieben Sie {{tasks}} in den Hintergrund",
"session.background.inBackground": "Läuft {{tasks}} im Hintergrund",
"session.background.combine": "{{first}} und {{second}}",
"session.background.shell.one": "{{count}}-Shell",
"session.background.shell.other": "{{count}} Shells",
"session.background.subagent.one": "{{count}}-Subagent",
"session.background.subagent.other": "{{count}}-Subagenten",
"command.session.background": "In den Hintergrund wechseln",
"session.timeline.notice.finished": "{{actor}} fertig",
"session.timeline.notice.failed": "{{actor}} ist fehlgeschlagen",
"session.timeline.notice.cancelled": "{{actor}} abgebrochen",
"session.timeline.notice.instructionsUpdated": "Aktualisierte Anleitung: {{sources}}",
"session.timeline.notice.restart": "Fortsetzung nach Neustart",
"settings.tab.preferences": "Präferenzen",
"settings.tab.notifications": "Benachrichtigungen",
"settings.tab.projects": "Projekte",
"settings.tab.extensions": "Erweiterungen",
"settings.preferences.description": "Passen Sie Einstellungen, Design und Standardverhalten an",
"settings.appearance.description": "Passen Sie Design und Schriftarten an",
"settings.notifications.description": "Wählen Sie aus, wann Sie Benachrichtigungen erhalten und Töne hören möchten",
"settings.shortcuts.description": "Passen Sie Verknüpfungen für häufige Aktionen an",
"settings.servers.description": "Serververbindungen verwalten",
"settings.projects.title": "Projekte",
"settings.projects.description": "Projekteinstellungen auf diesem Server verwalten",
"settings.projects.empty": "Keine Projekte gefunden",
"settings.projects.server.all": "Alle Server",
"settings.mcps.description": "Verwalten Sie Model Context Protocol (MCP)-Server und -Tools",
"settings.extensions.description": "Verwalten Sie die auf diesem Server verfügbaren Erweiterungen",
"settings.extensions.tab.mcps": "MCPs",
"settings.extensions.tab.skills": "Fähigkeiten",
"settings.extensions.availableAll": "Verfügbar für alle Projekte",
"settings.extensions.manageConfig": "Verwalten Sie in opencode.json",
"settings.extensions.addSkills": "So fügen Sie Fähigkeiten hinzu",
"dialog.server.authenticate.title": "Authentifizieren",
"project.settings.general.description": "Verwalten Sie den Namen und das Erscheinungsbild des Projekts",
"project.settings.scripts": "Skripte",
"project.settings.scripts.description": "Konfigurieren Sie Skripte für dieses Projekt",
"project.settings.extensions.description": "Für dieses Projekt verfügbare Erweiterungen anzeigen",
"project.settings.extensions.tab.lsps": "LSPs",
"project.settings.extensions.added": "Zu diesem Projekt hinzugefügt",
"project.settings.extensions.shared": "Mit allen Projekten geteilt",
"project.settings.extensions.lsp.detected": "Erkannte Sprachserver",
"project.settings.extensions.lsp.description": "Wird anhand der Dateitypen automatisch erkannt",
"project.settings.extensions.setupRequired": "Einrichtung erforderlich",
"settings.general.section.general": "Allgemein",
"common.viewAll": "Alle anzeigen",
"session.new.workspace.local.tooltip": "Aktuellen Checkout verwenden",
"session.new.workspace.new.tooltip": "Isolierten Checkout erstellen",
"session.new.workspace.fromBranch": "von {{branch}}",
"session.new.workspace.trigger.tooltip": "Wählen Sie aus, wo die Sitzung ausgeführt werden soll",
"session.new.workspace.search.placeholder": "Arbeitsbereiche durchsuchen",
"settings.tab.workspaces": "Arbeitsbereiche",
"settings.workspaces.filter.all": "Alle Projekte",
"settings.workspaces.empty": "Keine Arbeitsbereiche",
"settings.workspaces.count.one": "{{count}}-Arbeitsbereich",
"settings.workspaces.count.other": "{{count}} Arbeitsbereiche",
"settings.workspaces.sessions.one": "{{count}}-Sitzung in {{project}}",
"settings.workspaces.sessions.other": "{{count}}-Sitzungen in {{project}}",
"settings.workspaces.lastActiveSession": "Letzte aktive Sitzung",
"settings.workspaces.deleteAll": "Löschen Sie alle Arbeitsbereiche",
"settings.workspaces.deleteAll.confirm": "Alle {{count}}-Arbeitsbereiche löschen?",
"settings.workspaces.delete.warning":
"Das Arbeitsbereichsverzeichnis und der Zweig werden dauerhaft entfernt, einschließlich aller unten aufgeführten nicht zusammengeführten Änderungen.",
"settings.workspaces.deleteAll.warning":
"Die von {{count}} ausgewählten Arbeitsbereiche in {{project}} werden nur dann dauerhaft entfernt, wenn jeder sauber und inaktiv ist und keine verknüpften Sitzungen aufweist.",
"settings.workspaces.delete.blocked.active": "Der aktive Arbeitsbereich kann nicht gelöscht werden.",
"settings.workspaces.delete.blocked.linked":
"Verknüpfte Sitzungen bleiben bestehen, ihr Arbeitsverzeichnis wird jedoch dauerhaft entfernt.",
"settings.workspaces.default.title": "Standardumgebung",
"settings.workspaces.default.description": "Wählen Sie, wo neue Sitzungen beginnen",
"settings.workspaces.default.lastUsed": "Zuletzt pro Projekt verwendet",
"settings.workspaces.default.local": "Lokales Verzeichnis",
"settings.workspaces.default.new": "Neuer Arbeitsbereich",
"workspace.move.title": "Wechseln Sie zum Arbeitsbereich",
"workspace.move.menu.title": "Sitzung verschieben nach",
"workspace.move.failed": "Sitzung konnte nicht verschoben werden",
"workspace.lifecycle.creating": "Arbeitsbereich erstellen",
"workspace.lifecycle.created": "Arbeitsbereich erstellt",
"workspace.lifecycle.starting": "Beginn der Sitzung",
"workspace.onboarding.title": "Isolieren Sie Sitzungen mit Arbeitsbereichen",
"workspace.onboarding.description":
"Jeder erhält seinen eigenen Checkout, sodass Ihr lokales Repository nicht beeinträchtigt wird",
"workspace.lifecycle.moving": "In Arbeitsbereich verschieben",
"workspace.lifecycle.set": "Arbeitsbereich eingestellt",
"session.summary.title": "Sitzungsdetails",
"session.summary.noBranch": "Kein Branch",
"session.summary.basedOn": "Basierend auf {{branch}}",
} satisfies Partial<Record<Keys, string>>
+91
View File
@@ -1151,4 +1151,95 @@ export const dict = {
"workspace.reset.archived.many": "{{count}} ސެޝަންތައް އަރުޝީފް ކުރެވޭނެއެވެ.",
"workspace.reset.note": "މިއީ ޑިފޯލްޓް ބްރާންޗާ އެއްގޮތްވާ ގޮތަށް ވޯކްސްޕޭސް ރީސެޓް ކުރާނެ ކަމެކެވެ.",
"dialog.usageExceeded.dontShowAgain": "އަލުން ނުދައްކާ",
"provider.disconnect.toast.noCredentials.description":
"{{provider}} އަށް ނައްތާލެވޭ އެއްވެސް ކްރެޑެންޝަލެއް ނުފެނުނެވެ.",
"provider.disconnect.toast.failed.description": "{{provider}} ޑިސްކަނެކްޓް ނުކުރެވުނެވެ.",
"toast.migration.failed.title": "ޑޭޓާ މައިގްރޭޝަން ފެއިލްވެއްޖެއެވެ",
"session.background.moveTasks": "{{tasks}} ބެކްގްރައުންޑަށް ބަދަލުކުރާށެވެ",
"session.background.inBackground": "{{tasks}} ބެކްގްރައުންޑްގައި ހިނގަމުންދެއެވެ",
"session.background.combine": "{{first}} އަދި {{second}}",
"session.background.shell.one": "{{count}} ޝެލް",
"session.background.shell.other": "{{count}} ޝެލްތައް",
"session.background.subagent.one": "{{count}} ސަބް އޭޖެންޓް",
"session.background.subagent.other": "{{count}} ސަބް އޭޖެންޓުން",
"command.session.background": "ބެކްގްރައުންޑަށް ބަދަލުކުރުން",
"session.timeline.notice.finished": "{{actor}} ނިންމައިފިއެވެ",
"session.timeline.notice.failed": "{{actor}} ފެއިލްވެއްޖެއެވެ",
"session.timeline.notice.cancelled": "{{actor}} ކެންސަލްވެއްޖެއެވެ",
"session.timeline.notice.instructionsUpdated": "އިންސްޓްރަކްޝަންތައް އަޕްޑޭޓްވެއްޖެ: {{sources}}",
"session.timeline.notice.restart": "ރީސްޓާޓްވުމަށްފަހު ކުރިއަށް ގެންދެއެވެ",
"settings.tab.preferences": "ޕްރެފަރެންސްތައް",
"settings.tab.notifications": "ނޮޓިފިކޭޝަންތައް",
"settings.tab.projects": "ޕްރޮޖެކްޓްތައް",
"settings.tab.extensions": "އެކްސްޓެންޝަންތައް",
"settings.preferences.description": "ޕްރެފަރެންސް، ތީމް އަދި ޑިފޯލްޓް ސުލޫކު ކަސްޓަމައިޒް ކުރާށެވެ",
"settings.appearance.description": "ތީމް އަދި ފޮންޓްތައް ކަސްޓަމައިޒް ކުރާށެވެ",
"settings.notifications.description": "ނޮޓިފިކޭޝަން ލިބޭ އަދި އަޑު އިވޭ ވަގުތު ހޮވާށެވެ",
"settings.shortcuts.description": "އާންމު އެކްޝަންތަކުގެ ޝޯޓްކަޓްތައް ކަސްޓަމައިޒް ކުރާށެވެ",
"settings.servers.description": "ސަރވަރ ކަނެކްޝަންތައް މެނޭޖްކުރާށެވެ",
"settings.projects.title": "ޕްރޮޖެކްޓްތައް",
"settings.projects.description": "މި ސަރވަރުގައި ޕްރޮޖެކްޓް ސެޓިންގްސް މެނޭޖްކުރާށެވެ",
"settings.projects.empty": "އެއްވެސް ޕްރޮޖެކްޓެއް ނުފެނުނެވެ",
"settings.projects.server.all": "ހުރިހާ ސަރވަރުތައް",
"settings.mcps.description": "Model Context Protocol (MCP) ސަރވަރތަކާއި ޓޫލްތައް މެނޭޖްކުރާށެވެ",
"settings.extensions.description": "މި ސަރވަރުގައި ލިބެންހުރި އެކްސްޓެންޝަންތައް މެނޭޖްކުރާށެވެ",
"settings.extensions.tab.mcps": "MCPs",
"settings.extensions.tab.skills": "ހުނަރުތައް",
"settings.extensions.availableAll": "ހުރިހާ ޕްރޮޖެކްޓަކަށް ލިބެންހުރި",
"settings.extensions.manageConfig": "opencode.json ގައި މެނޭޖްކުރާށެވެ",
"settings.extensions.addSkills": "ހުނަރުތައް އިތުރުކުރާނެ ގޮތް",
"dialog.server.authenticate.title": "އޮތެންޓިކޭޓް ކުރާށެވެ",
"project.settings.general.description": "ޕްރޮޖެކްޓްގެ ނަމާއި މަލަމަތި މެނޭޖްކުރާށެވެ",
"project.settings.scripts": "ސްކްރިޕްޓްތައް",
"project.settings.scripts.description": "މި ޕްރޮޖެކްޓަށް ސްކްރިޕްޓްތައް ކޮންފިގަރކުރާށެވެ",
"project.settings.extensions.description": "މި ޕްރޮޖެކްޓަށް ލިބެންހުރި އެކްސްޓެންޝަންތައް ބަލާށެވެ",
"project.settings.extensions.tab.lsps": "LSPs",
"project.settings.extensions.added": "މި ޕްރޮޖެކްޓަށް އިތުރުކޮށްފައި",
"project.settings.extensions.shared": "ހުރިހާ ޕްރޮޖެކްޓާއެކު ހިއްސާކޮށްފައި",
"project.settings.extensions.lsp.detected": "ފާހަގަކުރެވުނު ލޭންގުއޭޖް ސަރވަރތައް",
"project.settings.extensions.lsp.description": "ފައިލް ބާވަތްތަކުން އޮޓޮމެޓިކުން ފާހަގަކޮށްފައި",
"project.settings.extensions.setupRequired": "ސެޓަޕް ބޭނުންވެއެވެ",
"settings.general.section.general": "އާންމު",
"common.viewAll": "ހުރިހާ އެއްޗެއް ބަލާށެވެ",
"session.new.workspace.local.tooltip": "މިހާރުގެ ޗެކްއައުޓް ބޭނުންކުރާށެވެ",
"session.new.workspace.new.tooltip": "ވަކި ޗެކްއައުޓެއް އުފައްދާށެވެ",
"session.new.workspace.fromBranch": "{{branch}} އިން",
"session.new.workspace.trigger.tooltip": "ސެޝަން ހިންގާނެ ތަން ހޮވާށެވެ",
"session.new.workspace.search.placeholder": "ވޯކްސްޕޭސްތައް ހޯދާށެވެ",
"settings.tab.workspaces": "ވޯކްސްޕޭސްތައް",
"settings.workspaces.filter.all": "ހުރިހާ ޕްރޮޖެކްޓްތައް",
"settings.workspaces.empty": "އެއްވެސް ވޯކްސްޕޭސެއް ނެތެވެ",
"settings.workspaces.count.one": "{{count}} ވޯކްސްޕޭސް",
"settings.workspaces.count.other": "{{count}} ވޯކްސްޕޭސްތައް",
"settings.workspaces.sessions.one": "{{project}} ގައި {{count}} ސެޝަން",
"settings.workspaces.sessions.other": "{{project}} ގައި {{count}} ސެޝަންތައް",
"settings.workspaces.lastActiveSession": "ފަހުގެ އެކްޓިވް ސެޝަން",
"settings.workspaces.deleteAll": "ހުރިހާ ވޯކްސްޕޭސްތައް ފުހެލާށެވެ",
"settings.workspaces.deleteAll.confirm": "ހުރިހާ {{count}} ވޯކްސްޕޭސް ފުހެލަންތަ؟",
"settings.workspaces.delete.warning":
"ތިރީގައި ދައްކާ މާޖްނުކުރެވި ހުރި ބަދަލުތަކާއެކު ވޯކްސްޕޭސް ޑައިރެކްޓަރީ އަދި ބްރާންޗް ދާއިމީކޮށް ނައްތާލެވޭނެއެވެ.",
"settings.workspaces.deleteAll.warning":
"{{project}} ގައި ހޮވާފައިވާ {{count}} ވޯކްސްޕޭސް، ކޮންމެ ވޯކްސްޕޭސެއް ސާފު، އިނެކްޓިވް، އަދި ލިންކްވެފައިވާ ސެޝަނެއް ނެތްނަމަ އެކަނި ދާއިމީކޮށް ނައްތާލެވޭނެއެވެ.",
"settings.workspaces.delete.blocked.active": "އެކްޓިވް ވޯކްސްޕޭސް ފުހެލެވޭނެ ގޮތެއް ނެތެވެ.",
"settings.workspaces.delete.blocked.linked":
"ލިންކްވެފައިވާ ސެޝަންތައް ހުންނާނެ، ނަމަވެސް އޭގެ ވޯކިންގ ޑައިރެކްޓަރީ ދާއިމީކޮށް ނައްތާލެވޭނެއެވެ.",
"settings.workspaces.default.title": "ޑިފޯލްޓް މާޙައުލު",
"settings.workspaces.default.description": "އާ ސެޝަންތައް ފަށާނެ ތަން ހޮވާށެވެ",
"settings.workspaces.default.lastUsed": "ކޮންމެ ޕްރޮޖެކްޓަކަށް ވަކިން ފަހުން ބޭނުންކުރި",
"settings.workspaces.default.local": "ލޯކަލް ޑައިރެކްޓަރީ",
"settings.workspaces.default.new": "އާ ވޯކްސްޕޭސް",
"workspace.move.title": "ވޯކްސްޕޭސަށް ބަދަލުކުރާށެވެ",
"workspace.move.menu.title": "ސެޝަން ބަދަލުކުރާ ތަން",
"workspace.move.failed": "ސެޝަން ބަދަލު ނުކުރެވުނެވެ",
"workspace.lifecycle.creating": "ވޯކްސްޕޭސް އުފައްދަމުން",
"workspace.lifecycle.created": "ވޯކްސްޕޭސް އުފެދިއްޖެއެވެ",
"workspace.lifecycle.starting": "ސެޝަން ފަށަމުން",
"workspace.onboarding.title": "ވޯކްސްޕޭސްތަކުން ސެޝަންތައް ވަކިކޮށް ބަހައްޓާށެވެ",
"workspace.onboarding.description":
"ކޮންމެ ސެޝަނަކަށް ވަކި ޗެކްއައުޓެއް ލިބޭތީ ތިޔަ ލޯކަލް ރިޕޮޒިޓަރީއަށް އެއްވެސް ހުރަހެއް ނާޅާނެއެވެ",
"workspace.lifecycle.moving": "ވޯކްސްޕޭސަށް ބަދަލުކުރަމުން",
"workspace.lifecycle.set": "ވޯކްސްޕޭސް ސެޓްވެއްޖެއެވެ",
"session.summary.title": "ސެޝަންގެ ތަފްޞީލު",
"session.summary.noBranch": "އެއްވެސް ބްރާންޗެއް ނެތެވެ",
"session.summary.basedOn": "{{branch}} އަށް ބިނާކޮށް",
}
+90
View File
@@ -1153,5 +1153,95 @@ export const dict: Record<string, string> = {
"workspace.reset.archived.one": "ལཱ་ཡུན་ ༡ གཏན་མཛོད་ནང་བཞག་འོང་།",
"workspace.reset.archived.many": "{{count}} ལཱ་ཡུན་ཚུ་ཡིག་མཛོད་ནང་བཞག་འོང་།",
"workspace.reset.note": "འདི་གིས་ སྔོན་སྒྲིག་ཡན་ལག་མཐུན་སྒྲིག་འབད་ནི་ལུ་ ལཱ་གི་ས་སྒོ་འདི་སླར་སྒྲིག་འབད་འོང་།",
"toast.migration.failed.title": "གནས་སྡུད་གནས་སྤོ་འཐུས་ཤོར་བྱུང་ཡོདཔ།",
"session.background.moveTasks": "{{tasks}} རྒྱབ་ཁར་སྤོ།",
"session.background.inBackground": "{{tasks}} རྒྱབ་ཁར་གཡོག་བཀོལ་དོ།",
"session.background.combine": "{{first}} དང་ {{second}}",
"session.background.shell.one": "{{count}} Shell",
"session.background.shell.other": "{{count}} Shell",
"session.background.subagent.one": "{{count}} ཡན་ལག་ལས་ཚབ།",
"session.background.subagent.other": "{{count}} ཡན་ལག་ལས་ཚབ།",
"command.session.background": "རྒྱབ་ཁར་སྤོ།",
"session.timeline.notice.finished": "{{actor}} མཇུག་བསྡུ་ཡོདཔ།",
"session.timeline.notice.failed": "{{actor}} འཐུས་ཤོར་བྱུང་ཡོདཔ།",
"session.timeline.notice.cancelled": "{{actor}} ཆ་མེད་བཏང་ཡོདཔ།",
"settings.tab.preferences": "དགའ་གདམ་ཚུ།",
"settings.tab.notifications": "བརྡ་བསྐུལ་ཚུ།",
"settings.tab.projects": "ལས་གཞི་ཚུ།",
"settings.tab.extensions": "རྒྱ་བསྐྱེད་ཚུ།",
"settings.preferences.description": "དགའ་གདམ་དང་ བརྗོད་དོན་ དེ་ལས་ སྔོན་སྒྲིག་སྤྱོད་ལམ་སྲོལ་སྒྲིག་འབད།",
"settings.appearance.description": "བརྗོད་དོན་དང་ཡིག་གཟུགས་ཚུ་སྲོལ་སྒྲིག་འབད།",
"settings.notifications.description": "བརྡ་བསྐུལ་ནམ་ཐོབ་ནི་དང་ སྒྲ་ནམ་གོ་ནི་ཨིན་ན་གདམ་ཁ་རྐྱབས།",
"settings.shortcuts.description": "སྤྱིར་བཏང་བྱ་བ་ཚུ་གི་མགྱོགས་ཐབས་སྲོལ་སྒྲིག་འབད།",
"settings.servers.description": "སར་བར་མཐུད་ལམ་ཚུ་འཛིན་སྐྱོང་འཐབ།",
"settings.projects.title": "ལས་གཞི་ཚུ།",
"settings.projects.description": "སར་བར་འདི་གུ་ལས་གཞིའི་སྒྲིག་སྟངས་ཚུ་འཛིན་སྐྱོང་འཐབ།",
"settings.projects.empty": "ལས་གཞི་འཚོལ་མ་ཐོབ།",
"settings.projects.server.all": "སར་བར་ཆ་མཉམ།",
"settings.mcps.description": "Model Context Protocol (MCP) སར་བར་དང་ལག་ཆས་ཚུ་འཛིན་སྐྱོང་འཐབ།",
"settings.extensions.description": "སར་བར་འདི་གུ་འཐོབ་ཚུགས་པའི་རྒྱ་བསྐྱེད་ཚུ་འཛིན་སྐྱོང་འཐབ།",
"settings.extensions.tab.mcps": "MCPs",
"settings.extensions.tab.skills": "རིག་རྩལ་ཚུ།",
"settings.extensions.availableAll": "ལས་གཞི་ཆ་མཉམ་ལུ་འཐོབ་ཚུགས།",
"settings.extensions.manageConfig": "opencode.json ནང་འཛིན་སྐྱོང་འཐབ།",
"settings.extensions.addSkills": "རིག་རྩལ་ཚུ་ག་དེ་སྦེ་ཁ་སྐོང་རྐྱབ་ནི་ཨིན་ན།",
"dialog.server.authenticate.title": "བདེན་བཤད་འབད།",
"project.settings.general.description": "ལས་གཞིའི་མིང་དང་བཟོ་དབྱིབས་འཛིན་སྐྱོང་འཐབ།",
"project.settings.scripts": "ཡིག་ཚུགས་ཚུ།",
"project.settings.scripts.description": "ལས་གཞི་འདི་གི་ཡིག་ཚུགས་ཚུ་རིམ་སྒྲིག་འབད།",
"project.settings.extensions.description": "ལས་གཞི་འདི་ལུ་འཐོབ་ཚུགས་པའི་རྒྱ་བསྐྱེད་ཚུ་བལྟ།",
"project.settings.extensions.tab.lsps": "LSPs",
"project.settings.extensions.added": "ལས་གཞི་འདི་ལུ་ཁ་སྐོང་བརྐྱབ་ཡོདཔ།",
"project.settings.extensions.shared": "ལས་གཞི་ཆ་མཉམ་དང་གཅིག་ཁར་རུབ་སྤྱོད་འབད་ཡོདཔ།",
"project.settings.extensions.lsp.detected": "སྐྱོན་འཛིན་འབད་ཡོད་པའི་སྐད་ཡིག་སར་བར་ཚུ།",
"project.settings.extensions.lsp.description": "ཡིག་སྣོད་དབྱེ་བ་ལས་རང་བཞིན་གྱིས་སྐྱོན་འཛིན་འབད་ཡོདཔ།",
"project.settings.extensions.setupRequired": "གཞི་སྒྲིག་དགོཔ་ཨིན།",
"settings.general.section.general": "སྤྱིར་བཏང་།",
"common.viewAll": "ཆ་མཉམ་བལྟ།",
"session.new.workspace.local.tooltip": "ད་ལྟོའི་ checkout ལག་ལེན་འཐབ།",
"session.new.workspace.new.tooltip": "checkout སོ་སོ་ཅིག་གསར་བསྐྲུན་འབད།",
"session.new.workspace.fromBranch": "{{branch}} ལས།",
"session.new.workspace.trigger.tooltip": "ལཱ་ཡུན་ག་ཏེ་གཡོག་བཀོལ་ནི་ཨིན་ན་སེལ་འཐུ་འབད།",
"session.new.workspace.search.placeholder": "ལཱ་གི་ས་སྒོ་ཚུ་འཚོལ་ཞིབ་འབད།",
"settings.tab.workspaces": "ལཱ་གི་ས་སྒོ་ཚུ།",
"settings.workspaces.filter.all": "ལས་གཞི་ཆ་མཉམ།",
"settings.workspaces.empty": "ལཱ་གི་ས་སྒོ་མེད།",
"settings.workspaces.count.one": "{{count}} ལཱ་གི་ས་སྒོ།",
"settings.workspaces.count.other": "{{count}} ལཱ་གི་ས་སྒོ།",
"settings.workspaces.sessions.one": "{{project}} ནང་ {{count}} ལཱ་ཡུན།",
"settings.workspaces.sessions.other": "{{project}} ནང་ {{count}} ལཱ་ཡུན།",
"settings.workspaces.lastActiveSession": "མཇུག་གི་ཤུགས་ལྡན་ལཱ་ཡུན།",
"settings.workspaces.deleteAll": "ལཱ་གི་ས་སྒོ་ཆ་མཉམ་བཏོན་གཏང་།",
"settings.workspaces.deleteAll.confirm": "ལཱ་གི་ས་སྒོ་ {{count}} ཆ་མཉམ་བཏོན་གཏང་ནི་ཨིན་ན?",
"settings.workspaces.delete.warning":
"འོག་ལུ་སྟོན་ཡོད་པའི་མཉམ་བསྡོམས་མ་འབད་བའི་བསྒྱུར་བཅོས་ཚུ་རྩིས་ཏེ་ ལཱ་གི་ས་སྒོའི་སྣོད་ཐོ་དང་ཡན་ལག་གཏན་འཇགས་སྦེ་རྩ་བསྐྲད་གཏང་འོང་།",
"settings.workspaces.deleteAll.warning":
"{{project}} ནང་སེལ་འཐུ་འབད་ཡོད་པའི་ལཱ་གི་ས་སྒོ་ {{count}} འདི་ རེ་རེ་བཞིན་གཙང་མ་དང་ ཤུགས་མེད་ དེ་ལས་ འབྲེལ་མཐུད་ལཱ་ཡུན་མེད་པ་ཅིན་རྐྱངམ་ཅིག་ གཏན་འཇགས་སྦེ་རྩ་བསྐྲད་གཏང་འོང་།",
"settings.workspaces.delete.blocked.active": "ཤུགས་ལྡན་ལཱ་གི་ས་སྒོ་འདི་བཏོན་གཏང་མི་ཚུགས།",
"settings.workspaces.delete.blocked.linked":
"འབྲེལ་མཐུད་ལཱ་ཡུན་ཚུ་བཞག་འོང་ དེ་འབདཝ་ད་ དེ་ཚུ་གི་ལཱ་འབད་སའི་སྣོད་ཐོ་གཏན་འཇགས་སྦེ་རྩ་བསྐྲད་གཏང་འོང་།",
"settings.workspaces.default.title": "སྔོན་སྒྲིག་མཐའ་འཁོར།",
"settings.workspaces.default.description": "ལཱ་ཡུན་གསརཔ་ཚུ་ག་ཏེ་འགོ་བཙུགས་ནི་ཨིན་ན་གདམ་ཁ་རྐྱབས།",
"settings.workspaces.default.lastUsed": "ལས་གཞི་རེ་ལུ་མཇུག་ལག་ལེན་འཐབ་མི།",
"settings.workspaces.default.local": "ས་གནས་ཀྱི་སྣོད་ཐོ།",
"settings.workspaces.default.new": "ལཱ་གི་ས་སྒོ་གསརཔ།",
"workspace.move.title": "ལཱ་གི་ས་སྒོ་ལུ་སྤོ།",
"workspace.move.menu.title": "ལཱ་ཡུན་སྤོ་ས།",
"workspace.move.failed": "ལཱ་ཡུན་སྤོ་མ་ཚུགས།",
"workspace.lifecycle.creating": "ལཱ་གི་ས་སྒོ་གསར་བསྐྲུན་འབད་དོ།",
"workspace.lifecycle.created": "ལཱ་གི་ས་སྒོ་གསར་བསྐྲུན་འབད་ཡོདཔ།",
"workspace.lifecycle.starting": "ལཱ་ཡུན་འགོ་བཙུགས་དོ།",
"workspace.onboarding.title": "ལཱ་ཡུན་ཚུ་ལཱ་གི་ས་སྒོ་དང་གཅིག་ཁར་སོ་སོར་བཞག།",
"workspace.onboarding.description":
"རེ་རེ་ལུ་ checkout སོ་སོ་ཡོདཔ་ལས་ ཁྱོད་ཀྱི་ས་གནས་ཀྱི་མཛོད་ཁང་ལུ་ག་ནི་ཡང་བར་ཆད་མི་འབྱུང་།",
"workspace.lifecycle.moving": "ལཱ་གི་ས་སྒོ་ལུ་སྤོ་དོ།",
"workspace.lifecycle.set": "ལཱ་གི་ས་སྒོ་གཞི་སྒྲིག་འབད་ཡོདཔ།",
"session.summary.title": "ལཱ་ཡུན་ཁ་གསལ།",
"session.summary.noBranch": "ཡན་ལག་མེད།",
"session.summary.basedOn": "{{branch}} གུ་གཞི་བཞག་ཡོདཔ།",
"provider.disconnect.toast.noCredentials.description": "{{provider}} གི་བཏོན་གཏང་བཏུབ་པའི་ངོ་རྟགས་འཚོལ་མ་ཐོབ།",
"provider.disconnect.toast.failed.description": "{{provider}} མཐུད་ལམ་བཏོག་མ་ཚུགས།",
"session.timeline.notice.instructionsUpdated": "བཀོད་རྒྱ་ཚུ་དུས་མཐུན་བཟོ་ཡོདཔ།: {{sources}}",
"session.timeline.notice.restart": "ལོག་འགོ་བཙུགས་པའི་ཤུལ་ལས་འཕྲོ་མཐུད་དོ།",
"dialog.usageExceeded.dontShowAgain": "ལོག་སྟེ་མ་སྟོན།",
}
+91
View File
@@ -1123,6 +1123,48 @@ export const dict = {
"session.delete.confirm": 'Διαγραφή συνεδρίας "{{name}}";',
"session.delete.button": "Διαγραφή συνεδρίας",
"workspace.new": "Νέος χώρος εργασίας",
"common.viewAll": "Προβολή όλων",
"session.new.workspace.local.tooltip": "Χρήση του τρέχοντος checkout",
"session.new.workspace.new.tooltip": "Δημιουργία απομονωμένου checkout",
"session.new.workspace.fromBranch": "από {{branch}}",
"session.new.workspace.trigger.tooltip": "Επιλέξτε πού θα εκτελεστεί η συνεδρία",
"session.new.workspace.search.placeholder": "Αναζήτηση χώρων εργασίας",
"settings.tab.workspaces": "Χώροι εργασίας",
"settings.workspaces.filter.all": "Όλα τα έργα",
"settings.workspaces.empty": "Δεν υπάρχουν χώροι εργασίας",
"settings.workspaces.count.one": "{{count}} χώρος εργασίας",
"settings.workspaces.count.other": "{{count}} χώροι εργασίας",
"settings.workspaces.sessions.one": "{{count}} συνεδρία στο {{project}}",
"settings.workspaces.sessions.other": "{{count}} συνεδρίες στο {{project}}",
"settings.workspaces.lastActiveSession": "Τελευταία ενεργή συνεδρία",
"settings.workspaces.deleteAll": "Διαγραφή όλων των χώρων εργασίας",
"settings.workspaces.deleteAll.confirm": "Διαγραφή και των {{count}} χώρων εργασίας;",
"settings.workspaces.delete.warning":
"Ο κατάλογος και ο κλάδος του χώρου εργασίας θα διαγραφούν οριστικά, μαζί με τυχόν μη συγχωνευμένες αλλαγές που εμφανίζονται παρακάτω.",
"settings.workspaces.deleteAll.warning":
"Οι {{count}} επιλεγμένοι χώροι εργασίας στο {{project}} θα διαγραφούν οριστικά μόνο αν είναι όλοι καθαροί, ανενεργοί και χωρίς συνδεδεμένες συνεδρίες.",
"settings.workspaces.delete.blocked.active": "Ο ενεργός χώρος εργασίας δεν μπορεί να διαγραφεί.",
"settings.workspaces.delete.blocked.linked":
"Οι συνδεδεμένες συνεδρίες θα διατηρηθούν, αλλά ο κατάλογος εργασίας τους θα διαγραφεί οριστικά.",
"settings.workspaces.default.title": "Προεπιλεγμένο περιβάλλον",
"settings.workspaces.default.description": "Επιλέξτε πού θα ξεκινούν οι νέες συνεδρίες",
"settings.workspaces.default.lastUsed": "Τελευταίο χρησιμοποιημένο ανά έργο",
"settings.workspaces.default.local": "Τοπικός κατάλογος",
"settings.workspaces.default.new": "Νέος χώρος εργασίας",
"workspace.move.title": "Μετακίνηση σε χώρο εργασίας",
"workspace.move.menu.title": "Μετακίνηση συνεδρίας σε",
"workspace.move.failed": "Αποτυχία μετακίνησης συνεδρίας",
"workspace.lifecycle.creating": "Δημιουργία χώρου εργασίας",
"workspace.lifecycle.created": "Ο χώρος εργασίας δημιουργήθηκε",
"workspace.lifecycle.starting": "Έναρξη συνεδρίας",
"workspace.onboarding.title": "Απομονώστε συνεδρίες με χώρους εργασίας",
"workspace.onboarding.description":
"Κάθε συνεδρία έχει το δικό της checkout, ώστε να μην επηρεάζεται το τοπικό αποθετήριο",
"workspace.lifecycle.moving": "Μετακίνηση σε χώρο εργασίας",
"workspace.lifecycle.set": "Ο χώρος εργασίας ορίστηκε",
"session.summary.title": "Λεπτομέρειες συνεδρίας",
"session.summary.noBranch": "Χωρίς κλάδο",
"session.summary.basedOn": "Βασίζεται στον κλάδο {{branch}}",
"workspace.type.local": "τοπικό",
"workspace.type.sandbox": "απομονωμένο περιβάλλον",
"workspace.create.failed.title": "Αποτυχία δημιουργίας χώρου εργασίας",
@@ -1148,4 +1190,53 @@ export const dict = {
"workspace.reset.archived.many": "{{count}} θα αρχειοθετηθούν οι περίοδοι σύνδεσης.",
"workspace.reset.note": "Αυτό θα επαναφέρει τον χώρο εργασίας ώστε να ταιριάζει με τον προεπιλεγμένο κλάδο.",
"dialog.usageExceeded.dontShowAgain": "Να μην εμφανιστεί ξανά",
"provider.disconnect.toast.noCredentials.description":
"Δεν βρέθηκαν διαπιστευτήρια που μπορούν να αφαιρεθούν για τον πάροχο {{provider}}.",
"provider.disconnect.toast.failed.description": "Αποτυχία αποσύνδεσης του παρόχου {{provider}}.",
"toast.migration.failed.title": "Η μετεγκατάσταση δεδομένων απέτυχε",
"session.background.moveTasks": "Μετακίνηση {{tasks}} στο παρασκήνιο",
"session.background.inBackground": "Εκτέλεση {{tasks}} στο παρασκήνιο",
"session.background.combine": "{{first}} και {{second}}",
"session.background.shell.one": "{{count}} κέλυφος",
"session.background.shell.other": "{{count}} κελύφη",
"session.background.subagent.one": "{{count}} υποπράκτορας",
"session.background.subagent.other": "{{count}} υποπράκτορες",
"command.session.background": "Μετακίνηση στο παρασκήνιο",
"session.timeline.notice.finished": "Ο χρήστης {{actor}} ολοκλήρωσε",
"session.timeline.notice.failed": "Ο χρήστης {{actor}} απέτυχε",
"session.timeline.notice.cancelled": "Ο χρήστης {{actor}} ακυρώθηκε",
"session.timeline.notice.instructionsUpdated": "Οι οδηγίες ενημερώθηκαν: {{sources}}",
"session.timeline.notice.restart": "Συνέχεια μετά την επανεκκίνηση",
"settings.tab.preferences": "Προτιμήσεις",
"settings.tab.notifications": "Ειδοποιήσεις",
"settings.tab.projects": "Έργα",
"settings.tab.extensions": "Επεκτάσεις",
"settings.preferences.description": "Προσαρμογή προτιμήσεων, θέματος και προεπιλεγμένης συμπεριφοράς",
"settings.appearance.description": "Προσαρμογή θέματος και γραμματοσειρών",
"settings.notifications.description": "Επιλέξτε πότε θα λαμβάνετε ειδοποιήσεις και θα ακούτε ήχους",
"settings.shortcuts.description": "Προσαρμογή συντομεύσεων για συνηθισμένες ενέργειες",
"settings.servers.description": "Διαχείριση συνδέσεων διακομιστή",
"settings.projects.title": "Έργα",
"settings.projects.description": "Διαχείριση ρυθμίσεων έργων σε αυτόν τον διακομιστή",
"settings.projects.empty": "Δεν βρέθηκαν έργα",
"settings.projects.server.all": "Όλοι οι διακομιστές",
"settings.mcps.description": "Διαχείριση διακομιστών και εργαλείων Model Context Protocol (MCP)",
"settings.extensions.description": "Διαχείριση επεκτάσεων που είναι διαθέσιμες σε αυτόν τον διακομιστή",
"settings.extensions.tab.mcps": "MCP",
"settings.extensions.tab.skills": "Δεξιότητες",
"settings.extensions.availableAll": "Διαθέσιμο σε όλα τα έργα",
"settings.extensions.manageConfig": "Διαχείριση στο opencode.json",
"settings.extensions.addSkills": "Πώς να προσθέσετε δεξιότητες",
"dialog.server.authenticate.title": "Έλεγχος ταυτότητας",
"project.settings.general.description": "Διαχείριση ονόματος και εμφάνισης έργου",
"project.settings.scripts": "Σενάρια",
"project.settings.scripts.description": "Διαμόρφωση σεναρίων για αυτό το έργο",
"project.settings.extensions.description": "Προβολή επεκτάσεων που είναι διαθέσιμες σε αυτό το έργο",
"project.settings.extensions.tab.lsps": "LSP",
"project.settings.extensions.added": "Προστέθηκε σε αυτό το έργο",
"project.settings.extensions.shared": "Κοινόχρηστο με όλα τα έργα",
"project.settings.extensions.lsp.detected": "Εντοπισμένοι διακομιστές γλώσσας",
"project.settings.extensions.lsp.description": "Αυτόματος εντοπισμός από τους τύπους αρχείων",
"project.settings.extensions.setupRequired": "Απαιτείται ρύθμιση",
"settings.general.section.general": "Γενικά",
}
+4
View File
@@ -210,6 +210,8 @@ export const dict = {
"provider.disconnect.toast.disconnected.title": "{{provider}} disconnected",
"provider.disconnect.toast.disconnected.description": "{{provider}} models are no longer available.",
"provider.disconnect.toast.noCredentials.description": "No removable credentials found for {{provider}}.",
"provider.disconnect.toast.failed.description": "Failed to disconnect {{provider}}.",
"model.tag.free": "Free",
"model.tag.latest": "Latest",
@@ -670,6 +672,8 @@ export const dict = {
"session.timeline.notice.finished": "{{actor}} finished",
"session.timeline.notice.failed": "{{actor}} failed",
"session.timeline.notice.cancelled": "{{actor}} cancelled",
"session.timeline.notice.instructionsUpdated": "Instructions updated: {{sources}}",
"session.timeline.notice.restart": "Continuing after restart",
"session.error.serverConnection": "Can't connect to this server",
"session.review.filesChanged": "Files Changed {{count}}",
"session.review.change.one": "Change",
+95
View File
@@ -1239,4 +1239,99 @@ export const dict = {
"error.childStore.persistedProjectIconCreateFailed": "Error al crear icono de proyecto persistente",
"error.childStore.storeCreateFailed": "Error al crear almacén",
"terminal.connectionLost.abnormalClose": "WebSocket cerrado anormalmente: {{code}}",
"provider.disconnect.toast.noCredentials.description": "No se encontraron credenciales extraíbles para {{provider}}.",
"provider.disconnect.toast.failed.description": "No se pudo desconectar {{provider}}.",
"toast.migration.failed.title": "La migración de datos falló",
"session.background.moveTasks": "Mover {{tasks}} al fondo",
"session.background.inBackground": "Ejecutando {{tasks}} en segundo plano",
"session.background.combine": "{{first}} y {{second}}",
"session.background.shell.one": "{{count}} shell",
"session.background.shell.other": "{{count}} shells",
"session.background.subagent.one": "{{count}} subagente",
"session.background.subagent.other": "{{count}} subagentes",
"command.session.background": "Pasar al fondo",
"session.timeline.notice.finished": "{{actor}} terminado",
"session.timeline.notice.failed": "{{actor}} falló",
"session.timeline.notice.cancelled": "{{actor}} cancelado",
"session.timeline.notice.instructionsUpdated": "Instrucciones actualizadas: {{sources}}",
"session.timeline.notice.restart": "Continuando después del reinicio",
"settings.tab.preferences": "Preferencias",
"settings.tab.notifications": "Notificaciones",
"settings.tab.projects": "Proyectos",
"settings.tab.extensions": "Extensiones",
"settings.preferences.description": "Personalizar preferencias y tema y comportamiento predeterminado",
"settings.appearance.description": "Personaliza el tema y las fuentes",
"settings.notifications.description": "Elige cuándo recibir notificaciones y escuchar sonidos",
"settings.shortcuts.description": "Personaliza atajos para acciones comunes",
"settings.servers.description": "Administrar conexiones de servidor",
"settings.projects.title": "Proyectos",
"settings.projects.description": "Administrar la configuración del proyecto en este servidor",
"settings.projects.empty": "No se encontraron proyectos",
"settings.projects.server.all": "Todos los servidores",
"settings.mcps.description": "Administrar servidores y herramientas de Model Context Protocol (MCP)",
"settings.extensions.description": "Administrar extensiones disponibles en este servidor",
"settings.extensions.tab.mcps": "MCP",
"settings.extensions.tab.skills": "Habilidades",
"settings.extensions.availableAll": "Disponible para todos los proyectos",
"settings.extensions.manageConfig": "Administrar en opencode.json",
"settings.extensions.addSkills": "Cómo agregar habilidades",
"dialog.server.authenticate.title": "Autenticar",
"project.settings.general.description": "Administrar el nombre y la apariencia del proyecto",
"project.settings.scripts": "Guiones",
"project.settings.scripts.description": "Configurar scripts para este proyecto",
"project.settings.extensions.description": "Ver extensiones disponibles para este proyecto",
"project.settings.extensions.tab.lsps": "LSP",
"project.settings.extensions.added": "Agregado a este proyecto",
"project.settings.extensions.shared": "Compartido con todos los proyectos.",
"project.settings.extensions.lsp.detected": "Servidores de idiomas detectados",
"project.settings.extensions.lsp.description": "Detectado automáticamente a partir de tipos de archivos",
"project.settings.extensions.setupRequired": "Configuración requerida",
"settings.general.section.general": "General",
"common.viewAll": "Ver todo",
"session.new.workspace.local.tooltip": "Usar el checkout actual",
"session.new.workspace.new.tooltip": "Crear un checkout aislado",
"session.new.workspace.fromBranch": "de {{branch}}",
"session.new.workspace.trigger.tooltip": "Seleccione dónde ejecutar la sesión",
"session.new.workspace.search.placeholder": "Buscar espacios de trabajo",
"settings.tab.workspaces": "Espacios de trabajo",
"settings.workspaces.filter.all": "Todos los proyectos",
"settings.workspaces.empty": "Sin espacios de trabajo",
"settings.workspaces.count.one": "Espacio de trabajo {{count}}",
"settings.workspaces.count.other": "Espacios de trabajo {{count}}",
"settings.workspaces.sessions.one": "Sesión {{count}} en {{project}}",
"settings.workspaces.sessions.other": "Sesiones {{count}} en {{project}}",
"settings.workspaces.lastActiveSession": "Última sesión activa",
"settings.workspaces.deleteAll": "Eliminar todos los espacios de trabajo",
"settings.workspaces.deleteAll.confirm": "¿Eliminar todos los espacios de trabajo {{count}}?",
"settings.workspaces.delete.warning":
"El directorio y la rama del espacio de trabajo se eliminarán permanentemente, incluidos los cambios no combinados que se muestran a continuación.",
"settings.workspaces.deleteAll.warning":
"Los espacios de trabajo seleccionados {{count}} en {{project}} se eliminarán permanentemente solo si cada uno está limpio, inactivo y no tiene sesiones vinculadas.",
"settings.workspaces.delete.blocked.active": "El espacio de trabajo activo no se puede eliminar.",
"settings.workspaces.delete.blocked.linked":
"Las sesiones vinculadas permanecerán, pero su directorio de trabajo se eliminará permanentemente.",
"settings.workspaces.default.title": "Entorno predeterminado",
"settings.workspaces.default.description": "Elige dónde comienzan las nuevas sesiones",
"settings.workspaces.default.lastUsed": "Último usado por proyecto",
"settings.workspaces.default.local": "directorio local",
"settings.workspaces.default.new": "Nuevo espacio de trabajo",
"workspace.move.title": "Mover al espacio de trabajo",
"workspace.move.menu.title": "Mover sesión a",
"workspace.move.failed": "No se pudo mover la sesión",
"workspace.lifecycle.creating": "Creando espacio de trabajo",
"workspace.lifecycle.created": "Espacio de trabajo creado",
"workspace.lifecycle.starting": "Iniciando sesión",
"workspace.onboarding.title": "Aislar sesiones con espacios de trabajo",
"workspace.onboarding.description":
"Cada uno tiene su propio pago, por lo que nada interfiere con su repositorio local.",
"workspace.lifecycle.moving": "Moverse al espacio de trabajo",
"workspace.lifecycle.set": "Espacio de trabajo establecido",
"session.summary.title": "Detalles de la sesión",
"session.summary.noBranch": "Sin rama",
"session.summary.basedOn": "Basado en {{branch}}",
"session.background.shell.many": "{{count}} shells",
"session.background.subagent.many": "{{count}} subagentes",
"settings.workspaces.count.many": "{{count}} espacios de trabajo",
"settings.workspaces.sessions.many": "{{count}} sesiones en {{project}}",
}
+89
View File
@@ -1102,6 +1102,47 @@ export const dict = {
"session.delete.confirm": 'Kas kustutada seanss "{{name}}"?',
"session.delete.button": "Kustuta seanss",
"workspace.new": "Uus tööruum",
"common.viewAll": "Kuva kõik",
"session.new.workspace.local.tooltip": "Kasuta praegust väljavõtet",
"session.new.workspace.new.tooltip": "Loo eraldatud väljavõte",
"session.new.workspace.fromBranch": "harust {{branch}}",
"session.new.workspace.trigger.tooltip": "Vali, kus seanss käivitada",
"session.new.workspace.search.placeholder": "Otsi tööruume",
"settings.tab.workspaces": "Tööruumid",
"settings.workspaces.filter.all": "Kõik projektid",
"settings.workspaces.empty": "Tööruume pole",
"settings.workspaces.count.one": "{{count}} tööruum",
"settings.workspaces.count.other": "{{count}} tööruumi",
"settings.workspaces.sessions.one": "{{count}} seanss projektis {{project}}",
"settings.workspaces.sessions.other": "{{count}} seanssi projektis {{project}}",
"settings.workspaces.lastActiveSession": "Viimane aktiivne seanss",
"settings.workspaces.deleteAll": "Kustuta kõik tööruumid",
"settings.workspaces.deleteAll.confirm": "Kas kustutada kõik {{count}} tööruumi?",
"settings.workspaces.delete.warning":
"Tööruumi kataloog ja haru eemaldatakse jäädavalt koos kõigi allpool näidatud ühendamata muudatustega.",
"settings.workspaces.deleteAll.warning":
"Projekti {{project}} valitud {{count}} tööruumi eemaldatakse jäädavalt ainult siis, kui kõik on puhtad, passiivsed ja ilma lingitud seanssideta.",
"settings.workspaces.delete.blocked.active": "Aktiivset tööruumi ei saa kustutada.",
"settings.workspaces.delete.blocked.linked":
"Lingitud seansid säilivad, kuid nende töökataloog eemaldatakse jäädavalt.",
"settings.workspaces.default.title": "Vaikekeskkond",
"settings.workspaces.default.description": "Vali, kus uued seansid algavad",
"settings.workspaces.default.lastUsed": "Viimati kasutatud projekti kohta",
"settings.workspaces.default.local": "Kohalik kataloog",
"settings.workspaces.default.new": "Uus tööruum",
"workspace.move.title": "Teisalda tööruumi",
"workspace.move.menu.title": "Teisalda seanss asukohta",
"workspace.move.failed": "Seansi teisaldamine ebaõnnestus",
"workspace.lifecycle.creating": "Tööruumi loomine",
"workspace.lifecycle.created": "Tööruum loodud",
"workspace.lifecycle.starting": "Seansi käivitamine",
"workspace.onboarding.title": "Eralda seansid tööruumidega",
"workspace.onboarding.description": "Igal seansil on oma väljavõte, nii et miski ei sega kohalikku hoidlat",
"workspace.lifecycle.moving": "Tööruumi teisaldamine",
"workspace.lifecycle.set": "Tööruum määratud",
"session.summary.title": "Seansi üksikasjad",
"session.summary.noBranch": "Haru puudub",
"session.summary.basedOn": "Põhineb harul {{branch}}",
"workspace.type.local": "kohalik",
"workspace.type.sandbox": "liivakast",
"workspace.create.failed.title": "Tööruumi loomine ebaõnnestus",
@@ -1127,4 +1168,52 @@ export const dict = {
"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",
"provider.disconnect.toast.noCredentials.description": "Pakkuja {{provider}} jaoks ei leitud eemaldatavaid mandaate.",
"provider.disconnect.toast.failed.description": "Pakkuja {{provider}} ühenduse katkestamine ebaõnnestus.",
"toast.migration.failed.title": "Andmete migreerimine ebaõnnestus",
"session.background.moveTasks": "Teisalda {{tasks}} taustale",
"session.background.inBackground": "{{tasks}} töötab taustal",
"session.background.combine": "{{first}} ja {{second}}",
"session.background.shell.one": "{{count}} shell",
"session.background.shell.other": "{{count}} shelli",
"session.background.subagent.one": "{{count}} alamagent",
"session.background.subagent.other": "{{count}} alamagenti",
"command.session.background": "Teisalda taustale",
"session.timeline.notice.finished": "{{actor}} lõpetas",
"session.timeline.notice.failed": "{{actor}} ebaõnnestus",
"session.timeline.notice.cancelled": "{{actor}} tühistati",
"session.timeline.notice.instructionsUpdated": "Juhised uuendatud: {{sources}}",
"session.timeline.notice.restart": "Jätkamine pärast taaskäivitamist",
"settings.tab.preferences": "Eelistused",
"settings.tab.notifications": "Teavitused",
"settings.tab.projects": "Projektid",
"settings.tab.extensions": "Laiendused",
"settings.preferences.description": "Kohandage eelistusi, teemat ja vaikekäitumist",
"settings.appearance.description": "Kohandage teemat ja fonte",
"settings.notifications.description": "Valige, millal teavitusi saada ja helisid kuulda",
"settings.shortcuts.description": "Kohandage levinud toimingute otseteid",
"settings.servers.description": "Hallake serveriühendusi",
"settings.projects.title": "Projektid",
"settings.projects.description": "Hallake selle serveri projektisätteid",
"settings.projects.empty": "Projekte ei leitud",
"settings.projects.server.all": "Kõik serverid",
"settings.mcps.description": "Hallake Model Context Protocoli (MCP) servereid ja tööriistu",
"settings.extensions.description": "Hallake selles serveris saadaolevaid laiendusi",
"settings.extensions.tab.mcps": "MCP-d",
"settings.extensions.tab.skills": "Oskused",
"settings.extensions.availableAll": "Saadaval kõigile projektidele",
"settings.extensions.manageConfig": "Halda failis opencode.json",
"settings.extensions.addSkills": "Kuidas oskusi lisada",
"dialog.server.authenticate.title": "Autendi",
"project.settings.general.description": "Hallake projekti nime ja välimust",
"project.settings.scripts": "Skriptid",
"project.settings.scripts.description": "Seadistage selle projekti skripte",
"project.settings.extensions.description": "Vaadake selle projekti jaoks saadaolevaid laiendusi",
"project.settings.extensions.tab.lsps": "LSP-d",
"project.settings.extensions.added": "Lisatud sellesse projekti",
"project.settings.extensions.shared": "Jagatud kõigi projektidega",
"project.settings.extensions.lsp.detected": "Tuvastatud keeleserverid",
"project.settings.extensions.lsp.description": "Automaatselt tuvastatud failitüüpide järgi",
"project.settings.extensions.setupRequired": "Vajab seadistamist",
"settings.general.section.general": "Üldine",
}
+90
View File
@@ -1130,4 +1130,94 @@ export const dict = {
"workspace.reset.archived.many": "جلسات {{count}} بایگانی خواهد شد.",
"workspace.reset.note": "این کار فضای کاری را برای مطابقت با شاخه پیش فرض بازنشانی می کند.",
"dialog.usageExceeded.dontShowAgain": "دیگر نشان نده",
"toast.migration.failed.title": "انتقال داده‌ها ناموفق بود",
"session.background.moveTasks": "انتقال \u2068{{tasks}}\u2069 به پس‌زمینه",
"session.background.inBackground": "اجرای \u2068{{tasks}}\u2069 در پس‌زمینه",
"session.background.combine": "\u2068{{first}}\u2069 و \u2068{{second}}\u2069",
"session.background.shell.one": "{{count}} پوسته",
"session.background.shell.other": "{{count}} پوسته",
"session.background.subagent.one": "{{count}} عامل فرعی",
"session.background.subagent.other": "{{count}} عامل فرعی",
"command.session.background": "انتقال به پس‌زمینه",
"session.timeline.notice.finished": "اجرای \u2068{{actor}}\u2069 پایان یافت",
"session.timeline.notice.failed": "اجرای \u2068{{actor}}\u2069 ناموفق بود",
"session.timeline.notice.cancelled": "اجرای \u2068{{actor}}\u2069 لغو شد",
"settings.tab.preferences": "ترجیحات",
"settings.tab.notifications": "اعلان‌ها",
"settings.tab.projects": "پروژه‌ها",
"settings.tab.extensions": "افزونه‌ها",
"settings.preferences.description": "سفارشی‌سازی ترجیحات، پوسته و رفتار پیش‌فرض",
"settings.appearance.description": "سفارشی‌سازی پوسته و قلم‌ها",
"settings.notifications.description": "انتخاب زمان دریافت اعلان‌ها و پخش صداها",
"settings.shortcuts.description": "سفارشی‌سازی میانبرهای کارهای رایج",
"settings.servers.description": "مدیریت اتصال‌های سرور",
"settings.projects.title": "پروژه‌ها",
"settings.projects.description": "مدیریت تنظیمات پروژه در این سرور",
"settings.projects.empty": "پروژه‌ای یافت نشد",
"settings.projects.server.all": "همه سرورها",
"settings.mcps.description": "مدیریت سرورها و ابزارهای پروتکل زمینه مدل (MCP)",
"settings.extensions.description": "مدیریت افزونه‌های موجود در این سرور",
"settings.extensions.tab.mcps": "MCPها",
"settings.extensions.tab.skills": "مهارت‌ها",
"settings.extensions.availableAll": "در دسترس همه پروژه‌ها",
"settings.extensions.manageConfig": "مدیریت در opencode.json",
"settings.extensions.addSkills": "نحوه افزودن مهارت‌ها",
"dialog.server.authenticate.title": "احراز هویت",
"project.settings.general.description": "مدیریت نام و ظاهر پروژه",
"project.settings.scripts": "اسکریپت‌ها",
"project.settings.scripts.description": "پیکربندی اسکریپت‌های این پروژه",
"project.settings.extensions.description": "مشاهده افزونه‌های موجود برای این پروژه",
"project.settings.extensions.tab.lsps": "LSPها",
"project.settings.extensions.added": "افزوده‌شده به این پروژه",
"project.settings.extensions.shared": "مشترک با همه پروژه‌ها",
"project.settings.extensions.lsp.detected": "سرورهای زبان شناسایی‌شده",
"project.settings.extensions.lsp.description": "شناسایی خودکار بر اساس نوع فایل‌ها",
"project.settings.extensions.setupRequired": "نیازمند راه‌اندازی",
"settings.general.section.general": "عمومی",
"common.viewAll": "مشاهده همه",
"session.new.workspace.local.tooltip": "استفاده از نسخه کاری فعلی",
"session.new.workspace.new.tooltip": "ایجاد نسخه کاری ایزوله",
"session.new.workspace.fromBranch": "از \u2068{{branch}}\u2069",
"session.new.workspace.trigger.tooltip": "محل اجرای جلسه را انتخاب کنید",
"session.new.workspace.search.placeholder": "جستجوی فضاهای کاری",
"settings.tab.workspaces": "فضاهای کاری",
"settings.workspaces.filter.all": "همه پروژه‌ها",
"settings.workspaces.empty": "فضای کاری وجود ندارد",
"settings.workspaces.count.one": "{{count}} فضای کاری",
"settings.workspaces.count.other": "{{count}} فضای کاری",
"settings.workspaces.sessions.one": "{{count}} جلسه در \u2068{{project}}\u2069",
"settings.workspaces.sessions.other": "{{count}} جلسه در \u2068{{project}}\u2069",
"settings.workspaces.lastActiveSession": "آخرین جلسه فعال",
"settings.workspaces.deleteAll": "حذف همه فضاهای کاری",
"settings.workspaces.deleteAll.confirm": "همه {{count}} فضای کاری حذف شوند؟",
"settings.workspaces.delete.warning":
"شاخه و پوشه فضای کاری برای همیشه حذف می‌شوند؛ از جمله تغییرات ادغام‌نشده‌ای که در زیر نشان داده شده‌اند.",
"settings.workspaces.deleteAll.warning":
"{{count}} فضای کاری انتخاب‌شده در \u2068{{project}}\u2069 تنها در صورتی برای همیشه حذف می‌شوند که همگی پاک و غیرفعال باشند و جلسه پیوندشده‌ای نداشته باشند.",
"settings.workspaces.delete.blocked.active": "فضای کاری فعال را نمی‌توان حذف کرد.",
"settings.workspaces.delete.blocked.linked":
"جلسه‌های پیوندشده باقی می‌مانند، اما پوشه کاری آن‌ها برای همیشه حذف می‌شود.",
"settings.workspaces.default.title": "محیط پیش‌فرض",
"settings.workspaces.default.description": "محل شروع جلسه‌های جدید را انتخاب کنید",
"settings.workspaces.default.lastUsed": "آخرین مورد استفاده در هر پروژه",
"settings.workspaces.default.local": "پوشه محلی",
"settings.workspaces.default.new": "فضای کاری جدید",
"workspace.move.title": "انتقال به فضای کاری",
"workspace.move.menu.title": "انتقال جلسه به",
"workspace.move.failed": "انتقال جلسه ناموفق بود",
"workspace.lifecycle.creating": "در حال ایجاد فضای کاری",
"workspace.lifecycle.created": "فضای کاری ایجاد شد",
"workspace.lifecycle.starting": "در حال شروع جلسه",
"workspace.onboarding.title": "جداسازی جلسه‌ها با فضاهای کاری",
"workspace.onboarding.description": "هر جلسه نسخه کاری خودش را دارد، بنابراین چیزی با مخزن محلی شما تداخل نمی‌کند",
"workspace.lifecycle.moving": "در حال انتقال به فضای کاری",
"workspace.lifecycle.set": "فضای کاری تنظیم شد",
"session.summary.title": "جزئیات جلسه",
"session.summary.noBranch": "بدون شاخه",
"session.summary.basedOn": "بر پایه \u2068{{branch}}\u2069",
"provider.disconnect.toast.noCredentials.description":
"اطلاعات ورود قابل حذفی برای \u2068{{provider}}\u2069 یافت نشد.",
"provider.disconnect.toast.failed.description": "قطع اتصال از \u2068{{provider}}\u2069 ناموفق بود.",
"session.timeline.notice.instructionsUpdated": "دستورالعمل‌ها به‌روزرسانی شدند: \u2068{{sources}}\u2069",
"session.timeline.notice.restart": "ادامه پس از راه‌اندازی مجدد",
}
+91
View File
@@ -1143,4 +1143,95 @@ export const dict = {
"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",
"provider.disconnect.toast.noCredentials.description":
"{{provider}}:lle ei löytynyt irrotettavia kirjautumistietoja.",
"provider.disconnect.toast.failed.description": "{{provider}}:n irrottaminen epäonnistui.",
"toast.migration.failed.title": "Tietojen siirto epäonnistui",
"session.background.moveTasks": "Siirrä {{tasks}} taustalle",
"session.background.inBackground": "{{tasks}} käynnissä taustalla",
"session.background.combine": "{{first}} ja {{second}}",
"session.background.shell.one": "{{count}} shell",
"session.background.shell.other": "{{count}} shelliä",
"session.background.subagent.one": "{{count}} aliagentti",
"session.background.subagent.other": "{{count}} aliagenttia",
"command.session.background": "Siirrä taustalle",
"session.timeline.notice.finished": "{{actor}} valmis",
"session.timeline.notice.failed": "{{actor}} epäonnistui",
"session.timeline.notice.cancelled": "{{actor}} peruutettu",
"session.timeline.notice.instructionsUpdated": "Ohjeet päivitetty: {{sources}}",
"session.timeline.notice.restart": "Jatkuu uudelleenkäynnistyksen jälkeen",
"settings.tab.preferences": "Asetukset",
"settings.tab.notifications": "Ilmoitukset",
"settings.tab.projects": "Projektit",
"settings.tab.extensions": "Laajennukset",
"settings.preferences.description": "Mukauta asetuksia ja teemaa ja oletuskäyttäytymistä",
"settings.appearance.description": "Mukauta teemaa ja fontteja",
"settings.notifications.description": "Valitse, milloin haluat vastaanottaa ilmoituksia ja kuulla ääniä",
"settings.shortcuts.description": "Mukauta yleisten toimintojen pikakuvakkeita",
"settings.servers.description": "Hallinnoi palvelinyhteyksiä",
"settings.projects.title": "Projektit",
"settings.projects.description": "Hallinnoi tämän palvelimen projektiasetuksia",
"settings.projects.empty": "Projekteja ei löytynyt",
"settings.projects.server.all": "Kaikki palvelimet",
"settings.mcps.description": "Hallitse Model Context Protocol (MCP) -palvelimia ja -työkaluja",
"settings.extensions.description": "Hallinnoi tällä palvelimella saatavilla olevia laajennuksia",
"settings.extensions.tab.mcps": "MCP:t",
"settings.extensions.tab.skills": "Taidot",
"settings.extensions.availableAll": "Saatavilla kaikkiin projekteihin",
"settings.extensions.manageConfig": "Hallinnoi osoitteessa opencode.json",
"settings.extensions.addSkills": "Kuinka lisätä taitoja",
"dialog.server.authenticate.title": "Todentaa",
"project.settings.general.description": "Hallitse projektin nimeä ja ulkoasua",
"project.settings.scripts": "Käsikirjoitukset",
"project.settings.scripts.description": "Määritä komentosarjat tälle projektille",
"project.settings.extensions.description": "Näytä tämän projektin saatavilla olevat laajennukset",
"project.settings.extensions.tab.lsps": "LSP:t",
"project.settings.extensions.added": "Lisätty tähän projektiin",
"project.settings.extensions.shared": "Jaettu kaikkien projektien kanssa",
"project.settings.extensions.lsp.detected": "Havaitut kielipalvelimet",
"project.settings.extensions.lsp.description": "Havaittu automaattisesti tiedostotyypeistä",
"project.settings.extensions.setupRequired": "Asennus vaaditaan",
"settings.general.section.general": "Kenraali",
"common.viewAll": "Näytä kaikki",
"session.new.workspace.local.tooltip": "Käytä nykyistä checkoutia",
"session.new.workspace.new.tooltip": "Luo erillinen checkout",
"session.new.workspace.fromBranch": "alkaen {{branch}}",
"session.new.workspace.trigger.tooltip": "Valitse, missä istunto suoritetaan",
"session.new.workspace.search.placeholder": "Hae työtiloja",
"settings.tab.workspaces": "Työtilat",
"settings.workspaces.filter.all": "Kaikki projektit",
"settings.workspaces.empty": "Ei työtiloja",
"settings.workspaces.count.one": "{{count}} työtila",
"settings.workspaces.count.other": "{{count}} työtilat",
"settings.workspaces.sessions.one": "{{count}}-istunto {{project}}:ssä",
"settings.workspaces.sessions.other": "{{count}}-istunnot {{project}}:ssä",
"settings.workspaces.lastActiveSession": "Viimeinen aktiivinen istunto",
"settings.workspaces.deleteAll": "Poista kaikki työtilat",
"settings.workspaces.deleteAll.confirm": "Poistetaanko kaikki {{count}}-työtilat?",
"settings.workspaces.delete.warning":
"Työtilan hakemisto ja haara poistetaan pysyvästi, mukaan lukien alla näkyvät yhdistämättömät muutokset.",
"settings.workspaces.deleteAll.warning":
"{{count}}:n valitut työtilat {{project}}:ssä poistetaan pysyvästi vain, jos jokainen on puhdas, ei-aktiivinen eikä siinä ole linkitettyjä istuntoja.",
"settings.workspaces.delete.blocked.active": "Aktiivista työtilaa ei voi poistaa.",
"settings.workspaces.delete.blocked.linked":
"Linkitetyt istunnot säilyvät, mutta niiden työhakemisto poistetaan pysyvästi.",
"settings.workspaces.default.title": "Oletusympäristö",
"settings.workspaces.default.description": "Valitse, missä uudet istunnot alkavat",
"settings.workspaces.default.lastUsed": "Viimeksi käytetty projektia kohti",
"settings.workspaces.default.local": "Paikallinen hakemisto",
"settings.workspaces.default.new": "Uusi työtila",
"workspace.move.title": "Siirrä työtilaan",
"workspace.move.menu.title": "Siirrä istunto kohteeseen",
"workspace.move.failed": "Istunnon siirtäminen epäonnistui",
"workspace.lifecycle.creating": "Työtilan luominen",
"workspace.lifecycle.created": "Työtila luotu",
"workspace.lifecycle.starting": "Aloitetaan istunto",
"workspace.onboarding.title": "Eristä istunnot työtiloilla",
"workspace.onboarding.description": "Jokainen saa oman checkoutin, joten mikään ei häiritse paikallista säilöäsi",
"workspace.lifecycle.moving": "Siirretään työtilaan",
"workspace.lifecycle.set": "Työtila asetettu",
"session.summary.title": "Istunnon tiedot",
"session.summary.noBranch": "Ei haaraa",
"session.summary.basedOn": "Perustuu haaraan {{branch}}",
}
+90
View File
@@ -1104,6 +1104,47 @@ export const dict = {
"session.delete.confirm": 'Strika setuna "{{name}}"?',
"session.delete.button": "Strika setu",
"workspace.new": "Nýtt workspace",
"common.viewAll": "Vís øll",
"session.new.workspace.local.tooltip": "Brúka núverandi checkout",
"session.new.workspace.new.tooltip": "Stovna avbyrgdan checkout",
"session.new.workspace.fromBranch": "frá {{branch}}",
"session.new.workspace.trigger.tooltip": "Vel, hvar setan skal koyra",
"session.new.workspace.search.placeholder": "Leita eftir workspaces",
"settings.tab.workspaces": "Workspaces",
"settings.workspaces.filter.all": "Allar verkætlanir",
"settings.workspaces.empty": "Eingi workspaces",
"settings.workspaces.count.one": "{{count}} workspace",
"settings.workspaces.count.other": "{{count}} workspaces",
"settings.workspaces.sessions.one": "{{count}} seta í {{project}}",
"settings.workspaces.sessions.other": "{{count}} setur í {{project}}",
"settings.workspaces.lastActiveSession": "Seinasta virkna seta",
"settings.workspaces.deleteAll": "Strika øll workspaces",
"settings.workspaces.deleteAll.confirm": "Strika øll {{count}} workspaces?",
"settings.workspaces.delete.warning":
"Workspace-mappan og greinin verða strikaðar fyri altíð, eisini ósamanlagdar broytingar, sum síggjast niðanfyri.",
"settings.workspaces.deleteAll.warning":
"Tey {{count}} valdu workspaces í {{project}} verða bert strikað fyri altíð, um øll eru rein, óvirkin og uttan knýttar setur.",
"settings.workspaces.delete.blocked.active": "Virkna workspace kann ikki strikast.",
"settings.workspaces.delete.blocked.linked":
"Knýttar setur verða varðveittar, men arbeiðsmappan hjá teimum verður strikað fyri altíð.",
"settings.workspaces.default.title": "Forsett umhvørvi",
"settings.workspaces.default.description": "Vel, hvar nýggjar setur byrja",
"settings.workspaces.default.lastUsed": "Seinast brúkt fyri hvørja verkætlan",
"settings.workspaces.default.local": "Lokal mappa",
"settings.workspaces.default.new": "Nýtt workspace",
"workspace.move.title": "Flyt til workspace",
"workspace.move.menu.title": "Flyt setu til",
"workspace.move.failed": "Tað eydnaðist ikki at flyta setuna",
"workspace.lifecycle.creating": "Stovnar workspace",
"workspace.lifecycle.created": "Workspace stovnað",
"workspace.lifecycle.starting": "Byrjar setu",
"workspace.onboarding.title": "Avbyrg setur við workspaces",
"workspace.onboarding.description": "Hvør seta fær sítt egna checkout, so einki órógvar lokalu goymsluna",
"workspace.lifecycle.moving": "Flytur til workspace",
"workspace.lifecycle.set": "Workspace sett",
"session.summary.title": "Setuupplýsingar",
"session.summary.noBranch": "Eingin grein",
"session.summary.basedOn": "Grundað á {{branch}}",
"workspace.type.local": "lokalt",
"workspace.type.sandbox": "sandkassi",
"workspace.create.failed.title": "Tað eydnaðist ikki at stovna workspace",
@@ -1129,4 +1170,53 @@ export const dict = {
"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",
"provider.disconnect.toast.noCredentials.description":
"Eingi trúnaðarupplýsingar, ið kunnu strikast, funnar fyri {{provider}}.",
"provider.disconnect.toast.failed.description": "Tað eydnaðist ikki at slíta sambandið við {{provider}}.",
"toast.migration.failed.title": "Dataflytingin miseydnaðist",
"session.background.moveTasks": "Flyt {{tasks}} í bakgrundina",
"session.background.inBackground": "Koyrir {{tasks}} í bakgrundini",
"session.background.combine": "{{first}} og {{second}}",
"session.background.shell.one": "{{count}} shell",
"session.background.shell.other": "{{count}} shell",
"session.background.subagent.one": "{{count}} undiragentur",
"session.background.subagent.other": "{{count}} undiragentar",
"command.session.background": "Flyt í bakgrundina",
"session.timeline.notice.finished": "{{actor}} varð liðugur",
"session.timeline.notice.failed": "{{actor}} miseydnaðist",
"session.timeline.notice.cancelled": "{{actor}} varð avlýstur",
"session.timeline.notice.instructionsUpdated": "Vegleiðingar dagførdar: {{sources}}",
"session.timeline.notice.restart": "Heldur fram eftir endurbyrjan",
"settings.tab.preferences": "Sertokkar",
"settings.tab.notifications": "Fráboðanir",
"settings.tab.projects": "Verkætlanir",
"settings.tab.extensions": "Víðkanir",
"settings.preferences.description": "Tillaga sertokkar, tema og vanliga atferð",
"settings.appearance.description": "Tillaga tema og skriftsløg",
"settings.notifications.description": "Vel nær tú vilt fáa fráboðanir og hoyra ljóð",
"settings.shortcuts.description": "Tillaga snarvegir til vanligar gerðir",
"settings.servers.description": "Umsit ambætarasambond",
"settings.projects.title": "Verkætlanir",
"settings.projects.description": "Umsit verkætlanarinnstillingar á hesum ambætaranum",
"settings.projects.empty": "Ongar verkætlanir funnar",
"settings.projects.server.all": "Allir ambætarar",
"settings.mcps.description": "Umsit Model Context Protocol (MCP) ambætarar og tól",
"settings.extensions.description": "Umsit víðkanir, sum eru tøkar á hesum ambætaranum",
"settings.extensions.tab.mcps": "MCP-ar",
"settings.extensions.tab.skills": "Førleikar",
"settings.extensions.availableAll": "Tøkt fyri allar verkætlanir",
"settings.extensions.manageConfig": "Umsit í opencode.json",
"settings.extensions.addSkills": "Hvussu førleikar verða lagdir afturat",
"dialog.server.authenticate.title": "Samgilda",
"project.settings.general.description": "Umsit verkætlanarnavn og útsjónd",
"project.settings.scripts": "Skript",
"project.settings.scripts.description": "Set skript upp fyri hesa verkætlanina",
"project.settings.extensions.description": "Vís víðkanir, sum eru tøkar fyri hesa verkætlanina",
"project.settings.extensions.tab.lsps": "LSP-ar",
"project.settings.extensions.added": "Lagt afturat hesi verkætlanini",
"project.settings.extensions.shared": "Deilt við allar verkætlanir",
"project.settings.extensions.lsp.detected": "Uppdagaðir málambætarar",
"project.settings.extensions.lsp.description": "Sjálvvirkandi uppdagað eftir fíluslagi",
"project.settings.extensions.setupRequired": "Uppseting krevst",
"settings.general.section.general": "Alment",
}
+96
View File
@@ -1173,4 +1173,100 @@ export const dict = {
"titlebar.update": "Mettre à jour",
"titlebar.updateVersion": "Mettre à jour {{version}}",
"provider.disconnect.toast.noCredentials.description":
"Aucune information d'identification amovible trouvée pour {{provider}}.",
"provider.disconnect.toast.failed.description": "Échec de la déconnexion de {{provider}}.",
"toast.migration.failed.title": "Échec de la migration des données",
"session.background.moveTasks": "Déplacer {{tasks}} en arrière-plan",
"session.background.inBackground": "Exécution de {{tasks}} en arrière-plan",
"session.background.combine": "{{first}} et {{second}}",
"session.background.shell.one": "{{count}} shell",
"session.background.shell.other": "{{count}} shells",
"session.background.subagent.one": "{{count}} sous-agent",
"session.background.subagent.other": "{{count}} sous-agents",
"command.session.background": "Passer en arrière-plan",
"session.timeline.notice.finished": "{{actor}} terminé",
"session.timeline.notice.failed": "Échec du {{actor}}",
"session.timeline.notice.cancelled": "{{actor}} annulé",
"session.timeline.notice.instructionsUpdated": "Instructions mises à jour : {{sources}}",
"session.timeline.notice.restart": "Continuer après le redémarrage",
"settings.tab.preferences": "Préférences",
"settings.tab.notifications": "Notifications",
"settings.tab.projects": "Projets",
"settings.tab.extensions": "Extensions",
"settings.preferences.description": "Personnaliser les préférences, le thème et le comportement par défaut",
"settings.appearance.description": "Personnaliser le thème et les polices",
"settings.notifications.description": "Choisissez quand recevoir des notifications et entendre des sons",
"settings.shortcuts.description": "Personnaliser les raccourcis pour les actions courantes",
"settings.servers.description": "Gérer les connexions au serveur",
"settings.projects.title": "Projets",
"settings.projects.description": "Gérer les paramètres du projet sur ce serveur",
"settings.projects.empty": "Aucun projet trouvé",
"settings.projects.server.all": "Tous les serveurs",
"settings.mcps.description": "Gérer les serveurs et les outils Model Context Protocol (MCP)",
"settings.extensions.description": "Gérer les extensions disponibles sur ce serveur",
"settings.extensions.tab.mcps": "MCP",
"settings.extensions.tab.skills": "Compétences",
"settings.extensions.availableAll": "Disponible pour tous les projets",
"settings.extensions.manageConfig": "Gérer dans opencode.json",
"settings.extensions.addSkills": "Comment ajouter des compétences",
"dialog.server.authenticate.title": "Authentifier",
"project.settings.general.description": "Gérer le nom et l'apparence du projet",
"project.settings.scripts": "Scripts",
"project.settings.scripts.description": "Configurer des scripts pour ce projet",
"project.settings.extensions.description": "Afficher les extensions disponibles pour ce projet",
"project.settings.extensions.tab.lsps": "LSP",
"project.settings.extensions.added": "Ajouté à ce projet",
"project.settings.extensions.shared": "Partagé avec tous les projets",
"project.settings.extensions.lsp.detected": "Serveurs de langue détectés",
"project.settings.extensions.lsp.description": "Détection automatique à partir des types de fichiers",
"project.settings.extensions.setupRequired": "Configuration requise",
"settings.general.section.general": "Général",
"common.viewAll": "Voir tout",
"session.new.workspace.local.tooltip": "Utiliser le checkout actuel",
"session.new.workspace.new.tooltip": "Créer un checkout isolé",
"session.new.workspace.fromBranch": "de {{branch}}",
"session.new.workspace.trigger.tooltip": "Sélectionnez où exécuter la session",
"session.new.workspace.search.placeholder": "Rechercher des espaces de travail",
"settings.tab.workspaces": "Espaces de travail",
"settings.workspaces.filter.all": "Tous les projets",
"settings.workspaces.empty": "Aucun espace de travail",
"settings.workspaces.count.one": "Espace de travail {{count}}",
"settings.workspaces.count.other": "Espaces de travail {{count}}",
"settings.workspaces.sessions.one": "Séance {{count}} dans {{project}}",
"settings.workspaces.sessions.other": "Séances {{count}} dans {{project}}",
"settings.workspaces.lastActiveSession": "Dernière session active",
"settings.workspaces.deleteAll": "Supprimer tous les espaces de travail",
"settings.workspaces.deleteAll.confirm": "Supprimer tous les espaces de travail {{count}} ?",
"settings.workspaces.delete.warning":
"Le répertoire et la branche de l'espace de travail seront définitivement supprimés, y compris toutes les modifications non fusionnées indiquées ci-dessous.",
"settings.workspaces.deleteAll.warning":
"Les espaces de travail sélectionnés {{count}} dans {{project}} seront définitivement supprimés uniquement si chacun est propre, inactif et n'a aucune session liée.",
"settings.workspaces.delete.blocked.active": "L'espace de travail actif ne peut pas être supprimé.",
"settings.workspaces.delete.blocked.linked":
"Les sessions liées resteront, mais leur répertoire de travail sera définitivement supprimé.",
"settings.workspaces.default.title": "Environnement par défaut",
"settings.workspaces.default.description": "Choisissez où commencent les nouvelles sessions",
"settings.workspaces.default.lastUsed": "Dernière utilisation par projet",
"settings.workspaces.default.local": "Annuaire local",
"settings.workspaces.default.new": "Nouvel espace de travail",
"workspace.move.title": "Déplacer vers l'espace de travail",
"workspace.move.menu.title": "Déplacer la séance vers",
"workspace.move.failed": "Échec du déplacement de la session",
"workspace.lifecycle.creating": "Création d'un espace de travail",
"workspace.lifecycle.created": "Espace de travail créé",
"workspace.lifecycle.starting": "Démarrage de la session",
"workspace.onboarding.title": "Isoler les sessions avec des espaces de travail",
"workspace.onboarding.description":
"Chacun a sa propre extraction, donc rien n'interfère avec votre référentiel local",
"workspace.lifecycle.moving": "Passer à l'espace de travail",
"workspace.lifecycle.set": "Espace de travail défini",
"session.summary.title": "Détails de la session",
"session.summary.noBranch": "Aucune branche",
"session.summary.basedOn": "Basé sur {{branch}}",
"session.background.shell.many": "{{count}} shells",
"session.background.subagent.many": "{{count}} sous-agents",
"settings.workspaces.count.many": "{{count}} espaces de travail",
"settings.workspaces.sessions.many": "{{count}} sessions dans {{project}}",
}
+6
View File
@@ -1205,4 +1205,10 @@ export const dict = {
"settings.workspaces.sessions.two": "{{count}} הפעלות ב-{{project}}",
"session.background.shell.two": "{{count}} פקודות מעטפת",
"session.background.subagent.two": "{{count}} סוכני משנה",
"toast.migration.failed.title": "העברת הנתונים נכשלה",
"provider.disconnect.toast.noCredentials.description":
"לא נמצאו פרטי התחברות שניתן להסיר עבור \u2068{{provider}}\u2069.",
"provider.disconnect.toast.failed.description": "הניתוק של \u2068{{provider}}\u2069 נכשל.",
"session.timeline.notice.instructionsUpdated": "ההוראות עודכנו: \u2068{{sources}}\u2069",
"session.timeline.notice.restart": "ממשיך לאחר הפעלה מחדש",
}
+90
View File
@@ -1139,4 +1139,94 @@ export const dict = {
"workspace.reset.archived.one": "1 सेशन संग्रहित किया जाएगा।",
"workspace.reset.archived.many": "{{count}} सेशन संग्रहित किए जाएँगे।",
"workspace.reset.note": "यह डिफ़ॉल्ट शाखा से मिलान करने के लिए वर्कस्पेस को रीसेट कर देगा।",
"toast.migration.failed.title": "डेटा माइग्रेशन विफल रहा",
"session.background.moveTasks": "{{tasks}} को बैकग्राउंड में ले जाएँ",
"session.background.inBackground": "बैकग्राउंड में चल रहे कार्य: {{tasks}}",
"session.background.combine": "{{first}} और {{second}}",
"session.background.shell.one": "{{count}} शेल",
"session.background.shell.other": "{{count}} शेल",
"session.background.subagent.one": "{{count}} सबएजेंट",
"session.background.subagent.other": "{{count}} सबएजेंट",
"command.session.background": "बैकग्राउंड में ले जाएँ",
"session.timeline.notice.finished": "{{actor}} ने पूरा किया",
"session.timeline.notice.failed": "{{actor}} विफल रहा",
"session.timeline.notice.cancelled": "{{actor}} रद्द हुआ",
"settings.tab.preferences": "प्राथमिकताएँ",
"settings.tab.notifications": "सूचनाएँ",
"settings.tab.projects": "प्रोजेक्ट",
"settings.tab.extensions": "एक्सटेंशन",
"settings.preferences.description": "प्राथमिकताएँ, थीम और डिफ़ॉल्ट व्यवहार कस्टमाइज़ करें",
"settings.appearance.description": "थीम और फ़ॉन्ट कस्टमाइज़ करें",
"settings.notifications.description": "चुनें कि सूचनाएँ कब मिलें और ध्वनियाँ कब सुनाई दें",
"settings.shortcuts.description": "सामान्य कार्रवाइयों के शॉर्टकट कस्टमाइज़ करें",
"settings.servers.description": "सर्वर कनेक्शन प्रबंधित करें",
"settings.projects.title": "प्रोजेक्ट",
"settings.projects.description": "इस सर्वर पर प्रोजेक्ट सेटिंग्स प्रबंधित करें",
"settings.projects.empty": "कोई प्रोजेक्ट नहीं मिला",
"settings.projects.server.all": "सभी सर्वर",
"settings.mcps.description": "Model Context Protocol (MCP) सर्वर और टूल प्रबंधित करें",
"settings.extensions.description": "इस सर्वर पर उपलब्ध एक्सटेंशन प्रबंधित करें",
"settings.extensions.tab.mcps": "MCPs",
"settings.extensions.tab.skills": "कौशल",
"settings.extensions.availableAll": "सभी प्रोजेक्ट के लिए उपलब्ध",
"settings.extensions.manageConfig": "opencode.json में प्रबंधित करें",
"settings.extensions.addSkills": "कौशल कैसे जोड़ें",
"dialog.server.authenticate.title": "प्रमाणित करें",
"project.settings.general.description": "प्रोजेक्ट का नाम और स्वरूप प्रबंधित करें",
"project.settings.scripts": "स्क्रिप्ट",
"project.settings.scripts.description": "इस प्रोजेक्ट के लिए स्क्रिप्ट कॉन्फ़िगर करें",
"project.settings.extensions.description": "इस प्रोजेक्ट के लिए उपलब्ध एक्सटेंशन देखें",
"project.settings.extensions.tab.lsps": "LSPs",
"project.settings.extensions.added": "इस प्रोजेक्ट में जोड़ा गया",
"project.settings.extensions.shared": "सभी प्रोजेक्ट के साथ साझा",
"project.settings.extensions.lsp.detected": "पहचाने गए भाषा सर्वर",
"project.settings.extensions.lsp.description": "फ़ाइल प्रकारों से स्वतः पहचाने गए",
"project.settings.extensions.setupRequired": "सेटअप आवश्यक है",
"settings.general.section.general": "सामान्य",
"common.viewAll": "सभी देखें",
"session.new.workspace.local.tooltip": "वर्तमान चेकआउट का उपयोग करें",
"session.new.workspace.new.tooltip": "अलग चेकआउट बनाएँ",
"session.new.workspace.fromBranch": "{{branch}} से",
"session.new.workspace.trigger.tooltip": "चुनें कि सेशन कहाँ चलाना है",
"session.new.workspace.search.placeholder": "वर्कस्पेस खोजें",
"settings.tab.workspaces": "वर्कस्पेस",
"settings.workspaces.filter.all": "सभी प्रोजेक्ट",
"settings.workspaces.empty": "कोई वर्कस्पेस नहीं",
"settings.workspaces.count.one": "{{count}} वर्कस्पेस",
"settings.workspaces.count.other": "{{count}} वर्कस्पेस",
"settings.workspaces.sessions.one": "{{project}} में {{count}} सेशन",
"settings.workspaces.sessions.other": "{{project}} में {{count}} सेशन",
"settings.workspaces.lastActiveSession": "अंतिम सक्रिय सेशन",
"settings.workspaces.deleteAll": "सभी वर्कस्पेस हटाएँ",
"settings.workspaces.deleteAll.confirm": "सभी {{count}} वर्कस्पेस हटाएँ?",
"settings.workspaces.delete.warning":
"नीचे दिखाए गए मर्ज न किए गए परिवर्तनों सहित वर्कस्पेस निर्देशिका और शाखा स्थायी रूप से हटा दी जाएगी।",
"settings.workspaces.deleteAll.warning":
"{{project}} में चुने गए {{count}} वर्कस्पेस तभी स्थायी रूप से हटेंगे जब प्रत्येक साफ़, निष्क्रिय और किसी सेशन से जुड़ा न हो।",
"settings.workspaces.delete.blocked.active": "सक्रिय वर्कस्पेस हटाया नहीं जा सकता।",
"settings.workspaces.delete.blocked.linked":
"जुड़े सेशन बने रहेंगे, लेकिन उनकी कार्यशील निर्देशिका स्थायी रूप से हटा दी जाएगी।",
"settings.workspaces.default.title": "डिफ़ॉल्ट परिवेश",
"settings.workspaces.default.description": "चुनें कि नए सेशन कहाँ शुरू हों",
"settings.workspaces.default.lastUsed": "हर प्रोजेक्ट में अंतिम बार उपयोग किया गया",
"settings.workspaces.default.local": "स्थानीय निर्देशिका",
"settings.workspaces.default.new": "नया वर्कस्पेस",
"workspace.move.title": "वर्कस्पेस में ले जाएँ",
"workspace.move.menu.title": "सेशन यहाँ ले जाएँ",
"workspace.move.failed": "सेशन ले जाने में विफल",
"workspace.lifecycle.creating": "वर्कस्पेस बनाया जा रहा है",
"workspace.lifecycle.created": "वर्कस्पेस बनाया गया",
"workspace.lifecycle.starting": "सेशन शुरू हो रहा है",
"workspace.onboarding.title": "वर्कस्पेस से सेशन अलग रखें",
"workspace.onboarding.description":
"हर सेशन को अपना चेकआउट मिलता है, इसलिए आपकी स्थानीय रिपॉजिटरी में कोई हस्तक्षेप नहीं होता",
"workspace.lifecycle.moving": "वर्कस्पेस में ले जाया जा रहा है",
"workspace.lifecycle.set": "वर्कस्पेस सेट किया गया",
"session.summary.title": "सेशन विवरण",
"session.summary.noBranch": "कोई शाखा नहीं",
"session.summary.basedOn": "{{branch}} पर आधारित",
"provider.disconnect.toast.noCredentials.description": "{{provider}} के लिए हटाने योग्य कोई क्रेडेंशियल नहीं मिला।",
"provider.disconnect.toast.failed.description": "{{provider}} से डिस्कनेक्ट करने में विफल।",
"session.timeline.notice.instructionsUpdated": "निर्देश अपडेट किए गए: {{sources}}",
"session.timeline.notice.restart": "पुनः आरंभ होने के बाद जारी है",
}
+93
View File
@@ -1143,4 +1143,97 @@ export const dict = {
"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",
"provider.disconnect.toast.noCredentials.description": "Nisu pronađene uklonjive vjerodajnice za {{provider}}.",
"provider.disconnect.toast.failed.description": "Odspajanje {{provider}} nije uspjelo.",
"toast.migration.failed.title": "Migracija podataka nije uspjela",
"session.background.moveTasks": "Premjesti {{tasks}} u pozadinu",
"session.background.inBackground": "Pokretanje {{tasks}} u pozadini",
"session.background.combine": "{{first}} i {{second}}",
"session.background.shell.one": "{{count}} shell",
"session.background.shell.other": "{{count}} shellova",
"session.background.subagent.one": "{{count}} subagent",
"session.background.subagent.other": "{{count}} subagenti",
"command.session.background": "Premjesti u pozadinu",
"session.timeline.notice.finished": "{{actor}} završio",
"session.timeline.notice.failed": "{{actor}} nije uspio",
"session.timeline.notice.cancelled": "{{actor}} otkazan",
"session.timeline.notice.instructionsUpdated": "Upute ažurirane: {{sources}}",
"session.timeline.notice.restart": "Nastavak nakon ponovnog pokretanja",
"settings.tab.preferences": "Postavke",
"settings.tab.notifications": "Obavijesti",
"settings.tab.projects": "Projekti",
"settings.tab.extensions": "Ekstenzije",
"settings.preferences.description": "Prilagodite postavke i temu i zadano ponašanje",
"settings.appearance.description": "Prilagodite temu i fontove",
"settings.notifications.description": "Odaberite kada želite primati obavijesti i čuti zvukove",
"settings.shortcuts.description": "Prilagodite prečace za uobičajene radnje",
"settings.servers.description": "Upravljanje vezama poslužitelja",
"settings.projects.title": "Projekti",
"settings.projects.description": "Upravljanje postavkama projekta na ovom poslužitelju",
"settings.projects.empty": "Nema pronađenih projekata",
"settings.projects.server.all": "Svi poslužitelji",
"settings.mcps.description": "Upravljanje poslužiteljima i alatima Model Context Protocol (MCP).",
"settings.extensions.description": "Upravljajte proširenjima dostupnim na ovom poslužitelju",
"settings.extensions.tab.mcps": "MCP-ovi",
"settings.extensions.tab.skills": "Vještine",
"settings.extensions.availableAll": "Dostupno za sve projekte",
"settings.extensions.manageConfig": "Upravljanje u opencode.json",
"settings.extensions.addSkills": "Kako dodati vještine",
"dialog.server.authenticate.title": "Autentificirati",
"project.settings.general.description": "Upravljanje imenom i izgledom projekta",
"project.settings.scripts": "Skripte",
"project.settings.scripts.description": "Konfigurirajte skripte za ovaj projekt",
"project.settings.extensions.description": "Pogledajte proširenja dostupna za ovaj projekt",
"project.settings.extensions.tab.lsps": "LSP-ovi",
"project.settings.extensions.added": "Dodano ovom projektu",
"project.settings.extensions.shared": "Dijeli se sa svim projektima",
"project.settings.extensions.lsp.detected": "Otkriveni jezični poslužitelji",
"project.settings.extensions.lsp.description": "Automatski otkriveno iz vrsta datoteka",
"project.settings.extensions.setupRequired": "Potrebna postavka",
"settings.general.section.general": "Općenito",
"common.viewAll": "Pogledaj sve",
"session.new.workspace.local.tooltip": "Upotrijebi trenutačnu radnu kopiju",
"session.new.workspace.new.tooltip": "Stvori izoliranu radnu kopiju",
"session.new.workspace.fromBranch": "od {{branch}}",
"session.new.workspace.trigger.tooltip": "Odaberite gdje želite pokrenuti sesiju",
"session.new.workspace.search.placeholder": "Pretražite radne prostore",
"settings.tab.workspaces": "Radni prostori",
"settings.workspaces.filter.all": "Svi projekti",
"settings.workspaces.empty": "Nema radnih prostora",
"settings.workspaces.count.one": "{{count}} radni prostor",
"settings.workspaces.count.other": "{{count}} radni prostori",
"settings.workspaces.sessions.one": "{{count}} sesija u {{project}}",
"settings.workspaces.sessions.other": "{{count}} sesije u {{project}}",
"settings.workspaces.lastActiveSession": "Zadnja aktivna sesija",
"settings.workspaces.deleteAll": "Izbriši sve radne prostore",
"settings.workspaces.deleteAll.confirm": "Izbrisati sve radne prostore {{count}}?",
"settings.workspaces.delete.warning":
"Direktorij i grana radnog prostora bit će trajno uklonjeni, uključujući sve nespojene promjene prikazane u nastavku.",
"settings.workspaces.deleteAll.warning":
"{{count}} odabrani radni prostori u {{project}} bit će trajno uklonjeni samo ako je svaki čist, neaktivan i nema povezanih sesija.",
"settings.workspaces.delete.blocked.active": "Aktivni radni prostor ne može se izbrisati.",
"settings.workspaces.delete.blocked.linked":
"Povezane sesije će ostati, ali će njihov radni direktorij biti trajno uklonjen.",
"settings.workspaces.default.title": "Zadano okruženje",
"settings.workspaces.default.description": "Odaberite gdje počinju nove sesije",
"settings.workspaces.default.lastUsed": "Zadnje korišteno po projektu",
"settings.workspaces.default.local": "Lokalni imenik",
"settings.workspaces.default.new": "Novi radni prostor",
"workspace.move.title": "Prijeđite na radni prostor",
"workspace.move.menu.title": "Premjesti sesiju na",
"workspace.move.failed": "Premještanje sesije nije uspjelo",
"workspace.lifecycle.creating": "Stvaranje radnog prostora",
"workspace.lifecycle.created": "Radni prostor stvoren",
"workspace.lifecycle.starting": "Početak sesije",
"workspace.onboarding.title": "Izolirajte sesije s radnim prostorima",
"workspace.onboarding.description": "Svaka dobiva vlastitu radnu kopiju, tako da ništa ne ometa lokalni repozitorij",
"workspace.lifecycle.moving": "Prelazak na radni prostor",
"workspace.lifecycle.set": "Radni prostor postavljen",
"session.summary.title": "Detalji sesije",
"session.summary.noBranch": "Nema grane",
"session.summary.basedOn": "Na temelju {{branch}}",
"session.background.shell.few": "{{count}} shella",
"session.background.subagent.few": "{{count}} subagenta",
"settings.workspaces.count.few": "{{count}} radna prostora",
"settings.workspaces.sessions.few": "{{count}} sesije u {{project}}",
}
+90
View File
@@ -1120,6 +1120,47 @@ export const dict = {
"session.delete.confirm": "Delete „{{name}}” munkamenet?",
"session.delete.button": "Delete munkamenet",
"workspace.new": "Új munkaterület",
"common.viewAll": "Összes megtekintése",
"session.new.workspace.local.tooltip": "A jelenlegi checkout használata",
"session.new.workspace.new.tooltip": "Elkülönített checkout létrehozása",
"session.new.workspace.fromBranch": "innen: {{branch}}",
"session.new.workspace.trigger.tooltip": "Válassza ki, hol fusson a munkamenet",
"session.new.workspace.search.placeholder": "Munkaterületek keresése",
"settings.tab.workspaces": "Munkaterületek",
"settings.workspaces.filter.all": "Minden projekt",
"settings.workspaces.empty": "Nincsenek munkaterületek",
"settings.workspaces.count.one": "{{count}} munkaterület",
"settings.workspaces.count.other": "{{count}} munkaterület",
"settings.workspaces.sessions.one": "{{count}} munkamenet a(z) {{project}} projektben",
"settings.workspaces.sessions.other": "{{count}} munkamenet a(z) {{project}} projektben",
"settings.workspaces.lastActiveSession": "Legutóbbi aktív munkamenet",
"settings.workspaces.deleteAll": "Összes munkaterület törlése",
"settings.workspaces.deleteAll.confirm": "Törli mind a(z) {{count}} munkaterületet?",
"settings.workspaces.delete.warning":
"A munkaterület könyvtára és ága véglegesen törlődik, beleértve az alább látható nem egyesített módosításokat is.",
"settings.workspaces.deleteAll.warning":
"A(z) {{project}} projekt {{count}} kijelölt munkaterülete csak akkor törlődik véglegesen, ha mindegyik tiszta, inaktív, és nincs hozzá kapcsolt munkamenet.",
"settings.workspaces.delete.blocked.active": "Az aktív munkaterület nem törölhető.",
"settings.workspaces.delete.blocked.linked":
"A kapcsolt munkamenetek megmaradnak, de a munkakönyvtáruk véglegesen törlődik.",
"settings.workspaces.default.title": "Alapértelmezett környezet",
"settings.workspaces.default.description": "Válassza ki, hol induljanak az új munkamenetek",
"settings.workspaces.default.lastUsed": "Projektenként legutóbb használt",
"settings.workspaces.default.local": "Helyi könyvtár",
"settings.workspaces.default.new": "Új munkaterület",
"workspace.move.title": "Áthelyezés munkaterületre",
"workspace.move.menu.title": "Munkamenet áthelyezése ide:",
"workspace.move.failed": "Nem sikerült áthelyezni a munkamenetet",
"workspace.lifecycle.creating": "Munkaterület létrehozása",
"workspace.lifecycle.created": "Munkaterület létrehozva",
"workspace.lifecycle.starting": "Munkamenet indítása",
"workspace.onboarding.title": "Munkamenetek elkülönítése munkaterületekkel",
"workspace.onboarding.description": "Mindegyik saját checkoutot kap, így semmi sem zavarja a helyi adattárat",
"workspace.lifecycle.moving": "Áthelyezés munkaterületre",
"workspace.lifecycle.set": "Munkaterület beállítva",
"session.summary.title": "Munkamenet részletei",
"session.summary.noBranch": "Nincs ág",
"session.summary.basedOn": "Alapja: {{branch}}",
"workspace.type.local": "helyi",
"workspace.type.sandbox": "homokozó",
"workspace.create.failed.title": "Nem sikerült létrehozni a munkaterületet",
@@ -1145,4 +1186,53 @@ export const dict = {
"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",
"provider.disconnect.toast.noCredentials.description":
"Nem találhatók eltávolítható hitelesítő adatok a következőhöz: {{provider}}.",
"provider.disconnect.toast.failed.description": "Nem sikerült leválasztani a következőt: {{provider}}.",
"toast.migration.failed.title": "Az adatok áttelepítése nem sikerült",
"session.background.moveTasks": "{{tasks}} áthelyezése a háttérbe",
"session.background.inBackground": "{{tasks}} futtatása a háttérben",
"session.background.combine": "{{first}} és {{second}}",
"session.background.shell.one": "{{count}} shell",
"session.background.shell.other": "{{count}} shell",
"session.background.subagent.one": "{{count}} alügynök",
"session.background.subagent.other": "{{count}} alügynök",
"command.session.background": "Áthelyezés a háttérbe",
"session.timeline.notice.finished": "{{actor}} befejezte",
"session.timeline.notice.failed": "{{actor}} művelete sikertelen",
"session.timeline.notice.cancelled": "{{actor}} művelete megszakítva",
"session.timeline.notice.instructionsUpdated": "Utasítások frissítve: {{sources}}",
"session.timeline.notice.restart": "Folytatás újraindítás után",
"settings.tab.preferences": "Beállítások",
"settings.tab.notifications": "Értesítések",
"settings.tab.projects": "Projektek",
"settings.tab.extensions": "Bővítmények",
"settings.preferences.description": "A beállítások, a téma és az alapértelmezett viselkedés testreszabása",
"settings.appearance.description": "A téma és a betűtípusok testreszabása",
"settings.notifications.description": "Válassza ki, mikor kapjon értesítéseket és halljon hangokat",
"settings.shortcuts.description": "A gyakori műveletek billentyűparancsainak testreszabása",
"settings.servers.description": "Szerverkapcsolatok kezelése",
"settings.projects.title": "Projektek",
"settings.projects.description": "A projektek beállításainak kezelése ezen a szerveren",
"settings.projects.empty": "Nem találhatók projektek",
"settings.projects.server.all": "Minden szerver",
"settings.mcps.description": "A Model Context Protocol (MCP) szervereinek és eszközeinek kezelése",
"settings.extensions.description": "A szerveren elérhető bővítmények kezelése",
"settings.extensions.tab.mcps": "MCP-k",
"settings.extensions.tab.skills": "Készségek",
"settings.extensions.availableAll": "Minden projekt számára elérhető",
"settings.extensions.manageConfig": "Kezelés az opencode.json fájlban",
"settings.extensions.addSkills": "Készségek hozzáadása",
"dialog.server.authenticate.title": "Hitelesítés",
"project.settings.general.description": "A projekt nevének és megjelenésének kezelése",
"project.settings.scripts": "Szkriptek",
"project.settings.scripts.description": "Szkriptek beállítása ehhez a projekthez",
"project.settings.extensions.description": "A projekthez elérhető bővítmények megtekintése",
"project.settings.extensions.tab.lsps": "LSP-k",
"project.settings.extensions.added": "Hozzáadva ehhez a projekthez",
"project.settings.extensions.shared": "Minden projekttel megosztva",
"project.settings.extensions.lsp.detected": "Észlelt nyelvi szerverek",
"project.settings.extensions.lsp.description": "Automatikusan észlelve a fájltípusok alapján",
"project.settings.extensions.setupRequired": "Beállítás szükséges",
"settings.general.section.general": "Általános",
}
+88
View File
@@ -1140,4 +1140,92 @@ export const dict = {
"workspace.reset.archived.many": "{{count}} նիստերը կարխիվացվեն։",
"workspace.reset.note": "Սա կվերակայի աշխատանքային տարածքը, որպեսզի համապատասխանի լռելյայն ճյուղին:",
"dialog.usageExceeded.dontShowAgain": "Այլևս չցուցադրել",
"toast.migration.failed.title": "Տվյալների տեղափոխումը ձախողվեց",
"session.background.moveTasks": "{{tasks}}-ը տեղափոխել հետին պլան",
"session.background.inBackground": "{{tasks}}-ը գործարկվում է հետին պլանում",
"session.background.combine": "{{first}} և {{second}}",
"session.background.shell.one": "{{count}} shell",
"session.background.shell.other": "{{count}} shell",
"session.background.subagent.one": "{{count}} ենթագործակալ",
"session.background.subagent.other": "{{count}} ենթագործակալ",
"command.session.background": "Տեղափոխել հետին պլան",
"session.timeline.notice.finished": "{{actor}}-ն ավարտեց",
"session.timeline.notice.failed": "{{actor}}-ը ձախողվեց",
"session.timeline.notice.cancelled": "{{actor}}-ը չեղարկվեց",
"settings.tab.preferences": "Նախընտրություններ",
"settings.tab.notifications": "Ծանուցումներ",
"settings.tab.projects": "Նախագծեր",
"settings.tab.extensions": "Ընդլայնումներ",
"settings.preferences.description": "Կարգավորեք նախընտրությունները, թեման և լռելյայն վարքագիծը",
"settings.appearance.description": "Կարգավորեք թեման և տառատեսակները",
"settings.notifications.description": "Ընտրեք՝ երբ ստանալ ծանուցումներ և լսել ձայներ",
"settings.shortcuts.description": "Կարգավորեք տարածված գործողությունների դյուրանցումները",
"settings.servers.description": "Կառավարեք սերվերների կապերը",
"settings.projects.title": "Նախագծեր",
"settings.projects.description": "Կառավարեք նախագծի կարգավորումները այս սերվերում",
"settings.projects.empty": "Նախագծեր չեն գտնվել",
"settings.projects.server.all": "Բոլոր սերվերները",
"settings.mcps.description": "Կառավարեք Model Context Protocol (MCP) սերվերներն ու գործիքները",
"settings.extensions.description": "Կառավարեք այս սերվերում հասանելի ընդլայնումները",
"settings.extensions.tab.mcps": "MCP-ներ",
"settings.extensions.tab.skills": "Հմտություններ",
"settings.extensions.availableAll": "Հասանելի է բոլոր նախագծերին",
"settings.extensions.manageConfig": "Կառավարել opencode.json-ում",
"settings.extensions.addSkills": "Ինչպես ավելացնել հմտություններ",
"dialog.server.authenticate.title": "Նույնականացում",
"project.settings.general.description": "Կառավարեք նախագծի անունն ու տեսքը",
"project.settings.scripts": "Սկրիպտներ",
"project.settings.scripts.description": "Կարգավորեք այս նախագծի սկրիպտները",
"project.settings.extensions.description": "Դիտեք այս նախագծին հասանելի ընդլայնումները",
"project.settings.extensions.tab.lsps": "LSP-ներ",
"project.settings.extensions.added": "Ավելացված է այս նախագծին",
"project.settings.extensions.shared": "Համօգտագործվում է բոլոր նախագծերի հետ",
"project.settings.extensions.lsp.detected": "Հայտնաբերված լեզվային սերվերներ",
"project.settings.extensions.lsp.description": "Ինքնաշխատ հայտնաբերվում է ֆայլերի տեսակներից",
"project.settings.extensions.setupRequired": "Կարգավորում է պահանջվում",
"settings.general.section.general": "Ընդհանուր",
"common.viewAll": "Դիտել բոլորը",
"session.new.workspace.local.tooltip": "Օգտագործել ընթացիկ checkout-ը",
"session.new.workspace.new.tooltip": "Ստեղծել մեկուսացված checkout",
"session.new.workspace.fromBranch": "{{branch}} ճյուղից",
"session.new.workspace.trigger.tooltip": "Ընտրեք՝ որտեղ գործարկել նիստը",
"session.new.workspace.search.placeholder": "Փնտրել աշխատանքային տարածքներ",
"settings.tab.workspaces": "Աշխատանքային տարածքներ",
"settings.workspaces.filter.all": "Բոլոր նախագծերը",
"settings.workspaces.empty": "Աշխատանքային տարածքներ չկան",
"settings.workspaces.count.one": "{{count}} աշխատանքային տարածք",
"settings.workspaces.count.other": "{{count}} աշխատանքային տարածք",
"settings.workspaces.sessions.one": "{{count}} նիստ {{project}} նախագծում",
"settings.workspaces.sessions.other": "{{count}} նիստ {{project}} նախագծում",
"settings.workspaces.lastActiveSession": "Վերջին ակտիվ նիստը",
"settings.workspaces.deleteAll": "Ջնջել բոլոր աշխատանքային տարածքները",
"settings.workspaces.deleteAll.confirm": "Ջնջե՞լ բոլոր {{count}} աշխատանքային տարածքները",
"settings.workspaces.delete.warning":
"Աշխատանքային տարածքի պանակը և ճյուղը ընդմիշտ կհեռացվեն՝ ներառյալ ստորև ցուցադրված չմիավորված փոփոխությունները։",
"settings.workspaces.deleteAll.warning":
"{{project}} նախագծի ընտրված {{count}} աշխատանքային տարածքները ընդմիշտ կհեռացվեն միայն եթե յուրաքանչյուրն անփոփոխ է, ոչ ակտիվ և չունի կապված նիստեր։",
"settings.workspaces.delete.blocked.active": "Ակտիվ աշխատանքային տարածքը չի կարող ջնջվել։",
"settings.workspaces.delete.blocked.linked": "Կապված նիստերը կմնան, բայց դրանց աշխատանքային պանակը ընդմիշտ կհեռացվի։",
"settings.workspaces.default.title": "Լռելյայն միջավայր",
"settings.workspaces.default.description": "Ընտրեք՝ որտեղ են սկսվում նոր նիստերը",
"settings.workspaces.default.lastUsed": "Վերջին օգտագործվածը՝ ըստ նախագծի",
"settings.workspaces.default.local": "Տեղական պանակ",
"settings.workspaces.default.new": "Նոր աշխատանքային տարածք",
"workspace.move.title": "Տեղափոխել աշխատանքային տարածք",
"workspace.move.menu.title": "Նիստը տեղափոխել՝",
"workspace.move.failed": "Չհաջողվեց տեղափոխել նիստը",
"workspace.lifecycle.creating": "Աշխատանքային տարածքը ստեղծվում է",
"workspace.lifecycle.created": "Աշխատանքային տարածքը ստեղծվեց",
"workspace.lifecycle.starting": "Նիստը մեկնարկում է",
"workspace.onboarding.title": "Մեկուսացրեք նիստերը աշխատանքային տարածքներով",
"workspace.onboarding.description": "Յուրաքանչյուրն ունի իր checkout-ը, ուստի ոչինչ չի խանգարում ձեր տեղական պահոցին",
"workspace.lifecycle.moving": "Տեղափոխվում է աշխատանքային տարածք",
"workspace.lifecycle.set": "Աշխատանքային տարածքը սահմանվեց",
"session.summary.title": "Նիստի մանրամասներ",
"session.summary.noBranch": "Ճյուղ չկա",
"session.summary.basedOn": "Հիմնված է {{branch}} ճյուղի վրա",
"provider.disconnect.toast.noCredentials.description": "{{provider}}-ի համար հեռացվող հավատարմագրեր չեն գտնվել։",
"provider.disconnect.toast.failed.description": "Չհաջողվեց անջատել {{provider}}-ը։",
"session.timeline.notice.instructionsUpdated": "Հրահանգները թարմացվեցին՝ {{sources}}",
"session.timeline.notice.restart": "Շարունակվում է վերագործարկումից հետո",
}
+92
View File
@@ -308,6 +308,9 @@ export const dict = {
"provider.disconnect.toast.disconnected.title": "{{provider}} terputus",
"provider.disconnect.toast.disconnected.description": "Model {{provider}} tidak lagi tersedia.",
"provider.disconnect.toast.noCredentials.description":
"Tidak ditemukan kredensial yang dapat dihapus untuk {{provider}}.",
"provider.disconnect.toast.failed.description": "Gagal memutuskan {{provider}}.",
"model.tag.free": "Gratis",
"model.tag.latest": "Terbaru",
@@ -664,6 +667,7 @@ export const dict = {
"toast.session.listFailed.title": "Gagal memuat sesi untuk {{project}}",
"toast.project.reloadFailed.title": "Gagal memuat ulang {{project}}",
"toast.migration.failed.title": "Migrasi data gagal",
"toast.update.title": "Pembaruan tersedia",
"toast.update.description": "Versi baru OpenCode ({{version}}) sekarang tersedia untuk diinstal.",
@@ -759,6 +763,19 @@ export const dict = {
"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.background.moveTasks": "Pindahkan {{tasks}} ke latar belakang",
"session.background.inBackground": "Menjalankan {{tasks}} di latar belakang",
"session.background.combine": "{{first}} dan {{second}}",
"session.background.shell.one": "{{count}} shell",
"session.background.shell.other": "{{count}} shell",
"session.background.subagent.one": "{{count}} subagen",
"session.background.subagent.other": "{{count}} subagen",
"command.session.background": "Pindahkan ke latar belakang",
"session.timeline.notice.finished": "{{actor}} selesai",
"session.timeline.notice.failed": "{{actor}} gagal",
"session.timeline.notice.cancelled": "{{actor}} dibatalkan",
"session.timeline.notice.instructionsUpdated": "Instruksi diperbarui: {{sources}}",
"session.timeline.notice.restart": "Melanjutkan setelah mulai ulang",
"session.error.serverConnection": "Tidak dapat terhubung ke server ini",
"session.review.filesChanged": "{{count}} Berkas Berubah",
"session.review.change.one": "Perubahan",
@@ -976,12 +993,45 @@ export const dict = {
"settings.section.desktop": "Desktop",
"settings.section.server": "Server",
"settings.tab.general": "Umum",
"settings.tab.preferences": "Preferensi",
"settings.tab.shortcuts": "Pintasan",
"settings.tab.notifications": "Notifikasi",
"settings.tab.projects": "Proyek",
"settings.tab.extensions": "Ekstensi",
"settings.preferences.description": "Sesuaikan preferensi, tema, dan perilaku bawaan",
"settings.appearance.description": "Sesuaikan tema dan font",
"settings.notifications.description": "Pilih kapan menerima notifikasi dan mendengar suara",
"settings.shortcuts.description": "Sesuaikan pintasan untuk tindakan umum",
"settings.servers.description": "Kelola koneksi server",
"settings.projects.title": "Proyek",
"settings.projects.description": "Kelola pengaturan proyek di server ini",
"settings.projects.empty": "Tidak ada proyek ditemukan",
"settings.projects.server.all": "Semua server",
"settings.mcps.description": "Kelola server dan alat Model Context Protocol (MCP)",
"settings.extensions.description": "Kelola ekstensi yang tersedia di server ini",
"settings.extensions.tab.mcps": "MCP",
"settings.extensions.tab.skills": "Keahlian",
"settings.extensions.availableAll": "Tersedia untuk semua proyek",
"settings.extensions.manageConfig": "Kelola di opencode.json",
"settings.extensions.addSkills": "Cara menambahkan keahlian",
"settings.desktop.section.wsl": "WSL",
"settings.desktop.wsl.title": "Integrasi WSL",
"settings.desktop.wsl.description": "Jalankan server OpenCode di dalam WSL di Windows.",
"dialog.server.authenticate.title": "Autentikasi",
"project.settings.general.description": "Kelola nama dan tampilan proyek",
"project.settings.scripts": "Skrip",
"project.settings.scripts.description": "Konfigurasikan skrip untuk proyek ini",
"project.settings.extensions.description": "Lihat ekstensi yang tersedia untuk proyek ini",
"project.settings.extensions.tab.lsps": "LSP",
"project.settings.extensions.added": "Ditambahkan ke proyek ini",
"project.settings.extensions.shared": "Dibagikan dengan semua proyek",
"project.settings.extensions.lsp.detected": "Server bahasa terdeteksi",
"project.settings.extensions.lsp.description": "Terdeteksi otomatis dari jenis berkas",
"project.settings.extensions.setupRequired": "Penyiapan diperlukan",
"settings.general.section.appearance": "Tampilan",
"settings.general.section.general": "Umum",
"settings.general.section.advanced": "Lanjutan",
"settings.general.section.notifications": "Notifikasi sistem",
"settings.general.section.updates": "Pembaruan",
@@ -1202,6 +1252,48 @@ export const dict = {
"session.delete.button": "Hapus sesi",
"workspace.new": "Ruang kerja baru",
"common.viewAll": "Lihat semua",
"session.new.workspace.local.tooltip": "Gunakan checkout saat ini",
"session.new.workspace.new.tooltip": "Buat checkout terisolasi",
"session.new.workspace.fromBranch": "dari {{branch}}",
"session.new.workspace.trigger.tooltip": "Pilih tempat menjalankan sesi",
"session.new.workspace.search.placeholder": "Cari ruang kerja",
"settings.tab.workspaces": "Ruang kerja",
"settings.workspaces.filter.all": "Semua proyek",
"settings.workspaces.empty": "Tidak ada ruang kerja",
"settings.workspaces.count.one": "{{count}} ruang kerja",
"settings.workspaces.count.other": "{{count}} ruang kerja",
"settings.workspaces.sessions.one": "{{count}} sesi di {{project}}",
"settings.workspaces.sessions.other": "{{count}} sesi di {{project}}",
"settings.workspaces.lastActiveSession": "Sesi aktif terakhir",
"settings.workspaces.deleteAll": "Hapus semua ruang kerja",
"settings.workspaces.deleteAll.confirm": "Hapus semua {{count}} ruang kerja?",
"settings.workspaces.delete.warning":
"Direktori ruang kerja dan cabangnya akan dihapus secara permanen, termasuk perubahan yang belum digabung yang ditampilkan di bawah.",
"settings.workspaces.deleteAll.warning":
"Sebanyak {{count}} ruang kerja yang dipilih di {{project}} akan dihapus secara permanen hanya jika masing-masing bersih, tidak aktif, dan tidak memiliki sesi tertaut.",
"settings.workspaces.delete.blocked.active": "Ruang kerja aktif tidak dapat dihapus.",
"settings.workspaces.delete.blocked.linked":
"Sesi tertaut akan tetap ada, tetapi direktori kerjanya akan dihapus secara permanen.",
"settings.workspaces.default.title": "Lingkungan bawaan",
"settings.workspaces.default.description": "Pilih tempat sesi baru dimulai",
"settings.workspaces.default.lastUsed": "Terakhir digunakan per proyek",
"settings.workspaces.default.local": "Direktori lokal",
"settings.workspaces.default.new": "Ruang kerja baru",
"workspace.move.title": "Pindahkan ke ruang kerja",
"workspace.move.menu.title": "Pindahkan sesi ke",
"workspace.move.failed": "Gagal memindahkan sesi",
"workspace.lifecycle.creating": "Membuat ruang kerja",
"workspace.lifecycle.created": "Ruang kerja dibuat",
"workspace.lifecycle.starting": "Memulai sesi",
"workspace.onboarding.title": "Isolasi sesi dengan ruang kerja",
"workspace.onboarding.description":
"Setiap sesi mendapatkan checkout sendiri, sehingga tidak mengganggu repositori lokal Anda",
"workspace.lifecycle.moving": "Memindahkan ke ruang kerja",
"workspace.lifecycle.set": "Ruang kerja ditetapkan",
"session.summary.title": "Detail sesi",
"session.summary.noBranch": "Tanpa cabang",
"session.summary.basedOn": "Berdasarkan {{branch}}",
"workspace.type.local": "lokal",
"workspace.type.sandbox": "sandbox",
"workspace.create.failed.title": "Gagal membuat ruang kerja",
+89
View File
@@ -1108,6 +1108,47 @@ export const dict = {
"session.delete.confirm": 'Eyða setunni "{{name}}"?',
"session.delete.button": "Eyða setu",
"workspace.new": "Nýtt vinnurými",
"common.viewAll": "Sýna allt",
"session.new.workspace.local.tooltip": "Nota núverandi checkout",
"session.new.workspace.new.tooltip": "Búa til einangrað checkout",
"session.new.workspace.fromBranch": "frá {{branch}}",
"session.new.workspace.trigger.tooltip": "Veldu hvar setan á að keyra",
"session.new.workspace.search.placeholder": "Leita að vinnusvæðum",
"settings.tab.workspaces": "Vinnusvæði",
"settings.workspaces.filter.all": "Öll verkefni",
"settings.workspaces.empty": "Engin vinnusvæði",
"settings.workspaces.count.one": "{{count}} vinnusvæði",
"settings.workspaces.count.other": "{{count}} vinnusvæði",
"settings.workspaces.sessions.one": "{{count}} seta í {{project}}",
"settings.workspaces.sessions.other": "{{count}} setur í {{project}}",
"settings.workspaces.lastActiveSession": "Síðasta virka seta",
"settings.workspaces.deleteAll": "Eyða öllum vinnusvæðum",
"settings.workspaces.deleteAll.confirm": "Eyða öllum {{count}} vinnusvæðunum?",
"settings.workspaces.delete.warning":
"Möppu og grein vinnusvæðisins verður eytt varanlega, ásamt öllum ósameinuðum breytingum sem sýndar eru hér fyrir neðan.",
"settings.workspaces.deleteAll.warning":
"Völdu {{count}} vinnusvæðunum í {{project}} verður aðeins eytt varanlega ef þau eru öll hrein, óvirk og án tengdra seta.",
"settings.workspaces.delete.blocked.active": "Ekki er hægt að eyða virka vinnusvæðinu.",
"settings.workspaces.delete.blocked.linked":
"Tengdar setur verða áfram til, en vinnumöppu þeirra verður eytt varanlega.",
"settings.workspaces.default.title": "Sjálfgefið umhverfi",
"settings.workspaces.default.description": "Veldu hvar nýjar setur hefjast",
"settings.workspaces.default.lastUsed": "Síðast notað fyrir hvert verkefni",
"settings.workspaces.default.local": "Staðbundin mappa",
"settings.workspaces.default.new": "Nýtt vinnusvæði",
"workspace.move.title": "Færa á vinnusvæði",
"workspace.move.menu.title": "Færa setu í",
"workspace.move.failed": "Mistókst að færa setu",
"workspace.lifecycle.creating": "Býr til vinnusvæði",
"workspace.lifecycle.created": "Vinnusvæði búið til",
"workspace.lifecycle.starting": "Ræsir setu",
"workspace.onboarding.title": "Einangraðu setur með vinnusvæðum",
"workspace.onboarding.description": "Hver seta fær sitt eigið checkout, svo ekkert truflar staðbundnu geymsluna",
"workspace.lifecycle.moving": "Færir á vinnusvæði",
"workspace.lifecycle.set": "Vinnusvæði valið",
"session.summary.title": "Upplýsingar um setu",
"session.summary.noBranch": "Engin grein",
"session.summary.basedOn": "Byggt á {{branch}}",
"workspace.type.local": "staðbundið",
"workspace.type.sandbox": "sandkassi",
"workspace.create.failed.title": "Mistókst að búa til vinnusvæði",
@@ -1133,4 +1174,52 @@ export const dict = {
"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",
"provider.disconnect.toast.noCredentials.description": "Engin fjarlægjanleg skilríki fundust fyrir {{provider}}.",
"provider.disconnect.toast.failed.description": "Mistókst að aftengja {{provider}}.",
"toast.migration.failed.title": "Gagnaflutningur mistókst",
"session.background.moveTasks": "Færa {{tasks}} í bakgrunn",
"session.background.inBackground": "Keyri {{tasks}} í bakgrunni",
"session.background.combine": "{{first}} og {{second}}",
"session.background.shell.one": "{{count}} skel",
"session.background.shell.other": "{{count}} skeljar",
"session.background.subagent.one": "{{count}} undirfulltrúi",
"session.background.subagent.other": "{{count}} undirfulltrúar",
"command.session.background": "Færa í bakgrunn",
"session.timeline.notice.finished": "{{actor}} lauk verki",
"session.timeline.notice.failed": "{{actor}} mistókst",
"session.timeline.notice.cancelled": "{{actor}} var afturkallaður",
"session.timeline.notice.instructionsUpdated": "Leiðbeiningar uppfærðar: {{sources}}",
"session.timeline.notice.restart": "Haldið áfram eftir endurræsingu",
"settings.tab.preferences": "Kjörstillingar",
"settings.tab.notifications": "Tilkynningar",
"settings.tab.projects": "Verkefni",
"settings.tab.extensions": "Viðbætur",
"settings.preferences.description": "Sérsníddu kjörstillingar, þema og sjálfgefna hegðun",
"settings.appearance.description": "Sérsníddu þema og leturgerðir",
"settings.notifications.description": "Veldu hvenær þú færð tilkynningar og heyrir hljóð",
"settings.shortcuts.description": "Sérsníddu flýtileiðir fyrir algengar aðgerðir",
"settings.servers.description": "Stjórnaðu tengingum við netþjóna",
"settings.projects.title": "Verkefni",
"settings.projects.description": "Stjórnaðu verkefnastillingum á þessum netþjóni",
"settings.projects.empty": "Engin verkefni fundust",
"settings.projects.server.all": "Allir netþjónar",
"settings.mcps.description": "Stjórnaðu Model Context Protocol (MCP) netþjónum og verkfærum",
"settings.extensions.description": "Stjórnaðu viðbótum sem eru tiltækar á þessum netþjóni",
"settings.extensions.tab.mcps": "MCP",
"settings.extensions.tab.skills": "Færni",
"settings.extensions.availableAll": "Tiltækt fyrir öll verkefni",
"settings.extensions.manageConfig": "Stjórna í opencode.json",
"settings.extensions.addSkills": "Hvernig bæta á við færni",
"dialog.server.authenticate.title": "Auðkenna",
"project.settings.general.description": "Stjórnaðu heiti og útliti verkefnisins",
"project.settings.scripts": "Skriftur",
"project.settings.scripts.description": "Stilltu skriftur fyrir þetta verkefni",
"project.settings.extensions.description": "Skoðaðu viðbætur sem eru tiltækar fyrir þetta verkefni",
"project.settings.extensions.tab.lsps": "LSP",
"project.settings.extensions.added": "Bætt við þetta verkefni",
"project.settings.extensions.shared": "Deilt með öllum verkefnum",
"project.settings.extensions.lsp.detected": "Tungumálaþjónar fundust",
"project.settings.extensions.lsp.description": "Sjálfvirkt greint út frá skráargerðum",
"project.settings.extensions.setupRequired": "Uppsetningar krafist",
"settings.general.section.general": "Almennt",
}
+95
View File
@@ -1151,4 +1151,99 @@ export const dict = {
"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",
"provider.disconnect.toast.noCredentials.description": "Nessuna credenziale rimovibile trovata per {{provider}}.",
"provider.disconnect.toast.failed.description": "Impossibile disconnettere {{provider}}.",
"toast.migration.failed.title": "La migrazione dei dati non è riuscita",
"session.background.moveTasks": "Sposta {{tasks}} sullo sfondo",
"session.background.inBackground": "Esecuzione di {{tasks}} in background",
"session.background.combine": "{{first}} e {{second}}",
"session.background.shell.one": "{{count}} shell",
"session.background.shell.other": "{{count}} shell",
"session.background.subagent.one": "{{count}} subagente",
"session.background.subagent.other": "{{count}} subagenti",
"command.session.background": "Passa allo sfondo",
"session.timeline.notice.finished": "{{actor}} finito",
"session.timeline.notice.failed": "{{actor}} non è riuscito",
"session.timeline.notice.cancelled": "{{actor}} cancellato",
"session.timeline.notice.instructionsUpdated": "Istruzioni aggiornate: {{sources}}",
"session.timeline.notice.restart": "Continua dopo il riavvio",
"settings.tab.preferences": "Preferenze",
"settings.tab.notifications": "Notifiche",
"settings.tab.projects": "Progetti",
"settings.tab.extensions": "Estensioni",
"settings.preferences.description": "Personalizza le preferenze, il tema e il comportamento predefinito",
"settings.appearance.description": "Personalizza tema e caratteri",
"settings.notifications.description": "Scegli quando ricevere le notifiche e ascoltare i suoni",
"settings.shortcuts.description": "Personalizza le scorciatoie per le azioni comuni",
"settings.servers.description": "Gestire le connessioni al server",
"settings.projects.title": "Progetti",
"settings.projects.description": "Gestisci le impostazioni del progetto su questo server",
"settings.projects.empty": "Nessun progetto trovato",
"settings.projects.server.all": "Tutti i server",
"settings.mcps.description": "Gestire server e strumenti MCP (Model Context Protocol).",
"settings.extensions.description": "Gestisci le estensioni disponibili su questo server",
"settings.extensions.tab.mcps": "MCP",
"settings.extensions.tab.skills": "Competenze",
"settings.extensions.availableAll": "Disponibile per tutti i progetti",
"settings.extensions.manageConfig": "Gestisci in opencode.json",
"settings.extensions.addSkills": "Come aggiungere competenze",
"dialog.server.authenticate.title": "Autenticare",
"project.settings.general.description": "Gestisci il nome e l'aspetto del progetto",
"project.settings.scripts": "Script",
"project.settings.scripts.description": "Configura gli script per questo progetto",
"project.settings.extensions.description": "Visualizza le estensioni disponibili per questo progetto",
"project.settings.extensions.tab.lsps": "LSP",
"project.settings.extensions.added": "Aggiunto a questo progetto",
"project.settings.extensions.shared": "Condiviso con tutti i progetti",
"project.settings.extensions.lsp.detected": "Server delle lingue rilevati",
"project.settings.extensions.lsp.description": "Rilevato automaticamente dai tipi di file",
"project.settings.extensions.setupRequired": "È richiesta la configurazione",
"settings.general.section.general": "Generale",
"common.viewAll": "Visualizza tutto",
"session.new.workspace.local.tooltip": "Usa il checkout corrente",
"session.new.workspace.new.tooltip": "Crea checkout isolato",
"session.new.workspace.fromBranch": "da {{branch}}",
"session.new.workspace.trigger.tooltip": "Seleziona dove eseguire la sessione",
"session.new.workspace.search.placeholder": "Cerca spazi di lavoro",
"settings.tab.workspaces": "Spazi di lavoro",
"settings.workspaces.filter.all": "Tutti i progetti",
"settings.workspaces.empty": "Nessuno spazio di lavoro",
"settings.workspaces.count.one": "Area di lavoro {{count}}",
"settings.workspaces.count.other": "Aree di lavoro {{count}}",
"settings.workspaces.sessions.one": "Sessione {{count}} in {{project}}",
"settings.workspaces.sessions.other": "Sessioni {{count}} in {{project}}",
"settings.workspaces.lastActiveSession": "Ultima sessione attiva",
"settings.workspaces.deleteAll": "Elimina tutte le aree di lavoro",
"settings.workspaces.deleteAll.confirm": "Eliminare tutti gli spazi di lavoro {{count}}?",
"settings.workspaces.delete.warning":
"La directory e il ramo dell'area di lavoro verranno rimossi in modo permanente, incluse eventuali modifiche non unite mostrate di seguito.",
"settings.workspaces.deleteAll.warning":
"Gli spazi di lavoro selezionati {{count}} in {{project}} verranno rimossi in modo permanente solo se ciascuno è pulito, inattivo e non ha sessioni collegate.",
"settings.workspaces.delete.blocked.active": "L'area di lavoro attiva non può essere eliminata.",
"settings.workspaces.delete.blocked.linked":
"Le sessioni collegate rimarranno, ma la loro directory di lavoro verrà rimossa in modo permanente.",
"settings.workspaces.default.title": "Ambiente predefinito",
"settings.workspaces.default.description": "Scegli dove iniziare le nuove sessioni",
"settings.workspaces.default.lastUsed": "Ultimo utilizzo per progetto",
"settings.workspaces.default.local": "Directory locale",
"settings.workspaces.default.new": "Nuovo spazio di lavoro",
"workspace.move.title": "Spostarsi nell'area di lavoro",
"workspace.move.menu.title": "Sposta la sessione in",
"workspace.move.failed": "Impossibile spostare la sessione",
"workspace.lifecycle.creating": "Creazione dello spazio di lavoro",
"workspace.lifecycle.created": "Area di lavoro creata",
"workspace.lifecycle.starting": "Avvio della sessione",
"workspace.onboarding.title": "Isolare le sessioni con spazi di lavoro",
"workspace.onboarding.description":
"Ognuno riceve il proprio checkout, quindi nulla interferisce con il tuo repository locale",
"workspace.lifecycle.moving": "Spostarsi nello spazio di lavoro",
"workspace.lifecycle.set": "Area di lavoro impostata",
"session.summary.title": "Dettagli della sessione",
"session.summary.noBranch": "Nessun ramo",
"session.summary.basedOn": "Basato su {{branch}}",
"session.background.shell.many": "{{count}} shell",
"session.background.subagent.many": "{{count}} subagenti",
"settings.workspaces.count.many": "{{count}} aree di lavoro",
"settings.workspaces.sessions.many": "{{count}} sessioni in {{project}}",
}
+90
View File
@@ -291,6 +291,8 @@ export const dict = {
"provider.custom.error.duplicate": "重複",
"provider.disconnect.toast.disconnected.title": "{{provider}}が切断されました",
"provider.disconnect.toast.disconnected.description": "{{provider}}のモデルは利用できなくなりました。",
"provider.disconnect.toast.noCredentials.description": "{{provider}}の削除可能な認証情報が見つかりませんでした。",
"provider.disconnect.toast.failed.description": "{{provider}}の切断に失敗しました。",
"model.tag.free": "無料",
"model.tag.latest": "最新",
"model.provider.anthropic": "Anthropic",
@@ -606,6 +608,7 @@ export const dict = {
"toast.session.export.failed.description": "セッションのエクスポート中にエラーが発生しました",
"toast.session.listFailed.title": "{{project}}のセッション読み込みに失敗しました",
"toast.migration.failed.title": "データ移行に失敗しました",
"toast.update.title": "アップデートが利用可能です",
"toast.update.description": "OpenCodeの新しいバージョン ({{version}}) がインストール可能です。",
"toast.update.action.installRestart": "インストールして再起動",
@@ -683,6 +686,19 @@ export const dict = {
"session.error.notFound": "このセッションが見つかりません",
"session.error.notFound.description": "このタブが参照するセッションは、このサーバーには存在しません。",
"session.error.notFound.closeTab": "タブを閉じる",
"session.background.moveTasks": "{{tasks}}をバックグラウンドに移動",
"session.background.inBackground": "{{tasks}}をバックグラウンドで実行中",
"session.background.combine": "{{first}}と{{second}}",
"session.background.shell.one": "{{count}}件のシェル",
"session.background.shell.other": "{{count}}件のシェル",
"session.background.subagent.one": "{{count}}件のサブエージェント",
"session.background.subagent.other": "{{count}}件のサブエージェント",
"command.session.background": "バックグラウンドに移動",
"session.timeline.notice.finished": "{{actor}}が完了しました",
"session.timeline.notice.failed": "{{actor}}が失敗しました",
"session.timeline.notice.cancelled": "{{actor}}がキャンセルされました",
"session.timeline.notice.instructionsUpdated": "指示を更新しました: {{sources}}",
"session.timeline.notice.restart": "再起動後に続行中",
"session.error.serverConnection": "このサーバーに接続できません",
"session.review.filesChanged": "変更されたファイル: {{count}}件",
"session.review.change.one": "変更",
@@ -732,7 +748,12 @@ export const dict = {
"session.new.workspace.runIn": "セッションの実行先",
"session.new.workspace.triggerLocal": "ローカル",
"session.new.workspace.local": "ローカルリポジトリ",
"session.new.workspace.local.tooltip": "現在のチェックアウトを使用",
"session.new.workspace.existing": "ワークスペース…",
"session.new.workspace.new.tooltip": "独立したチェックアウトを作成",
"session.new.workspace.fromBranch": "{{branch}}から",
"session.new.workspace.trigger.tooltip": "セッションの実行先を選択",
"session.new.workspace.search.placeholder": "ワークスペースを検索",
"session.new.git.none": "Git なし",
"session.new.lastModified": "最終更新",
"session.header.search.placeholder": "{{project}}を検索",
@@ -804,10 +825,42 @@ export const dict = {
"settings.section.desktop": "デスクトップ",
"settings.section.server": "サーバー",
"settings.tab.general": "一般",
"settings.tab.preferences": "環境設定",
"settings.tab.shortcuts": "ショートカット",
"settings.tab.notifications": "通知",
"settings.tab.projects": "プロジェクト",
"settings.tab.extensions": "拡張機能",
"settings.preferences.description": "環境設定、テーマ、デフォルトの動作をカスタマイズします",
"settings.appearance.description": "テーマとフォントをカスタマイズします",
"settings.notifications.description": "通知を受け取り、サウンドを鳴らすタイミングを選択します",
"settings.shortcuts.description": "よく使う操作のショートカットをカスタマイズします",
"settings.servers.description": "サーバー接続を管理します",
"settings.projects.title": "プロジェクト",
"settings.projects.description": "このサーバーのプロジェクト設定を管理します",
"settings.projects.empty": "プロジェクトが見つかりません",
"settings.projects.server.all": "すべてのサーバー",
"settings.mcps.description": "Model Context Protocol (MCP) サーバーとツールを管理します",
"settings.extensions.description": "このサーバーで利用可能な拡張機能を管理します",
"settings.extensions.tab.mcps": "MCP",
"settings.extensions.tab.skills": "スキル",
"settings.extensions.availableAll": "すべてのプロジェクトで利用可能",
"settings.extensions.manageConfig": "opencode.jsonで管理",
"settings.extensions.addSkills": "スキルの追加方法",
"settings.desktop.section.wsl": "WSL",
"settings.desktop.wsl.title": "WSL連携",
"settings.desktop.wsl.description": "WindowsのWSL環境でOpenCodeサーバーを実行します。",
"dialog.server.authenticate.title": "認証",
"project.settings.general.description": "プロジェクト名と外観を管理します",
"project.settings.scripts": "スクリプト",
"project.settings.scripts.description": "このプロジェクトのスクリプトを設定します",
"project.settings.extensions.description": "このプロジェクトで利用可能な拡張機能を表示します",
"project.settings.extensions.tab.lsps": "LSP",
"project.settings.extensions.added": "このプロジェクトに追加済み",
"project.settings.extensions.shared": "すべてのプロジェクトで共有",
"project.settings.extensions.lsp.detected": "検出された言語サーバー",
"project.settings.extensions.lsp.description": "ファイルタイプから自動検出",
"project.settings.extensions.setupRequired": "セットアップが必要",
"settings.general.section.general": "一般",
"settings.general.section.appearance": "外観",
"settings.general.section.advanced": "詳細設定",
"settings.general.section.notifications": "システム通知",
@@ -1014,6 +1067,43 @@ export const dict = {
"session.delete.confirm": 'セッション "{{name}}" を削除しますか?',
"session.delete.button": "セッションを削除",
"workspace.new": "新しいワークスペース",
"common.viewAll": "すべて表示",
"settings.tab.workspaces": "ワークスペース",
"settings.workspaces.filter.all": "すべてのプロジェクト",
"settings.workspaces.empty": "ワークスペースはありません",
"settings.workspaces.count.one": "{{count}}件のワークスペース",
"settings.workspaces.count.other": "{{count}}件のワークスペース",
"settings.workspaces.sessions.one": "{{project}}の{{count}}件のセッション",
"settings.workspaces.sessions.other": "{{project}}の{{count}}件のセッション",
"settings.workspaces.lastActiveSession": "最後にアクティブだったセッション",
"settings.workspaces.deleteAll": "すべてのワークスペースを削除",
"settings.workspaces.deleteAll.confirm": "{{count}}件すべてのワークスペースを削除しますか?",
"settings.workspaces.delete.warning":
"ワークスペースのディレクトリとブランチは、以下に表示されている未マージの変更を含めて完全に削除されます。",
"settings.workspaces.deleteAll.warning":
"{{project}}で選択した{{count}}件のワークスペースは、それぞれがクリーンで非アクティブ、かつリンクされたセッションがない場合にのみ完全に削除されます。",
"settings.workspaces.delete.blocked.active": "アクティブなワークスペースは削除できません。",
"settings.workspaces.delete.blocked.linked":
"リンクされたセッションは残りますが、その作業ディレクトリは完全に削除されます。",
"settings.workspaces.default.title": "デフォルト環境",
"settings.workspaces.default.description": "新しいセッションの開始場所を選択します",
"settings.workspaces.default.lastUsed": "プロジェクトごとの前回使用先",
"settings.workspaces.default.local": "ローカルディレクトリ",
"settings.workspaces.default.new": "新しいワークスペース",
"workspace.move.title": "ワークスペースに移動",
"workspace.move.menu.title": "セッションの移動先",
"workspace.move.failed": "セッションの移動に失敗しました",
"workspace.lifecycle.creating": "ワークスペースを作成中",
"workspace.lifecycle.created": "ワークスペースを作成しました",
"workspace.lifecycle.starting": "セッションを開始中",
"workspace.onboarding.title": "ワークスペースでセッションを分離",
"workspace.onboarding.description":
"各セッションに専用のチェックアウトが割り当てられるため、ローカルリポジトリに干渉しません",
"workspace.lifecycle.moving": "ワークスペースに移動中",
"workspace.lifecycle.set": "ワークスペースを設定しました",
"session.summary.title": "セッション詳細",
"session.summary.noBranch": "ブランチなし",
"session.summary.basedOn": "{{branch}}に基づく",
"workspace.type.local": "ローカル",
"workspace.type.sandbox": "サンドボックス",
"workspace.create.failed.title": "ワークスペースの作成に失敗しました",
+90
View File
@@ -1131,4 +1131,94 @@ export const dict = {
"workspace.reset.archived.many": "{{count}} სესია დაარქივდება.",
"workspace.reset.note": "ეს აღადგენს სამუშაო სივრცეს ნაგულისხმევი ფილიალის შესატყვისად.",
"dialog.usageExceeded.dontShowAgain": "აღარ მაჩვენო",
"toast.migration.failed.title": "მონაცემების მიგრაცია ვერ შესრულდა",
"session.background.moveTasks": "{{tasks}}-ის ფონურ რეჟიმში გადატანა",
"session.background.inBackground": "{{tasks}} ფონურ რეჟიმში მუშაობს",
"session.background.combine": "{{first}} და {{second}}",
"session.background.shell.one": "{{count}} shell",
"session.background.shell.other": "{{count}} shell",
"session.background.subagent.one": "{{count}} ქვეაგენტი",
"session.background.subagent.other": "{{count}} ქვეაგენტი",
"command.session.background": "ფონურ რეჟიმში გადატანა",
"session.timeline.notice.finished": "{{actor}} დასრულდა",
"session.timeline.notice.failed": "{{actor}} ვერ შესრულდა",
"session.timeline.notice.cancelled": "{{actor}} გაუქმდა",
"settings.tab.preferences": "პარამეტრები",
"settings.tab.notifications": "შეტყობინებები",
"settings.tab.projects": "პროექტები",
"settings.tab.extensions": "გაფართოებები",
"settings.preferences.description": "მოარგეთ პარამეტრები, თემა და ნაგულისხმევი ქცევა",
"settings.appearance.description": "მოარგეთ თემა და შრიფტები",
"settings.notifications.description": "აირჩიეთ, როდის მიიღოთ შეტყობინებები და მოისმინოთ ხმები",
"settings.shortcuts.description": "მოარგეთ გავრცელებული მოქმედებების მალსახმობები",
"settings.servers.description": "მართეთ სერვერებთან კავშირები",
"settings.projects.title": "პროექტები",
"settings.projects.description": "მართეთ პროექტის პარამეტრები ამ სერვერზე",
"settings.projects.empty": "პროექტები ვერ მოიძებნა",
"settings.projects.server.all": "ყველა სერვერი",
"settings.mcps.description": "მართეთ Model Context Protocol (MCP) სერვერები და ხელსაწყოები",
"settings.extensions.description": "მართეთ ამ სერვერზე ხელმისაწვდომი გაფართოებები",
"settings.extensions.tab.mcps": "MCP-ები",
"settings.extensions.tab.skills": "უნარები",
"settings.extensions.availableAll": "ხელმისაწვდომია ყველა პროექტისთვის",
"settings.extensions.manageConfig": "მართეთ opencode.json-ში",
"settings.extensions.addSkills": "როგორ დავამატოთ უნარები",
"dialog.server.authenticate.title": "ავთენტიფიკაცია",
"project.settings.general.description": "მართეთ პროექტის სახელი და გარეგნობა",
"project.settings.scripts": "სკრიპტები",
"project.settings.scripts.description": "დააკონფიგურირეთ სკრიპტები ამ პროექტისთვის",
"project.settings.extensions.description": "იხილეთ ამ პროექტისთვის ხელმისაწვდომი გაფართოებები",
"project.settings.extensions.tab.lsps": "LSP-ები",
"project.settings.extensions.added": "დამატებულია ამ პროექტში",
"project.settings.extensions.shared": "გაზიარებულია ყველა პროექტთან",
"project.settings.extensions.lsp.detected": "აღმოჩენილი ენის სერვერები",
"project.settings.extensions.lsp.description": "ავტომატურად აღმოჩენილია ფაილის ტიპებიდან",
"project.settings.extensions.setupRequired": "საჭიროა გამართვა",
"settings.general.section.general": "ზოგადი",
"common.viewAll": "ყველას ნახვა",
"session.new.workspace.local.tooltip": "მიმდინარე checkout-ის გამოყენება",
"session.new.workspace.new.tooltip": "იზოლირებული checkout-ის შექმნა",
"session.new.workspace.fromBranch": "{{branch}} ბრენჩიდან",
"session.new.workspace.trigger.tooltip": "აირჩიეთ, სად გაეშვას სესია",
"session.new.workspace.search.placeholder": "სამუშაო სივრცეების ძიება",
"settings.tab.workspaces": "სამუშაო სივრცეები",
"settings.workspaces.filter.all": "ყველა პროექტი",
"settings.workspaces.empty": "სამუშაო სივრცეები არ არის",
"settings.workspaces.count.one": "{{count}} სამუშაო სივრცე",
"settings.workspaces.count.other": "{{count}} სამუშაო სივრცე",
"settings.workspaces.sessions.one": "{{count}} სესია პროექტში {{project}}",
"settings.workspaces.sessions.other": "{{count}} სესია პროექტში {{project}}",
"settings.workspaces.lastActiveSession": "ბოლო აქტიური სესია",
"settings.workspaces.deleteAll": "ყველა სამუშაო სივრცის წაშლა",
"settings.workspaces.deleteAll.confirm": "წაიშალოს ყველა {{count}} სამუშაო სივრცე?",
"settings.workspaces.delete.warning":
"სამუშაო სივრცის საქაღალდე და ბრენჩი სამუდამოდ წაიშლება, მათ შორის ქვემოთ ნაჩვენები გაუერთიანებელი ცვლილებები.",
"settings.workspaces.deleteAll.warning":
"პროექტში {{project}} არჩეული {{count}} სამუშაო სივრცე სამუდამოდ წაიშლება მხოლოდ მაშინ, თუ თითოეული სუფთაა, არააქტიურია და დაკავშირებული სესიები არ აქვს.",
"settings.workspaces.delete.blocked.active": "აქტიური სამუშაო სივრცის წაშლა შეუძლებელია.",
"settings.workspaces.delete.blocked.linked":
"დაკავშირებული სესიები დარჩება, მაგრამ მათი სამუშაო საქაღალდე სამუდამოდ წაიშლება.",
"settings.workspaces.default.title": "ნაგულისხმევი გარემო",
"settings.workspaces.default.description": "აირჩიეთ, სად დაიწყოს ახალი სესიები",
"settings.workspaces.default.lastUsed": "ბოლოს გამოყენებული თითოეული პროექტისთვის",
"settings.workspaces.default.local": "ადგილობრივი საქაღალდე",
"settings.workspaces.default.new": "ახალი სამუშაო სივრცე",
"workspace.move.title": "სამუშაო სივრცეში გადატანა",
"workspace.move.menu.title": "სესიის გადატანა:",
"workspace.move.failed": "სესიის გადატანა ვერ მოხერხდა",
"workspace.lifecycle.creating": "სამუშაო სივრცე იქმნება",
"workspace.lifecycle.created": "სამუშაო სივრცე შეიქმნა",
"workspace.lifecycle.starting": "სესია იწყება",
"workspace.onboarding.title": "სესიების იზოლირება სამუშაო სივრცეებით",
"workspace.onboarding.description": "თითოეულს საკუთარი checkout აქვს, ამიტომ არაფერი ერევა თქვენს ადგილობრივ საცავში",
"workspace.lifecycle.moving": "სამუშაო სივრცეში გადატანა",
"workspace.lifecycle.set": "სამუშაო სივრცე დაყენებულია",
"session.summary.title": "სესიის დეტალები",
"session.summary.noBranch": "ბრენჩი არ არის",
"session.summary.basedOn": "დაფუძნებულია {{branch}} ბრენჩზე",
"provider.disconnect.toast.noCredentials.description":
"{{provider}}-ისთვის წასაშლელი ავტორიზაციის მონაცემები ვერ მოიძებნა.",
"provider.disconnect.toast.failed.description": "{{provider}}-ის გათიშვა ვერ მოხერხდა.",
"session.timeline.notice.instructionsUpdated": "ინსტრუქციები განახლდა: {{sources}}",
"session.timeline.notice.restart": "გაგრძელება გადატვირთვის შემდეგ",
}
+89
View File
@@ -285,6 +285,8 @@ export const dict = {
"provider.custom.error.duplicate": "ស្ទួន",
"provider.disconnect.toast.disconnected.title": "{{provider}} ត្រូវបានផ្តាច់",
"provider.disconnect.toast.disconnected.description": "ម៉ូដែល {{provider}} លែងមានទៀតហើយ។",
"provider.disconnect.toast.noCredentials.description": "រកមិនឃើញអត្តសញ្ញាណដែលអាចដកចេញសម្រាប់ {{provider}} ទេ។",
"provider.disconnect.toast.failed.description": "បរាជ័យក្នុងការផ្តាច់ {{provider}}។",
"model.tag.free": "ឥតគិតថ្លៃ",
"model.tag.latest": "ចុងក្រោយ",
"model.provider.anthropic": "Anthropic",
@@ -606,6 +608,7 @@ export const dict = {
"toast.session.export.failed.description": "កំហុសបានកើតឡើងខណៈពេលនាំចេញសម័យ",
"toast.session.listFailed.title": "បានបរាជ័យក្នុងការផ្ទុកសម័យសម្រាប់ {{project}}",
"toast.project.reloadFailed.title": "បានបរាជ័យក្នុងការផ្ទុក {{project}} ឡើងវិញ",
"toast.migration.failed.title": "ការផ្ទេរទិន្នន័យបានបរាជ័យ",
"toast.update.title": "មានបច្ចុប្បន្នភាព",
"toast.update.description": "កំណែថ្មីនៃ OpenCode ({{version}}) ឥឡូវនេះមានសម្រាប់ដំឡើងហើយ។",
"toast.update.action.installRestart": "ដំឡើង និងចាប់ផ្តើមឡើងវិញ",
@@ -691,6 +694,19 @@ export const dict = {
"session.error.notFound": "សម័យនេះមិនអាចរកឃើញទេ។",
"session.error.notFound.description": "ផ្ទាំងនេះចង្អុលទៅសម័យដែលលែងមាននៅលើម៉ាស៊ីនមេនេះ។",
"session.error.notFound.closeTab": "បិទផ្ទាំង",
"session.background.moveTasks": "ផ្លាស់ទី {{tasks}} ទៅផ្ទៃខាងក្រោយ",
"session.background.inBackground": "កំពុងដំណើរការ {{tasks}} នៅផ្ទៃខាងក្រោយ",
"session.background.combine": "{{first}} និង {{second}}",
"session.background.shell.one": "{{count}} សែល",
"session.background.shell.other": "{{count}} សែល",
"session.background.subagent.one": "{{count}} ភ្នាក់ងាររង",
"session.background.subagent.other": "{{count}} ភ្នាក់ងាររង",
"command.session.background": "ផ្លាស់ទីទៅផ្ទៃខាងក្រោយ",
"session.timeline.notice.finished": "{{actor}} បានបញ្ចប់",
"session.timeline.notice.failed": "{{actor}} បានបរាជ័យ",
"session.timeline.notice.cancelled": "{{actor}} ត្រូវបានបោះបង់",
"session.timeline.notice.instructionsUpdated": "បានធ្វើបច្ចុប្បន្នភាពសេចក្តីណែនាំ៖ {{sources}}",
"session.timeline.notice.restart": "កំពុងបន្តបន្ទាប់ពីចាប់ផ្តើមឡើងវិញ",
"session.error.serverConnection": "មិនអាចភ្ជាប់ទៅម៉ាស៊ីនមេនេះទេ។",
"session.review.filesChanged": "ឯកសារបានផ្លាស់ប្តូរ {{count}}",
"session.review.change.one": "ការផ្លាស់ប្តូរ",
@@ -894,11 +910,43 @@ export const dict = {
"settings.section.desktop": "ផ្ទៃតុ",
"settings.section.server": "ម៉ាស៊ីនមេ",
"settings.tab.general": "ទូទៅ",
"settings.tab.preferences": "ចំណូលចិត្ត",
"settings.tab.shortcuts": "ផ្លូវកាត់",
"settings.tab.notifications": "ការជូនដំណឹង",
"settings.tab.projects": "គម្រោង",
"settings.tab.extensions": "ផ្នែកបន្ថែម",
"settings.preferences.description": "ប្ដូរចំណូលចិត្ត រូបរាង និងឥរិយាបថលំនាំដើមតាមបំណង",
"settings.appearance.description": "ប្ដូររូបរាង និងពុម្ពអក្សរតាមបំណង",
"settings.notifications.description": "ជ្រើសពេលដែលត្រូវទទួលការជូនដំណឹង និងឮសំឡេង",
"settings.shortcuts.description": "ប្ដូរផ្លូវកាត់សម្រាប់សកម្មភាពទូទៅតាមបំណង",
"settings.servers.description": "គ្រប់គ្រងការតភ្ជាប់ម៉ាស៊ីនមេ",
"settings.projects.title": "គម្រោង",
"settings.projects.description": "គ្រប់គ្រងការកំណត់គម្រោងនៅលើម៉ាស៊ីនមេនេះ",
"settings.projects.empty": "រកមិនឃើញគម្រោងទេ",
"settings.projects.server.all": "ម៉ាស៊ីនមេទាំងអស់",
"settings.mcps.description": "គ្រប់គ្រងម៉ាស៊ីនមេ និងឧបករណ៍ Model Context Protocol (MCP)",
"settings.extensions.description": "គ្រប់គ្រងផ្នែកបន្ថែមដែលមាននៅលើម៉ាស៊ីនមេនេះ",
"settings.extensions.tab.mcps": "MCPs",
"settings.extensions.tab.skills": "ជំនាញ",
"settings.extensions.availableAll": "អាចប្រើបានសម្រាប់គម្រោងទាំងអស់",
"settings.extensions.manageConfig": "គ្រប់គ្រងនៅក្នុង opencode.json",
"settings.extensions.addSkills": "របៀបបន្ថែមជំនាញ",
"settings.desktop.section.wsl": "WSL",
"settings.desktop.wsl.title": "ការរួមបញ្ចូល WSL",
"settings.desktop.wsl.description": "ដំណើរការម៉ាស៊ីនមេ OpenCode នៅខាងក្នុង WSL នៅលើ Windows ។",
"dialog.server.authenticate.title": "ផ្ទៀងផ្ទាត់",
"project.settings.general.description": "គ្រប់គ្រងឈ្មោះ និងរូបរាងគម្រោង",
"project.settings.scripts": "ស្គ្រីប",
"project.settings.scripts.description": "កំណត់រចនាសម្ព័ន្ធស្គ្រីបសម្រាប់គម្រោងនេះ",
"project.settings.extensions.description": "មើលផ្នែកបន្ថែមដែលអាចប្រើបានសម្រាប់គម្រោងនេះ",
"project.settings.extensions.tab.lsps": "LSPs",
"project.settings.extensions.added": "បានបន្ថែមទៅគម្រោងនេះ",
"project.settings.extensions.shared": "ចែករំលែកជាមួយគម្រោងទាំងអស់",
"project.settings.extensions.lsp.detected": "ម៉ាស៊ីនមេភាសាដែលបានរកឃើញ",
"project.settings.extensions.lsp.description": "រកឃើញដោយស្វ័យប្រវត្តិពីប្រភេទឯកសារ",
"project.settings.extensions.setupRequired": "ត្រូវការរៀបចំ",
"settings.general.section.appearance": "រូបរាង",
"settings.general.section.general": "ទូទៅ",
"settings.general.section.advanced": "កម្រិតខ្ពស់",
"settings.general.section.notifications": "ការជូនដំណឹងប្រព័ន្ធ",
"settings.general.section.updates": "បច្ចុប្បន្នភាព",
@@ -1102,6 +1150,47 @@ export const dict = {
"session.delete.confirm": 'លុបសម័យ "{{name}}"?',
"session.delete.button": "លុបសម័យ",
"workspace.new": "កន្លែងធ្វើការថ្មី។",
"common.viewAll": "មើលទាំងអស់",
"session.new.workspace.local.tooltip": "ប្រើ checkout បច្ចុប្បន្ន",
"session.new.workspace.new.tooltip": "បង្កើត checkout ដាច់ដោយឡែក",
"session.new.workspace.fromBranch": "ពី {{branch}}",
"session.new.workspace.trigger.tooltip": "ជ្រើសកន្លែងដំណើរការសម័យ",
"session.new.workspace.search.placeholder": "ស្វែងរកកន្លែងធ្វើការ",
"settings.tab.workspaces": "កន្លែងធ្វើការ",
"settings.workspaces.filter.all": "គម្រោងទាំងអស់",
"settings.workspaces.empty": "គ្មានកន្លែងធ្វើការទេ",
"settings.workspaces.count.one": "{{count}} កន្លែងធ្វើការ",
"settings.workspaces.count.other": "{{count}} កន្លែងធ្វើការ",
"settings.workspaces.sessions.one": "{{count}} សម័យក្នុង {{project}}",
"settings.workspaces.sessions.other": "{{count}} សម័យក្នុង {{project}}",
"settings.workspaces.lastActiveSession": "សម័យសកម្មចុងក្រោយ",
"settings.workspaces.deleteAll": "លុបកន្លែងធ្វើការទាំងអស់",
"settings.workspaces.deleteAll.confirm": "លុបកន្លែងធ្វើការ {{count}} ទាំងអស់?",
"settings.workspaces.delete.warning":
"ថតកន្លែងធ្វើការ និងសាខានឹងត្រូវបានលុបជាអចិន្ត្រៃយ៍ រួមទាំងការផ្លាស់ប្តូរដែលមិនទាន់បានបញ្ចូលគ្នាណាមួយដែលបង្ហាញខាងក្រោម។",
"settings.workspaces.deleteAll.warning":
"កន្លែងធ្វើការ {{count}} ដែលបានជ្រើសក្នុង {{project}} នឹងត្រូវបានលុបជាអចិន្ត្រៃយ៍តែក្នុងករណីដែលកន្លែងធ្វើការនីមួយៗស្អាត មិនសកម្ម និងគ្មានសម័យដែលបានភ្ជាប់។",
"settings.workspaces.delete.blocked.active": "មិនអាចលុបកន្លែងធ្វើការសកម្មបានទេ។",
"settings.workspaces.delete.blocked.linked":
"សម័យដែលបានភ្ជាប់នឹងនៅតែមាន ប៉ុន្តែថតការងាររបស់វានឹងត្រូវបានលុបជាអចិន្ត្រៃយ៍។",
"settings.workspaces.default.title": "បរិស្ថានលំនាំដើម",
"settings.workspaces.default.description": "ជ្រើសកន្លែងដែលសម័យថ្មីចាប់ផ្តើម",
"settings.workspaces.default.lastUsed": "បានប្រើចុងក្រោយតាមគម្រោង",
"settings.workspaces.default.local": "ថតមូលដ្ឋាន",
"settings.workspaces.default.new": "កន្លែងធ្វើការថ្មី",
"workspace.move.title": "ផ្លាស់ទីទៅកន្លែងធ្វើការ",
"workspace.move.menu.title": "ផ្លាស់ទីសម័យទៅ",
"workspace.move.failed": "បរាជ័យក្នុងការផ្លាស់ទីសម័យ",
"workspace.lifecycle.creating": "កំពុងបង្កើតកន្លែងធ្វើការ",
"workspace.lifecycle.created": "បានបង្កើតកន្លែងធ្វើការ",
"workspace.lifecycle.starting": "កំពុងចាប់ផ្តើមសម័យ",
"workspace.onboarding.title": "ញែកសម័យដោយប្រើកន្លែងធ្វើការ",
"workspace.onboarding.description": "នីមួយៗមាន checkout ផ្ទាល់ខ្លួន ដូច្នេះមិនរំខានឃ្លាំងមូលដ្ឋានរបស់អ្នកទេ",
"workspace.lifecycle.moving": "កំពុងផ្លាស់ទីទៅកន្លែងធ្វើការ",
"workspace.lifecycle.set": "បានកំណត់កន្លែងធ្វើការ",
"session.summary.title": "ព័ត៌មានលម្អិតសម័យ",
"session.summary.noBranch": "គ្មានសាខា",
"session.summary.basedOn": "ផ្អែកលើ {{branch}}",
"workspace.type.local": "ក្នុងស្រុក",
"workspace.type.sandbox": "ប្រអប់ខ្សាច់",
"workspace.create.failed.title": "បរាជ័យក្នុងការបង្កើតកន្លែងធ្វើការ",
+90
View File
@@ -1142,4 +1142,94 @@ export const dict = {
"desktop.picker.error.notSelected": "선택기에서 파일을 선택하지 않았습니다",
"desktop.picker.error.sizeLimit": "선택한 첨부 파일이 {{limit}} MB 제한을 초과합니다",
"provider.disconnect.toast.noCredentials.description":
"{{provider}}에 대해 제거할 수 있는 자격 증명을 찾을 수 없습니다.",
"provider.disconnect.toast.failed.description": "{{provider}} 연결을 해제하지 못했습니다.",
"toast.migration.failed.title": "데이터 마이그레이션 실패",
"session.background.moveTasks": "{{tasks}}을(를) 백그라운드로 이동",
"session.background.inBackground": "{{tasks}} 백그라운드에서 실행 중",
"session.background.combine": "{{first}} 및 {{second}}",
"session.background.shell.one": "{{count}}개 셸",
"session.background.shell.other": "{{count}}개 셸",
"session.background.subagent.one": "{{count}}개 하위 에이전트",
"session.background.subagent.other": "{{count}}개 하위 에이전트",
"command.session.background": "백그라운드로 이동",
"session.timeline.notice.finished": "{{actor}} 완료됨",
"session.timeline.notice.failed": "{{actor}} 실패",
"session.timeline.notice.cancelled": "{{actor}} 취소됨",
"session.timeline.notice.instructionsUpdated": "지침 업데이트됨: {{sources}}",
"session.timeline.notice.restart": "다시 시작 후 계속",
"settings.tab.preferences": "환경 설정",
"settings.tab.notifications": "알림",
"settings.tab.projects": "프로젝트",
"settings.tab.extensions": "확장",
"settings.preferences.description": "환경 설정, 테마, 기본 동작을 사용자 지정",
"settings.appearance.description": "테마 및 글꼴을 사용자 지정",
"settings.notifications.description": "알림을 받을 때와 소리 재생 여부를 선택",
"settings.shortcuts.description": "자주 사용하는 작업의 단축키를 사용자 지정",
"settings.servers.description": "서버 연결 관리",
"settings.projects.title": "프로젝트",
"settings.projects.description": "이 서버의 프로젝트 설정 관리",
"settings.projects.empty": "프로젝트를 찾을 수 없습니다",
"settings.projects.server.all": "모든 서버",
"settings.mcps.description": "Model Context Protocol (MCP) 서버 및 도구 관리",
"settings.extensions.description": "이 서버에서 사용할 수 있는 확장 관리",
"settings.extensions.tab.mcps": "MCP",
"settings.extensions.tab.skills": "스킬",
"settings.extensions.availableAll": "모든 프로젝트에서 사용 가능",
"settings.extensions.manageConfig": "opencode.json에서 관리",
"settings.extensions.addSkills": "스킬 추가 방법",
"dialog.server.authenticate.title": "인증",
"project.settings.general.description": "프로젝트 이름 및 모양 관리",
"project.settings.scripts": "스크립트",
"project.settings.scripts.description": "이 프로젝트의 스크립트 구성",
"project.settings.extensions.description": "이 프로젝트에서 사용할 수 있는 확장 보기",
"project.settings.extensions.tab.lsps": "LSP",
"project.settings.extensions.added": "이 프로젝트에 추가됨",
"project.settings.extensions.shared": "모든 프로젝트와 공유됨",
"project.settings.extensions.lsp.detected": "감지된 언어 서버",
"project.settings.extensions.lsp.description": "파일 유형에서 자동 감지됨",
"project.settings.extensions.setupRequired": "설정 필요",
"settings.general.section.general": "일반",
"common.viewAll": "모두 보기",
"session.new.workspace.local.tooltip": "현재 체크아웃 사용",
"session.new.workspace.new.tooltip": "격리된 체크아웃 생성",
"session.new.workspace.fromBranch": "{{branch}}에서",
"session.new.workspace.trigger.tooltip": "세션을 실행할 위치 선택",
"session.new.workspace.search.placeholder": "작업 공간 검색",
"settings.tab.workspaces": "작업 공간",
"settings.workspaces.filter.all": "모든 프로젝트",
"settings.workspaces.empty": "작업 공간 없음",
"settings.workspaces.count.one": "{{count}}개 작업 공간",
"settings.workspaces.count.other": "{{count}}개 작업 공간",
"settings.workspaces.sessions.one": "{{project}}의 세션 {{count}}개",
"settings.workspaces.sessions.other": "{{project}}의 세션 {{count}}개",
"settings.workspaces.lastActiveSession": "마지막 활성 세션",
"settings.workspaces.deleteAll": "모든 작업 공간 삭제",
"settings.workspaces.deleteAll.confirm": "{{count}}개 작업 공간을 모두 삭제하시겠습니까?",
"settings.workspaces.delete.warning":
"아래 표시된 병합되지 않은 변경 사항을 포함하여 작업 공간 디렉터리와 브랜치가 영구적으로 제거됩니다.",
"settings.workspaces.deleteAll.warning":
"{{project}}에서 선택한 작업 공간 {{count}}개는 각각 변경 사항이 없고 비활성 상태이며 연결된 세션이 없을 때만 영구적으로 제거됩니다.",
"settings.workspaces.delete.blocked.active": "활성 작업 공간은 삭제할 수 없습니다.",
"settings.workspaces.delete.blocked.linked": "연결된 세션은 남지만 해당 작업 디렉터리는 영구적으로 제거됩니다.",
"settings.workspaces.default.title": "기본 환경",
"settings.workspaces.default.description": "새 세션이 시작되는 위치 선택",
"settings.workspaces.default.lastUsed": "프로젝트별 마지막 사용 항목",
"settings.workspaces.default.local": "로컬 디렉터리",
"settings.workspaces.default.new": "새 작업 공간",
"workspace.move.title": "작업 공간으로 이동",
"workspace.move.menu.title": "세션 이동 위치",
"workspace.move.failed": "세션 이동 실패",
"workspace.lifecycle.creating": "작업 공간 생성 중",
"workspace.lifecycle.created": "작업 공간 생성됨",
"workspace.lifecycle.starting": "세션 시작 중",
"workspace.onboarding.title": "작업 공간으로 세션 격리",
"workspace.onboarding.description": "각 세션은 자체 체크아웃을 사용하므로 로컬 저장소에 영향을 주지 않습니다",
"workspace.lifecycle.moving": "작업 공간으로 이동 중",
"workspace.lifecycle.set": "작업 공간 설정됨",
"session.summary.title": "세션 세부 정보",
"session.summary.noBranch": "브랜치 없음",
"session.summary.basedOn": "{{branch}} 기반",
}
+89
View File
@@ -285,6 +285,8 @@ export const dict = {
"provider.custom.error.duplicate": "ຊໍ້າກັນ",
"provider.disconnect.toast.disconnected.title": "{{provider}} ຕັດການເຊື່ອມຕໍ່ແລ້ວ",
"provider.disconnect.toast.disconnected.description": "ໂມເດວ {{provider}} ບໍ່ມີແລ້ວ.",
"provider.disconnect.toast.noCredentials.description": "ບໍ່ພົບຂໍ້ມູນປະຈຳຕົວຂອງ {{provider}} ທີ່ສາມາດລຶບໄດ້.",
"provider.disconnect.toast.failed.description": "ຕັດການເຊື່ອມຕໍ່ {{provider}} ບໍ່ສຳເລັດ.",
"model.tag.free": "ຟຣີ",
"model.tag.latest": "ຫຼ້າສຸດ",
"model.provider.anthropic": "Anthropic",
@@ -605,6 +607,7 @@ export const dict = {
"toast.session.export.failed.description": "ມີຂໍ້ຜິດພາດເກີດຂຶ້ນໃນຂະນະທີ່ສົ່ງອອກເຊດຊັນ",
"toast.session.listFailed.title": "ລົ້ມເຫລວໃນການໂຫລດເຊດຊັນສໍາລັບ {{project}}",
"toast.project.reloadFailed.title": "ໂຫຼດ {{project}} ຄືນໃໝ່ບໍ່ສຳເລັດ",
"toast.migration.failed.title": "ການຍ້າຍຂໍ້ມູນບໍ່ສຳເລັດ",
"toast.update.title": "ມີອັບເດດ",
"toast.update.description": "ເວີຊັນໃໝ່ຂອງ OpenCode ({{version}}) ມີໃຫ້ຕິດຕັ້ງແລ້ວ.",
"toast.update.action.installRestart": "ຕິດຕັ້ງ ແລະປິດເປີດໃໝ່",
@@ -690,6 +693,19 @@ export const dict = {
"session.error.notFound": "ບໍ່ພົບເຊດຊັນນີ້",
"session.error.notFound.description": "ແຖບນີ້ຊີ້ໄປຫາເຊດຊັນທີ່ບໍ່ມີຢູ່ໃນເຊີບເວີນີ້ແລ້ວ.",
"session.error.notFound.closeTab": "ປິດແຖບ",
"session.background.moveTasks": "ຍ້າຍ {{tasks}} ໄປເບື້ອງຫຼັງ",
"session.background.inBackground": "ກຳລັງແລ່ນ {{tasks}} ໃນເບື້ອງຫຼັງ",
"session.background.combine": "{{first}} ແລະ {{second}}",
"session.background.shell.one": "{{count}} shell",
"session.background.shell.other": "{{count}} shell",
"session.background.subagent.one": "{{count}} subagent",
"session.background.subagent.other": "{{count}} subagent",
"command.session.background": "ຍ້າຍໄປເບື້ອງຫຼັງ",
"session.timeline.notice.finished": "{{actor}} ສຳເລັດແລ້ວ",
"session.timeline.notice.failed": "{{actor}} ລົ້ມເຫລວ",
"session.timeline.notice.cancelled": "{{actor}} ຖືກຍົກເລີກ",
"session.timeline.notice.instructionsUpdated": "ຄຳແນະນຳຖືກອັບເດດແລ້ວ: {{sources}}",
"session.timeline.notice.restart": "ສືບຕໍ່ຫຼັງຈາກຣີສະຕາດ",
"session.error.serverConnection": "ບໍ່ສາມາດເຊື່ອມຕໍ່ກັບເຊີບເວີນີ້ໄດ້",
"session.review.filesChanged": "ໄຟລ໌ປ່ຽນ {{count}}",
"session.review.change.one": "ປ່ຽນແປງ",
@@ -746,6 +762,11 @@ export const dict = {
"session.new.workspace.triggerLocal": "ທ້ອງຖິ່ນ",
"session.new.workspace.local": "ພື້ນທີ່ເກັບຂໍ້ມູນທ້ອງຖິ່ນ",
"session.new.workspace.existing": "ພື້ນທີ່ເຮັດວຽກ...",
"session.new.workspace.local.tooltip": "ໃຊ້ checkout ປັດຈຸບັນ",
"session.new.workspace.new.tooltip": "ສ້າງ checkout ແຍກຕ່າງຫາກ",
"session.new.workspace.fromBranch": "ຈາກ {{branch}}",
"session.new.workspace.trigger.tooltip": "ເລືອກບ່ອນທີ່ຈະແລ່ນເຊດຊັນ",
"session.new.workspace.search.placeholder": "ຄົ້ນຫາພື້ນທີ່ເຮັດວຽກ",
"session.new.git.none": "ບໍ່ມີ Git",
"session.new.lastModified": "ດັດແກ້ຫຼ້າສຸດ",
"session.header.search.placeholder": "ຄົ້ນຫາ {{project}}",
@@ -892,11 +913,44 @@ export const dict = {
"settings.section.desktop": "ເດັສທັອບ",
"settings.section.server": "ເຊີບເວີ",
"settings.tab.general": "ທົ່ວໄປ",
"settings.tab.preferences": "ຄ່າກຳນົດ",
"settings.tab.shortcuts": "ທາງລັດ",
"settings.tab.notifications": "ການແຈ້ງເຕືອນ",
"settings.tab.projects": "ໂຄງການ",
"settings.tab.extensions": "ສ່ວນຂະຫຍາຍ",
"settings.tab.workspaces": "ພື້ນທີ່ເຮັດວຽກ",
"settings.preferences.description": "ປັບແຕ່ງຄ່າກຳນົດ, ຫົວຂໍ້ ແລະພຶດຕິກຳເລີ່ມຕົ້ນ",
"settings.appearance.description": "ປັບແຕ່ງຫົວຂໍ້ ແລະຟອນ",
"settings.notifications.description": "ເລືອກເວລາຮັບການແຈ້ງເຕືອນ ແລະຟັງສຽງ",
"settings.shortcuts.description": "ປັບແຕ່ງທາງລັດສຳລັບການກະທຳທົ່ວໄປ",
"settings.servers.description": "ຈັດການການເຊື່ອມຕໍ່ເຊີບເວີ",
"settings.projects.title": "ໂຄງການ",
"settings.projects.description": "ຈັດການການຕັ້ງຄ່າໂຄງການໃນເຊີບເວີນີ້",
"settings.projects.empty": "ບໍ່ພົບໂຄງການ",
"settings.projects.server.all": "ເຊີບເວີທັງໝົດ",
"settings.mcps.description": "ຈັດການເຊີບເວີ ແລະເຄື່ອງມື Model Context Protocol (MCP)",
"settings.extensions.description": "ຈັດການສ່ວນຂະຫຍາຍທີ່ມີຢູ່ໃນເຊີບເວີນີ້",
"settings.extensions.tab.mcps": "MCPs",
"settings.extensions.tab.skills": "ທັກສະ",
"settings.extensions.availableAll": "ມີໃຫ້ທຸກໂຄງການ",
"settings.extensions.manageConfig": "ຈັດການໃນ opencode.json",
"settings.extensions.addSkills": "ວິທີເພີ່ມທັກສະ",
"settings.desktop.section.wsl": "WSL",
"settings.desktop.wsl.title": "ການເຊື່ອມໂຍງ WSL",
"settings.desktop.wsl.description": "ແລ່ນເຊີບເວີ OpenCode ພາຍໃນ WSL ໃນ Windows.",
"dialog.server.authenticate.title": "ພິສູດຢືນຢັນ",
"project.settings.general.description": "ຈັດການຊື່ ແລະຮູບລັກສະນະໂຄງການ",
"project.settings.scripts": "ສະຄຣິບ",
"project.settings.scripts.description": "ຕັ້ງຄ່າສະຄຣິບສຳລັບໂຄງການນີ້",
"project.settings.extensions.description": "ເບິ່ງສ່ວນຂະຫຍາຍທີ່ມີໃຫ້ໂຄງການນີ້",
"project.settings.extensions.tab.lsps": "LSPs",
"project.settings.extensions.added": "ເພີ່ມໃສ່ໂຄງການນີ້ແລ້ວ",
"project.settings.extensions.shared": "ແບ່ງປັນກັບທຸກໂຄງການ",
"project.settings.extensions.lsp.detected": "ເຊີບເວີພາສາທີ່ກວດພົບ",
"project.settings.extensions.lsp.description": "ກວດພົບອັດຕະໂນມັດຈາກປະເພດໄຟລ໌",
"project.settings.extensions.setupRequired": "ຕ້ອງຕັ້ງຄ່າ",
"settings.general.section.appearance": "ຮູບລັກສະນະ",
"settings.general.section.general": "ທົ່ວໄປ",
"settings.general.section.advanced": "ຂັ້ນສູງ",
"settings.general.section.notifications": "ການແຈ້ງເຕືອນລະບົບ",
"settings.general.section.updates": "ອັບເດດ",
@@ -1100,6 +1154,41 @@ export const dict = {
"session.delete.confirm": 'ລຶບເຊດຊັນ "{{name}}" ບໍ?',
"session.delete.button": "ລຶບເຊດຊັນ",
"workspace.new": "ພື້ນທີ່ເຮັດວຽກໃໝ່",
"common.viewAll": "ເບິ່ງທັງໝົດ",
"settings.workspaces.filter.all": "ໂຄງການທັງໝົດ",
"settings.workspaces.empty": "ບໍ່ມີພື້ນທີ່ເຮັດວຽກ",
"settings.workspaces.count.one": "{{count}} ພື້ນທີ່ເຮັດວຽກ",
"settings.workspaces.count.other": "{{count}} ພື້ນທີ່ເຮັດວຽກ",
"settings.workspaces.sessions.one": "{{count}} ເຊດຊັນໃນ {{project}}",
"settings.workspaces.sessions.other": "{{count}} ເຊດຊັນໃນ {{project}}",
"settings.workspaces.lastActiveSession": "ເຊດຊັນທີ່ໃຊ້ງານຫຼ້າສຸດ",
"settings.workspaces.deleteAll": "ລຶບພື້ນທີ່ເຮັດວຽກທັງໝົດ",
"settings.workspaces.deleteAll.confirm": "ລຶບພື້ນທີ່ເຮັດວຽກທັງ {{count}} ບ່ອນບໍ?",
"settings.workspaces.delete.warning":
"ໄດເລກະທໍລີ ແລະສາຂາຂອງພື້ນທີ່ເຮັດວຽກຈະຖືກລຶບຖາວອນ, ລວມທັງການປ່ຽນແປງທີ່ຍັງບໍ່ໄດ້ຮວມທີ່ສະແດງຂ້າງລຸ່ມ.",
"settings.workspaces.deleteAll.warning":
"ພື້ນທີ່ເຮັດວຽກ {{count}} ບ່ອນທີ່ເລືອກໃນ {{project}} ຈະຖືກລຶບຖາວອນກໍ່ຕໍ່ເມື່ອແຕ່ລະບ່ອນສະອາດ, ບໍ່ໄດ້ໃຊ້ງານ, ແລະບໍ່ມີເຊດຊັນທີ່ເຊື່ອມໂຍງ.",
"settings.workspaces.delete.blocked.active": "ບໍ່ສາມາດລຶບພື້ນທີ່ເຮັດວຽກທີ່ກຳລັງໃຊ້ງານຢູ່ໄດ້.",
"settings.workspaces.delete.blocked.linked":
"ເຊດຊັນທີ່ເຊື່ອມໂຍງຈະຍັງຢູ່, ແຕ່ໄດເລກະທໍລີເຮັດວຽກຂອງພວກມັນຈະຖືກລຶບຖາວອນ.",
"settings.workspaces.default.title": "ສະພາບແວດລ້ອມເລີ່ມຕົ້ນ",
"settings.workspaces.default.description": "ເລືອກບ່ອນທີ່ເຊດຊັນໃໝ່ເລີ່ມ",
"settings.workspaces.default.lastUsed": "ໃຊ້ຫຼ້າສຸດຕໍ່ໂຄງການ",
"settings.workspaces.default.local": "ໄດເລກະທໍລີທ້ອງຖິ່ນ",
"settings.workspaces.default.new": "ພື້ນທີ່ເຮັດວຽກໃໝ່",
"workspace.move.title": "ຍ້າຍໄປພື້ນທີ່ເຮັດວຽກ",
"workspace.move.menu.title": "ຍ້າຍເຊດຊັນໄປ",
"workspace.move.failed": "ຍ້າຍເຊດຊັນບໍ່ສຳເລັດ",
"workspace.lifecycle.creating": "ກຳລັງສ້າງພື້ນທີ່ເຮັດວຽກ",
"workspace.lifecycle.created": "ສ້າງພື້ນທີ່ເຮັດວຽກແລ້ວ",
"workspace.lifecycle.starting": "ກຳລັງເລີ່ມເຊດຊັນ",
"workspace.onboarding.title": "ແຍກເຊດຊັນດ້ວຍພື້ນທີ່ເຮັດວຽກ",
"workspace.onboarding.description": "ແຕ່ລະອັນມີ checkout ຂອງຕົນເອງ, ຈຶ່ງບໍ່ລົບກວນບ່ອນເກັບຂໍ້ມູນທ້ອງຖິ່ນຂອງທ່ານ",
"workspace.lifecycle.moving": "ກຳລັງຍ້າຍໄປພື້ນທີ່ເຮັດວຽກ",
"workspace.lifecycle.set": "ຕັ້ງພື້ນທີ່ເຮັດວຽກແລ້ວ",
"session.summary.title": "ລາຍລະອຽດເຊດຊັນ",
"session.summary.noBranch": "ບໍ່ມີສາຂາ",
"session.summary.basedOn": "ອີງໃສ່ {{branch}}",
"workspace.type.local": "ທ້ອງຖິ່ນ",
"workspace.type.sandbox": "ກ່ອງຊາຍ",
"workspace.create.failed.title": "ລົ້ມເຫລວໃນການສ້າງພື້ນທີ່ເຮັດວຽກ",
+98
View File
@@ -1123,6 +1123,52 @@ export const dict = {
"session.delete.confirm": 'Ištrinti seansą "{{name}}"?',
"session.delete.button": "Ištrinti seansą",
"workspace.new": "Nauja darbo vieta",
"common.viewAll": "Rodyti viską",
"session.new.workspace.local.tooltip": "Naudoti dabartinę darbinę kopiją",
"session.new.workspace.new.tooltip": "Sukurti izoliuotą darbinę kopiją",
"session.new.workspace.fromBranch": "iš {{branch}}",
"session.new.workspace.trigger.tooltip": "Pasirinkite, kur vykdyti seansą",
"session.new.workspace.search.placeholder": "Ieškoti darbo sričių",
"settings.tab.workspaces": "Darbo sritys",
"settings.workspaces.filter.all": "Visi projektai",
"settings.workspaces.empty": "Darbo sričių nėra",
"settings.workspaces.count.one": "{{count}} darbo sritis",
"settings.workspaces.count.few": "{{count}} darbo sritys",
"settings.workspaces.count.many": "{{count}} darbo sričių",
"settings.workspaces.count.other": "{{count}} darbo srities",
"settings.workspaces.sessions.one": "{{count}} seansas projekte {{project}}",
"settings.workspaces.sessions.few": "{{count}} seansai projekte {{project}}",
"settings.workspaces.sessions.many": "{{count}} seansų projekte {{project}}",
"settings.workspaces.sessions.other": "{{count}} seanso projekte {{project}}",
"settings.workspaces.lastActiveSession": "Paskutinis aktyvus seansas",
"settings.workspaces.deleteAll": "Ištrinti visas darbo sritis",
"settings.workspaces.deleteAll.confirm": "Ištrinti visas {{count}} darbo sritis?",
"settings.workspaces.delete.warning":
"Darbo srities katalogas ir šaka bus visam laikui pašalinti kartu su visais toliau rodomais nesujungtais pakeitimais.",
"settings.workspaces.deleteAll.warning":
"{{count}} pasirinktos projekto {{project}} darbo sritys bus visam laikui pašalintos tik jei visos yra švarios, neaktyvios ir neturi susietų seansų.",
"settings.workspaces.delete.blocked.active": "Aktyvios darbo srities ištrinti negalima.",
"settings.workspaces.delete.blocked.linked":
"Susieti seansai išliks, tačiau jų darbinis katalogas bus pašalintas visam laikui.",
"settings.workspaces.default.title": "Numatytoji aplinka",
"settings.workspaces.default.description": "Pasirinkite, kur pradėti naujus seansus",
"settings.workspaces.default.lastUsed": "Paskutinė naudota kiekviename projekte",
"settings.workspaces.default.local": "Vietinis katalogas",
"settings.workspaces.default.new": "Nauja darbo sritis",
"workspace.move.title": "Perkelti į darbo sritį",
"workspace.move.menu.title": "Perkelti seansą į",
"workspace.move.failed": "Nepavyko perkelti seanso",
"workspace.lifecycle.creating": "Kuriama darbo sritis",
"workspace.lifecycle.created": "Darbo sritis sukurta",
"workspace.lifecycle.starting": "Paleidžiamas seansas",
"workspace.onboarding.title": "Izoliuokite seansus darbo srityse",
"workspace.onboarding.description":
"Kiekvienas seansas turi atskirą darbinę kopiją, todėl niekas netrukdo vietinei saugyklai",
"workspace.lifecycle.moving": "Perkeliama į darbo sritį",
"workspace.lifecycle.set": "Darbo sritis nustatyta",
"session.summary.title": "Seanso informacija",
"session.summary.noBranch": "Nėra šakos",
"session.summary.basedOn": "Pagrįsta {{branch}}",
"workspace.type.local": "vietinis",
"workspace.type.sandbox": "smėlio dėžė",
"workspace.create.failed.title": "Nepavyko sukurti darbo vietos",
@@ -1148,4 +1194,56 @@ export const dict = {
"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",
"provider.disconnect.toast.noCredentials.description": "Nerasta pašalinamų {{provider}} kredencialų.",
"provider.disconnect.toast.failed.description": "Nepavyko atjungti {{provider}}.",
"toast.migration.failed.title": "Duomenų perkėlimas nepavyko",
"session.background.moveTasks": "Perkelti {{tasks}} į foną",
"session.background.inBackground": "{{tasks}} vykdoma fone",
"session.background.combine": "{{first}} ir {{second}}",
"session.background.shell.one": "{{count}} apvalkalas",
"session.background.shell.other": "{{count}} apvalkalo",
"session.background.shell.few": "{{count}} apvalkalai",
"session.background.shell.many": "{{count}} apvalkalo",
"session.background.subagent.one": "{{count}} subagentas",
"session.background.subagent.other": "{{count}} subagento",
"session.background.subagent.few": "{{count}} subagentai",
"session.background.subagent.many": "{{count}} subagento",
"command.session.background": "Perkelti į foną",
"session.timeline.notice.finished": "{{actor}} baigė",
"session.timeline.notice.failed": "{{actor}} nepavyko",
"session.timeline.notice.cancelled": "{{actor}} atšauktas",
"session.timeline.notice.instructionsUpdated": "Instrukcijos atnaujintos: {{sources}}",
"session.timeline.notice.restart": "Tęsiama paleidus iš naujo",
"settings.tab.preferences": "Nuostatos",
"settings.tab.notifications": "Pranešimai",
"settings.tab.projects": "Projektai",
"settings.tab.extensions": "Plėtiniai",
"settings.preferences.description": "Tinkinkite nuostatas, temą ir numatytąjį elgesį",
"settings.appearance.description": "Tinkinkite temą ir šriftus",
"settings.notifications.description": "Pasirinkite, kada gauti pranešimus ir girdėti garsus",
"settings.shortcuts.description": "Tinkinkite dažnų veiksmų sparčiuosius klavišus",
"settings.servers.description": "Tvarkykite serverių ryšius",
"settings.projects.title": "Projektai",
"settings.projects.description": "Tvarkykite projektų nustatymus šiame serveryje",
"settings.projects.empty": "Projektų nerasta",
"settings.projects.server.all": "Visi serveriai",
"settings.mcps.description": "Tvarkykite Model Context Protocol (MCP) serverius ir įrankius",
"settings.extensions.description": "Tvarkykite šiame serveryje pasiekiamus plėtinius",
"settings.extensions.tab.mcps": "MCP",
"settings.extensions.tab.skills": "Įgūdžiai",
"settings.extensions.availableAll": "Pasiekiama visiems projektams",
"settings.extensions.manageConfig": "Tvarkyti faile opencode.json",
"settings.extensions.addSkills": "Kaip pridėti įgūdžių",
"dialog.server.authenticate.title": "Autentifikuoti",
"project.settings.general.description": "Tvarkykite projekto pavadinimą ir išvaizdą",
"project.settings.scripts": "Scenarijai",
"project.settings.scripts.description": "Konfigūruokite šio projekto scenarijus",
"project.settings.extensions.description": "Peržiūrėkite šiam projektui pasiekiamus plėtinius",
"project.settings.extensions.tab.lsps": "LSP",
"project.settings.extensions.added": "Pridėta prie šio projekto",
"project.settings.extensions.shared": "Bendrinama su visais projektais",
"project.settings.extensions.lsp.detected": "Aptikti kalbos serveriai",
"project.settings.extensions.lsp.description": "Automatiškai aptikta pagal failų tipus",
"project.settings.extensions.setupRequired": "Reikia nustatyti",
"settings.general.section.general": "Bendra",
}
+94
View File
@@ -1112,6 +1112,50 @@ export const dict = {
"session.delete.confirm": 'Dzēst sesiju "{{name}}"?',
"session.delete.button": "Dzēst sesiju",
"workspace.new": "Jauna darba vide",
"common.viewAll": "Rādīt visu",
"session.new.workspace.local.tooltip": "Izmantot pašreizējo darba kopiju",
"session.new.workspace.new.tooltip": "Izveidot izolētu darba kopiju",
"session.new.workspace.fromBranch": "no {{branch}}",
"session.new.workspace.trigger.tooltip": "Izvēlieties, kur palaist sesiju",
"session.new.workspace.search.placeholder": "Meklēt darbvietas",
"settings.tab.workspaces": "Darbvietas",
"settings.workspaces.filter.all": "Visi projekti",
"settings.workspaces.empty": "Nav darbvietu",
"settings.workspaces.count.zero": "{{count}} darbvietu",
"settings.workspaces.count.one": "{{count}} darbvieta",
"settings.workspaces.count.other": "{{count}} darbvietas",
"settings.workspaces.sessions.zero": "{{count}} sesiju projektā {{project}}",
"settings.workspaces.sessions.one": "{{count}} sesija projektā {{project}}",
"settings.workspaces.sessions.other": "{{count}} sesijas projektā {{project}}",
"settings.workspaces.lastActiveSession": "Pēdējā aktīvā sesija",
"settings.workspaces.deleteAll": "Dzēst visas darbvietas",
"settings.workspaces.deleteAll.confirm": "Dzēst visas {{count}} darbvietas?",
"settings.workspaces.delete.warning":
"Darbvietas mape un zars tiks neatgriezeniski noņemti kopā ar visām zemāk redzamajām nesapludinātajām izmaiņām.",
"settings.workspaces.deleteAll.warning":
"{{count}} atlasītās darbvietas projektā {{project}} tiks neatgriezeniski noņemtas tikai tad, ja visas ir tīras, neaktīvas un bez saistītām sesijām.",
"settings.workspaces.delete.blocked.active": "Aktīvo darbvietu nevar dzēst.",
"settings.workspaces.delete.blocked.linked":
"Saistītās sesijas tiks saglabātas, bet to darba mape tiks neatgriezeniski noņemta.",
"settings.workspaces.default.title": "Noklusējuma vide",
"settings.workspaces.default.description": "Izvēlieties, kur sākt jaunas sesijas",
"settings.workspaces.default.lastUsed": "Pēdējā izmantotā katram projektam",
"settings.workspaces.default.local": "Lokāla mape",
"settings.workspaces.default.new": "Jauna darbvieta",
"workspace.move.title": "Pārvietot uz darbvietu",
"workspace.move.menu.title": "Pārvietot sesiju uz",
"workspace.move.failed": "Neizdevās pārvietot sesiju",
"workspace.lifecycle.creating": "Izveido darbvietu",
"workspace.lifecycle.created": "Darbvieta izveidota",
"workspace.lifecycle.starting": "Palaiž sesiju",
"workspace.onboarding.title": "Izolējiet sesijas darbvietās",
"workspace.onboarding.description":
"Katrai sesijai ir sava darba kopija, tāpēc nekas netraucē lokālajam repozitorijam",
"workspace.lifecycle.moving": "Pārvieto uz darbvietu",
"workspace.lifecycle.set": "Darbvieta iestatīta",
"session.summary.title": "Sesijas informācija",
"session.summary.noBranch": "Nav zara",
"session.summary.basedOn": "Balstīts uz {{branch}}",
"workspace.type.local": "lokāla",
"workspace.type.sandbox": "smilškaste",
"workspace.create.failed.title": "Neizdevās izveidot darba vidi",
@@ -1137,4 +1181,54 @@ export const dict = {
"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",
"provider.disconnect.toast.noCredentials.description": "Nav atrasti noņemami {{provider}} akreditācijas dati.",
"provider.disconnect.toast.failed.description": "Neizdevās atvienot {{provider}}.",
"toast.migration.failed.title": "Datu migrācija neizdevās",
"session.background.moveTasks": "Pārvietot {{tasks}} fonā",
"session.background.inBackground": "{{tasks}} darbojas fonā",
"session.background.combine": "{{first}} un {{second}}",
"session.background.shell.zero": "{{count}} čaulu",
"session.background.shell.one": "{{count}} čaula",
"session.background.shell.other": "{{count}} čaulas",
"session.background.subagent.zero": "{{count}} apakšaģentu",
"session.background.subagent.one": "{{count}} apakšaģents",
"session.background.subagent.other": "{{count}} apakšaģenti",
"command.session.background": "Pārvietot fonā",
"session.timeline.notice.finished": "{{actor}} pabeidza",
"session.timeline.notice.failed": "{{actor}} neizdevās",
"session.timeline.notice.cancelled": "{{actor}} tika atcelts",
"session.timeline.notice.instructionsUpdated": "Norādījumi atjaunināti: {{sources}}",
"session.timeline.notice.restart": "Turpina pēc pārstartēšanas",
"settings.tab.preferences": "Iestatījumi",
"settings.tab.notifications": "Paziņojumi",
"settings.tab.projects": "Projekti",
"settings.tab.extensions": "Paplašinājumi",
"settings.preferences.description": "Pielāgojiet preferences, tēmu un noklusējuma darbību",
"settings.appearance.description": "Pielāgojiet tēmu un fontus",
"settings.notifications.description": "Izvēlieties, kad saņemt paziņojumus un dzirdēt skaņas",
"settings.shortcuts.description": "Pielāgojiet biežāko darbību saīsnes",
"settings.servers.description": "Pārvaldiet serveru savienojumus",
"settings.projects.title": "Projekti",
"settings.projects.description": "Pārvaldiet projektu iestatījumus šajā serverī",
"settings.projects.empty": "Projekti nav atrasti",
"settings.projects.server.all": "Visi serveri",
"settings.mcps.description": "Pārvaldiet Model Context Protocol (MCP) serverus un rīkus",
"settings.extensions.description": "Pārvaldiet šajā serverī pieejamos paplašinājumus",
"settings.extensions.tab.mcps": "MCP",
"settings.extensions.tab.skills": "Prasmes",
"settings.extensions.availableAll": "Pieejams visiem projektiem",
"settings.extensions.manageConfig": "Pārvaldīt failā opencode.json",
"settings.extensions.addSkills": "Kā pievienot prasmes",
"dialog.server.authenticate.title": "Autentificēt",
"project.settings.general.description": "Pārvaldiet projekta nosaukumu un izskatu",
"project.settings.scripts": "Skripti",
"project.settings.scripts.description": "Konfigurējiet šī projekta skriptus",
"project.settings.extensions.description": "Skatiet šim projektam pieejamos paplašinājumus",
"project.settings.extensions.tab.lsps": "LSP",
"project.settings.extensions.added": "Pievienots šim projektam",
"project.settings.extensions.shared": "Koplietots ar visiem projektiem",
"project.settings.extensions.lsp.detected": "Noteiktie valodas serveri",
"project.settings.extensions.lsp.description": "Automātiski noteikts pēc failu tipiem",
"project.settings.extensions.setupRequired": "Nepieciešama iestatīšana",
"settings.general.section.general": "Vispārīgi",
}
+90
View File
@@ -1140,4 +1140,94 @@ export const dict = {
"workspace.reset.archived.many": "{{count}} сесиите ќе бидат архивирани.",
"workspace.reset.note": "Ова ќе го ресетира работниот простор за да одговара на стандардната гранка.",
"dialog.usageExceeded.dontShowAgain": "Не прикажувај повторно",
"provider.disconnect.toast.noCredentials.description": "Не се пронајдени отстранливи акредитиви за {{provider}}.",
"provider.disconnect.toast.failed.description": "Не успеа да се исклучи {{provider}}.",
"toast.migration.failed.title": "Миграцијата на податоците не успеа",
"session.background.moveTasks": "Преместете го {{tasks}} во позадина",
"session.background.inBackground": "Вклучување на {{tasks}} во позадина",
"session.background.combine": "{{first}} и {{second}}",
"session.background.shell.one": "{{count}} shell",
"session.background.shell.other": "{{count}} shell-а",
"session.background.subagent.one": "Субагент {{count}}",
"session.background.subagent.other": "{{count}} субагенси",
"command.session.background": "Премести во позадина",
"session.timeline.notice.finished": "{{actor}} заврши",
"session.timeline.notice.failed": "{{actor}} не успеа",
"session.timeline.notice.cancelled": "{{actor}} откажано",
"session.timeline.notice.instructionsUpdated": "Ажурирани инструкции: {{sources}}",
"session.timeline.notice.restart": "Продолжува по рестартирање",
"settings.tab.preferences": "Преференци",
"settings.tab.notifications": "Известувања",
"settings.tab.projects": "Проекти",
"settings.tab.extensions": "Екстензии",
"settings.preferences.description": "Приспособете ги преференциите и темата и стандардното однесување",
"settings.appearance.description": "Прилагодете ја темата и фонтовите",
"settings.notifications.description": "Изберете кога да примате известувања и да слушате звуци",
"settings.shortcuts.description": "Приспособете ги кратенките за вообичаени дејства",
"settings.servers.description": "Управувајте со врските со серверот",
"settings.projects.title": "Проекти",
"settings.projects.description": "Управувајте со поставките за проектот на овој сервер",
"settings.projects.empty": "Не се пронајдени проекти",
"settings.projects.server.all": "Сите сервери",
"settings.mcps.description": "Управувајте со серверите и алатките за Модел Контекст Протокол (MCP).",
"settings.extensions.description": "Управувајте со екстензии достапни на овој сервер",
"settings.extensions.tab.mcps": "MCPs",
"settings.extensions.tab.skills": "Вештини",
"settings.extensions.availableAll": "Достапно за сите проекти",
"settings.extensions.manageConfig": "Управувајте во opencode.json",
"settings.extensions.addSkills": "Како да додадете вештини",
"dialog.server.authenticate.title": "Проверете ја автентичноста",
"project.settings.general.description": "Управувајте со името и изгледот на проектот",
"project.settings.scripts": "Скрипти",
"project.settings.scripts.description": "Конфигурирајте ги скриптите за овој проект",
"project.settings.extensions.description": "Погледнете ги наставките достапни за овој проект",
"project.settings.extensions.tab.lsps": "LSPs",
"project.settings.extensions.added": "Додадено во овој проект",
"project.settings.extensions.shared": "Споделено со сите проекти",
"project.settings.extensions.lsp.detected": "Откриени јазични сервери",
"project.settings.extensions.lsp.description": "Автоматски се открива од типовите на датотеки",
"project.settings.extensions.setupRequired": "Потребно е поставување",
"settings.general.section.general": "Општо",
"common.viewAll": "Прикажи ги сите",
"session.new.workspace.local.tooltip": "Користи ја тековната работна копија",
"session.new.workspace.new.tooltip": "Создај изолирана работна копија",
"session.new.workspace.fromBranch": "од {{branch}}",
"session.new.workspace.trigger.tooltip": "Изберете каде да се изврши сесијата",
"session.new.workspace.search.placeholder": "Пребарувајте работни простори",
"settings.tab.workspaces": "Работни простори",
"settings.workspaces.filter.all": "Сите проекти",
"settings.workspaces.empty": "Нема работни простори",
"settings.workspaces.count.one": "{{count}} работен простор",
"settings.workspaces.count.other": "{{count}} работни простори",
"settings.workspaces.sessions.one": "{{count}} сесија во {{project}}",
"settings.workspaces.sessions.other": "{{count}} сесии во {{project}}",
"settings.workspaces.lastActiveSession": "Последна активна сесија",
"settings.workspaces.deleteAll": "Избришете ги сите работни простори",
"settings.workspaces.deleteAll.confirm": "Да се ​​избришат сите работни простори на {{count}}?",
"settings.workspaces.delete.warning":
"Директориумот и гранката на работниот простор трајно ќе се отстранат, вклучувајќи ги и сите неповрзани промени прикажани подолу.",
"settings.workspaces.deleteAll.warning":
"Избраните работни простори {{count}} во {{project}} трајно ќе се отстранат само ако секој е чист, неактивен и нема поврзани сесии.",
"settings.workspaces.delete.blocked.active": "Активниот работен простор не може да се избрише.",
"settings.workspaces.delete.blocked.linked":
"Поврзаните сесии ќе останат, но нивниот работен директориум трајно ќе биде отстранет.",
"settings.workspaces.default.title": "Стандардна околина",
"settings.workspaces.default.description": "Изберете каде започнуваат новите сесии",
"settings.workspaces.default.lastUsed": "Последно користено по проект",
"settings.workspaces.default.local": "Локален директориум",
"settings.workspaces.default.new": "Нов работен простор",
"workspace.move.title": "Премести во работен простор",
"workspace.move.menu.title": "Преместете ја сесијата во",
"workspace.move.failed": "Не успеа да се премести сесијата",
"workspace.lifecycle.creating": "Создавање работен простор",
"workspace.lifecycle.created": "Создаден работен простор",
"workspace.lifecycle.starting": "Почетна сесија",
"workspace.onboarding.title": "Изолирајте сесии со работни простори",
"workspace.onboarding.description":
"Секоја добива сопствена работна копија, така што ништо не го попречува локалното складиште",
"workspace.lifecycle.moving": "Преместување во работен простор",
"workspace.lifecycle.set": "Работниот простор е поставен",
"session.summary.title": "Детали за сесијата",
"session.summary.noBranch": "Нема гранка",
"session.summary.basedOn": "Врз основа на {{branch}}",
}
+90
View File
@@ -1143,4 +1143,94 @@ export const dict = {
"workspace.reset.archived.many": "{{count}} сессийг архивлах болно.",
"workspace.reset.note": "Энэ нь ажлын талбарыг анхдагч салбартай тааруулахын тулд дахин тохируулах болно.",
"dialog.usageExceeded.dontShowAgain": "Дахин бүү харуул",
"toast.migration.failed.title": "Өгөгдөл шилжүүлэлт амжилтгүй боллоо",
"session.background.moveTasks": "{{tasks}}-ыг арын горимд шилжүүлэх",
"session.background.inBackground": "{{tasks}} арын горимд ажиллаж байна",
"session.background.combine": "{{first}} болон {{second}}",
"session.background.shell.one": "{{count}} shell",
"session.background.shell.other": "{{count}} shell",
"session.background.subagent.one": "{{count}} дэд агент",
"session.background.subagent.other": "{{count}} дэд агент",
"command.session.background": "Арын горимд шилжүүлэх",
"session.timeline.notice.finished": "{{actor}} дууслаа",
"session.timeline.notice.failed": "{{actor}} амжилтгүй боллоо",
"session.timeline.notice.cancelled": "{{actor}} цуцлагдлаа",
"settings.tab.preferences": "Тохируулга",
"settings.tab.notifications": "Мэдэгдэл",
"settings.tab.projects": "Төслүүд",
"settings.tab.extensions": "Өргөтгөлүүд",
"settings.preferences.description": "Тохируулга, загвар болон өгөгдмөл үйлдлийг өөрчлөх",
"settings.appearance.description": "Загвар болон фонтыг өөрчлөх",
"settings.notifications.description": "Хэзээ мэдэгдэл авч, дуу сонсохоо сонгоно уу",
"settings.shortcuts.description": "Түгээмэл үйлдлийн товчлолуудыг өөрчлөх",
"settings.servers.description": "Серверийн холболтуудыг удирдах",
"settings.projects.title": "Төслүүд",
"settings.projects.description": "Энэ сервер дээрх төслийн тохиргоог удирдах",
"settings.projects.empty": "Төсөл олдсонгүй",
"settings.projects.server.all": "Бүх сервер",
"settings.mcps.description": "Model Context Protocol (MCP) сервер болон хэрэгслүүдийг удирдах",
"settings.extensions.description": "Энэ сервер дээр ашиглах боломжтой өргөтгөлүүдийг удирдах",
"settings.extensions.tab.mcps": "MCP-үүд",
"settings.extensions.tab.skills": "Ур чадварууд",
"settings.extensions.availableAll": "Бүх төсөлд ашиглах боломжтой",
"settings.extensions.manageConfig": "opencode.json дотор удирдах",
"settings.extensions.addSkills": "Ур чадвар хэрхэн нэмэх вэ",
"dialog.server.authenticate.title": "Баталгаажуулах",
"project.settings.general.description": "Төслийн нэр болон харагдах байдлыг удирдах",
"project.settings.scripts": "Скриптүүд",
"project.settings.scripts.description": "Энэ төслийн скриптүүдийг тохируулах",
"project.settings.extensions.description": "Энэ төсөлд ашиглах боломжтой өргөтгөлүүдийг харах",
"project.settings.extensions.tab.lsps": "LSP-үүд",
"project.settings.extensions.added": "Энэ төсөлд нэмсэн",
"project.settings.extensions.shared": "Бүх төсөлтэй хуваалцсан",
"project.settings.extensions.lsp.detected": "Илрүүлсэн хэлний серверүүд",
"project.settings.extensions.lsp.description": "Файлын төрлөөс автоматаар илрүүлсэн",
"project.settings.extensions.setupRequired": "Тохируулах шаардлагатай",
"settings.general.section.general": "Ерөнхий",
"common.viewAll": "Бүгдийг харах",
"session.new.workspace.local.tooltip": "Одоогийн checkout-ыг ашиглах",
"session.new.workspace.new.tooltip": "Тусгаарласан checkout үүсгэх",
"session.new.workspace.fromBranch": "{{branch}} салаанаас",
"session.new.workspace.trigger.tooltip": "Сессийг хаана ажиллуулахыг сонгоно уу",
"session.new.workspace.search.placeholder": "Ажлын талбар хайх",
"settings.tab.workspaces": "Ажлын талбарууд",
"settings.workspaces.filter.all": "Бүх төсөл",
"settings.workspaces.empty": "Ажлын талбар алга",
"settings.workspaces.count.one": "{{count}} ажлын талбар",
"settings.workspaces.count.other": "{{count}} ажлын талбар",
"settings.workspaces.sessions.one": "{{project}} төсөл дэх {{count}} сесс",
"settings.workspaces.sessions.other": "{{project}} төсөл дэх {{count}} сесс",
"settings.workspaces.lastActiveSession": "Сүүлд идэвхтэй байсан сесс",
"settings.workspaces.deleteAll": "Бүх ажлын талбарыг устгах",
"settings.workspaces.deleteAll.confirm": "Бүх {{count}} ажлын талбарыг устгах уу?",
"settings.workspaces.delete.warning":
"Ажлын талбарын хавтас болон салаа, доор харуулсан нэгтгээгүй өөрчлөлтүүдийн хамт бүрмөсөн устгагдана.",
"settings.workspaces.deleteAll.warning":
"{{project}} төсөлд сонгосон {{count}} ажлын талбарыг тус бүр нь цэвэр, идэвхгүй, холбогдсон сессгүй үед л бүрмөсөн устгана.",
"settings.workspaces.delete.blocked.active": "Идэвхтэй ажлын талбарыг устгах боломжгүй.",
"settings.workspaces.delete.blocked.linked":
"Холбогдсон сессүүд үлдэх боловч тэдгээрийн ажлын хавтас бүрмөсөн устгагдана.",
"settings.workspaces.default.title": "Өгөгдмөл орчин",
"settings.workspaces.default.description": "Шинэ сессүүд хаана эхлэхийг сонгоно уу",
"settings.workspaces.default.lastUsed": "Төсөл бүрд сүүлд ашигласан",
"settings.workspaces.default.local": "Дотоод хавтас",
"settings.workspaces.default.new": "Шинэ ажлын талбар",
"workspace.move.title": "Ажлын талбар руу шилжүүлэх",
"workspace.move.menu.title": "Сессийг шилжүүлэх газар",
"workspace.move.failed": "Сессийг шилжүүлж чадсангүй",
"workspace.lifecycle.creating": "Ажлын талбар үүсгэж байна",
"workspace.lifecycle.created": "Ажлын талбар үүслээ",
"workspace.lifecycle.starting": "Сессийг эхлүүлж байна",
"workspace.onboarding.title": "Сессүүдийг ажлын талбараар тусгаарлах",
"workspace.onboarding.description": "Тус бүр өөрийн checkout-той тул таны дотоод хадгалах газарт юу ч саад болохгүй",
"workspace.lifecycle.moving": "Ажлын талбар руу шилжүүлж байна",
"workspace.lifecycle.set": "Ажлын талбарыг тохирууллаа",
"session.summary.title": "Сессийн дэлгэрэнгүй",
"session.summary.noBranch": "Салаа байхгүй",
"session.summary.basedOn": "{{branch}} салаанд суурилсан",
"provider.disconnect.toast.noCredentials.description":
"{{provider}}-ийн устгах боломжтой нэвтрэх мэдээлэл олдсонгүй.",
"provider.disconnect.toast.failed.description": "{{provider}}-ийг салгаж чадсангүй.",
"session.timeline.notice.instructionsUpdated": "Заавар шинэчлэгдлээ: {{sources}}",
"session.timeline.notice.restart": "Дахин эхлүүлсний дараа үргэлжлүүлж байна",
}
+91
View File
@@ -286,6 +286,9 @@ export const dict = {
"provider.custom.error.duplicate": "Pendua",
"provider.disconnect.toast.disconnected.title": "{{provider}} telah diputuskan",
"provider.disconnect.toast.disconnected.description": "Model {{provider}} tidak lagi tersedia.",
"provider.disconnect.toast.noCredentials.description":
"Tiada kelayakan yang boleh dibuang ditemui untuk {{provider}}.",
"provider.disconnect.toast.failed.description": "Gagal memutuskan sambungan {{provider}}.",
"model.tag.free": "Percuma",
"model.tag.latest": "Terkini",
"model.provider.anthropic": "Anthropic",
@@ -607,6 +610,7 @@ export const dict = {
"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.migration.failed.title": "Migrasi data gagal",
"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",
@@ -692,6 +696,19 @@ export const dict = {
"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.background.moveTasks": "Alihkan {{tasks}} ke latar belakang",
"session.background.inBackground": "Menjalankan {{tasks}} di latar belakang",
"session.background.combine": "{{first}} dan {{second}}",
"session.background.shell.one": "{{count}} shell",
"session.background.shell.other": "{{count}} shell",
"session.background.subagent.one": "{{count}} subagen",
"session.background.subagent.other": "{{count}} subagen",
"command.session.background": "Alihkan ke latar belakang",
"session.timeline.notice.finished": "{{actor}} selesai",
"session.timeline.notice.failed": "{{actor}} gagal",
"session.timeline.notice.cancelled": "{{actor}} dibatalkan",
"session.timeline.notice.instructionsUpdated": "Arahan dikemas kini: {{sources}}",
"session.timeline.notice.restart": "Meneruskan selepas mula semula",
"session.error.serverConnection": "Tidak dapat berhubung dengan pelayan ini",
"session.review.filesChanged": "{{count}} Fail Diubah",
"session.review.change.one": "Perubahan",
@@ -896,10 +913,42 @@ export const dict = {
"settings.section.desktop": "Desktop",
"settings.section.server": "Pelayan",
"settings.tab.general": "Umum",
"settings.tab.preferences": "Keutamaan",
"settings.tab.shortcuts": "Pintasan",
"settings.tab.notifications": "Notifikasi",
"settings.tab.projects": "Projek",
"settings.tab.extensions": "Sambungan",
"settings.preferences.description": "Sesuaikan keutamaan, tema, dan tingkah laku lalai",
"settings.appearance.description": "Sesuaikan tema dan fon",
"settings.notifications.description": "Pilih masa menerima notifikasi dan mendengar bunyi",
"settings.shortcuts.description": "Sesuaikan pintasan untuk tindakan biasa",
"settings.servers.description": "Urus sambungan pelayan",
"settings.projects.title": "Projek",
"settings.projects.description": "Urus tetapan projek pada pelayan ini",
"settings.projects.empty": "Tiada projek ditemui",
"settings.projects.server.all": "Semua pelayan",
"settings.mcps.description": "Urus pelayan dan alat Model Context Protocol (MCP)",
"settings.extensions.description": "Urus sambungan yang tersedia pada pelayan ini",
"settings.extensions.tab.mcps": "MCP",
"settings.extensions.tab.skills": "Kemahiran",
"settings.extensions.availableAll": "Tersedia untuk semua projek",
"settings.extensions.manageConfig": "Urus dalam opencode.json",
"settings.extensions.addSkills": "Cara menambah kemahiran",
"settings.desktop.section.wsl": "WSL",
"settings.desktop.wsl.title": "Integrasi WSL",
"settings.desktop.wsl.description": "Jalankan pelayan OpenCode dalam WSL di Windows.",
"dialog.server.authenticate.title": "Pengesahan",
"project.settings.general.description": "Urus nama dan penampilan projek",
"project.settings.scripts": "Skrip",
"project.settings.scripts.description": "Konfigurasikan skrip untuk projek ini",
"project.settings.extensions.description": "Lihat sambungan yang tersedia untuk projek ini",
"project.settings.extensions.tab.lsps": "LSP",
"project.settings.extensions.added": "Ditambah pada projek ini",
"project.settings.extensions.shared": "Dikongsi dengan semua projek",
"project.settings.extensions.lsp.detected": "Pelayan bahasa yang dikesan",
"project.settings.extensions.lsp.description": "Dikesan automatik daripada jenis fail",
"project.settings.extensions.setupRequired": "Persediaan diperlukan",
"settings.general.section.general": "Umum",
"settings.general.section.appearance": "Penampilan",
"settings.general.section.advanced": "Lanjutan",
"settings.general.section.notifications": "Pemberitahuan sistem",
@@ -1107,6 +1156,48 @@ export const dict = {
"session.delete.confirm": 'Padam sesi "{{name}}"?',
"session.delete.button": "Padam sesi",
"workspace.new": "Ruang kerja baharu",
"common.viewAll": "Lihat semua",
"session.new.workspace.local.tooltip": "Gunakan checkout semasa",
"session.new.workspace.new.tooltip": "Cipta checkout berasingan",
"session.new.workspace.fromBranch": "daripada {{branch}}",
"session.new.workspace.trigger.tooltip": "Pilih tempat menjalankan sesi",
"session.new.workspace.search.placeholder": "Cari ruang kerja",
"settings.tab.workspaces": "Ruang kerja",
"settings.workspaces.filter.all": "Semua projek",
"settings.workspaces.empty": "Tiada ruang kerja",
"settings.workspaces.count.one": "{{count}} ruang kerja",
"settings.workspaces.count.other": "{{count}} ruang kerja",
"settings.workspaces.sessions.one": "{{count}} sesi dalam {{project}}",
"settings.workspaces.sessions.other": "{{count}} sesi dalam {{project}}",
"settings.workspaces.lastActiveSession": "Sesi aktif terakhir",
"settings.workspaces.deleteAll": "Padam semua ruang kerja",
"settings.workspaces.deleteAll.confirm": "Padam semua {{count}} ruang kerja?",
"settings.workspaces.delete.warning":
"Direktori ruang kerja dan cawangan akan dipadamkan secara kekal, termasuk sebarang perubahan belum digabungkan yang ditunjukkan di bawah.",
"settings.workspaces.deleteAll.warning":
"{{count}} ruang kerja yang dipilih dalam {{project}} akan dipadamkan secara kekal hanya jika setiap satu bersih, tidak aktif, dan tiada sesi terpaut.",
"settings.workspaces.delete.blocked.active": "Ruang kerja aktif tidak boleh dipadam.",
"settings.workspaces.delete.blocked.linked":
"Sesi terpaut akan kekal, tetapi direktori kerjanya akan dipadamkan secara kekal.",
"settings.workspaces.default.title": "Persekitaran lalai",
"settings.workspaces.default.description": "Pilih tempat sesi baharu bermula",
"settings.workspaces.default.lastUsed": "Terakhir digunakan bagi setiap projek",
"settings.workspaces.default.local": "Direktori setempat",
"settings.workspaces.default.new": "Ruang kerja baharu",
"workspace.move.title": "Alihkan ke ruang kerja",
"workspace.move.menu.title": "Alihkan sesi ke",
"workspace.move.failed": "Gagal mengalihkan sesi",
"workspace.lifecycle.creating": "Mencipta ruang kerja",
"workspace.lifecycle.created": "Ruang kerja dicipta",
"workspace.lifecycle.starting": "Memulakan sesi",
"workspace.onboarding.title": "Asingkan sesi dengan ruang kerja",
"workspace.onboarding.description":
"Setiap sesi mendapat checkout sendiri, jadi tiada apa-apa yang mengganggu repositori setempat anda",
"workspace.lifecycle.moving": "Mengalihkan ke ruang kerja",
"workspace.lifecycle.set": "Ruang kerja ditetapkan",
"session.summary.title": "Butiran sesi",
"session.summary.noBranch": "Tiada cawangan",
"session.summary.basedOn": "Berdasarkan {{branch}}",
"workspace.type.local": "setempat",
"workspace.type.sandbox": "kotak pasir",
"workspace.create.failed.title": "Gagal mencipta ruang kerja",
+90
View File
@@ -289,6 +289,8 @@ export const dict = {
"provider.custom.error.duplicate": "ပွားပါ။",
"provider.disconnect.toast.disconnected.title": "{{provider}} ချိတ်ဆက်မှု ပြတ်တောက်သွားသည်။",
"provider.disconnect.toast.disconnected.description": "{{provider}} မော်ဒယ်များကို မရနိုင်တော့ပါ။",
"provider.disconnect.toast.noCredentials.description": "{{provider}} အတွက် ဖယ်ရှားနိုင်သော အထောက်အထားများ မတွေ့ပါ။",
"provider.disconnect.toast.failed.description": "{{provider}} ကို ချိတ်ဆက်မှုဖြုတ်ရန် မအောင်မြင်ပါ။",
"model.tag.free": "အခမဲ့",
"model.tag.latest": "နောက်ဆုံးထွက်",
"model.provider.anthropic": "Anthropic",
@@ -612,6 +614,7 @@ export const dict = {
"toast.session.export.failed.description": "စက်ရှင်ကို ထုတ်ယူနေစဉ် အမှားအယွင်းတစ်ခု ဖြစ်ပွားခဲ့သည်။",
"toast.session.listFailed.title": "{{project}} အတွက် ဆက်ရှင်များကို တင်ရန် မအောင်မြင်ပါ။",
"toast.project.reloadFailed.title": "{{project}} ကို ပြန်လည်စတင်ရန် မအောင်မြင်ပါ။",
"toast.migration.failed.title": "ဒေတာ ရွှေ့ပြောင်းမှု မအောင်မြင်ပါ",
"toast.update.title": "အပ်ဒိတ် ရနိုင်ပါသည်။",
"toast.update.description": "OpenCode ({{version}}) ၏ ဗားရှင်းအသစ်ကို ယခု ထည့်သွင်းနိုင်ပါပြီ။",
"toast.update.action.installRestart": "ထည့်သွင်းပြီး ပြန်လည်စတင်ပါ။",
@@ -700,6 +703,19 @@ export const dict = {
"session.error.notFound": "ဤစက်ရှင်ကို ရှာမတွေ့ပါ။",
"session.error.notFound.description": "ဤတဘ်သည် ဤဆာဗာတွင်မရှိတော့သော စက်ရှင်တစ်ခုကို ညွှန်ပြသည်။",
"session.error.notFound.closeTab": "တဘ်ကို ပိတ်ပါ။",
"session.background.moveTasks": "{{tasks}} ကို နောက်ခံသို့ ရွှေ့ပါ",
"session.background.inBackground": "{{tasks}} ကို နောက်ခံတွင် လုပ်ဆောင်နေသည်",
"session.background.combine": "{{first}} နှင့် {{second}}",
"session.background.shell.one": "shell {{count}} ခု",
"session.background.shell.other": "shell {{count}} ခု",
"session.background.subagent.one": "အေးဂျင့်ခွဲ {{count}} ခု",
"session.background.subagent.other": "အေးဂျင့်ခွဲ {{count}} ခု",
"command.session.background": "နောက်ခံသို့ ရွှေ့ပါ",
"session.timeline.notice.finished": "{{actor}} ပြီးသွားပါပြီ",
"session.timeline.notice.failed": "{{actor}} မအောင်မြင်ပါ",
"session.timeline.notice.cancelled": "{{actor}} ကို ပယ်ဖျက်လိုက်ပါပြီ",
"session.timeline.notice.instructionsUpdated": "ညွှန်ကြားချက်များကို အပ်ဒိတ်လုပ်ထားသည်- {{sources}}",
"session.timeline.notice.restart": "ပြန်လည်စတင်ပြီးနောက် ဆက်လုပ်နေသည်",
"session.error.serverConnection": "ဤဆာဗာသို့ ချိတ်ဆက်၍မရပါ။",
"session.review.filesChanged": "ဖိုင်များကို {{count}} ပြောင်းထားသည်။",
"session.review.change.one": "ပြောင်းလဲခြင်း။",
@@ -908,11 +924,43 @@ export const dict = {
"settings.section.desktop": "ဒက်စ်တော့",
"settings.section.server": "ဆာဗာ",
"settings.tab.general": "အထွေထွေ",
"settings.tab.preferences": "နှစ်သက်ရာများ",
"settings.tab.shortcuts": "ဖြတ်လမ်းများ",
"settings.tab.notifications": "အကြောင်းကြားချက်များ",
"settings.tab.projects": "ပရောဂျက်များ",
"settings.tab.extensions": "တိုးချဲ့မှုများ",
"settings.preferences.description": "နှစ်သက်ရာများ၊ အပြင်အဆင်နှင့် မူရင်းအပြုအမူကို စိတ်ကြိုက်ပြင်ဆင်ပါ",
"settings.appearance.description": "အပြင်အဆင်နှင့် ဖောင့်များကို စိတ်ကြိုက်ပြင်ဆင်ပါ",
"settings.notifications.description": "အကြောင်းကြားချက်များ လက်ခံချိန်နှင့် အသံကြားရမည့်ချိန်ကို ရွေးပါ",
"settings.shortcuts.description": "အသုံးများသော လုပ်ဆောင်ချက်များအတွက် ဖြတ်လမ်းများကို စိတ်ကြိုက်ပြင်ဆင်ပါ",
"settings.servers.description": "ဆာဗာချိတ်ဆက်မှုများကို စီမံပါ",
"settings.projects.title": "ပရောဂျက်များ",
"settings.projects.description": "ဤဆာဗာပေါ်ရှိ ပရောဂျက်ဆက်တင်များကို စီမံပါ",
"settings.projects.empty": "ပရောဂျက်များ မတွေ့ပါ",
"settings.projects.server.all": "ဆာဗာအားလုံး",
"settings.mcps.description": "Model Context Protocol (MCP) ဆာဗာများနှင့် ကိရိယာများကို စီမံပါ",
"settings.extensions.description": "ဤဆာဗာတွင် ရနိုင်သော တိုးချဲ့မှုများကို စီမံပါ",
"settings.extensions.tab.mcps": "MCPs",
"settings.extensions.tab.skills": "ကျွမ်းကျင်မှုများ",
"settings.extensions.availableAll": "ပရောဂျက်အားလုံးတွင် အသုံးပြုနိုင်သည်",
"settings.extensions.manageConfig": "opencode.json တွင် စီမံပါ",
"settings.extensions.addSkills": "ကျွမ်းကျင်မှုများ ထည့်နည်း",
"settings.desktop.section.wsl": "WSL",
"settings.desktop.wsl.title": "WSL ပေါင်းစည်းမှု",
"settings.desktop.wsl.description": "Windows တွင် WSL အတွင်းရှိ OpenCode ဆာဗာကို ဖွင့်ပါ။",
"dialog.server.authenticate.title": "စစ်မှန်ကြောင်း အတည်ပြုပါ",
"project.settings.general.description": "ပရောဂျက်အမည်နှင့် အသွင်အပြင်ကို စီမံပါ",
"project.settings.scripts": "Scripts",
"project.settings.scripts.description": "ဤပရောဂျက်အတွက် scripts များကို ပြင်ဆင်သတ်မှတ်ပါ",
"project.settings.extensions.description": "ဤပရောဂျက်အတွက် ရနိုင်သော တိုးချဲ့မှုများကို ကြည့်ပါ",
"project.settings.extensions.tab.lsps": "LSPs",
"project.settings.extensions.added": "ဤပရောဂျက်သို့ ထည့်ထားသည်",
"project.settings.extensions.shared": "ပရောဂျက်အားလုံးနှင့် မျှဝေထားသည်",
"project.settings.extensions.lsp.detected": "တွေ့ရှိထားသော ဘာသာစကားဆာဗာများ",
"project.settings.extensions.lsp.description": "ဖိုင်အမျိုးအစားများမှ အလိုအလျောက်တွေ့ရှိထားသည်",
"project.settings.extensions.setupRequired": "စနစ်ထည့်သွင်းရန် လိုအပ်သည်",
"settings.general.section.appearance": "အသွင်အပြင်",
"settings.general.section.general": "အထွေထွေ",
"settings.general.section.advanced": "အဆင့်မြင့်",
"settings.general.section.notifications": "စနစ်အကြောင်းကြားချက်များ",
"settings.general.section.updates": "အပ်ဒိတ်များ",
@@ -1125,6 +1173,48 @@ export const dict = {
"session.delete.confirm": 'စက်ရှင် "{{name}}" ကို ဖျက်မလား။',
"session.delete.button": "စက်ရှင်ကို ဖျက်ပါ။",
"workspace.new": "အလုပ်နေရာအသစ်",
"common.viewAll": "အားလုံးကြည့်ရန်",
"session.new.workspace.local.tooltip": "လက်ရှိ checkout ကို သုံးပါ",
"session.new.workspace.new.tooltip": "သီးခြား checkout ဖန်တီးပါ",
"session.new.workspace.fromBranch": "{{branch}} မှ",
"session.new.workspace.trigger.tooltip": "စက်ရှင်ကို မည်သည့်နေရာတွင် လုပ်ဆောင်မည်ကို ရွေးပါ",
"session.new.workspace.search.placeholder": "အလုပ်နေရာများကို ရှာဖွေပါ",
"settings.tab.workspaces": "အလုပ်နေရာများ",
"settings.workspaces.filter.all": "ပရောဂျက်အားလုံး",
"settings.workspaces.empty": "အလုပ်နေရာ မရှိပါ",
"settings.workspaces.count.one": "အလုပ်နေရာ {{count}} ခု",
"settings.workspaces.count.other": "အလုပ်နေရာ {{count}} ခု",
"settings.workspaces.sessions.one": "{{project}} တွင် စက်ရှင် {{count}} ခု",
"settings.workspaces.sessions.other": "{{project}} တွင် စက်ရှင် {{count}} ခု",
"settings.workspaces.lastActiveSession": "နောက်ဆုံးအသုံးပြုခဲ့သော စက်ရှင်",
"settings.workspaces.deleteAll": "အလုပ်နေရာအားလုံးကို ဖျက်ပါ",
"settings.workspaces.deleteAll.confirm": "အလုပ်နေရာ {{count}} ခုအားလုံးကို ဖျက်မလား။",
"settings.workspaces.delete.warning":
"အလုပ်နေရာလမ်းညွှန်နှင့် ဌာနခွဲကို အပြီးအပိုင် ဖယ်ရှားပါမည်၊ အောက်တွင် ပြထားသော ပေါင်းမထားသေးသည့် အပြောင်းအလဲများပါဝင်သည်။",
"settings.workspaces.deleteAll.warning":
"{{project}} ရှိ ရွေးချယ်ထားသော အလုပ်နေရာ {{count}} ခုကို တစ်ခုချင်းစီ သန့်ရှင်းနေ၊ မလှုပ်ရှားနေ၊ ချိတ်ဆက်ထားသော စက်ရှင်မရှိနေပါကသာ အပြီးအပိုင် ဖယ်ရှားပါမည်။",
"settings.workspaces.delete.blocked.active": "လက်ရှိအသုံးပြုနေသော အလုပ်နေရာကို ဖျက်၍မရပါ။",
"settings.workspaces.delete.blocked.linked":
"ချိတ်ဆက်ထားသော စက်ရှင်များ ကျန်ရှိပါမည်၊ သို့သော် ၎င်းတို့၏ အလုပ်လုပ်လမ်းညွှန်ကို အပြီးအပိုင် ဖယ်ရှားပါမည်။",
"settings.workspaces.default.title": "မူရင်း ပတ်ဝန်းကျင်",
"settings.workspaces.default.description": "စက်ရှင်အသစ်များ စတင်မည့်နေရာကို ရွေးပါ",
"settings.workspaces.default.lastUsed": "ပရောဂျက်အလိုက် နောက်ဆုံးအသုံးပြုထားသည်",
"settings.workspaces.default.local": "ပြည်တွင်းလမ်းညွှန်",
"settings.workspaces.default.new": "အလုပ်နေရာအသစ်",
"workspace.move.title": "အလုပ်နေရာသို့ ရွှေ့ပါ",
"workspace.move.menu.title": "စက်ရှင်ကို ရွှေ့ရန်",
"workspace.move.failed": "စက်ရှင်ကို ရွှေ့ရန် မအောင်မြင်ပါ",
"workspace.lifecycle.creating": "အလုပ်နေရာ ဖန်တီးနေသည်",
"workspace.lifecycle.created": "အလုပ်နေရာ ဖန်တီးပြီးပါပြီ",
"workspace.lifecycle.starting": "စက်ရှင် စတင်နေသည်",
"workspace.onboarding.title": "စက်ရှင်များကို အလုပ်နေရာများဖြင့် သီးခြားထားပါ",
"workspace.onboarding.description":
"တစ်ခုစီတွင် ကိုယ်ပိုင် checkout ရှိသောကြောင့် သင့် local repository ကို မည်သည့်အရာမှ မနှောင့်ယှက်ပါ",
"workspace.lifecycle.moving": "အလုပ်နေရာသို့ ရွှေ့နေသည်",
"workspace.lifecycle.set": "အလုပ်နေရာ သတ်မှတ်ထားသည်",
"session.summary.title": "စက်ရှင် အသေးစိတ်",
"session.summary.noBranch": "ဌာနခွဲ မရှိပါ",
"session.summary.basedOn": "{{branch}} ကို အခြေခံထားသည်",
"workspace.type.local": "ပြည်တွင်း",
"workspace.type.sandbox": "သဲပုံး",
"workspace.create.failed.title": "အလုပ်ခွင်ကို ဖန်တီး၍မရပါ။",
+89
View File
@@ -1132,4 +1132,93 @@ export const dict: Record<string, string> = {
"workspace.reset.archived.many": "{{count}} सत्रहरू अभिलेख गरिनेछ।",
"workspace.reset.note": "यसले पूर्वनिर्धारित शाखासँग मिलाउन कार्यस्थान रिसेट गर्नेछ।",
"dialog.usageExceeded.dontShowAgain": "फेरि नदेखाउनुहोस्",
"toast.migration.failed.title": "डेटा माइग्रेसन असफल भयो",
"session.background.moveTasks": "{{tasks}} लाई पृष्ठभूमिमा सार्नुहोस्",
"session.background.inBackground": "{{tasks}} पृष्ठभूमिमा चल्दै छन्",
"session.background.combine": "{{first}} र {{second}}",
"session.background.shell.one": "{{count}} शेल",
"session.background.shell.other": "{{count}} शेलहरू",
"session.background.subagent.one": "{{count}} उप-एजेन्ट",
"session.background.subagent.other": "{{count}} उप-एजेन्टहरू",
"command.session.background": "पृष्ठभूमिमा सार्नुहोस्",
"session.timeline.notice.finished": "{{actor}} सकियो",
"session.timeline.notice.failed": "{{actor}} असफल भयो",
"session.timeline.notice.cancelled": "{{actor}} रद्द भयो",
"settings.tab.preferences": "प्राथमिकताहरू",
"settings.tab.notifications": "सूचनाहरू",
"settings.tab.projects": "परियोजनाहरू",
"settings.tab.extensions": "विस्तारहरू",
"settings.preferences.description": "प्राथमिकता, विषयवस्तु र पूर्वनिर्धारित व्यवहार अनुकूलित गर्नुहोस्",
"settings.appearance.description": "विषयवस्तु र फन्टहरू अनुकूलित गर्नुहोस्",
"settings.notifications.description": "सूचना र ध्वनि कहिले प्राप्त गर्ने छान्नुहोस्",
"settings.shortcuts.description": "सामान्य कार्यका सर्टकटहरू अनुकूलित गर्नुहोस्",
"settings.servers.description": "सर्भर जडानहरू व्यवस्थापन गर्नुहोस्",
"settings.projects.title": "परियोजनाहरू",
"settings.projects.description": "यस सर्भरमा परियोजना सेटिङहरू व्यवस्थापन गर्नुहोस्",
"settings.projects.empty": "कुनै परियोजना फेला परेन",
"settings.projects.server.all": "सबै सर्भरहरू",
"settings.mcps.description": "Model Context Protocol (MCP) सर्भर र उपकरणहरू व्यवस्थापन गर्नुहोस्",
"settings.extensions.description": "यस सर्भरमा उपलब्ध विस्तारहरू व्यवस्थापन गर्नुहोस्",
"settings.extensions.tab.mcps": "MCPs",
"settings.extensions.tab.skills": "सीपहरू",
"settings.extensions.availableAll": "सबै परियोजनामा उपलब्ध",
"settings.extensions.manageConfig": "opencode.json मा व्यवस्थापन गर्नुहोस्",
"settings.extensions.addSkills": "सीपहरू कसरी थप्ने",
"dialog.server.authenticate.title": "प्रमाणीकरण गर्नुहोस्",
"project.settings.general.description": "परियोजनाको नाम र रूप व्यवस्थापन गर्नुहोस्",
"project.settings.scripts": "स्क्रिप्टहरू",
"project.settings.scripts.description": "यस परियोजनाका स्क्रिप्टहरू कन्फिगर गर्नुहोस्",
"project.settings.extensions.description": "यस परियोजनामा उपलब्ध विस्तारहरू हेर्नुहोस्",
"project.settings.extensions.tab.lsps": "LSPs",
"project.settings.extensions.added": "यस परियोजनामा थपिएको",
"project.settings.extensions.shared": "सबै परियोजनासँग साझा गरिएको",
"project.settings.extensions.lsp.detected": "पत्ता लागेका भाषा सर्भरहरू",
"project.settings.extensions.lsp.description": "फाइल प्रकारबाट स्वतः पत्ता लागेको",
"project.settings.extensions.setupRequired": "सेटअप आवश्यक छ",
"settings.general.section.general": "सामान्य",
"common.viewAll": "सबै हेर्नुहोस्",
"session.new.workspace.local.tooltip": "हालको चेकआउट प्रयोग गर्नुहोस्",
"session.new.workspace.new.tooltip": "अलग चेकआउट सिर्जना गर्नुहोस्",
"session.new.workspace.fromBranch": "{{branch}} बाट",
"session.new.workspace.trigger.tooltip": "सत्र कहाँ चलाउने चयन गर्नुहोस्",
"session.new.workspace.search.placeholder": "कार्यस्थानहरू खोज्नुहोस्",
"settings.tab.workspaces": "कार्यस्थानहरू",
"settings.workspaces.filter.all": "सबै परियोजनाहरू",
"settings.workspaces.empty": "कुनै कार्यस्थान छैन",
"settings.workspaces.count.one": "{{count}} कार्यस्थान",
"settings.workspaces.count.other": "{{count}} कार्यस्थानहरू",
"settings.workspaces.sessions.one": "{{project}} मा {{count}} सत्र",
"settings.workspaces.sessions.other": "{{project}} मा {{count}} सत्रहरू",
"settings.workspaces.lastActiveSession": "अन्तिम सक्रिय सत्र",
"settings.workspaces.deleteAll": "सबै कार्यस्थान मेटाउनुहोस्",
"settings.workspaces.deleteAll.confirm": "सबै {{count}} कार्यस्थान मेटाउने हो?",
"settings.workspaces.delete.warning":
"तल देखाइएका मर्ज नगरिएका परिवर्तनसहित कार्यस्थान निर्देशिका र शाखा स्थायी रूपमा हटाइनेछ।",
"settings.workspaces.deleteAll.warning":
"{{project}} का चयन गरिएका {{count}} कार्यस्थान प्रत्येक सफा, निष्क्रिय र कुनै सत्रसँग नजोडिएको भए मात्र स्थायी रूपमा हटाइनेछन्।",
"settings.workspaces.delete.blocked.active": "सक्रिय कार्यस्थान मेटाउन सकिँदैन।",
"settings.workspaces.delete.blocked.linked":
"जोडिएका सत्रहरू रहनेछन्, तर तिनको कार्य निर्देशिका स्थायी रूपमा हटाइनेछ।",
"settings.workspaces.default.title": "पूर्वनिर्धारित वातावरण",
"settings.workspaces.default.description": "नयाँ सत्र कहाँ सुरु हुने छान्नुहोस्",
"settings.workspaces.default.lastUsed": "प्रति परियोजना पछिल्लो प्रयोग",
"settings.workspaces.default.local": "स्थानीय निर्देशिका",
"settings.workspaces.default.new": "नयाँ कार्यस्थान",
"workspace.move.title": "कार्यस्थानमा सार्नुहोस्",
"workspace.move.menu.title": "सत्र यहाँ सार्नुहोस्",
"workspace.move.failed": "सत्र सार्न असफल भयो",
"workspace.lifecycle.creating": "कार्यस्थान सिर्जना गर्दै",
"workspace.lifecycle.created": "कार्यस्थान सिर्जना भयो",
"workspace.lifecycle.starting": "सत्र सुरु गर्दै",
"workspace.onboarding.title": "कार्यस्थानद्वारा सत्रहरू अलग राख्नुहोस्",
"workspace.onboarding.description": "हरेकले आफ्नै चेकआउट पाउँछ, त्यसैले स्थानीय भण्डारमा कुनै हस्तक्षेप हुँदैन",
"workspace.lifecycle.moving": "कार्यस्थानमा सार्दै",
"workspace.lifecycle.set": "कार्यस्थान सेट भयो",
"session.summary.title": "सत्र विवरण",
"session.summary.noBranch": "कुनै शाखा छैन",
"session.summary.basedOn": "{{branch}} मा आधारित",
"provider.disconnect.toast.noCredentials.description": "{{provider}} का लागि हटाउन मिल्ने कुनै प्रमाण फेला परेन।",
"provider.disconnect.toast.failed.description": "{{provider}} विच्छेद गर्न असफल भयो।",
"session.timeline.notice.instructionsUpdated": "निर्देशनहरू अद्यावधिक भए: {{sources}}",
"session.timeline.notice.restart": "पुनः सुरु भएपछि जारी छ",
}
+91
View File
@@ -1146,4 +1146,95 @@ export const dict = {
"workspace.reset.archived.many": "{{count}} sessies worden gearchiveerd.",
"workspace.reset.note":
"Hierdoor wordt de werkruimte opnieuw ingesteld zodat deze overeenkomt met de standaardbranch.",
"provider.disconnect.toast.noCredentials.description": "Geen verwijderbare inloggegevens gevonden voor {{provider}}.",
"provider.disconnect.toast.failed.description": "Kan de verbinding met {{provider}} niet verbreken.",
"toast.migration.failed.title": "Gegevensmigratie is mislukt",
"session.background.moveTasks": "Verplaats {{tasks}} naar de achtergrond",
"session.background.inBackground": "{{tasks}} wordt op de achtergrond uitgevoerd",
"session.background.combine": "{{first}} en {{second}}",
"session.background.shell.one": "{{count}} shell",
"session.background.shell.other": "{{count}} shells",
"session.background.subagent.one": "{{count}}-subagent",
"session.background.subagent.other": "{{count}}-subagenten",
"command.session.background": "Verplaats naar de achtergrond",
"session.timeline.notice.finished": "{{actor}} voltooid",
"session.timeline.notice.failed": "{{actor}} is mislukt",
"session.timeline.notice.cancelled": "{{actor}} geannuleerd",
"session.timeline.notice.instructionsUpdated": "Instructies bijgewerkt: {{sources}}",
"session.timeline.notice.restart": "Doorgaan na opnieuw opstarten",
"settings.tab.preferences": "Voorkeuren",
"settings.tab.notifications": "Meldingen",
"settings.tab.projects": "Projecten",
"settings.tab.extensions": "Extensies",
"settings.preferences.description": "Pas voorkeuren, thema en standaardgedrag aan",
"settings.appearance.description": "Pas het thema en de lettertypen aan",
"settings.notifications.description": "Kies wanneer u meldingen wilt ontvangen en geluiden wilt horen",
"settings.shortcuts.description": "Pas snelkoppelingen aan voor veelvoorkomende acties",
"settings.servers.description": "Beheer serververbindingen",
"settings.projects.title": "Projecten",
"settings.projects.description": "Beheer projectinstellingen op deze server",
"settings.projects.empty": "Geen projecten gevonden",
"settings.projects.server.all": "Alle servers",
"settings.mcps.description": "Beheer Model Context Protocol (MCP)-servers en -tools",
"settings.extensions.description": "Beheer extensies die beschikbaar zijn op deze server",
"settings.extensions.tab.mcps": "MCP's",
"settings.extensions.tab.skills": "Vaardigheden",
"settings.extensions.availableAll": "Beschikbaar voor alle projecten",
"settings.extensions.manageConfig": "Beheer in opencode.json",
"settings.extensions.addSkills": "Hoe vaardigheden toe te voegen",
"dialog.server.authenticate.title": "Authenticeren",
"project.settings.general.description": "Beheer de projectnaam en het uiterlijk",
"project.settings.scripts": "Scripts",
"project.settings.scripts.description": "Configureer scripts voor dit project",
"project.settings.extensions.description": "Bekijk de extensies die beschikbaar zijn voor dit project",
"project.settings.extensions.tab.lsps": "LSP's",
"project.settings.extensions.added": "Toegevoegd aan dit project",
"project.settings.extensions.shared": "Gedeeld met alle projecten",
"project.settings.extensions.lsp.detected": "Gedetecteerde taalservers",
"project.settings.extensions.lsp.description": "Automatisch gedetecteerd door bestandstypen",
"project.settings.extensions.setupRequired": "Instelling vereist",
"settings.general.section.general": "Algemeen",
"common.viewAll": "Bekijk alles",
"session.new.workspace.local.tooltip": "Huidige checkout gebruiken",
"session.new.workspace.new.tooltip": "Geïsoleerde checkout maken",
"session.new.workspace.fromBranch": "van {{branch}}",
"session.new.workspace.trigger.tooltip": "Selecteer waar u de sessie wilt uitvoeren",
"session.new.workspace.search.placeholder": "Werkruimtes zoeken",
"settings.tab.workspaces": "Werkruimtes",
"settings.workspaces.filter.all": "Alle projecten",
"settings.workspaces.empty": "Geen werkruimtes",
"settings.workspaces.count.one": "{{count}}-werkruimte",
"settings.workspaces.count.other": "{{count}}-werkruimtes",
"settings.workspaces.sessions.one": "{{count}}-sessie in {{project}}",
"settings.workspaces.sessions.other": "{{count}}-sessies in {{project}}",
"settings.workspaces.lastActiveSession": "Laatste actieve sessie",
"settings.workspaces.deleteAll": "Verwijder alle werkruimten",
"settings.workspaces.deleteAll.confirm": "Alle {{count}}-werkruimten verwijderen?",
"settings.workspaces.delete.warning":
"De map en vertakking van de werkruimte worden permanent verwijderd, inclusief eventuele niet-samengevoegde wijzigingen die hieronder worden weergegeven.",
"settings.workspaces.deleteAll.warning":
"De door {{count}} geselecteerde werkruimten in {{project}} worden alleen permanent verwijderd als ze schoon en inactief zijn en geen gekoppelde sessies hebben.",
"settings.workspaces.delete.blocked.active": "De actieve werkruimte kan niet worden verwijderd.",
"settings.workspaces.delete.blocked.linked":
"Gekoppelde sessies blijven bestaan, maar hun werkmap wordt permanent verwijderd.",
"settings.workspaces.default.title": "Standaardomgeving",
"settings.workspaces.default.description": "Kies waar nieuwe sessies beginnen",
"settings.workspaces.default.lastUsed": "Laatst gebruikt per project",
"settings.workspaces.default.local": "Lokale map",
"settings.workspaces.default.new": "Nieuwe werkruimte",
"workspace.move.title": "Verplaats naar werkruimte",
"workspace.move.menu.title": "Sessie verplaatsen naar",
"workspace.move.failed": "Kan sessie niet verplaatsen",
"workspace.lifecycle.creating": "Werkruimte creëren",
"workspace.lifecycle.created": "Werkruimte gecreëerd",
"workspace.lifecycle.starting": "Startsessie",
"workspace.onboarding.title": "Isoleer sessies met werkruimten",
"workspace.onboarding.description":
"Elke sessie krijgt een eigen checkout, zodat niets de lokale repository verstoort",
"workspace.lifecycle.moving": "Verplaatsen naar werkruimte",
"workspace.lifecycle.set": "Werkruimte ingesteld",
"session.summary.title": "Sessiedetails",
"session.summary.noBranch": "Geen branch",
"session.summary.basedOn": "Gebaseerd op {{branch}}",
}
+90
View File
@@ -1241,4 +1241,94 @@ export const dict = {
"settings.general.row.pinchZoom.description": "Tillat knipebevegelser på styreflaten og Ctrl-rulling for å zoome",
"settings.updates.action.downloading": "Laster ned...",
"settings.updates.action.installing": "Installerer...",
"provider.disconnect.toast.noCredentials.description": "Fant ingen flyttbar legitimasjon for {{provider}}.",
"provider.disconnect.toast.failed.description": "Kunne ikke koble fra {{provider}}.",
"toast.migration.failed.title": "Datamigrering mislyktes",
"session.background.moveTasks": "Flytt {{tasks}} til bakgrunnen",
"session.background.inBackground": "Kjører {{tasks}} i bakgrunnen",
"session.background.combine": "{{first}} og {{second}}",
"session.background.shell.one": "{{count}} shell",
"session.background.shell.other": "{{count}} sheller",
"session.background.subagent.one": "{{count}} subagent",
"session.background.subagent.other": "{{count}} subagenter",
"command.session.background": "Flytt til bakgrunnen",
"session.timeline.notice.finished": "{{actor}} ferdig",
"session.timeline.notice.failed": "{{actor}} mislyktes",
"session.timeline.notice.cancelled": "{{actor}} kansellert",
"session.timeline.notice.instructionsUpdated": "Instruksjoner oppdatert: {{sources}}",
"session.timeline.notice.restart": "Fortsetter etter omstart",
"settings.tab.preferences": "Preferanser",
"settings.tab.notifications": "Varsler",
"settings.tab.projects": "Prosjekter",
"settings.tab.extensions": "Utvidelser",
"settings.preferences.description": "Tilpass preferanser og tema og standard oppførsel",
"settings.appearance.description": "Tilpass tema og fonter",
"settings.notifications.description": "Velg når du vil motta varsler og høre lyder",
"settings.shortcuts.description": "Tilpass snarveier for vanlige handlinger",
"settings.servers.description": "Administrer servertilkoblinger",
"settings.projects.title": "Prosjekter",
"settings.projects.description": "Administrer prosjektinnstillinger på denne serveren",
"settings.projects.empty": "Ingen prosjekter funnet",
"settings.projects.server.all": "Alle servere",
"settings.mcps.description": "Administrer Model Context Protocol (MCP) servere og verktøy",
"settings.extensions.description": "Administrer utvidelser som er tilgjengelige på denne serveren",
"settings.extensions.tab.mcps": "MCP-er",
"settings.extensions.tab.skills": "Ferdigheter",
"settings.extensions.availableAll": "Tilgjengelig for alle prosjekter",
"settings.extensions.manageConfig": "Administrer i opencode.json",
"settings.extensions.addSkills": "Hvordan legge til ferdigheter",
"dialog.server.authenticate.title": "Autentiser",
"project.settings.general.description": "Administrer prosjektnavn og utseende",
"project.settings.scripts": "Skript",
"project.settings.scripts.description": "Konfigurer skript for dette prosjektet",
"project.settings.extensions.description": "Se utvidelser som er tilgjengelige for dette prosjektet",
"project.settings.extensions.tab.lsps": "LSP-er",
"project.settings.extensions.added": "Lagt til dette prosjektet",
"project.settings.extensions.shared": "Deles med alle prosjekter",
"project.settings.extensions.lsp.detected": "Oppdaget språkservere",
"project.settings.extensions.lsp.description": "Automatisk oppdaget fra filtyper",
"project.settings.extensions.setupRequired": "Oppsett kreves",
"settings.general.section.general": "Generelt",
"common.viewAll": "Se alle",
"session.new.workspace.local.tooltip": "Bruk gjeldende checkout",
"session.new.workspace.new.tooltip": "Opprett isolert checkout",
"session.new.workspace.fromBranch": "fra {{branch}}",
"session.new.workspace.trigger.tooltip": "Velg hvor du vil kjøre økten",
"session.new.workspace.search.placeholder": "Søk i arbeidsområder",
"settings.tab.workspaces": "Arbeidsområder",
"settings.workspaces.filter.all": "Alle prosjekter",
"settings.workspaces.empty": "Ingen arbeidsplasser",
"settings.workspaces.count.one": "{{count}} arbeidsområde",
"settings.workspaces.count.other": "{{count}} arbeidsområder",
"settings.workspaces.sessions.one": "{{count}} økt i {{project}}",
"settings.workspaces.sessions.other": "{{count}} økter i {{project}}",
"settings.workspaces.lastActiveSession": "Siste aktive økt",
"settings.workspaces.deleteAll": "Slett alle arbeidsområder",
"settings.workspaces.deleteAll.confirm": "Vil du slette alle {{count}} arbeidsområder?",
"settings.workspaces.delete.warning":
"Arbeidsområdekatalogen og grenen vil bli permanent fjernet, inkludert eventuelle usammenslåtte endringer vist nedenfor.",
"settings.workspaces.deleteAll.warning":
"De {{count}} valgte arbeidsområdene i {{project}} vil bli permanent fjernet bare hvis hver av dem er rene, inaktive og ikke har noen tilknyttede økter.",
"settings.workspaces.delete.blocked.active": "Det aktive arbeidsområdet kan ikke slettes.",
"settings.workspaces.delete.blocked.linked":
"Koblede økter forblir, men arbeidskatalogen deres vil bli permanent fjernet.",
"settings.workspaces.default.title": "Standard miljø",
"settings.workspaces.default.description": "Velg hvor nye økter starter",
"settings.workspaces.default.lastUsed": "Sist brukt per prosjekt",
"settings.workspaces.default.local": "Lokal katalog",
"settings.workspaces.default.new": "Ny arbeidsplass",
"workspace.move.title": "Flytt til arbeidsområdet",
"workspace.move.menu.title": "Flytt økt til",
"workspace.move.failed": "Kunne ikke flytte økten",
"workspace.lifecycle.creating": "Skaper arbeidsområde",
"workspace.lifecycle.created": "Arbeidsområde opprettet",
"workspace.lifecycle.starting": "Starter økten",
"workspace.onboarding.title": "Isoler økter med arbeidsområder",
"workspace.onboarding.description": "Hver får sin egen checkout, slik at ingenting forstyrrer det lokale depotet",
"workspace.lifecycle.moving": "Flytter til arbeidsområde",
"workspace.lifecycle.set": "Arbeidsområde angitt",
"session.summary.title": "Sesjonsdetaljer",
"session.summary.noBranch": "Ingen gren",
"session.summary.basedOn": "Basert på {{branch}}",
} satisfies Partial<Record<Keys, string>>
+91
View File
@@ -1136,4 +1136,95 @@ export const dict = {
"workspace.reset.archived.one": "1 سیشن آرکائیو کیتا جائے گا۔",
"workspace.reset.archived.many": "{{count}} سیشن آرکائیو کیتے جان گے۔",
"workspace.reset.note": "ایہ ورک اسپیس نو ڈیفالٹ برانچ نال ملاون لئی ری سیٹ کرے گا۔",
"provider.disconnect.toast.noCredentials.description":
"\u2068{{provider}}\u2069 لئی ہٹاؤن جوگ کوئی اسناد نئیں لبھیاں۔",
"provider.disconnect.toast.failed.description": "\u2068{{provider}}\u2069 نالوں کنکشن توڑن چ ناکامی ہوئی۔",
"toast.migration.failed.title": "ڈیٹا منتقل نئیں ہو سکیا",
"session.background.moveTasks": "\u2068{{tasks}}\u2069 نوں پس منظر چ لے جاؤ",
"session.background.inBackground": "\u2068{{tasks}}\u2069 پس منظر چ چل رہے نیں",
"session.background.combine": "\u2068{{first}}\u2069 تے \u2068{{second}}\u2069",
"session.background.shell.one": "{{count}} شیل",
"session.background.shell.other": "{{count}} شیل",
"session.background.subagent.one": "{{count}} ذیلی ایجنٹ",
"session.background.subagent.other": "{{count}} ذیلی ایجنٹ",
"command.session.background": "پس منظر چ لے جاؤ",
"session.timeline.notice.finished": "\u2068{{actor}}\u2069 مکمل ہو گیا",
"session.timeline.notice.failed": "\u2068{{actor}}\u2069 ناکام ہو گیا",
"session.timeline.notice.cancelled": "\u2068{{actor}}\u2069 منسوخ ہو گیا",
"session.timeline.notice.instructionsUpdated": "ہدایتاں اپ ڈیٹ ہو گئیاں: \u2068{{sources}}\u2069",
"session.timeline.notice.restart": "دوبارہ شروع ہون پچھوں جاری اے",
"settings.tab.preferences": "ترجیحاں",
"settings.tab.notifications": "نوٹیفکیشن",
"settings.tab.projects": "پروجیکٹ",
"settings.tab.extensions": "ایکسٹینشن",
"settings.preferences.description": "ترجیحاں، تھیم تے ڈیفالٹ رویہ اپنی مرضی مطابق بناؤ",
"settings.appearance.description": "تھیم تے فونٹ اپنی مرضی مطابق بناؤ",
"settings.notifications.description": "چنو کہ نوٹیفکیشن کدوں آون تے آوازاں کدوں سنن",
"settings.shortcuts.description": "عام کمّاں دے شارٹ کٹ اپنی مرضی مطابق بناؤ",
"settings.servers.description": "سرور کنکشن سنبھالو",
"settings.projects.title": "پروجیکٹ",
"settings.projects.description": "اس سرور تے پروجیکٹ دیاں سیٹنگاں سنبھالو",
"settings.projects.empty": "کوئی پروجیکٹ نئیں لبھیا",
"settings.projects.server.all": "سارے سرور",
"settings.mcps.description": "Model Context Protocol (MCP) سرور تے ٹول سنبھالو",
"settings.extensions.description": "اس سرور تے دستیاب ایکسٹینشن سنبھالو",
"settings.extensions.tab.mcps": "MCPs",
"settings.extensions.tab.skills": "مہارتاں",
"settings.extensions.availableAll": "سارے پروجیکٹاں لئی دستیاب",
"settings.extensions.manageConfig": "opencode.json چ سنبھالو",
"settings.extensions.addSkills": "مہارتاں شامل کرن دا طریقہ",
"dialog.server.authenticate.title": "تصدیق کرو",
"project.settings.general.description": "پروجیکٹ دا ناں تے دِکھ سنبھالو",
"project.settings.scripts": "سکرپٹ",
"project.settings.scripts.description": "اس پروجیکٹ لئی سکرپٹ ترتیب دیو",
"project.settings.extensions.description": "اس پروجیکٹ لئی دستیاب ایکسٹینشن ویکھو",
"project.settings.extensions.tab.lsps": "LSPs",
"project.settings.extensions.added": "اس پروجیکٹ چ شامل",
"project.settings.extensions.shared": "سارے پروجیکٹاں نال سانجھا",
"project.settings.extensions.lsp.detected": "پچھانے گئے زبان سرور",
"project.settings.extensions.lsp.description": "فائل دیاں قسماں توں آپے پچھانے گئے",
"project.settings.extensions.setupRequired": "سیٹ اپ دی لوڑ اے",
"settings.general.section.general": "عمومی",
"common.viewAll": "سارے ویکھو",
"session.new.workspace.local.tooltip": "موجودہ چیک آؤٹ ورتو",
"session.new.workspace.new.tooltip": "وکھرا چیک آؤٹ بناؤ",
"session.new.workspace.fromBranch": "\u2068{{branch}}\u2069 توں",
"session.new.workspace.trigger.tooltip": "چنو سیشن کتھے چلانا اے",
"session.new.workspace.search.placeholder": "ورک سپیس لبھو",
"settings.tab.workspaces": "ورک سپیس",
"settings.workspaces.filter.all": "سارے پروجیکٹ",
"settings.workspaces.empty": "کوئی ورک سپیس نئیں",
"settings.workspaces.count.one": "{{count}} ورک سپیس",
"settings.workspaces.count.other": "{{count}} ورک سپیسز",
"settings.workspaces.sessions.one": "\u2068{{project}}\u2069 چ {{count}} سیشن",
"settings.workspaces.sessions.other": "\u2068{{project}}\u2069 چ {{count}} سیشنز",
"settings.workspaces.lastActiveSession": "آخری فعال سیشن",
"settings.workspaces.deleteAll": "ساریاں ورک سپیس مٹاؤ",
"settings.workspaces.deleteAll.confirm": "ساریاں {{count}} ورک سپیس مٹا دیواں؟",
"settings.workspaces.delete.warning":
"ورک سپیس ڈائریکٹری تے برانچ پکے طور تے ہٹا دتے جان گے، تھلے وکھائیاں غیر ضم شدہ تبدیلیاں سمیت۔",
"settings.workspaces.deleteAll.warning":
"\u2068{{project}}\u2069 چ چُݨیاں {{count}} ورک سپیسز صرف اوہدوں پکے طور تے ہٹائیاں جان گیاں جدوں ہر اک صاف، غیر فعال تے کسے سیشن نال جڑی نہ ہووے۔",
"settings.workspaces.delete.blocked.active": "فعال ورک سپیس نوں مٹایا نئیں جا سکدا۔",
"settings.workspaces.delete.blocked.linked":
"جڑے سیشن موجود رہن گے، پر اوہناں دی ورکنگ ڈائریکٹری پکے طور تے ہٹا دتی جائے گی۔",
"settings.workspaces.default.title": "ڈیفالٹ ماحول",
"settings.workspaces.default.description": "چنو نویں سیشن کتھے شروع ہون",
"settings.workspaces.default.lastUsed": "ہر پروجیکٹ چ آخری واری ورتیا",
"settings.workspaces.default.local": "مقامی ڈائریکٹری",
"settings.workspaces.default.new": "نویں ورک سپیس",
"workspace.move.title": "ورک سپیس چ لے جاؤ",
"workspace.move.menu.title": "سیشن ایتھے لے جاؤ",
"workspace.move.failed": "سیشن لے جان چ ناکامی ہوئی",
"workspace.lifecycle.creating": "ورک سپیس بن رہی اے",
"workspace.lifecycle.created": "ورک سپیس بن گئی",
"workspace.lifecycle.starting": "سیشن شروع ہو رہیا اے",
"workspace.onboarding.title": "ورک سپیس نال سیشن وکھرے رکھو",
"workspace.onboarding.description":
"ہر اک نوں اپنا چیک آؤٹ ملدا اے، ایس لئی تہاڈی مقامی ریپوزٹری چ کوئی مداخلت نئیں ہوندی",
"workspace.lifecycle.moving": "ورک سپیس چ لے جایا جا رہیا اے",
"workspace.lifecycle.set": "ورک سپیس سیٹ ہو گئی",
"session.summary.title": "سیشن دیاں تفصیلاں",
"session.summary.noBranch": "کوئی برانچ نئیں",
"session.summary.basedOn": "\u2068{{branch}}\u2069 تے مبنی",
}
+98
View File
@@ -1159,4 +1159,102 @@ export const dict = {
"error.childStore.persistedProjectIconCreateFailed": "Nie udało się utworzyć trwałej ikony projektu",
"error.childStore.storeCreateFailed": "Nie udało się utworzyć magazynu",
"terminal.connectionLost.abnormalClose": "WebSocket zamknięty nieprawidłowo: {{code}}",
"provider.disconnect.toast.noCredentials.description": "Nie znaleziono usuwalnych poświadczeń dla {{provider}}.",
"provider.disconnect.toast.failed.description": "Nie udało się rozłączyć {{provider}}.",
"toast.migration.failed.title": "Migracja danych nie powiodła się",
"session.background.moveTasks": "Przenieś {{tasks}} do tła",
"session.background.inBackground": "Uruchamiam {{tasks}} w tle",
"session.background.combine": "{{first}} i {{second}}",
"session.background.shell.one": "{{count}} powłoka",
"session.background.shell.other": "{{count}} powłoki",
"session.background.subagent.one": "Podagent {{count}}",
"session.background.subagent.other": "Podagenci {{count}}",
"command.session.background": "Przejdź do tła",
"session.timeline.notice.finished": "{{actor}} ukończono",
"session.timeline.notice.failed": "{{actor}} nie powiodło się",
"session.timeline.notice.cancelled": "{{actor}} anulowane",
"session.timeline.notice.instructionsUpdated": "Zaktualizowano instrukcje: {{sources}}",
"session.timeline.notice.restart": "Kontynuacja po ponownym uruchomieniu",
"settings.tab.preferences": "Preferencje",
"settings.tab.notifications": "Powiadomienia",
"settings.tab.projects": "Projekty",
"settings.tab.extensions": "Rozszerzenia",
"settings.preferences.description": "Dostosuj preferencje oraz motyw i domyślne zachowanie",
"settings.appearance.description": "Dostosuj motyw i czcionki",
"settings.notifications.description": "Wybierz, kiedy chcesz otrzymywać powiadomienia i słyszeć dźwięki",
"settings.shortcuts.description": "Dostosuj skróty do typowych działań",
"settings.servers.description": "Zarządzaj połączeniami serwerów",
"settings.projects.title": "Projekty",
"settings.projects.description": "Zarządzaj ustawieniami projektu na tym serwerze",
"settings.projects.empty": "Nie znaleziono projektów",
"settings.projects.server.all": "Wszystkie serwery",
"settings.mcps.description": "Zarządzaj serwerami i narzędziami Model Context Protocol (MCP).",
"settings.extensions.description": "Zarządzaj rozszerzeniami dostępnymi na tym serwerze",
"settings.extensions.tab.mcps": "MCP",
"settings.extensions.tab.skills": "Umiejętności",
"settings.extensions.availableAll": "Dostępne dla wszystkich projektów",
"settings.extensions.manageConfig": "Zarządzaj w opencode.json",
"settings.extensions.addSkills": "Jak dodać umiejętności",
"dialog.server.authenticate.title": "Uwierzytelnij",
"project.settings.general.description": "Zarządzaj nazwą i wyglądem projektu",
"project.settings.scripts": "Skrypty",
"project.settings.scripts.description": "Skonfiguruj skrypty dla tego projektu",
"project.settings.extensions.description": "Wyświetl rozszerzenia dostępne dla tego projektu",
"project.settings.extensions.tab.lsps": "LSP",
"project.settings.extensions.added": "Dodano do tego projektu",
"project.settings.extensions.shared": "Udostępnione wszystkim projektom",
"project.settings.extensions.lsp.detected": "Wykryte serwery językowe",
"project.settings.extensions.lsp.description": "Wykrywane automatycznie na podstawie typów plików",
"project.settings.extensions.setupRequired": "Wymagana konfiguracja",
"settings.general.section.general": "Ogólne",
"common.viewAll": "Zobacz wszystkie",
"session.new.workspace.local.tooltip": "Użyj bieżącej kopii roboczej",
"session.new.workspace.new.tooltip": "Utwórz izolowaną kopię roboczą",
"session.new.workspace.fromBranch": "z {{branch}}",
"session.new.workspace.trigger.tooltip": "Wybierz miejsce uruchomienia sesji",
"session.new.workspace.search.placeholder": "Przeszukaj obszary robocze",
"settings.tab.workspaces": "Obszary robocze",
"settings.workspaces.filter.all": "Wszystkie projekty",
"settings.workspaces.empty": "Brak obszarów roboczych",
"settings.workspaces.count.one": "Obszar roboczy {{count}}",
"settings.workspaces.count.other": "Obszary robocze {{count}}",
"settings.workspaces.sessions.one": "Sesja {{count}} w {{project}}",
"settings.workspaces.sessions.other": "Sesje {{count}} w {{project}}",
"settings.workspaces.lastActiveSession": "Ostatnia aktywna sesja",
"settings.workspaces.deleteAll": "Usuń wszystkie obszary robocze",
"settings.workspaces.deleteAll.confirm": "Usunąć wszystkie obszary robocze {{count}}?",
"settings.workspaces.delete.warning":
"Katalog i gałąź obszaru roboczego zostaną trwale usunięte, łącznie ze wszystkimi niezintegrowanymi zmianami pokazanymi poniżej.",
"settings.workspaces.deleteAll.warning":
"Wybrane obszary robocze {{count}} w {{project}} zostaną trwale usunięte tylko wtedy, gdy każdy z nich jest czysty, nieaktywny i nie ma połączonych sesji.",
"settings.workspaces.delete.blocked.active": "Nie można usunąć aktywnego obszaru roboczego.",
"settings.workspaces.delete.blocked.linked":
"Połączone sesje pozostaną, ale ich katalog roboczy zostanie trwale usunięty.",
"settings.workspaces.default.title": "Domyślne środowisko",
"settings.workspaces.default.description": "Wybierz miejsce rozpoczęcia nowych sesji",
"settings.workspaces.default.lastUsed": "Ostatnio użyte w ramach projektu",
"settings.workspaces.default.local": "Katalog lokalny",
"settings.workspaces.default.new": "Nowy obszar roboczy",
"workspace.move.title": "Przejdź do obszaru roboczego",
"workspace.move.menu.title": "Przenieś sesję do",
"workspace.move.failed": "Nie udało się przenieść sesji",
"workspace.lifecycle.creating": "Tworzenie przestrzeni roboczej",
"workspace.lifecycle.created": "Utworzono obszar roboczy",
"workspace.lifecycle.starting": "Rozpoczęcie sesji",
"workspace.onboarding.title": "Izoluj sesje za pomocą obszarów roboczych",
"workspace.onboarding.description":
"Każda otrzymuje własną kopię roboczą, dzięki czemu nic nie koliduje z lokalnym repozytorium",
"workspace.lifecycle.moving": "Przechodzę do obszaru roboczego",
"workspace.lifecycle.set": "Obszar roboczy ustawiony",
"session.summary.title": "Szczegóły sesji",
"session.summary.noBranch": "Brak gałęzi",
"session.summary.basedOn": "Na podstawie {{branch}}",
"session.background.shell.few": "{{count}} powłoki",
"session.background.shell.many": "{{count}} powłok",
"session.background.subagent.few": "{{count}} subagentów",
"session.background.subagent.many": "{{count}} subagentów",
"settings.workspaces.count.few": "{{count}} obszary robocze",
"settings.workspaces.count.many": "{{count}} obszarów roboczych",
"settings.workspaces.sessions.few": "{{count}} sesje w {{project}}",
"settings.workspaces.sessions.many": "{{count}} sesji w {{project}}",
}
+95
View File
@@ -1112,6 +1112,50 @@ export const dict = {
"session.delete.confirm": "Ștergi sesiunea „{{name}}”?",
"session.delete.button": "Șterge sesiunea",
"workspace.new": "Spațiu de lucru nou",
"common.viewAll": "Afișează tot",
"session.new.workspace.local.tooltip": "Folosește copia de lucru curentă",
"session.new.workspace.new.tooltip": "Creează o copie de lucru izolată",
"session.new.workspace.fromBranch": "din {{branch}}",
"session.new.workspace.trigger.tooltip": "Selectează unde să ruleze sesiunea",
"session.new.workspace.search.placeholder": "Caută spații de lucru",
"settings.tab.workspaces": "Spații de lucru",
"settings.workspaces.filter.all": "Toate proiectele",
"settings.workspaces.empty": "Niciun spațiu de lucru",
"settings.workspaces.count.one": "{{count}} spațiu de lucru",
"settings.workspaces.count.few": "{{count}} spații de lucru",
"settings.workspaces.count.other": "{{count}} de spații de lucru",
"settings.workspaces.sessions.one": "{{count}} sesiune în {{project}}",
"settings.workspaces.sessions.few": "{{count}} sesiuni în {{project}}",
"settings.workspaces.sessions.other": "{{count}} de sesiuni în {{project}}",
"settings.workspaces.lastActiveSession": "Ultima sesiune activă",
"settings.workspaces.deleteAll": "Șterge toate spațiile de lucru",
"settings.workspaces.deleteAll.confirm": "Ștergi toate cele {{count}} spații de lucru?",
"settings.workspaces.delete.warning":
"Directorul și ramura spațiului de lucru vor fi eliminate definitiv, inclusiv orice modificări necomasate afișate mai jos.",
"settings.workspaces.deleteAll.warning":
"Cele {{count}} spații de lucru selectate din {{project}} vor fi eliminate definitiv numai dacă fiecare este curat, inactiv și nu are sesiuni asociate.",
"settings.workspaces.delete.blocked.active": "Spațiul de lucru activ nu poate fi șters.",
"settings.workspaces.delete.blocked.linked":
"Sesiunile asociate vor rămâne, dar directorul lor de lucru va fi eliminat definitiv.",
"settings.workspaces.default.title": "Mediu implicit",
"settings.workspaces.default.description": "Alege unde pornesc sesiunile noi",
"settings.workspaces.default.lastUsed": "Ultimul folosit pentru fiecare proiect",
"settings.workspaces.default.local": "Director local",
"settings.workspaces.default.new": "Spațiu de lucru nou",
"workspace.move.title": "Mută în spațiul de lucru",
"workspace.move.menu.title": "Mută sesiunea în",
"workspace.move.failed": "Mutarea sesiunii a eșuat",
"workspace.lifecycle.creating": "Se creează spațiul de lucru",
"workspace.lifecycle.created": "Spațiu de lucru creat",
"workspace.lifecycle.starting": "Se pornește sesiunea",
"workspace.onboarding.title": "Izolează sesiunile în spații de lucru",
"workspace.onboarding.description":
"Fiecare are propria copie de lucru, astfel încât nimic nu interferează cu depozitul local",
"workspace.lifecycle.moving": "Se mută în spațiul de lucru",
"workspace.lifecycle.set": "Spațiu de lucru setat",
"session.summary.title": "Detalii sesiune",
"session.summary.noBranch": "Nicio ramură",
"session.summary.basedOn": "Bazat pe {{branch}}",
"workspace.type.local": "local",
"workspace.type.sandbox": "sandbox",
"workspace.create.failed.title": "Crearea spațiului de lucru a eșuat",
@@ -1137,4 +1181,55 @@ export const dict = {
"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",
"provider.disconnect.toast.noCredentials.description":
"Nu s-au găsit date de autentificare care pot fi eliminate pentru {{provider}}.",
"provider.disconnect.toast.failed.description": "Nu s-a putut deconecta {{provider}}.",
"toast.migration.failed.title": "Migrarea datelor a eșuat",
"session.background.moveTasks": "Mută {{tasks}} în fundal",
"session.background.inBackground": "{{tasks}} rulează în fundal",
"session.background.combine": "{{first}} și {{second}}",
"session.background.shell.one": "{{count}} shell",
"session.background.shell.other": "{{count}} shell-uri",
"session.background.shell.few": "{{count}} shell-uri",
"session.background.subagent.one": "{{count}} subagent",
"session.background.subagent.other": "{{count}} subagenți",
"session.background.subagent.few": "{{count}} subagenți",
"command.session.background": "Mută în fundal",
"session.timeline.notice.finished": "{{actor}} a terminat",
"session.timeline.notice.failed": "{{actor}} a eșuat",
"session.timeline.notice.cancelled": "{{actor}} a fost anulat",
"session.timeline.notice.instructionsUpdated": "Instrucțiuni actualizate: {{sources}}",
"session.timeline.notice.restart": "Se continuă după repornire",
"settings.tab.preferences": "Preferințe",
"settings.tab.notifications": "Notificări",
"settings.tab.projects": "Proiecte",
"settings.tab.extensions": "Extensii",
"settings.preferences.description": "Personalizează preferințele, tema și comportamentul implicit",
"settings.appearance.description": "Personalizează tema și fonturile",
"settings.notifications.description": "Alege când să primești notificări și să auzi sunete",
"settings.shortcuts.description": "Personalizează scurtăturile pentru acțiunile uzuale",
"settings.servers.description": "Gestionează conexiunile la servere",
"settings.projects.title": "Proiecte",
"settings.projects.description": "Gestionează setările proiectelor de pe acest server",
"settings.projects.empty": "Nu s-au găsit proiecte",
"settings.projects.server.all": "Toate serverele",
"settings.mcps.description": "Gestionează serverele și uneltele Model Context Protocol (MCP)",
"settings.extensions.description": "Gestionează extensiile disponibile pe acest server",
"settings.extensions.tab.mcps": "MCP-uri",
"settings.extensions.tab.skills": "Abilități",
"settings.extensions.availableAll": "Disponibil pentru toate proiectele",
"settings.extensions.manageConfig": "Gestionează în opencode.json",
"settings.extensions.addSkills": "Cum se adaugă abilități",
"dialog.server.authenticate.title": "Autentificare",
"project.settings.general.description": "Gestionează numele și aspectul proiectului",
"project.settings.scripts": "Scripturi",
"project.settings.scripts.description": "Configurează scripturile pentru acest proiect",
"project.settings.extensions.description": "Vezi extensiile disponibile pentru acest proiect",
"project.settings.extensions.tab.lsps": "LSP-uri",
"project.settings.extensions.added": "Adăugat la acest proiect",
"project.settings.extensions.shared": "Partajat cu toate proiectele",
"project.settings.extensions.lsp.detected": "Servere de limbaj detectate",
"project.settings.extensions.lsp.description": "Detectate automat după tipurile de fișiere",
"project.settings.extensions.setupRequired": "Necesită configurare",
"settings.general.section.general": "General",
}
+98
View File
@@ -1236,4 +1236,102 @@ export const dict = {
"error.childStore.persistedProjectIconCreateFailed": "Не удалось создать постоянный значок проекта",
"error.childStore.storeCreateFailed": "Не удалось создать хранилище",
"terminal.connectionLost.abnormalClose": "WebSocket закрыт аварийно: {{code}}",
"provider.disconnect.toast.noCredentials.description": "Для {{provider}} не найдены съемные учетные данные.",
"provider.disconnect.toast.failed.description": "Не удалось отключить {{provider}}.",
"toast.migration.failed.title": "Не удалось перенести данные",
"session.background.moveTasks": "Переместить {{tasks}} на задний план.",
"session.background.inBackground": "Запуск {{tasks}} в фоновом режиме",
"session.background.combine": "{{first}} и {{second}}",
"session.background.shell.one": "{{count}} оболочка",
"session.background.shell.other": "{{count}} оболочки",
"session.background.subagent.one": "Субагент {{count}}",
"session.background.subagent.other": "Субагенты {{count}}",
"command.session.background": "Перейти на задний план",
"session.timeline.notice.finished": "{{actor}} закончил",
"session.timeline.notice.failed": "{{actor}} не удалось",
"session.timeline.notice.cancelled": "{{actor}} отменен",
"session.timeline.notice.instructionsUpdated": "Обновлены инструкции: {{sources}}",
"session.timeline.notice.restart": "Продолжение после перезапуска",
"settings.tab.preferences": "Предпочтения",
"settings.tab.notifications": "Уведомления",
"settings.tab.projects": "Проекты",
"settings.tab.extensions": "Расширения",
"settings.preferences.description": "Настройте предпочтения, тему и поведение по умолчанию.",
"settings.appearance.description": "Настройте тему и шрифты",
"settings.notifications.description": "Выберите, когда получать уведомления и слышать звуки",
"settings.shortcuts.description": "Настройте ярлыки для общих действий",
"settings.servers.description": "Управление подключениями к серверу",
"settings.projects.title": "Проекты",
"settings.projects.description": "Управлять настройками проекта на этом сервере",
"settings.projects.empty": "Проекты не найдены",
"settings.projects.server.all": "Все серверы",
"settings.mcps.description": "Управление серверами и инструментами протокола контекста модели (MCP)",
"settings.extensions.description": "Управление расширениями, доступными на этом сервере",
"settings.extensions.tab.mcps": "МКП",
"settings.extensions.tab.skills": "Навыки",
"settings.extensions.availableAll": "Доступно для всех проектов",
"settings.extensions.manageConfig": "Управление в opencode.json",
"settings.extensions.addSkills": "Как добавить навыки",
"dialog.server.authenticate.title": "Аутентификация",
"project.settings.general.description": "Управление названием и внешним видом проекта",
"project.settings.scripts": "Скрипты",
"project.settings.scripts.description": "Настройте сценарии для этого проекта",
"project.settings.extensions.description": "Посмотреть расширения, доступные для этого проекта",
"project.settings.extensions.tab.lsps": "ЛСП",
"project.settings.extensions.added": "Добавлено в этот проект",
"project.settings.extensions.shared": "Доступно для всех проектов",
"project.settings.extensions.lsp.detected": "Обнаруженные языковые серверы",
"project.settings.extensions.lsp.description": "Автоматически определяется по типам файлов",
"project.settings.extensions.setupRequired": "Требуется настройка",
"settings.general.section.general": "Основные",
"common.viewAll": "Посмотреть все",
"session.new.workspace.local.tooltip": "Использовать текущую рабочую копию",
"session.new.workspace.new.tooltip": "Создать изолированную рабочую копию",
"session.new.workspace.fromBranch": "из {{branch}}",
"session.new.workspace.trigger.tooltip": "Выберите, где запустить сеанс",
"session.new.workspace.search.placeholder": "Поиск рабочих пространств",
"settings.tab.workspaces": "Рабочие пространства",
"settings.workspaces.filter.all": "Все проекты",
"settings.workspaces.empty": "Нет рабочих мест",
"settings.workspaces.count.one": "Рабочая область {{count}}",
"settings.workspaces.count.other": "Рабочие области {{count}}",
"settings.workspaces.sessions.one": "Сеанс {{count}} в {{project}}",
"settings.workspaces.sessions.other": "Сессии {{count}} в {{project}}",
"settings.workspaces.lastActiveSession": "Последняя активная сессия",
"settings.workspaces.deleteAll": "Удалить все рабочие области",
"settings.workspaces.deleteAll.confirm": "Удалить все рабочие пространства {{count}}?",
"settings.workspaces.delete.warning":
"Каталог и ветка рабочей области будут удалены без возможности восстановления, включая все несвязанные изменения, показанные ниже.",
"settings.workspaces.deleteAll.warning":
"Выбранные рабочие пространства {{count}} в {{project}} будут окончательно удалены, только если каждое из них является чистым, неактивным и не имеет связанных сеансов.",
"settings.workspaces.delete.blocked.active": "Активное рабочее пространство не может быть удалено.",
"settings.workspaces.delete.blocked.linked":
"Связанные сеансы останутся, но их рабочий каталог будет удален без возможности восстановления.",
"settings.workspaces.default.title": "Среда по умолчанию",
"settings.workspaces.default.description": "Выберите, где начинаются новые сеансы",
"settings.workspaces.default.lastUsed": "Последнее использование в проекте",
"settings.workspaces.default.local": "Локальный каталог",
"settings.workspaces.default.new": "Новое рабочее пространство",
"workspace.move.title": "Перейти в рабочую область",
"workspace.move.menu.title": "Переместить сеанс в",
"workspace.move.failed": "Не удалось переместить сеанс.",
"workspace.lifecycle.creating": "Создание рабочего пространства",
"workspace.lifecycle.created": "Рабочая область создана",
"workspace.lifecycle.starting": "Начало сеанса",
"workspace.onboarding.title": "Изолируйте сеансы с помощью рабочих областей",
"workspace.onboarding.description":
"Каждая получает собственную рабочую копию, поэтому ничто не затрагивает локальный репозиторий",
"workspace.lifecycle.moving": "Переезд в рабочее пространство",
"workspace.lifecycle.set": "Рабочее пространство задано",
"session.summary.title": "Детали сеанса",
"session.summary.noBranch": "Нет ветки",
"session.summary.basedOn": "На основе {{branch}}",
"session.background.shell.few": "{{count}} оболочки",
"session.background.shell.many": "{{count}} оболочек",
"session.background.subagent.few": "{{count}} субагента",
"session.background.subagent.many": "{{count}} субагентов",
"settings.workspaces.count.few": "{{count}} рабочих места",
"settings.workspaces.count.many": "{{count}} рабочих мест",
"settings.workspaces.sessions.few": "{{count}} сеанса в {{project}}",
"settings.workspaces.sessions.many": "{{count}} сеансов в {{project}}",
}
+89
View File
@@ -1128,4 +1128,93 @@ export const dict: Record<string, string> = {
"workspace.reset.archived.many": "සැසි {{count}} සංරක්ෂිත වනු ඇත.",
"workspace.reset.note": "මෙය පෙරනිමි ශාඛාවට ගැලපෙන පරිදි වැඩබිම නැවත සකසනු ඇත.",
"dialog.usageExceeded.dontShowAgain": "නැවත නොපෙන්වන්න",
"provider.disconnect.toast.noCredentials.description": "{{provider}} සඳහා ඉවත් කළ හැකි අක්තපත්‍ර හමු නොවීය.",
"provider.disconnect.toast.failed.description": "{{provider}} විසන්ධි කිරීමට අසමත් විය.",
"toast.migration.failed.title": "දත්ත සංක්‍රමණය අසමත් විය",
"session.background.moveTasks": "{{tasks}} පසුබිමට ගෙන යන්න",
"session.background.inBackground": "{{tasks}} පසුබිමේ ක්‍රියාත්මක වෙමින් පවතී",
"session.background.combine": "{{first}} සහ {{second}}",
"session.background.shell.one": "ෂෙල් {{count}}ක්",
"session.background.shell.other": "ෂෙල් {{count}}ක්",
"session.background.subagent.one": "උප නියෝජිත {{count}}ක්",
"session.background.subagent.other": "උප නියෝජිත {{count}}ක්",
"command.session.background": "පසුබිමට ගෙන යන්න",
"session.timeline.notice.finished": "{{actor}} අවසන් විය",
"session.timeline.notice.failed": "{{actor}} අසමත් විය",
"session.timeline.notice.cancelled": "{{actor}} අවලංගු කරන ලදී",
"session.timeline.notice.instructionsUpdated": "උපදෙස් යාවත්කාලීන විය: {{sources}}",
"session.timeline.notice.restart": "නැවත ආරම්භ කිරීමෙන් පසු ඉදිරියට යමින්",
"settings.tab.preferences": "අභිප්‍රේත",
"settings.tab.notifications": "දැනුම්දීම්",
"settings.tab.projects": "ව්‍යාපෘති",
"settings.tab.extensions": "දිගු",
"settings.preferences.description": "අභිප්‍රේත, තේමාව සහ පෙරනිමි හැසිරීම සකසන්න",
"settings.appearance.description": "තේමාව සහ අකුරු සකසන්න",
"settings.notifications.description": "දැනුම්දීම් ලැබෙන සහ ශබ්ද ඇසෙන අවස්ථා තෝරන්න",
"settings.shortcuts.description": "පොදු ක්‍රියා සඳහා කෙටිමං සකසන්න",
"settings.servers.description": "සේවාදායක සම්බන්ධතා කළමනාකරණය කරන්න",
"settings.projects.title": "ව්‍යාපෘති",
"settings.projects.description": "මෙම සේවාදායකයේ ව්‍යාපෘති සැකසුම් කළමනාකරණය කරන්න",
"settings.projects.empty": "ව්‍යාපෘති හමු නොවීය",
"settings.projects.server.all": "සියලු සේවාදායක",
"settings.mcps.description": "Model Context Protocol (MCP) සේවාදායක සහ මෙවලම් කළමනාකරණය කරන්න",
"settings.extensions.description": "මෙම සේවාදායකයේ ඇති දිගු කළමනාකරණය කරන්න",
"settings.extensions.tab.mcps": "MCP",
"settings.extensions.tab.skills": "කුසලතා",
"settings.extensions.availableAll": "සියලු ව්‍යාපෘති සඳහා ලබා ගත හැකිය",
"settings.extensions.manageConfig": "opencode.json තුළ කළමනාකරණය කරන්න",
"settings.extensions.addSkills": "කුසලතා එක් කරන ආකාරය",
"dialog.server.authenticate.title": "සත්‍යාපනය කරන්න",
"project.settings.general.description": "ව්‍යාපෘති නාමය සහ පෙනුම කළමනාකරණය කරන්න",
"project.settings.scripts": "ස්ක්‍රිප්ට්",
"project.settings.scripts.description": "මෙම ව්‍යාපෘතිය සඳහා ස්ක්‍රිප්ට් වින්‍යාස කරන්න",
"project.settings.extensions.description": "මෙම ව්‍යාපෘතියට ඇති දිගු බලන්න",
"project.settings.extensions.tab.lsps": "LSP",
"project.settings.extensions.added": "මෙම ව්‍යාපෘතියට එක් කර ඇත",
"project.settings.extensions.shared": "සියලු ව්‍යාපෘති සමඟ බෙදාගෙන ඇත",
"project.settings.extensions.lsp.detected": "හඳුනාගත් භාෂා සේවාදායක",
"project.settings.extensions.lsp.description": "ගොනු වර්ග අනුව ස්වයංක්‍රීයව හඳුනාගන්නා ලදී",
"project.settings.extensions.setupRequired": "පිහිටුවීම අවශ්‍යයි",
"settings.general.section.general": "සාමාන්‍ය",
"common.viewAll": "සියල්ල බලන්න",
"session.new.workspace.local.tooltip": "වත්මන් චෙක්අවුට් එක භාවිතා කරන්න",
"session.new.workspace.new.tooltip": "වෙන් කළ චෙක්අවුට් එකක් සාදන්න",
"session.new.workspace.fromBranch": "{{branch}} වෙතින්",
"session.new.workspace.trigger.tooltip": "සැසිය ක්‍රියාත්මක කළ යුතු ස්ථානය තෝරන්න",
"session.new.workspace.search.placeholder": "වැඩබිම් සොයන්න",
"settings.tab.workspaces": "වැඩබිම්",
"settings.workspaces.filter.all": "සියලු ව්‍යාපෘති",
"settings.workspaces.empty": "වැඩබිම් නැත",
"settings.workspaces.count.one": "වැඩබිම් {{count}}ක්",
"settings.workspaces.count.other": "වැඩබිම් {{count}}ක්",
"settings.workspaces.sessions.one": "{{project}} හි සැසි {{count}}ක්",
"settings.workspaces.sessions.other": "{{project}} හි සැසි {{count}}ක්",
"settings.workspaces.lastActiveSession": "අවසන් සක්‍රිය සැසිය",
"settings.workspaces.deleteAll": "සියලු වැඩබිම් මකන්න",
"settings.workspaces.deleteAll.confirm": "වැඩබිම් {{count}}ම මකන්නද?",
"settings.workspaces.delete.warning":
"පහත පෙන්වා ඇති ඒකාබද්ධ නොකළ වෙනස්කම්ද ඇතුළුව වැඩබිම් නාමාවලිය සහ ශාඛාව ස්ථිරව ඉවත් කෙරේ.",
"settings.workspaces.deleteAll.warning":
"{{project}} හි තෝරාගත් වැඩබිම් {{count}}, එක් එක් වැඩබිම පිරිසිදු, අක්‍රිය සහ සබැඳි සැසි රහිත නම් පමණක් ස්ථිරව ඉවත් කෙරේ.",
"settings.workspaces.delete.blocked.active": "සක්‍රිය වැඩබිම මැකිය නොහැක.",
"settings.workspaces.delete.blocked.linked": "සබැඳි සැසි පවතිනු ඇත, නමුත් ඒවායේ වැඩ කරන නාමාවලිය ස්ථිරව ඉවත් කෙරේ.",
"settings.workspaces.default.title": "පෙරනිමි පරිසරය",
"settings.workspaces.default.description": "නව සැසි ආරම්භ වන ස්ථානය තෝරන්න",
"settings.workspaces.default.lastUsed": "ව්‍යාපෘතියකට අවසන් වරට භාවිත කළ එක",
"settings.workspaces.default.local": "දේශීය නාමාවලිය",
"settings.workspaces.default.new": "නව වැඩබිම",
"workspace.move.title": "වැඩබිමට ගෙන යන්න",
"workspace.move.menu.title": "සැසිය ගෙන යන්න",
"workspace.move.failed": "සැසිය ගෙන යාමට අසමත් විය",
"workspace.lifecycle.creating": "වැඩබිම සාදමින්",
"workspace.lifecycle.created": "වැඩබිම සාදන ලදී",
"workspace.lifecycle.starting": "සැසිය ආරම්භ කරමින්",
"workspace.onboarding.title": "වැඩබිම් භාවිතයෙන් සැසි වෙන් කරන්න",
"workspace.onboarding.description":
"එක් එක් සැසියට තමන්ගේම චෙක්අවුට් එකක් ලැබෙන බැවින් ඔබේ දේශීය කේත ගබඩාවට බාධාවක් නොවේ",
"workspace.lifecycle.moving": "වැඩබිමට ගෙන යමින්",
"workspace.lifecycle.set": "වැඩබිම සකසන ලදී",
"session.summary.title": "සැසි විස්තර",
"session.summary.noBranch": "ශාඛාවක් නැත",
"session.summary.basedOn": "{{branch}} මත පදනම්ව",
}
+98
View File
@@ -1134,4 +1134,102 @@ export const dict = {
"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ť",
"provider.disconnect.toast.noCredentials.description": "Nenašli sa žiadne vymeniteľné poverenia pre {{provider}}.",
"provider.disconnect.toast.failed.description": "Nepodarilo sa odpojiť {{provider}}.",
"toast.migration.failed.title": "Migrácia údajov zlyhala",
"session.background.moveTasks": "Presuňte {{tasks}} na pozadie",
"session.background.inBackground": "Na pozadí beží {{tasks}}",
"session.background.combine": "{{first}} a {{second}}",
"session.background.shell.one": "{{count}} shell",
"session.background.shell.other": "{{count}} shellov",
"session.background.subagent.one": "Subagent {{count}}",
"session.background.subagent.other": "Podagenti {{count}}",
"command.session.background": "Presuňte sa na pozadie",
"session.timeline.notice.finished": "{{actor}} dokončené",
"session.timeline.notice.failed": "{{actor}} zlyhal",
"session.timeline.notice.cancelled": "{{actor}} zrušené",
"session.timeline.notice.instructionsUpdated": "Aktualizované pokyny: {{sources}}",
"session.timeline.notice.restart": "Pokračovanie po reštarte",
"settings.tab.preferences": "Predvoľby",
"settings.tab.notifications": "Upozornenia",
"settings.tab.projects": "projekty",
"settings.tab.extensions": "Rozšírenia",
"settings.preferences.description": "Prispôsobte preferencie a tému a predvolené správanie",
"settings.appearance.description": "Prispôsobte si tému a písma",
"settings.notifications.description": "Vyberte, kedy chcete dostávať upozornenia a počuť zvuky",
"settings.shortcuts.description": "Prispôsobte si skratky pre bežné akcie",
"settings.servers.description": "Spravujte pripojenia k serveru",
"settings.projects.title": "projekty",
"settings.projects.description": "Spravovať nastavenia projektu na tomto serveri",
"settings.projects.empty": "Nenašli sa žiadne projekty",
"settings.projects.server.all": "Všetky servery",
"settings.mcps.description": "Spravujte servery a nástroje Model Context Protocol (MCP).",
"settings.extensions.description": "Spravujte rozšírenia dostupné na tomto serveri",
"settings.extensions.tab.mcps": "MCP",
"settings.extensions.tab.skills": "Zručnosti",
"settings.extensions.availableAll": "Dostupné pre všetky projekty",
"settings.extensions.manageConfig": "Spravujte v opencode.json",
"settings.extensions.addSkills": "Ako pridať zručnosti",
"dialog.server.authenticate.title": "Overiť",
"project.settings.general.description": "Spravujte názov a vzhľad projektu",
"project.settings.scripts": "Skriptá",
"project.settings.scripts.description": "Nakonfigurujte skripty pre tento projekt",
"project.settings.extensions.description": "Zobraziť rozšírenia dostupné pre tento projekt",
"project.settings.extensions.tab.lsps": "LSP",
"project.settings.extensions.added": "Pridané do tohto projektu",
"project.settings.extensions.shared": "Zdieľané so všetkými projektmi",
"project.settings.extensions.lsp.detected": "Servery zistených jazykov",
"project.settings.extensions.lsp.description": "Automaticky zistené z typov súborov",
"project.settings.extensions.setupRequired": "Vyžaduje sa nastavenie",
"settings.general.section.general": "Všeobecné",
"common.viewAll": "Zobraziť všetky",
"session.new.workspace.local.tooltip": "Použiť aktuálnu pracovnú kópiu",
"session.new.workspace.new.tooltip": "Vytvoriť izolovanú pracovnú kópiu",
"session.new.workspace.fromBranch": "od {{branch}}",
"session.new.workspace.trigger.tooltip": "Vyberte, kde sa má relácia spustiť",
"session.new.workspace.search.placeholder": "Vyhľadajte pracovné priestory",
"settings.tab.workspaces": "Pracovné priestory",
"settings.workspaces.filter.all": "Všetky projekty",
"settings.workspaces.empty": "Žiadne pracovné priestory",
"settings.workspaces.count.one": "Pracovný priestor {{count}}",
"settings.workspaces.count.other": "Pracovné priestory {{count}}",
"settings.workspaces.sessions.one": "Relácia {{count}} v {{project}}",
"settings.workspaces.sessions.other": "Relácie {{count}} v {{project}}",
"settings.workspaces.lastActiveSession": "Posledná aktívna relácia",
"settings.workspaces.deleteAll": "Odstráňte všetky pracovné priestory",
"settings.workspaces.deleteAll.confirm": "Odstrániť všetky pracovné priestory {{count}}?",
"settings.workspaces.delete.warning":
"Adresár pracovného priestoru a vetva budú natrvalo odstránené, vrátane všetkých nezlúčených zmien zobrazených nižšie.",
"settings.workspaces.deleteAll.warning":
"Vybrané pracovné priestory {{count}} v {{project}} budú natrvalo odstránené, iba ak sú čisté, neaktívne a nemajú žiadne prepojené relácie.",
"settings.workspaces.delete.blocked.active": "Aktívny pracovný priestor nie je možné odstrániť.",
"settings.workspaces.delete.blocked.linked":
"Prepojené relácie zostanú, ale ich pracovný adresár bude natrvalo odstránený.",
"settings.workspaces.default.title": "Predvolené prostredie",
"settings.workspaces.default.description": "Vyberte, kde sa začínajú nové relácie",
"settings.workspaces.default.lastUsed": "Naposledy použité na projekt",
"settings.workspaces.default.local": "Miestny adresár",
"settings.workspaces.default.new": "Nový pracovný priestor",
"workspace.move.title": "Presuňte sa do pracovného priestoru",
"workspace.move.menu.title": "Presunúť reláciu do",
"workspace.move.failed": "Presun relácie zlyhal",
"workspace.lifecycle.creating": "Vytvorenie pracovného priestoru",
"workspace.lifecycle.created": "Pracovný priestor bol vytvorený",
"workspace.lifecycle.starting": "Začiatok relácie",
"workspace.onboarding.title": "Izolujte relácie s pracovnými priestormi",
"workspace.onboarding.description":
"Každá získa vlastnú pracovnú kópiu, takže nič nezasahuje do lokálneho repozitára",
"workspace.lifecycle.moving": "Presun do pracovného priestoru",
"workspace.lifecycle.set": "Pracovný priestor nastavený",
"session.summary.title": "Podrobnosti o relácii",
"session.summary.noBranch": "Žiadna vetva",
"session.summary.basedOn": "Na základe {{branch}}",
"session.background.shell.few": "{{count}} shelly",
"session.background.shell.many": "{{count}} shellu",
"session.background.subagent.few": "{{count}} podagenti",
"session.background.subagent.many": "{{count}} subagentov",
"settings.workspaces.count.few": "{{count}} pracovné miesta",
"settings.workspaces.count.many": "{{count}} pracovných miest",
"settings.workspaces.sessions.few": "{{count}} relácie v {{project}}",
"settings.workspaces.sessions.many": "{{count}} relácií v {{project}}",
}
+98
View File
@@ -1138,4 +1138,102 @@ export const dict = {
"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č",
"provider.disconnect.toast.noCredentials.description":
"Za {{provider}} ni bilo mogoče najti odstranljivih poverilnic.",
"provider.disconnect.toast.failed.description": "Odklop {{provider}} ni uspel.",
"toast.migration.failed.title": "Selitev podatkov ni uspela",
"session.background.moveTasks": "Premakni {{tasks}} v ozadje",
"session.background.inBackground": "Izvajanje {{tasks}} v ozadju",
"session.background.combine": "{{first}} in {{second}}",
"session.background.shell.one": "{{count}} lupina",
"session.background.shell.other": "{{count}} lupin",
"session.background.subagent.one": "Subagent {{count}}",
"session.background.subagent.other": "Subagenti {{count}}",
"command.session.background": "Premakni se v ozadje",
"session.timeline.notice.finished": "{{actor}} končal",
"session.timeline.notice.failed": "{{actor}} ni uspelo",
"session.timeline.notice.cancelled": "{{actor}} preklican",
"session.timeline.notice.instructionsUpdated": "Posodobljena navodila: {{sources}}",
"session.timeline.notice.restart": "Nadaljevanje po ponovnem zagonu",
"settings.tab.preferences": "Nastavitve",
"settings.tab.notifications": "Obvestila",
"settings.tab.projects": "Projekti",
"settings.tab.extensions": "Razširitve",
"settings.preferences.description": "Prilagodite nastavitve in temo ter privzeto vedenje",
"settings.appearance.description": "Prilagodite temo in pisave",
"settings.notifications.description": "Izberite, kdaj želite prejemati obvestila in poslušati zvoke",
"settings.shortcuts.description": "Prilagodite bližnjice za običajna dejanja",
"settings.servers.description": "Upravljajte povezave s strežnikom",
"settings.projects.title": "Projekti",
"settings.projects.description": "Upravljajte nastavitve projekta na tem strežniku",
"settings.projects.empty": "Najden ni noben projekt",
"settings.projects.server.all": "Vsi strežniki",
"settings.mcps.description": "Upravljajte strežnike in orodja protokola Model Context Protocol (MCP).",
"settings.extensions.description": "Upravljajte razširitve, ki so na voljo na tem strežniku",
"settings.extensions.tab.mcps": "MCP-ji",
"settings.extensions.tab.skills": "Spretnosti",
"settings.extensions.availableAll": "Na voljo za vse projekte",
"settings.extensions.manageConfig": "Upravljajte v opencode.json",
"settings.extensions.addSkills": "Kako dodati veščine",
"dialog.server.authenticate.title": "Preveri pristnost",
"project.settings.general.description": "Upravljajte ime in videz projekta",
"project.settings.scripts": "Skripte",
"project.settings.scripts.description": "Konfigurirajte skripte za ta projekt",
"project.settings.extensions.description": "Oglejte si razširitve, ki so na voljo za ta projekt",
"project.settings.extensions.tab.lsps": "LSP-ji",
"project.settings.extensions.added": "Dodano k temu projektu",
"project.settings.extensions.shared": "V skupni rabi z vsemi projekti",
"project.settings.extensions.lsp.detected": "Zaznani jezikovni strežniki",
"project.settings.extensions.lsp.description": "Samodejno zaznano iz vrst datotek",
"project.settings.extensions.setupRequired": "Potrebna nastavitev",
"settings.general.section.general": "Splošno",
"common.viewAll": "Prikaži vse",
"session.new.workspace.local.tooltip": "Uporabi trenutno delovno kopijo",
"session.new.workspace.new.tooltip": "Ustvari izolirano delovno kopijo",
"session.new.workspace.fromBranch": "od {{branch}}",
"session.new.workspace.trigger.tooltip": "Izberite, kje želite izvesti sejo",
"session.new.workspace.search.placeholder": "Iskanje delovnih prostorov",
"settings.tab.workspaces": "Delovni prostori",
"settings.workspaces.filter.all": "Vsi projekti",
"settings.workspaces.empty": "Ni delovnih prostorov",
"settings.workspaces.count.one": "{{count}} delovni prostor",
"settings.workspaces.count.other": "{{count}} delovni prostori",
"settings.workspaces.sessions.one": "Seja {{count}} v {{project}}",
"settings.workspaces.sessions.other": "Seje {{count}} v {{project}}",
"settings.workspaces.lastActiveSession": "Zadnja aktivna seja",
"settings.workspaces.deleteAll": "Izbriši vse delovne prostore",
"settings.workspaces.deleteAll.confirm": "Želite izbrisati vse delovne prostore {{count}}?",
"settings.workspaces.delete.warning":
"Imenik in veja delovnega prostora bosta trajno odstranjena, vključno z vsemi nespojenimi spremembami, prikazanimi spodaj.",
"settings.workspaces.deleteAll.warning":
"Izbrani delovni prostori {{count}} v {{project}} bodo trajno odstranjeni le, če je vsak čist, nedejaven in nima povezanih sej.",
"settings.workspaces.delete.blocked.active": "Aktivnega delovnega prostora ni mogoče izbrisati.",
"settings.workspaces.delete.blocked.linked":
"Povezane seje bodo ostale, vendar bo njihov delovni imenik trajno odstranjen.",
"settings.workspaces.default.title": "Privzeto okolje",
"settings.workspaces.default.description": "Izberite, kje se začnejo nove seje",
"settings.workspaces.default.lastUsed": "Nazadnje uporabljeno na projekt",
"settings.workspaces.default.local": "Lokalni imenik",
"settings.workspaces.default.new": "Nov delovni prostor",
"workspace.move.title": "Premakni se v delovni prostor",
"workspace.move.menu.title": "Premakni sejo na",
"workspace.move.failed": "Seje ni bilo mogoče premakniti",
"workspace.lifecycle.creating": "Ustvarjanje delovnega prostora",
"workspace.lifecycle.created": "Delovni prostor ustvarjen",
"workspace.lifecycle.starting": "Začetek seje",
"workspace.onboarding.title": "Izolirajte seje z delovnimi prostori",
"workspace.onboarding.description": "Vsaka dobi svojo delovno kopijo, zato nič ne posega v lokalni repozitorij",
"workspace.lifecycle.moving": "Premik v delovni prostor",
"workspace.lifecycle.set": "Delovni prostor nastavljen",
"session.summary.title": "Podrobnosti seje",
"session.summary.noBranch": "Ni veje",
"session.summary.basedOn": "Temelji na {{branch}}",
"session.background.shell.two": "{{count}} lupini",
"session.background.shell.few": "{{count}} lupine",
"session.background.subagent.two": "{{count}} subagenta",
"session.background.subagent.few": "{{count}} subagenti",
"settings.workspaces.count.two": "{{count}} delovna prostora",
"settings.workspaces.count.few": "{{count}} delovni prostori",
"settings.workspaces.sessions.two": "{{count}} seji v {{project}}",
"settings.workspaces.sessions.few": "{{count}} seje v {{project}}",
}
+89
View File
@@ -1113,6 +1113,47 @@ export const dict = {
"session.delete.confirm": 'Të fshihet sesioni "{{name}}"?',
"session.delete.button": "Fshi sesionin",
"workspace.new": "Hapësirë e re pune",
"common.viewAll": "Shfaq të gjitha",
"session.new.workspace.local.tooltip": "Përdor checkout-in aktual",
"session.new.workspace.new.tooltip": "Krijo një checkout të izoluar",
"session.new.workspace.fromBranch": "nga {{branch}}",
"session.new.workspace.trigger.tooltip": "Zgjidhni ku të ekzekutohet sesioni",
"session.new.workspace.search.placeholder": "Kërko hapësira pune",
"settings.tab.workspaces": "Hapësirat e punës",
"settings.workspaces.filter.all": "Të gjitha projektet",
"settings.workspaces.empty": "Nuk ka hapësira pune",
"settings.workspaces.count.one": "{{count}} hapësirë pune",
"settings.workspaces.count.other": "{{count}} hapësira pune",
"settings.workspaces.sessions.one": "{{count}} sesion në {{project}}",
"settings.workspaces.sessions.other": "{{count}} sesione në {{project}}",
"settings.workspaces.lastActiveSession": "Sesioni i fundit aktiv",
"settings.workspaces.deleteAll": "Fshi të gjitha hapësirat e punës",
"settings.workspaces.deleteAll.confirm": "Të fshihen të gjitha {{count}} hapësirat e punës?",
"settings.workspaces.delete.warning":
"Drejtoria dhe dega e hapësirës së punës do të hiqen përgjithmonë, përfshirë çdo ndryshim të pabashkuar të shfaqur më poshtë.",
"settings.workspaces.deleteAll.warning":
"{{count}} hapësirat e zgjedhura të punës në {{project}} do të hiqen përgjithmonë vetëm nëse secila është e pastër, joaktive dhe nuk ka sesione të lidhura.",
"settings.workspaces.delete.blocked.active": "Hapësira aktive e punës nuk mund të fshihet.",
"settings.workspaces.delete.blocked.linked":
"Sesionet e lidhura do të mbeten, por drejtoria e tyre e punës do të hiqet përgjithmonë.",
"settings.workspaces.default.title": "Mjedisi i parazgjedhur",
"settings.workspaces.default.description": "Zgjidhni ku të nisin sesionet e reja",
"settings.workspaces.default.lastUsed": "E përdorura së fundi për çdo projekt",
"settings.workspaces.default.local": "Drejtori lokale",
"settings.workspaces.default.new": "Hapësirë e re pune",
"workspace.move.title": "Zhvendos në hapësirë pune",
"workspace.move.menu.title": "Zhvendos sesionin te",
"workspace.move.failed": "Zhvendosja e sesionit dështoi",
"workspace.lifecycle.creating": "Po krijohet hapësira e punës",
"workspace.lifecycle.created": "Hapësira e punës u krijua",
"workspace.lifecycle.starting": "Po niset sesioni",
"workspace.onboarding.title": "Izoloni sesionet me hapësira pune",
"workspace.onboarding.description": "Secili ka checkout-in e vet, kështu që asgjë nuk ndërhyn me depon lokale",
"workspace.lifecycle.moving": "Po zhvendoset në hapësirën e punës",
"workspace.lifecycle.set": "Hapësira e punës u caktua",
"session.summary.title": "Detajet e sesionit",
"session.summary.noBranch": "Pa degë",
"session.summary.basedOn": "Bazuar në {{branch}}",
"workspace.type.local": "lokale",
"workspace.type.sandbox": "mjedis i izoluar",
"workspace.create.failed.title": "Krijimi i hapësirës së punës dështoi",
@@ -1138,4 +1179,52 @@ export const dict = {
"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",
"provider.disconnect.toast.noCredentials.description": "Nuk u gjetën kredenciale të heqshme për {{provider}}.",
"provider.disconnect.toast.failed.description": "Shkëputja e {{provider}} dështoi.",
"toast.migration.failed.title": "Migrimi i të dhënave dështoi",
"session.background.moveTasks": "Zhvendos {{tasks}} në sfond",
"session.background.inBackground": "{{tasks}} po ekzekutohet në sfond",
"session.background.combine": "{{first}} dhe {{second}}",
"session.background.shell.one": "{{count}} shell",
"session.background.shell.other": "{{count}} shell-e",
"session.background.subagent.one": "{{count}} nën-agjent",
"session.background.subagent.other": "{{count}} nën-agjentë",
"command.session.background": "Zhvendos në sfond",
"session.timeline.notice.finished": "{{actor}} përfundoi",
"session.timeline.notice.failed": "{{actor}} dështoi",
"session.timeline.notice.cancelled": "{{actor}} u anulua",
"session.timeline.notice.instructionsUpdated": "Udhëzimet u përditësuan: {{sources}}",
"session.timeline.notice.restart": "Po vazhdon pas rinisjes",
"settings.tab.preferences": "Preferencat",
"settings.tab.notifications": "Njoftimet",
"settings.tab.projects": "Projektet",
"settings.tab.extensions": "Zgjerimet",
"settings.preferences.description": "Personalizoni preferencat, temën dhe sjelljen e parazgjedhur",
"settings.appearance.description": "Personalizoni temën dhe fontet",
"settings.notifications.description": "Zgjidhni kur të merrni njoftime dhe të dëgjoni tinguj",
"settings.shortcuts.description": "Personalizoni shkurtoret për veprimet e zakonshme",
"settings.servers.description": "Menaxhoni lidhjet me serverët",
"settings.projects.title": "Projektet",
"settings.projects.description": "Menaxhoni cilësimet e projekteve në këtë server",
"settings.projects.empty": "Nuk u gjetën projekte",
"settings.projects.server.all": "Të gjithë serverët",
"settings.mcps.description": "Menaxhoni serverët dhe mjetet e Model Context Protocol (MCP)",
"settings.extensions.description": "Menaxhoni zgjerimet e disponueshme në këtë server",
"settings.extensions.tab.mcps": "MCP-të",
"settings.extensions.tab.skills": "Aftësitë",
"settings.extensions.availableAll": "Në dispozicion për të gjitha projektet",
"settings.extensions.manageConfig": "Menaxho në opencode.json",
"settings.extensions.addSkills": "Si të shtoni aftësi",
"dialog.server.authenticate.title": "Autentifikohu",
"project.settings.general.description": "Menaxhoni emrin dhe pamjen e projektit",
"project.settings.scripts": "Skriptet",
"project.settings.scripts.description": "Konfiguroni skriptet për këtë projekt",
"project.settings.extensions.description": "Shikoni zgjerimet e disponueshme për këtë projekt",
"project.settings.extensions.tab.lsps": "LSP-të",
"project.settings.extensions.added": "Shtuar në këtë projekt",
"project.settings.extensions.shared": "Ndarë me të gjitha projektet",
"project.settings.extensions.lsp.detected": "Serverët e gjuhës të zbuluar",
"project.settings.extensions.lsp.description": "Zbuluar automatikisht nga llojet e skedarëve",
"project.settings.extensions.setupRequired": "Kërkohet konfigurim",
"settings.general.section.general": "Të përgjithshme",
}
+93
View File
@@ -1136,4 +1136,97 @@ export const dict = {
"workspace.reset.archived.many": "{{count}} сесије ће бити архивиране.",
"workspace.reset.note": "Ово ће ресетовати радни простор тако да одговара подразумеваној грани.",
"dialog.usageExceeded.dontShowAgain": "Не приказуј поново",
"provider.disconnect.toast.noCredentials.description": "Нису пронађени уклоњиви акредитиви за {{provider}}.",
"provider.disconnect.toast.failed.description": "Прекидање везе са {{provider}} није успело.",
"toast.migration.failed.title": "Пренос података није успео",
"session.background.moveTasks": "Премести {{tasks}} у позадину",
"session.background.inBackground": "Покреће се {{tasks}} у позадини",
"session.background.combine": "{{first}} и {{second}}",
"session.background.shell.one": "{{count}} shell",
"session.background.shell.other": "{{count}} shell-ова",
"session.background.subagent.one": "{{count}} субагент",
"session.background.subagent.other": "{{count}} субагенс",
"command.session.background": "Премести у позадину",
"session.timeline.notice.finished": "{{actor}} завршено",
"session.timeline.notice.failed": "{{actor}} није успело",
"session.timeline.notice.cancelled": "{{actor}} отказан",
"session.timeline.notice.instructionsUpdated": "Упутства су ажурирана: {{sources}}",
"session.timeline.notice.restart": "Наставља се након поновног покретања",
"settings.tab.preferences": "Преференцес",
"settings.tab.notifications": "Обавештења",
"settings.tab.projects": "Пројекти",
"settings.tab.extensions": "Екстензије",
"settings.preferences.description": "Прилагодите подешавања и тему и подразумевано понашање",
"settings.appearance.description": "Прилагодите тему и фонтове",
"settings.notifications.description": "Одаберите када ћете примати обавештења и чути звукове",
"settings.shortcuts.description": "Прилагодите пречице за уобичајене радње",
"settings.servers.description": "Управљајте серверским везама",
"settings.projects.title": "Пројекти",
"settings.projects.description": "Управљајте подешавањима пројекта на овом серверу",
"settings.projects.empty": "Није пронађен ниједан пројекат",
"settings.projects.server.all": "Сви сервери",
"settings.mcps.description": "Управљајте серверима и алатима Модел Цонтект Протоцол (МЦП).",
"settings.extensions.description": "Управљајте екстензијама доступним на овом серверу",
"settings.extensions.tab.mcps": "МЦПс",
"settings.extensions.tab.skills": "Вештине",
"settings.extensions.availableAll": "Доступан за све пројекте",
"settings.extensions.manageConfig": "Управљајте у опенцоде.јсон",
"settings.extensions.addSkills": "Како додати вештине",
"dialog.server.authenticate.title": "Аутхентицате",
"project.settings.general.description": "Управљајте именом и изгледом пројекта",
"project.settings.scripts": "Скрипте",
"project.settings.scripts.description": "Конфигуришите скрипте за овај пројекат",
"project.settings.extensions.description": "Погледајте проширења доступна за овај пројекат",
"project.settings.extensions.tab.lsps": "ЛСПс",
"project.settings.extensions.added": "Додато овом пројекту",
"project.settings.extensions.shared": "Дељено са свим пројектима",
"project.settings.extensions.lsp.detected": "Откривени језички сервери",
"project.settings.extensions.lsp.description": "Аутоматски откривено према типовима датотека",
"project.settings.extensions.setupRequired": "Потребно је подешавање",
"settings.general.section.general": "Опште",
"common.viewAll": "Погледај све",
"session.new.workspace.local.tooltip": "Користи тренутну радну копију",
"session.new.workspace.new.tooltip": "Направи изоловану радну копију",
"session.new.workspace.fromBranch": "од {{branch}}",
"session.new.workspace.trigger.tooltip": "Изаберите где желите да покренете сесију",
"session.new.workspace.search.placeholder": "Претражите радне просторе",
"settings.tab.workspaces": "Радни простори",
"settings.workspaces.filter.all": "Сви пројекти",
"settings.workspaces.empty": "Нема радних простора",
"settings.workspaces.count.one": "{{count}} радни простор",
"settings.workspaces.count.other": "{{count}} радних простора",
"settings.workspaces.sessions.one": "{{count}} сесија у {{project}}",
"settings.workspaces.sessions.other": "{{count}} сесија у {{project}}",
"settings.workspaces.lastActiveSession": "Последња активна сесија",
"settings.workspaces.deleteAll": "Избришите све радне просторе",
"settings.workspaces.deleteAll.confirm": "Избрисати све {{count}} радних простора?",
"settings.workspaces.delete.warning":
"Директоријум и грана радног простора ће бити трајно уклоњени, укључујући све необјављене промене приказане у наставку.",
"settings.workspaces.deleteAll.warning":
"Изабрани радни простори {{count}} у {{project}} биће трајно уклоњени само ако је сваки чист, неактиван и нема повезаних сесија.",
"settings.workspaces.delete.blocked.active": "Активни радни простор се не може избрисати.",
"settings.workspaces.delete.blocked.linked":
"Повезане сесије ће остати, али ће њихов радни именик бити трајно уклоњен.",
"settings.workspaces.default.title": "Подразумевано окружење",
"settings.workspaces.default.description": "Изаберите где почињу нове сесије",
"settings.workspaces.default.lastUsed": "Последње коришћено по пројекту",
"settings.workspaces.default.local": "Локални именик",
"settings.workspaces.default.new": "Нови радни простор",
"workspace.move.title": "Пређите у радни простор",
"workspace.move.menu.title": "Премести сесију на",
"workspace.move.failed": "Премештање сесије није успело",
"workspace.lifecycle.creating": "Креирање радног простора",
"workspace.lifecycle.created": "Радни простор је креиран",
"workspace.lifecycle.starting": "Почетак сесије",
"workspace.onboarding.title": "Изолујте сесије са радним просторима",
"workspace.onboarding.description": "Свака добија сопствену радну копију, тако да ништа не омета локално складиште",
"workspace.lifecycle.moving": "Прелазак у радни простор",
"workspace.lifecycle.set": "Радни простор је постављен",
"session.summary.title": "Детаљи сесије",
"session.summary.noBranch": "Нема гране",
"session.summary.basedOn": "На основу {{branch}}",
"session.background.shell.few": "{{count}} shell-а",
"session.background.subagent.few": "{{count}} субагента",
"settings.workspaces.count.few": "{{count}} радна простора",
"settings.workspaces.sessions.few": "{{count}} сесије у {{project}}",
}
+91
View File
@@ -1135,4 +1135,95 @@ export const dict = {
"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.",
"provider.disconnect.toast.noCredentials.description":
"Inga flyttbara autentiseringsuppgifter hittades för {{provider}}.",
"provider.disconnect.toast.failed.description": "Det gick inte att koppla från {{provider}}.",
"toast.migration.failed.title": "Datamigrering misslyckades",
"session.background.moveTasks": "Flytta {{tasks}} till bakgrunden",
"session.background.inBackground": "Kör {{tasks}} i bakgrunden",
"session.background.combine": "{{first}} och {{second}}",
"session.background.shell.one": "{{count}} shell",
"session.background.shell.other": "{{count}} shellar",
"session.background.subagent.one": "{{count}} subagent",
"session.background.subagent.other": "{{count}} subagenter",
"command.session.background": "Flytta till bakgrunden",
"session.timeline.notice.finished": "{{actor}} klar",
"session.timeline.notice.failed": "{{actor}} misslyckades",
"session.timeline.notice.cancelled": "{{actor}} avbruten",
"session.timeline.notice.instructionsUpdated": "Uppdaterade instruktioner: {{sources}}",
"session.timeline.notice.restart": "Fortsätter efter omstart",
"settings.tab.preferences": "Inställningar",
"settings.tab.notifications": "Aviseringar",
"settings.tab.projects": "Projekt",
"settings.tab.extensions": "Tillägg",
"settings.preferences.description": "Anpassa inställningar och tema och standardbeteende",
"settings.appearance.description": "Anpassa tema och typsnitt",
"settings.notifications.description": "Välj när du vill ta emot aviseringar och höra ljud",
"settings.shortcuts.description": "Anpassa genvägar för vanliga åtgärder",
"settings.servers.description": "Hantera serveranslutningar",
"settings.projects.title": "Projekt",
"settings.projects.description": "Hantera projektinställningar på den här servern",
"settings.projects.empty": "Inga projekt hittades",
"settings.projects.server.all": "Alla servrar",
"settings.mcps.description": "Hantera Model Context Protocol (MCP) servrar och verktyg",
"settings.extensions.description": "Hantera tillägg som är tillgängliga på den här servern",
"settings.extensions.tab.mcps": "MCP:er",
"settings.extensions.tab.skills": "Färdigheter",
"settings.extensions.availableAll": "Tillgänglig för alla projekt",
"settings.extensions.manageConfig": "Hantera i opencode.json",
"settings.extensions.addSkills": "Hur man lägger till färdigheter",
"dialog.server.authenticate.title": "Autentisera",
"project.settings.general.description": "Hantera projektnamn och utseende",
"project.settings.scripts": "Manus",
"project.settings.scripts.description": "Konfigurera skript för detta projekt",
"project.settings.extensions.description": "Visa tillägg som är tillgängliga för detta projekt",
"project.settings.extensions.tab.lsps": "LSP:er",
"project.settings.extensions.added": "Lades till detta projekt",
"project.settings.extensions.shared": "Delas med alla projekt",
"project.settings.extensions.lsp.detected": "Språkservrar har upptäckts",
"project.settings.extensions.lsp.description": "Autoupptäckt från filtyper",
"project.settings.extensions.setupRequired": "Installation krävs",
"settings.general.section.general": "Allmän",
"common.viewAll": "Visa alla",
"session.new.workspace.local.tooltip": "Använd aktuell checkout",
"session.new.workspace.new.tooltip": "Skapa isolerad checkout",
"session.new.workspace.fromBranch": "från {{branch}}",
"session.new.workspace.trigger.tooltip": "Välj var sessionen ska köras",
"session.new.workspace.search.placeholder": "Sök arbetsytor",
"settings.tab.workspaces": "Arbetsytor",
"settings.workspaces.filter.all": "Alla projekt",
"settings.workspaces.empty": "Inga arbetsytor",
"settings.workspaces.count.one": "{{count}} arbetsyta",
"settings.workspaces.count.other": "{{count}} arbetsytor",
"settings.workspaces.sessions.one": "{{count}}-session i {{project}}",
"settings.workspaces.sessions.other": "{{count}}-sessioner i {{project}}",
"settings.workspaces.lastActiveSession": "Sista aktiva sessionen",
"settings.workspaces.deleteAll": "Ta bort alla arbetsytor",
"settings.workspaces.deleteAll.confirm": "Ta bort alla {{count}}-arbetsytor?",
"settings.workspaces.delete.warning":
"Arbetsytans katalog och filial kommer att tas bort permanent, inklusive alla osammanfogade ändringar som visas nedan.",
"settings.workspaces.deleteAll.warning":
"De {{count}} valda arbetsytorna i {{project}} kommer att tas bort permanent endast om var och en är ren, inaktiv och inte har några länkade sessioner.",
"settings.workspaces.delete.blocked.active": "Den aktiva arbetsytan kan inte tas bort.",
"settings.workspaces.delete.blocked.linked":
"Länkade sessioner kommer att finnas kvar, men deras arbetskatalog kommer att tas bort permanent.",
"settings.workspaces.default.title": "Standardmiljö",
"settings.workspaces.default.description": "Välj var nya sessioner börjar",
"settings.workspaces.default.lastUsed": "Senast använd per projekt",
"settings.workspaces.default.local": "Lokal katalog",
"settings.workspaces.default.new": "Ny arbetsyta",
"workspace.move.title": "Flytta till arbetsytan",
"workspace.move.menu.title": "Flytta session till",
"workspace.move.failed": "Det gick inte att flytta sessionen",
"workspace.lifecycle.creating": "Skapar arbetsyta",
"workspace.lifecycle.created": "Arbetsyta skapad",
"workspace.lifecycle.starting": "Startar session",
"workspace.onboarding.title": "Isolera sessioner med arbetsytor",
"workspace.onboarding.description": "Varje session får en egen checkout, så inget stör ditt lokala arkiv",
"workspace.lifecycle.moving": "Flyttar till arbetsyta",
"workspace.lifecycle.set": "Arbetsyta angiven",
"session.summary.title": "Sessionsdetaljer",
"session.summary.noBranch": "Ingen gren",
"session.summary.basedOn": "Baserat på {{branch}}",
}
+91
View File
@@ -1139,4 +1139,95 @@ export const dict = {
"workspace.reset.archived.many": "{{count}} сессия архив карда мешаванд.",
"workspace.reset.note": "Ин фазои кориро барои мувофиқ кардани филиали пешфарз барқарор мекунад.",
"dialog.usageExceeded.dontShowAgain": "Дигар нишон надиҳед",
"toast.migration.failed.title": "Интиқоли додаҳо муяссар нашуд",
"session.background.moveTasks": "{{tasks}}-ро ба замина гузаронед",
"session.background.inBackground": "{{tasks}} дар замина иҷро шуда истодааст",
"session.background.combine": "{{first}} ва {{second}}",
"session.background.shell.one": "{{count}} shell",
"session.background.shell.other": "{{count}} shell",
"session.background.subagent.one": "{{count}} зерагент",
"session.background.subagent.other": "{{count}} зерагент",
"command.session.background": "Ба замина гузаронед",
"session.timeline.notice.finished": "{{actor}} анҷом ёфт",
"session.timeline.notice.failed": "{{actor}} ноком шуд",
"session.timeline.notice.cancelled": "{{actor}} бекор карда шуд",
"settings.tab.preferences": "Тарҷеҳот",
"settings.tab.notifications": "Огоҳиҳо",
"settings.tab.projects": "Лоиҳаҳо",
"settings.tab.extensions": "Васеъкуниҳо",
"settings.preferences.description": "Тарҷеҳот, мавзӯъ ва рафтори пешфарзро танзим кунед",
"settings.appearance.description": "Мавзӯъ ва ҳуруфҳоро танзим кунед",
"settings.notifications.description": "Интихоб кунед, ки кай огоҳӣ гиред ва садо шунавед",
"settings.shortcuts.description": "Миёнбурҳоро барои амалҳои маъмул танзим кунед",
"settings.servers.description": "Пайвастҳои серверро идора кунед",
"settings.projects.title": "Лоиҳаҳо",
"settings.projects.description": "Танзимоти лоиҳаро дар ин сервер идора кунед",
"settings.projects.empty": "Ягон лоиҳа ёфт нашуд",
"settings.projects.server.all": "Ҳамаи серверҳо",
"settings.mcps.description": "Серверҳо ва абзорҳои Model Context Protocol (MCP)-ро идора кунед",
"settings.extensions.description": "Васеъкуниҳои дар ин сервер дастрасро идора кунед",
"settings.extensions.tab.mcps": "MCP-ҳо",
"settings.extensions.tab.skills": "Малакаҳо",
"settings.extensions.availableAll": "Барои ҳамаи лоиҳаҳо дастрас аст",
"settings.extensions.manageConfig": "Дар opencode.json идора кунед",
"settings.extensions.addSkills": "Тарзи илова кардани малакаҳо",
"dialog.server.authenticate.title": "Аутентификатсия",
"project.settings.general.description": "Ном ва намуди лоиҳаро идора кунед",
"project.settings.scripts": "Скриптҳо",
"project.settings.scripts.description": "Скриптҳоро барои ин лоиҳа танзим кунед",
"project.settings.extensions.description": "Васеъкуниҳои барои ин лоиҳа дастрасро бинед",
"project.settings.extensions.tab.lsps": "LSP-ҳо",
"project.settings.extensions.added": "Ба ин лоиҳа илова шудааст",
"project.settings.extensions.shared": "Бо ҳамаи лоиҳаҳо муштарак аст",
"project.settings.extensions.lsp.detected": "Серверҳои забонии ошкоршуда",
"project.settings.extensions.lsp.description": "Аз навъҳои файл ба таври худкор ошкор шудааст",
"project.settings.extensions.setupRequired": "Танзим лозим аст",
"settings.general.section.general": "Умумӣ",
"common.viewAll": "Ҳамаро дидан",
"session.new.workspace.local.tooltip": "Checkout-и ҷориро истифода баред",
"session.new.workspace.new.tooltip": "Checkout-и ҷудогона эҷод кунед",
"session.new.workspace.fromBranch": "аз шохаи {{branch}}",
"session.new.workspace.trigger.tooltip": "Интихоб кунед, ки сессия дар куҷо иҷро шавад",
"session.new.workspace.search.placeholder": "Ҷустуҷӯи фазоҳои корӣ",
"settings.tab.workspaces": "Фазоҳои корӣ",
"settings.workspaces.filter.all": "Ҳамаи лоиҳаҳо",
"settings.workspaces.empty": "Фазои корӣ нест",
"settings.workspaces.count.one": "{{count}} фазои корӣ",
"settings.workspaces.count.other": "{{count}} фазои корӣ",
"settings.workspaces.sessions.one": "{{count}} сессия дар {{project}}",
"settings.workspaces.sessions.other": "{{count}} сессия дар {{project}}",
"settings.workspaces.lastActiveSession": "Сессияи охирини фаъол",
"settings.workspaces.deleteAll": "Ҳамаи фазоҳои кориро нест кунед",
"settings.workspaces.deleteAll.confirm": "Ҳамаи {{count}} фазои кориро нест кунед?",
"settings.workspaces.delete.warning":
"Феҳрист ва шохаи фазои корӣ, аз ҷумла тағйироти якҷонашудаи дар поён нишондодашуда, ба таври доимӣ нест карда мешаванд.",
"settings.workspaces.deleteAll.warning":
"{{count}} фазои кории интихобшуда дар {{project}} танҳо дар сурате ба таври доимӣ нест карда мешаванд, ки ҳар кадом тоза, ғайрифаъол ва бе сессияи пайваст бошанд.",
"settings.workspaces.delete.blocked.active": "Фазои кории фаъолро нест кардан мумкин нест.",
"settings.workspaces.delete.blocked.linked":
"Сессияҳои пайваст боқӣ мемонанд, аммо феҳристи кории онҳо ба таври доимӣ нест карда мешавад.",
"settings.workspaces.default.title": "Муҳити пешфарз",
"settings.workspaces.default.description": "Интихоб кунед, ки сессияҳои нав дар куҷо оғоз шаванд",
"settings.workspaces.default.lastUsed": "Охирин истифодашуда барои ҳар лоиҳа",
"settings.workspaces.default.local": "Феҳристи маҳаллӣ",
"settings.workspaces.default.new": "Фазои кории нав",
"workspace.move.title": "Ба фазои корӣ гузаронед",
"workspace.move.menu.title": "Сессияро гузаронед ба",
"workspace.move.failed": "Гузаронидани сессия муяссар нашуд",
"workspace.lifecycle.creating": "Фазои корӣ эҷод шуда истодааст",
"workspace.lifecycle.created": "Фазои корӣ эҷод шуд",
"workspace.lifecycle.starting": "Сессия оғоз шуда истодааст",
"workspace.onboarding.title": "Сессияҳоро бо фазоҳои корӣ ҷудо кунед",
"workspace.onboarding.description":
"Ҳар кадом checkout-и худро дорад, бинобар ин ҳеҷ чиз ба анбори маҳаллии шумо халал намерасонад",
"workspace.lifecycle.moving": "Ба фазои корӣ гузаронида истодааст",
"workspace.lifecycle.set": "Фазои корӣ таъин шуд",
"session.summary.title": "Тафсилоти сессия",
"session.summary.noBranch": "Шоха нест",
"session.summary.basedOn": "Бар асоси {{branch}}",
"provider.disconnect.toast.noCredentials.description":
"Барои {{provider}} маълумоти эътимодномаи ҳазфшаванда ёфт нашуд.",
"provider.disconnect.toast.failed.description": "Қатъ кардани пайвасти {{provider}} муяссар нашуд.",
"session.timeline.notice.instructionsUpdated": "Дастурҳо нав карда шуданд: {{sources}}",
"session.timeline.notice.restart": "Идома пас аз бозоғозӣ",
}
+89
View File
@@ -306,6 +306,8 @@ export const dict = {
"provider.disconnect.toast.disconnected.title": "ยกเลิกการเชื่อมต่อ {{provider}} แล้ว",
"provider.disconnect.toast.disconnected.description": "โมเดล {{provider}} ไม่พร้อมใช้งานอีกต่อไป",
"provider.disconnect.toast.noCredentials.description": "ไม่พบข้อมูลรับรองของ {{provider}} ที่ลบได้",
"provider.disconnect.toast.failed.description": "ไม่สามารถยกเลิกการเชื่อมต่อ {{provider}}",
"model.tag.free": "ฟรี",
"model.tag.latest": "ล่าสุด",
@@ -648,6 +650,7 @@ export const dict = {
"toast.session.export.failed.description": "เกิดข้อผิดพลาดขณะส่งออกเซสชัน",
"toast.session.listFailed.title": "ไม่สามารถโหลดเซสชันสำหรับ {{project}}",
"toast.migration.failed.title": "การย้ายข้อมูลล้มเหลว",
"toast.update.title": "มีการอัปเดต",
"toast.update.description": "เวอร์ชันใหม่ของ OpenCode ({{version}}) พร้อมใช้งานสำหรับติดตั้ง",
@@ -732,6 +735,19 @@ export const dict = {
"session.error.notFound": "ไม่พบเซสชันนี้",
"session.error.notFound.description": "แท็บนี้อ้างถึงเซสชันที่ไม่มีอยู่บนเซิร์ฟเวอร์นี้แล้ว",
"session.error.notFound.closeTab": "ปิดแท็บ",
"session.background.moveTasks": "ย้าย {{tasks}} ไปทำงานเบื้องหลัง",
"session.background.inBackground": "กำลังเรียกใช้ {{tasks}} ในเบื้องหลัง",
"session.background.combine": "{{first}} และ {{second}}",
"session.background.shell.one": "{{count}} เชลล์",
"session.background.shell.other": "{{count}} เชลล์",
"session.background.subagent.one": "{{count}} เอเจนต์ย่อย",
"session.background.subagent.other": "{{count}} เอเจนต์ย่อย",
"command.session.background": "ย้ายไปทำงานเบื้องหลัง",
"session.timeline.notice.finished": "{{actor}} เสร็จสิ้นแล้ว",
"session.timeline.notice.failed": "{{actor}} ล้มเหลว",
"session.timeline.notice.cancelled": "{{actor}} ถูกยกเลิก",
"session.timeline.notice.instructionsUpdated": "อัปเดตคำแนะนำแล้ว: {{sources}}",
"session.timeline.notice.restart": "ดำเนินการต่อหลังรีสตาร์ท",
"session.error.serverConnection": "ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์นี้",
"session.review.filesChanged": "{{count}} ไฟล์ที่เปลี่ยนแปลง",
"session.review.change.one": "การเปลี่ยนแปลง",
@@ -786,6 +802,11 @@ export const dict = {
"session.new.workspace.triggerLocal": "ในเครื่อง",
"session.new.workspace.local": "รีโพซิทอรีในเครื่อง",
"session.new.workspace.existing": "พื้นที่ทำงาน…",
"session.new.workspace.local.tooltip": "ใช้ checkout ปัจจุบัน",
"session.new.workspace.new.tooltip": "สร้าง checkout แยก",
"session.new.workspace.fromBranch": "จาก {{branch}}",
"session.new.workspace.trigger.tooltip": "เลือกตำแหน่งที่จะเรียกใช้เซสชัน",
"session.new.workspace.search.placeholder": "ค้นหาพื้นที่ทำงาน",
"session.new.git.none": "ไม่มี Git",
"session.new.lastModified": "แก้ไขล่าสุด",
@@ -869,11 +890,43 @@ export const dict = {
"settings.section.desktop": "เดสก์ท็อป",
"settings.section.server": "เซิร์ฟเวอร์",
"settings.tab.general": "ทั่วไป",
"settings.tab.preferences": "ค่ากำหนด",
"settings.tab.shortcuts": "ทางลัด",
"settings.tab.notifications": "การแจ้งเตือน",
"settings.tab.projects": "โปรเจกต์",
"settings.tab.extensions": "ส่วนขยาย",
"settings.preferences.description": "ปรับแต่งค่ากำหนด ธีม และพฤติกรรมเริ่มต้น",
"settings.appearance.description": "ปรับแต่งธีมและแบบอักษร",
"settings.notifications.description": "เลือกเวลาที่จะรับการแจ้งเตือนและเล่นเสียง",
"settings.shortcuts.description": "ปรับแต่งทางลัดสำหรับการทำงานทั่วไป",
"settings.servers.description": "จัดการการเชื่อมต่อเซิร์ฟเวอร์",
"settings.projects.title": "โปรเจกต์",
"settings.projects.description": "จัดการการตั้งค่าโปรเจกต์บนเซิร์ฟเวอร์นี้",
"settings.projects.empty": "ไม่พบโปรเจกต์",
"settings.projects.server.all": "ทุกเซิร์ฟเวอร์",
"settings.mcps.description": "จัดการเซิร์ฟเวอร์และเครื่องมือ Model Context Protocol (MCP)",
"settings.extensions.description": "จัดการส่วนขยายที่พร้อมใช้งานบนเซิร์ฟเวอร์นี้",
"settings.extensions.tab.mcps": "MCPs",
"settings.extensions.tab.skills": "ทักษะ",
"settings.extensions.availableAll": "พร้อมใช้งานสำหรับทุกโปรเจกต์",
"settings.extensions.manageConfig": "จัดการใน opencode.json",
"settings.extensions.addSkills": "วิธีเพิ่มทักษะ",
"settings.desktop.section.wsl": "WSL",
"settings.desktop.wsl.title": "การรวม WSL",
"settings.desktop.wsl.description": "เรียกใช้เซิร์ฟเวอร์ OpenCode ภายใน WSL บน Windows",
"dialog.server.authenticate.title": "ยืนยันตัวตน",
"project.settings.general.description": "จัดการชื่อและรูปลักษณ์ของโปรเจกต์",
"project.settings.scripts": "สคริปต์",
"project.settings.scripts.description": "กำหนดค่าสคริปต์สำหรับโปรเจกต์นี้",
"project.settings.extensions.description": "ดูส่วนขยายที่พร้อมใช้งานสำหรับโปรเจกต์นี้",
"project.settings.extensions.tab.lsps": "LSPs",
"project.settings.extensions.added": "เพิ่มในโปรเจกต์นี้แล้ว",
"project.settings.extensions.shared": "แชร์กับทุกโปรเจกต์",
"project.settings.extensions.lsp.detected": "เซิร์ฟเวอร์ภาษาที่ตรวจพบ",
"project.settings.extensions.lsp.description": "ตรวจจับอัตโนมัติจากประเภทไฟล์",
"project.settings.extensions.setupRequired": "ต้องตั้งค่า",
"settings.general.section.general": "ทั่วไป",
"settings.general.section.appearance": "รูปลักษณ์",
"settings.general.section.advanced": "ขั้นสูง",
"settings.general.section.notifications": "การแจ้งเตือนระบบ",
@@ -1089,6 +1142,42 @@ export const dict = {
"session.delete.button": "ลบเซสชัน",
"workspace.new": "พื้นที่ทำงานใหม่",
"common.viewAll": "ดูทั้งหมด",
"settings.tab.workspaces": "พื้นที่ทำงาน",
"settings.workspaces.filter.all": "ทุกโปรเจกต์",
"settings.workspaces.empty": "ไม่มีพื้นที่ทำงาน",
"settings.workspaces.count.one": "{{count}} พื้นที่ทำงาน",
"settings.workspaces.count.other": "{{count}} พื้นที่ทำงาน",
"settings.workspaces.sessions.one": "{{count}} เซสชันใน {{project}}",
"settings.workspaces.sessions.other": "{{count}} เซสชันใน {{project}}",
"settings.workspaces.lastActiveSession": "เซสชันที่ใช้งานล่าสุด",
"settings.workspaces.deleteAll": "ลบพื้นที่ทำงานทั้งหมด",
"settings.workspaces.deleteAll.confirm": "ลบพื้นที่ทำงานทั้งหมด {{count}} รายการหรือไม่?",
"settings.workspaces.delete.warning":
"ไดเรกทอรีและสาขาของพื้นที่ทำงานจะถูกลบอย่างถาวร รวมถึงการเปลี่ยนแปลงที่ยังไม่ได้ผสานซึ่งแสดงด้านล่าง",
"settings.workspaces.deleteAll.warning":
"พื้นที่ทำงานที่เลือก {{count}} รายการใน {{project}} จะถูกลบอย่างถาวรก็ต่อเมื่อแต่ละรายการไม่มีการเปลี่ยนแปลงค้างอยู่ ไม่ได้ใช้งาน และไม่มีเซสชันที่เชื่อมโยง",
"settings.workspaces.delete.blocked.active": "ลบพื้นที่ทำงานที่ใช้งานอยู่ไม่ได้",
"settings.workspaces.delete.blocked.linked":
"เซสชันที่เชื่อมโยงจะยังคงอยู่ แต่ไดเรกทอรีทำงานของเซสชันจะถูกลบอย่างถาวร",
"settings.workspaces.default.title": "สภาพแวดล้อมเริ่มต้น",
"settings.workspaces.default.description": "เลือกตำแหน่งเริ่มต้นของเซสชันใหม่",
"settings.workspaces.default.lastUsed": "ใช้ล่าสุดต่อโปรเจกต์",
"settings.workspaces.default.local": "ไดเรกทอรีในเครื่อง",
"settings.workspaces.default.new": "พื้นที่ทำงานใหม่",
"workspace.move.title": "ย้ายไปยังพื้นที่ทำงาน",
"workspace.move.menu.title": "ย้ายเซสชันไปยัง",
"workspace.move.failed": "ไม่สามารถย้ายเซสชัน",
"workspace.lifecycle.creating": "กำลังสร้างพื้นที่ทำงาน",
"workspace.lifecycle.created": "สร้างพื้นที่ทำงานแล้ว",
"workspace.lifecycle.starting": "กำลังเริ่มเซสชัน",
"workspace.onboarding.title": "แยกเซสชันด้วยพื้นที่ทำงาน",
"workspace.onboarding.description": "แต่ละเซสชันจะมี checkout ของตัวเอง จึงไม่รบกวนรีโพซิทอรีในเครื่องของคุณ",
"workspace.lifecycle.moving": "กำลังย้ายไปยังพื้นที่ทำงาน",
"workspace.lifecycle.set": "ตั้งค่าพื้นที่ทำงานแล้ว",
"session.summary.title": "รายละเอียดเซสชัน",
"session.summary.noBranch": "ไม่มีสาขา",
"session.summary.basedOn": "อิงจาก {{branch}}",
"workspace.type.local": "ในเครื่อง",
"workspace.type.sandbox": "แซนด์บ็อกซ์",
"workspace.create.failed.title": "ไม่สามารถสร้างพื้นที่ทำงาน",
+89
View File
@@ -1133,4 +1133,93 @@ export const dict = {
"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",
"toast.migration.failed.title": "Maglumat göçürmesi başa barmady",
"session.background.moveTasks": "{{tasks}}-y fona geçiriň",
"session.background.inBackground": "{{tasks}} fonda işleýär",
"session.background.combine": "{{first}} we {{second}}",
"session.background.shell.one": "{{count}} shell",
"session.background.shell.other": "{{count}} shell",
"session.background.subagent.one": "{{count}} kömekçi agent",
"session.background.subagent.other": "{{count}} kömekçi agent",
"command.session.background": "Fona geçiriň",
"session.timeline.notice.finished": "{{actor}} tamamlady",
"session.timeline.notice.failed": "{{actor}} başa barmady",
"session.timeline.notice.cancelled": "{{actor}} ýatyryldy",
"settings.tab.preferences": "Saýlamalar",
"settings.tab.notifications": "Bildirişler",
"settings.tab.projects": "Taslamalar",
"settings.tab.extensions": "Giňeltmeler",
"settings.preferences.description": "Saýlamalary, temany we başlangyç özüni alyp barşy sazlaň",
"settings.appearance.description": "Temany we şriftleri sazlaň",
"settings.notifications.description": "Bildirişleri haçan almalydygyny we sesleri haçan eşitmelidigini saýlaň",
"settings.shortcuts.description": "Adaty hereketler üçin gysga ýollary sazlaň",
"settings.servers.description": "Serwer birikmelerini dolandyryň",
"settings.projects.title": "Taslamalar",
"settings.projects.description": "Bu serwerde taslama sazlamalaryny dolandyryň",
"settings.projects.empty": "Taslama tapylmady",
"settings.projects.server.all": "Ähli serwerler",
"settings.mcps.description": "Model Context Protocol (MCP) serwerlerini we gurallaryny dolandyryň",
"settings.extensions.description": "Bu serwerde elýeterli giňeltmeleri dolandyryň",
"settings.extensions.tab.mcps": "MCP-ler",
"settings.extensions.tab.skills": "Başarnyklar",
"settings.extensions.availableAll": "Ähli taslamalar üçin elýeterli",
"settings.extensions.manageConfig": "opencode.json-da dolandyryň",
"settings.extensions.addSkills": "Başarnyklary nädip goşmaly",
"dialog.server.authenticate.title": "Şahsyýeti tassyklaň",
"project.settings.general.description": "Taslamanyň adyny we görnüşini dolandyryň",
"project.settings.scripts": "Skriptler",
"project.settings.scripts.description": "Bu taslama üçin skriptleri sazlaň",
"project.settings.extensions.description": "Bu taslama üçin elýeterli giňeltmeleri görüň",
"project.settings.extensions.tab.lsps": "LSP-ler",
"project.settings.extensions.added": "Bu taslama goşuldy",
"project.settings.extensions.shared": "Ähli taslamalar bilen paýlaşylýar",
"project.settings.extensions.lsp.detected": "Tapylan dil serwerleri",
"project.settings.extensions.lsp.description": "Faýl görnüşlerinden awtomatik tapyldy",
"project.settings.extensions.setupRequired": "Sazlama zerur",
"settings.general.section.general": "Umumy",
"common.viewAll": "Hemmesini görüň",
"session.new.workspace.local.tooltip": "Häzirki checkout-y ulanyň",
"session.new.workspace.new.tooltip": "Aýratyn checkout dörediň",
"session.new.workspace.fromBranch": "{{branch}} şahasyndan",
"session.new.workspace.trigger.tooltip": "Sessiýanyň nirede işlejekdigini saýlaň",
"session.new.workspace.search.placeholder": "Workspace-lary gözläň",
"settings.tab.workspaces": "Workspace-lar",
"settings.workspaces.filter.all": "Ähli taslamalar",
"settings.workspaces.empty": "Workspace ýok",
"settings.workspaces.count.one": "{{count}} workspace",
"settings.workspaces.count.other": "{{count}} workspace",
"settings.workspaces.sessions.one": "{{project}} taslamasynda {{count}} sessiýa",
"settings.workspaces.sessions.other": "{{project}} taslamasynda {{count}} sessiýa",
"settings.workspaces.lastActiveSession": "Soňky işjeň sessiýa",
"settings.workspaces.deleteAll": "Ähli workspace-lary pozuň",
"settings.workspaces.deleteAll.confirm": "Ähli {{count}} workspace pozulsynmy?",
"settings.workspaces.delete.warning":
"Workspace bukjasy we şahasy, aşakda görkezilen birleşdirilmedik üýtgeşmeler bilen bilelikde hemişelik aýrylar.",
"settings.workspaces.deleteAll.warning":
"{{project}} taslamasyndaky saýlanan {{count}} workspace diňe olaryň her biri arassa, işjeň däl we baglanan sessiýasy ýok bolsa hemişelik aýrylar.",
"settings.workspaces.delete.blocked.active": "Işjeň workspace-i pozup bolmaýar.",
"settings.workspaces.delete.blocked.linked": "Baglanan sessiýalar galar, emma olaryň iş bukjasy hemişelik aýrylar.",
"settings.workspaces.default.title": "Başlangyç gurşaw",
"settings.workspaces.default.description": "Täze sessiýalaryň nirede başlanmalydygyny saýlaň",
"settings.workspaces.default.lastUsed": "Her taslama boýunça soňky ulanylan",
"settings.workspaces.default.local": "Ýerli bukja",
"settings.workspaces.default.new": "Täze workspace",
"workspace.move.title": "Workspace-e geçiriň",
"workspace.move.menu.title": "Sessiýany şu ýere geçiriň",
"workspace.move.failed": "Sessiýany geçirip bolmady",
"workspace.lifecycle.creating": "Workspace döredilýär",
"workspace.lifecycle.created": "Workspace döredildi",
"workspace.lifecycle.starting": "Sessiýa başladylýar",
"workspace.onboarding.title": "Sessiýalary workspace-lar bilen aýratynlaşdyryň",
"workspace.onboarding.description":
"Her biriniň öz checkout-y bar, şonuň üçin ýerli ammaryňyza hiç zat päsgel bermeýär",
"workspace.lifecycle.moving": "Workspace-e geçirilýär",
"workspace.lifecycle.set": "Workspace bellenildi",
"session.summary.title": "Sessiýanyň jikme-jiklikleri",
"session.summary.noBranch": "Şaha ýok",
"session.summary.basedOn": "{{branch}} esasynda",
"provider.disconnect.toast.noCredentials.description": "{{provider}} üçin aýryp bolýan giriş maglumatlary tapylmady.",
"provider.disconnect.toast.failed.description": "{{provider}} birikmesini aýryp bolmady.",
"session.timeline.notice.instructionsUpdated": "Görkezmeler täzelendi: {{sources}}",
"session.timeline.notice.restart": "Gaýtadan başladylandan soň dowam edýär",
}
+95
View File
@@ -1234,4 +1234,99 @@ export const dict = {
"error.childStore.persistedProjectIconCreateFailed": "Kalıcı proje simgesi oluşturulamadı",
"error.childStore.storeCreateFailed": "Depo oluşturulamadı",
"terminal.connectionLost.abnormalClose": "WebSocket anormal şekilde kapandı: {{code}}",
"provider.disconnect.toast.noCredentials.description": "{{provider}} için kaldırılabilir kimlik bilgisi bulunamadı.",
"provider.disconnect.toast.failed.description": "{{provider}} bağlantısı kesilemedi.",
"toast.migration.failed.title": "Veri geçişi başarısız oldu",
"session.background.moveTasks": "{{tasks}} arka plana taşı",
"session.background.inBackground": "{{tasks}} arka planda çalışıyor",
"session.background.combine": "{{first}} ve {{second}}",
"session.background.shell.one": "{{count}} kabuk",
"session.background.shell.other": "{{count}} kabuk",
"session.background.subagent.one": "{{count}} alt ajan",
"session.background.subagent.other": "{{count}} alt ajan",
"command.session.background": "Arka plana taşı",
"session.timeline.notice.finished": "{{actor}} tamamlandı",
"session.timeline.notice.failed": "{{actor}} başarısız oldu",
"session.timeline.notice.cancelled": "{{actor}} iptal edildi",
"session.timeline.notice.instructionsUpdated": "Yönergeler güncellendi: {{sources}}",
"session.timeline.notice.restart": "Yeniden başlatmanın ardından devam ediliyor",
"settings.tab.preferences": "Tercihler",
"settings.tab.notifications": "Bildirimler",
"settings.tab.projects": "Projeler",
"settings.tab.extensions": "Uzantılar",
"settings.preferences.description": "Tercihleri, temayı ve varsayılan davranışı özelleştirin",
"settings.appearance.description": "Temayı ve yazı tiplerini özelleştirin",
"settings.notifications.description": "Ne zaman bildirim ve sesli uyarı alacağınızı seçin",
"settings.shortcuts.description": "Yaygın eylemlerin kısayollarını özelleştirin",
"settings.servers.description": "Sunucu bağlantılarını yönetin",
"settings.projects.title": "Projeler",
"settings.projects.description": "Bu sunucudaki proje ayarlarını yönetin",
"settings.projects.empty": "Proje bulunamadı",
"settings.projects.server.all": "Tüm sunucular",
"settings.mcps.description": "Model Bağlam Protokolü (MCP) sunucularını ve araçlarını yönetin",
"settings.extensions.description": "Bu sunucuda kullanılabilen uzantıları yönetin",
"settings.extensions.tab.mcps": "MCP'ler",
"settings.extensions.tab.skills": "Beceriler",
"settings.extensions.availableAll": "Tüm projelerde kullanılabilir",
"settings.extensions.manageConfig": "opencode.json içinde yönet",
"settings.extensions.addSkills": "Beceri ekleme",
"dialog.server.authenticate.title": "Kimlik doğrula",
"project.settings.general.description": "Proje adını ve görünümünü yönetin",
"project.settings.scripts": "Betikler",
"project.settings.scripts.description": "Bu projenin betiklerini yapılandırın",
"project.settings.extensions.description": "Bu projede kullanılabilen uzantıları görüntüleyin",
"project.settings.extensions.tab.lsps": "LSP'ler",
"project.settings.extensions.added": "Bu projeye eklendi",
"project.settings.extensions.shared": "Tüm projelerle paylaşılıyor",
"project.settings.extensions.lsp.detected": "Algılanan dil sunucuları",
"project.settings.extensions.lsp.description": "Dosya türlerinden otomatik algılanır",
"project.settings.extensions.setupRequired": "Kurulum gerekli",
"settings.general.section.general": "Genel",
"common.viewAll": "Tümünü görüntüle",
"session.new.workspace.local.tooltip": "Mevcut çalışma kopyasını kullan",
"session.new.workspace.new.tooltip": "Yalıtılmış çalışma kopyası oluştur",
"session.new.workspace.fromBranch": "{{branch}} dalından",
"session.new.workspace.trigger.tooltip": "Oturumun nerede çalıştırılacağını seçin",
"session.new.workspace.search.placeholder": "Çalışma alanı ara",
"settings.tab.workspaces": "Çalışma alanları",
"settings.workspaces.filter.all": "Tüm projeler",
"settings.workspaces.empty": "Çalışma alanı yok",
"settings.workspaces.count.one": "{{count}} çalışma alanı",
"settings.workspaces.count.other": "{{count}} çalışma alanı",
"settings.workspaces.sessions.one": "{{project}} projesinde {{count}} oturum",
"settings.workspaces.sessions.other": "{{project}} projesinde {{count}} oturum",
"settings.workspaces.lastActiveSession": "Son etkin oturum",
"settings.workspaces.deleteAll": "Tüm çalışma alanlarını sil",
"settings.workspaces.deleteAll.confirm": "{{count}} çalışma alanının tümü silinsin mi?",
"settings.workspaces.delete.warning":
"Çalışma alanı dizini ve dalı, aşağıda gösterilen birleşmemiş değişikliklerle birlikte kalıcı olarak kaldırılacak.",
"settings.workspaces.deleteAll.warning":
"{{project}} projesinde seçilen {{count}} çalışma alanı yalnızca her biri temiz ve etkin değilse ve bağlı oturumu yoksa kalıcı olarak kaldırılacak.",
"settings.workspaces.delete.blocked.active": "Etkin çalışma alanı silinemez.",
"settings.workspaces.delete.blocked.linked":
"Bağlı oturumlar kalacak ancak çalışma dizinleri kalıcı olarak kaldırılacak.",
"settings.workspaces.default.title": "Varsayılan ortam",
"settings.workspaces.default.description": "Yeni oturumların nerede başlayacağını seçin",
"settings.workspaces.default.lastUsed": "Proje başına son kullanılan",
"settings.workspaces.default.local": "Yerel dizin",
"settings.workspaces.default.new": "Yeni çalışma alanı",
"workspace.move.title": "Çalışma alanına taşı",
"workspace.move.menu.title": "Oturumu şuraya taşı",
"workspace.move.failed": "Oturum çalışma alanına taşınamadı",
"workspace.lifecycle.creating": "Çalışma alanı oluşturuluyor",
"workspace.lifecycle.created": "Çalışma alanı oluşturuldu",
"workspace.lifecycle.starting": "Oturum başlatılıyor",
"workspace.onboarding.title": "Oturumları çalışma alanlarıyla yalıtın",
"workspace.onboarding.description":
"Her oturum kendi çalışma kopyasını kullanır, böylece yerel deponuzdaki çalışmalar birbirini etkilemez",
"workspace.lifecycle.moving": "Çalışma alanına taşınıyor",
"workspace.lifecycle.set": "Çalışma alanı ayarlandı",
"session.summary.title": "Oturum ayrıntıları",
"session.summary.noBranch": "Dal yok",
"session.summary.basedOn": "Temel alınan dal: {{branch}}",
} satisfies Partial<Record<Keys, string>>
+97
View File
@@ -1242,4 +1242,101 @@ export const dict = {
"workspace.reset.archived.one": "1 сесію буде заархівовано.",
"workspace.reset.archived.many": "{{count}} сесій буде заархівовано.",
"workspace.reset.note": "Це скине робочу область, щоб вона відповідала гілці за замовчуванням.",
"provider.disconnect.toast.noCredentials.description": "Для {{provider}} не знайдено знімних облікових даних.",
"provider.disconnect.toast.failed.description": "Не вдалося від’єднати {{provider}}.",
"toast.migration.failed.title": "Помилка міграції даних",
"session.background.moveTasks": "Перемістити {{tasks}} у фоновий режим",
"session.background.inBackground": "Запущено {{tasks}} у фоновому режимі",
"session.background.combine": "{{first}} і {{second}}",
"session.background.shell.one": "{{count}} оболонка",
"session.background.shell.other": "{{count}} оболонки",
"session.background.subagent.one": "{{count}} субагент",
"session.background.subagent.other": "{{count}} субагентів",
"command.session.background": "Перейти на задній план",
"session.timeline.notice.finished": "{{actor}} закінчено",
"session.timeline.notice.failed": "{{actor}} не вдалося",
"session.timeline.notice.cancelled": "{{actor}} анульовано",
"session.timeline.notice.instructionsUpdated": "Інструкції оновлено: {{sources}}",
"session.timeline.notice.restart": "Продовження після перезавантаження",
"settings.tab.preferences": "Уподобання",
"settings.tab.notifications": "Сповіщення",
"settings.tab.projects": "Проекти",
"settings.tab.extensions": "Розширення",
"settings.preferences.description": "Налаштуйте параметри, тему та поведінку за замовчуванням",
"settings.appearance.description": "Налаштуйте тему та шрифти",
"settings.notifications.description": "Виберіть, коли отримувати сповіщення та чути звуки",
"settings.shortcuts.description": "Налаштуйте ярлики для типових дій",
"settings.servers.description": "Керуйте підключеннями до сервера",
"settings.projects.title": "Проекти",
"settings.projects.description": "Керуйте налаштуваннями проекту на цьому сервері",
"settings.projects.empty": "Проекти не знайдено",
"settings.projects.server.all": "Всі сервери",
"settings.mcps.description": "Керуйте серверами та інструментами протоколу модельного контексту (MCP).",
"settings.extensions.description": "Керуйте розширеннями, доступними на цьому сервері",
"settings.extensions.tab.mcps": "МКП",
"settings.extensions.tab.skills": "Навички",
"settings.extensions.availableAll": "Доступно для всіх проектів",
"settings.extensions.manageConfig": "Керуйте в opencode.json",
"settings.extensions.addSkills": "Як додати навички",
"dialog.server.authenticate.title": "Автентифікувати",
"project.settings.general.description": "Керуйте назвою та зовнішнім виглядом проекту",
"project.settings.scripts": "Сценарії",
"project.settings.scripts.description": "Налаштувати сценарії для цього проекту",
"project.settings.extensions.description": "Переглянути розширення, доступні для цього проекту",
"project.settings.extensions.tab.lsps": "LSP",
"project.settings.extensions.added": "Додано до цього проекту",
"project.settings.extensions.shared": "Спільно з усіма проектами",
"project.settings.extensions.lsp.detected": "Виявлено мовні сервери",
"project.settings.extensions.lsp.description": "Автоматично визначається за типами файлів",
"project.settings.extensions.setupRequired": "Потрібне налаштування",
"settings.general.section.general": "Загальні",
"common.viewAll": "Переглянути всі",
"session.new.workspace.local.tooltip": "Використати поточну робочу копію",
"session.new.workspace.new.tooltip": "Створити ізольовану робочу копію",
"session.new.workspace.fromBranch": "від {{branch}}",
"session.new.workspace.trigger.tooltip": "Виберіть, де запускати сеанс",
"session.new.workspace.search.placeholder": "Пошук робочих областей",
"settings.tab.workspaces": "Робочі області",
"settings.workspaces.filter.all": "Всі проекти",
"settings.workspaces.empty": "Немає робочих місць",
"settings.workspaces.count.one": "{{count}} робоче місце",
"settings.workspaces.count.other": "{{count}} робочих місць",
"settings.workspaces.sessions.one": "{{count}} сеанс у {{project}}",
"settings.workspaces.sessions.other": "{{count}} сеансів у {{project}}",
"settings.workspaces.lastActiveSession": "Останній активний сеанс",
"settings.workspaces.deleteAll": "Видалити всі робочі області",
"settings.workspaces.deleteAll.confirm": "Видалити всі {{count}} робочих областей?",
"settings.workspaces.delete.warning":
"Каталог робочої області та гілку буде видалено назавжди, включно з усіма необ’єднаними змінами, показаними нижче.",
"settings.workspaces.deleteAll.warning":
"{{count}} вибраних робочих областей у {{project}} буде остаточно видалено, лише якщо кожна чиста, неактивна та не має пов’язаних сеансів.",
"settings.workspaces.delete.blocked.active": "Активну робочу область не можна видалити.",
"settings.workspaces.delete.blocked.linked":
"Пов’язані сеанси залишаться, але їх робочий каталог буде остаточно видалено.",
"settings.workspaces.default.title": "Середовище за замовчуванням",
"settings.workspaces.default.description": "Виберіть місце початку нових сеансів",
"settings.workspaces.default.lastUsed": "Останнє використання для проекту",
"settings.workspaces.default.local": "Локальний каталог",
"settings.workspaces.default.new": "Нова робоча область",
"workspace.move.title": "Перейти до робочого простору",
"workspace.move.menu.title": "Перемістити сеанс до",
"workspace.move.failed": "Не вдалося перемістити сеанс",
"workspace.lifecycle.creating": "Створення робочого простору",
"workspace.lifecycle.created": "Робоча область створена",
"workspace.lifecycle.starting": "Початок сесії",
"workspace.onboarding.title": "Ізолюйте сеанси за допомогою робочих областей",
"workspace.onboarding.description": "Кожна отримує власну робочу копію, тому ніщо не заважає локальному репозиторію",
"workspace.lifecycle.moving": "Перехід до робочого простору",
"workspace.lifecycle.set": "Робочу область налаштовано",
"session.summary.title": "Деталі сеансу",
"session.summary.noBranch": "Немає гілки",
"session.summary.basedOn": "За матеріалами {{branch}}",
"session.background.shell.few": "{{count}} оболонки",
"session.background.shell.many": "{{count}} оболонок",
"session.background.subagent.few": "{{count}} субагенти",
"session.background.subagent.many": "{{count}} субагентів",
"settings.workspaces.count.few": "{{count}} робочих місця",
"settings.workspaces.count.many": "{{count}} робочих місць",
"settings.workspaces.sessions.few": "{{count}} сесії в {{project}}",
"settings.workspaces.sessions.many": "{{count}} сеансів у {{project}}",
}
+91
View File
@@ -1139,4 +1139,95 @@ export const dict = {
"workspace.reset.archived.one": "1 سیشن آرکائیو کیا جائے گا۔",
"workspace.reset.archived.many": "{{count}} سیشنز آرکائیو کیے جائیں گے۔",
"workspace.reset.note": "یہ ڈیفالٹ برانچ سے ملنے کے لیے ورک اسپیس کو دوبارہ ترتیب دے گا۔",
"provider.disconnect.toast.noCredentials.description":
"\u2068{{provider}}\u2069 کے لیے ہٹائی جا سکنے والی کوئی اسناد نہیں ملیں۔",
"provider.disconnect.toast.failed.description": "\u2068{{provider}}\u2069 سے کنکشن منقطع کرنے میں ناکام۔",
"toast.migration.failed.title": "ڈیٹا کی منتقلی ناکام ہو گئی",
"session.background.moveTasks": "\u2068{{tasks}}\u2069 کو پس منظر میں منتقل کریں",
"session.background.inBackground": "\u2068{{tasks}}\u2069 پس منظر میں چل رہے ہیں",
"session.background.combine": "\u2068{{first}}\u2069 اور \u2068{{second}}\u2069",
"session.background.shell.one": "{{count}} شیل",
"session.background.shell.other": "{{count}} شیلز",
"session.background.subagent.one": "{{count}} ذیلی ایجنٹ",
"session.background.subagent.other": "{{count}} ذیلی ایجنٹس",
"command.session.background": "پس منظر میں منتقل کریں",
"session.timeline.notice.finished": "\u2068{{actor}}\u2069 کا کام مکمل ہو گیا",
"session.timeline.notice.failed": "\u2068{{actor}}\u2069 کا کام ناکام ہو گیا",
"session.timeline.notice.cancelled": "\u2068{{actor}}\u2069 کا کام منسوخ ہو گیا",
"session.timeline.notice.instructionsUpdated": "ہدایات اپ ڈیٹ ہو گئیں: \u2068{{sources}}\u2069",
"session.timeline.notice.restart": "دوبارہ شروع ہونے کے بعد جاری ہے",
"settings.tab.preferences": "ترجیحات",
"settings.tab.notifications": "اطلاعات",
"settings.tab.projects": "پروجیکٹس",
"settings.tab.extensions": "ایکسٹینشنز",
"settings.preferences.description": "ترجیحات، تھیم اور ڈیفالٹ طرز عمل حسب ضرورت بنائیں",
"settings.appearance.description": "تھیم اور فونٹس حسب ضرورت بنائیں",
"settings.notifications.description": "منتخب کریں کہ اطلاعات کب موصول ہوں اور آوازیں کب سنائی دیں",
"settings.shortcuts.description": "عام کارروائیوں کے شارٹ کٹس حسب ضرورت بنائیں",
"settings.servers.description": "سرور کنکشنز کا نظم کریں",
"settings.projects.title": "پروجیکٹس",
"settings.projects.description": "اس سرور پر پروجیکٹ کی ترتیبات کا نظم کریں",
"settings.projects.empty": "کوئی پروجیکٹ نہیں ملا",
"settings.projects.server.all": "تمام سرورز",
"settings.mcps.description": "Model Context Protocol (MCP) سرورز اور ٹولز کا نظم کریں",
"settings.extensions.description": "اس سرور پر دستیاب ایکسٹینشنز کا نظم کریں",
"settings.extensions.tab.mcps": "MCPs",
"settings.extensions.tab.skills": "مہارتیں",
"settings.extensions.availableAll": "تمام پروجیکٹس کے لیے دستیاب",
"settings.extensions.manageConfig": "opencode.json میں نظم کریں",
"settings.extensions.addSkills": "مہارتیں شامل کرنے کا طریقہ",
"dialog.server.authenticate.title": "توثیق کریں",
"project.settings.general.description": "پروجیکٹ کے نام اور ظاہری شکل کا نظم کریں",
"project.settings.scripts": "اسکرپٹس",
"project.settings.scripts.description": "اس پروجیکٹ کے لیے اسکرپٹس ترتیب دیں",
"project.settings.extensions.description": "اس پروجیکٹ کے لیے دستیاب ایکسٹینشنز دیکھیں",
"project.settings.extensions.tab.lsps": "LSPs",
"project.settings.extensions.added": "اس پروجیکٹ میں شامل",
"project.settings.extensions.shared": "تمام پروجیکٹس کے ساتھ مشترک",
"project.settings.extensions.lsp.detected": "شناخت شدہ زبان سرورز",
"project.settings.extensions.lsp.description": "فائل کی اقسام سے خودکار طور پر شناخت شدہ",
"project.settings.extensions.setupRequired": "سیٹ اپ درکار ہے",
"settings.general.section.general": "عمومی",
"common.viewAll": "سب دیکھیں",
"session.new.workspace.local.tooltip": "موجودہ چیک آؤٹ استعمال کریں",
"session.new.workspace.new.tooltip": "الگ تھلگ چیک آؤٹ بنائیں",
"session.new.workspace.fromBranch": "\u2068{{branch}}\u2069 سے",
"session.new.workspace.trigger.tooltip": "منتخب کریں کہ سیشن کہاں چلانا ہے",
"session.new.workspace.search.placeholder": "ورک اسپیسز تلاش کریں",
"settings.tab.workspaces": "ورک اسپیسز",
"settings.workspaces.filter.all": "تمام پروجیکٹس",
"settings.workspaces.empty": "کوئی ورک اسپیس نہیں",
"settings.workspaces.count.one": "{{count}} ورک اسپیس",
"settings.workspaces.count.other": "{{count}} ورک اسپیسز",
"settings.workspaces.sessions.one": "\u2068{{project}}\u2069 میں {{count}} سیشن",
"settings.workspaces.sessions.other": "\u2068{{project}}\u2069 میں {{count}} سیشنز",
"settings.workspaces.lastActiveSession": "آخری فعال سیشن",
"settings.workspaces.deleteAll": "تمام ورک اسپیسز حذف کریں",
"settings.workspaces.deleteAll.confirm": "تمام {{count}} ورک اسپیسز حذف کریں؟",
"settings.workspaces.delete.warning":
"ورک اسپیس ڈائریکٹری اور برانچ مستقل طور پر ہٹا دی جائیں گی، بشمول ذیل میں دکھائی گئی غیر ضم شدہ تبدیلیاں۔",
"settings.workspaces.deleteAll.warning":
"\u2068{{project}}\u2069 میں منتخب {{count}} ورک اسپیسز صرف اسی صورت مستقل طور پر ہٹائی جائیں گی جب ہر ایک صاف، غیر فعال اور منسلک سیشنز کے بغیر ہو۔",
"settings.workspaces.delete.blocked.active": "فعال ورک اسپیس حذف نہیں کی جا سکتی۔",
"settings.workspaces.delete.blocked.linked":
"منسلک سیشنز موجود رہیں گے، لیکن ان کی ورکنگ ڈائریکٹری مستقل طور پر ہٹا دی جائے گی۔",
"settings.workspaces.default.title": "ڈیفالٹ ماحول",
"settings.workspaces.default.description": "منتخب کریں کہ نئے سیشن کہاں شروع ہوں",
"settings.workspaces.default.lastUsed": "ہر پروجیکٹ میں آخری استعمال شدہ",
"settings.workspaces.default.local": "مقامی ڈائریکٹری",
"settings.workspaces.default.new": "نئی ورک اسپیس",
"workspace.move.title": "ورک اسپیس میں منتقل کریں",
"workspace.move.menu.title": "سیشن کو یہاں منتقل کریں",
"workspace.move.failed": "سیشن منتقل کرنے میں ناکام",
"workspace.lifecycle.creating": "ورک اسپیس بنائی جا رہی ہے",
"workspace.lifecycle.created": "ورک اسپیس بن گئی",
"workspace.lifecycle.starting": "سیشن شروع ہو رہا ہے",
"workspace.onboarding.title": "ورک اسپیسز کے ذریعے سیشنز الگ رکھیں",
"workspace.onboarding.description":
"ہر ایک کو اپنا چیک آؤٹ ملتا ہے، اس لیے آپ کی مقامی ریپوزٹری میں کوئی مداخلت نہیں ہوتی",
"workspace.lifecycle.moving": "ورک اسپیس میں منتقل کیا جا رہا ہے",
"workspace.lifecycle.set": "ورک اسپیس مقرر کر دی گئی",
"session.summary.title": "سیشن کی تفصیلات",
"session.summary.noBranch": "کوئی برانچ نہیں",
"session.summary.basedOn": "\u2068{{branch}}\u2069 پر مبنی",
}
+91
View File
@@ -1146,4 +1146,95 @@ export const dict = {
"workspace.reset.archived.many": "{{count}} seanslari arxivlanadi.",
"workspace.reset.note": "Bu standart filialga mos keladigan ish maydonini tiklaydi.",
"dialog.usageExceeded.dontShowAgain": "Boshqa korsatma",
"toast.migration.failed.title": "Maʼlumotlarni kochirish amalga oshmadi",
"session.background.moveTasks": "{{tasks}}ni fonga otkazish",
"session.background.inBackground": "{{tasks}} fonda ishlamoqda",
"session.background.combine": "{{first}} va {{second}}",
"session.background.shell.one": "{{count}} shell",
"session.background.shell.other": "{{count}} shell",
"session.background.subagent.one": "{{count}} quyi agent",
"session.background.subagent.other": "{{count}} quyi agent",
"command.session.background": "Fonga otkazish",
"session.timeline.notice.finished": "{{actor}} yakunlandi",
"session.timeline.notice.failed": "{{actor}} amalga oshmadi",
"session.timeline.notice.cancelled": "{{actor}} bekor qilindi",
"settings.tab.preferences": "Afzalliklar",
"settings.tab.notifications": "Bildirishnomalar",
"settings.tab.projects": "Loyihalar",
"settings.tab.extensions": "Kengaytmalar",
"settings.preferences.description": "Afzalliklar, mavzu va standart xatti-harakatni moslang",
"settings.appearance.description": "Mavzu va shriftlarni moslang",
"settings.notifications.description": "Bildirishnomalarni qachon olish va tovushlarni qachon eshitishni tanlang",
"settings.shortcuts.description": "Umumiy amallar uchun tezkor tugmalarni moslang",
"settings.servers.description": "Server ulanishlarini boshqaring",
"settings.projects.title": "Loyihalar",
"settings.projects.description": "Ushbu serverdagi loyiha sozlamalarini boshqaring",
"settings.projects.empty": "Loyiha topilmadi",
"settings.projects.server.all": "Barcha serverlar",
"settings.mcps.description": "Model Context Protocol (MCP) serverlari va vositalarini boshqaring",
"settings.extensions.description": "Ushbu serverda mavjud kengaytmalarni boshqaring",
"settings.extensions.tab.mcps": "MCP-lar",
"settings.extensions.tab.skills": "Konikmalar",
"settings.extensions.availableAll": "Barcha loyihalar uchun mavjud",
"settings.extensions.manageConfig": "opencode.json faylida boshqarish",
"settings.extensions.addSkills": "Konikmalarni qanday qoshish kerak",
"dialog.server.authenticate.title": "Autentifikatsiya",
"project.settings.general.description": "Loyiha nomi va korinishini boshqaring",
"project.settings.scripts": "Skriptlar",
"project.settings.scripts.description": "Ushbu loyiha uchun skriptlarni sozlang",
"project.settings.extensions.description": "Ushbu loyiha uchun mavjud kengaytmalarni koring",
"project.settings.extensions.tab.lsps": "LSP-lar",
"project.settings.extensions.added": "Ushbu loyihaga qoshilgan",
"project.settings.extensions.shared": "Barcha loyihalar bilan ulashilgan",
"project.settings.extensions.lsp.detected": "Aniqlangan til serverlari",
"project.settings.extensions.lsp.description": "Fayl turlaridan avtomatik aniqlangan",
"project.settings.extensions.setupRequired": "Sozlash talab qilinadi",
"settings.general.section.general": "Umumiy",
"common.viewAll": "Barchasini korish",
"session.new.workspace.local.tooltip": "Joriy checkout-dan foydalanish",
"session.new.workspace.new.tooltip": "Ajratilgan checkout yaratish",
"session.new.workspace.fromBranch": "{{branch}} branch-idan",
"session.new.workspace.trigger.tooltip": "Sessiyani qayerda ishga tushirishni tanlang",
"session.new.workspace.search.placeholder": "Ish maydonlarini qidirish",
"settings.tab.workspaces": "Ish maydonlari",
"settings.workspaces.filter.all": "Barcha loyihalar",
"settings.workspaces.empty": "Ish maydoni yoq",
"settings.workspaces.count.one": "{{count}} ish maydoni",
"settings.workspaces.count.other": "{{count}} ish maydoni",
"settings.workspaces.sessions.one": "{{project}} loyihasida {{count}} sessiya",
"settings.workspaces.sessions.other": "{{project}} loyihasida {{count}} sessiya",
"settings.workspaces.lastActiveSession": "Oxirgi faol sessiya",
"settings.workspaces.deleteAll": "Barcha ish maydonlarini ochirish",
"settings.workspaces.deleteAll.confirm": "Barcha {{count}} ish maydoni ochirilsinmi?",
"settings.workspaces.delete.warning":
"Ish maydoni katalogi va branch, jumladan quyida korsatilgan birlashtirilmagan ozgarishlar butunlay olib tashlanadi.",
"settings.workspaces.deleteAll.warning":
"{{project}} loyihasidagi tanlangan {{count}} ish maydoni faqat har biri toza, nofaol va boglangan sessiyalarsiz bolsa butunlay olib tashlanadi.",
"settings.workspaces.delete.blocked.active": "Faol ish maydonini ochirib bolmaydi.",
"settings.workspaces.delete.blocked.linked":
"Boglangan sessiyalar qoladi, ammo ularning ish katalogi butunlay olib tashlanadi.",
"settings.workspaces.default.title": "Standart muhit",
"settings.workspaces.default.description": "Yangi sessiyalar qayerda boshlanishini tanlang",
"settings.workspaces.default.lastUsed": "Har bir loyiha boyicha oxirgi ishlatilgan",
"settings.workspaces.default.local": "Mahalliy katalog",
"settings.workspaces.default.new": "Yangi ish maydoni",
"workspace.move.title": "Ish maydoniga kochirish",
"workspace.move.menu.title": "Sessiyani bu yerga kochirish",
"workspace.move.failed": "Sessiyani kochirib bolmadi",
"workspace.lifecycle.creating": "Ish maydoni yaratilmoqda",
"workspace.lifecycle.created": "Ish maydoni yaratildi",
"workspace.lifecycle.starting": "Sessiya boshlanmoqda",
"workspace.onboarding.title": "Sessiyalarni ish maydonlari bilan ajrating",
"workspace.onboarding.description":
"Har birining oz checkout-i bor, shuning uchun mahalliy omboringizga hech narsa xalaqit bermaydi",
"workspace.lifecycle.moving": "Ish maydoniga kochirilmoqda",
"workspace.lifecycle.set": "Ish maydoni belgilandi",
"session.summary.title": "Sessiya tafsilotlari",
"session.summary.noBranch": "Branch yoq",
"session.summary.basedOn": "{{branch}} asosida",
"provider.disconnect.toast.noCredentials.description":
"{{provider}} uchun olib tashlanadigan kirish maʼlumotlari topilmadi.",
"provider.disconnect.toast.failed.description": "{{provider}} ulanishini uzib bolmadi.",
"session.timeline.notice.instructionsUpdated": "Korsatmalar yangilandi: {{sources}}",
"session.timeline.notice.restart": "Qayta ishga tushirilgandan keyin davom etmoqda",
}
+90
View File
@@ -293,6 +293,9 @@ export const dict = {
"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.",
"provider.disconnect.toast.noCredentials.description":
"Không tìm thấy thông tin xác thực có thể xóa cho {{provider}}.",
"provider.disconnect.toast.failed.description": "Không ngắt kết nối được {{provider}}.",
"model.tag.free": "Miễn phí",
"model.tag.latest": "Mới nhất",
"model.provider.anthropic": "Anthropic",
@@ -618,6 +621,7 @@ export const dict = {
"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.migration.failed.title": "Không di chuyển được dữ liệu",
"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",
@@ -703,6 +707,19 @@ export const dict = {
"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.background.moveTasks": "Chuyển {{tasks}} sang nền",
"session.background.inBackground": "Đang chạy {{tasks}} trong nền",
"session.background.combine": "{{first}} và {{second}}",
"session.background.shell.one": "{{count}} shell",
"session.background.shell.other": "{{count}} shell",
"session.background.subagent.one": "{{count}} tác nhân phụ",
"session.background.subagent.other": "{{count}} tác nhân phụ",
"command.session.background": "Chuyển sang nền",
"session.timeline.notice.finished": "{{actor}} đã hoàn tất",
"session.timeline.notice.failed": "{{actor}} thất bại",
"session.timeline.notice.cancelled": "{{actor}} đã bị hủy",
"session.timeline.notice.instructionsUpdated": "Đã cập nhật hướng dẫn: {{sources}}",
"session.timeline.notice.restart": "Đang tiếp tục sau khi khởi động lại",
"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",
@@ -908,11 +925,43 @@ export const dict = {
"settings.section.desktop": "Desktop",
"settings.section.server": "Máy chủ",
"settings.tab.general": "Tổng quan",
"settings.tab.preferences": "Tùy chọn",
"settings.tab.shortcuts": "Phím tắt",
"settings.tab.notifications": "Thông báo",
"settings.tab.projects": "Dự án",
"settings.tab.extensions": "Tiện ích mở rộng",
"settings.preferences.description": "Tùy chỉnh tùy chọn, chủ đề và hành vi mặc định",
"settings.appearance.description": "Tùy chỉnh chủ đề và phông chữ",
"settings.notifications.description": "Chọn thời điểm nhận thông báo và phát âm thanh",
"settings.shortcuts.description": "Tùy chỉnh phím tắt cho các hành động thường dùng",
"settings.servers.description": "Quản lý kết nối máy chủ",
"settings.projects.title": "Dự án",
"settings.projects.description": "Quản lý cài đặt dự án trên máy chủ này",
"settings.projects.empty": "Không tìm thấy dự án nào",
"settings.projects.server.all": "Tất cả máy chủ",
"settings.mcps.description": "Quản lý máy chủ và công cụ Model Context Protocol (MCP)",
"settings.extensions.description": "Quản lý tiện ích mở rộng có sẵn trên máy chủ này",
"settings.extensions.tab.mcps": "MCP",
"settings.extensions.tab.skills": "Kỹ năng",
"settings.extensions.availableAll": "Có sẵn cho tất cả dự án",
"settings.extensions.manageConfig": "Quản lý trong opencode.json",
"settings.extensions.addSkills": "Cách thêm kỹ năng",
"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.",
"dialog.server.authenticate.title": "Xác thực",
"project.settings.general.description": "Quản lý tên và giao diện dự án",
"project.settings.scripts": "Tập lệnh",
"project.settings.scripts.description": "Cấu hình tập lệnh cho dự án này",
"project.settings.extensions.description": "Xem tiện ích mở rộng có sẵn cho dự án này",
"project.settings.extensions.tab.lsps": "LSP",
"project.settings.extensions.added": "Đã thêm vào dự án này",
"project.settings.extensions.shared": "Được chia sẻ với tất cả dự án",
"project.settings.extensions.lsp.detected": "Máy chủ ngôn ngữ đã phát hiện",
"project.settings.extensions.lsp.description": "Tự động phát hiện từ loại tệp",
"project.settings.extensions.setupRequired": "Cần thiết lập",
"settings.general.section.appearance": "Giao diện",
"settings.general.section.general": "Tổng quan",
"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",
@@ -1120,6 +1169,47 @@ export const dict = {
"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",
"common.viewAll": "Xem tất cả",
"session.new.workspace.local.tooltip": "Dùng checkout hiện tại",
"session.new.workspace.new.tooltip": "Tạo checkout tách biệt",
"session.new.workspace.fromBranch": "từ {{branch}}",
"session.new.workspace.trigger.tooltip": "Chọn nơi chạy phiên",
"session.new.workspace.search.placeholder": "Tìm kiếm không gian làm việc",
"settings.tab.workspaces": "Không gian làm việc",
"settings.workspaces.filter.all": "Tất cả dự án",
"settings.workspaces.empty": "Không có không gian làm việc",
"settings.workspaces.count.one": "{{count}} không gian làm việc",
"settings.workspaces.count.other": "{{count}} không gian làm việc",
"settings.workspaces.sessions.one": "{{count}} phiên trong {{project}}",
"settings.workspaces.sessions.other": "{{count}} phiên trong {{project}}",
"settings.workspaces.lastActiveSession": "Phiên hoạt động gần nhất",
"settings.workspaces.deleteAll": "Xóa tất cả không gian làm việc",
"settings.workspaces.deleteAll.confirm": "Xóa tất cả {{count}} không gian làm việc?",
"settings.workspaces.delete.warning":
"Thư mục và nhánh của không gian làm việc sẽ bị xóa vĩnh viễn, bao gồm mọi thay đổi chưa hợp nhất hiển thị bên dưới.",
"settings.workspaces.deleteAll.warning":
"{{count}} không gian làm việc đã chọn trong {{project}} sẽ chỉ bị xóa vĩnh viễn nếu từng không gian làm việc sạch, không hoạt động và không có phiên được liên kết.",
"settings.workspaces.delete.blocked.active": "Không thể xóa không gian làm việc đang hoạt động.",
"settings.workspaces.delete.blocked.linked":
"Các phiên được liên kết sẽ vẫn còn, nhưng thư mục làm việc của chúng sẽ bị xóa vĩnh viễn.",
"settings.workspaces.default.title": "Môi trường mặc định",
"settings.workspaces.default.description": "Chọn nơi bắt đầu phiên mới",
"settings.workspaces.default.lastUsed": "Dùng gần nhất theo từng dự án",
"settings.workspaces.default.local": "Thư mục cục bộ",
"settings.workspaces.default.new": "Không gian làm việc mới",
"workspace.move.title": "Chuyển sang không gian làm việc",
"workspace.move.menu.title": "Chuyển phiên tới",
"workspace.move.failed": "Không chuyển được phiên",
"workspace.lifecycle.creating": "Đang tạo không gian làm việc",
"workspace.lifecycle.created": "Đã tạo không gian làm việc",
"workspace.lifecycle.starting": "Đang bắt đầu phiên",
"workspace.onboarding.title": "Cô lập phiên bằng không gian làm việc",
"workspace.onboarding.description": "Mỗi phiên có checkout riêng, nên không ảnh hưởng đến kho lưu trữ cục bộ của bạn",
"workspace.lifecycle.moving": "Đang chuyển sang không gian làm việc",
"workspace.lifecycle.set": "Đã đặt không gian làm việc",
"session.summary.title": "Chi tiết phiên",
"session.summary.noBranch": "Không có nhánh",
"session.summary.basedOn": "Dựa trên {{branch}}",
"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",
+87
View File
@@ -328,6 +328,8 @@ export const dict = {
"provider.disconnect.toast.disconnected.title": "{{provider}} 已断开连接",
"provider.disconnect.toast.disconnected.description": "{{provider}} 模型已不再可用。",
"provider.disconnect.toast.noCredentials.description": "未找到 {{provider}} 的可移除凭据。",
"provider.disconnect.toast.failed.description": "无法断开 {{provider}} 连接。",
"model.tag.free": "免费",
"model.tag.latest": "最新",
@@ -1203,4 +1205,89 @@ export const dict = {
"error.childStore.persistedProjectIconCreateFailed": "创建持久化项目图标失败",
"error.childStore.storeCreateFailed": "创建存储失败",
"terminal.connectionLost.abnormalClose": "WebSocket 异常关闭:{{code}}",
"toast.migration.failed.title": "数据迁移失败",
"session.background.moveTasks": "将 {{tasks}} 移至后台",
"session.background.inBackground": "正在后台运行 {{tasks}}",
"session.background.combine": "{{first}} 和 {{second}}",
"session.background.shell.one": "{{count}} 个 shell",
"session.background.shell.other": "{{count}} 个 shell",
"session.background.subagent.one": "{{count}} 个子代理",
"session.background.subagent.other": "{{count}} 个子代理",
"command.session.background": "移至后台",
"session.timeline.notice.finished": "{{actor}} 已完成",
"session.timeline.notice.failed": "{{actor}} 失败",
"session.timeline.notice.cancelled": "{{actor}} 已取消",
"session.timeline.notice.instructionsUpdated": "指令已更新:{{sources}}",
"session.timeline.notice.restart": "重启后继续",
"settings.tab.preferences": "偏好设置",
"settings.tab.notifications": "通知",
"settings.tab.projects": "项目",
"settings.tab.extensions": "扩展",
"settings.preferences.description": "自定义偏好、主题和默认行为",
"settings.appearance.description": "自定义主题和字体",
"settings.notifications.description": "选择接收通知和播放声音的时机",
"settings.shortcuts.description": "自定义常用操作的快捷键",
"settings.servers.description": "管理服务器连接",
"settings.projects.title": "项目",
"settings.projects.description": "管理此服务器上的项目设置",
"settings.projects.empty": "未找到项目",
"settings.projects.server.all": "所有服务器",
"settings.mcps.description": "管理 Model Context Protocol (MCP) 服务器和工具",
"settings.extensions.description": "管理此服务器上可用的扩展",
"settings.extensions.tab.mcps": "MCP",
"settings.extensions.tab.skills": "技能",
"settings.extensions.availableAll": "可用于所有项目",
"settings.extensions.manageConfig": "在 opencode.json 中管理",
"settings.extensions.addSkills": "如何添加技能",
"dialog.server.authenticate.title": "认证",
"project.settings.general.description": "管理项目名称和外观",
"project.settings.scripts": "脚本",
"project.settings.scripts.description": "配置此项目的脚本",
"project.settings.extensions.description": "查看此项目可用的扩展",
"project.settings.extensions.tab.lsps": "LSP",
"project.settings.extensions.added": "已添加到此项目",
"project.settings.extensions.shared": "与所有项目共享",
"project.settings.extensions.lsp.detected": "检测到的语言服务器",
"project.settings.extensions.lsp.description": "根据文件类型自动检测",
"project.settings.extensions.setupRequired": "需要设置",
"settings.general.section.general": "常规",
"common.viewAll": "查看全部",
"session.new.workspace.local.tooltip": "使用当前检出",
"session.new.workspace.new.tooltip": "创建隔离检出",
"session.new.workspace.fromBranch": "基于 {{branch}}",
"session.new.workspace.trigger.tooltip": "选择会话的运行位置",
"session.new.workspace.search.placeholder": "搜索工作区",
"settings.tab.workspaces": "工作区",
"settings.workspaces.filter.all": "所有项目",
"settings.workspaces.empty": "没有工作区",
"settings.workspaces.count.one": "{{count}} 个工作区",
"settings.workspaces.count.other": "{{count}} 个工作区",
"settings.workspaces.sessions.one": "{{project}} 中有 {{count}} 个会话",
"settings.workspaces.sessions.other": "{{project}} 中有 {{count}} 个会话",
"settings.workspaces.lastActiveSession": "上次活跃的会话",
"settings.workspaces.deleteAll": "删除所有工作区",
"settings.workspaces.deleteAll.confirm": "删除全部 {{count}} 个工作区?",
"settings.workspaces.delete.warning": "工作区目录和分支将被永久移除,包括下方显示的所有未合并更改。",
"settings.workspaces.deleteAll.warning":
"仅当 {{project}} 中选定的 {{count}} 个工作区均干净、未激活且没有关联会话时,才会将其永久移除。",
"settings.workspaces.delete.blocked.active": "无法删除活跃工作区。",
"settings.workspaces.delete.blocked.linked": "关联的会话将保留,但其工作目录会被永久移除。",
"settings.workspaces.default.title": "默认环境",
"settings.workspaces.default.description": "选择新会话的启动位置",
"settings.workspaces.default.lastUsed": "各项目上次使用的位置",
"settings.workspaces.default.local": "本地目录",
"settings.workspaces.default.new": "新建工作区",
"workspace.move.title": "移至工作区",
"workspace.move.menu.title": "将会话移至",
"workspace.move.failed": "移动会话失败",
"workspace.lifecycle.creating": "正在创建工作区",
"workspace.lifecycle.created": "工作区已创建",
"workspace.lifecycle.starting": "正在启动会话",
"workspace.onboarding.title": "使用工作区隔离会话",
"workspace.onboarding.description": "每个会话都有独立的检出,因此不会干扰本地仓库",
"workspace.lifecycle.moving": "正在移至工作区",
"workspace.lifecycle.set": "工作区已设置",
"session.summary.title": "会话详情",
"session.summary.noBranch": "无分支",
"session.summary.basedOn": "基于 {{branch}}",
} satisfies Partial<Record<Keys, string>>
+87
View File
@@ -307,6 +307,8 @@ export const dict = {
"provider.disconnect.toast.disconnected.title": "{{provider}} 已中斷連線",
"provider.disconnect.toast.disconnected.description": "{{provider}} 模型已不再可用。",
"provider.disconnect.toast.noCredentials.description": "找不到 {{provider}} 的可移除憑證。",
"provider.disconnect.toast.failed.description": "無法中斷 {{provider}} 的連線。",
"model.tag.free": "免費",
"model.tag.latest": "最新",
@@ -728,6 +730,8 @@ export const dict = {
"session.error.notFound": "找不到此工作階段",
"session.error.notFound.description": "此分頁指向的工作階段已不存在於此伺服器。",
"session.error.notFound.closeTab": "關閉分頁",
"session.timeline.notice.instructionsUpdated": "指示已更新:{{sources}}",
"session.timeline.notice.restart": "重新啟動後繼續",
"session.error.serverConnection": "無法連線至此伺服器",
"session.review.filesChanged": "{{count}} 個檔案變更",
"session.review.change.one": "變更",
@@ -1199,4 +1203,87 @@ export const dict = {
"error.childStore.persistedProjectIconCreateFailed": "建立持續性專案圖示失敗",
"error.childStore.storeCreateFailed": "建立儲存區失敗",
"terminal.connectionLost.abnormalClose": "WebSocket 異常關閉:{{code}}",
"toast.migration.failed.title": "資料移轉失敗",
"session.background.moveTasks": "將 {{tasks}} 移至背景",
"session.background.inBackground": "正在背景執行 {{tasks}}",
"session.background.combine": "{{first}} 和 {{second}}",
"session.background.shell.one": "{{count}} 個 shell",
"session.background.shell.other": "{{count}} 個 shell",
"session.background.subagent.one": "{{count}} 個子代理",
"session.background.subagent.other": "{{count}} 個子代理",
"command.session.background": "移至背景",
"session.timeline.notice.finished": "{{actor}} 已完成",
"session.timeline.notice.failed": "{{actor}} 失敗",
"session.timeline.notice.cancelled": "{{actor}} 已取消",
"settings.tab.preferences": "偏好設定",
"settings.tab.notifications": "通知",
"settings.tab.projects": "專案",
"settings.tab.extensions": "擴充功能",
"settings.preferences.description": "自訂偏好、主題和預設行為",
"settings.appearance.description": "自訂主題和字型",
"settings.notifications.description": "選擇接收通知和播放音效的時機",
"settings.shortcuts.description": "自訂常用動作的快捷鍵",
"settings.servers.description": "管理伺服器連線",
"settings.projects.title": "專案",
"settings.projects.description": "管理此伺服器上的專案設定",
"settings.projects.empty": "找不到專案",
"settings.projects.server.all": "所有伺服器",
"settings.mcps.description": "管理 Model Context Protocol (MCP) 伺服器和工具",
"settings.extensions.description": "管理此伺服器上可用的擴充功能",
"settings.extensions.tab.mcps": "MCP",
"settings.extensions.tab.skills": "技能",
"settings.extensions.availableAll": "適用於所有專案",
"settings.extensions.manageConfig": "在 opencode.json 中管理",
"settings.extensions.addSkills": "如何新增技能",
"dialog.server.authenticate.title": "認證",
"project.settings.general.description": "管理專案名稱和外觀",
"project.settings.scripts": "指令碼",
"project.settings.scripts.description": "設定此專案的指令碼",
"project.settings.extensions.description": "檢視此專案可用的擴充功能",
"project.settings.extensions.tab.lsps": "LSP",
"project.settings.extensions.added": "已新增至此專案",
"project.settings.extensions.shared": "與所有專案共用",
"project.settings.extensions.lsp.detected": "偵測到的語言伺服器",
"project.settings.extensions.lsp.description": "依檔案類型自動偵測",
"project.settings.extensions.setupRequired": "需要設定",
"settings.general.section.general": "一般",
"common.viewAll": "檢視全部",
"session.new.workspace.local.tooltip": "使用目前的簽出",
"session.new.workspace.new.tooltip": "建立隔離的簽出",
"session.new.workspace.fromBranch": "來自 {{branch}}",
"session.new.workspace.trigger.tooltip": "選擇工作階段的執行位置",
"session.new.workspace.search.placeholder": "搜尋工作區",
"settings.tab.workspaces": "工作區",
"settings.workspaces.filter.all": "所有專案",
"settings.workspaces.empty": "沒有工作區",
"settings.workspaces.count.one": "{{count}} 個工作區",
"settings.workspaces.count.other": "{{count}} 個工作區",
"settings.workspaces.sessions.one": "{{project}} 中有 {{count}} 個工作階段",
"settings.workspaces.sessions.other": "{{project}} 中有 {{count}} 個工作階段",
"settings.workspaces.lastActiveSession": "上次使用的工作階段",
"settings.workspaces.deleteAll": "刪除所有工作區",
"settings.workspaces.deleteAll.confirm": "刪除全部 {{count}} 個工作區?",
"settings.workspaces.delete.warning": "工作區目錄和分支將永久移除,包括下方顯示的所有未合併變更。",
"settings.workspaces.deleteAll.warning":
"只有在 {{project}} 中選取的 {{count}} 個工作區均乾淨、非使用中且沒有連結的工作階段時,才會將其永久移除。",
"settings.workspaces.delete.blocked.active": "無法刪除使用中的工作區。",
"settings.workspaces.delete.blocked.linked": "連結的工作階段將保留,但其工作目錄會永久移除。",
"settings.workspaces.default.title": "預設環境",
"settings.workspaces.default.description": "選擇新工作階段的啟動位置",
"settings.workspaces.default.lastUsed": "各專案上次使用的位置",
"settings.workspaces.default.local": "本機目錄",
"settings.workspaces.default.new": "新增工作區",
"workspace.move.title": "移至工作區",
"workspace.move.menu.title": "將工作階段移至",
"workspace.move.failed": "移動工作階段失敗",
"workspace.lifecycle.creating": "正在建立工作區",
"workspace.lifecycle.created": "工作區已建立",
"workspace.lifecycle.starting": "正在啟動工作階段",
"workspace.onboarding.title": "使用工作區隔離工作階段",
"workspace.onboarding.description": "每個工作階段都有自己的簽出,因此不會干擾本機儲存庫",
"workspace.lifecycle.moving": "正在移至工作區",
"workspace.lifecycle.set": "工作區已設定",
"session.summary.title": "工作階段詳細資料",
"session.summary.noBranch": "沒有分支",
"session.summary.basedOn": "以 {{branch}} 為基礎",
} satisfies Partial<Record<Keys, string>>
@@ -13,27 +13,14 @@ export function SessionBackgroundDock(props: {
const language = useLanguage()
const command = useCommand()
const [store, setStore] = createStore({ collapsed: true })
const describe = (shells: number, subagents: number) => {
const shell = shells ? language.plural("session.background.shell", shells, { count: shells }) : undefined
const subagent = subagents
? language.plural("session.background.subagent", subagents, { count: subagents })
: undefined
if (shell && subagent) return language.t("session.background.combine", { first: shell, second: subagent })
return shell ?? subagent ?? ""
}
const summary = createMemo(() => {
const shells = props.tasks.filter((task) => task.type === "shell").length
return describe(shells, props.tasks.length - shells)
})
const moving = createMemo(() => {
const shells = props.blocking.filter((task) => task.type === "shell").length
const subagents = props.blocking.length - shells
const tasks = describe(shells, subagents)
return tasks ? language.t("session.background.moveTasks", { tasks }) : ""
return language.backgroundTasks(shells, props.blocking.length - shells, "move")
})
const background = createMemo(() => {
const shells = props.tasks.filter((task) => task.type === "shell").length
return language.backgroundTasks(shells, props.tasks.length - shells, "running")
})
const background = createMemo(() =>
summary() ? language.t("session.background.inBackground", { tasks: summary() }) : "",
)
const blocking = () => props.blocking.length > 0
const toggle = () => {
if (blocking()) {
@@ -470,10 +470,17 @@ function MessageTimelineView(
if (message.type === "location-switched")
return { label: language.t("ui.patch.action.moved"), data: message.location.directory }
if (message.type === "skill") return { label: language.t("ui.tool.skill"), data: message.name }
if (message.type === "system") return { label: message.description ?? message.text }
if (message.type === "system") {
const sources = Array.isArray(message.metadata?.instructionSources)
? message.metadata.instructionSources.filter((item): item is string => typeof item === "string").join(", ")
: undefined
if (message.metadata?.notice === "instructions" && sources)
return { label: language.t("session.timeline.notice.instructionsUpdated", { sources }) }
return { label: message.description ?? message.text }
}
if (message.type === "compaction") return { label: language.t("ui.messagePart.compaction"), data: message.status }
if (message.type !== "synthetic") return
if (message.description === "Continuing after restart") return { label: message.description }
if (message.metadata?.notice === "restart") return { label: language.t("session.timeline.notice.restart") }
const source = typeof message.metadata?.source === "string" ? message.metadata.source : undefined
const state = typeof message.metadata?.state === "string" ? message.metadata.state : undefined
if (source === "subagent" || source === "shell") {
@@ -37,8 +37,7 @@ export function useUsageExceededDialogs() {
const sdk = useSDK()
const dialog = useDialog()
const { params } = useSessionLayout()
const { t, locale } = useI18n()
const isEnglish = () => locale() === "en"
const { tDynamic } = useI18n()
const [goUpsellState, setGoUpsellState] = persisted(
Persist.global("go-upsell"),
@@ -68,9 +67,9 @@ export function useUsageExceededDialogs() {
if (action.reason === "free_tier_limit") {
dialog.show(() => (
<DialogUsageExceeded
title={isEnglish() ? action.title : t("dialog.usageExceeded.freeTier.title")}
description={isEnglish() ? action.message : t("dialog.usageExceeded.freeTier.description")}
actionLabel={isEnglish() ? action.label : t("dialog.usageExceeded.freeTier.actionLabel")}
title={tDynamic("dialog.usageExceeded.freeTier.title", action.title)}
description={tDynamic("dialog.usageExceeded.freeTier.description", action.message)}
actionLabel={tDynamic("dialog.usageExceeded.freeTier.actionLabel", action.label)}
link={action.link}
onClose={(dontShowAgain) => {
setGoUpsellState(keys.lastSeenAt, Date.now())
@@ -88,9 +87,9 @@ export function useUsageExceededDialogs() {
} else if (action.reason === "account_rate_limit") {
dialog.show(() => (
<DialogUsageExceeded
title={isEnglish() ? action.title : t("dialog.usageExceeded.accountRateLimit.title")}
description={isEnglish() ? action.message : t("dialog.usageExceeded.accountRateLimit.description")}
actionLabel={isEnglish() ? action.label : t("dialog.usageExceeded.accountRateLimit.actionLabel")}
title={tDynamic("dialog.usageExceeded.accountRateLimit.title", action.title)}
description={tDynamic("dialog.usageExceeded.accountRateLimit.description", action.message)}
actionLabel={tDynamic("dialog.usageExceeded.accountRateLimit.actionLabel", action.label)}
link={action.link}
onClose={(dontShowAgain) => {
setGoUpsellState(keys.lastSeenAt, Date.now())
+2 -1
View File
@@ -75,7 +75,8 @@ export function createClientConnection(initialApi: OpenCodeClient, options: Clie
if (signal.aborted) return { error: undefined, connectedAt }
if (first.done)
return {
error: request.signal.reason instanceof Error ? request.signal.reason : new Error("Event stream disconnected"),
error:
request.signal.reason instanceof Error ? request.signal.reason : new Error("Event stream disconnected"),
connectedAt,
}
if (first.value.type !== "server.connected")
+6
View File
@@ -15,8 +15,10 @@ import { GoogleVertexPlugin } from "./provider/google-vertex.js"
import { GroqPlugin } from "./provider/groq.js"
import { KiloPlugin } from "./provider/kilo.js"
import { LLMGatewayPlugin } from "./provider/llmgateway.js"
import { LMStudioPlugin } from "./provider/lmstudio.js"
import { MistralPlugin } from "./provider/mistral.js"
import { NvidiaPlugin } from "./provider/nvidia.js"
import { OllamaPlugin } from "./provider/ollama.js"
import { OpenAIPlugin } from "./provider/openai.js"
import { SnowflakeCortexPlugin } from "./provider/snowflake-cortex.js"
import { OpenAICompatiblePlugin } from "./provider/openai-compatible.js"
@@ -27,6 +29,7 @@ import { SapAICorePlugin } from "./provider/sap-ai-core.js"
import { TogetherAIPlugin } from "./provider/togetherai.js"
import { VercelPlugin } from "./provider/vercel.js"
import { VenicePlugin } from "./provider/venice.js"
import { VLLMPlugin } from "./provider/vllm.js"
import { XAIPlugin } from "./provider/xai.js"
import { ZenmuxPlugin } from "./provider/zenmux.js"
import type { PluginInternal } from "./internal.js"
@@ -48,8 +51,10 @@ export const ProviderPlugins: PluginInternal.InternalPlugin[] = [
GroqPlugin,
KiloPlugin,
LLMGatewayPlugin,
LMStudioPlugin,
MistralPlugin,
NvidiaPlugin,
OllamaPlugin,
OpencodePlugin,
SnowflakeCortexPlugin,
OpenAICompatiblePlugin,
@@ -60,6 +65,7 @@ export const ProviderPlugins: PluginInternal.InternalPlugin[] = [
TogetherAIPlugin,
VercelPlugin,
VenicePlugin,
VLLMPlugin,
XAIPlugin,
ZenmuxPlugin,
DynamicProviderPlugin,
@@ -0,0 +1,174 @@
import { define } from "@opencode-ai/plugin/effect/plugin"
import { Document, type Entry } from "@opencode-ai/schema/config"
import { Duration, Effect, Schedule, Schema, Semaphore, Stream } from "effect"
import { HttpClient, HttpClientRequest, HttpClientResponse } from "effect/unstable/http"
import { Config } from "../../config.js"
import { Model } from "../../model.js"
import { Provider } from "../../provider.js"
import type { PluginInternal } from "../internal.js"
const providerID = "lmstudio"
const RemoteModel = Schema.Struct({
type: Schema.Literals(["llm", "embedding"]),
key: Schema.String,
display_name: Schema.String,
architecture: Schema.NullOr(Schema.String).pipe(Schema.optional),
loaded_instances: Schema.Array(
Schema.Struct({
config: Schema.Struct({ context_length: Schema.Int }),
}),
),
max_context_length: Schema.Int,
capabilities: Schema.Struct({
vision: Schema.Boolean,
trained_for_tool_use: Schema.Boolean,
}).pipe(Schema.optional),
})
const Response = Schema.Struct({ models: Schema.Array(RemoteModel) })
const discovery = new Map<string, { checked: number; apiKey?: string; models?: (typeof RemoteModel.Type)[] }>()
const discoveryLock = Semaphore.makeUnsafe(1)
export function make(origin = "http://127.0.0.1:1234", interval: Duration.Input = "30 seconds") {
return define({
id: "opencode.provider.lmstudio",
effect: Effect.fn(function* (ctx) {
const http = HttpClient.filterStatusOk(yield* HttpClient.HttpClient)
const config = yield* Config.Service
const source = { current: configured(yield* config.entries(), origin) }
const loaded = { models: [] as (typeof RemoteModel.Type)[], hash: "[]" }
yield* ctx.integration.transform((integrations) => {
if (loaded.models.length === 0) return
integrations.remove(providerID)
})
yield* ctx.catalog.transform((catalog) => {
if (loaded.models.length === 0) return
for (const model of catalog.provider.get(providerID)?.models.values() ?? []) {
catalog.model.remove(providerID, model.id)
}
catalog.provider.update(providerID, (provider) => {
provider.name = "LM Studio"
provider.activation = "enabled"
provider.package = "@opencode-ai/ai/providers/openai-compatible"
provider.settings = {
baseURL: source.current.baseURL,
provider: providerID,
apiKey: source.current.apiKey ?? "",
}
provider.integrationID = undefined
})
for (const item of loaded.models) {
catalog.model.update(providerID, item.key, (model) => {
model.modelID = Model.ID.make(item.key)
model.name = item.display_name || item.key
model.family = item.architecture ? Model.Family.make(item.architecture) : undefined
model.capabilities = {
tools: item.capabilities?.trained_for_tool_use ?? false,
input: ["text", ...(item.capabilities?.vision ? ["image"] : [])],
output: ["text"],
}
model.limit = {
context:
item.loaded_instances.length === 0
? item.max_context_length
: Math.min(...item.loaded_instances.map((instance) => instance.config.context_length)),
output: 0,
}
})
}
})
const discover = Effect.fn("LMStudioPlugin.discover")(function* () {
const current = source.current
if (!current.endpoint) return undefined
return yield* discoveryLock.withPermit(
Effect.gen(function* () {
const cached = discovery.get(current.endpoint)
if (cached && cached.apiKey === current.apiKey && Date.now() - cached.checked < Duration.toMillis(interval))
return { source: current, models: cached.models }
discovery.set(current.endpoint, {
checked: Date.now(),
apiKey: current.apiKey,
models: cached && cached.apiKey === current.apiKey ? cached.models : undefined,
})
const request = current.apiKey
? HttpClientRequest.get(current.endpoint).pipe(
HttpClientRequest.acceptJson,
HttpClientRequest.bearerToken(current.apiKey),
)
: HttpClientRequest.get(current.endpoint).pipe(HttpClientRequest.acceptJson)
const response = yield* http
.execute(request)
.pipe(Effect.flatMap(HttpClientResponse.schemaBodyJson(Response)), Effect.timeout("1 second"))
const models = response.models
.filter((model) => model.type === "llm" && model.key.length > 0)
.toSorted((a, b) => a.key.localeCompare(b.key))
discovery.set(current.endpoint, { checked: Date.now(), apiKey: current.apiKey, models })
return { source: current, models }
}),
)
})
const refresh = Effect.fn("LMStudioPlugin.refresh")(function* () {
const result = yield* discover()
if (!result?.models || result.source !== source.current) return
const hash = JSON.stringify(result.models)
if (hash === loaded.hash) return
loaded.models = result.models
loaded.hash = hash
yield* ctx.integration.reload()
yield* ctx.catalog.reload()
})
// Keep the last successful inventory through transient outages instead of flickering model availability.
yield* refresh().pipe(Effect.ignore, Effect.repeat(Schedule.spaced(interval)), Effect.forkScoped)
const reload = Effect.fn("LMStudioPlugin.reload")(function* () {
const next = configured(yield* config.entries(), origin)
if (
next.baseURL === source.current.baseURL &&
next.apiKey === source.current.apiKey &&
next.endpoint === source.current.endpoint
)
return
source.current = next
loaded.models = []
loaded.hash = "[]"
yield* ctx.integration.reload()
yield* ctx.catalog.reload()
yield* refresh().pipe(Effect.ignore)
})
yield* ctx.event.subscribe().pipe(
Stream.filter((event) => event.type === "config.updated"),
Stream.runForEach(reload),
Effect.forkScoped({ startImmediately: true }),
)
}),
} satisfies PluginInternal.InternalPlugin)
}
export const LMStudioPlugin = make()
function configured(entries: readonly Entry[], origin: string) {
const settings = entries
.filter((entry): entry is Document => entry.type === "document")
.flatMap((entry) => {
const settings = entry.info.providers?.[providerID]?.settings
return settings ? [settings] : []
})
.reduce<Provider.Settings | undefined>((result, item) => Provider.mergeOverlay(result, item), undefined)
const baseURL = (
typeof settings?.baseURL === "string" ? settings.baseURL : `${origin.replace(/\/+$/, "")}/v1`
).replace(/\/+$/, "")
const apiKey = typeof settings?.apiKey === "string" ? settings.apiKey : undefined
if (!URL.canParse(baseURL)) return { baseURL, apiKey }
const url = new URL(baseURL)
if (url.protocol !== "http:" && url.protocol !== "https:") return { baseURL, apiKey }
const prefix = url.pathname.endsWith("/v1") ? url.pathname.slice(0, -3) : url.pathname.replace(/\/+$/, "")
url.pathname = `${prefix}/api/v1/models`
url.search = ""
url.hash = ""
return { baseURL, apiKey, endpoint: url.toString() }
}
+233
View File
@@ -0,0 +1,233 @@
import { define } from "@opencode-ai/plugin/effect/plugin"
import { Document, type Entry } from "@opencode-ai/schema/config"
import { Duration, Effect, Schedule, Schema, Semaphore, Stream } from "effect"
import { HttpClient, HttpClientRequest, HttpClientResponse } from "effect/unstable/http"
import { Config } from "../../config.js"
import { Model } from "../../model.js"
import { Provider } from "../../provider.js"
import type { PluginInternal } from "../internal.js"
const providerID = "ollama"
const Details = Schema.Struct({
parent_model: Schema.String.pipe(Schema.optional),
format: Schema.String,
family: Schema.String,
families: Schema.Array(Schema.String).pipe(Schema.optional),
parameter_size: Schema.String,
quantization_level: Schema.String,
})
const RemoteModel = Schema.Struct({
name: Schema.String,
model: Schema.String,
remote_model: Schema.String.pipe(Schema.optional),
remote_host: Schema.String.pipe(Schema.optional),
modified_at: Schema.String,
size: Schema.Int,
digest: Schema.String,
details: Details,
})
const TagsResponse = Schema.Struct({ models: Schema.Array(RemoteModel) })
const ShowRequest = Schema.Struct({ model: Schema.String })
const ShowResponse = Schema.Struct({
parameters: Schema.String.pipe(Schema.optional),
license: Schema.String.pipe(Schema.optional),
modified_at: Schema.String.pipe(Schema.optional),
details: Details.pipe(Schema.optional),
template: Schema.String.pipe(Schema.optional),
capabilities: Schema.Array(Schema.String).pipe(Schema.optional),
model_info: Schema.Record(Schema.String, Schema.Unknown).pipe(Schema.optional),
})
type DiscoveredModel = typeof RemoteModel.Type & { show: typeof ShowResponse.Type }
type Discovery = {
checked: number
apiKey?: string
models?: DiscoveredModel[]
shows: Map<string, { digest: string; info: typeof ShowResponse.Type }>
}
const discovery = new Map<string, Discovery>()
const discoveryLock = Semaphore.makeUnsafe(1)
export function make(origin = "http://127.0.0.1:11434", interval: Duration.Input = "30 seconds") {
return define({
id: "opencode.provider.ollama",
effect: Effect.fn(function* (ctx) {
const http = HttpClient.filterStatusOk(yield* HttpClient.HttpClient)
const config = yield* Config.Service
const source = { current: configured(yield* config.entries(), origin) }
const loaded = { models: [] as DiscoveredModel[], hash: "[]" }
yield* ctx.integration.transform((integrations) => {
if (loaded.models.length === 0) return
integrations.remove(providerID)
})
yield* ctx.catalog.transform((catalog) => {
if (loaded.models.length === 0) return
for (const model of catalog.provider.get(providerID)?.models.values() ?? []) {
catalog.model.remove(providerID, model.id)
}
catalog.provider.update(providerID, (provider) => {
provider.name = "Ollama"
provider.activation = "enabled"
provider.package = "@opencode-ai/ai/providers/openai-compatible"
provider.settings = {
baseURL: source.current.baseURL,
provider: providerID,
apiKey: source.current.apiKey ?? "",
}
provider.integrationID = undefined
})
for (const item of loaded.models) {
catalog.model.update(providerID, item.model, (model) => {
model.modelID = Model.ID.make(item.model)
model.name = item.name || item.model
model.family = item.show.details?.family
? Model.Family.make(item.show.details.family)
: item.details.family
? Model.Family.make(item.details.family)
: undefined
model.capabilities = {
tools: item.show.capabilities?.includes("tools") ?? false,
input: ["text", ...(item.show.capabilities?.includes("vision") ? ["image"] : [])],
output: ["text"],
}
model.limit = {
context:
Object.entries(item.show.model_info ?? {}).flatMap(([key, value]) =>
key.endsWith(".context_length") && typeof value === "number" && value > 0 ? [value] : [],
)[0] ?? 0,
output: 0,
}
})
}
})
const discover = Effect.fn("OllamaPlugin.discover")(function* () {
const current = source.current
if (!current.tagsEndpoint || !current.showEndpoint) return undefined
return yield* discoveryLock.withPermit(
Effect.gen(function* () {
const cached = discovery.get(current.tagsEndpoint)
if (cached && cached.apiKey === current.apiKey && Date.now() - cached.checked < Duration.toMillis(interval))
return { source: current, models: cached.models }
const previous: Discovery =
cached && cached.apiKey === current.apiKey
? cached
: { checked: 0, apiKey: current.apiKey, shows: new Map() }
discovery.set(current.tagsEndpoint, { ...previous, checked: Date.now(), apiKey: current.apiKey })
const tagsRequest = current.apiKey
? HttpClientRequest.get(current.tagsEndpoint).pipe(
HttpClientRequest.acceptJson,
HttpClientRequest.bearerToken(current.apiKey),
)
: HttpClientRequest.get(current.tagsEndpoint).pipe(HttpClientRequest.acceptJson)
const response = yield* http
.execute(tagsRequest)
.pipe(Effect.flatMap(HttpClientResponse.schemaBodyJson(TagsResponse)), Effect.timeout("1 second"))
const summaries = response.models
.filter((model) => model.model.length > 0)
.toSorted((a, b) => a.model.localeCompare(b.model))
const shows = new Map<string, { digest: string; info: typeof ShowResponse.Type }>()
const models = yield* Effect.forEach(
summaries,
(model) =>
Effect.gen(function* () {
const saved = previous.shows.get(model.model)
const info =
saved?.digest === model.digest
? saved.info
: yield* HttpClientRequest.post(current.showEndpoint).pipe(
HttpClientRequest.acceptJson,
current.apiKey ? HttpClientRequest.bearerToken(current.apiKey) : (request) => request,
HttpClientRequest.schemaBodyJson(ShowRequest)({ model: model.model }),
Effect.flatMap(http.execute),
Effect.flatMap(HttpClientResponse.schemaBodyJson(ShowResponse)),
Effect.timeout("1 second"),
)
shows.set(model.model, { digest: model.digest, info })
return { ...model, show: info }
}).pipe(Effect.catch(() => Effect.succeed(undefined))),
{ concurrency: 4 },
)
const filtered = models.filter(
(model): model is DiscoveredModel =>
model !== undefined && (model.show.capabilities?.includes("completion") ?? false),
)
discovery.set(current.tagsEndpoint, {
checked: Date.now(),
apiKey: current.apiKey,
models: filtered,
shows,
})
return { source: current, models: filtered }
}),
)
})
const refresh = Effect.fn("OllamaPlugin.refresh")(function* () {
const result = yield* discover()
if (!result?.models || result.source !== source.current) return
const hash = JSON.stringify(result.models)
if (hash === loaded.hash) return
loaded.models = result.models
loaded.hash = hash
yield* ctx.integration.reload()
yield* ctx.catalog.reload()
})
// Keep the last successful inventory through transient outages instead of flickering model availability.
yield* refresh().pipe(Effect.ignore, Effect.repeat(Schedule.spaced(interval)), Effect.forkScoped)
const reload = Effect.fn("OllamaPlugin.reload")(function* () {
const next = configured(yield* config.entries(), origin)
if (
next.baseURL === source.current.baseURL &&
next.apiKey === source.current.apiKey &&
next.tagsEndpoint === source.current.tagsEndpoint
)
return
source.current = next
loaded.models = []
loaded.hash = "[]"
yield* ctx.integration.reload()
yield* ctx.catalog.reload()
yield* refresh().pipe(Effect.ignore)
})
yield* ctx.event.subscribe().pipe(
Stream.filter((event) => event.type === "config.updated"),
Stream.runForEach(reload),
Effect.forkScoped({ startImmediately: true }),
)
}),
} satisfies PluginInternal.InternalPlugin)
}
export const OllamaPlugin = make()
function configured(entries: readonly Entry[], origin: string) {
const settings = entries
.filter((entry): entry is Document => entry.type === "document")
.flatMap((entry) => {
const settings = entry.info.providers?.[providerID]?.settings
return settings ? [settings] : []
})
.reduce<Provider.Settings | undefined>((result, item) => Provider.mergeOverlay(result, item), undefined)
const baseURL = (
typeof settings?.baseURL === "string" ? settings.baseURL : `${origin.replace(/\/+$/, "")}/v1`
).replace(/\/+$/, "")
const apiKey = typeof settings?.apiKey === "string" ? settings.apiKey : undefined
if (!URL.canParse(baseURL)) return { baseURL, apiKey }
const url = new URL(baseURL)
if (url.protocol !== "http:" && url.protocol !== "https:") return { baseURL, apiKey }
const prefix = url.pathname.endsWith("/v1") ? url.pathname.slice(0, -3) : url.pathname.replace(/\/+$/, "")
url.pathname = `${prefix}/api/tags`
url.search = ""
url.hash = ""
const tagsEndpoint = url.toString()
url.pathname = `${prefix}/api/show`
return { baseURL, apiKey, tagsEndpoint, showEndpoint: url.toString() }
}
+162
View File
@@ -0,0 +1,162 @@
import { define } from "@opencode-ai/plugin/effect/plugin"
import { Document, type Entry } from "@opencode-ai/schema/config"
import { Duration, Effect, Schedule, Schema, Semaphore, Stream } from "effect"
import { HttpClient, HttpClientRequest, HttpClientResponse } from "effect/unstable/http"
import { Config } from "../../config.js"
import { Model } from "../../model.js"
import { Provider } from "../../provider.js"
import type { PluginInternal } from "../internal.js"
const providerID = "vllm"
const RemoteModel = Schema.Struct({
id: Schema.String,
owned_by: Schema.String,
max_model_len: Schema.NullOr(Schema.Int),
})
const Response = Schema.Struct({ data: Schema.Array(RemoteModel) })
const discovery = new Map<string, { checked: number; apiKey?: string; models?: (typeof RemoteModel.Type)[] }>()
const discoveryLock = Semaphore.makeUnsafe(1)
export function make(origin = "http://127.0.0.1:8000", interval: Duration.Input = "30 seconds") {
return define({
id: "opencode.provider.vllm",
effect: Effect.fn(function* (ctx) {
const http = HttpClient.filterStatusOk(yield* HttpClient.HttpClient)
const config = yield* Config.Service
const source = { current: configured(yield* config.entries(), origin) }
const loaded = { models: [] as (typeof RemoteModel.Type)[], hash: "[]" }
yield* ctx.integration.transform((integrations) => {
if (loaded.models.length === 0) return
integrations.remove(providerID)
})
yield* ctx.catalog.transform((catalog) => {
if (loaded.models.length === 0) return
for (const model of catalog.provider.get(providerID)?.models.values() ?? []) {
catalog.model.remove(providerID, model.id)
}
catalog.provider.update(providerID, (provider) => {
provider.name = "vLLM"
provider.package = "@opencode-ai/ai/providers/openai-compatible"
provider.settings = {
baseURL: source.current.baseURL,
provider: providerID,
apiKey: source.current.apiKey ?? "",
}
provider.integrationID = undefined
provider.activation = "enabled"
})
for (const item of loaded.models) {
catalog.model.update(providerID, item.id, (model) => {
model.modelID = Model.ID.make(item.id)
model.name = item.id
// Tool calling depends on vLLM server flags and parsers that model discovery does not report.
model.capabilities = { tools: false, input: ["text"], output: ["text"] }
model.limit = { context: item.max_model_len ?? 0, output: 0 }
})
}
})
const discover = Effect.fn("VLLMPlugin.discover")(function* () {
const current = source.current
if (!current.healthEndpoint || !current.modelsEndpoint) return undefined
return yield* discoveryLock.withPermit(
Effect.gen(function* () {
const endpoint = `${current.healthEndpoint}\n${current.modelsEndpoint}`
const cached = discovery.get(endpoint)
if (cached && cached.apiKey === current.apiKey && Date.now() - cached.checked < Duration.toMillis(interval))
return { source: current, models: cached.models }
discovery.set(endpoint, {
checked: Date.now(),
apiKey: current.apiKey,
models: cached && cached.apiKey === current.apiKey ? cached.models : undefined,
})
const request = (endpoint: string) =>
current.apiKey
? HttpClientRequest.get(endpoint).pipe(
HttpClientRequest.acceptJson,
HttpClientRequest.bearerToken(current.apiKey),
)
: HttpClientRequest.get(endpoint).pipe(HttpClientRequest.acceptJson)
yield* http.execute(request(current.healthEndpoint)).pipe(Effect.timeout("1 second"))
const response = yield* http
.execute(request(current.modelsEndpoint))
.pipe(Effect.flatMap(HttpClientResponse.schemaBodyJson(Response)), Effect.timeout("1 second"))
const models = response.data
.filter((model) => model.owned_by === providerID && model.id.length > 0)
.toSorted((a, b) => a.id.localeCompare(b.id))
discovery.set(endpoint, { checked: Date.now(), apiKey: current.apiKey, models })
return { source: current, models }
}),
)
})
const refresh = Effect.fn("VLLMPlugin.refresh")(function* () {
const result = yield* discover()
if (!result?.models || result.source !== source.current) return
const hash = JSON.stringify(result.models)
if (hash === loaded.hash) return
loaded.models = result.models
loaded.hash = hash
yield* ctx.integration.reload()
yield* ctx.catalog.reload()
})
// Keep the last successful inventory through transient outages instead of flickering model availability.
yield* refresh().pipe(Effect.ignore, Effect.repeat(Schedule.spaced(interval)), Effect.forkScoped)
const reload = Effect.fn("VLLMPlugin.reload")(function* () {
const next = configured(yield* config.entries(), origin)
if (
next.baseURL === source.current.baseURL &&
next.apiKey === source.current.apiKey &&
next.healthEndpoint === source.current.healthEndpoint &&
next.modelsEndpoint === source.current.modelsEndpoint
)
return
source.current = next
loaded.models = []
loaded.hash = "[]"
yield* ctx.integration.reload()
yield* ctx.catalog.reload()
yield* refresh().pipe(Effect.ignore)
})
yield* ctx.event.subscribe().pipe(
Stream.filter((event) => event.type === "config.updated"),
Stream.runForEach(reload),
Effect.forkScoped({ startImmediately: true }),
)
}),
} satisfies PluginInternal.InternalPlugin)
}
export const VLLMPlugin = make()
function configured(entries: readonly Entry[], origin: string) {
const settings = entries
.filter((entry): entry is Document => entry.type === "document")
.flatMap((entry) => {
const settings = entry.info.providers?.[providerID]?.settings
return settings ? [settings] : []
})
.reduce<Provider.Settings | undefined>((result, item) => Provider.mergeOverlay(result, item), undefined)
const baseURL = (
typeof settings?.baseURL === "string" ? settings.baseURL : `${origin.replace(/\/+$/, "")}/v1`
).replace(/\/+$/, "")
const apiKey = typeof settings?.apiKey === "string" ? settings.apiKey : undefined
if (!URL.canParse(baseURL)) return { baseURL, apiKey }
const models = new URL(baseURL)
if (models.protocol !== "http:" && models.protocol !== "https:") return { baseURL, apiKey }
models.pathname = `${models.pathname.replace(/\/+$/, "")}/models`
models.search = ""
models.hash = ""
const health = new URL(baseURL)
const path = health.pathname.replace(/\/+$/, "")
const prefix = path.endsWith("/v1") ? path.slice(0, -3) : path
health.pathname = `${prefix}/health`
health.search = ""
health.hash = ""
return { baseURL, apiKey, healthEndpoint: health.toString(), modelsEndpoint: models.toString() }
}
+38 -3
View File
@@ -29,10 +29,41 @@ V1 documentation and syntax may be consulted only when the user explicitly
asks about V1 or when needed as migration input. Outputs and recommendations
must still use V2 unless the user specifically requests a V1 result.
## [Configuration](https://opencode.ai/v2/docs/config)
## [CLI](https://opencode.ai/v2/docs/cli)
OpenCode configuration uses JSON or JSONC. Include the published schema so the
user's editor can validate fields and provide autocomplete:
For questions about the terminal interface, command-line invocation, `run`,
`mini`, terminal providers, or other CLI behavior, fetch the
[CLI guide](https://opencode.ai/v2/docs/cli) and the relevant page linked from
that section.
CLI and TUI preferences are separate from OpenCode's server and project
configuration. They live in the global `~/.config/opencode/cli.json`, or
`$XDG_CONFIG_HOME/opencode/cli.json` when `XDG_CONFIG_HOME` is set. There is no
project-local CLI configuration. Most preferences can also be changed from the
TUI by pressing `Ctrl+P` and selecting **Open settings**.
Fetch the full [CLI configuration guide](https://opencode.ai/v2/docs/cli/config)
before editing `cli.json`. It covers terminal-only settings such as themes,
keybindings, terminal plugins, scrolling, attention alerts, diff presentation,
and terminal integration. Do not put these settings in `opencode.json(c)`.
### [Keybinds](https://opencode.ai/v2/docs/cli/keybinds)
Configure keybindings under `keybinds` in `cli.json`. The leader key is the
`keybinds.leader` entry; leader timing is configured separately under
`leader.timeout`. Bindings can use a string, an array of strings, or an object
when event behavior such as `preventDefault` is required. Disable a binding
with `"none"` or `false`.
Never guess a command ID, default binding, or accepted key syntax. Fetch the
full [keybind reference](https://opencode.ai/v2/docs/cli/keybinds), which lists
the current IDs and defaults, before answering or editing a binding.
## [OpenCode configuration](https://opencode.ai/v2/docs/config)
OpenCode's server and project configuration uses JSON or JSONC. Include the
published schema so the user's editor can validate fields and provide
autocomplete:
```jsonc
{
@@ -55,6 +86,10 @@ Common configuration fields include `model`, `default_agent`, `permissions`,
`agents`, `commands`, `plugins`, `providers`, `mcp`, `skills`, `instructions`,
`references`, `formatter`, and `lsp`.
This configuration is distinct from `cli.json`. Use the
[CLI configuration guide](https://opencode.ai/v2/docs/cli/config) for terminal
preferences, especially themes and keybindings.
Do not guess field names or shapes. Fetch the V2 configuration guide and its
linked topic guide as the source of truth, and preserve unrelated settings when
editing an existing file. Keep the published `$schema` URL in configuration
@@ -84,6 +84,7 @@ export const layer = (options?: Options) =>
sessionID,
text: CONTINUE_AFTER_SERVER_RESTART,
description: "Continuing after restart",
metadata: { notice: "restart" },
})
// Forked into the service scope so boot never waits on resumed turns;
// resuming an already-live Session joins its execution. Drain failures
+1 -1
View File
@@ -126,7 +126,7 @@ export function update(adapter: Adapter, event: SessionEvent.DurableEvent) {
type: "system",
text: event.data.text,
description: `Instructions updated: ${Object.keys(event.data.delta).join(", ")}`,
metadata: event.metadata,
metadata: { ...event.metadata, notice: "instructions", instructionSources: Object.keys(event.data.delta) },
time: { created },
}),
)
@@ -0,0 +1,341 @@
import { Bus } from "@opencode-ai/core/bus"
import { Catalog } from "@opencode-ai/core/catalog"
import { Config } from "@opencode-ai/core/config"
import { Integration } from "@opencode-ai/core/integration"
import { Model } from "@opencode-ai/core/model"
import { Plugin } from "@opencode-ai/core/plugin"
import { PluginHost } from "@opencode-ai/core/plugin/host"
import { LMStudioPlugin, make } from "@opencode-ai/core/plugin/provider/lmstudio"
import { ProviderPlugins } from "@opencode-ai/core/plugin/provider"
import { Provider } from "@opencode-ai/core/provider"
import { Document, Event, Info } from "@opencode-ai/schema/config"
import { describe, expect } from "bun:test"
import { Duration, Effect, Layer, Schema } from "effect"
import { testEffect } from "../lib/effect"
import { PluginTestLayer } from "./fixture"
const it = testEffect(Layer.merge(PluginTestLayer, Config.testLayer()))
const decode = Schema.decodeUnknownSync(Info)
const addPlugin = Effect.fn(function* (origin: string, interval: Duration.Input = "1 hour") {
const plugin = yield* Plugin.Service
const host = yield* PluginHost.make(plugin)
yield* make(origin, interval).effect(host)
})
function eventually<A>(
effect: Effect.Effect<A>,
predicate: (value: A) => boolean,
remaining = 3000,
): Effect.Effect<A, Error> {
return Effect.gen(function* () {
const value = yield* effect
if (predicate(value)) return value
if (remaining === 0) return yield* Effect.fail(new Error("Timed out waiting for value"))
yield* Effect.promise(() => Bun.sleep(1))
return yield* eventually(effect, predicate, remaining - 1)
})
}
describe("LMStudioPlugin", () => {
it.effect("is registered as a built-in provider plugin", () =>
Effect.sync(() => {
expect(LMStudioPlugin.id).toBe("opencode.provider.lmstudio")
expect(ProviderPlugins.map((item) => item.id)).toContain("opencode.provider.lmstudio")
}),
)
it.live("discovers local language models with their capabilities and effective context", () =>
Effect.acquireUseRelease(
Effect.sync(() =>
Bun.serve({
port: 0,
fetch: () =>
Response.json({
models: [
{
type: "llm",
key: "google/gemma-4-26b-a4b",
display_name: "Gemma 4 26B A4B",
architecture: "gemma4",
loaded_instances: [{ config: { context_length: 32_768 } }, { config: { context_length: 16_384 } }],
max_context_length: 262_144,
capabilities: { vision: true, trained_for_tool_use: true },
},
{
type: "llm",
key: "deepseek-r1",
display_name: "DeepSeek R1",
architecture: "deepseek",
loaded_instances: [],
max_context_length: 131_072,
capabilities: { vision: false, trained_for_tool_use: false },
},
{
type: "embedding",
key: "nomic-embed",
display_name: "Nomic Embed",
loaded_instances: [],
max_context_length: 2048,
},
],
}),
}),
),
(server) =>
Effect.gen(function* () {
const catalog = yield* Catalog.Service
yield* addPlugin(server.url.origin)
const providerID = Provider.ID.make("lmstudio")
const gemma = yield* eventually(
catalog.model.get(providerID, Model.ID.make("google/gemma-4-26b-a4b")),
(model) => model !== undefined,
)
expect(yield* catalog.provider.get(providerID)).toEqual({
id: providerID,
name: "LM Studio",
activation: "enabled",
package: "@opencode-ai/ai/providers/openai-compatible",
settings: { baseURL: `${server.url.origin}/v1`, provider: "lmstudio", apiKey: "" },
})
expect((yield* catalog.provider.available()).map((provider) => provider.id)).toContain(providerID)
expect(gemma).toMatchObject({
family: "gemma4",
name: "Gemma 4 26B A4B",
capabilities: { tools: true, input: ["text", "image"], output: ["text"] },
limit: { context: 16_384, output: 0 },
})
expect(yield* catalog.model.get(providerID, Model.ID.make("deepseek-r1"))).toMatchObject({
capabilities: { tools: false, input: ["text"], output: ["text"] },
limit: { context: 131_072, output: 0 },
})
expect(yield* catalog.model.get(providerID, Model.ID.make("nomic-embed"))).toBeUndefined()
}),
(server) => Effect.promise(() => server.stop(true)),
),
)
it.live("refreshes the catalog when LM Studio models change", () =>
Effect.acquireUseRelease(
Effect.sync(() => {
const models: Array<Record<string, unknown>> = []
return {
models,
server: Bun.serve({ port: 0, fetch: () => Response.json({ models }) }),
}
}),
({ models, server }) =>
Effect.gen(function* () {
const catalog = yield* Catalog.Service
const providerID = Provider.ID.make("lmstudio")
yield* addPlugin(server.url.origin, "5 millis")
expect(yield* catalog.provider.get(providerID)).toBeUndefined()
models.push({
type: "llm",
key: "qwen/qwen3-coder",
display_name: "Qwen 3 Coder",
architecture: "qwen3",
loaded_instances: [],
max_context_length: 65_536,
capabilities: { vision: false, trained_for_tool_use: true },
})
expect(
yield* eventually(
catalog.model.get(providerID, Model.ID.make("qwen/qwen3-coder")),
(model) => model !== undefined,
),
).toMatchObject({ name: "Qwen 3 Coder" })
models.splice(0)
yield* eventually(catalog.provider.get(providerID), (provider) => provider === undefined)
}),
({ server }) => Effect.promise(() => server.stop(true)),
),
)
it.live(
"discovers from configured endpoints with bearer authentication",
() =>
Effect.acquireUseRelease(
Effect.sync(() => {
const requests: Array<{ authorization: string | null; path: string }> = []
const model = (key: string) => ({
type: "llm",
key,
display_name: key,
loaded_instances: [],
max_context_length: 32_768,
})
return {
requests,
initial: Bun.serve({ port: 0, fetch: () => Response.json({ models: [model("initial-model")] }) }),
configured: Bun.serve({
port: 0,
fetch: (request) => {
requests.push({
authorization: request.headers.get("authorization"),
path: new URL(request.url).pathname,
})
return Response.json({ models: [model("configured-model")] })
},
}),
}
}),
({ requests, initial, configured }) =>
Effect.gen(function* () {
const bus = yield* Bus.Service
const catalog = yield* Catalog.Service
const config = yield* Config.Test
const providerID = Provider.ID.make("lmstudio")
yield* addPlugin(initial.url.origin)
yield* eventually(
catalog.model.get(providerID, Model.ID.make("initial-model")),
(model) => model !== undefined,
)
const baseURL = `${configured.url.origin}/proxy/v1`
yield* config.setEntries([configuration(baseURL, "secret")])
yield* bus.publish(Event.Updated, {})
yield* eventually(
catalog.model.get(providerID, Model.ID.make("configured-model")),
(model) => model !== undefined,
)
expect(requests).toContainEqual({ authorization: "Bearer secret", path: "/proxy/api/v1/models" })
expect(yield* catalog.model.get(providerID, Model.ID.make("initial-model"))).toBeUndefined()
expect((yield* catalog.provider.get(providerID))?.settings).toEqual({
baseURL,
provider: "lmstudio",
apiKey: "secret",
})
requests.splice(0)
yield* config.setEntries([configuration(baseURL, "secret"), configuration(baseURL, null)])
yield* bus.publish(Event.Updated, {})
yield* eventually(catalog.provider.get(providerID), (provider) => provider?.settings?.apiKey === "")
expect(requests).toContainEqual({ authorization: null, path: "/proxy/api/v1/models" })
}),
({ initial, configured }) => Effect.promise(() => Promise.all([initial.stop(true), configured.stop(true)])),
),
10_000,
)
it.live("shares discovery requests across plugin instances", () =>
Effect.acquireUseRelease(
Effect.sync(() => {
const requests = { count: 0 }
return {
requests,
server: Bun.serve({
port: 0,
fetch: () => {
requests.count++
return Response.json({
models: [
{
type: "llm",
key: "shared-model",
display_name: "Shared Model",
loaded_instances: [],
max_context_length: 32_768,
},
],
})
},
}),
}
}),
({ requests, server }) =>
Effect.gen(function* () {
const catalog = yield* Catalog.Service
yield* addPlugin(server.url.origin)
yield* addPlugin(server.url.origin)
yield* eventually(
catalog.model.get(Provider.ID.make("lmstudio"), Model.ID.make("shared-model")),
(model) => model !== undefined,
)
expect(requests.count).toBe(1)
}),
({ server }) => Effect.promise(() => server.stop(true)),
),
)
it.live("replaces the credential-gated Models.dev catalog when discovery succeeds", () =>
Effect.acquireUseRelease(
Effect.sync(() => {
const models = [
{
type: "llm",
key: "discovered-model",
display_name: "Discovered Model",
loaded_instances: [],
max_context_length: 32_768,
},
]
return { models, server: Bun.serve({ port: 0, fetch: () => Response.json({ models }) }) }
}),
({ models, server }) =>
Effect.gen(function* () {
const catalog = yield* Catalog.Service
const integrations = yield* Integration.Service
const providerID = Provider.ID.make("lmstudio")
yield* integrations.transform((draft) => {
draft.update(Integration.ID.make("lmstudio"), (integration) => {
integration.name = "LMStudio"
})
draft.method.update({
integrationID: Integration.ID.make("lmstudio"),
method: { type: "env", names: ["LMSTUDIO_API_KEY"] },
})
})
yield* catalog.transform((draft) => {
draft.provider.update(providerID, (provider) => {
provider.name = "LMStudio"
provider.package = "aisdk:@ai-sdk/openai-compatible"
provider.integrationID = Integration.ID.make("lmstudio")
})
draft.model.update(providerID, Model.ID.make("static-model"), () => {})
})
expect((yield* catalog.provider.available()).map((provider) => provider.id)).not.toContain(providerID)
yield* addPlugin(server.url.origin, "5 millis")
yield* eventually(
catalog.model.get(providerID, Model.ID.make("discovered-model")),
(model) => model !== undefined,
)
expect(yield* integrations.get(Integration.ID.make("lmstudio"))).toBeUndefined()
expect((yield* catalog.provider.get(providerID))?.integrationID).toBeUndefined()
expect(yield* catalog.model.get(providerID, Model.ID.make("static-model"))).toBeUndefined()
expect((yield* catalog.provider.available()).map((provider) => provider.id)).toContain(providerID)
yield* integrations.transform((draft) => {
draft.update(Integration.ID.make("lmstudio"), (integration) => {
integration.name = "Configured LM Studio"
})
draft.method.update({ integrationID: Integration.ID.make("lmstudio"), method: { type: "key" } })
})
expect((yield* catalog.provider.available()).map((provider) => provider.id)).toContain(providerID)
models.splice(0)
yield* eventually(
catalog.model.get(providerID, Model.ID.make("static-model")),
(model) => model !== undefined,
)
expect(yield* catalog.model.get(providerID, Model.ID.make("discovered-model"))).toBeUndefined()
expect(yield* integrations.get(Integration.ID.make("lmstudio"))).toBeDefined()
expect((yield* catalog.provider.get(providerID))?.integrationID).toBe(Integration.ID.make("lmstudio"))
}),
({ server }) => Effect.promise(() => server.stop(true)),
),
)
})
function configuration(baseURL: string, apiKey: string | null) {
return new Document({
type: "document",
info: decode({ providers: { lmstudio: { settings: { baseURL, apiKey } } } }),
})
}
@@ -0,0 +1,342 @@
import { Bus } from "@opencode-ai/core/bus"
import { Catalog } from "@opencode-ai/core/catalog"
import { Config } from "@opencode-ai/core/config"
import { Integration } from "@opencode-ai/core/integration"
import { Model } from "@opencode-ai/core/model"
import { Plugin } from "@opencode-ai/core/plugin"
import { PluginHost } from "@opencode-ai/core/plugin/host"
import { OllamaPlugin, make } from "@opencode-ai/core/plugin/provider/ollama"
import { ProviderPlugins } from "@opencode-ai/core/plugin/provider"
import { Provider } from "@opencode-ai/core/provider"
import { Document, Event, Info } from "@opencode-ai/schema/config"
import { describe, expect } from "bun:test"
import { Duration, Effect, Layer, Schema } from "effect"
import { testEffect } from "../lib/effect"
import { PluginTestLayer } from "./fixture"
const it = testEffect(Layer.merge(PluginTestLayer, Config.testLayer()))
const decode = Schema.decodeUnknownSync(Info)
const decodeShowRequest = Schema.decodeUnknownSync(Schema.Struct({ model: Schema.String }))
const addPlugin = Effect.fn(function* (origin: string, interval: Duration.Input = "1 hour") {
const plugin = yield* Plugin.Service
const host = yield* PluginHost.make(plugin)
yield* make(origin, interval).effect(host)
})
function eventually<A>(
effect: Effect.Effect<A>,
predicate: (value: A) => boolean,
remaining = 3000,
): Effect.Effect<A, Error> {
return Effect.gen(function* () {
const value = yield* effect
if (predicate(value)) return value
if (remaining === 0) return yield* Effect.fail(new Error("Timed out waiting for value"))
yield* Effect.promise(() => Bun.sleep(1))
return yield* eventually(effect, predicate, remaining - 1)
})
}
describe("OllamaPlugin", () => {
it.live("discovers local completion models and native metadata", () =>
Effect.acquireUseRelease(
Effect.sync(() => {
const requests: Array<{ method: string; path: string; model?: string }> = []
return {
requests,
server: Bun.serve({
port: 0,
fetch: async (request) => {
const path = new URL(request.url).pathname
if (request.method === "GET") {
requests.push({ method: request.method, path })
return Response.json({
models: [
summary("gemma3:4b", "gemma-digest", "gemma3"),
summary("nomic-embed", "embed-digest"),
summary("removed-model", "removed-digest"),
],
})
}
const body = decodeShowRequest(await request.json())
requests.push({ method: request.method, path, model: body.model })
if (body.model === "removed-model") return new Response("Not found", { status: 404 })
return Response.json(
body.model === "gemma3:4b"
? {
capabilities: ["completion", "tools", "vision"],
model_info: { "gemma3.context_length": 131_072 },
}
: show({ family: "nomic-bert", capabilities: ["embedding"], context: 8192 }),
)
},
}),
}
}),
({ requests, server }) =>
Effect.gen(function* () {
const catalog = yield* Catalog.Service
const providerID = Provider.ID.make("ollama")
expect(OllamaPlugin.id).toBe("opencode.provider.ollama")
expect(ProviderPlugins.map((item) => item.id)).toContain("opencode.provider.ollama")
yield* addPlugin(server.url.origin)
const model = yield* eventually(
catalog.model.get(providerID, Model.ID.make("gemma3:4b")),
(item) => item !== undefined,
)
expect(yield* catalog.provider.get(providerID)).toEqual({
id: providerID,
name: "Ollama",
activation: "enabled",
package: "@opencode-ai/ai/providers/openai-compatible",
settings: { baseURL: `${server.url.origin}/v1`, provider: "ollama", apiKey: "" },
})
expect(model).toMatchObject({
modelID: "gemma3:4b",
name: "gemma3:4b",
family: "gemma3",
capabilities: { tools: true, input: ["text", "image"], output: ["text"] },
limit: { context: 131_072, output: 0 },
})
expect(yield* catalog.model.get(providerID, Model.ID.make("nomic-embed"))).toBeUndefined()
expect(requests).toContainEqual({ method: "GET", path: "/api/tags" })
expect(requests).toContainEqual({ method: "POST", path: "/api/show", model: "gemma3:4b" })
expect(requests).toContainEqual({ method: "POST", path: "/api/show", model: "nomic-embed" })
expect(requests).toContainEqual({ method: "POST", path: "/api/show", model: "removed-model" })
}),
({ server }) => Effect.promise(() => server.stop(true)),
),
)
it.live("refreshes changed digests and retains inventory through transient failures", () =>
Effect.acquireUseRelease(
Effect.sync(() => {
const state = { digest: "digest-1", context: 32_768, fail: false }
const requests = { tags: 0, show: 0 }
return {
state,
requests,
server: Bun.serve({
port: 0,
fetch: async (request) => {
if (request.method === "GET") {
requests.tags++
if (state.fail) return new Response("unavailable", { status: 503 })
return Response.json({ models: [summary("qwen3:8b", state.digest, "qwen3")] })
}
decodeShowRequest(await request.json())
requests.show++
return Response.json(
show({ family: "qwen3", capabilities: ["completion", "tools"], context: state.context }),
)
},
}),
}
}),
({ state, requests, server }) =>
Effect.gen(function* () {
const catalog = yield* Catalog.Service
const providerID = Provider.ID.make("ollama")
const modelID = Model.ID.make("qwen3:8b")
yield* addPlugin(server.url.origin, "5 millis")
yield* eventually(catalog.model.get(providerID, modelID), (model) => model?.limit.context === 32_768)
yield* eventually(
Effect.sync(() => requests.tags),
(count) => count >= 2,
)
expect(requests.show).toBe(1)
state.digest = "digest-2"
state.context = 65_536
yield* eventually(catalog.model.get(providerID, modelID), (model) => model?.limit.context === 65_536)
expect(requests.show).toBe(2)
state.fail = true
yield* Effect.promise(() => Bun.sleep(30))
expect((yield* catalog.model.get(providerID, modelID))?.limit.context).toBe(65_536)
}),
({ server }) => Effect.promise(() => server.stop(true)),
),
)
it.live("replaces and restores the same-ID Models.dev provider", () =>
Effect.acquireUseRelease(
Effect.sync(() => {
const models = [summary("discovered-model", "digest")]
return {
models,
server: Bun.serve({
port: 0,
fetch: async (request) => {
if (request.method === "GET") return Response.json({ models })
decodeShowRequest(await request.json())
return Response.json(show({ capabilities: ["completion"], context: 32_768 }))
},
}),
}
}),
({ models, server }) =>
Effect.gen(function* () {
const catalog = yield* Catalog.Service
const integrations = yield* Integration.Service
const providerID = Provider.ID.make("ollama")
yield* integrations.transform((draft) => {
draft.update(Integration.ID.make("ollama"), (integration) => {
integration.name = "Ollama"
})
draft.method.update({
integrationID: Integration.ID.make("ollama"),
method: { type: "env", names: ["OLLAMA_API_KEY"] },
})
})
yield* catalog.transform((draft) => {
draft.provider.update(providerID, (provider) => {
provider.name = "Ollama"
provider.package = "aisdk:@ai-sdk/openai-compatible"
provider.integrationID = Integration.ID.make("ollama")
})
draft.model.update(providerID, Model.ID.make("static-model"), () => {})
})
yield* addPlugin(server.url.origin, "5 millis")
yield* eventually(
catalog.model.get(providerID, Model.ID.make("discovered-model")),
(model) => model !== undefined,
)
expect(yield* integrations.get(Integration.ID.make("ollama"))).toBeUndefined()
expect((yield* catalog.provider.get(providerID))?.activation).toBe("enabled")
expect(yield* catalog.model.get(providerID, Model.ID.make("static-model"))).toBeUndefined()
models.splice(0)
yield* eventually(
catalog.model.get(providerID, Model.ID.make("static-model")),
(model) => model !== undefined,
)
expect(yield* catalog.model.get(providerID, Model.ID.make("discovered-model"))).toBeUndefined()
expect(yield* integrations.get(Integration.ID.make("ollama"))).toBeDefined()
expect((yield* catalog.provider.get(providerID))?.activation).toBe("auto")
expect((yield* catalog.provider.get(providerID))?.integrationID).toBe(Integration.ID.make("ollama"))
}),
({ server }) => Effect.promise(() => server.stop(true)),
),
)
it.live(
"reloads layered endpoint and bearer authentication settings",
() =>
Effect.acquireUseRelease(
Effect.sync(() => {
const requests: Array<{ authorization: string | null; method: string; path: string }> = []
return {
requests,
initial: Bun.serve({
port: 0,
fetch: async (request) => {
if (request.method === "GET")
return Response.json({ models: [summary("initial-model", "initial-digest")] })
decodeShowRequest(await request.json())
return Response.json(show({ capabilities: ["completion"], context: 4096 }))
},
}),
configured: Bun.serve({
port: 0,
fetch: async (request) => {
requests.push({
authorization: request.headers.get("authorization"),
method: request.method,
path: new URL(request.url).pathname,
})
if (request.method === "GET")
return Response.json({ models: [summary("configured-model", "configured-digest")] })
decodeShowRequest(await request.json())
return Response.json(show({ capabilities: ["completion", "vision"], context: 65_536 }))
},
}),
}
}),
({ requests, initial, configured }) =>
Effect.gen(function* () {
const bus = yield* Bus.Service
const catalog = yield* Catalog.Service
const config = yield* Config.Test
const providerID = Provider.ID.make("ollama")
yield* addPlugin(initial.url.origin)
yield* eventually(
catalog.model.get(providerID, Model.ID.make("initial-model")),
(model) => model !== undefined,
)
const baseURL = `${configured.url.origin}/proxy/v1`
yield* config.setEntries([configuration({ baseURL, apiKey: "old" }), configuration({ apiKey: "secret" })])
yield* bus.publish(Event.Updated, {})
yield* eventually(
catalog.model.get(providerID, Model.ID.make("configured-model")),
(model) => model !== undefined,
)
expect(requests).toContainEqual({ authorization: "Bearer secret", method: "GET", path: "/proxy/api/tags" })
expect(requests).toContainEqual({ authorization: "Bearer secret", method: "POST", path: "/proxy/api/show" })
expect(yield* catalog.model.get(providerID, Model.ID.make("initial-model"))).toBeUndefined()
expect((yield* catalog.provider.get(providerID))?.settings).toEqual({
baseURL,
provider: "ollama",
apiKey: "secret",
})
requests.splice(0)
yield* config.setEntries([configuration({ baseURL, apiKey: "secret" }), configuration({ apiKey: null })])
yield* bus.publish(Event.Updated, {})
yield* eventually(catalog.provider.get(providerID), (provider) => provider?.settings?.apiKey === "")
expect(requests).toContainEqual({ authorization: null, method: "GET", path: "/proxy/api/tags" })
expect(requests).toContainEqual({ authorization: null, method: "POST", path: "/proxy/api/show" })
}),
({ initial, configured }) => Effect.promise(() => Promise.all([initial.stop(true), configured.stop(true)])),
),
10_000,
)
})
function summary(model: string, digest: string, family = "llama") {
return {
name: model,
model,
modified_at: "2026-01-01T00:00:00Z",
size: 1_000_000,
digest,
details: {
format: "gguf",
family,
families: [family],
parameter_size: "8B",
quantization_level: "Q4_K_M",
},
}
}
function show(input: { family?: string; capabilities: string[]; context: number }) {
const family = input.family ?? "llama"
return {
parameters: "temperature 0.7",
details: {
parent_model: "",
format: "gguf",
family,
families: [family],
parameter_size: "8B",
quantization_level: "Q4_K_M",
},
capabilities: input.capabilities,
model_info: {
"general.architecture": family,
[`${family}.context_length`]: input.context,
},
}
}
function configuration(settings: Record<string, string | null>) {
return new Document({
type: "document",
info: decode({ providers: { ollama: { settings } } }),
})
}
@@ -0,0 +1,289 @@
import { Bus } from "@opencode-ai/core/bus"
import { Catalog } from "@opencode-ai/core/catalog"
import { Config } from "@opencode-ai/core/config"
import { Integration } from "@opencode-ai/core/integration"
import { Model } from "@opencode-ai/core/model"
import { Plugin } from "@opencode-ai/core/plugin"
import { PluginHost } from "@opencode-ai/core/plugin/host"
import { ProviderPlugins } from "@opencode-ai/core/plugin/provider"
import { make, VLLMPlugin } from "@opencode-ai/core/plugin/provider/vllm"
import { Provider } from "@opencode-ai/core/provider"
import { Document, Event, Info } from "@opencode-ai/schema/config"
import { describe, expect } from "bun:test"
import { Duration, Effect, Layer, Schema } from "effect"
import { testEffect } from "../lib/effect"
import { PluginTestLayer } from "./fixture"
const it = testEffect(Layer.merge(PluginTestLayer, Config.testLayer()))
const decode = Schema.decodeUnknownSync(Info)
const addPlugin = Effect.fn(function* (origin: string, interval: Duration.Input = "1 hour") {
const plugin = yield* Plugin.Service
const host = yield* PluginHost.make(plugin)
yield* make(origin, interval).effect(host)
})
function eventually<A>(
effect: Effect.Effect<A>,
predicate: (value: A) => boolean,
remaining = 3000,
): Effect.Effect<A, Error> {
return Effect.gen(function* () {
const value = yield* effect
if (predicate(value)) return value
if (remaining === 0) return yield* Effect.fail(new Error("Timed out waiting for value"))
yield* Effect.promise(() => Bun.sleep(1))
return yield* eventually(effect, predicate, remaining - 1)
})
}
const remoteModel = (id: string, max_model_len = 32_768, owned_by = "vllm") => ({
id,
object: "model",
created: 1,
owned_by,
root: id,
parent: null,
max_model_len,
permission: [],
})
describe("VLLMPlugin", () => {
it.live("waits for readiness and discovers official vLLM model metadata", () =>
Effect.acquireUseRelease(
Effect.sync(() => {
const state = { healthy: false, models: 0 }
return {
state,
server: Bun.serve({
port: 0,
fetch: (request) => {
const path = new URL(request.url).pathname
if (path === "/health") return new Response(null, { status: state.healthy ? 200 : 503 })
state.models++
return Response.json({
object: "list",
data: [remoteModel("Qwen/Qwen3-Coder", 65_536), remoteModel("foreign-model", 4096, "other")],
})
},
}),
}
}),
({ state, server }) =>
Effect.gen(function* () {
const catalog = yield* Catalog.Service
const providerID = Provider.ID.make("vllm")
expect(VLLMPlugin.id).toBe("opencode.provider.vllm")
expect(ProviderPlugins.map((item) => item.id)).toContain("opencode.provider.vllm")
yield* addPlugin(server.url.origin, "5 millis")
yield* Effect.promise(() => Bun.sleep(20))
expect(yield* catalog.provider.get(providerID)).toBeUndefined()
expect(state.models).toBe(0)
state.healthy = true
const model = yield* eventually(
catalog.model.get(providerID, Model.ID.make("Qwen/Qwen3-Coder")),
(item) => item !== undefined,
)
expect(yield* catalog.provider.get(providerID)).toEqual({
id: providerID,
name: "vLLM",
package: "@opencode-ai/ai/providers/openai-compatible",
settings: { baseURL: `${server.url.origin}/v1`, provider: "vllm", apiKey: "" },
activation: "enabled",
})
expect((yield* catalog.provider.available()).map((provider) => provider.id)).toContain(providerID)
expect(model).toMatchObject({
modelID: "Qwen/Qwen3-Coder",
name: "Qwen/Qwen3-Coder",
capabilities: { tools: false, input: ["text"], output: ["text"] },
limit: { context: 65_536, output: 0 },
})
expect(yield* catalog.model.get(providerID, Model.ID.make("foreign-model"))).toBeUndefined()
}),
({ server }) => Effect.promise(() => server.stop(true)),
),
)
it.live("refreshes inventory while retaining the last success through transient failures", () =>
Effect.acquireUseRelease(
Effect.sync(() => {
const state = { failing: false, models: [remoteModel("first-model")] }
return {
state,
server: Bun.serve({
port: 0,
fetch: (request) => {
if (state.failing) return new Response(null, { status: 503 })
if (new URL(request.url).pathname === "/health") return new Response()
return Response.json({ object: "list", data: state.models })
},
}),
}
}),
({ state, server }) =>
Effect.gen(function* () {
const catalog = yield* Catalog.Service
const providerID = Provider.ID.make("vllm")
yield* addPlugin(server.url.origin, "5 millis")
yield* eventually(catalog.model.get(providerID, Model.ID.make("first-model")), (model) => model !== undefined)
state.failing = true
state.models = [remoteModel("second-model")]
yield* Effect.promise(() => Bun.sleep(30))
expect(yield* catalog.model.get(providerID, Model.ID.make("first-model"))).toBeDefined()
expect(yield* catalog.model.get(providerID, Model.ID.make("second-model"))).toBeUndefined()
state.failing = false
yield* eventually(
catalog.model.get(providerID, Model.ID.make("second-model")),
(model) => model !== undefined,
)
expect(yield* catalog.model.get(providerID, Model.ID.make("first-model"))).toBeUndefined()
}),
({ server }) => Effect.promise(() => server.stop(true)),
),
)
it.live("replaces and restores same-ID Models.dev entries after an empty success", () =>
Effect.acquireUseRelease(
Effect.sync(() => {
const models = [remoteModel("discovered-model")]
return {
models,
server: Bun.serve({
port: 0,
fetch: (request) =>
new URL(request.url).pathname === "/health"
? new Response()
: Response.json({ object: "list", data: models }),
}),
}
}),
({ models, server }) =>
Effect.gen(function* () {
const catalog = yield* Catalog.Service
const integrations = yield* Integration.Service
const providerID = Provider.ID.make("vllm")
yield* integrations.transform((draft) => {
draft.update(Integration.ID.make("vllm"), (integration) => {
integration.name = "vLLM"
})
draft.method.update({
integrationID: Integration.ID.make("vllm"),
method: { type: "env", names: ["VLLM_API_KEY"] },
})
})
yield* catalog.transform((draft) => {
draft.provider.update(providerID, (provider) => {
provider.name = "vLLM"
provider.package = "aisdk:@ai-sdk/openai-compatible"
provider.integrationID = Integration.ID.make("vllm")
provider.activation = "auto"
})
draft.model.update(providerID, Model.ID.make("static-model"), () => {})
})
yield* addPlugin(server.url.origin, "5 millis")
yield* eventually(
catalog.model.get(providerID, Model.ID.make("discovered-model")),
(model) => model !== undefined,
)
expect(yield* integrations.get(Integration.ID.make("vllm"))).toBeUndefined()
expect((yield* catalog.provider.get(providerID))?.integrationID).toBeUndefined()
expect((yield* catalog.provider.get(providerID))?.activation).toBe("enabled")
expect(yield* catalog.model.get(providerID, Model.ID.make("static-model"))).toBeUndefined()
models.splice(0)
yield* eventually(
catalog.model.get(providerID, Model.ID.make("static-model")),
(model) => model !== undefined,
)
expect(yield* catalog.model.get(providerID, Model.ID.make("discovered-model"))).toBeUndefined()
expect(yield* integrations.get(Integration.ID.make("vllm"))).toBeDefined()
expect((yield* catalog.provider.get(providerID))?.integrationID).toBe(Integration.ID.make("vllm"))
expect((yield* catalog.provider.get(providerID))?.activation).toBe("auto")
}),
({ server }) => Effect.promise(() => server.stop(true)),
),
)
it.live(
"reloads layered custom endpoint and bearer authentication settings",
() =>
Effect.acquireUseRelease(
Effect.sync(() => {
const requests: Array<{ authorization: string | null; path: string }> = []
return {
requests,
initial: Bun.serve({
port: 0,
fetch: (request) =>
new URL(request.url).pathname === "/health"
? new Response()
: Response.json({ object: "list", data: [remoteModel("initial-model")] }),
}),
configured: Bun.serve({
port: 0,
fetch: (request) => {
requests.push({
authorization: request.headers.get("authorization"),
path: new URL(request.url).pathname,
})
if (new URL(request.url).pathname === "/proxy/health") return new Response()
return Response.json({ object: "list", data: [remoteModel("configured-model")] })
},
}),
}
}),
({ requests, initial, configured }) =>
Effect.gen(function* () {
const bus = yield* Bus.Service
const catalog = yield* Catalog.Service
const config = yield* Config.Test
const providerID = Provider.ID.make("vllm")
yield* addPlugin(initial.url.origin)
yield* eventually(
catalog.model.get(providerID, Model.ID.make("initial-model")),
(model) => model !== undefined,
)
const baseURL = `${configured.url.origin}/proxy/v1`
yield* config.setEntries([configuration({ baseURL }), configuration({ apiKey: "secret" })])
yield* bus.publish(Event.Updated, {})
yield* eventually(
catalog.model.get(providerID, Model.ID.make("configured-model")),
(model) => model !== undefined,
)
expect(requests).toContainEqual({ authorization: "Bearer secret", path: "/proxy/health" })
expect(requests).toContainEqual({ authorization: "Bearer secret", path: "/proxy/v1/models" })
expect(yield* catalog.model.get(providerID, Model.ID.make("initial-model"))).toBeUndefined()
expect((yield* catalog.provider.get(providerID))?.settings).toEqual({
baseURL,
provider: "vllm",
apiKey: "secret",
})
requests.splice(0)
yield* config.setEntries([configuration({ baseURL }), configuration({ apiKey: "next-secret" })])
yield* bus.publish(Event.Updated, {})
yield* eventually(
catalog.provider.get(providerID),
(provider) => provider?.settings?.apiKey === "next-secret",
)
expect(requests).toContainEqual({ authorization: "Bearer next-secret", path: "/proxy/health" })
expect(requests).toContainEqual({ authorization: "Bearer next-secret", path: "/proxy/v1/models" })
}),
({ initial, configured }) => Effect.promise(() => Promise.all([initial.stop(true), configured.stop(true)])),
),
10_000,
)
})
function configuration(settings: { baseURL?: string; apiKey?: string }) {
return new Document({
type: "document",
info: decode({ providers: { vllm: { settings } } }),
})
}
@@ -190,6 +190,7 @@ describe("SessionExecution lifecycle", () => {
sessionID,
text: "The server restarted while you were working. Continue from where you left off without repeating completed work.",
description: "Continuing after restart",
metadata: { notice: "restart" },
})),
)
// Drains completed naturally, so claims are released and counters reset.
@@ -13,13 +13,7 @@ type Experiment = {
// In-flight features anyone can opt into. Each entry is temporary: an
// experiment either graduates (delete the entry, make the behavior
// unconditional) or dies (delete the entry and the branch it gated).
export const experiments: Experiment[] = [
{
id: "tab_scroll",
title: "Remember tab scroll",
description: "Keep each open tab's reading position and show a shortcut back to the bottom.",
},
]
export const experiments: Experiment[] = []
export function DialogExperiments() {
const config = useConfig()
@@ -87,11 +87,6 @@ export const { use: useSessionTabs, provider: SessionTabsProvider } = createSimp
renderer.off("blur", onBlur)
})
createEffect(() => {
if (config.experimental?.tab_scroll === true) return
scrollAnchors.clear()
})
function state() {
if (config.tabs.scope === "cwd") return store.cwd[paths.cwd] ?? fallback
return store.global
+13 -8
View File
@@ -429,7 +429,6 @@ export function Session(props: { verticalTabsWidth: number }) {
return scroll.scrollTop < Math.max(0, scroll.scrollHeight - scroll.viewport.height) - 1
}
function updateAwayFromBottom() {
if (config.experimental?.tab_scroll !== true) return
if (awayTimer) clearTimeout(awayTimer)
awayTimer = setTimeout(() => {
awayTimer = undefined
@@ -440,7 +439,7 @@ export function Session(props: { verticalTabsWidth: number }) {
})
}
function saveScrollAnchor() {
if (config.experimental?.tab_scroll !== true || !isAwayFromBottom()) {
if (!isAwayFromBottom()) {
sessionTabs.setScrollAnchor(sessionID, undefined)
return
}
@@ -457,7 +456,7 @@ export function Session(props: { verticalTabsWidth: number }) {
else sessionTabs.setScrollAnchor(sessionID, undefined)
}
function restoreScrollPosition() {
const anchor = config.experimental?.tab_scroll === true ? sessionTabs.scrollAnchor(sessionID) : undefined
const anchor = sessionTabs.scrollAnchor(sessionID)
const index = anchor ? boundaries().indexOf(anchor.messageID) : -1
if (!anchor || index === -1) {
scroll.scrollTo(scroll.scrollHeight)
@@ -1195,15 +1194,21 @@ export function Session(props: { verticalTabsWidth: number }) {
</scrollbox>
</box>
<box height={1} flexShrink={0} flexDirection="row" justifyContent="flex-end">
<Show when={config.experimental?.tab_scroll === true && awayFromBottom()}>
<text
fg={latestHovered() ? theme.text.default : theme.text.subdued}
<Show when={awayFromBottom()}>
<box
paddingLeft={1}
paddingRight={1}
backgroundColor={
latestHovered() ? theme.background.action.primary.focused : theme.background.action.primary.default
}
onMouseOver={() => setLatestHovered(true)}
onMouseOut={() => setLatestHovered(false)}
onMouseUp={toBottom}
>
Latest
</text>
<text fg={latestHovered() ? theme.text.action.primary.focused : theme.text.action.primary.default}>
Jump to latest
</text>
</box>
</Show>
</box>
<box flexShrink={0}>
@@ -239,6 +239,23 @@ test("stores session tabs for the current working directory by default", async (
}
})
test("keeps scroll anchors for open session tabs", async () => {
const setup = await renderSessionTabs("first")
try {
await wait(() => setup.tabs.current() === "first")
setup.tabs.setScrollAnchor("first", { messageID: "msg_1", screenY: -3 })
expect(setup.tabs.scrollAnchor("first")).toEqual({ messageID: "msg_1", screenY: -3 })
setup.tabs.close("first")
await wait(() => setup.tabs.tabs().every((tab) => tab.sessionID !== "first"))
expect(setup.tabs.scrollAnchor("first")).toBeUndefined()
} finally {
await setup.destroy()
}
})
test("only the foreground TUI mutates unread state", async () => {
await using temporary = await tmpdir()
let foreground: Awaited<ReturnType<typeof renderSessionTabs>> | undefined
+1
View File
@@ -5,6 +5,7 @@
- Render count-sensitive copy through `plural(baseKey, count, params)`. Never select or pass `.zero`, `.one`, `.two`, `.few`, `.many`, or `.other` variants to `t(...)`; `pluralForm(...)` is reserved for components that animate individual grammatical forms.
- 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.
- Use `tDynamic(...)` when runtime-generated English source copy has keyed non-English alternatives. Do not branch on the active locale in feature 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 established usage in the target language's developer community over literal translations. Cross-check maintained Firefox, KDE, and VS Code localizations, using at least two independent corpora when available. Keep established English loanwords and acronyms instead of inventing unfamiliar terms.
- Translate whole UI phrases in context rather than substituting glossary words. Audit recurring concepts for consistency and review every exact-English value; retain it only when it is an intentional product/provider/tool name, URL, code token, keyboard legend, acronym, asset name, or established borrowing.
+29 -11
View File
@@ -17,7 +17,7 @@
}
[data-slot="animated-number-digit"] {
display: inline-block;
display: inline-grid;
width: 1ch;
height: 1em;
line-height: 1em;
@@ -41,19 +41,12 @@
mask-repeat: no-repeat;
}
[data-slot="animated-number-static"],
[data-slot="animated-number-strip"] {
display: inline-flex;
flex-direction: column;
transform: translateY(calc(var(--animated-number-offset, 10) * -1em));
transition-property: transform;
transition-duration: var(--animated-number-duration, 560ms);
transition-timing-function: var(--tool-motion-ease, cubic-bezier(0.22, 1, 0.36, 1));
}
[data-slot="animated-number-strip"][data-animating="false"] {
transition-duration: 0ms;
grid-area: 1 / 1;
}
[data-slot="animated-number-static"],
[data-slot="animated-number-cell"] {
display: inline-flex;
align-items: center;
@@ -62,6 +55,24 @@
height: 1em;
line-height: 1em;
}
[data-slot="animated-number-digit"][data-animating="true"] [data-slot="animated-number-static"] {
visibility: hidden;
}
[data-slot="animated-number-strip"] {
display: inline-flex;
flex-direction: column;
margin-top: calc(var(--animated-number-offset, 10) * -1em);
transition-property: margin-top;
transition-duration: var(--animated-number-duration, 560ms);
transition-timing-function: var(--tool-motion-ease, cubic-bezier(0.22, 1, 0.36, 1));
}
[data-slot="animated-number-digit"][data-animating="false"] [data-slot="animated-number-strip"] {
transition-duration: 0ms;
visibility: hidden;
}
}
@media (prefers-reduced-motion: reduce) {
@@ -71,5 +82,12 @@
[data-component="animated-number"] [data-slot="animated-number-strip"] {
transition-duration: 0ms;
visibility: hidden;
}
[data-component="animated-number"]
[data-slot="animated-number-digit"][data-animating]
[data-slot="animated-number-static"] {
visibility: visible;
}
}
@@ -43,10 +43,10 @@ function Digit(props: { value: number; direction: 1 | -1 }) {
)
return (
<span data-slot="animated-number-digit">
<span data-slot="animated-number-digit" data-animating={animating() ? "true" : "false"}>
<span data-slot="animated-number-static">{props.value}</span>
<span
data-slot="animated-number-strip"
data-animating={animating() ? "true" : "false"}
onTransitionEnd={() => {
setState("animating", false)
setState("step", (value) => normalize(value) + 10)
+26 -1
View File
@@ -1,5 +1,5 @@
import { describe, expect, test } from "bun:test"
import { pluralCategory } from "./i18n"
import { createUiI18n, pluralCategory, type UiI18nSource } from "./i18n"
describe("pluralCategory", () => {
test.each([
@@ -22,3 +22,28 @@ describe("pluralCategory", () => {
expect(pluralCategory(locale, count)).toBe(expected)
})
})
describe("dynamic source copy", () => {
const i18n = (locale: string, translated: string) => {
const source: UiI18nSource = {
locale: () => locale,
t: () => translated,
plural: () => "",
}
return createUiI18n(source)
}
test("keeps runtime copy for English locale tags", () => {
expect(
i18n("en-US", "Dictionary copy").tDynamic("dialog.usageExceeded.freeTier.title", "Runtime {{name}}", {
name: "copy",
}),
).toBe("Runtime copy")
})
test("uses dictionary copy for non-English locales", () => {
expect(i18n("fr", "Texte traduit").tDynamic("dialog.usageExceeded.freeTier.title", "Runtime copy")).toBe(
"Texte traduit",
)
})
})
+21 -5
View File
@@ -9,11 +9,12 @@ export type UiPluralCategory = PluralCategory
export type UiI18nPluralLookupKey = PluralLookupKey
export type UiI18nLocaleKey = LocaleKey
type UiTranslationKey<Value extends string> = Value extends UiI18nPluralLookupKey ? never : Value
export type UiI18nOrdinaryKey = UiTranslationKey<UiI18nKey>
export type UiI18nParams = Record<string, string | number | boolean>
export type UiTranslate = <Value extends string>(key: UiTranslationKey<Value>, params?: UiI18nParams) => string
export type UiI18n = {
export type UiI18nSource = {
locale: Accessor<string>
layoutLocale?: Accessor<string>
t: UiTranslate
@@ -21,6 +22,11 @@ export type UiI18n = {
pluralForm?: (key: UiI18nPluralKey, category: UiPluralCategory, params?: UiI18nParams) => string
}
export type UiI18n = UiI18nSource & {
/** Preserve runtime-generated English copy while using the keyed dictionary for every other locale. */
tDynamic: (key: UiI18nOrdinaryKey, source: string, params?: UiI18nParams) => string
}
const rules = new Map<string, Intl.PluralRules>()
export function pluralCategory(locale: string, count: number): UiPluralCategory {
@@ -45,7 +51,15 @@ function resolveTemplate(text: string, params?: UiI18nParams) {
})
}
const fallback: UiI18n = {
export function createUiI18n(source: UiI18nSource): UiI18n {
return {
...source,
tDynamic: (key, value, params) =>
source.locale().toLowerCase().split("-")[0] === "en" ? resolveTemplate(value, params) : source.t(key, params),
}
}
const fallbackSource: UiI18nSource = {
locale: () => "en",
t: (key, params) => {
const value = en[key as UiI18nKey] ?? String(key)
@@ -59,13 +73,15 @@ const fallback: UiI18n = {
return resolveTemplate(value, params)
},
}
const fallback = createUiI18n(fallbackSource)
const Context = createContext<UiI18n>(fallback)
function UiI18nProvider(props: ParentProps<{ value: UiI18n }>) {
function UiI18nProvider(props: ParentProps<{ value: UiI18nSource }>) {
const value = createUiI18n(props.value)
return (
<I18nProvider locale={(props.value.layoutLocale ?? props.value.locale)()}>
<Context.Provider value={props.value}>{props.children}</Context.Provider>
<I18nProvider locale={(value.layoutLocale ?? value.locale)()}>
<Context.Provider value={value}>{props.children}</Context.Provider>
</I18nProvider>
)
}
+3
View File
@@ -191,4 +191,7 @@ export const dict: Record<string, string> = {
"ui.question.multiHint": "የሚመለከተውን ሁሉንም መልሶች ይምረጡ",
"ui.question.singleHint": "አንድ መልስ ምረጥ",
"ui.question.custom.placeholder": "መልስዎን ይተይቡ...",
"ui.messagePart.context.match.one": "({{count}} ተዛማጅ)",
"ui.messagePart.context.match.other": "({{count}} ተዛማጆች)",
"ui.tool.execute": "አስፈጽም",
}
+7
View File
@@ -228,4 +228,11 @@ export const dict = {
"ui.toolErrorCard.copyError": "نسخ الخطأ",
"ui.message.duration.seconds": "{{count}}ث",
"ui.message.duration.minutesSeconds": "{{minutes}}د {{seconds}}ث",
"ui.messagePart.context.match.zero": "(عدد التطابقات: {{count}})",
"ui.messagePart.context.match.one": "({{count}} تطابق)",
"ui.messagePart.context.match.two": "(عدد التطابقات: {{count}})",
"ui.messagePart.context.match.few": "({{count}} تطابقات)",
"ui.messagePart.context.match.many": "({{count}} تطابقًا)",
"ui.messagePart.context.match.other": "(التطابقات: {{count}})",
"ui.tool.execute": "تنفيذ",
}
+3
View File
@@ -192,4 +192,7 @@ export const dict: Record<string, string> = {
"ui.question.multiHint": "Uyğun gələn bütün cavabları seçin",
"ui.question.singleHint": "Bir cavab seçin",
"ui.question.custom.placeholder": "Cavabınızı yazın...",
"ui.messagePart.context.match.one": "({{count}} uyğunluq)",
"ui.messagePart.context.match.other": "({{count}} uyğunluq)",
"ui.tool.execute": "İcra et",
}
+3
View File
@@ -192,4 +192,7 @@ export const dict = {
"ui.question.multiHint": "Изберете всички приложими отговори",
"ui.question.singleHint": "Изберете един отговор",
"ui.question.custom.placeholder": "Въведете вашия отговор...",
"ui.messagePart.context.match.one": "({{count}} съвпадение)",
"ui.messagePart.context.match.other": "({{count}} съвпадения)",
"ui.tool.execute": "Изпълни",
}
+3
View File
@@ -194,4 +194,7 @@ export const dict: Record<string, string> = {
"ui.question.multiHint": "প্রযোজ্য সমস্ত উত্তর নির্বাচন করুন",
"ui.question.singleHint": "একটি উত্তর নির্বাচন করুন",
"ui.question.custom.placeholder": "আপনার উত্তর টাইপ করুন...",
"ui.messagePart.context.match.one": "({{count}}টি মিল)",
"ui.messagePart.context.match.other": "({{count}}টি মিল)",
"ui.tool.execute": "চালান",
}
+5
View File
@@ -216,4 +216,9 @@ export const dict = {
"ui.toolErrorCard.copyError": "Copiar erro",
"ui.message.duration.seconds": "{{count}}s",
"ui.message.duration.minutesSeconds": "{{minutes}}m {{seconds}}s",
"ui.messagePart.context.match.one": "(correspondência {{count}})",
"ui.messagePart.context.match.other": "(correspondências {{count}})",
"ui.tool.execute": "Executar",
"ui.messagePart.context.match.many": "({{count}} correspondências)",
}
+4
View File
@@ -220,4 +220,8 @@ export const dict = {
"ui.toolErrorCard.copyError": "Kopiraj grešku",
"ui.message.duration.seconds": "{{count}}s",
"ui.message.duration.minutesSeconds": "{{minutes}}m {{seconds}}s",
"ui.messagePart.context.match.one": "({{count}} podudaranje)",
"ui.messagePart.context.match.other": "({{count}} podudaranja)",
"ui.tool.execute": "Izvrši",
"ui.messagePart.context.match.few": "({{count}} podudaranja)",
} satisfies Partial<Record<Keys, string>>
+4
View File
@@ -104,6 +104,9 @@ export const dict: Record<string, string> = {
"ui.messagePart.context.list.one": "{{count}} llista",
"ui.messagePart.context.list.other": "{{count}} llistes",
"ui.messagePart.context.list.many": "{{count}} llistes",
"ui.messagePart.context.match.one": "({{count}} coincidència)",
"ui.messagePart.context.match.many": "({{count}} de coincidències)",
"ui.messagePart.context.match.other": "({{count}} coincidències)",
"ui.list.loading": "Carregant",
"ui.list.empty": "Sense resultats",
"ui.list.clearFilter": "Esborra el filtre",
@@ -146,6 +149,7 @@ export const dict: Record<string, string> = {
"ui.tool.websearch": "Cerca web",
"ui.tool.websearch.provider": "{{provider}} Cerca web",
"ui.tool.shell": "Shell",
"ui.tool.execute": "Executa",
"ui.tool.patch": "Pedaç",
"ui.tool.questions": "Preguntes",
"ui.tool.questions.numbered": "Preguntes {{number}}",

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