Files
apes-sidebar/src/client/locales-sv.ts
T
Menghuan1918 c0ff3d1afd feat(tasks): 空闲成员 ≥3 时自动收进聚合,聚合并如实报出状态配比
用户要求优化显示:「比如空闲时也折叠」。

在此之前,一个跑完一轮的 teammate(活体通道不报 running)映射成 idle,
而 idle 不在「已完成/出错」的可折叠集合里 —— 于是 8 人团队永远摆 8 张卡,
而同样「不在执行」的普通子代理却是 done、会折叠。同一事实两种显示,才是
这个痛点的根。

- 可折叠集合放宽到「不在执行」(done | idle | error);运行中/部署中永不折叠。
- 空闲**不无条件收**:按用户确认的阈值,一个父节点下空闲成员 ≥3 才随页面级
  折叠规则一起收(FOLD_IDLE_MIN)。1–2 个待命成员就是这个团队的工作集,
  而且它们的卡上会挂任务行,留着看;3 个以上才是「在扫名册」。
- 聚合行如实报账:聚合节点新增 doneCount/idleCount/errorCount/hasIdle,
  小条写 `✓ N 已完成 · N 待命 · 出错 N`(为零的项省略,全已完成时与原先一样短),
  徽标在**没有已完成项**时改说 `N 待命` —— 否则「✓ N 已完成」会把待命和出错
  一起算成已完成,是撒谎。图卡片与树行共用 foldTally/foldBadgeCount。
- 手动折叠(卡片 chevron)不设阈值:那是读者点名要收的节点。
- i18n:新增 tasksFoldIdle ×20 词典。

测试:新增 6 例(阈值命中收 3 个空闲成员、2 个保持可见、运行中成员即使达标也不收、
混合聚合按状态计数、页面聚合行报「3 待命」且徽标不说已完成);pnpm test
1284 passed / 9 skipped,typecheck / lint 通过。

(cherry picked from commit 39d66ffb2e93eeb4095ec1cb2ac15933cce62742)
2026-09-27 22:19:05 +08:00

