fix(i18n): translate remaining renderer leftovers (submodules, agent summaries, filter counts, automations) (#35914)

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
This commit is contained in:
OrcaWin
2026-10-29 04:16:11 -07:00
committed by GitHub
co-authored by OrcaWin
parent af8117c07a
commit 4e9e320e32
42 changed files with 1906 additions and 472 deletions
@@ -18,7 +18,6 @@ import {
import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip'
import { translate } from '@/i18n/i18n'
import { OptionsFilterCountBadge } from '@/components/sidebar/options-filter-count-badge'
import { activeFilterCountLabel } from '../sidebar/active-filter-count-label'
import {
ActivityScopeFilterMenuItems,
useActivityScopeFilterCount
@@ -82,13 +81,15 @@ export function ActivityThreadOptionsMenu({
const skipCloseAutoFocusRef = React.useRef(false)
const activeFilterCount =
useActivityScopeFilterCount() + (onUnreadOnlyChange && unreadOnly ? 1 : 0)
const activeFilterLabel = activeFilterCountLabel(activeFilterCount)
const optionsLabel =
activeFilterCount > 0
? translate(
'auto.components.activity.ActivityPrototypePage.threadListOptionsActive',
'Thread list options ({{value0}} active)',
{ value0: activeFilterLabel }
'auto.components.activity.ActivityPrototypePage.threadListOptionsActiveFilters',
'Thread list options ({{count}} filters active)',
{
count: activeFilterCount,
defaultValue_one: 'Thread list options ({{count}} filter active)'
}
)
: translate(
'auto.components.activity.ActivityPrototypePage.db8a1878b5',
@@ -115,9 +116,12 @@ export function ActivityThreadOptionsMenu({
<TooltipContent side="bottom" sideOffset={6}>
{activeFilterCount > 0
? translate(
'auto.components.activity.ActivityPrototypePage.activityOptionsActive',
'Activity options ({{value0}})',
{ value0: activeFilterLabel }
'auto.components.activity.ActivityPrototypePage.activityOptionsFilterCount',
'Activity options ({{count}} filters)',
{
count: activeFilterCount,
defaultValue_one: 'Activity options ({{count}} filter)'
}
)
: translate(
'auto.components.activity.ActivityPrototypePage.activityOptions',
@@ -6,7 +6,7 @@ import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip
import { getAgentCatalog, AgentIcon } from '@/lib/agent-catalog'
import type { Automation, AutomationRun } from '../../../../shared/automations-types'
import { formatUiAutomationSchedule } from './automation-schedule-label'
import { formatAutomationPrecheckTimeout } from '../../../../shared/automation-precheck'
import { formatUiNarrowDuration } from '@/i18n/relative-time-format'
import {
AutomationRunErrorNotice,
formatAutomationDateTimeWithRelative
@@ -328,7 +328,7 @@ export function AutomationDetail({
? translate(
'auto.components.automations.AutomationDetail.precheckEnabled',
'Enabled, {{timeout}}',
{ timeout: formatAutomationPrecheckTimeout(automation.precheck.timeoutSeconds) }
{ timeout: formatUiNarrowDuration(automation.precheck.timeoutSeconds, 'second') }
)
: translate('auto.components.automations.AutomationDetail.precheckNone', 'None')
}
@@ -21,9 +21,13 @@ export function automationHostLoadSummaryMessage(
return null
}
return translate(
'auto.components.automations.hostSummary.partialFailure',
'{{failed}} of {{total}} hosts could not be loaded',
{ failed: failedHostCount, total: totalHostCount }
'auto.components.automations.hostSummary.partialFailureOfHosts',
'{{failed}} of {{count}} hosts could not be loaded',
{
failed: failedHostCount,
count: totalHostCount,
defaultValue_one: '{{failed}} of {{count}} host could not be loaded'
}
)
}
@@ -257,16 +257,15 @@ export function AutomationRunsDashboard({
<div className="mb-3 flex items-start gap-2 rounded-md border border-border bg-muted/40 px-3 py-2 text-xs text-foreground">
<AlertCircle className="mt-0.5 size-3.5 shrink-0 text-muted-foreground" />
<span>
{visibleFailures.length === 1
? translate(
'auto.components.automations.AutomationRunsDashboard.historyUnavailableOne',
'Run history is unavailable for 1 automation. Counts include available history only.'
)
: translate(
'auto.components.automations.AutomationRunsDashboard.historyUnavailableMany',
'Run history is unavailable for {{count}} automations. Counts include available history only.',
{ count: visibleFailures.length }
)}
{translate(
'auto.components.automations.AutomationRunsDashboard.historyUnavailable',
'Run history is unavailable for {{count}} automations. Counts include available history only.',
{
count: visibleFailures.length,
defaultValue_one:
'Run history is unavailable for {{count}} automation. Counts include available history only.'
}
)}
</span>
</div>
) : null}
@@ -20,7 +20,7 @@ export function formatAutomationTokens(value: number | null | undefined): string
export function formatAutomationCost(value: number | null | undefined): string {
if (value === null || value === undefined) {
return 'n/a'
return translate('auto.components.automations.usage.costUnavailable', 'n/a')
}
if (value > 0 && value < 0.01) {
return `$${value.toFixed(4)}`
@@ -2,9 +2,10 @@ import { ImeTextarea } from '@/lib/ime-text-field'
import { CornerDownLeft, Pencil, Trash } from 'lucide-react'
import { useLayoutEffect, useRef, useState, type ReactNode } from 'react'
import { Button } from '@/components/ui/button'
import { getDiffCommentLineLabel } from '@/lib/diff-comment-compat'
import { getDiffCommentLineMetaLabel } from './diff-comment-line-meta-label'
import { useMountedRef } from '@/hooks/useMountedRef'
import { translate } from '@/i18n/i18n'
import { useUiLanguageRevision } from '@/i18n/use-ui-language-revision'
// Render note cards in per-zone React roots; keep persisted DiffComment names while UI says Note to distinguish PR review comments.
@@ -49,6 +50,8 @@ export function DiffCommentCard({
onSubmitEdit,
headerActions
}: Props): React.JSX.Element {
// Zone cards live in separate React roots, so subscribe directly to language changes.
useUiLanguageRevision()
const [editing, setEditing] = useState(false)
const [draft, setDraft] = useState(body)
const [submitting, setSubmitting] = useState(false)
@@ -134,7 +137,7 @@ export function DiffCommentCard({
const trimmedDraft = draft.trim()
const canSubmit = !submitting && trimmedDraft.length > 0 && trimmedDraft !== body
const lineLabel =
label === undefined ? getDiffCommentLineLabel({ lineNumber, startLine }).toLowerCase() : label
label === undefined ? getDiffCommentLineMetaLabel({ lineNumber, startLine }) : label
const metaText = [
author || translate('auto.components.diff.comments.DiffCommentCard.noteAuthorFallback', 'Note'),
lineLabel,
@@ -0,0 +1,15 @@
import type { DiffComment } from '../../../../shared/diff-comment-types'
import { translate } from '@/i18n/i18n'
// Card meta text, e.g. "Note line 4 sent"; agent prompts keep the English getDiffCommentLineLabel.
export function getDiffCommentLineMetaLabel(
comment: Pick<DiffComment, 'lineNumber' | 'startLine'>
): string {
if (comment.startLine !== undefined && comment.startLine !== comment.lineNumber) {
return translate('diffComments.lineRangeMeta', 'lines {{start}}-{{end}}', {
start: comment.startLine,
end: comment.lineNumber
})
}
return translate('diffComments.lineMeta', 'line {{line}}', { line: comment.lineNumber })
}
@@ -1,6 +1,5 @@
import type { RefObject } from 'react'
import type { Root } from 'react-dom/client'
import { getDiffCommentLineLabel } from '@/lib/diff-comment-compat'
import { formatDiffComments } from '@/lib/diff-comments-format'
import { TooltipProvider } from '@/components/ui/tooltip'
import type { DiffCommentDeliverySnapshot } from '@/store/slices/diffComments'
@@ -80,7 +79,6 @@ export function renderDiffCommentZoneCard(
<DiffCommentCard
lineNumber={comment.lineNumber}
startLine={comment.startLine}
label={comment.author ? getDiffCommentLineLabel(comment).toLowerCase() : undefined}
body={comment.body}
sentAt={comment.sentAt}
author={comment.author}
@@ -34,6 +34,7 @@ import { useWorktreeAgentRows } from '@/components/sidebar/useWorktreeAgentRows'
import type { LaunchSource } from '../../../../shared/telemetry-events'
import { agentRowDisplayDotState } from '@/lib/agent-row-dot-state'
import { translate } from '@/i18n/i18n'
import { agentSendDisabledReasonLabel } from '@/lib/agent-send-disabled-reason-label'
type OrderedSendTarget = {
target: NotesSendAgentTarget
@@ -239,7 +240,9 @@ function resolveCurrentSendTargetEligibility(
? { status: 'eligible' }
: {
status: 'disabled',
disabledReason: currentTarget.disabledReason ?? goneReason
disabledReason: currentTarget.disabledReason
? agentSendDisabledReasonLabel(currentTarget.disabledReason)
: goneReason
}
}
@@ -263,7 +266,10 @@ function AgentTargetMenuItem({
// Use the sidebar’s display state so failed/stopped agents agree across surfaces.
const state = agent ? agentRowDisplayDotState(agent) : 'idle'
const timeAgo = agent ? formatAgentRelativeTime(agent, now) : null
const disabledReason = target.status === 'disabled' ? target.disabledReason : undefined
const disabledReason =
target.status === 'disabled' && target.disabledReason
? agentSendDisabledReasonLabel(target.disabledReason)
: undefined
const secondaryParts = [
agentStateLabel(state),
...(timeAgo ? [timeAgo] : []),
@@ -109,7 +109,7 @@ export function useLinearIssueWorkspaceDetail({
id: comment.id || createBrowserUuid(),
body: comment.body,
createdAt: comment.createdAt,
user: { displayName: 'You' }
user: { displayName: translate('auto.components.issueComments.you', 'You') }
}
optimisticCommentsRef.current.push(added)
setComments((current) => [...current, added])
@@ -39,7 +39,7 @@ export default function PullRequestPage({
repoId,
sourceContext,
initialTab,
backLabel = 'Pull requests',
backLabel = translate('auto.components.TaskPage.backToPullRequests', 'Pull requests'),
projectOrigin,
onUse,
onReviewRequestsChange,
@@ -84,6 +84,41 @@ function buildBasePromptPreview(actionId: SourceControlTextActionId): string {
}
}
function savedRecipeMessage(actionId: SourceControlTextActionId, scope: 'repo' | 'global'): string {
switch (actionId) {
case 'commitMessage':
return scope === 'repo'
? translate(
'sourceControl.textGeneration.savedCommitRecipeRepo',
'Saved commit-message recipe for this repository.'
)
: translate(
'sourceControl.textGeneration.savedCommitRecipeGlobal',
'Saved commit-message recipe as a global default.'
)
case 'pullRequest':
return scope === 'repo'
? translate(
'sourceControl.textGeneration.savedReviewRecipeRepo',
'Saved hosted-review recipe for this repository.'
)
: translate(
'sourceControl.textGeneration.savedReviewRecipeGlobal',
'Saved hosted-review recipe as a global default.'
)
case 'branchName':
return scope === 'repo'
? translate(
'sourceControl.textGeneration.savedBranchRecipeRepo',
'Saved branch-name recipe for this repository.'
)
: translate(
'sourceControl.textGeneration.savedBranchRecipeGlobal',
'Saved branch-name recipe as a global default.'
)
}
}
export function SourceControlTextGenerationDialog({
actionId,
title,
@@ -119,12 +154,6 @@ export function SourceControlTextGenerationDialog({
[actionId, discoveryHostKey, repo, settings, languageRevision]
)
const baseParams = resolved.ok ? resolved.value.params : null
const recipeLabel =
actionId === 'commitMessage'
? 'commit-message recipe'
: actionId === 'pullRequest'
? 'hosted-review recipe'
: 'branch-name recipe'
const saveTargets: SourceControlTextGenerationSaveTarget[] = repo?.id
? [
{
@@ -133,7 +162,7 @@ export function SourceControlTextGenerationDialog({
'auto.components.right.sidebar.SourceControlTextGenerationDialog.5959da1e4d',
'Save for this repository only'
),
successMessage: `Saved ${recipeLabel} for this repository.`
successMessage: savedRecipeMessage(actionId, 'repo')
},
{
target: { type: 'global' },
@@ -141,7 +170,7 @@ export function SourceControlTextGenerationDialog({
'auto.components.right.sidebar.SourceControlTextGenerationDialog.7f1ec309a4',
'Save as default for all repositories'
),
successMessage: `Saved ${recipeLabel} as a global default.`
successMessage: savedRecipeMessage(actionId, 'global')
}
]
: [
@@ -151,7 +180,7 @@ export function SourceControlTextGenerationDialog({
'auto.components.right.sidebar.SourceControlTextGenerationDialog.c5b7fa7cb6',
'Save as global default'
),
successMessage: `Saved ${recipeLabel} as a global default.`
successMessage: savedRecipeMessage(actionId, 'global')
}
]
const formKey = open
@@ -1,12 +1,26 @@
import { translate } from '@/i18n/i18n'
// Keep overlays measurable so Radix tooltips cannot transiently jump to the top-left on hover.
export const SOURCE_CONTROL_ROW_ACTION_OVERLAY_CLASS =
'absolute right-0 top-0 bottom-0 flex shrink-0 items-center gap-1.5 bg-accent pr-3 pl-2 opacity-0 pointer-events-none transition-opacity group-hover:opacity-100 group-hover:pointer-events-auto focus-within:opacity-100 focus-within:pointer-events-auto [@media(hover:none)]:opacity-100 [@media(hover:none)]:pointer-events-auto'
export const SOURCE_CONTROL_TREE_INDENT_PX = 12
export const SOURCE_CONTROL_TREE_DIRECTORY_PADDING_PX = 8
export const SOURCE_CONTROL_TREE_FILE_PADDING_PX = 20
export const SUBMODULE_WORKTREE_ONLY_LABEL = 'Stage inside submodule'
export const SUBMODULE_WORKTREE_ONLY_TOOLTIP =
'The parent repo (including Stage All) cannot stage file changes inside a submodule'
export const SUBMODULE_LOADING_LABEL = 'Loading submodule changes…'
export const SUBMODULE_EMPTY_LABEL = 'No changes in submodule'
export const SUBMODULE_ERROR_LABEL = 'Failed to load submodule changes'
export function getSubmoduleWorktreeOnlyLabel(): string {
return translate('sourceControl.submodule.worktreeOnlyLabel', 'Stage inside submodule')
}
export function getSubmoduleWorktreeOnlyTooltip(): string {
return translate(
'sourceControl.submodule.worktreeOnlyTooltip',
'The parent repo (including Stage All) cannot stage file changes inside a submodule'
)
}
export function getSubmoduleLoadingLabel(): string {
return translate('sourceControl.submodule.loading', 'Loading submodule changes…')
}
export function getSubmoduleEmptyLabel(): string {
return translate('sourceControl.submodule.empty', 'No changes in submodule')
}
export function getSubmoduleErrorLabel(): string {
return translate('sourceControl.submodule.loadFailed', 'Failed to load submodule changes')
}
@@ -5,9 +5,9 @@ import { translate } from '@/i18n/i18n'
import {
SOURCE_CONTROL_TREE_FILE_PADDING_PX,
SOURCE_CONTROL_TREE_INDENT_PX,
SUBMODULE_EMPTY_LABEL,
SUBMODULE_ERROR_LABEL,
SUBMODULE_LOADING_LABEL
getSubmoduleEmptyLabel,
getSubmoduleErrorLabel,
getSubmoduleLoadingLabel
} from './row-layout'
export function SubmodulePlaceholderRow({
@@ -21,15 +21,15 @@ export function SubmodulePlaceholderRow({
}): React.JSX.Element {
const fallback =
state === 'error'
? SUBMODULE_ERROR_LABEL
? getSubmoduleErrorLabel()
: state === 'empty'
? SUBMODULE_EMPTY_LABEL
? getSubmoduleEmptyLabel()
: state === 'truncated'
? translate(
'auto.components.right.sidebar.SourceControl.submoduleTruncated',
'More submodule changes were omitted'
)
: SUBMODULE_LOADING_LABEL
: getSubmoduleLoadingLabel()
return (
<div
className={cn(
@@ -25,8 +25,8 @@ import {
SOURCE_CONTROL_ROW_ACTION_OVERLAY_CLASS,
SOURCE_CONTROL_TREE_FILE_PADDING_PX,
SOURCE_CONTROL_TREE_INDENT_PX,
SUBMODULE_WORKTREE_ONLY_LABEL,
SUBMODULE_WORKTREE_ONLY_TOOLTIP
getSubmoduleWorktreeOnlyLabel,
getSubmoduleWorktreeOnlyTooltip
} from './row-layout'
import { STATUS_COLORS, STATUS_LABELS } from '../../status-display'
@@ -174,9 +174,9 @@ export const UncommittedEntryRow = React.memo(function UncommittedEntryRow({
// Parent Git stages gitlinks, not nested dirtiness; make that boundary visible.
<div
className="truncate text-[11px] text-muted-foreground"
title={SUBMODULE_WORKTREE_ONLY_TOOLTIP}
title={getSubmoduleWorktreeOnlyTooltip()}
>
{SUBMODULE_WORKTREE_ONLY_LABEL}
{getSubmoduleWorktreeOnlyLabel()}
</div>
)}
</div>
@@ -35,7 +35,8 @@ import {
} from './submodule-expansion'
import type { FlatEntry } from './use-selection'
import type { GitStatusSourceControlTreeNode } from './directory-action-paths'
import { SUBMODULE_EMPTY_LABEL, SUBMODULE_LOADING_LABEL } from './row-layout'
import { getSubmoduleEmptyLabel, getSubmoduleLoadingLabel } from './row-layout'
import { useUiLanguageRevision } from '@/i18n/use-ui-language-revision'
export type SourceControlFileProjection = {
grouped: SourceControlEntryGroups
@@ -156,6 +157,7 @@ export function useSourceControlFileProjection({
return roots
}, [displaySections, sourceControlViewMode])
const languageRevision = useUiLanguageRevision()
const visibleTreeRowsBySection = useMemo(() => {
if (sourceControlViewMode !== 'tree') {
return EMPTY_TREE_ROWS_BY_SECTION
@@ -166,18 +168,20 @@ export function useSourceControlFileProjection({
flattenSourceControlTree(treeRootsBySection[section.id] ?? [], collapsedTreeDirs),
expandedSubmoduleKeys,
submoduleStatusByKey,
SUBMODULE_LOADING_LABEL,
SUBMODULE_EMPTY_LABEL
getSubmoduleLoadingLabel(),
getSubmoduleEmptyLabel()
)
}
return rows
// oxlint-disable-next-line react-hooks/exhaustive-deps -- placeholder labels read the UI language.
}, [
collapsedTreeDirs,
displaySections,
treeRootsBySection,
expandedSubmoduleKeys,
sourceControlViewMode,
submoduleStatusByKey
submoduleStatusByKey,
languageRevision
])
// List view needs the same lazy submodule expansion as tree view, spliced into the flat entry list.
@@ -191,12 +195,19 @@ export function useSourceControlFileProjection({
section.items,
expandedSubmoduleKeys,
submoduleStatusByKey,
SUBMODULE_LOADING_LABEL,
SUBMODULE_EMPTY_LABEL
getSubmoduleLoadingLabel(),
getSubmoduleEmptyLabel()
)
}
return rows
}, [displaySections, expandedSubmoduleKeys, sourceControlViewMode, submoduleStatusByKey])
// oxlint-disable-next-line react-hooks/exhaustive-deps -- placeholder labels read the UI language.
}, [
displaySections,
expandedSubmoduleKeys,
sourceControlViewMode,
submoduleStatusByKey,
languageRevision
])
const branchTreeRoots = useMemo(
() =>
@@ -34,7 +34,13 @@ async function addSshFolderProject(args: {
ownerOptions: ReturnType<typeof worktreeRefreshOptions>
}> {
if (!args.runtimeEnvironmentId) {
throw new Error(`SSH connection "${args.connectionId}" not found or not connected`)
throw new Error(
translate(
'auto.components.sidebar.NonGitFolderDialog.sshConnectionUnavailable',
'SSH connection "{{connection}}" not found or not connected',
{ connection: args.connectionId }
)
)
}
const added = await addRuntimeSshRepo(args.runtimeEnvironmentId, {
connectionId: args.connectionId,
@@ -86,16 +86,14 @@ const RemoveFolderDialog = React.memo(function RemoveFolderDialog() {
const openTerminalWarning =
openTerminalCount === 0
? null
: openTerminalCount === 1
? translate(
'auto.components.sidebar.RemoveFolderDialog.openTerminalWarningOne',
'1 open terminal in this project will be closed.'
)
: translate(
'auto.components.sidebar.RemoveFolderDialog.openTerminalWarningMany',
'{{count}} open terminals in this project will be closed.',
{ count: openTerminalCount }
)
: translate(
'auto.components.sidebar.RemoveFolderDialog.openTerminalWarning',
'{{count}} open terminals in this project will be closed.',
{
count: openTerminalCount,
defaultValue_one: '{{count}} open terminal in this project will be closed.'
}
)
// Translate the whole sentence for reorderable locales, then restore emphasis at the name sentinel.
const description =
@@ -55,8 +55,7 @@ vi.mock('./SidebarWorkspaceOptionsMenu', () => ({
vi.mock('./workspace-options-menu-items', () => ({
useWorkspaceOptionsFilterBadge: () => ({
hasAnyFilter: false,
activeFilterCount: 0,
activeFilterLabel: '0 filters'
activeFilterCount: 0
}),
WorkspaceOptionsMenuItems: () => null
}))
@@ -23,13 +23,13 @@ function getProjectFilterVisibilityLabel({
'All projects'
)
}
if (selectedCount === 1) {
return selectedRepos[0]?.displayName ?? 'Projects'
if (selectedCount === 1 && selectedRepos[0]) {
return selectedRepos[0].displayName
}
return translate(
'auto.components.sidebar.SidebarRepositoryFilterSection.selectedProjectsCount',
'{{value0}} projects',
{ value0: selectedCount }
'auto.components.sidebar.SidebarRepositoryFilterSection.selectedProjects',
'{{count}} projects',
{ count: selectedCount, defaultValue_one: '{{count}} project' }
)
}
@@ -26,7 +26,7 @@ const SidebarWorkspaceOptionsMenu = React.memo(function SidebarWorkspaceOptionsM
}: SidebarWorkspaceOptionsMenuProps) {
useUiLanguageRevision()
const [open, setOpen] = useState(false)
const { hasAnyFilter, activeFilterCount, activeFilterLabel } = useWorkspaceOptionsFilterBadge()
const { hasAnyFilter, activeFilterCount } = useWorkspaceOptionsFilterBadge()
const handleOpenChange = useCallback(
(next: boolean) => {
@@ -49,9 +49,12 @@ const SidebarWorkspaceOptionsMenu = React.memo(function SidebarWorkspaceOptionsM
aria-label={
hasAnyFilter
? translate(
'auto.components.sidebar.SidebarWorkspaceOptionsMenu.optionsActiveLabel',
'Workspace options ({{value0}} active)',
{ value0: activeFilterLabel }
'auto.components.sidebar.SidebarWorkspaceOptionsMenu.optionsActiveFilters',
'Workspace options ({{count}} filters active)',
{
count: activeFilterCount,
defaultValue_one: 'Workspace options ({{count}} filter active)'
}
)
: translate(
'auto.components.sidebar.SidebarWorkspaceOptionsMenu.9919ae1082',
@@ -68,9 +71,12 @@ const SidebarWorkspaceOptionsMenu = React.memo(function SidebarWorkspaceOptionsM
<TooltipContent side="bottom" sideOffset={6}>
{hasAnyFilter
? translate(
'auto.components.sidebar.SidebarWorkspaceOptionsMenu.bc96dbd041',
'Workspace options ({{value0}})',
{ value0: activeFilterLabel }
'auto.components.sidebar.SidebarWorkspaceOptionsMenu.optionsFilterCount',
'Workspace options ({{count}} filters)',
{
count: activeFilterCount,
defaultValue_one: 'Workspace options ({{count}} filter)'
}
)
: translate(
'auto.components.sidebar.SidebarWorkspaceOptionsMenu.9919ae1082',
@@ -27,6 +27,7 @@ import { DEFAULT_AGENT_ACTIVITY_DISPLAY_MODE } from '../../../../shared/constant
import { revealElementInScrollContainer } from './worktree-sidebar-reveal'
import { useWorktreeAgentExpansionState } from './worktree-card-agents-expansion-state'
import { translate } from '@/i18n/i18n'
import { agentSendDisabledReasonLabel } from '@/lib/agent-send-disabled-reason-label'
import { useUiLanguageRevision } from '@/i18n/use-ui-language-revision'
import { activateStructuredAgentSessionTab } from '@/lib/agent-session/structured-agent-session-tab-activation'
import { activateRetainedAgentRow } from './activate-retained-agent-row'
@@ -80,7 +81,7 @@ const WorktreeCardAgentsBody = React.memo(function WorktreeCardAgentsBody({
agents,
className
}: BodyProps) {
useUiLanguageRevision()
const languageRevision = useUiLanguageRevision()
const agentActivityDisplayMode =
useAppStore((s) => s.agentActivityDisplayMode) ?? DEFAULT_AGENT_ACTIVITY_DISPLAY_MODE
const dropAgentStatus = useAppStore((s) => s.dropAgentStatus)
@@ -115,6 +116,7 @@ const WorktreeCardAgentsBody = React.memo(function WorktreeCardAgentsBody({
const isAgentSendTargetModeActive = agentSendPopoverTargetMode !== null
const sendTargetsByPaneKey = useMemo(() => {
void agentStatusEpoch
void languageRevision
if (!isAgentSendTargetModeActive) {
return new Map<
string,
@@ -127,15 +129,25 @@ const WorktreeCardAgentsBody = React.memo(function WorktreeCardAgentsBody({
target.paneKey,
agentSendPopoverTargetMode?.status === 'sending' &&
agentSendPopoverTargetMode.sendingPaneKey === target.paneKey
? { status: 'sending' as const, disabledReason: 'Sending...' }
? {
status: 'sending' as const,
disabledReason: translate(
'auto.components.sidebar.WorktreeCardAgents.sendingTarget',
'Sending...'
)
}
: target.disabledReason
? { status: target.status, disabledReason: target.disabledReason }
? {
status: target.status,
disabledReason: agentSendDisabledReasonLabel(target.disabledReason)
}
: { status: target.status }
])
)
}, [
// Freshness timers advance this epoch without replacing the status map.
agentStatusEpoch,
languageRevision,
agentSendPopoverTargetMode?.sendingPaneKey,
agentSendPopoverTargetMode?.status,
isAgentSendTargetModeActive,
@@ -358,7 +370,10 @@ const WorktreeCardAgentsBody = React.memo(function WorktreeCardAgentsBody({
const summaryAgents = hasLineage ? rootAgents : agents
// Collapse compact multi-agent lists except when their rows are the send-target picker.
const shouldUseSummaryRow = summaryAgents.length > 1 && !isAgentSendTargetModeActive
const subjectLabel = `${hasLineage ? rootAgents.length : agents.length} agents`
const subjectLabel = translate('sidebar.agentSummary.agentCount', '{{count}} agents', {
count: hasLineage ? rootAgents.length : agents.length,
defaultValue_one: '{{count}} agent'
})
return (
<div
@@ -1,8 +0,0 @@
import { translate } from '@/i18n/i18n'
export function activeFilterCountLabel(count: number): string {
return translate('workspaceOptions.activeFilterCount', '{{count}} filters', {
count,
defaultValue_one: '{{count}} filter'
})
}
@@ -11,7 +11,6 @@ import {
} from '@/components/ui/dropdown-menu'
import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip'
import { countActiveWorkspaceFilters } from '../../../../shared/workspace-view/workspace-row-filters'
import { activeFilterCountLabel } from './active-filter-count-label'
import { useShallow } from 'zustand/react/shallow'
import { selectSidebarFilterState, sidebarWorkspaceRowFilters } from './sidebar-filter-actions'
import SidebarRepositoryFilterSection from './SidebarRepositoryFilterSection'
@@ -40,7 +39,6 @@ import { SidebarGroupByToggle } from './SidebarGroupByToggle'
export function useWorkspaceOptionsFilterBadge(): {
hasAnyFilter: boolean
activeFilterCount: number
activeFilterLabel: string
} {
const filterState = useAppStore(useShallow(selectSidebarFilterState))
const repos = useAppStore((s) => s.repos)
@@ -54,8 +52,7 @@ export function useWorkspaceOptionsFilterBadge(): {
)
return {
hasAnyFilter: activeFilterCount > 0,
activeFilterCount,
activeFilterLabel: activeFilterCountLabel(activeFilterCount)
activeFilterCount
}
}
@@ -2,6 +2,7 @@ import type { AgentDotState } from '@/components/AgentStateDot'
import type { DashboardAgentRow as DashboardAgentRowData } from '@/components/dashboard/useDashboardData'
import { formatAgentTypeLabel } from '@/lib/agent-status'
import { agentRowDisplayDotState } from '@/lib/agent-row-dot-state'
import { translate } from '@/i18n/i18n'
export type SummaryAgentGroup = {
state: AgentDotState
@@ -31,27 +32,173 @@ export function getAgentDotState(agent: DashboardAgentRowData): AgentDotState {
export function formatSummaryStateLabel(state: AgentDotState): string {
switch (state) {
case 'waiting':
return 'waiting'
return translate('sidebar.agentSummary.state.waiting', 'waiting')
case 'blocked':
return 'blocked'
return translate('sidebar.agentSummary.state.blocked', 'blocked')
case 'interrupted':
return 'interrupted'
return translate('sidebar.agentSummary.state.interrupted', 'interrupted')
case 'failed':
return 'failed'
return translate('sidebar.agentSummary.state.failed', 'failed')
case 'working':
return 'working'
return translate('sidebar.agentSummary.state.working', 'working')
case 'monitoring':
return 'monitoring'
return translate('sidebar.agentSummary.state.monitoring', 'monitoring')
case 'done':
return 'done'
return translate('sidebar.agentSummary.state.done', 'done')
case 'idle':
return 'idle'
return translate('sidebar.agentSummary.state.idle', 'idle')
case 'unverifiable':
return 'not reporting'
return translate('sidebar.agentSummary.state.notReporting', 'not reporting')
case 'unconfirmed':
return 'unconfirmed'
return translate('sidebar.agentSummary.state.unconfirmed', 'unconfirmed')
case 'permission':
return 'needs attention'
return translate('sidebar.agentSummary.state.needsAttention', 'needs attention')
}
}
// Per-state plural keys let locales inflect the status word for its count.
function formatStateCount(state: AgentDotState, count: number): string {
switch (state) {
case 'waiting':
return translate('sidebar.agentSummary.stateCount.waiting', '{{count}} waiting', {
count,
defaultValue_one: '{{count}} waiting'
})
case 'blocked':
return translate('sidebar.agentSummary.stateCount.blocked', '{{count}} blocked', {
count,
defaultValue_one: '{{count}} blocked'
})
case 'interrupted':
return translate('sidebar.agentSummary.stateCount.interrupted', '{{count}} interrupted', {
count,
defaultValue_one: '{{count}} interrupted'
})
case 'failed':
return translate('sidebar.agentSummary.stateCount.failed', '{{count}} failed', {
count,
defaultValue_one: '{{count}} failed'
})
case 'working':
return translate('sidebar.agentSummary.stateCount.working', '{{count}} working', {
count,
defaultValue_one: '{{count}} working'
})
case 'monitoring':
return translate('sidebar.agentSummary.stateCount.monitoring', '{{count}} monitoring', {
count,
defaultValue_one: '{{count}} monitoring'
})
case 'done':
return translate('sidebar.agentSummary.stateCount.done', '{{count}} done', {
count,
defaultValue_one: '{{count}} done'
})
case 'idle':
return translate('sidebar.agentSummary.stateCount.idle', '{{count}} idle', {
count,
defaultValue_one: '{{count}} idle'
})
case 'unverifiable':
return translate('sidebar.agentSummary.stateCount.notReporting', '{{count}} not reporting', {
count,
defaultValue_one: '{{count}} not reporting'
})
case 'unconfirmed':
return translate('sidebar.agentSummary.stateCount.unconfirmed', '{{count}} unconfirmed', {
count,
defaultValue_one: '{{count}} unconfirmed'
})
case 'permission':
return translate(
'sidebar.agentSummary.stateCount.needsAttention',
'{{count}} needs attention',
{
count,
defaultValue_one: '{{count}} needs attention'
}
)
}
}
// The _one form drops "All" because a lone agent reads "1 agent done".
function formatAllAgentsInState(state: AgentDotState, count: number): string {
switch (state) {
case 'waiting':
return translate('sidebar.agentSummary.allInState.waiting', 'All {{count}} agents waiting', {
count,
defaultValue_one: '{{count}} agent waiting'
})
case 'blocked':
return translate('sidebar.agentSummary.allInState.blocked', 'All {{count}} agents blocked', {
count,
defaultValue_one: '{{count}} agent blocked'
})
case 'interrupted':
return translate(
'sidebar.agentSummary.allInState.interrupted',
'All {{count}} agents interrupted',
{
count,
defaultValue_one: '{{count}} agent interrupted'
}
)
case 'failed':
return translate('sidebar.agentSummary.allInState.failed', 'All {{count}} agents failed', {
count,
defaultValue_one: '{{count}} agent failed'
})
case 'working':
return translate('sidebar.agentSummary.allInState.working', 'All {{count}} agents working', {
count,
defaultValue_one: '{{count}} agent working'
})
case 'monitoring':
return translate(
'sidebar.agentSummary.allInState.monitoring',
'All {{count}} agents monitoring',
{
count,
defaultValue_one: '{{count}} agent monitoring'
}
)
case 'done':
return translate('sidebar.agentSummary.allInState.done', 'All {{count}} agents done', {
count,
defaultValue_one: '{{count}} agent done'
})
case 'idle':
return translate('sidebar.agentSummary.allInState.idle', 'All {{count}} agents idle', {
count,
defaultValue_one: '{{count}} agent idle'
})
case 'unverifiable':
return translate(
'sidebar.agentSummary.allInState.notReporting',
'All {{count}} agents not reporting',
{
count,
defaultValue_one: '{{count}} agent not reporting'
}
)
case 'unconfirmed':
return translate(
'sidebar.agentSummary.allInState.unconfirmed',
'All {{count}} agents unconfirmed',
{
count,
defaultValue_one: '{{count}} agent unconfirmed'
}
)
case 'permission':
return translate(
'sidebar.agentSummary.allInState.needsAttention',
'All {{count}} agents needs attention',
{
count,
defaultValue_one: '{{count}} agent needs attention'
}
)
}
}
@@ -78,21 +225,14 @@ export function summarizeAgents(agents: DashboardAgentRowData[], subjectLabel: s
const dotState = getAgentDotState(agent)
counts.set(dotState, (counts.get(dotState) ?? 0) + 1)
}
const parts = SUMMARY_STATE_ORDER.flatMap((state) => {
const count = counts.get(state) ?? 0
if (count === 0) {
return []
}
const label = formatSummaryStateLabel(state)
return `${count} ${label}`
})
if (parts.length === 1) {
const onlyStatusLabel = parts[0].replace(/^\d+\s+/, '')
return agents.length === 1
? `${subjectLabel} ${onlyStatusLabel}`
: `All ${subjectLabel} ${onlyStatusLabel}`
const states = SUMMARY_STATE_ORDER.filter((state) => (counts.get(state) ?? 0) > 0)
if (states.length === 1) {
return formatAllAgentsInState(states[0], agents.length)
}
return `${subjectLabel}: ${parts.join(', ')}`
return translate('sidebar.agentSummary.mixedStates', '{{subject}}: {{states}}', {
subject: subjectLabel,
states: states.map((state) => formatStateCount(state, counts.get(state) ?? 0)).join(', ')
})
}
export function summarizeAgentIdentities(agents: DashboardAgentRowData[]): string {
@@ -100,7 +240,10 @@ export function summarizeAgentIdentities(agents: DashboardAgentRowData[]): strin
.map((agent) => {
const agentLabel = formatAgentTypeLabel(agent.agentType)
const stateLabel = formatSummaryStateLabel(getAgentDotState(agent))
return `${agentLabel} ${stateLabel}`
return translate('sidebar.agentSummary.agentIdentityState', '{{agent}} {{status}}', {
agent: agentLabel,
status: stateLabel
})
})
.join('; ')
}
@@ -43,8 +43,12 @@ function PetStatusSegmentInner(): React.JSX.Element {
? activeBundled.label
: activeCustom
? customPetLabel(activeCustom)
: 'Pet'
const label = petVisible ? activeLabel : `${activeLabel} hidden`
: translate('auto.components.status.bar.PetStatusSegment.petFallbackLabel', 'Pet')
const label = petVisible
? activeLabel
: translate('auto.components.status.bar.PetStatusSegment.petHiddenLabel', '{{pet}} hidden', {
pet: activeLabel
})
const handleImport = async (): Promise<void> => {
console.log('[pet-overlay] upload: click')
@@ -206,10 +206,11 @@ export const CandidateRow = React.memo(function CandidateRow({
) : null}
<WorkspaceCleanupMetadataChip
icon={Clock3}
label={`${translate(
'auto.components.workspace.cleanup.WorkspaceCleanupDialog.352f15d6fc',
'Last active'
)} ${lastActivityLabel}`}
label={translate(
'components.workspace.cleanup.browse.lastActive',
'Last active {{value0}}',
{ value0: lastActivityLabel }
)}
value={formatCompactActivityLabel(lastActivityLabel)}
/>
<WorkspaceCleanupMetadataChip
@@ -242,11 +242,9 @@ function ConfirmRemoveRow({
value={hostLabel}
/>
<span className="text-xs text-muted-foreground">
{translate(
'auto.components.workspace.cleanup.WorkspaceCleanupDialog.352f15d6fc',
'Last active'
)}{' '}
{formatWorkspaceCleanupRelativeTime(candidate.lastActivityAt, now)}
{translate('components.workspace.cleanup.browse.lastActive', 'Last active {{value0}}', {
value0: formatWorkspaceCleanupRelativeTime(candidate.lastActivityAt, now)
})}
</span>
{factStatuses.map((status) => (
<StatusPill key={status.label} tone={status.tone}>
@@ -177,9 +177,14 @@ export function WorktreeJumpPaletteSurface({
</div>
<div aria-live="polite" className="sr-only">
{controller.filterActive
? `${translate('worktreeJumpPalette.filter.ariaActive', 'Filter: {{value0}} active.', {
value0: getPaletteFilterSelectionCount(controller.filter)
})} `
? `${translate(
'worktreeJumpPalette.filter.ariaActiveCount',
'Filter: {{count}} active.',
{
count: getPaletteFilterSelectionCount(controller.filter),
defaultValue_one: 'Filter: {{count}} active.'
}
)} `
: ''}
{controller.deferredQuery.trim()
? translate(
+87 -7
View File
@@ -118,6 +118,12 @@
"resultsFound_other": "{{count}} results found."
},
"activity": {
"ActivityPrototypePage": {
"activityOptionsFilterCount_one": "Activity options ({{count}} filter)",
"activityOptionsFilterCount_other": "Activity options ({{count}} filters)",
"threadListOptionsActiveFilters_one": "Thread list options ({{count}} filter active)",
"threadListOptionsActiveFilters_other": "Thread list options ({{count}} filters active)"
},
"ActivityThreadContextMenu": {
"clearMany_one": "Clear {{count}} Agent from List",
"clearMany_other": "Clear {{count}} Agents from List",
@@ -145,6 +151,8 @@
"usageCoverageRuns_other": "{{known}}/{{count}} runs"
},
"AutomationRunsDashboard": {
"historyUnavailable_one": "Run history is unavailable for {{count}} automation. Counts include available history only.",
"historyUnavailable_other": "Run history is unavailable for {{count}} automations. Counts include available history only.",
"local": "Local",
"remote": "Remote"
},
@@ -175,6 +183,10 @@
"extraAgentArgs": {
"unsupported": "Extra arguments aren't supported for this agent yet."
},
"hostSummary": {
"partialFailureOfHosts_one": "{{failed}} of {{count}} host could not be loaded",
"partialFailureOfHosts_other": "{{failed}} of {{count}} hosts could not be loaded"
},
"runHistory": {
"occurrencesCount_one": "{{count}} time",
"occurrencesCount_other": "{{count}} times",
@@ -885,10 +897,24 @@
"removeContainedProjects_one": "Remove {{count}} contained project",
"removeContainedProjects_other": "Remove {{count}} contained projects"
},
"RemoveFolderDialog": {
"openTerminalWarning_one": "{{count}} open terminal in this project will be closed.",
"openTerminalWarning_other": "{{count}} open terminals in this project will be closed."
},
"SetupScriptPromptCard": {
"savedWithSkippedFields_one": "{{count}} unsupported field skipped. Saved the setup command.",
"savedWithSkippedFields_other": "{{count}} unsupported fields skipped. Saved the setup command."
},
"SidebarRepositoryFilterSection": {
"selectedProjects_one": "{{count}} project",
"selectedProjects_other": "{{count}} projects"
},
"SidebarWorkspaceOptionsMenu": {
"optionsActiveFilters_one": "Workspace options ({{count}} filter active)",
"optionsActiveFilters_other": "Workspace options ({{count}} filters active)",
"optionsFilterCount_one": "Workspace options ({{count}} filter)",
"optionsFilterCount_other": "Workspace options ({{count}} filters)"
},
"WorkspaceKanbanDrawerHeader": {
"selectedCount_one": "{{count}} selected",
"selectedCount_other": "{{count}} selected"
@@ -2149,6 +2175,58 @@
}
},
"sidebar": {
"agentSummary": {
"agentCount_one": "{{count}} agent",
"agentCount_other": "{{count}} agents",
"allInState": {
"blocked_one": "{{count}} agent blocked",
"blocked_other": "All {{count}} agents blocked",
"done_one": "{{count}} agent done",
"done_other": "All {{count}} agents done",
"failed_one": "{{count}} agent failed",
"failed_other": "All {{count}} agents failed",
"idle_one": "{{count}} agent idle",
"idle_other": "All {{count}} agents idle",
"interrupted_one": "{{count}} agent interrupted",
"interrupted_other": "All {{count}} agents interrupted",
"monitoring_one": "{{count}} agent monitoring",
"monitoring_other": "All {{count}} agents monitoring",
"needsAttention_one": "{{count}} agent needs attention",
"needsAttention_other": "All {{count}} agents needs attention",
"notReporting_one": "{{count}} agent not reporting",
"notReporting_other": "All {{count}} agents not reporting",
"unconfirmed_one": "{{count}} agent unconfirmed",
"unconfirmed_other": "All {{count}} agents unconfirmed",
"waiting_one": "{{count}} agent waiting",
"waiting_other": "All {{count}} agents waiting",
"working_one": "{{count}} agent working",
"working_other": "All {{count}} agents working"
},
"stateCount": {
"blocked_one": "{{count}} blocked",
"blocked_other": "{{count}} blocked",
"done_one": "{{count}} done",
"done_other": "{{count}} done",
"failed_one": "{{count}} failed",
"failed_other": "{{count}} failed",
"idle_one": "{{count}} idle",
"idle_other": "{{count}} idle",
"interrupted_one": "{{count}} interrupted",
"interrupted_other": "{{count}} interrupted",
"monitoring_one": "{{count}} monitoring",
"monitoring_other": "{{count}} monitoring",
"needsAttention_one": "{{count}} needs attention",
"needsAttention_other": "{{count}} needs attention",
"notReporting_one": "{{count}} not reporting",
"notReporting_other": "{{count}} not reporting",
"unconfirmed_one": "{{count}} unconfirmed",
"unconfirmed_other": "{{count}} unconfirmed",
"waiting_one": "{{count}} waiting",
"waiting_other": "{{count}} waiting",
"working_one": "{{count}} working",
"working_other": "{{count}} working"
}
},
"createProject": {
"errors": {
"createDirectoryFailed": "Failed to create directory: {{detail}}",
@@ -2312,10 +2390,10 @@
"namingFailure": {
"errors": {
"agentNotRun": "Orca could not run the chat-name agent.",
"noAgentAvailable": "No chat-name agent can run in this workspace.",
"noName": "The chat-name agent returned no name.",
"antigravityFailed": "Antigravity could not name this chat. Try generating the name again.",
"grokFailed": "Grok could not name this chat. Try generating the name again.",
"antigravityFailed": "Antigravity could not name this chat. Try generating the name again."
"noAgentAvailable": "No chat-name agent can run in this workspace.",
"noName": "The chat-name agent returned no name."
}
}
},
@@ -2389,14 +2467,16 @@
"showLinked_other": "Show {{count}} linked reviews and tasks"
}
},
"workspaceOptions": {
"activeFilterCount_one": "{{count}} filter",
"activeFilterCount_other": "{{count}} filters"
},
"workspaceSpace": {
"compact": {
"linkedAndScannedCount_one": "{{size}} in linked worktrees · {{count}} workspace",
"linkedAndScannedCount_other": "{{size}} in linked worktrees · {{count}} workspaces"
}
},
"worktreeJumpPalette": {
"filter": {
"ariaActiveCount_one": "Filter: {{count}} active.",
"ariaActiveCount_other": "Filter: {{count}} active."
}
}
}
+125 -27
View File
@@ -138,6 +138,73 @@
"peerCheckFailed": "Orca konnte den WSL-Host nicht fragen, ob eine andere Orca-Instanz auf diesem Computer ihn noch nutzt: {{detail}}",
"removalUnrecorded": "Orca konnte nicht erfassen, was nach dem Entfernen noch läuft: {{detail}}"
}
},
"agentSummary": {
"state": {
"waiting": "wartend",
"blocked": "blockiert",
"interrupted": "unterbrochen",
"failed": "fehlgeschlagen",
"working": "in Arbeit",
"monitoring": "Überwachung aktiv",
"done": "erledigt",
"idle": "inaktiv",
"notReporting": "ohne Statusmeldung",
"unconfirmed": "unbestätigt",
"needsAttention": "Aufmerksamkeit erforderlich"
},
"mixedStates": "{{subject}}: {{states}}",
"agentIdentityState": "{{agent}}: {{status}}",
"agentCount_one": "{{count}} Agent",
"agentCount_other": "{{count}} Agenten",
"stateCount": {
"waiting_one": "{{count}} wartend",
"waiting_other": "{{count}} wartend",
"blocked_one": "{{count}} blockiert",
"blocked_other": "{{count}} blockiert",
"interrupted_one": "{{count}} unterbrochen",
"interrupted_other": "{{count}} unterbrochen",
"failed_one": "{{count}} fehlgeschlagen",
"failed_other": "{{count}} fehlgeschlagen",
"working_one": "{{count}} arbeitet",
"working_other": "{{count}} arbeiten",
"monitoring_one": "{{count}} mit aktiver Überwachung",
"monitoring_other": "{{count}} mit aktiver Überwachung",
"done_one": "{{count}} fertig",
"done_other": "{{count}} fertig",
"idle_one": "{{count}} inaktiv",
"idle_other": "{{count}} inaktiv",
"notReporting_one": "{{count}} ohne Statusmeldung",
"notReporting_other": "{{count}} ohne Statusmeldung",
"unconfirmed_one": "{{count}} unbestätigt",
"unconfirmed_other": "{{count}} unbestätigt",
"needsAttention_one": "{{count}} benötigt Aufmerksamkeit",
"needsAttention_other": "{{count}} benötigen Aufmerksamkeit"
},
"allInState": {
"waiting_one": "{{count}} Agent wartet",
"waiting_other": "Alle {{count}} Agenten warten",
"blocked_one": "{{count}} Agent blockiert",
"blocked_other": "Alle {{count}} Agenten blockiert",
"interrupted_one": "{{count}} Agent unterbrochen",
"interrupted_other": "Alle {{count}} Agenten unterbrochen",
"failed_one": "{{count}} Agent fehlgeschlagen",
"failed_other": "Alle {{count}} Agenten fehlgeschlagen",
"working_one": "{{count}} Agent arbeitet",
"working_other": "Alle {{count}} Agenten arbeiten",
"monitoring_one": "{{count}} Agent mit aktiver Überwachung",
"monitoring_other": "Alle {{count}} Agenten mit aktiver Überwachung",
"done_one": "{{count}} Agent fertig",
"done_other": "Alle {{count}} Agenten fertig",
"idle_one": "{{count}} Agent inaktiv",
"idle_other": "Alle {{count}} Agenten inaktiv",
"notReporting_one": "{{count}} Agent ohne Statusmeldung",
"notReporting_other": "Alle {{count}} Agenten ohne Statusmeldung",
"unconfirmed_one": "{{count}} Agent unbestätigt",
"unconfirmed_other": "Alle {{count}} Agenten unbestätigt",
"needsAttention_one": "{{count}} Agent benötigt Aufmerksamkeit",
"needsAttention_other": "Alle {{count}} Agenten benötigen Aufmerksamkeit"
}
}
},
"app": {
@@ -967,8 +1034,9 @@
"clearHosts": "Host-Auswahl zurücksetzen",
"clearProjects": "Projektauswahl zurücksetzen",
"back": "Zurück",
"ariaActive": "Filter: {{value0}} aktiv.",
"scopedTo": "Beschränkt auf"
"scopedTo": "Beschränkt auf",
"ariaActiveCount_one": "Filter: {{count}} aktiv.",
"ariaActiveCount_other": "Filter: {{count}} aktiv."
},
"taskUrl": {
"loadingHint": "{{value0}} wird geladen…",
@@ -3603,7 +3671,6 @@
"cleanup": {
"WorkspaceCleanupDialog": {
"3828408538": "{{value0}} entfernen",
"352f15d6fc": "Zuletzt aktiv",
"b6bae1eed1": "Abbrechen",
"38ca0b1400": "Dadurch werden die zugehörigen lokalen Dateien dauerhaft gelöscht. Dies lässt sich nicht rückgängig machen.",
"e97e4580c7": "Geändert",
@@ -4340,7 +4407,9 @@
"f395c9a685": "Dateiimport fehlgeschlagen",
"e6234bcc17": "Das Hochladen eines eigenen Haustiers erfordert einen vollständigen Neustart der App (bloßes Neuladen reicht nicht).",
"6d0a8cd179": "Haustier anzeigen",
"1fbc51cc77": "Haustier ausblenden"
"1fbc51cc77": "Haustier ausblenden",
"petFallbackLabel": "Haustier",
"petHiddenLabel": "{{pet}} ausgeblendet"
},
"PortsStatusSegment": {
"4ebf90c12e": "Keine externen Ports erkannt",
@@ -5926,7 +5995,8 @@
"c49fb13492": "Ordner konnte auf diesem Host nicht hinzugefügt werden",
"9a766f33ac": "Dieser Pfad wurde auf dem SSH-Host geprüft.",
"79fd02cf5f": "Dieser Pfad wurde auf {{hostName}} geprüft.",
"8851b77327": "Dieser Pfad wurde lokal geprüft."
"8851b77327": "Dieser Pfad wurde lokal geprüft.",
"sshConnectionUnavailable": "SSH-Verbindung „{{connection}}“ wurde nicht gefunden oder ist nicht verbunden"
},
"OrcaYamlTrustDialog": {
"f3e2b868fb": "Hooks ausführen",
@@ -6012,8 +6082,8 @@
"removeDescriptionSsh": "Dies entfernt {{name}} nur aus Orca. Die Dateien bleiben auf {{host}} — zum Wiederherstellen diesen SSH-Host erneut hinzufügen.",
"removeDescriptionLocal": "Dies entfernt {{name}} nur aus Orca. Es bleibt auf dem Datenträger erhalten.",
"removeDescriptionVmRecipe": "Dies entfernt {{name}} aus Orca. Das zugehörige VM-Rezept legt fest, ob die Umgebung und ihre Dateien dauerhaft gelöscht werden.",
"openTerminalWarningOne": "1 offenes Terminal in diesem Projekt wird geschlossen.",
"openTerminalWarningMany": "{{count}} offene Terminals in diesem Projekt werden geschlossen."
"openTerminalWarning_one": "{{count}} offenes Terminal in diesem Projekt wird geschlossen.",
"openTerminalWarning_other": "{{count}} offene Terminals in diesem Projekt werden geschlossen."
},
"ScrollToCurrentWorkspaceToolbarButton": {
"23989bb663": "Aktiven Arbeitsbereich anzeigen"
@@ -6123,7 +6193,8 @@
"4815c70605": "Keine passenden Projekte",
"bbbc6e8e3b": "Keine passenden nicht ausgewählten Projekte",
"allProjects": "Alle Projekte",
"selectedProjectsCount": "{{value0}} Projekte"
"selectedProjects_one": "{{count}} Projekt",
"selectedProjects_other": "{{count}} Projekte"
},
"SidebarSettingsHelpMenu": {
"ad3d3ed7f1": "Orca neu starten",
@@ -6184,8 +6255,6 @@
"7bada3b1ab": "Sortieren nach",
"dc0bb670bc": "Gruppieren nach",
"9919ae1082": "Arbeitsbereichsoptionen",
"bc96dbd041": "Arbeitsbereichsoptionen ({{value0}})",
"optionsActiveLabel": "Arbeitsbereichsoptionen ({{value0}} aktiv)",
"af9249c505": "Letzte Arbeitsbereichsaktivität",
"b451c8b162": "Zuletzt aktiv",
"6664282a7b": "Projekte zum Anordnen ziehen",
@@ -6219,7 +6288,11 @@
"219ebf1961": "Branch-Name",
"folderPathIdentity": "Branch / Ordnerpfad",
"cli": "Orca CLI",
"workspaceOptions": "Arbeitsbereichsoptionen"
"workspaceOptions": "Arbeitsbereichsoptionen",
"optionsActiveFilters_one": "Arbeitsbereichsoptionen ({{count}} Filter aktiv)",
"optionsActiveFilters_other": "Arbeitsbereichsoptionen ({{count}} Filter aktiv)",
"optionsFilterCount_one": "Arbeitsbereichsoptionen ({{count}} Filter)",
"optionsFilterCount_other": "Arbeitsbereichsoptionen ({{count}} Filter)"
},
"SshTargetRow": {
"4677394048": "Verbindung wird hergestellt…",
@@ -6289,7 +6362,8 @@
},
"WorktreeCardAgents": {
"1b0a156717": "Agenten",
"agentUnavailable": "Agent ist nicht verfügbar"
"agentUnavailable": "Agent ist nicht verfügbar",
"sendingTarget": "Wird gesendet…"
},
"WorktreeCardMeta": {
"3e65e11cc6": "Metadaten des Arbeitsbereichs",
@@ -17274,9 +17348,6 @@
"sortedAscending": "{{value0}}, aufsteigend sortiert",
"sortedDescending": "{{value0}}, absteigend sortiert"
},
"hostSummary": {
"partialFailure": "{{failed}} von {{total}} Hosts konnten nicht geladen werden"
},
"emptyState": {
"unknownHost": "dieser Host",
"hostLoading": "Host wird geladen…",
@@ -17390,8 +17461,6 @@
"failed24h": "Fehlgeschlagen · 24 h",
"successful7d": "Erfolgreich · 7 Tage",
"failed7d": "Fehlgeschlagen · 7 Tage",
"historyUnavailableOne": "Für 1 Automatisierung ist der Ausführungsverlauf nicht verfügbar. Die Zählungen berücksichtigen nur verfügbare Verlaufsdaten.",
"historyUnavailableMany": "Für {{count}} Automatisierungen ist der Ausführungsverlauf nicht verfügbar. Die Zählungen berücksichtigen nur verfügbare Verlaufsdaten.",
"automation": "Automatisierung",
"triggered": "Ausgelöst",
"trigger": "Auslöser",
@@ -17400,7 +17469,9 @@
"emptyDescription": "Ausführungen erscheinen hier, sobald eine Automatisierung ausgelöst wurde.",
"runs": "Ausführungen",
"local": "Lokal",
"remote": "Entfernt"
"remote": "Entfernt",
"historyUnavailable_one": "Für {{count}} Automatisierung ist kein Ausführungsverlauf verfügbar. Die Zählwerte berücksichtigen nur den verfügbaren Verlauf.",
"historyUnavailable_other": "Für {{count}} Automatisierungen ist kein Ausführungsverlauf verfügbar. Die Zählwerte berücksichtigen nur den verfügbaren Verlauf."
},
"AutomationsPageBreadcrumb": {
"ariaLabel": "Navigationspfad für Automatisierungen",
@@ -17468,7 +17539,8 @@
},
"usage": {
"tokensAndCost_one": "{{tokens}} Token · {{cost}}",
"tokensAndCost_other": "{{tokens}} Tokens · {{cost}}"
"tokensAndCost_other": "{{tokens}} Tokens · {{cost}}",
"costUnavailable": "k. A."
},
"externalDisplay": {
"sshHost": "SSH-Host",
@@ -17480,6 +17552,10 @@
"connectSshHost": "Diesen SSH-Host verbinden, um Automatisierungen von {{provider}} zu verwalten.",
"cannotManageOnSshHost": "{{provider}} kann auf diesem SSH-Host keine Automatisierungen verwalten.",
"cannotManageLocally": "{{provider}} kann auf diesem Rechner keine Automatisierungen verwalten."
},
"hostSummary": {
"partialFailureOfHosts_one": "Laden fehlgeschlagen: {{failed}} von {{count}} Host",
"partialFailureOfHosts_other": "Laden fehlgeschlagen: {{failed}} von {{count}} Hosts"
}
},
"agent": {
@@ -17545,8 +17621,10 @@
},
"filtersSection": "Filter",
"viewSection": "Ansicht",
"threadListOptionsActive": "Optionen für die Thread-Liste ({{value0}} aktiv)",
"activityOptionsActive": "Aktivitätsoptionen ({{value0}})"
"threadListOptionsActiveFilters_one": "Optionen für die Thread-Liste ({{count}} Filter aktiv)",
"threadListOptionsActiveFilters_other": "Optionen für die Thread-Liste ({{count}} Filter aktiv)",
"activityOptionsFilterCount_one": "Aktivitätsoptionen ({{count}} Filter)",
"activityOptionsFilterCount_other": "Aktivitätsoptionen ({{count}} Filter)"
},
"clearCompleted": {
"undo": "Rückgängig machen",
@@ -19698,7 +19776,8 @@
"selectionWithheldCount_one": "{{count}} ausgewählter Arbeitsbereich wird durch die aktuellen Filter ausgeblendet und wurde abgewählt.",
"selectionWithheldCount_other": "{{count}} ausgewählte Arbeitsbereiche werden durch die aktuellen Filter ausgeblendet und wurden abgewählt.",
"selectAllSafetyChecked_one": "{{count}} sicherheitsgeprüften Arbeitsbereich auswählen",
"selectAllSafetyChecked_other": "Alle {{count}} sicherheitsgeprüften Arbeitsbereiche auswählen"
"selectAllSafetyChecked_other": "Alle {{count}} sicherheitsgeprüften Arbeitsbereiche auswählen",
"lastActive": "Zuletzt aktiv: {{value0}}"
},
"scan": {
"progress": "Arbeitsbereiche werden geprüft ({{value0}}/{{value1}})",
@@ -20347,7 +20426,13 @@
"kimiContinueSessionConflict": "Kimi hat widersprüchliche Optionen erhalten: --continue, --session. Vor einem erneuten Versuch das Textgenerierungsrezept oder die CLI-Argumente korrigieren."
},
"enableSourceControlAi": "KI für die Quellcodeverwaltung unter Einstellungen -> Git aktivieren.",
"chooseBaseBranch": "Vor dem Generieren einen Basis-Branch auswählen."
"chooseBaseBranch": "Vor dem Generieren einen Basis-Branch auswählen.",
"savedCommitRecipeRepo": "Rezept für Commit-Nachrichten für dieses Repository gespeichert.",
"savedCommitRecipeGlobal": "Rezept für Commit-Nachrichten als globalen Standard gespeichert.",
"savedReviewRecipeRepo": "Rezept für gehostete Reviews für dieses Repository gespeichert.",
"savedReviewRecipeGlobal": "Rezept für gehostete Reviews als globalen Standard gespeichert.",
"savedBranchRecipeRepo": "Rezept für Branch-Namen für dieses Repository gespeichert.",
"savedBranchRecipeGlobal": "Rezept für Branch-Namen als globalen Standard gespeichert."
},
"remoteError": {
"submodule": {
@@ -20421,6 +20506,13 @@
"pull": "Pull blockiert — nicht versionierte Dateien zuerst verschieben, entfernen oder hinzufügen."
},
"authenticationFailed": "Authentifizierung fehlgeschlagen. Die Zugangsdaten für das Remote prüfen."
},
"submodule": {
"worktreeOnlyLabel": "Im Submodul vormerken",
"worktreeOnlyTooltip": "Das übergeordnete Repo (einschließlich „Alle vormerken“) kann Dateiänderungen in einem Submodul nicht vormerken",
"loading": "Submodul-Änderungen werden geladen…",
"empty": "Keine Änderungen im Submodul",
"loadFailed": "Submodul-Änderungen konnten nicht geladen werden"
}
},
"agentsSidebarIntro": {
@@ -22098,10 +22190,6 @@
"workspaceApiKeyHint": "Einen persönlichen API-Schlüssel für {{workspace}} einfügen. Ist dieser Arbeitsbereich bereits verbunden, ersetzt Orca den gespeicherten Schlüssel."
}
},
"workspaceOptions": {
"activeFilterCount_one": "{{count}} Filter",
"activeFilterCount_other": "{{count}} Filter"
},
"editorConflicts": {
"kind": {
"addedByUs": "Auf eigener Seite hinzugefügt",
@@ -22475,5 +22563,15 @@
"image": "Benutzerdefiniertes Haustier",
"bundle": "Haustierpaket"
}
},
"diffComments": {
"lineRangeMeta": "Zeilen {{start}}-{{end}}",
"lineMeta": "Zeile {{line}}"
},
"agentSendTargets": {
"disabledReason": {
"needsPermission": "Agent benötigt eine Genehmigung",
"statusStale": "Agentenstatus ist veraltet"
}
}
}
+125 -29
View File
@@ -138,6 +138,73 @@
"peerCheckFailed": "Orca couldn’t ask the WSL host whether another Orca on this computer still uses it: {{detail}}",
"removalUnrecorded": "Orca couldn’t record what this Remove left running: {{detail}}"
}
},
"agentSummary": {
"state": {
"waiting": "waiting",
"blocked": "blocked",
"interrupted": "interrupted",
"failed": "failed",
"working": "working",
"monitoring": "monitoring",
"done": "done",
"idle": "idle",
"notReporting": "not reporting",
"unconfirmed": "unconfirmed",
"needsAttention": "needs attention"
},
"mixedStates": "{{subject}}: {{states}}",
"agentIdentityState": "{{agent}} {{status}}",
"agentCount_one": "{{count}} agent",
"agentCount_other": "{{count}} agents",
"stateCount": {
"waiting_one": "{{count}} waiting",
"waiting_other": "{{count}} waiting",
"blocked_one": "{{count}} blocked",
"blocked_other": "{{count}} blocked",
"interrupted_one": "{{count}} interrupted",
"interrupted_other": "{{count}} interrupted",
"failed_one": "{{count}} failed",
"failed_other": "{{count}} failed",
"working_one": "{{count}} working",
"working_other": "{{count}} working",
"monitoring_one": "{{count}} monitoring",
"monitoring_other": "{{count}} monitoring",
"done_one": "{{count}} done",
"done_other": "{{count}} done",
"idle_one": "{{count}} idle",
"idle_other": "{{count}} idle",
"notReporting_one": "{{count}} not reporting",
"notReporting_other": "{{count}} not reporting",
"unconfirmed_one": "{{count}} unconfirmed",
"unconfirmed_other": "{{count}} unconfirmed",
"needsAttention_one": "{{count}} needs attention",
"needsAttention_other": "{{count}} needs attention"
},
"allInState": {
"waiting_one": "{{count}} agent waiting",
"waiting_other": "All {{count}} agents waiting",
"blocked_one": "{{count}} agent blocked",
"blocked_other": "All {{count}} agents blocked",
"interrupted_one": "{{count}} agent interrupted",
"interrupted_other": "All {{count}} agents interrupted",
"failed_one": "{{count}} agent failed",
"failed_other": "All {{count}} agents failed",
"working_one": "{{count}} agent working",
"working_other": "All {{count}} agents working",
"monitoring_one": "{{count}} agent monitoring",
"monitoring_other": "All {{count}} agents monitoring",
"done_one": "{{count}} agent done",
"done_other": "All {{count}} agents done",
"idle_one": "{{count}} agent idle",
"idle_other": "All {{count}} agents idle",
"notReporting_one": "{{count}} agent not reporting",
"notReporting_other": "All {{count}} agents not reporting",
"unconfirmed_one": "{{count}} agent unconfirmed",
"unconfirmed_other": "All {{count}} agents unconfirmed",
"needsAttention_one": "{{count}} agent needs attention",
"needsAttention_other": "All {{count}} agents needs attention"
}
}
},
"app": {
@@ -990,8 +1057,9 @@
"clearHosts": "Clear hosts",
"clearProjects": "Clear projects",
"back": "Back",
"ariaActive": "Filter: {{value0}} active.",
"scopedTo": "Scoped to"
"scopedTo": "Scoped to",
"ariaActiveCount_one": "Filter: {{count}} active.",
"ariaActiveCount_other": "Filter: {{count}} active."
},
"taskUrl": {
"loadingHint": "Loading {{value0}}…",
@@ -3638,7 +3706,6 @@
"cleanup": {
"WorkspaceCleanupDialog": {
"3828408538": "Remove {{value0}}",
"352f15d6fc": "Last active",
"b6bae1eed1": "Cancel",
"38ca0b1400": "This permanently deletes their local files. You can't undo this.",
"e97e4580c7": "Dirty",
@@ -4375,7 +4442,9 @@
"f395c9a685": "Failed to import file",
"e6234bcc17": "Custom pet upload needs a full app restart (not just reload).",
"6d0a8cd179": "Show pet",
"1fbc51cc77": "Hide pet"
"1fbc51cc77": "Hide pet",
"petFallbackLabel": "Pet",
"petHiddenLabel": "{{pet}} hidden"
},
"PortsStatusSegment": {
"4ebf90c12e": "No external ports detected",
@@ -5312,7 +5381,6 @@
"title_other": "{{count}} installed Orca skills are out of date",
"title_one": "{{count}} installed Orca skill is out of date"
},
"SkillFreshnessRow": {},
"SkillFreshnessUpdateDialog": {
"title": "Update skills",
"checking": "Checking installed Orca skills…",
@@ -5344,7 +5412,6 @@
"updateAction_one": "Update {{count}} skill",
"upToDate_one": "{{count}} skill is up to date."
},
"SkillUpdateResultRows": {},
"SkillUpdateRow": {
"replaceWithOrca": "Replace with Orca's copy (keeps a backup)"
},
@@ -5976,7 +6043,8 @@
"c49fb13492": "Failed to add folder on this host",
"9a766f33ac": "This path was checked on the SSH host.",
"79fd02cf5f": "This path was checked on {{hostName}}.",
"8851b77327": "This path was checked locally."
"8851b77327": "This path was checked locally.",
"sshConnectionUnavailable": "SSH connection \"{{connection}}\" not found or not connected"
},
"OrcaYamlTrustDialog": {
"f3e2b868fb": "Run hooks",
@@ -6062,8 +6130,8 @@
"removeDescriptionSsh": "This only removes {{name}} from Orca. Its files stay on {{host}} — re-add that SSH host to recover it.",
"removeDescriptionLocal": "This only removes {{name}} from Orca. It is still on your disk.",
"removeDescriptionVmRecipe": "This removes {{name}} from Orca. Its VM recipe determines whether the environment and its files are permanently deleted.",
"openTerminalWarningOne": "1 open terminal in this project will be closed.",
"openTerminalWarningMany": "{{count}} open terminals in this project will be closed."
"openTerminalWarning_one": "{{count}} open terminal in this project will be closed.",
"openTerminalWarning_other": "{{count}} open terminals in this project will be closed."
},
"ScrollToCurrentWorkspaceToolbarButton": {
"23989bb663": "Reveal active workspace"
@@ -6173,7 +6241,8 @@
"4815c70605": "No projects match",
"bbbc6e8e3b": "No unselected projects match",
"allProjects": "All projects",
"selectedProjectsCount": "{{value0}} projects"
"selectedProjects_one": "{{count}} project",
"selectedProjects_other": "{{count}} projects"
},
"SidebarSettingsHelpMenu": {
"ad3d3ed7f1": "Restart Orca",
@@ -6234,8 +6303,6 @@
"7bada3b1ab": "Sort by",
"dc0bb670bc": "Group by",
"9919ae1082": "Workspace options",
"bc96dbd041": "Workspace options ({{value0}})",
"optionsActiveLabel": "Workspace options ({{value0}} active)",
"af9249c505": "Most recent workspace activity",
"b451c8b162": "Recent",
"6664282a7b": "Drag projects to arrange them",
@@ -6269,7 +6336,11 @@
"219ebf1961": "Branch name",
"folderPathIdentity": "Branch / folder path",
"cli": "Orca CLI",
"workspaceOptions": "Workspace options"
"workspaceOptions": "Workspace options",
"optionsActiveFilters_one": "Workspace options ({{count}} filter active)",
"optionsActiveFilters_other": "Workspace options ({{count}} filters active)",
"optionsFilterCount_one": "Workspace options ({{count}} filter)",
"optionsFilterCount_other": "Workspace options ({{count}} filters)"
},
"SshTargetRow": {
"4677394048": "Connecting…",
@@ -6339,7 +6410,8 @@
},
"WorktreeCardAgents": {
"1b0a156717": "Agents",
"agentUnavailable": "Agent is not available"
"agentUnavailable": "Agent is not available",
"sendingTarget": "Sending..."
},
"WorktreeCardMeta": {
"3e65e11cc6": "Workspace metadata",
@@ -17679,9 +17751,6 @@
"sortedAscending": "{{value0}}, sorted ascending",
"sortedDescending": "{{value0}}, sorted descending"
},
"hostSummary": {
"partialFailure": "{{failed}} of {{total}} hosts could not be loaded"
},
"emptyState": {
"unknownHost": "this host",
"hostLoading": "Loading host…",
@@ -17795,8 +17864,6 @@
"failed24h": "Failed · 24h",
"successful7d": "Successful · 7d",
"failed7d": "Failed · 7d",
"historyUnavailableOne": "Run history is unavailable for 1 automation. Counts include available history only.",
"historyUnavailableMany": "Run history is unavailable for {{count}} automations. Counts include available history only.",
"automation": "Automation",
"triggered": "Triggered",
"trigger": "Trigger",
@@ -17805,7 +17872,9 @@
"emptyDescription": "Runs appear here after an automation is triggered.",
"runs": "Runs",
"local": "Local",
"remote": "Remote"
"remote": "Remote",
"historyUnavailable_one": "Run history is unavailable for {{count}} automation. Counts include available history only.",
"historyUnavailable_other": "Run history is unavailable for {{count}} automations. Counts include available history only."
},
"AutomationsPageBreadcrumb": {
"ariaLabel": "Automations breadcrumb",
@@ -17873,7 +17942,8 @@
},
"usage": {
"tokensAndCost_one": "{{tokens}} token · {{cost}}",
"tokensAndCost_other": "{{tokens}} tokens · {{cost}}"
"tokensAndCost_other": "{{tokens}} tokens · {{cost}}",
"costUnavailable": "n/a"
},
"externalDisplay": {
"sshHost": "SSH host",
@@ -17885,6 +17955,10 @@
"connectSshHost": "Connect this SSH host before managing {{provider}} automations.",
"cannotManageOnSshHost": "{{provider}} cannot manage automations on this SSH host.",
"cannotManageLocally": "{{provider}} cannot manage automations on this machine."
},
"hostSummary": {
"partialFailureOfHosts_one": "{{failed}} of {{count}} host could not be loaded",
"partialFailureOfHosts_other": "{{failed}} of {{count}} hosts could not be loaded"
}
},
"agent": {
@@ -17950,8 +18024,10 @@
},
"filtersSection": "Filters",
"viewSection": "View",
"threadListOptionsActive": "Thread list options ({{value0}} active)",
"activityOptionsActive": "Activity options ({{value0}})"
"threadListOptionsActiveFilters_one": "Thread list options ({{count}} filter active)",
"threadListOptionsActiveFilters_other": "Thread list options ({{count}} filters active)",
"activityOptionsFilterCount_one": "Activity options ({{count}} filter)",
"activityOptionsFilterCount_other": "Activity options ({{count}} filters)"
},
"clearCompleted": {
"undo": "Undo",
@@ -20124,7 +20200,8 @@
"selectionWithheldCount_one": "{{count}} selected workspace is hidden by the current filters and was deselected.",
"selectionWithheldCount_other": "{{count}} selected workspaces are hidden by the current filters and were deselected.",
"selectAllSafetyChecked_one": "Select {{count}} safety-checked workspace",
"selectAllSafetyChecked_other": "Select all {{count}} safety-checked workspaces"
"selectAllSafetyChecked_other": "Select all {{count}} safety-checked workspaces",
"lastActive": "Last active {{value0}}"
},
"scan": {
"progress": "Scanning workspaces ({{value0}}/{{value1}})",
@@ -20773,7 +20850,13 @@
"kimiContinueSessionConflict": "Kimi received conflicting options: --continue, --session. Correct the generation recipe or CLI arguments before retrying."
},
"enableSourceControlAi": "Enable Source Control AI in Settings -> Git.",
"chooseBaseBranch": "Choose a base branch before generating."
"chooseBaseBranch": "Choose a base branch before generating.",
"savedCommitRecipeRepo": "Saved commit-message recipe for this repository.",
"savedCommitRecipeGlobal": "Saved commit-message recipe as a global default.",
"savedReviewRecipeRepo": "Saved hosted-review recipe for this repository.",
"savedReviewRecipeGlobal": "Saved hosted-review recipe as a global default.",
"savedBranchRecipeRepo": "Saved branch-name recipe for this repository.",
"savedBranchRecipeGlobal": "Saved branch-name recipe as a global default."
},
"remoteError": {
"submodule": {
@@ -20847,6 +20930,13 @@
"pull": "Pull blocked — move, remove, or add untracked files first."
},
"authenticationFailed": "Authentication failed. Check your remote credentials."
},
"submodule": {
"worktreeOnlyLabel": "Stage inside submodule",
"worktreeOnlyTooltip": "The parent repo (including Stage All) cannot stage file changes inside a submodule",
"loading": "Loading submodule changes…",
"empty": "No changes in submodule",
"loadFailed": "Failed to load submodule changes"
}
},
"agentsSidebarIntro": {
@@ -22567,10 +22657,6 @@
}
}
},
"workspaceOptions": {
"activeFilterCount_one": "{{count}} filter",
"activeFilterCount_other": "{{count}} filters"
},
"editorConflicts": {
"kind": {
"addedByUs": "Added by us",
@@ -22944,5 +23030,15 @@
"image": "Custom pet",
"bundle": "Pet bundle"
}
},
"diffComments": {
"lineRangeMeta": "lines {{start}}-{{end}}",
"lineMeta": "line {{line}}"
},
"agentSendTargets": {
"disabledReason": {
"needsPermission": "Agent needs permission",
"statusStale": "Agent status is stale"
}
}
}
+158 -32
View File
@@ -564,8 +564,10 @@
"clearHosts": "Borrar hosts",
"clearProjects": "Borrar proyectos",
"back": "Atrás",
"ariaActive": "Filtro: {{value0}} activos.",
"scopedTo": "Ámbito:"
"scopedTo": "Ámbito:",
"ariaActiveCount_one": "Filtro: {{count}} activo.",
"ariaActiveCount_other": "Filtro: {{count}} activos.",
"ariaActiveCount_many": "Filtro: {{count}} activos."
},
"linearIssue": {
"createLabel": "Crear árbol de trabajo a partir de un problema Linear __{{value0}} __: {{value1}}",
@@ -3190,7 +3192,6 @@
"cleanup": {
"WorkspaceCleanupDialog": {
"3828408538": "Quitar {{value0}}",
"352f15d6fc": "Último activo",
"b6bae1eed1": "Cancelar",
"38ca0b1400": "Esto elimina permanentemente sus archivos locales. No puedes deshacer esto.",
"e97e4580c7": "Con cambios",
@@ -3929,7 +3930,9 @@
"f395c9a685": "No se pudo importar el archivo",
"e6234bcc17": "Subir una mascota personalizada requiere reiniciar la app por completo (no solo recargarla).",
"6d0a8cd179": "Mostrar mascota",
"1fbc51cc77": "Ocultar mascota"
"1fbc51cc77": "Ocultar mascota",
"petFallbackLabel": "Mascota",
"petHiddenLabel": "{{pet}} no visible"
},
"PortsStatusSegment": {
"4ebf90c12e": "No se detectaron puertos externos",
@@ -4987,7 +4990,6 @@
"title_one": "{{count}} skills de Orca instaladas están desactualizadas",
"title_many": "{{count}} skills de Orca instaladas están desactualizadas"
},
"SkillFreshnessRow": {},
"SkillFreshnessUpdateDialog": {
"title": "Actualizar skills",
"checking": "Comprobando las skills de Orca instaladas…",
@@ -5035,7 +5037,6 @@
"updateServer": "Actualiza Orca en el servidor",
"connectHost": "Conecta el host SSH"
},
"SkillUpdateResultRows": {},
"SkillUpdateRow": {
"replaceWithOrca": "Reemplazar por la copia de Orca (guarda una copia de seguridad)"
},
@@ -5584,7 +5585,8 @@
"c49fb13492": "No se pudo agregar la carpeta en este host",
"9a766f33ac": "Esta ruta se verificó en el host SSH.",
"79fd02cf5f": "Esta ruta se verificó en {{hostName}}.",
"8851b77327": "Esta ruta se verificó localmente."
"8851b77327": "Esta ruta se verificó localmente.",
"sshConnectionUnavailable": "No se encontró la conexión SSH «{{connection}}» o no está conectada"
},
"OrcaYamlTrustDialog": {
"f3e2b868fb": "Ejecutar hooks",
@@ -5672,8 +5674,9 @@
"removeDescriptionSsh": "Esto solo elimina {{name}} de Orca. Sus archivos permanecen en {{host}}; vuelve a añadir ese host SSH para recuperarlo.",
"removeDescriptionLocal": "Esto solo elimina {{name}} de Orca. Sigue estando en tu disco.",
"removeDescriptionVmRecipe": "Esto elimina {{name}} de Orca. Su receta de VM determina si el entorno y sus archivos se eliminan permanentemente.",
"openTerminalWarningOne": "Se cerrará 1 terminal abierto en este proyecto.",
"openTerminalWarningMany": "Se cerrarán {{count}} terminales abiertos en este proyecto."
"openTerminalWarning_one": "Se cerrará {{count}} terminal abierto en este proyecto.",
"openTerminalWarning_other": "Se cerrarán {{count}} terminales abiertos en este proyecto.",
"openTerminalWarning_many": "Se cerrarán {{count}} terminales abiertos en este proyecto."
},
"ScrollToCurrentWorkspaceToolbarButton": {
"23989bb663": "Mostrar espacio de trabajo activo"
@@ -5784,7 +5787,9 @@
"4815c70605": "Ningún proyecto coincide",
"bbbc6e8e3b": "Ningún proyecto no seleccionado coincide",
"allProjects": "Todos los proyectos",
"selectedProjectsCount": "{{value0}} proyectos"
"selectedProjects_one": "{{count}} proyecto",
"selectedProjects_other": "{{count}} proyectos",
"selectedProjects_many": "{{count}} proyectos"
},
"SidebarSettingsHelpMenu": {
"ad3d3ed7f1": "Reiniciar Orca",
@@ -5832,8 +5837,6 @@
"7bada3b1ab": "Ordenar por",
"dc0bb670bc": "Agrupar por",
"9919ae1082": "Opciones de espacio de trabajo",
"bc96dbd041": "Opciones de espacio de trabajo ({{value0}})",
"optionsActiveLabel": "Opciones de espacio de trabajo ({{value0}} activos)",
"af9249c505": "Actividad más reciente en el espacio de trabajo",
"b451c8b162": "Reciente",
"6664282a7b": "Arrastra proyectos para organizarlos",
@@ -5874,7 +5877,13 @@
"219ebf1961": "Nombre de rama",
"folderPathIdentity": "Rama / ruta de carpeta",
"cli": "Orca CLI",
"workspaceOptions": "Opciones de espacio de trabajo"
"workspaceOptions": "Opciones de espacio de trabajo",
"optionsActiveFilters_one": "Opciones de espacio de trabajo ({{count}} filtro activo)",
"optionsActiveFilters_other": "Opciones de espacio de trabajo ({{count}} filtros activos)",
"optionsActiveFilters_many": "Opciones de espacio de trabajo ({{count}} filtros activos)",
"optionsFilterCount_one": "Opciones de espacio de trabajo ({{count}} filtro)",
"optionsFilterCount_other": "Opciones de espacio de trabajo ({{count}} filtros)",
"optionsFilterCount_many": "Opciones de espacio de trabajo ({{count}} filtros)"
},
"SshTargetRow": {
"4677394048": "Conectando…",
@@ -5945,7 +5954,8 @@
},
"WorktreeCardAgents": {
"1b0a156717": "Agents",
"agentUnavailable": "El agente no está disponible"
"agentUnavailable": "El agente no está disponible",
"sendingTarget": "Enviando..."
},
"WorktreeCardMeta": {
"3e65e11cc6": "Metadatos del espacio de trabajo",
@@ -6256,8 +6266,7 @@
"62e71f2d5d": "Crear espacio de trabajo para {{value0}}"
}
}
},
"project": {}
}
},
"sleep": {
"worktree": {
@@ -17008,8 +17017,6 @@
"failed24h": "Fallidas · 24 h",
"successful7d": "Exitosas · 7 días",
"failed7d": "Fallidas · 7 días",
"historyUnavailableOne": "El historial de ejecuciones no está disponible para 1 automatización. Los recuentos solo incluyen el historial disponible.",
"historyUnavailableMany": "El historial de ejecuciones no está disponible para {{count}} automatizaciones. Los recuentos solo incluyen el historial disponible.",
"automation": "Automatización",
"triggered": "Activada",
"trigger": "Activar",
@@ -17018,7 +17025,10 @@
"emptyDescription": "Las ejecuciones aparecerán aquí después de activar una automatización.",
"runs": "Ejecuciones",
"local": "Local",
"remote": "Remoto"
"remote": "Remoto",
"historyUnavailable_one": "El historial de ejecuciones no está disponible para {{count}} automatización. Los recuentos solo incluyen el historial disponible.",
"historyUnavailable_other": "El historial de ejecuciones no está disponible para {{count}} automatizaciones. Los recuentos solo incluyen el historial disponible.",
"historyUnavailable_many": "El historial de ejecuciones no está disponible para {{count}} automatizaciones. Los recuentos solo incluyen el historial disponible."
},
"AutomationsPageBreadcrumb": {
"ariaLabel": "Ruta de navegación de automatizaciones",
@@ -17462,9 +17472,6 @@
"sortedAscending": "{{value0}}, orden ascendente",
"sortedDescending": "{{value0}}, orden descendente"
},
"hostSummary": {
"partialFailure": "No se pudieron cargar {{failed}} de {{total}} hosts"
},
"capturedOwner": {
"orphan": "Esta automatización no tiene host donde ejecutarse. Elimínala o vuelve a añadir el host al que pertenece.",
"unfenced": "Orca en este host necesita una actualización antes de que puedas ver el historial de ejecuciones o gestionar esta automatización. Las ejecuciones programadas aún pueden continuar en el host."
@@ -17547,7 +17554,8 @@
"usage": {
"tokensAndCost_one": "{{tokens}} token · {{cost}}",
"tokensAndCost_other": "{{tokens}} tokens · {{cost}}",
"tokensAndCost_many": "{{tokens}} tokens · {{cost}}"
"tokensAndCost_many": "{{tokens}} tokens · {{cost}}",
"costUnavailable": "n/d"
},
"externalDisplay": {
"sshHost": "Host SSH",
@@ -17559,6 +17567,11 @@
"connectSshHost": "Conecta este host SSH antes de gestionar automatizaciones de {{provider}}.",
"cannotManageOnSshHost": "{{provider}} no puede gestionar automatizaciones en este host SSH.",
"cannotManageLocally": "{{provider}} no puede gestionar automatizaciones en este equipo."
},
"hostSummary": {
"partialFailureOfHosts_one": "Carga fallida en {{failed}} de {{count}} host",
"partialFailureOfHosts_other": "Carga fallida en {{failed}} de {{count}} hosts",
"partialFailureOfHosts_many": "Carga fallida en {{failed}} de {{count}} hosts"
}
},
"agent": {
@@ -17624,8 +17637,12 @@
},
"filtersSection": "Filtros",
"viewSection": "Vista",
"threadListOptionsActive": "Opciones de lista de hilos ({{value0}} activos)",
"activityOptionsActive": "Opciones de actividad ({{value0}})"
"threadListOptionsActiveFilters_one": "Opciones de lista de hilos ({{count}} filtro activo)",
"threadListOptionsActiveFilters_other": "Opciones de lista de hilos ({{count}} filtros activos)",
"threadListOptionsActiveFilters_many": "Opciones de lista de hilos ({{count}} filtros activos)",
"activityOptionsFilterCount_one": "Opciones de actividad ({{count}} filtro)",
"activityOptionsFilterCount_other": "Opciones de actividad ({{count}} filtros)",
"activityOptionsFilterCount_many": "Opciones de actividad ({{count}} filtros)"
},
"ActivityScopeFilterControls": {
"resetScope": "Mostrar todos los hosts y proyectos",
@@ -19858,7 +19875,8 @@
"selectionWithheldCount_many": "{{count}} espacios de trabajo seleccionados están ocultos por los filtros actuales y se han deseleccionado.",
"selectAllSafetyChecked_one": "Seleccionar {{count}} espacio de trabajo con seguridad comprobada",
"selectAllSafetyChecked_other": "Seleccionar todos los {{count}} espacios de trabajo con seguridad comprobada",
"selectAllSafetyChecked_many": "Seleccionar todos los {{count}} espacios de trabajo con seguridad comprobada"
"selectAllSafetyChecked_many": "Seleccionar todos los {{count}} espacios de trabajo con seguridad comprobada",
"lastActive": "Última actividad: {{value0}}"
},
"scan": {
"noWorkspaces": "No se encontraron espacios de trabajo.",
@@ -20939,6 +20957,96 @@
"peerCheckFailed": "Orca no pudo consultar al host WSL si otro Orca en este equipo aún lo usa: {{detail}}",
"removalUnrecorded": "Orca no pudo registrar qué quedó en ejecución tras esta eliminación: {{detail}}"
}
},
"agentSummary": {
"state": {
"waiting": "en espera",
"blocked": "bloqueado",
"interrupted": "interrumpido",
"failed": "fallido",
"working": "trabajando",
"monitoring": "supervisando",
"done": "completado",
"idle": "inactivo",
"notReporting": "sin datos de estado",
"unconfirmed": "sin confirmar",
"needsAttention": "requiere atención"
},
"mixedStates": "{{subject}}: {{states}}",
"agentIdentityState": "{{agent}}: {{status}}",
"agentCount_one": "{{count}} agente",
"agentCount_other": "{{count}} agentes",
"agentCount_many": "{{count}} agentes",
"stateCount": {
"waiting_one": "{{count}} en espera",
"waiting_other": "{{count}} en espera",
"waiting_many": "{{count}} en espera",
"blocked_one": "{{count}} bloqueado",
"blocked_other": "{{count}} bloqueados",
"blocked_many": "{{count}} bloqueados",
"interrupted_one": "{{count}} interrumpido",
"interrupted_other": "{{count}} interrumpidos",
"interrupted_many": "{{count}} interrumpidos",
"failed_one": "{{count}} fallido",
"failed_other": "{{count}} fallidos",
"failed_many": "{{count}} fallidos",
"working_one": "{{count}} trabajando",
"working_other": "{{count}} trabajando",
"working_many": "{{count}} trabajando",
"monitoring_one": "{{count}} supervisando",
"monitoring_other": "{{count}} supervisando",
"monitoring_many": "{{count}} supervisando",
"done_one": "{{count}} completado",
"done_other": "{{count}} completados",
"done_many": "{{count}} completados",
"idle_one": "{{count}} inactivo",
"idle_other": "{{count}} inactivos",
"idle_many": "{{count}} inactivos",
"notReporting_one": "{{count}} sin datos de estado",
"notReporting_other": "{{count}} sin datos de estado",
"notReporting_many": "{{count}} sin datos de estado",
"unconfirmed_one": "{{count}} sin confirmar",
"unconfirmed_other": "{{count}} sin confirmar",
"unconfirmed_many": "{{count}} sin confirmar",
"needsAttention_one": "{{count}} requiere atención",
"needsAttention_other": "{{count}} requieren atención",
"needsAttention_many": "{{count}} requieren atención"
},
"allInState": {
"waiting_one": "{{count}} agente en espera",
"waiting_other": "Todos los {{count}} agentes en espera",
"waiting_many": "Todos los {{count}} agentes en espera",
"blocked_one": "{{count}} agente bloqueado",
"blocked_other": "Todos los {{count}} agentes bloqueados",
"blocked_many": "Todos los {{count}} agentes bloqueados",
"interrupted_one": "{{count}} agente interrumpido",
"interrupted_other": "Todos los {{count}} agentes interrumpidos",
"interrupted_many": "Todos los {{count}} agentes interrumpidos",
"failed_one": "{{count}} agente fallido",
"failed_other": "Todos los {{count}} agentes fallidos",
"failed_many": "Todos los {{count}} agentes fallidos",
"working_one": "{{count}} agente trabajando",
"working_other": "Todos los {{count}} agentes trabajando",
"working_many": "Todos los {{count}} agentes trabajando",
"monitoring_one": "{{count}} agente supervisando",
"monitoring_other": "Todos los {{count}} agentes supervisando",
"monitoring_many": "Todos los {{count}} agentes supervisando",
"done_one": "{{count}} agente ha terminado",
"done_other": "Todos los {{count}} agentes han terminado",
"done_many": "Todos los {{count}} agentes han terminado",
"idle_one": "{{count}} agente inactivo",
"idle_other": "Todos los {{count}} agentes inactivos",
"idle_many": "Todos los {{count}} agentes inactivos",
"notReporting_one": "{{count}} agente sin datos de estado",
"notReporting_other": "Todos los {{count}} agentes sin datos de estado",
"notReporting_many": "Todos los {{count}} agentes sin datos de estado",
"unconfirmed_one": "{{count}} agente sin confirmar",
"unconfirmed_other": "Todos los {{count}} agentes sin confirmar",
"unconfirmed_many": "Todos los {{count}} agentes sin confirmar",
"needsAttention_one": "{{count}} agente requiere atención",
"needsAttention_other": "Todos los {{count}} agentes requieren atención",
"needsAttention_many": "Todos los {{count}} agentes requieren atención"
}
}
},
"rendererRecovery": {
@@ -21364,7 +21472,13 @@
"kimiContinueSessionConflict": "Kimi recibió opciones incompatibles: --continue, --session. Corrige la acción de generación de texto o los argumentos de la CLI antes de volver a intentarlo."
},
"enableSourceControlAi": "Activa Source Control AI en Ajustes -> Git.",
"chooseBaseBranch": "Elige una rama base antes de generar."
"chooseBaseBranch": "Elige una rama base antes de generar.",
"savedCommitRecipeRepo": "Receta de mensajes de commit guardada para este repositorio.",
"savedCommitRecipeGlobal": "Receta de mensajes de commit guardada como valor predeterminado global.",
"savedReviewRecipeRepo": "Receta de revisión alojada guardada para este repositorio.",
"savedReviewRecipeGlobal": "Receta de revisión alojada guardada como valor predeterminado global.",
"savedBranchRecipeRepo": "Receta de nombres de rama guardada para este repositorio.",
"savedBranchRecipeGlobal": "Receta de nombres de rama guardada como valor predeterminado global."
},
"remoteError": {
"submodule": {
@@ -21438,6 +21552,13 @@
"pull": "Pull bloqueado — mueve, elimina o añade primero los archivos sin seguimiento."
},
"authenticationFailed": "Falló la autenticación. Comprueba tus credenciales del remoto."
},
"submodule": {
"worktreeOnlyLabel": "Agregar al stage dentro del submódulo",
"worktreeOnlyTooltip": "El repo principal (incluido Agregar todo al stage) no puede agregar al stage los cambios de archivos dentro de un submódulo",
"loading": "Cargando cambios del submódulo…",
"empty": "No hay cambios en el submódulo",
"loadFailed": "No se pudieron cargar los cambios del submódulo"
}
},
"aiVault": {
@@ -22565,11 +22686,6 @@
}
}
},
"workspaceOptions": {
"activeFilterCount_one": "{{count}} filtro",
"activeFilterCount_other": "{{count}} filtros",
"activeFilterCount_many": "{{count}} filtros"
},
"editorConflicts": {
"kind": {
"addedByUs": "Añadido por nosotros",
@@ -23102,5 +23218,15 @@
"image": "Mascota personalizada",
"bundle": "Bundle de mascota"
}
},
"diffComments": {
"lineRangeMeta": "líneas {{start}}-{{end}}",
"lineMeta": "línea {{line}}"
},
"agentSendTargets": {
"disabledReason": {
"needsPermission": "El agente necesita permiso",
"statusStale": "El estado del agente está desactualizado"
}
}
}
+158 -32
View File
@@ -793,8 +793,10 @@
"clearHosts": "Effacer les hôtes",
"clearProjects": "Effacer les projets",
"back": "Retour",
"ariaActive": "Filtre : {{value0}} actif(s).",
"scopedTo": "Portée :"
"scopedTo": "Portée :",
"ariaActiveCount_one": "Filtre : {{count}} actif.",
"ariaActiveCount_other": "Filtre : {{count}} actifs.",
"ariaActiveCount_many": "Filtre : {{count}} actifs."
},
"taskUrl": {
"loadingHint": "Chargement de {{value0}}…",
@@ -3414,7 +3416,6 @@
"cleanup": {
"WorkspaceCleanupDialog": {
"3828408538": "Supprimer {{value0}}",
"352f15d6fc": "Dernière activité",
"b6bae1eed1": "Annuler",
"38ca0b1400": "Cette opération supprime définitivement leurs fichiers locaux. Vous ne pourrez pas annuler.",
"e97e4580c7": "Modifié",
@@ -4153,7 +4154,9 @@
"f395c9a685": "Échec de l'importation du fichier",
"e6234bcc17": "L'ajout d'un compagnon personnalisé nécessite un redémarrage complet de l'app (pas seulement un rechargement).",
"6d0a8cd179": "Afficher le compagnon",
"1fbc51cc77": "Masquer le compagnon"
"1fbc51cc77": "Masquer le compagnon",
"petFallbackLabel": "Compagnon",
"petHiddenLabel": "{{pet}} (non visible)"
},
"PortsStatusSegment": {
"4ebf90c12e": "Aucun port externe détecté",
@@ -5120,7 +5123,6 @@
"title_one": "{{count}} skills Orca installés ne sont pas à jour",
"title_many": "{{count}} skills Orca installés ne sont pas à jour"
},
"SkillFreshnessRow": {},
"SkillFreshnessUpdateDialog": {
"title": "Mettre à jour les skills",
"checking": "Vérification des skills Orca installés…",
@@ -5157,7 +5159,6 @@
"updateAction_other": "Mettre à jour {{count}} skills",
"updateAction_many": "Mettre à jour {{count}} skills"
},
"SkillUpdateResultRows": {},
"SkillUpdateRow": {
"replaceWithOrca": "Remplacer par la copie d’Orca (conserve une sauvegarde)"
},
@@ -5823,7 +5824,8 @@
"c49fb13492": "Échec de l'ajout du dossier sur cet hôte",
"9a766f33ac": "Ce chemin a été vérifié sur l'hôte SSH.",
"79fd02cf5f": "Ce chemin a été vérifié sur {{hostName}}.",
"8851b77327": "Ce chemin a été vérifié localement."
"8851b77327": "Ce chemin a été vérifié localement.",
"sshConnectionUnavailable": "La connexion SSH « {{connection}} » est introuvable ou n’est pas connectée"
},
"OrcaYamlTrustDialog": {
"f3e2b868fb": "Exécuter les hooks",
@@ -5911,8 +5913,9 @@
"removeDescriptionSsh": "Ceci retire uniquement {{name}} d'Orca. Ses fichiers restent sur {{host}} — rajoutez cet hôte SSH pour le récupérer.",
"removeDescriptionLocal": "Ceci retire uniquement {{name}} d'Orca. Il est toujours sur votre disque.",
"removeDescriptionVmRecipe": "Ceci retire {{name}} d'Orca. Sa recette de VM détermine si l'environnement et ses fichiers sont définitivement supprimés.",
"openTerminalWarningOne": "1 terminal ouvert dans ce projet sera fermé.",
"openTerminalWarningMany": "{{count}} terminaux ouverts dans ce projet seront fermés."
"openTerminalWarning_one": "{{count}} terminal ouvert dans ce projet sera fermé.",
"openTerminalWarning_other": "{{count}} terminaux ouverts dans ce projet seront fermés.",
"openTerminalWarning_many": "{{count}} terminaux ouverts dans ce projet seront fermés."
},
"ScrollToCurrentWorkspaceToolbarButton": {
"23989bb663": "Révéler l'espace de travail actif"
@@ -6023,7 +6026,9 @@
"4815c70605": "Aucun projet ne correspond",
"bbbc6e8e3b": "Aucun projet non sélectionné ne correspond",
"allProjects": "Tous les projets",
"selectedProjectsCount": "{{value0}} projets"
"selectedProjects_one": "{{count}} projet",
"selectedProjects_other": "{{count}} projets",
"selectedProjects_many": "{{count}} projets"
},
"SidebarSettingsHelpMenu": {
"ad3d3ed7f1": "Redémarrer Orca",
@@ -6085,8 +6090,6 @@
"7bada3b1ab": "Trier par",
"dc0bb670bc": "Grouper par",
"9919ae1082": "Options des espaces de travail",
"bc96dbd041": "Options des espaces de travail ({{value0}})",
"optionsActiveLabel": "Options des espaces de travail ({{value0}} actifs)",
"af9249c505": "Activité d'espace de travail la plus récente",
"b451c8b162": "Récents",
"6664282a7b": "Glissez les projets pour les ranger",
@@ -6120,7 +6123,13 @@
"219ebf1961": "Nom de branche",
"folderPathIdentity": "Branche / chemin de dossier",
"cli": "Orca CLI",
"workspaceOptions": "Options de l'espace de travail"
"workspaceOptions": "Options de l'espace de travail",
"optionsActiveFilters_one": "Options de l’espace de travail ({{count}} filtre actif)",
"optionsActiveFilters_other": "Options de l’espace de travail ({{count}} filtres actifs)",
"optionsActiveFilters_many": "Options de l’espace de travail ({{count}} filtres actifs)",
"optionsFilterCount_one": "Options de l’espace de travail ({{count}} filtre)",
"optionsFilterCount_other": "Options de l’espace de travail ({{count}} filtres)",
"optionsFilterCount_many": "Options de l’espace de travail ({{count}} filtres)"
},
"SshTargetRow": {
"4677394048": "Connexion…",
@@ -6191,7 +6200,8 @@
},
"WorktreeCardAgents": {
"1b0a156717": "Agents",
"agentUnavailable": "L'agent n'est pas disponible"
"agentUnavailable": "L'agent n'est pas disponible",
"sendingTarget": "Envoi…"
},
"WorktreeCardMeta": {
"3e65e11cc6": "Métadonnées de l'espace de travail",
@@ -6476,8 +6486,7 @@
"62e71f2d5d": "Créer un espace de travail pour {{value0}}"
}
}
},
"project": {}
}
},
"sleep": {
"worktree": {
@@ -17572,9 +17581,6 @@
"sortedAscending": "{{value0}}, tri croissant",
"sortedDescending": "{{value0}}, tri décroissant"
},
"hostSummary": {
"partialFailure": "{{failed}} des {{total}} hôtes n'ont pas pu être chargés"
},
"emptyState": {
"unknownHost": "cet hôte",
"hostLoading": "Chargement de l'hôte…",
@@ -17689,8 +17695,6 @@
"failed24h": "Échec · 24h",
"successful7d": "Réussi · 7j",
"failed7d": "Échec · 7j",
"historyUnavailableOne": "L'historique d'exécution n'est pas disponible pour 1 automatisation. Les décomptes incluent uniquement l’historique disponible.",
"historyUnavailableMany": "L'historique d'exécution n'est pas disponible pour les automatisations {{count}}. Les décomptes incluent uniquement l’historique disponible.",
"automation": "Automation",
"triggered": "Déclenché",
"trigger": "Déclenchement",
@@ -17699,7 +17703,10 @@
"emptyDescription": "Les exécutions apparaissent ici après le déclenchement d'une automatisation.",
"runs": "Fonctionne",
"local": "Locale",
"remote": "Télécommande"
"remote": "Télécommande",
"historyUnavailable_one": "L’historique d’exécution est indisponible pour {{count}} automatisation. Les décomptes incluent uniquement l’historique disponible.",
"historyUnavailable_other": "L’historique d’exécution est indisponible pour {{count}} automatisations. Les décomptes incluent uniquement l’historique disponible.",
"historyUnavailable_many": "L’historique d’exécution est indisponible pour {{count}} automatisations. Les décomptes incluent uniquement l’historique disponible."
},
"AutomationsPageBreadcrumb": {
"ariaLabel": "Fil d'Ariane des automatisations",
@@ -17771,7 +17778,8 @@
"usage": {
"tokensAndCost_one": "{{tokens}} token · {{cost}}",
"tokensAndCost_other": "{{tokens}} tokens · {{cost}}",
"tokensAndCost_many": "{{tokens}} tokens · {{cost}}"
"tokensAndCost_many": "{{tokens}} tokens · {{cost}}",
"costUnavailable": "n/d"
},
"externalDisplay": {
"sshHost": "Hôte SSH",
@@ -17783,6 +17791,11 @@
"connectSshHost": "Connectez cet hôte SSH avant de gérer les automatisations {{provider}}.",
"cannotManageOnSshHost": "{{provider}} ne peut pas gérer les automatisations sur cet hôte SSH.",
"cannotManageLocally": "{{provider}} ne peut pas gérer les automatisations sur cette machine."
},
"hostSummary": {
"partialFailureOfHosts_one": "Échec du chargement de {{failed}} sur {{count}} hôte",
"partialFailureOfHosts_other": "Échec du chargement de {{failed}} sur {{count}} hôtes",
"partialFailureOfHosts_many": "Échec du chargement de {{failed}} sur {{count}} hôtes"
}
},
"agent": {
@@ -17848,8 +17861,12 @@
"unconfirmed": "Impossible de confirmer",
"permission": "A besoin d'attention"
},
"threadListOptionsActive": "Options de la liste des fils ({{value0}} actifs)",
"activityOptionsActive": "Options d'activité ({{value0}})"
"threadListOptionsActiveFilters_one": "Options de la liste des fils ({{count}} filtre actif)",
"threadListOptionsActiveFilters_other": "Options de la liste des fils ({{count}} filtres actifs)",
"threadListOptionsActiveFilters_many": "Options de la liste des fils ({{count}} filtres actifs)",
"activityOptionsFilterCount_one": "Options d’activité ({{count}} filtre)",
"activityOptionsFilterCount_other": "Options d’activité ({{count}} filtres)",
"activityOptionsFilterCount_many": "Options d’activité ({{count}} filtres)"
},
"ActivityScopeFilterControls": {
"resetScope": "Afficher tous les hôtes et projets",
@@ -20078,7 +20095,8 @@
"selectionWithheldCount_many": "{{count}} espaces de travail sélectionnés sont masqués par les filtres actuels et ont été désélectionnés.",
"selectAllSafetyChecked_one": "Sélectionner {{count}} espace de travail dont la sécurité a été vérifiée",
"selectAllSafetyChecked_other": "Sélectionner tous les {{count}} espaces de travail dont la sécurité a été vérifiée",
"selectAllSafetyChecked_many": "Sélectionner tous les {{count}} espaces de travail dont la sécurité a été vérifiée"
"selectAllSafetyChecked_many": "Sélectionner tous les {{count}} espaces de travail dont la sécurité a été vérifiée",
"lastActive": "Dernière activité : {{value0}}"
},
"scan": {
"progress": "Analyse des espaces de travail ({{value0}}/{{value1}})",
@@ -20697,6 +20715,96 @@
"peerCheckFailed": "Orca n'a pas pu demander à l'hôte WSL si un autre Orca sur cet ordinateur l'utilise encore : {{detail}}",
"removalUnrecorded": "Orca n'a pas pu enregistrer ce qui est resté en cours d'exécution après cette suppression : {{detail}}"
}
},
"agentSummary": {
"state": {
"waiting": "en attente",
"blocked": "bloqué",
"interrupted": "interrompu",
"failed": "échec",
"working": "en cours",
"monitoring": "surveillance",
"done": "terminé",
"idle": "inactif",
"notReporting": "aucun état transmis",
"unconfirmed": "non confirmé",
"needsAttention": "attention requise"
},
"mixedStates": "{{subject}} : {{states}}",
"agentIdentityState": "{{agent}} : {{status}}",
"agentCount_one": "{{count}} agent",
"agentCount_other": "{{count}} agents",
"agentCount_many": "{{count}} agents",
"stateCount": {
"waiting_one": "{{count}} en attente",
"waiting_other": "{{count}} en attente",
"waiting_many": "{{count}} en attente",
"blocked_one": "{{count}} bloqué",
"blocked_other": "{{count}} bloqués",
"blocked_many": "{{count}} bloqués",
"interrupted_one": "{{count}} interrompu",
"interrupted_other": "{{count}} interrompus",
"interrupted_many": "{{count}} interrompus",
"failed_one": "{{count}} en échec",
"failed_other": "{{count}} en échec",
"failed_many": "{{count}} en échec",
"working_one": "{{count}} travaille",
"working_other": "{{count}} travaillent",
"working_many": "{{count}} travaillent",
"monitoring_one": "{{count}} surveille",
"monitoring_other": "{{count}} surveillent",
"monitoring_many": "{{count}} surveillent",
"done_one": "{{count}} terminé",
"done_other": "{{count}} terminés",
"done_many": "{{count}} terminés",
"idle_one": "{{count}} inactif",
"idle_other": "{{count}} inactifs",
"idle_many": "{{count}} inactifs",
"notReporting_one": "{{count}} sans état transmis",
"notReporting_other": "{{count}} sans état transmis",
"notReporting_many": "{{count}} sans état transmis",
"unconfirmed_one": "{{count}} non confirmé",
"unconfirmed_other": "{{count}} non confirmés",
"unconfirmed_many": "{{count}} non confirmés",
"needsAttention_one": "{{count}} requiert votre attention",
"needsAttention_other": "{{count}} requièrent votre attention",
"needsAttention_many": "{{count}} requièrent votre attention"
},
"allInState": {
"waiting_one": "{{count}} agent en attente",
"waiting_other": "Tous les {{count}} agents en attente",
"waiting_many": "Tous les {{count}} agents en attente",
"blocked_one": "{{count}} agent bloqué",
"blocked_other": "Tous les {{count}} agents bloqués",
"blocked_many": "Tous les {{count}} agents bloqués",
"interrupted_one": "{{count}} agent interrompu",
"interrupted_other": "Tous les {{count}} agents interrompus",
"interrupted_many": "Tous les {{count}} agents interrompus",
"failed_one": "{{count}} agent en échec",
"failed_other": "Tous les {{count}} agents en échec",
"failed_many": "Tous les {{count}} agents en échec",
"working_one": "{{count}} agent travaille",
"working_other": "Tous les {{count}} agents travaillent",
"working_many": "Tous les {{count}} agents travaillent",
"monitoring_one": "{{count}} agent surveille",
"monitoring_other": "Tous les {{count}} agents surveillent",
"monitoring_many": "Tous les {{count}} agents surveillent",
"done_one": "{{count}} agent a terminé",
"done_other": "Tous les {{count}} agents ont terminé",
"done_many": "Tous les {{count}} agents ont terminé",
"idle_one": "{{count}} agent inactif",
"idle_other": "Tous les {{count}} agents inactifs",
"idle_many": "Tous les {{count}} agents inactifs",
"notReporting_one": "{{count}} agent sans état transmis",
"notReporting_other": "Tous les {{count}} agents sans état transmis",
"notReporting_many": "Tous les {{count}} agents sans état transmis",
"unconfirmed_one": "{{count}} agent non confirmé",
"unconfirmed_other": "Tous les {{count}} agents non confirmés",
"unconfirmed_many": "Tous les {{count}} agents non confirmés",
"needsAttention_one": "{{count}} agent requiert votre attention",
"needsAttention_other": "Tous les {{count}} agents requièrent votre attention",
"needsAttention_many": "Tous les {{count}} agents requièrent votre attention"
}
}
},
"editor": {
@@ -20917,7 +21025,13 @@
"kimiContinueSessionConflict": "Kimi a reçu des options incompatibles : --continue, --session. Corrigez la recette de génération ou les arguments CLI avant de réessayer."
},
"enableSourceControlAi": "Activez l’IA du contrôle de code source dans Paramètres -> Git.",
"chooseBaseBranch": "Choisissez une branche de base avant de générer."
"chooseBaseBranch": "Choisissez une branche de base avant de générer.",
"savedCommitRecipeRepo": "Recette de message de commit enregistrée pour ce dépôt.",
"savedCommitRecipeGlobal": "Recette de message de commit enregistrée comme valeur par défaut globale.",
"savedReviewRecipeRepo": "Recette de revue hébergée enregistrée pour ce dépôt.",
"savedReviewRecipeGlobal": "Recette de revue hébergée enregistrée comme valeur par défaut globale.",
"savedBranchRecipeRepo": "Recette de nom de branche enregistrée pour ce dépôt.",
"savedBranchRecipeGlobal": "Recette de nom de branche enregistrée comme valeur par défaut globale."
},
"remoteError": {
"submodule": {
@@ -20991,6 +21105,13 @@
"pull": "Pull bloqué — déplacez, supprimez ou ajoutez d'abord les fichiers non suivis."
},
"authenticationFailed": "Échec de l'authentification. Vérifiez vos identifiants d'accès au dépôt distant."
},
"submodule": {
"worktreeOnlyLabel": "Indexer dans le sous-module",
"worktreeOnlyTooltip": "Le dépôt parent (y compris « Tout indexer ») ne peut pas indexer les modifications de fichiers dans un sous-module",
"loading": "Chargement des modifications du sous-module…",
"empty": "Aucune modification dans le sous-module",
"loadFailed": "Impossible de charger les modifications du sous-module"
}
},
"agentsSidebarIntro": {
@@ -22565,11 +22686,6 @@
}
}
},
"workspaceOptions": {
"activeFilterCount_one": "{{count}} filtre",
"activeFilterCount_other": "{{count}} filtres",
"activeFilterCount_many": "{{count}} filtres"
},
"editorConflicts": {
"kind": {
"addedByUs": "Ajouté chez nous",
@@ -23102,5 +23218,15 @@
"image": "Compagnon personnalisé",
"bundle": "Bundle de compagnon"
}
},
"diffComments": {
"lineRangeMeta": "lignes {{start}}-{{end}}",
"lineMeta": "ligne {{line}}"
},
"agentSendTargets": {
"disabledReason": {
"needsPermission": "L’agent a besoin d’une autorisation",
"statusStale": "Le statut de l’agent est obsolète"
}
}
}
+93 -29
View File
@@ -560,8 +560,8 @@
"clearHosts": "ホストをクリア",
"clearProjects": "プロジェクトをクリア",
"back": "戻る",
"ariaActive": "フィルター: {{value0}} 件アクティブ。",
"scopedTo": "スコープ:"
"scopedTo": "スコープ:",
"ariaActiveCount_other": "フィルター:{{count}} 個が有効。"
},
"linearIssue": {
"createLabel": "Linear 課題 {{value0}}: {{value1}} からワークツリーを作成",
@@ -3136,7 +3136,6 @@
"cleanup": {
"WorkspaceCleanupDialog": {
"3828408538": "{{value0}} を削除",
"352f15d6fc": "最終アクティブ",
"b6bae1eed1": "キャンセル",
"38ca0b1400": "これにより、ローカルファイルが完全に削除されます。これを元に戻すことはできません。",
"e97e4580c7": "汚い",
@@ -3865,7 +3864,9 @@
"f395c9a685": "ファイルのインポートに失敗しました",
"e6234bcc17": "カスタムペットのアップロードには、(リロードだけでなく) アプリを完全に再起動する必要があります。",
"6d0a8cd179": "ペットを見せる",
"1fbc51cc77": "ペットを隠す"
"1fbc51cc77": "ペットを隠す",
"petFallbackLabel": "ペット",
"petHiddenLabel": "{{pet}} は非表示"
},
"PortsStatusSegment": {
"4ebf90c12e": "外部ポートが検出されませんでした",
@@ -4821,7 +4822,6 @@
"description": "Agent がこのバージョンの Orca の最新の手順に従うように、{{value0}} を更新してください。",
"title_other": "インストール済みの Orca スキル {{count}} 件が古くなっています"
},
"SkillFreshnessRow": {},
"SkillFreshnessUpdateDialog": {
"title": "スキルを更新",
"checking": "インストール済みの Orca スキルを確認中…",
@@ -4859,7 +4859,6 @@
"updateServer": "サーバーの Orca を更新してください",
"connectHost": "SSH ホストに接続してください"
},
"SkillUpdateResultRows": {},
"SkillUpdateRow": {
"replaceWithOrca": "Orca のコピーに置き換える(バックアップを保持)"
},
@@ -5349,7 +5348,8 @@
"c49fb13492": "このホスト上でのフォルダーの追加に失敗しました",
"9a766f33ac": "このパスは SSH ホストでチェックされました。",
"79fd02cf5f": "このパスは {{hostName}} でチェックされました。",
"8851b77327": "このパスはローカルでチェックされました。"
"8851b77327": "このパスはローカルでチェックされました。",
"sshConnectionUnavailable": "SSH 接続「{{connection}}」が見つからないか、接続されていません"
},
"OrcaYamlTrustDialog": {
"f3e2b868fb": "フックを実行する",
@@ -5433,8 +5433,7 @@
"removeDescriptionSsh": "この操作は {{name}} を Orca から削除するだけです。ファイルは {{host}} に残っており、その SSH ホストを再追加すれば復元できます。",
"removeDescriptionLocal": "この操作は {{name}} を Orca から削除するだけです。ファイルはディスクに残っています。",
"removeDescriptionVmRecipe": "これにより、{{name}} が Orca から削除されます。その VM レシピによって、環境とそのファイルが完全に削除されるかどうかが決まります。",
"openTerminalWarningOne": "このプロジェクトで開いているターミナル 1 個が閉じられます。",
"openTerminalWarningMany": "このプロジェクトで開いているターミナル {{count}} 個が閉じられます。"
"openTerminalWarning_other": "このプロジェクトで開いている {{count}} 個のターミナルが閉じられます。"
},
"ScrollToCurrentWorkspaceToolbarButton": {
"23989bb663": "アクティブなワークスペースを表示する"
@@ -5544,7 +5543,7 @@
"4815c70605": "一致するプロジェクトはありません",
"bbbc6e8e3b": "選択されていないプロジェクトは一致しません",
"allProjects": "すべてのプロジェクト",
"selectedProjectsCount": "{{value0}} 件のプロジェクト"
"selectedProjects_other": "{{count}} 件のプロジェクト"
},
"SidebarSettingsHelpMenu": {
"ad3d3ed7f1": "Orca を再起動",
@@ -5592,8 +5591,6 @@
"7bada3b1ab": "並べ替え",
"dc0bb670bc": "グループ化",
"9919ae1082": "ワークスペースのオプション",
"bc96dbd041": "ワークスペースオプション ({{value0}})",
"optionsActiveLabel": "ワークスペースオプション({{value0}} 件アクティブ)",
"af9249c505": "最新のワークスペースアクティビティ",
"b451c8b162": "最近の",
"6664282a7b": "プロジェクトをドラッグして配置します",
@@ -5634,7 +5631,9 @@
"automation": "オートメーション",
"folderPathIdentity": "ブランチ / フォルダーパス",
"cli": "Orca CLI",
"workspaceOptions": "ワークスペースのオプション"
"workspaceOptions": "ワークスペースのオプション",
"optionsActiveFilters_other": "ワークスペースのオプション({{count}} 個のフィルターが有効)",
"optionsFilterCount_other": "ワークスペースのオプション({{count}} 個のフィルター)"
},
"SshTargetRow": {
"4677394048": "接続中…",
@@ -5703,7 +5702,8 @@
},
"WorktreeCardAgents": {
"1b0a156717": "Agent",
"agentUnavailable": "Agent を利用できません"
"agentUnavailable": "Agent を利用できません",
"sendingTarget": "送信中…"
},
"WorktreeCardMeta": {
"3e65e11cc6": "ワークスペースのメタデータ",
@@ -16610,8 +16610,6 @@
"failed24h": "失敗 · 24時間",
"successful7d": "成功 · 7日間",
"failed7d": "失敗 · 7日間",
"historyUnavailableOne": "1件の自動化で実行履歴を利用できません。カウントには利用可能な履歴のみが含まれます。",
"historyUnavailableMany": "{{count}}件の自動化で実行履歴を利用できません。カウントには利用可能な履歴のみが含まれます。",
"automation": "自動化",
"triggered": "トリガー済み",
"trigger": "トリガー",
@@ -16620,7 +16618,8 @@
"emptyDescription": "自動化がトリガーされると、ここに実行が表示されます。",
"runs": "実行",
"local": "ローカル",
"remote": "リモート"
"remote": "リモート",
"historyUnavailable_other": "{{count}} 件のオートメーションで実行履歴を利用できません。集計には利用可能な履歴のみが含まれます。"
},
"AutomationsPageBreadcrumb": {
"ariaLabel": "自動化のパンくずリスト",
@@ -16984,9 +16983,6 @@
"sortedAscending": "{{value0}}、昇順にソート",
"sortedDescending": "{{value0}}、降順でソート"
},
"hostSummary": {
"partialFailure": "{{total}} ホスト中 {{failed}} をロードできませんでした"
},
"emptyState": {
"unknownHost": "このホスト",
"hostLoading": "ホストを読み込み中…",
@@ -17129,7 +17125,8 @@
"namedWorkspaceGone": "{{name}}(利用できなくなりました)"
},
"usage": {
"tokensAndCost_other": "{{tokens}} トークン · {{cost}}"
"tokensAndCost_other": "{{tokens}} トークン · {{cost}}",
"costUnavailable": "不明"
},
"externalDisplay": {
"sshHost": "SSH ホスト",
@@ -17141,6 +17138,9 @@
"connectSshHost": "{{provider}} のオートメーションを管理する前に、この SSH ホストに接続してください。",
"cannotManageOnSshHost": "{{provider}} はこの SSH ホストでオートメーションを管理できません。",
"cannotManageLocally": "{{provider}} はこのマシンでオートメーションを管理できません。"
},
"hostSummary": {
"partialFailureOfHosts_other": "{{count}} 台中 {{failed}} 台のホストを読み込めませんでした"
}
},
"agent": {
@@ -17206,8 +17206,8 @@
},
"filtersSection": "フィルター",
"viewSection": "表示",
"threadListOptionsActive": "スレッドリストのオプション({{value0}} 件アクティブ)",
"activityOptionsActive": "アクティビティのオプション({{value0}})"
"threadListOptionsActiveFilters_other": "スレッドリストのオプション({{count}} 個のフィルターが有効)",
"activityOptionsFilterCount_other": "アクティビティのオプション({{count}} 個のフィルター)"
},
"ActivityScopeFilterControls": {
"resetScope": "すべてのホストとプロジェクトを表示",
@@ -19335,7 +19335,8 @@
"forceDeleteRisk_other": "現在 {{count}} 件のワークスペースにリスクがあり、強制削除が必要になる可能性があります",
"selectionVanishedCount_other": "選択した {{count}} 件のワークスペースはすでに存在しません。",
"selectionWithheldCount_other": "選択した {{count}} 件のワークスペースは現在のフィルターで非表示になっているため、選択を解除しました。",
"selectAllSafetyChecked_other": "安全性を確認した {{count}} 件のワークスペースをすべて選択"
"selectAllSafetyChecked_other": "安全性を確認した {{count}} 件のワークスペースをすべて選択",
"lastActive": "最終アクティブ:{{value0}}"
},
"scan": {
"progress": "ワークスペースのスキャン ({{value0}}/{{value1}})",
@@ -20036,6 +20037,50 @@
"peerCheckFailed": "Orca は WSL ホストに、このコンピューター上の別の Orca がまだ使用しているかを問い合わせられませんでした: {{detail}}",
"removalUnrecorded": "Orca は、今回の削除後も実行中のものを記録できませんでした: {{detail}}"
}
},
"agentSummary": {
"state": {
"waiting": "待機中",
"blocked": "ブロック中",
"interrupted": "中断",
"failed": "失敗",
"working": "作業中",
"monitoring": "監視中",
"done": "完了",
"idle": "アイドル",
"notReporting": "報告なし",
"unconfirmed": "未確認",
"needsAttention": "対応が必要"
},
"mixedStates": "{{subject}}:{{states}}",
"agentIdentityState": "{{agent}}:{{status}}",
"agentCount_other": "{{count}} 個の Agent",
"stateCount": {
"waiting_other": "{{count}} 個が待機中",
"blocked_other": "{{count}} 個がブロック中",
"interrupted_other": "{{count}} 個が中断",
"failed_other": "{{count}} 個が失敗",
"working_other": "{{count}} 個が作業中",
"monitoring_other": "{{count}} 個が監視中",
"done_other": "{{count}} 個が完了",
"idle_other": "{{count}} 個がアイドル",
"notReporting_other": "{{count}} 個から報告なし",
"unconfirmed_other": "{{count}} 個が未確認",
"needsAttention_other": "{{count}} 個に対応が必要"
},
"allInState": {
"waiting_other": "全 {{count}} 個の Agent が待機中",
"blocked_other": "全 {{count}} 個の Agent がブロック中",
"interrupted_other": "全 {{count}} 個の Agent が中断",
"failed_other": "全 {{count}} 個の Agent が失敗",
"working_other": "全 {{count}} 個の Agent が作業中",
"monitoring_other": "全 {{count}} 個の Agent が監視中",
"done_other": "全 {{count}} 個の Agent が完了",
"idle_other": "全 {{count}} 個の Agent がアイドル",
"notReporting_other": "全 {{count}} 個の Agent から報告なし",
"unconfirmed_other": "全 {{count}} 個の Agent が未確認",
"needsAttention_other": "全 {{count}} 個の Agent に対応が必要"
}
}
},
"editor": {
@@ -20343,7 +20388,13 @@
"kimiContinueSessionConflict": "Kimi に競合するオプションが渡されました:--continue, --session。再試行する前にテキスト生成レシピまたは CLI 引数を修正してください。"
},
"enableSourceControlAi": "設定 -> Git でソース管理 AI を有効にしてください。",
"chooseBaseBranch": "生成する前にベースブランチを選択してください。"
"chooseBaseBranch": "生成する前にベースブランチを選択してください。",
"savedCommitRecipeRepo": "このリポジトリのコミットメッセージレシピを保存しました。",
"savedCommitRecipeGlobal": "コミットメッセージレシピをグローバルの既定値として保存しました。",
"savedReviewRecipeRepo": "このリポジトリのホスト型レビューレシピを保存しました。",
"savedReviewRecipeGlobal": "ホスト型レビューレシピをグローバルの既定値として保存しました。",
"savedBranchRecipeRepo": "このリポジトリのブランチ名レシピを保存しました。",
"savedBranchRecipeGlobal": "ブランチ名レシピをグローバルの既定値として保存しました。"
},
"remoteError": {
"submodule": {
@@ -20417,6 +20468,13 @@
"pull": "プルがブロックされました — 先に未追跡ファイルを移動、削除、または追加してください。"
},
"authenticationFailed": "認証に失敗しました。リモートの認証情報を確認してください。"
},
"submodule": {
"worktreeOnlyLabel": "サブモジュール内でステージ",
"worktreeOnlyTooltip": "親リポジトリ(「すべてステージ」を含む)からは、サブモジュール内のファイル変更をステージできません",
"loading": "サブモジュールの変更を読み込み中…",
"empty": "サブモジュールに変更はありません",
"loadFailed": "サブモジュールの変更を読み込めませんでした"
}
},
"rendererRecovery": {
@@ -21943,10 +22001,6 @@
}
}
},
"workspaceOptions": {
"activeFilterCount_one": "{{count}} 件のフィルター",
"activeFilterCount_other": "{{count}} 件のフィルター"
},
"editorConflicts": {
"kind": {
"addedByUs": "こちらで追加",
@@ -22476,5 +22530,15 @@
"image": "カスタムペット",
"bundle": "ペットバンドル"
}
},
"diffComments": {
"lineRangeMeta": "{{start}}-{{end}} 行目",
"lineMeta": "{{line}} 行目"
},
"agentSendTargets": {
"disabledReason": {
"needsPermission": "Agent に許可が必要です",
"statusStale": "Agent のステータスが古くなっています"
}
}
}
+93 -29
View File
@@ -560,8 +560,8 @@
"clearHosts": "호스트 지우기",
"clearProjects": "프로젝트 지우기",
"back": "뒤로",
"ariaActive": "필터: {{value0}}개 활성.",
"scopedTo": "범위:"
"scopedTo": "범위:",
"ariaActiveCount_other": "필터: {{count}}개 활성."
},
"linearIssue": {
"createLabel": "Linear 문제 {{value0}}: {{value1}}에서 작업 트리 만들기",
@@ -3136,7 +3136,6 @@
"cleanup": {
"WorkspaceCleanupDialog": {
"3828408538": "{{value0}} 제거",
"352f15d6fc": "마지막 활동",
"b6bae1eed1": "취소",
"38ca0b1400": "그러면 로컬 파일이 영구적으로 삭제됩니다. 이 작업은 취소할 수 없습니다.",
"e97e4580c7": "변경 있음",
@@ -3865,7 +3864,9 @@
"f395c9a685": "파일을 가져오지 못했습니다.",
"e6234bcc17": "맞춤 애완동물 업로드에는 앱 전체를 다시 시작해야 합니다(단순히 다시 로드하는 것이 아님).",
"6d0a8cd179": "애완동물 표시",
"1fbc51cc77": "애완동물 숨기기"
"1fbc51cc77": "애완동물 숨기기",
"petFallbackLabel": "애완 동물",
"petHiddenLabel": "{{pet}} 숨김"
},
"PortsStatusSegment": {
"4ebf90c12e": "외부 포트가 감지되지 않았습니다.",
@@ -4821,7 +4822,6 @@
"description": "Agents가 이 버전의 Orca에 대한 최신 지침을 따르도록 {{value0}}을(를) 업데이트하세요.",
"title_other": "설치된 Orca 스킬 {{count}}개가 최신 상태가 아닙니다"
},
"SkillFreshnessRow": {},
"SkillFreshnessUpdateDialog": {
"title": "스킬 업데이트",
"checking": "설치된 Orca 스킬을 확인하는 중…",
@@ -4859,7 +4859,6 @@
"updateServer": "서버의 Orca 업데이트 필요",
"connectHost": "SSH 호스트 연결 필요"
},
"SkillUpdateResultRows": {},
"SkillUpdateRow": {
"replaceWithOrca": "Orca 사본으로 교체(백업 보관)"
},
@@ -5349,7 +5348,8 @@
"c49fb13492": "이 호스트에 폴더를 추가하지 못했습니다.",
"9a766f33ac": "이 경로는 SSH 호스트에서 확인되었습니다.",
"79fd02cf5f": "이 경로는 {{hostName}}에서 확인되었습니다.",
"8851b77327": "이 경로는 로컬에서 확인되었습니다."
"8851b77327": "이 경로는 로컬에서 확인되었습니다.",
"sshConnectionUnavailable": "\"{{connection}}\" SSH 연결을 찾을 수 없거나 연결되지 않았습니다"
},
"OrcaYamlTrustDialog": {
"f3e2b868fb": "후크 실행",
@@ -5433,8 +5433,7 @@
"removeDescriptionSsh": "이 작업은 {{name}}을(를) Orca에서 제거만 합니다. 파일은 {{host}}에 그대로 남아 있으며, 해당 SSH 호스트를 다시 추가하면 복구할 수 있습니다.",
"removeDescriptionLocal": "이 작업은 {{name}}을(를) Orca에서 제거만 합니다. 파일은 디스크에 그대로 남아 있습니다.",
"removeDescriptionVmRecipe": "이렇게 하면 Orca에서 {{name}}이(가) 제거됩니다. 해당 VM 레시피에 따라 환경과 해당 파일이 영구적으로 삭제되는지 여부가 결정됩니다.",
"openTerminalWarningOne": "이 프로젝트에서 열려 있는 터미널 1개가 닫힙니다.",
"openTerminalWarningMany": "이 프로젝트에서 열려 있는 터미널 {{count}}개가 닫힙니다."
"openTerminalWarning_other": "이 프로젝트에서 열려 있는 터미널 {{count}}개가 닫힙니다."
},
"ScrollToCurrentWorkspaceToolbarButton": {
"23989bb663": "활성 워크스페이스로 이동"
@@ -5544,7 +5543,7 @@
"4815c70605": "일치하는 프로젝트가 없습니다.",
"bbbc6e8e3b": "선택되지 않은 일치하는 프로젝트가 없습니다.",
"allProjects": "모든 프로젝트",
"selectedProjectsCount": "프로젝트 {{value0}}개"
"selectedProjects_other": "프로젝트 {{count}}개"
},
"SidebarSettingsHelpMenu": {
"ad3d3ed7f1": "Orca 재시작",
@@ -5592,8 +5591,6 @@
"7bada3b1ab": "정렬 기준",
"dc0bb670bc": "그룹화 기준",
"9919ae1082": "워크스페이스 옵션",
"bc96dbd041": "워크스페이스 옵션({{value0}})",
"optionsActiveLabel": "워크스페이스 옵션 ({{value0}} 활성)",
"af9249c505": "가장 최근의 워크스페이스 활동",
"b451c8b162": "최근",
"6664282a7b": "프로젝트를 드래그하여 정렬하세요.",
@@ -5634,7 +5631,9 @@
"automation": "자동화",
"folderPathIdentity": "브랜치 / 폴더 경로",
"cli": "Orca CLI",
"workspaceOptions": "워크스페이스 옵션"
"workspaceOptions": "워크스페이스 옵션",
"optionsActiveFilters_other": "워크스페이스 옵션(필터 {{count}}개 활성)",
"optionsFilterCount_other": "워크스페이스 옵션(필터 {{count}}개)"
},
"SshTargetRow": {
"4677394048": "연결 중…",
@@ -5703,7 +5702,8 @@
},
"WorktreeCardAgents": {
"1b0a156717": "에이전트",
"agentUnavailable": "에이전트를 사용할 수 없습니다"
"agentUnavailable": "에이전트를 사용할 수 없습니다",
"sendingTarget": "전송 중..."
},
"WorktreeCardMeta": {
"3e65e11cc6": "워크스페이스 메타데이터",
@@ -16610,8 +16610,6 @@
"failed24h": "실패 · 24시간",
"successful7d": "성공 · 7일",
"failed7d": "실패 · 7일",
"historyUnavailableOne": "자동화 1개의 실행 기록을 사용할 수 없습니다. 집계에는 사용 가능한 기록만 포함됩니다.",
"historyUnavailableMany": "자동화 {{count}}개의 실행 기록을 사용할 수 없습니다. 집계에는 사용 가능한 기록만 포함됩니다.",
"automation": "자동화",
"triggered": "트리거됨",
"trigger": "트리거",
@@ -16620,7 +16618,8 @@
"emptyDescription": "자동화를 트리거하면 여기에 실행이 표시됩니다.",
"runs": "실행",
"local": "로컬",
"remote": "원격"
"remote": "원격",
"historyUnavailable_other": "자동화 {{count}}개의 실행 기록을 사용할 수 없습니다. 집계에는 사용 가능한 기록만 포함됩니다."
},
"AutomationsPageBreadcrumb": {
"ariaLabel": "자동화 탐색경로",
@@ -16984,9 +16983,6 @@
"sortedAscending": "{{value0}}, 오름차순 정렬",
"sortedDescending": "{{value0}}, 내림차순으로 정렬"
},
"hostSummary": {
"partialFailure": "{{total}} 호스트 중 {{failed}}을(를) 로드할 수 없습니다."
},
"emptyState": {
"unknownHost": "이 호스트",
"hostLoading": "호스트 로드 중…",
@@ -17129,7 +17125,8 @@
"namedWorkspaceGone": "{{name}} (더 이상 사용할 수 없음)"
},
"usage": {
"tokensAndCost_other": "{{tokens}} 토큰 · {{cost}}"
"tokensAndCost_other": "{{tokens}} 토큰 · {{cost}}",
"costUnavailable": "알 수 없음"
},
"externalDisplay": {
"sshHost": "SSH 호스트",
@@ -17141,6 +17138,9 @@
"connectSshHost": "{{provider}} 자동화를 관리하기 전에 이 SSH 호스트에 연결하세요.",
"cannotManageOnSshHost": "{{provider}}에서 이 SSH 호스트의 자동화를 관리할 수 없습니다.",
"cannotManageLocally": "{{provider}}에서 이 컴퓨터의 자동화를 관리할 수 없습니다."
},
"hostSummary": {
"partialFailureOfHosts_other": "호스트 {{count}}개 중 {{failed}}개를 불러오지 못했습니다"
}
},
"agent": {
@@ -17206,8 +17206,8 @@
},
"filtersSection": "필터",
"viewSection": "보기",
"threadListOptionsActive": "스레드 목록 옵션 ({{value0}} 활성)",
"activityOptionsActive": "활동 옵션 ({{value0}})"
"threadListOptionsActiveFilters_other": "스레드 목록 옵션(필터 {{count}}개 활성)",
"activityOptionsFilterCount_other": "활동 옵션(필터 {{count}}개)"
},
"ActivityScopeFilterControls": {
"resetScope": "모든 호스트 및 프로젝트 표시",
@@ -19328,7 +19328,8 @@
"forceDeleteRisk_other": "현재 워크스페이스 {{count}}개에 위험 요소가 있으며 강제 삭제가 필요할 수 있음",
"selectionVanishedCount_other": "선택한 워크스페이스 {{count}}개가 더 이상 존재하지 않습니다.",
"selectionWithheldCount_other": "선택한 워크스페이스 {{count}}개가 현재 필터에 의해 숨겨져 선택 해제되었습니다.",
"selectAllSafetyChecked_other": "안전성 검사를 마친 워크스페이스 {{count}}개 모두 선택"
"selectAllSafetyChecked_other": "안전성 검사를 마친 워크스페이스 {{count}}개 모두 선택",
"lastActive": "마지막 활동: {{value0}}"
},
"scan": {
"progress": "워크스페이스 스캔 중({{value0}}/{{value1}})",
@@ -20036,6 +20037,50 @@
"peerCheckFailed": "Orca가 WSL 호스트에 이 컴퓨터의 다른 Orca가 아직 사용 중인지 확인을 요청하지 못했습니다: {{detail}}",
"removalUnrecorded": "Orca가 이번 제거 후에도 계속 실행 중인 항목을 기록하지 못했습니다: {{detail}}"
}
},
"agentSummary": {
"state": {
"waiting": "대기 중",
"blocked": "차단됨",
"interrupted": "중단됨",
"failed": "실패",
"working": "작업 중",
"monitoring": "모니터링 중",
"done": "완료",
"idle": "유휴",
"notReporting": "보고 없음",
"unconfirmed": "미확인",
"needsAttention": "확인 필요"
},
"mixedStates": "{{subject}}: {{states}}",
"agentIdentityState": "{{agent}} {{status}}",
"agentCount_other": "에이전트 {{count}}개",
"stateCount": {
"waiting_other": "{{count}}개 대기 중",
"blocked_other": "{{count}}개 차단됨",
"interrupted_other": "{{count}}개 중단됨",
"failed_other": "{{count}}개 실패",
"working_other": "{{count}}개 작업 중",
"monitoring_other": "{{count}}개 모니터링 중",
"done_other": "{{count}}개 완료",
"idle_other": "{{count}}개 유휴",
"notReporting_other": "{{count}}개 보고 없음",
"unconfirmed_other": "{{count}}개 미확인",
"needsAttention_other": "{{count}}개 확인 필요"
},
"allInState": {
"waiting_other": "에이전트 {{count}}개 모두 대기 중",
"blocked_other": "에이전트 {{count}}개 모두 차단됨",
"interrupted_other": "에이전트 {{count}}개 모두 중단됨",
"failed_other": "에이전트 {{count}}개 모두 실패",
"working_other": "에이전트 {{count}}개 모두 작업 중",
"monitoring_other": "에이전트 {{count}}개 모두 모니터링 중",
"done_other": "에이전트 {{count}}개 모두 완료",
"idle_other": "에이전트 {{count}}개 모두 유휴",
"notReporting_other": "에이전트 {{count}}개 모두 보고 없음",
"unconfirmed_other": "에이전트 {{count}}개 모두 미확인",
"needsAttention_other": "에이전트 {{count}}개 모두 확인 필요"
}
}
},
"editor": {
@@ -20343,7 +20388,13 @@
"kimiContinueSessionConflict": "Kimi가 충돌하는 옵션을 받았습니다: --continue, --session. 다시 시도하기 전에 텍스트 생성 레시피 또는 CLI 인수를 수정하세요."
},
"enableSourceControlAi": "설정 -> Git에서 소스 제어 AI를 활성화하세요.",
"chooseBaseBranch": "생성하기 전에 기준 브랜치를 선택하세요."
"chooseBaseBranch": "생성하기 전에 기준 브랜치를 선택하세요.",
"savedCommitRecipeRepo": "이 저장소의 커밋 메시지 레시피를 저장했습니다.",
"savedCommitRecipeGlobal": "커밋 메시지 레시피를 전역 기본값으로 저장했습니다.",
"savedReviewRecipeRepo": "이 저장소의 호스팅 리뷰 레시피를 저장했습니다.",
"savedReviewRecipeGlobal": "호스팅 리뷰 레시피를 전역 기본값으로 저장했습니다.",
"savedBranchRecipeRepo": "이 저장소의 브랜치 이름 레시피를 저장했습니다.",
"savedBranchRecipeGlobal": "브랜치 이름 레시피를 전역 기본값으로 저장했습니다."
},
"remoteError": {
"submodule": {
@@ -20417,6 +20468,13 @@
"pull": "풀 차단됨 — 먼저 추적되지 않은 파일을 이동, 제거 또는 추가하세요."
},
"authenticationFailed": "인증에 실패했습니다. 원격 인증 정보를 확인하세요."
},
"submodule": {
"worktreeOnlyLabel": "하위 모듈 내에서 스테이징",
"worktreeOnlyTooltip": "상위 저장소(모두 스테이지 포함)에서는 하위 모듈 내 파일 변경 사항을 스테이징할 수 없습니다",
"loading": "하위 모듈 변경 사항을 불러오는 중…",
"empty": "하위 모듈에 변경 사항 없음",
"loadFailed": "하위 모듈 변경 사항을 불러오지 못했습니다"
}
},
"rendererRecovery": {
@@ -21943,10 +22001,6 @@
}
}
},
"workspaceOptions": {
"activeFilterCount_one": "필터 {{count}}개",
"activeFilterCount_other": "필터 {{count}}개"
},
"editorConflicts": {
"kind": {
"addedByUs": "우리 쪽에서 추가됨",
@@ -22476,5 +22530,15 @@
"image": "사용자 정의 애완동물",
"bundle": "애완동물 번들"
}
},
"diffComments": {
"lineRangeMeta": "{{start}}-{{end}}행",
"lineMeta": "{{line}}행"
},
"agentSendTargets": {
"disabledReason": {
"needsPermission": "에이전트에 권한이 필요합니다",
"statusStale": "에이전트 상태 정보가 오래되었습니다"
}
}
}
+157 -30
View File
@@ -200,7 +200,13 @@
"kimiContinueSessionConflict": "Kimi recebeu opções conflitantes: --continue, --session. Corrija a receita de geração de texto ou os argumentos da CLI antes de tentar novamente."
},
"enableSourceControlAi": "Ative a IA de Controle de Versão em Configurações -> Git.",
"chooseBaseBranch": "Escolha uma branch base antes de gerar."
"chooseBaseBranch": "Escolha uma branch base antes de gerar.",
"savedCommitRecipeRepo": "Receita de mensagem de commit salva para este repositório.",
"savedCommitRecipeGlobal": "Receita de mensagem de commit salva como padrão global.",
"savedReviewRecipeRepo": "Receita de revisão hospedada salva para este repositório.",
"savedReviewRecipeGlobal": "Receita de revisão hospedada salva como padrão global.",
"savedBranchRecipeRepo": "Receita de nome de branch salva para este repositório.",
"savedBranchRecipeGlobal": "Receita de nome de branch salva como padrão global."
},
"remoteError": {
"submodule": {
@@ -274,6 +280,13 @@
"pull": "Pull bloqueado — mova, remova ou adicione os arquivos não rastreados primeiro."
},
"authenticationFailed": "Falha na autenticação. Verifique suas credenciais de acesso ao remoto."
},
"submodule": {
"worktreeOnlyLabel": "Adicionar ao stage dentro do submódulo",
"worktreeOnlyTooltip": "O repo pai (incluindo Adicionar tudo ao stage) não pode adicionar ao stage alterações de arquivos dentro de um submódulo",
"loading": "Carregando alterações do submódulo…",
"empty": "Nenhuma alteração no submódulo",
"loadFailed": "Não foi possível carregar as alterações do submódulo"
}
},
"githubChecks": {
@@ -479,6 +492,96 @@
"peerCheckFailed": "O Orca não conseguiu consultar o host WSL para saber se outro Orca neste computador ainda o usa: {{detail}}",
"removalUnrecorded": "O Orca não conseguiu registrar o que continuou em execução após esta remoção: {{detail}}"
}
},
"agentSummary": {
"state": {
"waiting": "aguardando",
"blocked": "bloqueado",
"interrupted": "interrompido",
"failed": "falhou",
"working": "trabalhando",
"monitoring": "monitorando",
"done": "concluído",
"idle": "ocioso",
"notReporting": "sem informar o status",
"unconfirmed": "não confirmado",
"needsAttention": "precisa de atenção"
},
"mixedStates": "{{subject}}: {{states}}",
"agentIdentityState": "{{agent}}: {{status}}",
"agentCount_one": "{{count}} agente",
"agentCount_other": "{{count}} agentes",
"agentCount_many": "{{count}} agentes",
"stateCount": {
"waiting_one": "{{count}} aguardando",
"waiting_other": "{{count}} aguardando",
"waiting_many": "{{count}} aguardando",
"blocked_one": "{{count}} bloqueado",
"blocked_other": "{{count}} bloqueados",
"blocked_many": "{{count}} bloqueados",
"interrupted_one": "{{count}} interrompido",
"interrupted_other": "{{count}} interrompidos",
"interrupted_many": "{{count}} interrompidos",
"failed_one": "{{count}} falhou",
"failed_other": "{{count}} falharam",
"failed_many": "{{count}} falharam",
"working_one": "{{count}} trabalhando",
"working_other": "{{count}} trabalhando",
"working_many": "{{count}} trabalhando",
"monitoring_one": "{{count}} monitorando",
"monitoring_other": "{{count}} monitorando",
"monitoring_many": "{{count}} monitorando",
"done_one": "{{count}} concluído",
"done_other": "{{count}} concluídos",
"done_many": "{{count}} concluídos",
"idle_one": "{{count}} ocioso",
"idle_other": "{{count}} ociosos",
"idle_many": "{{count}} ociosos",
"notReporting_one": "{{count}} sem informar o status",
"notReporting_other": "{{count}} sem informar o status",
"notReporting_many": "{{count}} sem informar o status",
"unconfirmed_one": "{{count}} não confirmado",
"unconfirmed_other": "{{count}} não confirmados",
"unconfirmed_many": "{{count}} não confirmados",
"needsAttention_one": "{{count}} precisa de atenção",
"needsAttention_other": "{{count}} precisam de atenção",
"needsAttention_many": "{{count}} precisam de atenção"
},
"allInState": {
"waiting_one": "{{count}} agente aguardando",
"waiting_other": "Todos os {{count}} agentes aguardando",
"waiting_many": "Todos os {{count}} agentes aguardando",
"blocked_one": "{{count}} agente bloqueado",
"blocked_other": "Todos os {{count}} agentes bloqueados",
"blocked_many": "Todos os {{count}} agentes bloqueados",
"interrupted_one": "{{count}} agente interrompido",
"interrupted_other": "Todos os {{count}} agentes interrompidos",
"interrupted_many": "Todos os {{count}} agentes interrompidos",
"failed_one": "{{count}} agente falhou",
"failed_other": "Todos os {{count}} agentes falharam",
"failed_many": "Todos os {{count}} agentes falharam",
"working_one": "{{count}} agente trabalhando",
"working_other": "Todos os {{count}} agentes trabalhando",
"working_many": "Todos os {{count}} agentes trabalhando",
"monitoring_one": "{{count}} agente monitorando",
"monitoring_other": "Todos os {{count}} agentes monitorando",
"monitoring_many": "Todos os {{count}} agentes monitorando",
"done_one": "{{count}} agente concluiu o trabalho",
"done_other": "Todos os {{count}} agentes concluíram o trabalho",
"done_many": "Todos os {{count}} agentes concluíram o trabalho",
"idle_one": "{{count}} agente ocioso",
"idle_other": "Todos os {{count}} agentes ociosos",
"idle_many": "Todos os {{count}} agentes ociosos",
"notReporting_one": "{{count}} agente sem informar o status",
"notReporting_other": "Todos os {{count}} agentes sem informar o status",
"notReporting_many": "Todos os {{count}} agentes sem informar o status",
"unconfirmed_one": "{{count}} agente não confirmado",
"unconfirmed_other": "Todos os {{count}} agentes não confirmados",
"unconfirmed_many": "Todos os {{count}} agentes não confirmados",
"needsAttention_one": "{{count}} agente precisa de atenção",
"needsAttention_other": "Todos os {{count}} agentes precisam de atenção",
"needsAttention_many": "Todos os {{count}} agentes precisam de atenção"
}
}
},
"tray": {
@@ -795,8 +898,10 @@
"clearHosts": "Limpar hosts",
"clearProjects": "Limpar projetos",
"back": "Voltar",
"ariaActive": "Filtro: {{value0}} ativo(s).",
"scopedTo": "Limitado a"
"scopedTo": "Limitado a",
"ariaActiveCount_one": "Filtro: {{count}} ativo.",
"ariaActiveCount_other": "Filtro: {{count}} ativos.",
"ariaActiveCount_many": "Filtro: {{count}} ativos."
},
"taskUrl": {
"loadingHint": "Carregando {{value0}}…",
@@ -2795,7 +2900,9 @@
"f395c9a685": "Falha ao importar o arquivo",
"e6234bcc17": "O envio de bichinho personalizado exige reiniciar todo o aplicativo (não apenas recarregar).",
"6d0a8cd179": "Mostrar bichinho",
"1fbc51cc77": "Ocultar bichinho"
"1fbc51cc77": "Ocultar bichinho",
"petFallbackLabel": "Bichinho",
"petHiddenLabel": "{{pet}} (não visível)"
},
"PortsStatusSegment": {
"4ebf90c12e": "Nenhuma porta externa detectada",
@@ -10882,8 +10989,6 @@
"7bada3b1ab": "Ordenar por",
"dc0bb670bc": "Agrupar por",
"9919ae1082": "Opções do espaço de trabalho",
"bc96dbd041": "Opções do espaço de trabalho ({{value0}})",
"optionsActiveLabel": "Opções do espaço de trabalho ({{value0}} ativas)",
"af9249c505": "Atividade mais recente do espaço de trabalho",
"b451c8b162": "Recente",
"6664282a7b": "Arraste os projetos para organizá-los",
@@ -10917,7 +11022,13 @@
"folderPathIdentity": "Branch / caminho da pasta",
"cli": "CLI do Orca",
"workspaceOptions": "Opções do espaço de trabalho",
"host": "Host"
"host": "Host",
"optionsActiveFilters_one": "Opções do espaço de trabalho ({{count}} filtro ativo)",
"optionsActiveFilters_other": "Opções do espaço de trabalho ({{count}} filtros ativos)",
"optionsActiveFilters_many": "Opções do espaço de trabalho ({{count}} filtros ativos)",
"optionsFilterCount_one": "Opções do espaço de trabalho ({{count}} filtro)",
"optionsFilterCount_other": "Opções do espaço de trabalho ({{count}} filtros)",
"optionsFilterCount_many": "Opções do espaço de trabalho ({{count}} filtros)"
},
"WorktreeList": {
"7a8b9c0d1e": "Atualização necessária",
@@ -11601,7 +11712,9 @@
"4815c70605": "Nenhum projeto corresponde",
"bbbc6e8e3b": "Nenhum projeto não selecionado corresponde",
"allProjects": "Todos os projetos",
"selectedProjectsCount": "{{value0}} projetos"
"selectedProjects_one": "{{count}} projeto",
"selectedProjects_other": "{{count}} projetos",
"selectedProjects_many": "{{count}} projetos"
},
"SidebarWorkspaceFilterSection": {
"c3fa13dc2e": "Ocultar branch padrão",
@@ -11786,7 +11899,8 @@
"c49fb13492": "Falha ao adicionar a pasta neste host",
"9a766f33ac": "Este caminho foi verificado no host SSH.",
"79fd02cf5f": "Este caminho foi verificado em {{hostName}}.",
"8851b77327": "Este caminho foi verificado localmente."
"8851b77327": "Este caminho foi verificado localmente.",
"sshConnectionUnavailable": "A conexão SSH \"{{connection}}\" não foi encontrada ou não está conectada"
},
"RemoteFileBrowser": {
"2300612806": "Digite para filtrar ou informe um caminho…",
@@ -11832,8 +11946,9 @@
"removeDescriptionSsh": "Isso remove {{name}} apenas do Orca. Seus arquivos permanecem em {{host}} — adicione novamente esse host SSH para recuperá-lo.",
"removeDescriptionLocal": "Isso remove {{name}} apenas do Orca. Ele ainda está no seu disco.",
"removeDescriptionVmRecipe": "Isso remove {{name}} do Orca. A receita de VM determina se o ambiente e seus arquivos são excluídos permanentemente.",
"openTerminalWarningOne": "1 terminal aberto neste projeto será fechado.",
"openTerminalWarningMany": "{{count}} terminais abertos neste projeto serão fechados."
"openTerminalWarning_one": "{{count}} terminal aberto neste projeto será fechado.",
"openTerminalWarning_other": "{{count}} terminais abertos neste projeto serão fechados.",
"openTerminalWarning_many": "{{count}} terminais abertos neste projeto serão fechados."
},
"WorktreeCardMetadataStatusBadges": {
"fe188062a1": "Estado: Aberto",
@@ -12117,7 +12232,8 @@
},
"WorktreeCardAgents": {
"1b0a156717": "Agentes",
"agentUnavailable": "O agente não está disponível"
"agentUnavailable": "O agente não está disponível",
"sendingTarget": "Enviando..."
},
"CacheTimer": {
"expiredTooltip": "A próxima mensagem reenviará todo o contexto como tokens sem cache",
@@ -13253,7 +13369,6 @@
"updateAction_other": "Atualizar {{count}} skills",
"updateAction_many": "Atualizar {{count}} skills"
},
"SkillFreshnessRow": {},
"SkillShareReviewContent": {
"6d6233a3a4": "Copiar link",
"0142581727": "Enviando…",
@@ -13580,7 +13695,6 @@
"loading": "Carregando links compartilhados…",
"noMatches": "Nenhum link corresponde a esta busca."
},
"SkillUpdateResultRows": {},
"skill-install-progress-state": {
"currentSkill": "Instalando {{value0}} de {{value1}}: {{value2}}…"
},
@@ -13871,8 +13985,6 @@
"failed24h": "Com falha · 24h",
"successful7d": "Bem-sucedidas · 7d",
"failed7d": "Com falha · 7d",
"historyUnavailableOne": "O histórico de execução não está disponível para 1 automação. As contagens incluem apenas o histórico disponível.",
"historyUnavailableMany": "O histórico de execução não está disponível para {{count}} automações. As contagens incluem apenas o histórico disponível.",
"automation": "Automação",
"triggered": "Acionada",
"trigger": "Acionador",
@@ -13881,7 +13993,10 @@
"emptyDescription": "As execuções aparecem aqui depois que uma automação é acionada.",
"runs": "Execuções",
"local": "Local",
"remote": "Remoto"
"remote": "Remoto",
"historyUnavailable_one": "O histórico de execuções está indisponível para {{count}} automação. As contagens incluem apenas o histórico disponível.",
"historyUnavailable_other": "O histórico de execuções está indisponível para {{count}} automações. As contagens incluem apenas o histórico disponível.",
"historyUnavailable_many": "O histórico de execuções está indisponível para {{count}} automações. As contagens incluem apenas o histórico disponível."
},
"AutomationEditorDialog": {
"fb1896a5e7": "Cancelar",
@@ -14106,9 +14221,6 @@
"AutomationListLocalRows": {
"c92c9463c6": "Ações da automação"
},
"hostSummary": {
"partialFailure": "{{failed}} de {{total}} hosts não puderam ser carregados"
},
"ownerConflict": {
"dismiss": "Descartar"
},
@@ -14187,7 +14299,8 @@
"usage": {
"tokensAndCost_one": "{{tokens}} token · {{cost}}",
"tokensAndCost_other": "{{tokens}} tokens · {{cost}}",
"tokensAndCost_many": "{{tokens}} tokens · {{cost}}"
"tokensAndCost_many": "{{tokens}} tokens · {{cost}}",
"costUnavailable": "n/d"
},
"externalDisplay": {
"sshHost": "Host SSH",
@@ -14199,6 +14312,11 @@
"connectSshHost": "Conecte este host SSH antes de gerenciar automações de {{provider}}.",
"cannotManageOnSshHost": "{{provider}} não pode gerenciar automações neste host SSH.",
"cannotManageLocally": "{{provider}} não pode gerenciar automações nesta máquina."
},
"hostSummary": {
"partialFailureOfHosts_one": "Falha ao carregar {{failed}} de {{count}} host",
"partialFailureOfHosts_other": "Falha ao carregar {{failed}} de {{count}} hosts",
"partialFailureOfHosts_many": "Falha ao carregar {{failed}} de {{count}} hosts"
}
},
"TaskPage": {
@@ -16978,7 +17096,6 @@
"cleanup": {
"WorkspaceCleanupDialog": {
"3828408538": "Remover {{value0}}",
"352f15d6fc": "Última atividade",
"b6bae1eed1": "Cancelar",
"38ca0b1400": "Isso exclui permanentemente seus arquivos locais. Você não pode desfazer isso.",
"e97e4580c7": "Sujo",
@@ -17546,8 +17663,12 @@
},
"filtersSection": "Filtros",
"viewSection": "Visualização",
"threadListOptionsActive": "Opções da lista de conversas ({{value0}} ativas)",
"activityOptionsActive": "Opções de atividade ({{value0}})"
"threadListOptionsActiveFilters_one": "Opções da lista de threads ({{count}} filtro ativo)",
"threadListOptionsActiveFilters_other": "Opções da lista de threads ({{count}} filtros ativos)",
"threadListOptionsActiveFilters_many": "Opções da lista de threads ({{count}} filtros ativos)",
"activityOptionsFilterCount_one": "Opções de atividade ({{count}} filtro)",
"activityOptionsFilterCount_other": "Opções de atividade ({{count}} filtros)",
"activityOptionsFilterCount_many": "Opções de atividade ({{count}} filtros)"
},
"clearCompleted": {
"undo": "Desfazer",
@@ -20692,7 +20813,8 @@
"selectionWithheldCount_many": "{{count}} espaços de trabalho selecionados estão ocultos pelos filtros atuais e foram desmarcados.",
"selectAllSafetyChecked_one": "Selecionar {{count}} espaço de trabalho com segurança verificada",
"selectAllSafetyChecked_other": "Selecionar todos os {{count}} espaços de trabalho com segurança verificada",
"selectAllSafetyChecked_many": "Selecionar todos os {{count}} espaços de trabalho com segurança verificada"
"selectAllSafetyChecked_many": "Selecionar todos os {{count}} espaços de trabalho com segurança verificada",
"lastActive": "Última atividade: {{value0}}"
},
"scan": {
"progress": "Verificando espaços de trabalho ({{value0}}/{{value1}})",
@@ -22378,11 +22500,6 @@
}
}
},
"workspaceOptions": {
"activeFilterCount_one": "{{count}} filtro",
"activeFilterCount_other": "{{count}} filtros",
"activeFilterCount_many": "{{count}} filtros"
},
"editorConflicts": {
"kind": {
"addedByUs": "Adicionado por nós",
@@ -22915,5 +23032,15 @@
"image": "Bichinho personalizado",
"bundle": "Pacote do bichinho"
}
},
"diffComments": {
"lineRangeMeta": "linhas {{start}}-{{end}}",
"lineMeta": "linha {{line}}"
},
"agentSendTargets": {
"disabledReason": {
"needsPermission": "O agente precisa de permissão",
"statusStale": "O status do agente está desatualizado"
}
}
}
+189 -29
View File
@@ -140,6 +140,119 @@
"restartGaveUp_few": "Не удалось перезапустить сервер Orca в {{distro}} после {{count}} попыток",
"restartGaveUp_many": "Не удалось перезапустить сервер Orca в {{distro}} после {{count}} попыток"
}
},
"agentSummary": {
"state": {
"waiting": "ожидание",
"blocked": "заблокирован",
"interrupted": "прерван",
"failed": "ошибка",
"working": "в работе",
"monitoring": "наблюдение",
"done": "готово",
"idle": "бездействует",
"notReporting": "нет данных о статусе",
"unconfirmed": "не подтверждён",
"needsAttention": "требует внимания"
},
"mixedStates": "{{subject}}: {{states}}",
"agentIdentityState": "{{agent}}: {{status}}",
"agentCount_one": "{{count}} агент",
"agentCount_other": "{{count}} агента",
"agentCount_few": "{{count}} агента",
"agentCount_many": "{{count}} агентов",
"stateCount": {
"waiting_one": "{{count}} ожидает",
"waiting_other": "{{count}} ожидают",
"blocked_one": "{{count}} заблокирован",
"blocked_other": "{{count}} заблокированы",
"interrupted_one": "{{count}} прерван",
"interrupted_other": "{{count}} прерваны",
"failed_one": "{{count}} дал сбой",
"failed_other": "{{count}} дали сбой",
"working_one": "{{count}} работает",
"working_other": "{{count}} работают",
"monitoring_one": "{{count}} наблюдает",
"monitoring_other": "{{count}} наблюдают",
"done_one": "{{count}} завершил работу",
"done_other": "{{count}} завершили работу",
"idle_one": "{{count}} бездействует",
"idle_other": "{{count}} бездействуют",
"notReporting_one": "{{count}} не сообщает статус",
"notReporting_other": "{{count}} не сообщают статус",
"unconfirmed_one": "{{count}} не подтверждён",
"unconfirmed_other": "{{count}} не подтверждены",
"needsAttention_one": "{{count}} требует внимания",
"needsAttention_other": "{{count}} требуют внимания",
"waiting_few": "{{count}} ожидают",
"waiting_many": "{{count}} ожидают",
"blocked_few": "{{count}} заблокированы",
"blocked_many": "{{count}} заблокированы",
"interrupted_few": "{{count}} прерваны",
"interrupted_many": "{{count}} прерваны",
"failed_few": "{{count}} дали сбой",
"failed_many": "{{count}} дали сбой",
"working_few": "{{count}} работают",
"working_many": "{{count}} работают",
"monitoring_few": "{{count}} наблюдают",
"monitoring_many": "{{count}} наблюдают",
"done_few": "{{count}} завершили работу",
"done_many": "{{count}} завершили работу",
"idle_few": "{{count}} бездействуют",
"idle_many": "{{count}} бездействуют",
"notReporting_few": "{{count}} не сообщают статус",
"notReporting_many": "{{count}} не сообщают статус",
"unconfirmed_few": "{{count}} не подтверждены",
"unconfirmed_many": "{{count}} не подтверждены",
"needsAttention_few": "{{count}} требуют внимания",
"needsAttention_many": "{{count}} требуют внимания"
},
"allInState": {
"waiting_one": "{{count}} агент ожидает",
"waiting_other": "Все {{count}} агента ожидают",
"blocked_one": "{{count}} агент заблокирован",
"blocked_other": "Все {{count}} агента заблокированы",
"interrupted_one": "{{count}} агент прерван",
"interrupted_other": "Все {{count}} агента прерваны",
"failed_one": "{{count}} агент дал сбой",
"failed_other": "Все {{count}} агента дали сбой",
"working_one": "{{count}} агент работает",
"working_other": "Все {{count}} агента работают",
"monitoring_one": "{{count}} агент наблюдает",
"monitoring_other": "Все {{count}} агента наблюдают",
"done_one": "{{count}} агент завершил работу",
"done_other": "Все {{count}} агента завершили работу",
"idle_one": "{{count}} агент бездействует",
"idle_other": "Все {{count}} агента бездействуют",
"notReporting_one": "{{count}} агент не сообщает статус",
"notReporting_other": "Все {{count}} агента не сообщают статус",
"unconfirmed_one": "{{count}} агент не подтверждён",
"unconfirmed_other": "Все {{count}} агента не подтверждены",
"needsAttention_one": "{{count}} агент требует внимания",
"needsAttention_other": "Все {{count}} агента требуют внимания",
"waiting_few": "Все {{count}} агента ожидают",
"waiting_many": "Все {{count}} агентов ожидают",
"blocked_few": "Все {{count}} агента заблокированы",
"blocked_many": "Все {{count}} агентов заблокированы",
"interrupted_few": "Все {{count}} агента прерваны",
"interrupted_many": "Все {{count}} агентов прерваны",
"failed_few": "Все {{count}} агента дали сбой",
"failed_many": "Все {{count}} агентов дали сбой",
"working_few": "Все {{count}} агента работают",
"working_many": "Все {{count}} агентов работают",
"monitoring_few": "Все {{count}} агента наблюдают",
"monitoring_many": "Все {{count}} агентов наблюдают",
"done_few": "Все {{count}} агента завершили работу",
"done_many": "Все {{count}} агентов завершили работу",
"idle_few": "Все {{count}} агента бездействуют",
"idle_many": "Все {{count}} агентов бездействуют",
"notReporting_few": "Все {{count}} агента не сообщают статус",
"notReporting_many": "Все {{count}} агентов не сообщают статус",
"unconfirmed_few": "Все {{count}} агента не подтверждены",
"unconfirmed_many": "Все {{count}} агентов не подтверждены",
"needsAttention_few": "Все {{count}} агента требуют внимания",
"needsAttention_many": "Все {{count}} агентов требуют внимания"
}
}
},
"app": {
@@ -961,8 +1074,11 @@
"clearHosts": "Очистить выбор серверов",
"clearProjects": "Очистить выбор проектов",
"back": "Назад",
"ariaActive": "Фильтр: активных — {{value0}}.",
"scopedTo": "Область поиска"
"scopedTo": "Область поиска",
"ariaActiveCount_one": "Фильтр: активен {{count}} фильтр.",
"ariaActiveCount_other": "Фильтр: {{count}} активного фильтра.",
"ariaActiveCount_few": "Фильтр: активны {{count}} фильтра.",
"ariaActiveCount_many": "Фильтр: активны {{count}} фильтров."
},
"taskUrl": {
"loadingHint": "Загрузка {{value0}}…",
@@ -3651,7 +3767,6 @@
"cleanup": {
"WorkspaceCleanupDialog": {
"3828408538": "Удалить {{value0}}",
"352f15d6fc": "Последняя активность",
"b6bae1eed1": "Отмена",
"38ca0b1400": "Локальные файлы будут удалены навсегда. Это действие нельзя отменить.",
"e97e4580c7": "Есть изменения",
@@ -4395,7 +4510,9 @@
"f395c9a685": "Не удалось импортировать файл",
"e6234bcc17": "Для загрузки своего питомца нужен полный перезапуск приложения, простого обновления окна недостаточно.",
"6d0a8cd179": "Показать питомца",
"1fbc51cc77": "Скрыть питомца"
"1fbc51cc77": "Скрыть питомца",
"petFallbackLabel": "Питомец",
"petHiddenLabel": "{{pet}} не отображается"
},
"PortsStatusSegment": {
"4ebf90c12e": "Внешние порты не обнаружены",
@@ -6156,7 +6273,8 @@
"c49fb13492": "Не удалось добавить папку на этом компьютере",
"9a766f33ac": "Этот путь проверен на SSH-сервере.",
"79fd02cf5f": "Этот путь проверен на {{hostName}}.",
"8851b77327": "Этот путь проверен локально."
"8851b77327": "Этот путь проверен локально.",
"sshConnectionUnavailable": "SSH-соединение «{{connection}}» не найдено или не подключено"
},
"OrcaYamlTrustDialog": {
"f3e2b868fb": "Выполнить хуки",
@@ -6246,8 +6364,10 @@
"removeDescriptionSsh": "Это только уберёт {{name}} из Orca. Файлы останутся на {{host}} — добавьте этот SSH-сервер заново, чтобы восстановить доступ.",
"removeDescriptionLocal": "Это только уберёт {{name}} из Orca. Папка останется на диске.",
"removeDescriptionVmRecipe": "Это уберёт {{name}} из Orca. Будут ли окружение и его файлы удалены навсегда, зависит от рецепта ВМ.",
"openTerminalWarningOne": "1 открытый терминал этого проекта будет закрыт.",
"openTerminalWarningMany": "Будут закрыты открытые терминалы этого проекта: {{count}}."
"openTerminalWarning_one": "В этом проекте будет закрыт {{count}} открытый терминал.",
"openTerminalWarning_other": "В этом проекте будет закрыто {{count}} открытого терминала.",
"openTerminalWarning_few": "В этом проекте будут закрыты {{count}} открытых терминала.",
"openTerminalWarning_many": "В этом проекте будут закрыты {{count}} открытых терминалов."
},
"ScrollToCurrentWorkspaceToolbarButton": {
"23989bb663": "Показать активное рабочее пространство"
@@ -6359,7 +6479,10 @@
"4815c70605": "Нет подходящих проектов",
"bbbc6e8e3b": "Подходящих невыбранных проектов нет",
"allProjects": "Все проекты",
"selectedProjectsCount": "Проектов: {{value0}}"
"selectedProjects_one": "{{count}} проект",
"selectedProjects_other": "{{count}} проекта",
"selectedProjects_few": "{{count}} проекта",
"selectedProjects_many": "{{count}} проектов"
},
"SidebarSettingsHelpMenu": {
"ad3d3ed7f1": "Перезапустить Orca",
@@ -6422,7 +6545,6 @@
"7bada3b1ab": "Сортировать по",
"dc0bb670bc": "Группировать по",
"9919ae1082": "Параметры рабочих пространств",
"bc96dbd041": "Параметры рабочих пространств ({{value0}})",
"af9249c505": "Недавняя активность рабочих пространств",
"b451c8b162": "Недавние",
"6664282a7b": "Перетаскивайте проекты, чтобы менять их порядок",
@@ -6457,7 +6579,14 @@
"folderPathIdentity": "Ветка / путь папки",
"cli": "Orca CLI",
"workspaceOptions": "Параметры рабочих пространств",
"optionsActiveLabel": "Параметры рабочего пространства (активно: {{value0}})"
"optionsActiveFilters_one": "Параметры рабочих пространств ({{count}} активный фильтр)",
"optionsActiveFilters_other": "Параметры рабочих пространств ({{count}} активного фильтра)",
"optionsFilterCount_one": "Параметры рабочих пространств ({{count}} фильтр)",
"optionsFilterCount_other": "Параметры рабочих пространств ({{count}} фильтра)",
"optionsActiveFilters_few": "Параметры рабочих пространств ({{count}} активных фильтра)",
"optionsActiveFilters_many": "Параметры рабочих пространств ({{count}} активных фильтров)",
"optionsFilterCount_few": "Параметры рабочих пространств ({{count}} фильтра)",
"optionsFilterCount_many": "Параметры рабочих пространств ({{count}} фильтров)"
},
"SshTargetRow": {
"4677394048": "Подключение…",
@@ -6529,7 +6658,8 @@
},
"WorktreeCardAgents": {
"1b0a156717": "Агенты",
"agentUnavailable": "Агент недоступен"
"agentUnavailable": "Агент недоступен",
"sendingTarget": "Отправка…"
},
"WorktreeCardMeta": {
"3e65e11cc6": "Метаданные рабочего пространства",
@@ -17730,9 +17860,6 @@
"sortedAscending": "{{value0}}, по возрастанию",
"sortedDescending": "{{value0}}, по убыванию"
},
"hostSummary": {
"partialFailure": "Не удалось загрузить серверы: {{failed}} из {{total}}"
},
"emptyState": {
"unknownHost": "этот сервер",
"hostLoading": "Загрузка сервера…",
@@ -17848,8 +17975,6 @@
"failed24h": "Неуспешно · 24 ч",
"successful7d": "Успешно · 7 дн",
"failed7d": "Неуспешно · 7 дн",
"historyUnavailableOne": "История запусков недоступна для 1 автоматизации. В счётчиках учтена только доступная история.",
"historyUnavailableMany": "История запусков недоступна для автоматизаций: {{count}}. В счётчиках учтена только доступная история.",
"automation": "Автоматизация",
"triggered": "Запущено",
"trigger": "Триггер",
@@ -17858,7 +17983,11 @@
"emptyDescription": "После срабатывания автоматизации её запуски появятся здесь.",
"runs": "Запуски",
"local": "Локально",
"remote": "Удалённо"
"remote": "Удалённо",
"historyUnavailable_one": "История запусков недоступна для {{count}} автоматизации. В подсчётах учитывается только доступная история.",
"historyUnavailable_other": "История запусков недоступна для {{count}} автоматизации. В подсчётах учитывается только доступная история.",
"historyUnavailable_few": "История запусков недоступна для {{count}} автоматизаций. В подсчётах учитывается только доступная история.",
"historyUnavailable_many": "История запусков недоступна для {{count}} автоматизаций. В подсчётах учитывается только доступная история."
},
"AutomationsPageBreadcrumb": {
"ariaLabel": "Путь раздела автоматизаций",
@@ -17934,7 +18063,8 @@
"tokensAndCost_one": "{{tokens}} токен · {{cost}}",
"tokensAndCost_few": "{{tokens}} токена · {{cost}}",
"tokensAndCost_many": "{{tokens}} токенов · {{cost}}",
"tokensAndCost_other": "{{tokens}} токена · {{cost}}"
"tokensAndCost_other": "{{tokens}} токена · {{cost}}",
"costUnavailable": "нет данных"
},
"externalDisplay": {
"sshHost": "SSH-сервер",
@@ -17946,6 +18076,12 @@
"connectSshHost": "Подключите этот SSH-сервер перед управлением автоматизациями {{provider}}.",
"cannotManageOnSshHost": "{{provider}} не может управлять автоматизациями на этом SSH-сервере.",
"cannotManageLocally": "{{provider}} не может управлять автоматизациями на этом компьютере."
},
"hostSummary": {
"partialFailureOfHosts_one": "Не удалось загрузить {{failed}} из {{count}} сервера",
"partialFailureOfHosts_other": "Не удалось загрузить {{failed}} из {{count}} сервера",
"partialFailureOfHosts_few": "Не удалось загрузить {{failed}} из {{count}} серверов",
"partialFailureOfHosts_many": "Не удалось загрузить {{failed}} из {{count}} серверов"
}
},
"agent": {
@@ -18010,9 +18146,15 @@
},
"filtersSection": "Фильтры",
"viewSection": "Вид",
"threadListOptionsActive": "Параметры списка обсуждений (активно: {{value0}})",
"activityOptionsActive": "Параметры событий ({{value0}})",
"groupAgentActivityBy": "Группировать события агентов по"
"groupAgentActivityBy": "Группировать события агентов по",
"threadListOptionsActiveFilters_one": "Параметры списка обсуждений ({{count}} активный фильтр)",
"threadListOptionsActiveFilters_other": "Параметры списка обсуждений ({{count}} активного фильтра)",
"activityOptionsFilterCount_one": "Параметры событий ({{count}} фильтр)",
"activityOptionsFilterCount_other": "Параметры событий ({{count}} фильтра)",
"threadListOptionsActiveFilters_few": "Параметры списка обсуждений ({{count}} активных фильтра)",
"threadListOptionsActiveFilters_many": "Параметры списка обсуждений ({{count}} активных фильтров)",
"activityOptionsFilterCount_few": "Параметры событий ({{count}} фильтра)",
"activityOptionsFilterCount_many": "Параметры событий ({{count}} фильтров)"
},
"clearCompleted": {
"undo": "Отменить действие",
@@ -20306,7 +20448,8 @@
"selectAllSafetyChecked_one": "Выбрать {{count}} рабочее пространство, прошедшее проверку безопасности",
"selectAllSafetyChecked_few": "Выбрать все {{count}} рабочих пространства, прошедших проверку безопасности",
"selectAllSafetyChecked_many": "Выбрать все {{count}} рабочих пространств, прошедших проверку безопасности",
"selectAllSafetyChecked_other": "Выбрать все рабочие пространства, прошедшие проверку безопасности ({{count}})"
"selectAllSafetyChecked_other": "Выбрать все рабочие пространства, прошедшие проверку безопасности ({{count}})",
"lastActive": "Последняя активность: {{value0}}"
},
"scan": {
"progress": "Сканирование рабочих пространств ({{value0}}/{{value1}})",
@@ -20974,7 +21117,13 @@
"kimiContinueSessionConflict": "Kimi получил конфликтующие параметры: --continue, --session. Исправьте рецепт создания текста или аргументы CLI перед повторной попыткой."
},
"enableSourceControlAi": "Включите ИИ для управления версиями в разделе «Настройки -> Git».",
"chooseBaseBranch": "Перед генерацией выберите базовую ветку."
"chooseBaseBranch": "Перед генерацией выберите базовую ветку.",
"savedCommitRecipeRepo": "Рецепт сообщения коммита сохранён для этого репозитория.",
"savedCommitRecipeGlobal": "Рецепт сообщения коммита сохранён как глобальный вариант по умолчанию.",
"savedReviewRecipeRepo": "Рецепт для PR и MR сохранён для этого репозитория.",
"savedReviewRecipeGlobal": "Рецепт для PR и MR сохранён как глобальный вариант по умолчанию.",
"savedBranchRecipeRepo": "Рецепт названия ветки сохранён для этого репозитория.",
"savedBranchRecipeGlobal": "Рецепт названия ветки сохранён как глобальный вариант по умолчанию."
},
"remoteError": {
"submodule": {
@@ -21048,6 +21197,13 @@
"pull": "Получение и слияние заблокированы — сначала переместите, удалите или добавьте неотслеживаемые файлы."
},
"authenticationFailed": "Ошибка аутентификации. Проверьте учётные данные для удалённого репозитория."
},
"submodule": {
"worktreeOnlyLabel": "Добавить в индекс внутри подмодуля",
"worktreeOnlyTooltip": "Родительский репозиторий (включая «Добавить всё в индекс») не может добавлять в индекс изменения файлов внутри подмодуля",
"loading": "Загрузка изменений подмодуля…",
"empty": "В подмодуле нет изменений",
"loadFailed": "Не удалось загрузить изменения подмодуля"
}
},
"agentsSidebarIntro": {
@@ -22621,12 +22777,6 @@
"workspaceApiKeyHint": "Вставьте личный API-ключ для {{workspace}}. Если это рабочее пространство уже подключено, Orca заменит его сохранённый ключ."
}
},
"workspaceOptions": {
"activeFilterCount_one": "{{count}} фильтр",
"activeFilterCount_other": "{{count}} фильтра",
"activeFilterCount_few": "{{count}} фильтра",
"activeFilterCount_many": "{{count}} фильтров"
},
"stats": {
"usageBreakdown": {
"events_few": "{{count}} события",
@@ -23162,5 +23312,15 @@
"image": "Пользовательский питомец",
"bundle": "Пакет питомца"
}
},
"diffComments": {
"lineRangeMeta": "строки {{start}}-{{end}}",
"lineMeta": "строка {{line}}"
},
"agentSendTargets": {
"disabledReason": {
"needsPermission": "Агенту требуется разрешение",
"statusStale": "Статус агента устарел"
}
}
}
+125 -27
View File
@@ -138,6 +138,73 @@
"peerCheckFailed": "Orca tarafından WSL ana makinesine bu bilgisayardaki başka bir Orca'nın onu hâlâ kullanıp kullanmadığı sorulamadı: {{detail}}",
"removalUnrecorded": "Bu kaldırma işleminden sonra nelerin çalışmaya devam ettiği Orca tarafından kaydedilemedi: {{detail}}"
}
},
"agentSummary": {
"state": {
"waiting": "bekliyor",
"blocked": "engellendi",
"interrupted": "kesildi",
"failed": "hata verdi",
"working": "çalışıyor",
"monitoring": "izliyor",
"done": "tamamlandı",
"idle": "boşta",
"notReporting": "durum bildirmiyor",
"unconfirmed": "doğrulanmadı",
"needsAttention": "dikkat gerektiriyor"
},
"mixedStates": "{{subject}}: {{states}}",
"agentIdentityState": "{{agent}}: {{status}}",
"agentCount_one": "{{count}} ajan",
"agentCount_other": "{{count}} ajan",
"stateCount": {
"waiting_one": "{{count}} bekliyor",
"waiting_other": "{{count}} bekliyor",
"blocked_one": "{{count}} engellendi",
"blocked_other": "{{count}} engellendi",
"interrupted_one": "{{count}} kesildi",
"interrupted_other": "{{count}} kesildi",
"failed_one": "{{count}} hata verdi",
"failed_other": "{{count}} hata verdi",
"working_one": "{{count}} çalışıyor",
"working_other": "{{count}} çalışıyor",
"monitoring_one": "{{count}} izliyor",
"monitoring_other": "{{count}} izliyor",
"done_one": "{{count}} tamamlandı",
"done_other": "{{count}} tamamlandı",
"idle_one": "{{count}} boşta",
"idle_other": "{{count}} boşta",
"notReporting_one": "{{count}} durum bildirmiyor",
"notReporting_other": "{{count}} durum bildirmiyor",
"unconfirmed_one": "{{count}} doğrulanmadı",
"unconfirmed_other": "{{count}} doğrulanmadı",
"needsAttention_one": "{{count}} dikkat gerektiriyor",
"needsAttention_other": "{{count}} dikkat gerektiriyor"
},
"allInState": {
"waiting_one": "{{count}} ajan bekliyor",
"waiting_other": "{{count}} ajanın tamamı bekliyor",
"blocked_one": "{{count}} ajan engellendi",
"blocked_other": "{{count}} ajanın tamamı engellendi",
"interrupted_one": "{{count}} ajanın çalışması kesildi",
"interrupted_other": "{{count}} ajanın tamamının çalışması kesildi",
"failed_one": "{{count}} ajan hata verdi",
"failed_other": "{{count}} ajanın tamamı hata verdi",
"working_one": "{{count}} ajan çalışıyor",
"working_other": "{{count}} ajanın tamamı çalışıyor",
"monitoring_one": "{{count}} ajan izliyor",
"monitoring_other": "{{count}} ajanın tamamı izliyor",
"done_one": "{{count}} ajan işini bitirdi",
"done_other": "{{count}} ajanın tamamı işini bitirdi",
"idle_one": "{{count}} ajan boşta",
"idle_other": "{{count}} ajanın tamamı boşta",
"notReporting_one": "{{count}} ajan durum bildirmiyor",
"notReporting_other": "{{count}} ajanın tamamı durum bildirmiyor",
"unconfirmed_one": "{{count}} ajan doğrulanmadı",
"unconfirmed_other": "{{count}} ajanın tamamı doğrulanmadı",
"needsAttention_one": "{{count}} ajan dikkat gerektiriyor",
"needsAttention_other": "{{count}} ajanın tamamı dikkat gerektiriyor"
}
}
},
"app": {
@@ -945,8 +1012,9 @@
"clearHosts": "Sunucuları temizle",
"clearProjects": "Projeleri temizle",
"back": "Geri",
"ariaActive": "Filtre: {{value0}} etkin.",
"scopedTo": "Kapsam"
"scopedTo": "Kapsam",
"ariaActiveCount_one": "Filtre: {{count}} etkin.",
"ariaActiveCount_other": "Filtre: {{count}} etkin."
},
"taskUrl": {
"loadingHint": "{{value0}} yükleniyor…",
@@ -3581,7 +3649,6 @@
"cleanup": {
"WorkspaceCleanupDialog": {
"3828408538": "{{value0}} öğesini kaldır",
"352f15d6fc": "Son aktif",
"b6bae1eed1": "İptal",
"38ca0b1400": "Bu, yerel dosyalarını kalıcı olarak siler. Bu işlem geri alınamaz.",
"e97e4580c7": "Kirli",
@@ -4315,7 +4382,9 @@
"f395c9a685": "Dosya içe aktarılamadı",
"e6234bcc17": "Özel evcil hayvan yüklemesi için uygulamanın tamamen yeniden başlatılması gerekir (yalnızca yeniden yükleme yeterli değil).",
"6d0a8cd179": "Evcil hayvanı göster",
"1fbc51cc77": "Evcil hayvanı gizle"
"1fbc51cc77": "Evcil hayvanı gizle",
"petFallbackLabel": "Evcil Hayvan",
"petHiddenLabel": "{{pet}} gizli"
},
"PortsStatusSegment": {
"4ebf90c12e": "Harici bağlantı noktası bulunamadı",
@@ -5912,7 +5981,8 @@
"c49fb13492": "Bu host'ta klasör eklenemedi",
"9a766f33ac": "Bu yol SSH sunucusunda kontrol edildi.",
"79fd02cf5f": "Bu yol {{hostName}} üzerinde kontrol edildi.",
"8851b77327": "Bu yol yerel olarak kontrol edildi."
"8851b77327": "Bu yol yerel olarak kontrol edildi.",
"sshConnectionUnavailable": "\"{{connection}}\" SSH bağlantısı bulunamadı veya bağlı değil"
},
"OrcaYamlTrustDialog": {
"f3e2b868fb": "Hook'ları çalıştır",
@@ -5998,8 +6068,8 @@
"removeDescriptionSsh": "Bu işlem yalnızca {{name}} öğesini Orca'dan kaldırır. Dosyaları {{host}} üzerinde kalır, geri almak için o SSH sunucusunu yeniden ekleyin.",
"removeDescriptionLocal": "Bu işlem yalnızca {{name}} öğesini Orca'dan kaldırır. Hâlâ diskinizde bulunur.",
"removeDescriptionVmRecipe": "Bu işlem {{name}} öğesini Orca'dan kaldırır. Ortamın ve dosyalarının kalıcı olarak silinip silinmeyeceğini VM tarifi belirler.",
"openTerminalWarningOne": "Bu projedeki 1 açık terminal kapatılacak.",
"openTerminalWarningMany": "Bu projedeki {{count}} açık terminal kapatılacak."
"openTerminalWarning_one": "Bu projedeki {{count}} açık terminal kapatılacak.",
"openTerminalWarning_other": "Bu projedeki {{count}} açık terminal kapatılacak."
},
"ScrollToCurrentWorkspaceToolbarButton": {
"23989bb663": "Etkin çalışma alanını göster"
@@ -6109,7 +6179,8 @@
"4815c70605": "Eşleşen proje yok",
"bbbc6e8e3b": "Eşleşen seçilmemiş proje yok",
"allProjects": "Tüm projeler",
"selectedProjectsCount": "{{value0}} proje"
"selectedProjects_one": "{{count}} proje",
"selectedProjects_other": "{{count}} proje"
},
"SidebarSettingsHelpMenu": {
"ad3d3ed7f1": "Orca'yı Yeniden Başlat",
@@ -6170,8 +6241,6 @@
"7bada3b1ab": "Sıralama ölçütü",
"dc0bb670bc": "Gruplama ölçütü",
"9919ae1082": "Çalışma alanı seçenekleri",
"bc96dbd041": "Çalışma alanı seçenekleri ({{value0}})",
"optionsActiveLabel": "Çalışma alanı seçenekleri ({{value0}} etkin)",
"af9249c505": "En son çalışma alanı etkinliği",
"b451c8b162": "Son",
"6664282a7b": "Projeleri düzenlemek için sürükleyin",
@@ -6205,7 +6274,11 @@
"219ebf1961": "Branch adı",
"folderPathIdentity": "Branch / klasör yolu",
"cli": "Orca CLI",
"workspaceOptions": "Çalışma alanı seçenekleri"
"workspaceOptions": "Çalışma alanı seçenekleri",
"optionsActiveFilters_one": "Çalışma alanı seçenekleri ({{count}} etkin filtre)",
"optionsActiveFilters_other": "Çalışma alanı seçenekleri ({{count}} etkin filtre)",
"optionsFilterCount_one": "Çalışma alanı seçenekleri ({{count}} filtre)",
"optionsFilterCount_other": "Çalışma alanı seçenekleri ({{count}} filtre)"
},
"SshTargetRow": {
"4677394048": "Bağlanıyor…",
@@ -6275,7 +6348,8 @@
},
"WorktreeCardAgents": {
"1b0a156717": "Ajanlar",
"agentUnavailable": "Ajan kullanılamıyor"
"agentUnavailable": "Ajan kullanılamıyor",
"sendingTarget": "Gönderiliyor…"
},
"WorktreeCardMeta": {
"3e65e11cc6": "Çalışma alanı meta verileri",
@@ -17260,9 +17334,6 @@
"sortedAscending": "{{value0}}, artan sırada",
"sortedDescending": "{{value0}}, azalan sırada"
},
"hostSummary": {
"partialFailure": "{{total}} sunucudan {{failed}} tanesi yüklenemedi"
},
"emptyState": {
"unknownHost": "bu sunucu",
"hostLoading": "Sunucu yükleniyor…",
@@ -17376,8 +17447,6 @@
"failed24h": "Başarısız · 24s",
"successful7d": "Başarılı · 7g",
"failed7d": "Başarısız · 7g",
"historyUnavailableOne": "1 otomasyon için çalıştırma geçmişi kullanılamıyor. Sayımlar yalnızca mevcut geçmişi içerir.",
"historyUnavailableMany": "{{count}} otomasyon için çalıştırma geçmişi kullanılamıyor. Sayımlar yalnızca mevcut geçmişi içerir.",
"automation": "Otomasyon",
"triggered": "Tetiklendi",
"trigger": "Tetikleyici",
@@ -17386,7 +17455,9 @@
"emptyDescription": "Bir otomasyon tetiklendikten sonra çalıştırmalar burada görünür.",
"runs": "Çalıştırmalar",
"local": "Yerel",
"remote": "Uzak"
"remote": "Uzak",
"historyUnavailable_one": "{{count}} otomasyon için çalıştırma geçmişi kullanılamıyor. Sayımlara yalnızca kullanılabilir geçmiş dahildir.",
"historyUnavailable_other": "{{count}} otomasyon için çalıştırma geçmişi kullanılamıyor. Sayımlara yalnızca kullanılabilir geçmiş dahildir."
},
"AutomationsPageBreadcrumb": {
"ariaLabel": "Otomasyonlar gezinme yolu",
@@ -17454,7 +17525,8 @@
},
"usage": {
"tokensAndCost_other": "{{tokens}} token · {{cost}}",
"tokensAndCost_one": "{{tokens}} token · {{cost}}"
"tokensAndCost_one": "{{tokens}} token · {{cost}}",
"costUnavailable": "bilinmiyor"
},
"externalDisplay": {
"sshHost": "SSH sunucusu",
@@ -17466,6 +17538,10 @@
"connectSshHost": "{{provider}} otomasyonlarını yönetmeden önce bu SSH sunucusuna bağlanın.",
"cannotManageOnSshHost": "{{provider}} bu SSH sunucusunda otomasyonları yönetemiyor.",
"cannotManageLocally": "{{provider}} bu makinede otomasyonları yönetemiyor."
},
"hostSummary": {
"partialFailureOfHosts_one": "{{count}} sunucudan {{failed}} tanesi yüklenemedi",
"partialFailureOfHosts_other": "{{count}} sunucudan {{failed}} tanesi yüklenemedi"
}
},
"agent": {
@@ -17531,8 +17607,10 @@
},
"filtersSection": "Filtreler",
"viewSection": "Görünüm",
"threadListOptionsActive": "Sohbet listesi seçenekleri ({{value0}} etkin)",
"activityOptionsActive": "Etkinlik seçenekleri ({{value0}})"
"threadListOptionsActiveFilters_one": "Konu listesi seçenekleri ({{count}} etkin filtre)",
"threadListOptionsActiveFilters_other": "Konu listesi seçenekleri ({{count}} etkin filtre)",
"activityOptionsFilterCount_one": "Etkinlik seçenekleri ({{count}} filtre)",
"activityOptionsFilterCount_other": "Etkinlik seçenekleri ({{count}} filtre)"
},
"clearCompleted": {
"undo": "Geri al",
@@ -19682,7 +19760,8 @@
"selectionWithheldCount_other": "Seçili {{count}} çalışma alanı geçerli filtreler tarafından gizlendiği için seçimden çıkarıldı.",
"selectionWithheldCount_one": "Seçili {{count}} çalışma alanı geçerli filtreler tarafından gizlendiği için seçimden çıkarıldı.",
"selectAllSafetyChecked_other": "Güvenlik kontrolünden geçen {{count}} çalışma alanının tümünü seç",
"selectAllSafetyChecked_one": "Güvenlik kontrolünden geçen {{count}} çalışma alanının tümünü seç"
"selectAllSafetyChecked_one": "Güvenlik kontrolünden geçen {{count}} çalışma alanının tümünü seç",
"lastActive": "Son etkinlik: {{value0}}"
},
"scan": {
"progress": "Çalışma alanları taranıyor ({{value0}}/{{value1}})",
@@ -20330,7 +20409,13 @@
"kimiContinueSessionConflict": "Kimi çakışan seçenekler aldı: --continue, --session. Yeniden denemeden önce metin oluşturma tarifini veya CLI argümanlarını düzeltin."
},
"enableSourceControlAi": "Ayarlar -> Git bölümünde Kaynak Kontrolü AI özelliğini etkinleştirin.",
"chooseBaseBranch": "Oluşturmadan önce bir temel branch seçin."
"chooseBaseBranch": "Oluşturmadan önce bir temel branch seçin.",
"savedCommitRecipeRepo": "Commit mesajı tarifi bu repository için kaydedildi.",
"savedCommitRecipeGlobal": "Commit mesajı tarifi genel varsayılan olarak kaydedildi.",
"savedReviewRecipeRepo": "Barındırılan inceleme tarifi bu repository için kaydedildi.",
"savedReviewRecipeGlobal": "Barındırılan inceleme tarifi genel varsayılan olarak kaydedildi.",
"savedBranchRecipeRepo": "Branch adı tarifi bu repository için kaydedildi.",
"savedBranchRecipeGlobal": "Branch adı tarifi genel varsayılan olarak kaydedildi."
},
"remoteError": {
"submodule": {
@@ -20404,6 +20489,13 @@
"pull": "Pull engellendi — önce izlenmeyen dosyaları taşıyın, kaldırın veya ekleyin."
},
"authenticationFailed": "Kimlik doğrulanamadı. Remote kimlik bilgilerinizi kontrol edin."
},
"submodule": {
"worktreeOnlyLabel": "Alt modül içinde stage'e ekle",
"worktreeOnlyTooltip": "Ana repo (Tümünü Stage Et dahil) alt modül içindeki dosya değişikliklerini stage'e ekleyemez",
"loading": "Alt modül değişiklikleri yükleniyor…",
"empty": "Alt modülde değişiklik yok",
"loadFailed": "Alt modül değişiklikleri yüklenemedi"
}
},
"agentsSidebarIntro": {
@@ -21925,10 +22017,6 @@
"workspaceApiKeyHint": "{{workspace}} için bir Kişisel API anahtarı yapıştırın. Bu çalışma alanı zaten bağlıysa Orca kayıtlı anahtarını değiştirir."
}
},
"workspaceOptions": {
"activeFilterCount_one": "{{count}} filtre",
"activeFilterCount_other": "{{count}} filtre"
},
"editorConflicts": {
"kind": {
"addedByUs": "Bizim tarafımızdan eklendi",
@@ -22458,5 +22546,15 @@
"image": "Özel evcil hayvan",
"bundle": "Evcil hayvan paketi"
}
},
"diffComments": {
"lineRangeMeta": "{{start}}-{{end}}. satırlar",
"lineMeta": "{{line}}. satır"
},
"agentSendTargets": {
"disabledReason": {
"needsPermission": "Ajan için izin gerekiyor",
"statusStale": "Ajan durumu güncel değil"
}
}
}
+93 -27
View File
@@ -137,6 +137,50 @@
"peerCheckFailed": "Orca 無法向 WSL 主機詢問此電腦上的另一個 Orca 是否仍在使用該主機:{{detail}}",
"removalUnrecorded": "Orca 無法記錄此次移除後仍在執行的項目:{{detail}}"
}
},
"agentSummary": {
"state": {
"waiting": "等待中",
"blocked": "已阻塞",
"interrupted": "已中斷",
"failed": "失敗",
"working": "執行中",
"monitoring": "監控中",
"done": "已完成",
"idle": "閒置",
"notReporting": "未回報狀態",
"unconfirmed": "未確認",
"needsAttention": "需要處理"
},
"mixedStates": "{{subject}}:{{states}}",
"agentIdentityState": "{{agent}} {{status}}",
"agentCount_other": "{{count}} 個代理程式",
"stateCount": {
"waiting_other": "{{count}} 個等待中",
"blocked_other": "{{count}} 個已阻塞",
"interrupted_other": "{{count}} 個已中斷",
"failed_other": "{{count}} 個失敗",
"working_other": "{{count}} 個執行中",
"monitoring_other": "{{count}} 個監控中",
"done_other": "{{count}} 個已完成",
"idle_other": "{{count}} 個閒置",
"notReporting_other": "{{count}} 個未回報狀態",
"unconfirmed_other": "{{count}} 個未確認",
"needsAttention_other": "{{count}} 個需要處理"
},
"allInState": {
"waiting_other": "全部 {{count}} 個代理程式等待中",
"blocked_other": "全部 {{count}} 個代理程式已阻塞",
"interrupted_other": "全部 {{count}} 個代理程式已中斷",
"failed_other": "全部 {{count}} 個代理程式失敗",
"working_other": "全部 {{count}} 個代理程式執行中",
"monitoring_other": "全部 {{count}} 個代理程式監控中",
"done_other": "全部 {{count}} 個代理程式已完成",
"idle_other": "全部 {{count}} 個代理程式閒置",
"notReporting_other": "全部 {{count}} 個代理程式未回報狀態",
"unconfirmed_other": "全部 {{count}} 個代理程式未確認",
"needsAttention_other": "全部 {{count}} 個代理程式需要處理"
}
}
},
"app": {
@@ -941,8 +985,8 @@
"clearHosts": "清除主機",
"clearProjects": "清除專案",
"back": "返回",
"ariaActive": "篩選:已啟用 {{value0}} 個。",
"scopedTo": "範圍為"
"scopedTo": "範圍為",
"ariaActiveCount_other": "篩選:已啟用 {{count}} 個。"
},
"taskUrl": {
"loadingHint": "正在載入 {{value0}}...",
@@ -3554,7 +3598,6 @@
"cleanup": {
"WorkspaceCleanupDialog": {
"3828408538": "刪除 {{value0}}",
"352f15d6fc": "最後活躍",
"b6bae1eed1": "取消",
"38ca0b1400": "這將永久刪除它們的本機檔案。您無法復原此操作。",
"e97e4580c7": "有改動",
@@ -4283,7 +4326,9 @@
"f395c9a685": "匯入檔案失敗",
"e6234bcc17": "自訂寵物上傳需要完全重新啟動應用程式(不僅是重新載入)。",
"6d0a8cd179": "顯示寵物",
"1fbc51cc77": "隱藏寵物"
"1fbc51cc77": "隱藏寵物",
"petFallbackLabel": "寵物",
"petHiddenLabel": "{{pet}} 已隱藏"
},
"PortsStatusSegment": {
"4ebf90c12e": "未偵測到外部連接埠",
@@ -5796,7 +5841,8 @@
"c49fb13492": "在此主機上新增資料夾失敗",
"9a766f33ac": "已在 SSH 主機上檢查此路徑。",
"79fd02cf5f": "已在 {{hostName}} 上檢查此路徑。",
"8851b77327": "已在本機檢查此路徑。"
"8851b77327": "已在本機檢查此路徑。",
"sshConnectionUnavailable": "找不到 SSH 連線「{{connection}}」或尚未連線"
},
"OrcaYamlTrustDialog": {
"f3e2b868fb": "執行鉤子",
@@ -5880,8 +5926,7 @@
"removeDescriptionSsh": "此操作僅將 {{name}} 從 Orca 中移除。檔案仍保留在 {{host}} 上 — 重新新增該 SSH 主機即可恢復。",
"removeDescriptionLocal": "此操作僅將 {{name}} 從 Orca 中移除。檔案仍保留在您的磁碟上。",
"removeDescriptionVmRecipe": "這會從 Orca 中移除 {{name}}。其 VM 配方決定是否永久刪除環境及其檔案。",
"openTerminalWarningOne": "此專案中 1 個開啟的終端機將被關閉。",
"openTerminalWarningMany": "此專案中 {{count}} 個開啟的終端機將被關閉。"
"openTerminalWarning_other": "此專案中開啟的 {{count}} 個終端機將會關閉。"
},
"ScrollToCurrentWorkspaceToolbarButton": {
"23989bb663": "顯示目前的工作區"
@@ -5991,7 +6036,7 @@
"4815c70605": "沒有符合的專案",
"bbbc6e8e3b": "沒有符合的未選擇專案",
"allProjects": "所有專案",
"selectedProjectsCount": "{{value0}} 個專案"
"selectedProjects_other": "{{count}} 個專案"
},
"SidebarSettingsHelpMenu": {
"ad3d3ed7f1": "重新啟動 Orca",
@@ -6051,8 +6096,6 @@
"7bada3b1ab": "排序方式",
"dc0bb670bc": "分組依據",
"9919ae1082": "工作區選項",
"bc96dbd041": "工作區選項 ({{value0}})",
"optionsActiveLabel": "工作區選項({{value0}} 個已啟用)",
"af9249c505": "最近的工作區活動",
"b451c8b162": "最近的",
"6664282a7b": "拖曳專案進行排列",
@@ -6086,7 +6129,9 @@
"219ebf1961": "分支名稱",
"folderPathIdentity": "分支 / 資料夾路徑",
"cli": "Orca CLI",
"workspaceOptions": "工作區選項"
"workspaceOptions": "工作區選項",
"optionsActiveFilters_other": "工作區選項({{count}} 個篩選條件已啟用)",
"optionsFilterCount_other": "工作區選項({{count}} 個篩選條件)"
},
"SshTargetRow": {
"4677394048": "正在連線…",
@@ -6155,7 +6200,8 @@
},
"WorktreeCardAgents": {
"1b0a156717": "代理程式",
"agentUnavailable": "代理程式無法使用"
"agentUnavailable": "代理程式無法使用",
"sendingTarget": "正在傳送..."
},
"WorktreeCardMeta": {
"3e65e11cc6": "工作區後設資料",
@@ -17069,9 +17115,6 @@
"sortedAscending": "{{value0}},遞增排序",
"sortedDescending": "{{value0}},遞減排序"
},
"hostSummary": {
"partialFailure": "{{total}} 台主機中有 {{failed}} 台無法載入"
},
"emptyState": {
"unknownHost": "該主機",
"hostLoading": "正在載入主機...",
@@ -17184,8 +17227,6 @@
"failed24h": "失敗 · 24 小時",
"successful7d": "成功 · 7 天",
"failed7d": "失敗 · 7 天",
"historyUnavailableOne": "1 個自動化的執行歷史記錄不可用。計數僅包括可用歷史記錄。",
"historyUnavailableMany": "{{count}} 個自動化的執行歷史記錄不可用。計數僅包括可用歷史記錄。",
"automation": "自動化",
"triggered": "已觸發",
"trigger": "觸發",
@@ -17194,7 +17235,8 @@
"emptyDescription": "觸發自動化後,執行記錄會顯示在這裡。",
"runs": "執行",
"local": "本機",
"remote": "遠端"
"remote": "遠端",
"historyUnavailable_other": "{{count}} 個自動化的執行歷程無法使用。計數僅包含可用的歷程記錄。"
},
"AutomationsPageBreadcrumb": {
"ariaLabel": "自動化麵包屑",
@@ -17258,7 +17300,8 @@
"namedWorkspaceGone": "{{name}}(已無法使用)"
},
"usage": {
"tokensAndCost_other": "{{tokens}} token · {{cost}}"
"tokensAndCost_other": "{{tokens}} token · {{cost}}",
"costUnavailable": "無資料"
},
"externalDisplay": {
"sshHost": "SSH 主機",
@@ -17270,6 +17313,9 @@
"connectSshHost": "請先連線至此 SSH 主機,再管理 {{provider}} 自動化。",
"cannotManageOnSshHost": "{{provider}} 無法管理此 SSH 主機上的自動化。",
"cannotManageLocally": "{{provider}} 無法管理此電腦上的自動化。"
},
"hostSummary": {
"partialFailureOfHosts_other": "{{count}} 台主機中有 {{failed}} 台無法載入"
}
},
"agent": {
@@ -17335,8 +17381,8 @@
},
"filtersSection": "篩選條件",
"viewSection": "檢視",
"threadListOptionsActive": "討論串清單選項(已啟用 {{value0}} 個)",
"activityOptionsActive": "活動選項({{value0}})"
"threadListOptionsActiveFilters_other": "討論串清單選項({{count}} 個篩選條件已啟用)",
"activityOptionsFilterCount_other": "活動選項({{count}} 個篩選條件)"
},
"clearCompleted": {
"undo": "復原",
@@ -19419,7 +19465,8 @@
"forceDeleteRisk_other": "{{count}} 個工作區目前存在風險,可能需要強制刪除",
"selectionVanishedCount_other": "所選的 {{count}} 個工作區已不存在。",
"selectionWithheldCount_other": "所選的 {{count}} 個工作區已被目前的篩選條件隱藏,因此已取消選取。",
"selectAllSafetyChecked_other": "選取全部 {{count}} 個已通過安全檢查的工作區"
"selectAllSafetyChecked_other": "選取全部 {{count}} 個已通過安全檢查的工作區",
"lastActive": "上次活動時間:{{value0}}"
},
"scan": {
"progress": "正在掃描工作區({{value0}}/{{value1}})",
@@ -20062,7 +20109,13 @@
"kimiContinueSessionConflict": "Kimi 收到衝突的選項:--continue, --session。請在重試前修正產生文字的動作範本或 CLI 引數。"
},
"enableSourceControlAi": "請在「設定 -> Git」中啟用原始碼控制 AI。",
"chooseBaseBranch": "產生前請先選擇基礎分支。"
"chooseBaseBranch": "產生前請先選擇基礎分支。",
"savedCommitRecipeRepo": "已為此存放庫儲存提交訊息動作範本。",
"savedCommitRecipeGlobal": "已將提交訊息動作範本儲存為全域預設值。",
"savedReviewRecipeRepo": "已為此存放庫儲存託管審查動作範本。",
"savedReviewRecipeGlobal": "已將託管審查動作範本儲存為全域預設值。",
"savedBranchRecipeRepo": "已為此存放庫儲存分支名稱動作範本。",
"savedBranchRecipeGlobal": "已將分支名稱動作範本儲存為全域預設值。"
},
"remoteError": {
"submodule": {
@@ -20136,6 +20189,13 @@
"pull": "拉取遭阻擋 — 請先移動、移除或新增未追蹤的檔案。"
},
"authenticationFailed": "身分驗證失敗。請檢查遠端憑證。"
},
"submodule": {
"worktreeOnlyLabel": "在子模組內暫存",
"worktreeOnlyTooltip": "父存放庫(包括「暫存全部」)無法暫存子模組內的檔案變更",
"loading": "正在載入子模組變更…",
"empty": "子模組中沒有變更",
"loadFailed": "無法載入子模組變更"
}
},
"agentsSidebarIntro": {
@@ -21642,10 +21702,6 @@
"workspaceApiKeyHint": "請貼上 {{workspace}} 的個人 API 金鑰。若此工作區已連線,Orca 會取代已儲存的金鑰。"
}
},
"workspaceOptions": {
"activeFilterCount_one": "{{count}} 個篩選條件",
"activeFilterCount_other": "{{count}} 個篩選條件"
},
"editorConflicts": {
"kind": {
"addedByUs": "我們新增",
@@ -22175,5 +22231,15 @@
"image": "自訂寵物",
"bundle": "寵物套件"
}
},
"diffComments": {
"lineRangeMeta": "第 {{start}}-{{end}} 行",
"lineMeta": "第 {{line}} 行"
},
"agentSendTargets": {
"disabledReason": {
"needsPermission": "代理程式需要權限",
"statusStale": "代理程式狀態資訊已過期"
}
}
}
+93 -29
View File
@@ -560,8 +560,8 @@
"clearHosts": "清除主机",
"clearProjects": "清除项目",
"back": "返回",
"ariaActive": "筛选:{{value0}} 个生效。",
"scopedTo": "范围:"
"scopedTo": "范围:",
"ariaActiveCount_other": "筛选:已启用 {{count}} 个。"
},
"linearIssue": {
"createLabel": "从 Linear 议题 {{value0}} 创建工作树:{{value1}}",
@@ -3136,7 +3136,6 @@
"cleanup": {
"WorkspaceCleanupDialog": {
"3828408538": "删除 {{value0}}",
"352f15d6fc": "最后活跃",
"b6bae1eed1": "取消",
"38ca0b1400": "这将永久删除他们的本地文件。您无法撤销此操作。",
"e97e4580c7": "有改动",
@@ -3865,7 +3864,9 @@
"f395c9a685": "导入文件失败",
"e6234bcc17": "自定义宠物上传需要完全重启应用(不仅是重新加载)。",
"6d0a8cd179": "显示宠物",
"1fbc51cc77": "隐藏宠物"
"1fbc51cc77": "隐藏宠物",
"petFallbackLabel": "宠物",
"petHiddenLabel": "{{pet}} 已隐藏"
},
"PortsStatusSegment": {
"4ebf90c12e": "未检测到外部端口",
@@ -4821,7 +4822,6 @@
"description": "更新 {{value0}},让智能体遵循此版本 Orca 的最新说明。",
"title_other": "{{count}} 个已安装的 Orca 技能需要更新"
},
"SkillFreshnessRow": {},
"SkillFreshnessUpdateDialog": {
"title": "更新技能",
"checking": "正在检查已安装的 Orca 技能…",
@@ -4859,7 +4859,6 @@
"updateServer": "请在服务器上更新 Orca",
"connectHost": "请连接 SSH 主机"
},
"SkillUpdateResultRows": {},
"SkillUpdateRow": {
"replaceWithOrca": "替换为 Orca 的副本(保留备份)"
},
@@ -5349,7 +5348,8 @@
"c49fb13492": "添加远程文件夹失败",
"9a766f33ac": "已在 SSH 主机上检查此路径。",
"79fd02cf5f": "已在 {{hostName}} 上检查此路径。",
"8851b77327": "已在本机检查此路径。"
"8851b77327": "已在本机检查此路径。",
"sshConnectionUnavailable": "未找到 SSH 连接“{{connection}}”或该连接未连接"
},
"OrcaYamlTrustDialog": {
"f3e2b868fb": "运行钩子",
@@ -5433,8 +5433,7 @@
"removeDescriptionSsh": "此操作仅将 {{name}} 从 Orca 中移除。文件仍保留在 {{host}} 上 — 重新添加该 SSH 主机即可恢复。",
"removeDescriptionLocal": "此操作仅将 {{name}} 从 Orca 中移除。文件仍保留在您的磁盘上。",
"removeDescriptionVmRecipe": "这会从 Orca 中删除 {{name}}。其VM配方决定是否永久删除环境及其文件。",
"openTerminalWarningOne": "此项目中 1 个打开的终端将被关闭。",
"openTerminalWarningMany": "此项目中 {{count}} 个打开的终端将被关闭。"
"openTerminalWarning_other": "此项目中打开的 {{count}} 个终端将被关闭。"
},
"ScrollToCurrentWorkspaceToolbarButton": {
"23989bb663": "显示活动工作区"
@@ -5544,7 +5543,7 @@
"4815c70605": "没有匹配的项目",
"bbbc6e8e3b": "没有匹配的未选择项目",
"allProjects": "所有项目",
"selectedProjectsCount": "{{value0}} 个项目"
"selectedProjects_other": "{{count}} 个项目"
},
"SidebarSettingsHelpMenu": {
"ad3d3ed7f1": "重启 Orca",
@@ -5592,8 +5591,6 @@
"7bada3b1ab": "排序方式",
"dc0bb670bc": "分组依据",
"9919ae1082": "工作区选项",
"bc96dbd041": "工作区选项 ({{value0}})",
"optionsActiveLabel": "工作区选项({{value0}} 个生效)",
"af9249c505": "最近的工作区活动",
"b451c8b162": "最近的",
"6664282a7b": "拖动项目进行排列",
@@ -5634,7 +5631,9 @@
"automation": "自动化",
"folderPathIdentity": "分支 / 文件夹路径",
"cli": "Orca CLI",
"workspaceOptions": "工作区选项"
"workspaceOptions": "工作区选项",
"optionsActiveFilters_other": "工作区选项({{count}} 个筛选条件已启用)",
"optionsFilterCount_other": "工作区选项({{count}} 个筛选条件)"
},
"SshTargetRow": {
"4677394048": "正在连接…",
@@ -5703,7 +5702,8 @@
},
"WorktreeCardAgents": {
"1b0a156717": "智能体",
"agentUnavailable": "智能体不可用"
"agentUnavailable": "智能体不可用",
"sendingTarget": "正在发送..."
},
"WorktreeCardMeta": {
"3e65e11cc6": "工作区元数据",
@@ -16610,8 +16610,6 @@
"failed24h": "失败 · 24 小时",
"successful7d": "成功 · 7 天",
"failed7d": "失败 · 7 天",
"historyUnavailableOne": "1 个自动化的运行历史不可用。计数仅包含可用的历史记录。",
"historyUnavailableMany": "{{count}} 个自动化的运行历史不可用。计数仅包含可用的历史记录。",
"automation": "自动化",
"triggered": "已触发",
"trigger": "触发",
@@ -16620,7 +16618,8 @@
"emptyDescription": "触发自动化后,运行记录会显示在这里。",
"runs": "运行",
"local": "本地",
"remote": "远程"
"remote": "远程",
"historyUnavailable_other": "{{count}} 个自动化的运行历史不可用。统计仅包含可用的历史记录。"
},
"AutomationsPageBreadcrumb": {
"ariaLabel": "自动化面包屑导航",
@@ -16984,9 +16983,6 @@
"sortedAscending": "{{value0}},升序排序",
"sortedDescending": "{{value0}},降序排序"
},
"hostSummary": {
"partialFailure": "无法加载 {{total}} 主机的 {{failed}}"
},
"emptyState": {
"unknownHost": "该主机",
"hostLoading": "正在加载主机...",
@@ -17129,7 +17125,8 @@
"namedWorkspaceGone": "{{name}}(已不可用)"
},
"usage": {
"tokensAndCost_other": "{{tokens}} token · {{cost}}"
"tokensAndCost_other": "{{tokens}} token · {{cost}}",
"costUnavailable": "暂无数据"
},
"externalDisplay": {
"sshHost": "SSH 主机",
@@ -17141,6 +17138,9 @@
"connectSshHost": "请先连接此 SSH 主机,再管理 {{provider}} 自动化。",
"cannotManageOnSshHost": "{{provider}} 无法管理此 SSH 主机上的自动化。",
"cannotManageLocally": "{{provider}} 无法管理此计算机上的自动化。"
},
"hostSummary": {
"partialFailureOfHosts_other": "{{count}} 个主机中有 {{failed}} 个无法加载"
}
},
"agent": {
@@ -17206,8 +17206,8 @@
},
"filtersSection": "筛选",
"viewSection": "视图",
"threadListOptionsActive": "线程列表选项({{value0}} 个生效)",
"activityOptionsActive": "活动选项({{value0}})"
"threadListOptionsActiveFilters_other": "线程列表选项({{count}} 个筛选条件已启用)",
"activityOptionsFilterCount_other": "活动选项({{count}} 个筛选条件)"
},
"ActivityScopeFilterControls": {
"resetScope": "显示所有主机和项目",
@@ -19294,7 +19294,8 @@
"forceDeleteRisk_other": "{{count}} 个工作区目前存在风险,可能需要强制删除",
"selectionVanishedCount_other": "所选的 {{count}} 个工作区已不存在。",
"selectionWithheldCount_other": "所选的 {{count}} 个工作区被当前筛选条件隐藏,已取消选择。",
"selectAllSafetyChecked_other": "选择全部 {{count}} 个已通过安全检查的工作区"
"selectAllSafetyChecked_other": "选择全部 {{count}} 个已通过安全检查的工作区",
"lastActive": "最后活跃:{{value0}}"
},
"scan": {
"progress": "扫描工作区 ({{value0}}/{{value1}})",
@@ -20037,6 +20038,50 @@
"peerCheckFailed": "Orca 无法向 WSL 主机询问此电脑上的另一个 Orca 是否仍在使用该主机:{{detail}}",
"removalUnrecorded": "Orca 无法记录此次移除后仍在运行的内容:{{detail}}"
}
},
"agentSummary": {
"state": {
"waiting": "等待中",
"blocked": "已阻塞",
"interrupted": "已中断",
"failed": "失败",
"working": "工作中",
"monitoring": "监控中",
"done": "已完成",
"idle": "空闲",
"notReporting": "未报告状态",
"unconfirmed": "未确认",
"needsAttention": "需要处理"
},
"mixedStates": "{{subject}}:{{states}}",
"agentIdentityState": "{{agent}} {{status}}",
"agentCount_other": "{{count}} 个智能体",
"stateCount": {
"waiting_other": "{{count}} 个等待中",
"blocked_other": "{{count}} 个已阻塞",
"interrupted_other": "{{count}} 个已中断",
"failed_other": "{{count}} 个失败",
"working_other": "{{count}} 个工作中",
"monitoring_other": "{{count}} 个监控中",
"done_other": "{{count}} 个已完成",
"idle_other": "{{count}} 个空闲",
"notReporting_other": "{{count}} 个未报告状态",
"unconfirmed_other": "{{count}} 个未确认",
"needsAttention_other": "{{count}} 个需要处理"
},
"allInState": {
"waiting_other": "全部 {{count}} 个智能体等待中",
"blocked_other": "全部 {{count}} 个智能体已阻塞",
"interrupted_other": "全部 {{count}} 个智能体已中断",
"failed_other": "全部 {{count}} 个智能体失败",
"working_other": "全部 {{count}} 个智能体工作中",
"monitoring_other": "全部 {{count}} 个智能体监控中",
"done_other": "全部 {{count}} 个智能体已完成",
"idle_other": "全部 {{count}} 个智能体空闲",
"notReporting_other": "全部 {{count}} 个智能体未报告状态",
"unconfirmed_other": "全部 {{count}} 个智能体未确认",
"needsAttention_other": "全部 {{count}} 个智能体需要处理"
}
}
},
"editor": {
@@ -20344,7 +20389,13 @@
"kimiContinueSessionConflict": "Kimi 收到了冲突的选项:--continue, --session。请在重试前修正生成预设或 CLI 参数。"
},
"enableSourceControlAi": "请在设置 -> Git 中启用源代码控制 AI。",
"chooseBaseBranch": "请先选择基础分支,再生成。"
"chooseBaseBranch": "请先选择基础分支,再生成。",
"savedCommitRecipeRepo": "已为此仓库保存提交消息预设。",
"savedCommitRecipeGlobal": "已将提交消息预设保存为全局默认值。",
"savedReviewRecipeRepo": "已为此仓库保存托管评审预设。",
"savedReviewRecipeGlobal": "已将托管评审预设保存为全局默认值。",
"savedBranchRecipeRepo": "已为此仓库保存分支名称预设。",
"savedBranchRecipeGlobal": "已将分支名称预设保存为全局默认值。"
},
"remoteError": {
"submodule": {
@@ -20418,6 +20469,13 @@
"pull": "拉取被阻止 — 请先移动、移除或添加未跟踪文件。"
},
"authenticationFailed": "身份验证失败。请检查远程凭据。"
},
"submodule": {
"worktreeOnlyLabel": "在子模块内暂存",
"worktreeOnlyTooltip": "父仓库(包括“暂存全部”)无法暂存子模块内的文件更改",
"loading": "正在加载子模块更改…",
"empty": "子模块中没有更改",
"loadFailed": "无法加载子模块更改"
}
},
"rendererRecovery": {
@@ -21944,10 +22002,6 @@
}
}
},
"workspaceOptions": {
"activeFilterCount_one": "{{count}} 个筛选条件",
"activeFilterCount_other": "{{count}} 个筛选条件"
},
"editorConflicts": {
"kind": {
"addedByUs": "我们添加",
@@ -22477,5 +22531,15 @@
"image": "自定义宠物",
"bundle": "宠物包"
}
},
"diffComments": {
"lineRangeMeta": "第 {{start}}-{{end}} 行",
"lineMeta": "第 {{line}} 行"
},
"agentSendTargets": {
"disabledReason": {
"needsPermission": "智能体需要授权",
"statusStale": "智能体状态信息已过期"
}
}
}
@@ -0,0 +1,18 @@
import { translate } from '@/i18n/i18n'
// Target derivation keeps English reasons as comparison sentinels; translate only for display.
export function agentSendDisabledReasonLabel(reason: string): string {
switch (reason) {
case 'Agent needs permission':
return translate('agentSendTargets.disabledReason.needsPermission', 'Agent needs permission')
case 'Agent status is stale':
return translate('agentSendTargets.disabledReason.statusStale', 'Agent status is stale')
case 'Terminal is no longer available':
return translate(
'auto.components.editor.ReviewNotesSendMenu.terminalGone',
'Terminal is no longer available'
)
default:
return reason
}
}