483 lines
31 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
export const sv: Record<string, string> = {
files: 'Filer',
guideDescFiles: 'Bläddra i arbetsytans filträd; klick öppnar förhandsvisning eller redigering',
guideDescGit: 'Git-ändringar och sessionens filändringar i en flik',
guideDescSubagent: 'Arbetsflödesgraf, teamuppgiftstavla och bakgrundsjobb, live',
guideDescSidechat: 'En oberoende uppföljningstråd som ärver sessionens kontext',
guideDescTerminal: 'Ett riktigt skal (xterm + pty) med återanslutning',
guideDescBrowser: 'Inbäddad webbläsare som kan ta över chattlänkar',
changesSessionEmpty: 'Inga filoperationer i den här sessionen ännu',
changesRead: 'Läs',
changesMdReading: 'Läsning',
changesHtmlRender: "Rendera",
changesHtmlRaw: "Källa",
changesPdfRender: "Rendera",
changesPdfRaw: "Källa",
changesMdRaw: 'Råtext',
changesWrite: 'Skriv',
changesEdit: 'Redigera',
changesRunning: 'körs',
changesError: 'fel',
changesFold: '{count} rader… klicka för att expandera',
changesFoldLoading: 'Expanderar…',
changesFoldUnavailable: 'Kontext ej tillgänglig',
changesContext: 'kontext',
changesPriorUnknown: 'Innehållet före ändringen ligger utanför fönstret; visas som helt nytt',
explorer: 'Utforskare',
terminal: 'Terminal',
editor: 'Editor',
editorExplorer: 'Filers öppningsbeteende',
editorExplorerDesc: 'Styr hur filer öppnas',
editorExplorerMerged: 'Sammanslagen',
editorExplorerMergedDesc: 'Filer växlas på plats i samma fönster; nya fönster startar med trädet öppet',
editorExplorerSplit: 'Separat',
editorExplorerSplitDesc: 'Fönster utan sökväg är den fristående utforskaren (endast träd); varje fil öppnar ett eget fönster (träd dockat, stängt som standard)',
editorTreeToggle: 'Filträdspanel',
editorPathPlaceholder: 'Filsökväg (relativ sessionskatalogen eller absolut), Enter för att öppna',
editorSearchPlaceholder: 'Sök filer efter namn…',
editorSearchNoResults: 'Inga matchande filer',
editorSearchTruncated: 'För många resultat — visar en delvis lista',
editorEmptyHint: 'Välj en fil från trädpanelen eller sökvägsinmatningen ovan för att börja förhandsgranska',
openFileNewTab: 'Öppna i ny flik',
openFileSide: 'Öppna vid sidan',
openWithMenu: 'Öppna med',
openWithSshSuffix: ' (SSH)',
pinOpenWith: 'Fäst i meny',
unpinOpenWith: 'Lossa',
openWithExplorer: 'Filhanterare',
openWithVscode: 'VS Code',
openWithCursor: 'Cursor',
openWithZed: 'Zed',
openWithSettingsSshTitle: 'SSH-fjärrvärd',
openWithSettingsSshDesc: 'Tomt = lokal arbetsyta; med user@host eller SSH-alias byter VSCode-familjens öppnare till vscode-remote/ssh-remote-protokollet och Filhanterare / Zed / icke-VSCode-familjens anpassade editorer döljs från menyn',
openWithSettingsSshPlaceholder: 'user@host eller SSH-alias',
openWithSettingsCustomTitle: 'Anpassade editorer',
openWithSettingsCustomDesc: 'Namn + URL-mall ({path}-platshållare) + VSCode-familj-flagga; i fjärrläge kan endast VSCode-familjens editorer öppna en fjärrsökväg',
openWithSettingsAdd: 'Lägg till',
openWithSettingsName: 'Namn',
openWithSettingsTemplate: 't.ex. cursor://file/{path}',
openWithSettingsFamily: 'VSCode-familj',
openWithSettingsFamilyDesc: 'Denna editor talar VSCode:s URL-dialekt (stöder SSH-fjärröppning)',
openWithSettingsRemove: 'Ta bort',
openWithSettingsInvalidHint: 'Editorer med saknat namn eller en mall utan {path} / scheme:// visas inte i menyn',
newTab: 'Ny flik',
brokenSymlink: 'Bruten symbolisk länk',
close: 'Stäng',
closeOtherTabs: 'Stäng andra flikar',
closeLeftTabs: 'Stäng flikar till vänster',
closeRightTabs: 'Stäng flikar till höger',
pinTerminal: 'Fäst Terminal',
pinAgentTerminal: 'Fäst Agent-terminal',
pinToWorkspace: 'Fäst på arbetsyta',
pinToGlobal: 'Fäst globalt',
unpinTerminal: 'Ta bort fästning',
collapseBottomPanel: 'Komprimera bottenpanel',
expandBottomPanel: 'Expandera bottenpanel',
terminalError: 'Terminalanslutning misslyckades',
terminalConnectFailed: 'Terminal misslyckades att ansluta upprepade gånger',
terminalRetry: 'Försök igen',
terminalWaitBanner: 'Agenten väntar på {needle}',
terminalSkipWait: 'Hoppa över väntan',
terminalDepsFailed: 'Terminalberoendet node-pty kunde inte laddas',
terminalDepsHint: 'Kör kommandot nedan i en terminal eller cmd på DSH-maskinen för att reparera det, försök sedan igen (node-pty hålls synkad med DSH-kärnversionen):',
terminalDepsProfile: ' (upptäckt profil: {profile})',
terminalShellNotFound: 'Konfigurerat skal hittades inte: {name} — kontrollera skalsökvägen under Inställningar → Side card → Terminal',
preview: 'Förhandsgranska',
toc: 'Innehållsförteckning',
edit: 'Redigera',
mermaidError: 'Mermaid-rendering misslyckades',
mermaidZoomIn: 'Zooma in',
mermaidZoomOut: 'Zooma ut',
mermaidZoomReset: 'Återställ',
mermaidZoomHint: 'Rulla för att zooma · dra för att panorera · Esc för att stänga',
refresh: 'Uppdatera',
showInFolder: 'Visa i mapp',
refreshUnsavedConfirm: 'Filen ändrades på disken. Uppdatering kastar osparade ändringar. Fortsätta?',
save: 'Spara',
saved: 'Sparad',
unsaved: 'Osparad',
saveFailed: 'Kunde inte spara',
truncation: 'Filen är för stor — visar de första 512KB',
binary: 'Binärfil, förhandsgranskning otillgänglig',
loading: 'Laddar…',
error: 'Kunde inte ladda',
retry: 'Försök igen',
notRepo: 'Denna katalog är inte ett Git-arkiv',
noChanges: 'Inga ändringar',
statusTruncated: 'För många ändringar; endast de första 2000 posterna visas',
stage: 'Köa',
unstage: 'Avköa',
stageAll: 'Köa alla',
unstageAll: 'Avköa alla',
commitPlaceholder: 'Commit-meddelande (Ctrl+Enter)',
commit: 'Commit',
branch: 'Gren',
worktree: 'Arbetsträd',
checkoutError: 'Grenbyte misslyckades',
history: 'Historik',
changes: 'Filändringar',
changesGitLens: 'Git',
changesSessionLens: 'Session',
changesFilterAll: 'Alla',
changesFilterEmpty: 'Inga åtgärder av denna typ',
changesOpenDiffTab: 'Öppna i egen diff-flik',
changesClosePreview: 'Stäng förhandsvisning',
changesResizePreview: 'Ändra storlek på förhandsvisningen',
changesLoadError: 'Sessionens filposter är inte tillgängliga just nu',
staged: 'Köade',
unstaged: 'Avköade',
cancel: 'Avbryt',
diffEmpty: 'Inga textändringar',
diffLoadError: 'Kunde inte ladda diff',
diffBinary: 'Binär',
diffAdded: 'Tillagd',
diffDeleted: 'Borttagen',
diffRenamed: 'Omdöpt',
diffExpand: 'Expandera {count} fler rader',
discard: 'Förkasta ändringar',
discardTitle: 'Förkasta ändringar',
discardDesc: 'Detta förkastar arbetskopians ändringar av ”{path}” (kan inte ångras).',
viewCommitDiff: 'Visa commit-diff',
copyShortHash: 'Kopiera kort hash',
copyFullHash: 'Kopiera full hash',
copySubject: 'Kopiera ämne',
revertCommit: 'Återställ commit',
revertTitle: 'Återställ commit',
revertDesc: 'Skapa en ny commit på aktuell gren som återställer ”{subject}”.',
cherryPickCommit: 'Cherry-picka commit',
cherryPickTitle: 'Cherry-picka commit',
cherryPickDesc: 'Tillämpa ändringarna från ”{subject}” på aktuell gren.',
timeJustNow: 'just nu',
timeMinutesAgo: '{n} min sedan',
timeHoursAgo: '{n} h sedan',
timeYesterday: 'igår',
loadMore: 'Ladda fler',
historyLoadError: 'Kunde inte ladda mer historik',
produced: 'Producerat',
disconnected: 'Terminalen frånkopplad, ansluter igen…',
exited: 'Terminalprocess avslutad',
noSession: 'Välj en konversation för att använda sidopanelen',
pluginNotLoaded: 'Plugin inte laddad; flik otillgänglig:',
parent: 'Överordnad katalog',
copied: 'Kopierades',
copy: 'Kopiera',
openEditor: 'Öppna editor',
referenceFile: '@fil',
addToConversation: 'Lägg till i konversation',
copyRelative: 'Kopiera relativ sökväg',
copyAbsolute: 'Kopiera absolut sökväg',
rename: 'Byt namn',
renameInvalid: 'Namnet får inte vara tomt eller innehålla sökvägsavgränsare.',
delete: 'Ta bort',
deleteTitle: 'Ta bort "{name}"?',
deleteDescFile: 'Detta tar bort filen permanent. Det går inte att ångra.',
deleteDescDir: 'Detta tar bort katalogen och allt i den permanent. Det går inte att ångra.',
dismiss: 'Stäng',
download: 'Ladda ner',
uploadFiles: 'Ladda upp filer',
uploadFolder: 'Ladda upp mapp',
uploadHere: 'Ladda upp hit',
uploadDropHint: 'Släpp filer/mappar här för att ladda upp',
uploadDropChat: 'Släpp på chatareat för att lägga till bilder',
uploadTo: 'Ladda upp till {dir}',
uploadingTo: 'Laddar upp till {dir}…',
uploadProgress: 'Laddar upp {done}/{total}: {name}',
uploadDone: 'Laddade upp {count} fil(er)',
uploadFailed: 'Uppladdning misslyckades: {error}',
uploadFailedUnknown: 'Okänt fel',
uploadTooLarge: 'Filen för stor (över uppladdningsgränsen)',
uploadCancelled: 'Uppladdning avbruten',
settingsNav: 'Sidokort',
settingsIntro: 'Hantera vad sidokortet visar och hur det beter sig',
settingsPopupDesc: 'Konfigurera relaterade alternativ för {feature}',
settingsDone: 'Klar',
settingsOpenToolsTitle: 'Injicera sidopanel-öppningsverktyg för modellen',
settingsOpenToolsDesc: 'När aktiverat kan modellen öppna filer, mappar och HTTP(S)-sidor i sidopanelen via sidebar_open-verktyget (av som standard)',
settingsTitleBarTitle: 'Positions kompatibilitetsläge',
settingsTitleBarDesc: 'Välj titelfälts kompatibilitetsschema: auto-detektera (standard, konservativt) / DSH officiella webb / kända skrivbordsskal / anpassat (förskjutningsavstånd + egen CSS)',
settingsTitleBarStripTitle: 'Förskjutningsavstånd',
settingsTitleBarStripDesc: 'Titelfältsremsans höjd: hur långt sidopanelens knappar och innehåll flyttas ner i px (0–120, standard 40; gäller under det anpassade schemat)',
settingsSchemeAutoTitle: 'Auto-detektera',
settingsSchemeAutoDesc: 'Konservativt: endast standard Window Controls Overlay API bidrar (reell caption-overlay-höjd); vanliga webbmiljöer får ingen ändring',
settingsSchemeWebTitle: 'DSH officiella webb',
settingsSchemeWebDesc: 'Explicit deklarera det officiella webbgränssnittet: ingen anpassning alls (inte ens standard WCO-geometri)',
settingsSchemeCustomTitle: 'Anpassat',
settingsSchemeCustomDesc: 'Full kontroll: injicera egen CSS (kan åsidosätta inbyggda stilar) och sätt titelfältets förskjutningsavstånd',
settingsSchemeDetectedSuffix: 'upptäckt',
settingsCustomCssTitle: 'Anpassad CSS',
settingsCustomCssPlaceholder: '/* t.ex. reservera 36px för ett skal med egenritat titelfält */\nhtml[data-dsh-title-bar-height="36"] {\n --dsh-title-bar-strip: 36px !important;\n}',
settingsSaveFailed: 'Kunde inte spara',
settingsConflict: 'Inställningen ändrades i ett annat fönster — vänligen försök igen',
binaryNoPreview: 'Denna filtyp kan inte förhandsgranskas',
downloadToView: 'Ladda ner för att visa',
settingsSubagentTitle: 'Aktivera sidan Uppgifter automatiskt när en subagent dyker upp',
settingsSubagentDesc: 'När den aktuella konversationen skapar en ny subagent aktiveras sidan Uppgifter automatiskt; på breda skärmar expanderas även sidokortet, medan helskärmspanelen inte tvingas öppnas på smala skärmar; stäng av för att välja sidan manuellt',
settingsJobsTitle: 'Aktivera sidan Uppgifter automatiskt vid ett nytt bakgrundsjobb',
settingsJobsDesc: 'När ett nytt bakgrundsjobb dyker upp för den aktuella konversationen aktiveras sidan Uppgifter automatiskt (detta sker för varje nytt jobb); på breda skärmar expanderas även sidokortet, medan helskärmspanelen inte tvingas öppnas på smala skärmar; stäng av för att välja sidan manuellt',
settingsToolsTitle: 'Injicera terminalverktyg för modellen',
settingsToolsDesc: 'När aktiverat kan modellen skapa och styra sidopanelsterminaler via de 8 terminal_*-verktygen (av som standard)',
settingsFenceTitle: 'Kontroll av workspace-sökvägar',
settingsFenceDesc: 'På: sidopanelens filfunktioner når bara sökvägar i sessionens workspace (standard); av: vilken fil som helst på värden kan nås — sidans skript får samma räckvidd så länge',
fenceErrorReason: 'Denna sökväg ligger utanför sessionens workspace och blockerades av kontrollen',
fenceDisableAction: 'Stäng av workspace-kontrollen',
settingsBottomTerminalTitle: 'Öppna automatiskt en terminal vid bottenpanelens första expandering',
settingsBottomTerminalDesc: 'När bottenpanelen expanderas för första gången i en session, försök öppna en ny terminalflik där (terminalgränsen gäller fortfarande; på som standard)',
settingsFontFamilyTitle: 'Terminalens teckensnittsfamilj',
settingsFontFamilyDesc: 'Anpassad teckensnittsfamilj för terminalen (en CSS font-family-stack som "JetBrains Mono", monospace; lämna tomt för att följa temats monospaced-teckensnitt)',
settingsFontFamilyPlaceholder: '"JetBrains Mono", monospace',
settingsFontSizeTitle: 'Terminalens teckenstorlek',
settingsFontSizeDesc: 'Terminalens teckenstorlek i px (9–32, standard 13)',
settingsShellTitle: 'Skalsökväg',
settingsShellDesc: 'Skal som startas för UI- och modellterminaler (absolut sökväg ellerbart körbart namn). Tomt behåller den äldre ordningen: yaml config.shell → $SHELL / inloggningsskal / Windows powershell.exe. Gäller terminaler som öppnas senare',
settingsShellPlaceholder: 't.ex. /bin/zsh (tomt = auto)',
settingsShellArgsTitle: 'Skalargument',
settingsShellArgsDesc: 'Uttryckliga skalargument, mellanslagsseparerade; när icke-tomma ersätter de helt standardvärdena (samma kontrakt som yaml shellArgs)',
settingsShellArgsPlaceholder: 't.ex. -l (tomt = standard)',
settingsTabsTitle: 'Sidopanelens innehåll',
settingsViewersTitle: 'Filvisare',
settingsMobileTitle: "Mobil",
settingsMobileNoAutoOpenTitle: "Öppna inte automatiskt på smala skärmar",
settingsMobileNoAutoOpenDesc: "På telefon / smal vyport växlar en ny subagent eller bakgrundsjobb inte längre själv till Uppgiftssidan (går fortfarande att öppna manuellt)",
settingsMobileTreeTitle: "Uppgiftssidan som träd som standard",
settingsMobileTreeDesc: "På telefon / smal vyport öppnas Uppgiftssidan som klassiskt träd i stället för arbetsflödesgraf; knappen på sidan fungerar kvar",
settingsGeneralTitle: 'Allmänt',
settingsPopup: 'Funktionsinställningar',
settingsViewerCatchAll: 'Fånga alla: alla filer',
viewerMarkdown: 'Markdown',
viewerCode: 'Kod',
viewerHtml: 'HTML',
browser: 'Webbläsare',
browserPlaceholder: 'Ange en URL, t.ex. example.com',
browserGo: 'Gå',
browserBack: 'Bakåt',
browserForward: 'Framåt',
browserStart: 'Ange en URL för att börja surfa (sandlådeläge)',
browserBlockedScheme: 'Blockerat: endast http/https-URL:er är tillåtna',
browserBlockedLoopback: 'Blockerat: lokala och interna adresser kan inte surfas här',
browserInvalid: 'Ogiltig URL',
htmlNoSandboxWarning: 'Sandlåda av: denna HTML kör med fullständiga GUI-privilegier (återaktivera i inställningarna)',
sandboxStatusOn: 'Sandlådeläge: på · sidor kan inte komma åt GUI:ts data eller lokala filer; inloggningar och tredjepartscookies kanske inte fungerar',
sandboxUnlock: 'Avaktivera tillfälligt (osäkert)',
sandboxRestore: 'Återställ sandlåda',
settingsHtmlDefaultUnsafeTitle: 'Öppna HTML-förhandsgranskningar osandlådade som standard (osäkert)',
settingsHtmlDefaultUnsafeDesc: 'När på, startar varje nyöppnad HTML-förhandsgranskning i osandlådat tillstånd (samma ursprung som GUI — kan läsa sessionsfiler och interna API:er); statusraden erbjuder fortfarande en återställning med ett klick',
settingsHtmlSandboxTitle: 'Avaktivera sandlåda för HTML-förhandsgranskning (osäkert)',
settingsHtmlSandboxDesc: 'Med sandlådan av körs förhandsgranskad HTML med samma ursprung som GUI: kan läsa sessionsfiler, lokal lagring och anropa interna API:er. Aktivera endast för fullt betrodda filer',
settingsBrowserSandboxTitle: 'Avaktivera webbläsarsandlåda (osäkert)',
settingsBrowserSandboxDesc: 'Med sandlådan av körs alla besökta sajter med samma ursprung som GUI: kan läsa sessionsdata och agera som er inloggade session. Aktivera endast för fullt betrodda sajter',
settingsBrowserLoopbackTitle: 'Tillåtna lokala adresser',
settingsBrowserLoopbackDesc: 'Kommaseparerad tillåten lista över loopback-adresser (t.ex. localhost:5174 eller 127.0.0.1:8080) som sidofältswebbläsaren kan besöka; tom blockerar alla lokala adresser som standard. Sandlådan gäller fortfarande — sidor kan inte läsa GUI-data',
settingsBrowserLoopbackPlaceholder: 't.ex. localhost:5174, 127.0.0.1:8080',
browserOpenExternal: 'Öppna i webbläsare',
browserEmbedBlocked: '{host} vägrade bli inbäddad',
browserEmbedBlockedDesc: 'Sajten förbjuder att visas inuti andra sidor (X-Frame-Options / frame-ancestors), så den kan inte ladda i sidopanelen. Öppna den direkt i er webbläsare i stället.',
browserEmbedAnyway: 'Ladda ändå',
subagent: 'Uppgifter',
subagentMainAgent: 'Huvudagent',
subagentEmpty: 'Inga subagenter',
subagentEmptyDesc: 'Subagenter skapade under huvudagenten visas här',
subagentInactive: 'Inaktiv',
subagentModeOneShot: 'Engångs',
subagentModeContinuable: 'Fortsättbar',
subagentCount: '{count} subagenter',
subagentCountRunning: '{count} subagenter · {running} kör',
subagentThinking: 'Tänker…',
sideChat: 'Sidochatt (beta)',
sideChatNew: 'Ny tråd',
sideChatUntitled: 'Ny tråd',
sideChatEmpty: 'Inga sidokonversationer',
sideChatEmptyDesc: 'Varje sidokonversation är en egen flik i flikraden — den ärver den aktuella sessionens kontext och kommer aldrig in i huvudkonversationen',
sideChatCreating: 'Skapar sidokonversation…',
sideChatRetry: 'Försök igen',
sideChatThreads: 'Byt tråd / ny',
sideChatSave: 'Spara som ny session',
sideChatSaveTitle: 'Höj denna tråd till en toppnivå-session i huvudsessionslistan',
sideChatSaved: 'Sparad som ny session',
sideChatNoTurn: 'Spara är tillgängligt efter den första slutförda vändan',
sideChatPendingDrop: 'Den senaste obesvarade följdfrågan inkluderas inte i den sparade sessionen',
sideChatFirstPlaceholder: 'Ställ den första frågan — kontext ärvd…',
sideChatComposerPlaceholder: 'Ställ en följdfråga…',
sideChatThinking: 'Dyk djupare…',
sideChatThink: 'Tänker',
sideChatInjection: 'Kontext injicerad',
sideChatSend: 'Skicka',
sideChatCancelTitle: 'Avbryt den pågående vändan (köat arbete behålls)',
sideChatError: 'Sidochattsfel: {message}',
sideChatTurnUsage: 'In {input} tok · Ut {output} tok',
sideChatBlockCollapse: 'Fäll ihop',
sideChatBlockCollapseAria: 'Fäll ihop',
sideChatBlockExpand: 'Visa {hidden} rader',
sideChatBlockExpandAria: 'Visa {hidden} rader till',
sideChatBlockSignal: 'Avslutad av signal: {signal}',
sideChatBlockExitCode: 'Slutkod {code}',
sideChatBlockNoExitCode: "Avslutades utan slutkod",
sideChatBlockRunning: 'Körs',
sideChatBlockFailed: 'Misslyckades',
sideChatBlockDone: 'Klar',
sideChatBlockNoOutput: '(ingen utdata)',
codeBlockTitle: 'Kodblock',
codeBlockWrap: 'Radbrytning',
codeBlockUnwrap: 'Ingen radbrytning',
sideChatBlockWindow: '{shown} av {total} rader',
sideChatConnDisconnected: 'Anslutningen bröts',
sideChatConnConnecting: 'Ansluter igen…',
sideChatConnRecovered: 'Anslutningen återställd',
sideChatConnReconnectAction: 'Anslut igen nu',
sideChatConnRestartAction: 'Starta om anslutningen',
jobs: 'Bakgrundsjobb',
jobsCount: '{count} bakgrundsjobb',
jobsCountRunning: '{count} bakgrundsjobb · {running} kör',
jobStatusRunning: 'Kör',
jobStatusStopping: 'Stoppar',
jobStatusCompleted: 'Klar',
jobStatusKilled: 'Dödad',
jobStatusFailed: 'Misslyckades',
jobDurationSeconds: '{seconds}s',
jobDurationMinutes: '{minutes}m {seconds}s',
jobDurationHours: '{hours}t {minutes}m',
jobViewOutput: 'Visa utdata',
jobNoOutput: 'Ingen utdata än',
jobNotReadYet: 'Väntar på att modellen ska läsa detta jobb; dess utdata visas här när modellen kör job_output',
jobOutputTruncated: 'Utdata avkortad',
jobOutputError: 'Kunde inte läsa utdata',
jobKill: 'Döda',
jobKillConfirm: 'Klicka igen för att bekräfta dödande',
jobKillError: 'Kunde inte döda',
tasksViewGraph: 'Arbetsflödesgraf',
tasksViewTree: 'Träd',
tasksViewSwitchToGraph: 'Växla till arbetsflödesgrafen',
tasksViewSwitchToTree: 'Växla till trädet',
settingsViewModeTitle: 'Standardvy för uppgiftssidan',
settingsViewModeDesc: 'Hur uppgiftssidan visas vid öppning (växeln på sidan ändrar den fortfarande ad hoc)',
settingsViewModeGraph: 'Arbetsflödesgraf',
settingsViewModeGraphDesc: 'Lagerindelad nodgraf med zoom och panorering',
settingsViewModeTree: 'Träd',
settingsViewModeTreeDesc: 'Klassiskt indragsträd, navigerbart med tangentbord',
tasksFoldIdle: 'Idle {count}',
tasksFoldCompleted: '✓ {count} klara',
tasksFoldOne: 'Vik ihop med klara',
tasksFoldExpand: 'Visa färdiga noder',
tasksFoldCollapse: 'Dölj färdiga noder',
tasksZoomIn: 'Zooma in',
tasksZoomOut: 'Zooma ut',
tasksZoomFit: 'Anpassa till ytan',
tasksNodeJump: 'Öppna transkription',
tasksNodeDetail: 'Noddetaljer',
workflowRun: 'Arbetsflöde',
tasksNodeState: 'Status',
tasksNodeMode: 'Läge',
tasksNodeModel: 'Modell',
tasksNodeTeamRole: 'Teamroll',
tasksNodeActivity: 'Senaste aktivitet',
tasksStateRunning: 'Körs',
tasksStateIdle: 'Vilar',
tasksStateProvisioning: 'Provisioning',
tasksStateDone: 'Klar',
tasksStateError: 'Fel',
tasksKindSubagent: 'Subagent',
tasksKindTeammate: 'Teammedlem',
tasksKindWorkflow: 'Arbetsflöde',
taskWindowCreate: 'New task',
taskWindowDetail: 'Task detail',
teamBoard: 'Teamuppgiftstavla',
teamChip: 'Team {members} medlemmar · {tasks} uppgifter',
teamTasksEmpty: 'Inga delade uppgifter än',
teamTaskCreate: 'Ny uppgift',
teamTaskSubject: 'Ämne',
teamTaskDescription: 'Beskrivning',
teamTaskOwner: 'Ansvarig',
teamTaskUnowned: 'Ej tilldelad',
teamTaskPending: 'Väntar',
teamTaskInProgress: 'Pågår',
teamTaskCompleted: 'Klar',
teamTaskBlocked: 'Blockerad',
teamTaskClaim: 'Claim',
teamTaskComplete: 'Färdigställ',
teamTaskReopen: 'Öppna igen',
teamTaskDelete: 'Ta bort',
teamTaskDeleteConfirm: 'Bekräfta borttagning',
teamTaskEdit: 'Redigera',
teamTaskSave: 'Spara',
teamTaskCancel: 'Avbryt',
teamTaskConflict: 'Uppgiften ändrades av någon annan, har uppdaterats',
teamTaskError: 'Åtgärden misslyckades: {message}',
teamTaskDeleted: 'Borttagen',
teamTaskActions: 'Uppgiftsåtgärder',
teamTaskDetail: 'Uppgiftsdetaljer',
teamTaskNoDescription: 'Ingen beskrivning än — klicka på “Redigera” för att lägga till en',
teamTaskBlockedBy: 'Blockerad av',
teamTaskSubjectPlaceholder: 'Beskriv arbetet på en rad',
teamTaskDescriptionPlaceholder: 'Ytterligare information (valfritt)',
teamFilterAll: 'Alla',
tasksNodeTasks: 'Delade uppgifter',
jobCopyOutput: 'Kopiera utdata',
jobCopied: 'Kopierades',
jobFollowTail: 'Följ senaste',
jobDragHint: 'Dra för att flytta',
workflowRunning: 'Körs',
workflowCompleted: 'Slutförd',
workflowCancelled: 'Avbruten',
workflowFailed: 'Misslyckad',
workflowPhaseUnnamed: 'Namnlös fas',
workflowMembers: '{done}/{total} medlemmar',
jobsAutoCollapsed: 'Auto-dold (många agenter)',
catalogLoadFailed: '{count} grenar kunde inte läsas in',
addPluginsTabCard: 'Lägg till flik-plugins',
addPluginsTabCardDesc: 'Registrera en ny sidopanelssida',
addPluginsViewerCard: 'Lägg till förhandsgransknings-plugins',
addPluginsViewerCardDesc: 'Registrera en filtypsförhandsgranskning',
addPluginsTabDesc: 'Sidopanelens sidor (flikar) kan utökas av plugins. Plugins registreras via ctx.betterSidebar-tjänsten; att klicka på Installera kopierar installationskommandot — klistra in det i en terminal där er DSH-profil lever och kör det.',
addPluginsViewerDesc: 'Filförhandsgranskare kan utökas av plugins. Plugins registreras via ctx.betterSidebar-tjänsten; att klicka på Installera kopierar installationskommandot — klistra in det i en terminal där er DSH-profil lever och kör det.',
addPluginsBrowseMore: 'Bläddra bland fler plugins på GitHub (topic: dsh-better-sidebar)',
addPluginsSearch: 'Sök på plugin-namn eller beskrivning…',
addPluginsNoMatch: 'Inga plugins matchar',
addPluginsRecommended: 'Rekommenderade plugins',
addPluginsEmpty: 'Inga plugins kurerade ännu — publicera er egen under GitHub-topic:n',
openPlugin: 'Öppna',
copyInstall: 'Kopiera installationskommando',
pluginOfficeDesc: 'Office-svitförhandsgranskning (.docx / .xlsx / .pptx) för better-sidebar-editorn, som håller de tunga Office-renderingsbiblioteken utanför kärnbundlen',
pluginFlowglassDesc: 'Live sessionsflödesgraf med tre banor för användare, assistent och verktygsanrop, plus parallella grupper, subagent-grenar, djupdykning och live-status; registrerar en inbyggd Flowglass-flik när better-sidebar är installerat och behåller sin fristående låda som reserv',
pluginGitForgeDesc: 'Git Forge-flik: GitHub/Gitea (och andra forge) kontobibliotek + per-projekt-tillstånd + hård push-policy; token stannar i lokala secrets (aldrig i modellkontext); skrivskyddat GitForge-verktyg och agent-HTTPS credential helper',
pluginGithubWorkbenchDesc: 'GitHub Workbench-flik: fjärrrepo-träd + Issues / Pull requests / Actions med fullt skrivstöd — skapa issue/PR, kommentera, redigera, stäng/öppna igen, squash·merge·rebase-merge (stark bekräftelse), kör om/avbryt CI; repoväxlaren listar automatiskt tillgängliga repon och söker i publika; utan better-sidebar växlar den till en fristående höger panel',
pluginMdExportDesc: 'Lägger till en «Exportera»-knapp i Markdown-verktygsfältet i better-sidebar: renderar nuvarande .md till fristående HTML i ett klick (tabeller/kodblock/Mermaid-diagram inline, layout följer förhandsvisningstemat) och sparar bredvid .md-filen, eller exporterar till PDF via utskriftsdialogen',
pluginCodeNavDesc: 'Kodförhandsvisningsnavigering: känner automatiskt av språket från filtypen och färglägger syntaxen, symbolöversikt (filter för klasser/metoder/variabler + hopp med ett klick) och filsökning (markera alla träffar, föregående/nästa, skiftlägeskänsligt) — tar över kodfilförhandsvisning i better-sidebar-redigeraren',
pluginSuhuangScrollDesc: 'Ansluter den lokala Suhuang Scroll Runtime till DSH-inställningar och better-sidebar för modellkonfiguration, anslutningstest och styrning av kontinuerlig rättning; kräver Suhuang Scroll Runtime och dsh-better-sidebar',
pluginBetterOverleafDesc: 'Overleaf-flik för better-sidebar: direktinloggning via CDP-webbläsare (stöd för tredjeparts-Chromium), projektlista/byte, lokala git-speglar under <workspace>/overleaf/, dubbelriktad git-synk med read-only-API-fallback och förhandsvisning av filer via sidofältets workbench',
pluginGitRemotesDesc: 'Git Remotes-flik: gren/upstream/ahead-behind, fetch (valbar prune), ff-only pull och push endast efter bekräftelse i fliken. Ersätter inte den inbyggda Git-köa/commit-fliken, och erbjuder inte force-push eller ett model-auto-push-verktyg',
pluginSentinelDesc: 'Villkorsdriven agentväckning: fil-/process-/port-/http-/kommando-/webhook-sensorer väcker vilande sessioner när villkor utlöses; registrerar en "Sentinel"-flik med serverns globala bevakningstabell',
pluginServerDeckDesc: 'Serverkortspanel: ett kort per värd med onlinestatus, OS, drifttid, CPU-/minnes-/diskanvändning och latens; klicka på ett kort för att öppna en interaktiv xterm.js-terminal; import av ~/.ssh/config i ett klick (git-hostingalias hoppas över). Registrerar en nativ flik 「Servrar」 när better-sidebar är installerat, annars behålls den fristående panelen',
pluginSidebarQaDesc: 'Markera-och-fråga: Markera konversationstext → fråga i högra panelen → en dedikerad följdfrågesession (❓ följdfråga) i samma arbetsyta; en snabb no-thinking-modell komprimerar huvudkontexten och injicerar den tillsammans med citatet, utan att avbryta huvudkonversationen. Följdfrågor kan nästlas, fortsättas och arkiveras',
pluginSidenoteDesc: 'Side chat i Codex-stil + anteckningar på markeringar: forka den aktuella sessionen till en beständig sidopanel (arkiveras ut ur sessionslistan, flera instanser, kommandot /side, överlever omladdning, modellen följer huvudsessionen); markera assistant-text → numrerad badge + anteckningsredigerare → ett "N anteckningar"-chip som följer med nästa meddelande, eller ställ frågan direkt i en side chat',
pluginSshTunnelDesc: 'SSH Tunnel-flik: flervärd-inventering + per-projekt-tillstånd + lokala secrets; SSHManager-verktyg (exec/SFTP/sessionsstrategier); central interaktiv terminal och dubbelpanelig SFTP',
pluginTurnReviewDesc: 'En mänsklig grinds för den just avslutade vändan: Godkänn / Begär ändringar per sökväg med valfri kommentar; sökvägar grupperade per huvudsession / subagent / oattribuerade; inline ögonblicksbild-mot-nu-diff innan ni bestämmer er. Ingen förgrening, ingen /rewind',
pluginVideoPreviewDesc: 'Inline videoförhandsgranskning (.mp4/.webm/.mov/.mkv/.avi etc.) för better-sidebar-editorn, backad av en dedikerad /video-värdroute med HTTP Range (206)-stöd — sökning fungerar och filer begränsas inte av 20MB mediaLimit',
pluginDocsPanelDesc: 'Globala dokument i DSH-sidopanelen: läs era egna Markdown-anteckningar från valfri arbetsyta — en fillista, en översikt, öppna i Chrome / VS Code och kopieringsknappar; dokumentkatalogen är konfigurerbar (standard ~/.dsh/docs)',
pluginEgoBrowserDesc: 'Agentwebbläsaren för DeepSeek Harness: 32 ego_*-verktyg styr en riktig Chromium; en inbyggd «ego browser»-flik i sidopanelen visar varje sida agenten besöker i realtid — du kan klicka, dra och skriva för att ta över. Registrerar fliken automatiskt när better-sidebar finns, annars en flytande bubbla',
pluginBilingualReaderDesc: 'Läs PDF-filer i DSH-sidopanelen: inbyggd PDF-visning, markera text för att översätta med LLM, med kontext och helt isolerad från huvudkonversationen',
changesRedactOn: "Maskning på: hemligheter visas som [REDACTED]; klicka för att stänga av (på egen risk)",
changesRedactOff: "Maskning av: innehåll visas som det är; klicka för att aktivera",
changesRedactOnLabel: "Maskning",
changesRedactOffLabel: "Utan maskning",
changesRedactBanner: "Maskerat",
pluginSentinelName: 'dsh-sentinel Väcksystem',
pluginEgoBrowserName: 'ego-browser Agentwebbläsare',
pluginBetterOverleafName: 'dsh-better-overleaf Overleaf-flik',
pluginDocsPanelName: 'dsh-docs-panel Globala dokument',
pluginFlowglassName: 'dsh-flowglass Flowglass',
pluginGitForgeName: 'dsh-git-forge Git-autentiseringsuppgifter',
pluginGitRemotesName: 'dsh-git-remotes Git-fjärrarkiv',
pluginGithubWorkbenchName: 'dsh-github-workbench GitHub-arbetsbänk',
pluginSidebarQaName: 'dsh-sidebar-qa Markera och fråga',
pluginSidenoteName: 'dsh-sidenote Sidchatt',
pluginServerDeckName: 'dsh-server-deck Serverdäck',
pluginSuhuangScrollName: 'dsh-suhuang-scroll Suhuang Scroll',
pluginSshTunnelName: 'dsh-ssh-tunnel SSH-tunnel',
pluginTurnReviewName: 'dsh-turn-review Varvgranskning',
pluginBilingualReaderName: 'dsh-bilingual-reader Tvåspråkig läsare',
pluginOfficeName: 'Office-förhandsvisning',
pluginMdExportName: 'Markdown-export',
pluginCodeNavName: 'Kodförhandsvisningsnavigatör',
pluginVideoPreviewName: 'Videoförhandsvisning',
presetDshDesktopDesc: 'Electrons avancerade läge (ramlöst): macOS reserverar 20px högst upp; Windows reserverar 32px för namnlisten när WCO inte är tillgängligt',
}