From 1f8f10b1ff1fc8d7d3db01ca3a4939b258410d51 Mon Sep 17 00:00:00 2001 From: Travis James Date: Mon, 28 Sep 2026 15:04:33 -0500 Subject: [PATCH 1/2] docs(boss): plan C09.2 teams administration Assisted-by: OpenAI:gpt-6-astra [Codex] --- .../design.md | 5 +++++ .../proposal.md | 15 +++++++++++++++ .../specs/uar-team-administration/spec.md | 15 +++++++++++++++ .../uar-c09-task-ownership-mailbox-admin/tasks.md | 5 +++++ 4 files changed, 40 insertions(+) create mode 100644 openspec/changes/uar-c09-task-ownership-mailbox-admin/design.md create mode 100644 openspec/changes/uar-c09-task-ownership-mailbox-admin/proposal.md create mode 100644 openspec/changes/uar-c09-task-ownership-mailbox-admin/specs/uar-team-administration/spec.md create mode 100644 openspec/changes/uar-c09-task-ownership-mailbox-admin/tasks.md diff --git a/openspec/changes/uar-c09-task-ownership-mailbox-admin/design.md b/openspec/changes/uar-c09-task-ownership-mailbox-admin/design.md new file mode 100644 index 00000000000..2cf88686a12 --- /dev/null +++ b/openspec/changes/uar-c09-task-ownership-mailbox-admin/design.md @@ -0,0 +1,5 @@ +# Design + +The existing authenticated sidecar adapter resolves a Boss workspace before any UAR call. Its fixed operations post revisioned commands to UAR and parse scoped returned instances/messages. Renderer IPC accepts typed IDs, content and expected revisions, never an arbitrary endpoint. UAR rechecks owner, workspace and recipient at the durable mutation boundary; the renderer is not an authority source. + +The Teams panel retains UAR as the board source of truth. After each successful mutation it replaces the affected team from the server response; on conflict it refreshes and presents a retry action. Message status comes only from UAR receipt fields. The page labels planning and trigger intent accurately, without implying that a model is already running. At completion, build the actual Mac ARM64 application and exercise assignments, fencing, inbox persistence and page feedback against its packaged sidecar. diff --git a/openspec/changes/uar-c09-task-ownership-mailbox-admin/proposal.md b/openspec/changes/uar-c09-task-ownership-mailbox-admin/proposal.md new file mode 100644 index 00000000000..79fe899a4fd --- /dev/null +++ b/openspec/changes/uar-c09-task-ownership-mailbox-admin/proposal.md @@ -0,0 +1,15 @@ +# C09.2: Team ownership and mailbox administration + +## Why + +The installed Teams page can plan tasks, but cannot assign a member or inspect communication. UAR now needs one trusted, workspace-scoped administration path for claims and inbox receipts. + +## What changes + +- Extend the fixed main-process UAR adapter and typed IPC with claim, reassign, reviewer and inbox operations. +- Display task state, owner, ownership epoch and reviewer; send addressed `queue-only` or `trigger-turn` messages and show accepted/delivered/processed status. +- Translate all controls, results and errors in every shipped locale. Package the matching UAR sidecar. + +## Boundary + +The Boss never owns task state or accepts a renderer-selected URL. A trigger-turn action records intent only until C09.3 runtime admission. This increment has no Start Agent control. diff --git a/openspec/changes/uar-c09-task-ownership-mailbox-admin/specs/uar-team-administration/spec.md b/openspec/changes/uar-c09-task-ownership-mailbox-admin/specs/uar-team-administration/spec.md new file mode 100644 index 00000000000..19ceac4f850 --- /dev/null +++ b/openspec/changes/uar-c09-task-ownership-mailbox-admin/specs/uar-team-administration/spec.md @@ -0,0 +1,15 @@ +## ADDED Requirements + +### Requirement: The Boss administers scoped team assignments +The Boss SHALL expose fixed typed operations for a workspace's team task claim, reassignment and reviewer selection. It SHALL display the UAR-returned status, owner and fencing epoch and SHALL not infer that assignment starts execution. + +#### Scenario: Reassign a task in the installed app +- **WHEN** an operator reassigns a ready task through Teams settings +- **THEN** the page shows the returned owner and newer epoch, and a stale revision is reported as a conflict + +### Requirement: The Boss shows durable team communication truthfully +The Boss SHALL send an addressed team message through its trusted UAR adapter and show accepted, delivered and processed as separate states. It SHALL not represent `trigger-turn` intent as a running agent until UAR reports an admitted turn. + +#### Scenario: Reopen after restart +- **WHEN** the installed app restarts after sending a message +- **THEN** the Teams page reads the same UAR message and displays its actual persisted receipt stage diff --git a/openspec/changes/uar-c09-task-ownership-mailbox-admin/tasks.md b/openspec/changes/uar-c09-task-ownership-mailbox-admin/tasks.md new file mode 100644 index 00000000000..076af929f42 --- /dev/null +++ b/openspec/changes/uar-c09-task-ownership-mailbox-admin/tasks.md @@ -0,0 +1,5 @@ +# Tasks + +- [ ] 1. Add typed task and mailbox projections, fixed scoped adapter methods and IPC contracts. +- [ ] 2. Add Teams task ownership, reviewer and mailbox controls with explicit state feedback and all locale strings. +- [ ] 3. Package the exact matching UAR source and complete the installed Mac ARM64 build/function boundary. From 93207a98a8e652f259f6fb4264cbb11f2c85538f Mon Sep 17 00:00:00 2001 From: Travis James Date: Mon, 28 Sep 2026 15:43:51 -0500 Subject: [PATCH 2/2] feat(teams): administer durable task ownership and mailbox Assisted-by: OpenAI:gpt-6-astra [Codex] --- build/local-uar-source.json | 2 +- .../tasks.md | 6 +- .../uar/UarStarterAdministrationAdapter.ts | 4 +- .../uar/UarTeamsAdministrationAdapter.ts | 146 +++++++++++- src/main/ai/runtime/uar/index.ts | 12 +- .../ai/runtime/uar/uarStarterDocuments.ts | 11 +- src/main/ipc/handlers/prometheus.ts | 14 +- src/renderer/i18n/locales/de-de.json | 49 ++++ src/renderer/i18n/locales/el-gr.json | 49 ++++ src/renderer/i18n/locales/en-us.json | 49 ++++ src/renderer/i18n/locales/es-es.json | 49 ++++ src/renderer/i18n/locales/fr-fr.json | 49 ++++ src/renderer/i18n/locales/ja-jp.json | 49 ++++ src/renderer/i18n/locales/pt-pt.json | 49 ++++ src/renderer/i18n/locales/ro-ro.json | 49 ++++ src/renderer/i18n/locales/ru-ru.json | 49 ++++ src/renderer/i18n/locales/tr-tr.json | 49 ++++ src/renderer/i18n/locales/vi-vn.json | 49 ++++ src/renderer/i18n/locales/zh-cn.json | 49 ++++ src/renderer/i18n/locales/zh-tw.json | 49 ++++ .../PrometheusSettings/UarTeamMailbox.tsx | 210 +++++++++++++++++ .../PrometheusSettings/UarTeamTaskActions.tsx | 216 ++++++++++++++++++ .../PrometheusSettings/UarTeamTaskBoard.tsx | 48 +++- .../PrometheusSettings/UarTeamsPanel.tsx | 107 +++++++-- src/shared/ipc/schemas/prometheus.ts | 56 ++++- src/shared/types/uarTeams.ts | 66 +++++- 26 files changed, 1495 insertions(+), 40 deletions(-) create mode 100644 src/renderer/pages/settings/PrometheusSettings/UarTeamMailbox.tsx create mode 100644 src/renderer/pages/settings/PrometheusSettings/UarTeamTaskActions.tsx diff --git a/build/local-uar-source.json b/build/local-uar-source.json index f8b3f7ca2c8..1833943d474 100644 --- a/build/local-uar-source.json +++ b/build/local-uar-source.json @@ -2,6 +2,6 @@ "schema": 1, "platform": "darwin-arm64", "repository": "Prometheus-AGS/universal-agent-runtime", - "revision": "ae4db11869efd125dce7f9a2a488d876af0b7b98", + "revision": "d3d768636b46bd7b7cea29fba4987aa1754f8352", "version": "1.0.0" } diff --git a/openspec/changes/uar-c09-task-ownership-mailbox-admin/tasks.md b/openspec/changes/uar-c09-task-ownership-mailbox-admin/tasks.md index 076af929f42..cde1fd9c1c4 100644 --- a/openspec/changes/uar-c09-task-ownership-mailbox-admin/tasks.md +++ b/openspec/changes/uar-c09-task-ownership-mailbox-admin/tasks.md @@ -1,5 +1,5 @@ # Tasks -- [ ] 1. Add typed task and mailbox projections, fixed scoped adapter methods and IPC contracts. -- [ ] 2. Add Teams task ownership, reviewer and mailbox controls with explicit state feedback and all locale strings. -- [ ] 3. Package the exact matching UAR source and complete the installed Mac ARM64 build/function boundary. +- [x] 1. Add typed task and mailbox projections, fixed scoped adapter methods and IPC contracts. +- [x] 2. Add Teams task ownership, reviewer and mailbox controls with explicit state feedback and all locale strings. +- [x] 3. Package the exact matching UAR source and complete the installed Mac ARM64 build/function boundary. diff --git a/src/main/ai/runtime/uar/UarStarterAdministrationAdapter.ts b/src/main/ai/runtime/uar/UarStarterAdministrationAdapter.ts index 3dad44ecfb5..02c0578311a 100644 --- a/src/main/ai/runtime/uar/UarStarterAdministrationAdapter.ts +++ b/src/main/ai/runtime/uar/UarStarterAdministrationAdapter.ts @@ -207,8 +207,8 @@ export async function setupUarStarterTeam(workspaceId: string): Promise candidate.workspaceId !== resolved)) { diff --git a/src/main/ai/runtime/uar/UarTeamsAdministrationAdapter.ts b/src/main/ai/runtime/uar/UarTeamsAdministrationAdapter.ts index 6ec207aac88..bf5101b0743 100644 --- a/src/main/ai/runtime/uar/UarTeamsAdministrationAdapter.ts +++ b/src/main/ai/runtime/uar/UarTeamsAdministrationAdapter.ts @@ -1,6 +1,16 @@ import * as z from 'zod' -import type { UarAddTeamTaskInput, UarCreateTeamInput, UarTeamInstance, UarTeamsSnapshot } from '@shared/types/uarTeams' +import type { + UarAddTeamTaskInput, + UarCreateTeamInput, + UarTeamInstance, + UarTeamMailboxMessage, + UarTeamMailboxPage, + UarTeamMailboxSendInput, + UarTeamTaskCommandInput, + UarTeamTaskStateInput, + UarTeamsSnapshot +} from '@shared/types/uarTeams' import { capabilityState, rawBinding, scopedRequest, workspace } from './UarDurableAdministrationAdapter' @@ -28,8 +38,26 @@ const task = z.object({ outputContract: z.unknown(), output: z.null(), dependsOn: z.array(z.string()), - status: z.literal('queued'), + status: z.enum(['queued', 'ready', 'succeeded', 'failed', 'cancelled']), revision: z.number().int().nonnegative(), + assigneeMemberId: z.string().nullable().default(null), + ownershipEpoch: z.number().int().nonnegative().default(0), + assignmentAuthority: z + .object({ + bindingId: z.string(), + bindingRevision: z.number().int().nonnegative(), + workspaceId: z.string(), + role: z.string(), + memberId: z.string(), + ownershipEpoch: z.number().int().nonnegative(), + canExecute: z.literal(false), + canUseTools: z.literal(false) + }) + .nullable() + .default(null), + reviewerMemberId: z.string().nullable().default(null), + reviewerEpoch: z.number().int().nonnegative().default(0), + stateReason: z.string().nullable().default(null), createdAt: z.string(), updatedAt: z.string() }) @@ -57,6 +85,24 @@ const instance = z.object({ createdAt: z.string(), updatedAt: z.string() }) +const mailboxMessage = z.object({ + messageId: z.string(), + ownerId: z.string(), + workspaceId: z.string(), + teamId: z.string(), + senderOwnerId: z.string(), + recipientMemberId: z.string(), + recipientMemberRevision: z.number().int().nonnegative(), + taskId: z.string().nullish(), + taskEpoch: z.number().int().nonnegative().nullish(), + mode: z.enum(['queue-only', 'trigger-turn']), + content: z.string(), + status: z.enum(['accepted', 'delivered', 'processed']), + acceptedAt: z.string(), + deliveredAt: z.string().nullish(), + processedAt: z.string().nullish(), + processedTurnId: z.string().nullish() +}) function scopedTeam(value: unknown, workspaceId: string): UarTeamInstance { const team = instance.parse(value) @@ -70,14 +116,20 @@ async function planningState(workspaceId: string) { const capabilities = z .object({ collaboration: z.object({ - activation: z.object({ teamPlanning: z.boolean().default(false) }) + activation: z.object({ + teamPlanning: z.boolean().default(false), + taskOwnership: z.boolean().default(false), + teamMailbox: z.boolean().default(false) + }) }) }) .parse(await scopedRequest(resolved, '/api/v1/collaboration/capabilities', state.generation)) return { workspaceId: resolved, generation: state.generation, - planning: capabilities.collaboration.activation.teamPlanning + planning: capabilities.collaboration.activation.teamPlanning, + ownership: capabilities.collaboration.activation.taskOwnership, + mailbox: capabilities.collaboration.activation.teamMailbox } } @@ -88,7 +140,7 @@ export async function readUarTeams(workspaceId: string): Promise, + action: 'claim' | 'reassign' | 'reviewer' | 'state', + payload: object +): Promise { + const state = await planningState(input.workspaceId) + if (!state.ownership) throw new Error('UAR team task ownership is unavailable') + const target = `${basePath}/${encodeURIComponent(input.teamInstanceId)}` + scopedTeam(await scopedRequest(state.workspaceId, target, state.generation), state.workspaceId) + return scopedTeam( + await scopedRequest( + state.workspaceId, + `${target}/tasks/${encodeURIComponent(input.taskId)}/${action}`, + state.generation, + 'POST', + { + commandId: input.commandId, + expectedTeamRevision: input.expectedTeamRevision, + expectedTaskRevision: input.expectedTaskRevision, + ...payload + } + ), + state.workspaceId + ) +} + +export async function claimUarTeamTask(input: UarTeamTaskCommandInput): Promise { + return mutateTeamTask(input, 'claim', { memberId: input.memberId }) +} + +export async function reassignUarTeamTask(input: UarTeamTaskCommandInput): Promise { + return mutateTeamTask(input, 'reassign', { memberId: input.memberId }) +} + +export async function assignUarTeamReviewer(input: UarTeamTaskCommandInput): Promise { + return mutateTeamTask(input, 'reviewer', { memberId: input.memberId }) +} + +export async function updateUarTeamTaskState(input: UarTeamTaskStateInput): Promise { + return mutateTeamTask(input, 'state', { status: input.status, reason: input.reason }) +} + +function scopedMailboxMessage(value: unknown, workspaceId: string, teamId: string): UarTeamMailboxMessage { + const message = mailboxMessage.parse(value) + if (message.workspaceId !== workspaceId || message.teamId !== teamId) { + throw new Error('UAR team mailbox scope mismatch') + } + return message +} + +export async function readUarTeamMailbox(input: { + workspaceId: string + teamInstanceId: string +}): Promise { + const state = await planningState(input.workspaceId) + if (!state.mailbox) throw new Error('UAR team mailbox is unavailable') + const target = `${basePath}/${encodeURIComponent(input.teamInstanceId)}` + scopedTeam(await scopedRequest(state.workspaceId, target, state.generation), state.workspaceId) + const page = z.object({ messages: z.array(z.unknown()) }).parse( + await scopedRequest(state.workspaceId, `${target}/messages`, state.generation) + ) + return { messages: page.messages.map((value) => scopedMailboxMessage(value, state.workspaceId, input.teamInstanceId)) } +} + +export async function sendUarTeamMailboxMessage(input: UarTeamMailboxSendInput): Promise { + const state = await planningState(input.workspaceId) + if (!state.mailbox) throw new Error('UAR team mailbox is unavailable') + const target = `${basePath}/${encodeURIComponent(input.teamInstanceId)}` + scopedTeam(await scopedRequest(state.workspaceId, target, state.generation), state.workspaceId) + return scopedMailboxMessage( + await scopedRequest(state.workspaceId, `${target}/messages`, state.generation, 'POST', { + commandId: input.commandId, + messageId: input.commandId, + recipientMemberId: input.recipientMemberId, + mode: input.mode, + content: input.content + }), + state.workspaceId, + input.teamInstanceId + ) +} diff --git a/src/main/ai/runtime/uar/index.ts b/src/main/ai/runtime/uar/index.ts index 6aebf6a3085..2ec1dc8c4e2 100644 --- a/src/main/ai/runtime/uar/index.ts +++ b/src/main/ai/runtime/uar/index.ts @@ -12,7 +12,17 @@ export { createUarDurableObserver, readUarDurableWorkspace } from './UarDurableAdministrationAdapter' -export { addUarTeamTask, createUarTeam, readUarTeams } from './UarTeamsAdministrationAdapter' +export { + addUarTeamTask, + assignUarTeamReviewer, + claimUarTeamTask, + createUarTeam, + readUarTeamMailbox, + readUarTeams, + reassignUarTeamTask, + sendUarTeamMailboxMessage, + updateUarTeamTaskState +} from './UarTeamsAdministrationAdapter' export { setupUarStarterAgent, setupUarStarterTeam } from './UarStarterAdministrationAdapter' export { deleteUarProvider, diff --git a/src/main/ai/runtime/uar/uarStarterDocuments.ts b/src/main/ai/runtime/uar/uarStarterDocuments.ts index 3c929c6b6fc..e4eaae8a649 100644 --- a/src/main/ai/runtime/uar/uarStarterDocuments.ts +++ b/src/main/ai/runtime/uar/uarStarterDocuments.ts @@ -93,6 +93,7 @@ export function starterPackage() { /** A separate immutable planning package; installing it never changes the existing starter agent binding. */ export function starterTeamPackage() { + const teamVersion = '1.0.1' const starter = starterPackage() const agentSource = starter.files[agentPath] const agent = JSON.parse(agentSource) as { id: string; version: string; contentDigest: string } @@ -134,12 +135,12 @@ export function starterTeamPackage() { profile, kind: 'TeamDefinition', id: teamId, - version, + version: teamVersion, provenance: { source: 'The Boss built-in starter team', authors: ['The Boss'] }, requiredCapabilities: [], extensions: {}, title: 'Starter planning team', - purpose: 'Plan a workspace task with a coordinator and a worker.', + purpose: 'Plan a workspace task with a coordinator and up to two workers.', members: [ { role: 'coordinator', kind: 'agent', definition: agentRef, min: 1, max: 1, responsibility: 'Define the plan.' }, { @@ -147,7 +148,7 @@ export function starterTeamPackage() { kind: 'agent', definition: agentRef, min: 1, - max: 1, + max: 2, responsibility: 'Prepare the assigned work.' } ], @@ -155,7 +156,7 @@ export function starterTeamPackage() { communication: [], taskAcceptance: { mode: 'operator', allowedWorkflows: [workflowRef] }, routing: { eligibilityFirst: true, strategy: 'operator-role-capacity-cost-stable-id', explain: true }, - limits: { concurrentTurns: 1, maxMembers: 2, maxDepth: 0, maxPendingTasks: 8 }, + limits: { concurrentTurns: 1, maxMembers: 3, maxDepth: 0, maxPendingTasks: 8 }, budget: { maxTokens: 10000, maxCostMicrounits: 1000000, currency: 'USD', maxElapsedSeconds: 300 }, input: { type: 'object' }, output: { type: 'object' } @@ -166,7 +167,7 @@ export function starterTeamPackage() { profile, kind: 'PackageManifest', id: 'urn:boss:starter:team-package', - version, + version: teamVersion, provenance: { source: 'The Boss built-in starter team', authors: ['The Boss'] }, requiredCapabilities: ['collaboration_definition_packages_v2'], extensions: {}, diff --git a/src/main/ipc/handlers/prometheus.ts b/src/main/ipc/handlers/prometheus.ts index 4dcd20441b4..1b36a2534d9 100644 --- a/src/main/ipc/handlers/prometheus.ts +++ b/src/main/ipc/handlers/prometheus.ts @@ -1,11 +1,13 @@ import { application } from '@application' import { addUarTeamTask, + assignUarTeamReviewer, acknowledgeUarDurableGap, actOnUarDurableInstance, actOnUarDurableObserver, compileUarAgent, cancelUarRun, + claimUarTeamTask, createUarDurableInstance, createUarDurableObserver, createUarTeam, @@ -23,6 +25,7 @@ import { readUarAdministrationSnapshot, readUarDurableWorkspace, readUarTeams, + readUarTeamMailbox, readUarOperations, readUarRunDetail, readUarCatalog, @@ -31,6 +34,7 @@ import { readUarPresentations, readUarSettings, refreshUarSkills, + reassignUarTeamTask, saveUarA2uiComponent, saveUarAgent, saveUarAgentSkills, @@ -43,11 +47,13 @@ import { setupUarStarterAgent, setupUarStarterTeam, searchUarKnowledge, + sendUarTeamMailboxMessage, uploadUarKnowledgeDocument, setDefaultUarProvider, testUarProvider, toggleUarSkill, - updateUarSettings + updateUarSettings, + updateUarTeamTaskState } from '@main/ai/runtime/uar' import { StaleIntegrationRevisionError } from '@main/services/prometheus/integrationErrors' import { @@ -149,6 +155,12 @@ const prometheusHandlerImplementations: IpcHandlersFor setupUarStarterTeam(workspaceId), 'prometheus.uar.teams.create': async (input) => createUarTeam(input), 'prometheus.uar.teams.add_task': async (input) => addUarTeamTask(input), + 'prometheus.uar.teams.claim_task': async (input) => claimUarTeamTask(input), + 'prometheus.uar.teams.reassign_task': async (input) => reassignUarTeamTask(input), + 'prometheus.uar.teams.assign_reviewer': async (input) => assignUarTeamReviewer(input), + 'prometheus.uar.teams.update_task_state': async (input) => updateUarTeamTaskState(input), + 'prometheus.uar.teams.mailbox_list': async (input) => readUarTeamMailbox(input), + 'prometheus.uar.teams.mailbox_send': async (input) => sendUarTeamMailboxMessage(input), 'prometheus.uar.durable.setup_starter': async ({ workspaceId }) => setupUarStarterAgent(workspaceId), 'prometheus.uar.durable.create_instance': async (input) => createUarDurableInstance(input), 'prometheus.uar.durable.instance_action': async (input) => actOnUarDurableInstance(input), diff --git a/src/renderer/i18n/locales/de-de.json b/src/renderer/i18n/locales/de-de.json index 528aef3468e..a1250274b50 100644 --- a/src/renderer/i18n/locales/de-de.json +++ b/src/renderer/i18n/locales/de-de.json @@ -5647,52 +5647,101 @@ "settings.prometheus.integration.uarAdmin.teams.addTaskDescription": "Definieren Sie eine Aufgabe und ihre Abhängigkeiten. Die Planung startet keine Ausführung.", "settings.prometheus.integration.uarAdmin.teams.addTaskTitle": "Aufgabe planen", "settings.prometheus.integration.uarAdmin.teams.addingTask": "Aufgabe wird hinzugefügt…", + "settings.prometheus.integration.uarAdmin.teams.assignReviewer": "Prüfendes Mitglied zuweisen", + "settings.prometheus.integration.uarAdmin.teams.assignee": "Zugewiesenes Mitglied", + "settings.prometheus.integration.uarAdmin.teams.assigningReviewer": "Prüfendes Mitglied wird zugewiesen…", "settings.prometheus.integration.uarAdmin.teams.binding": "Bereitstellungsbindung", + "settings.prometheus.integration.uarAdmin.teams.chooseAssignee": "Mitglied für diese Aufgabe wählen", "settings.prometheus.integration.uarAdmin.teams.chooseBinding": "Wählen Sie eine Bereitstellungsbindung", "settings.prometheus.integration.uarAdmin.teams.chooseDefinition": "Teamdefinition auswählen", "settings.prometheus.integration.uarAdmin.teams.chooseInstance": "Teaminstanz auswählen", + "settings.prometheus.integration.uarAdmin.teams.chooseRecipient": "Teammitglied wählen", + "settings.prometheus.integration.uarAdmin.teams.chooseReviewer": "Prüfendes Mitglied wählen", "settings.prometheus.integration.uarAdmin.teams.chooseRole": "Rolle auswählen", + "settings.prometheus.integration.uarAdmin.teams.claimTask": "Aufgabe für Mitglied übernehmen", "settings.prometheus.integration.uarAdmin.teams.createDescription": "Wählen Sie eine unveränderliche Definition und eine passende Bereitstellungsbindung.", "settings.prometheus.integration.uarAdmin.teams.createTeam": "Teaminstanz erstellen", "settings.prometheus.integration.uarAdmin.teams.createTitle": "Team erstellen", "settings.prometheus.integration.uarAdmin.teams.creating": "Team wird erstellt…", "settings.prometheus.integration.uarAdmin.teams.definition": "Teamdefinition", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode": "Zustellabsicht", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode.queueOnly": "Nur einreihen", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode.triggerTurn": "Durchlauf anfordern", "settings.prometheus.integration.uarAdmin.teams.dependencies": "Abhängig von", "settings.prometheus.integration.uarAdmin.teams.description": "Erstellen Sie ein Team und planen Sie abhängige Aufgaben für diesen Arbeitsbereich.", "settings.prometheus.integration.uarAdmin.teams.digest": "Prüfsumme", + "settings.prometheus.integration.uarAdmin.teams.installCurrentStarter": "Aktuelles Starterteam installieren", "settings.prometheus.integration.uarAdmin.teams.instancesDescription": "Mitglieder und geplante Arbeit eines Teams ansehen.", "settings.prometheus.integration.uarAdmin.teams.instancesTitle": "Teaminstanzen", "settings.prometheus.integration.uarAdmin.teams.invalidOutputContract": "Der Ausgabevertrag muss ein JSON-Objekt sein.", "settings.prometheus.integration.uarAdmin.teams.invalidTaskInput": "Die Aufgabeneingabe muss gültiges JSON sein.", "settings.prometheus.integration.uarAdmin.teams.invalidTeamInput": "Die Teameingabe muss gültiges JSON sein.", + "settings.prometheus.integration.uarAdmin.teams.mailboxDescription": "Adressierte Nachricht senden und Zustellstatus prüfen.", + "settings.prometheus.integration.uarAdmin.teams.mailboxPlanningOnly": "Nachrichten werden erfasst und zugestellt; die Agentenausführung ist in dieser Version nicht verfügbar.", + "settings.prometheus.integration.uarAdmin.teams.mailboxTitle": "Team-Postfach", + "settings.prometheus.integration.uarAdmin.teams.mailboxUnavailable": "Für Teamnachrichten ist eine neuere UAR-Sidecar-Version erforderlich.", + "settings.prometheus.integration.uarAdmin.teams.markReady": "Als bereit markieren", + "settings.prometheus.integration.uarAdmin.teams.markingReady": "Wird als bereit markiert…", + "settings.prometheus.integration.uarAdmin.teams.memberSlotCount": "Mitglieder für {{role}}", + "settings.prometheus.integration.uarAdmin.teams.memberSlots": "Teammitglieder", + "settings.prometheus.integration.uarAdmin.teams.memberSlotsDescription": "Wählen Sie die in dieser Definition zulässige Mitgliederzahl.", "settings.prometheus.integration.uarAdmin.teams.membersTitle": "Mitglieder", + "settings.prometheus.integration.uarAdmin.teams.messageContent": "Nachricht", + "settings.prometheus.integration.uarAdmin.teams.messageHistory": "Nachrichtenverlauf", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.accepted": "Angenommen", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.delivered": "Zugestellt", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.processed": "Verarbeitet", "settings.prometheus.integration.uarAdmin.teams.noBindings": "In diesem Arbeitsbereich sind keine Bereitstellungsbindungen verfügbar.", "settings.prometheus.integration.uarAdmin.teams.noDefinitions": "Keine Teamdefinitionen installiert.", "settings.prometheus.integration.uarAdmin.teams.noDependencies": "Keine früheren Aufgaben als Abhängigkeit.", "settings.prometheus.integration.uarAdmin.teams.noInstances": "Keine Teaminstanzen in diesem Arbeitsbereich.", "settings.prometheus.integration.uarAdmin.teams.noMembers": "Dieses Team hat keine Mitglieder.", + "settings.prometheus.integration.uarAdmin.teams.noMessages": "Noch keine Nachrichten.", "settings.prometheus.integration.uarAdmin.teams.noTasks": "Noch keine Aufgaben geplant.", "settings.prometheus.integration.uarAdmin.teams.none": "Keine", "settings.prometheus.integration.uarAdmin.teams.outputContract": "Ausgabevertrag (JSON-Schema)", + "settings.prometheus.integration.uarAdmin.teams.ownershipEpoch": "Zuweisungs-Epoche", + "settings.prometheus.integration.uarAdmin.teams.ownershipUnavailable": "Für die Aufgabenvergabe ist eine neuere UAR-Sidecar-Version erforderlich. Die Planung bleibt verfügbar.", + "settings.prometheus.integration.uarAdmin.teams.planningOnly": "Nur Planung und Zuweisung. Die Teamausführung ist noch nicht verfügbar.", "settings.prometheus.integration.uarAdmin.teams.planningUnavailable": "Teamplanung ist nicht verfügbar.", + "settings.prometheus.integration.uarAdmin.teams.readyReason": "Grund für die Bereitschaft", + "settings.prometheus.integration.uarAdmin.teams.reassignTask": "Aufgabe neu zuweisen", + "settings.prometheus.integration.uarAdmin.teams.recipient": "Empfänger", "settings.prometheus.integration.uarAdmin.teams.retryGuidance": "Prüfen Sie die Details und versuchen Sie es erneut.", + "settings.prometheus.integration.uarAdmin.teams.reviewer": "Prüfendes Mitglied", + "settings.prometheus.integration.uarAdmin.teams.reviewerAssigned": "Prüfendes Mitglied zugewiesen.", + "settings.prometheus.integration.uarAdmin.teams.reviewerEpoch": "Prüfungs-Epoche", "settings.prometheus.integration.uarAdmin.teams.revision": "Überarbeitung", + "settings.prometheus.integration.uarAdmin.teams.sendMessage": "Nachricht senden", + "settings.prometheus.integration.uarAdmin.teams.sendingMessage": "Nachricht wird gesendet…", "settings.prometheus.integration.uarAdmin.teams.settingUpStarter": "Starter-Team wird eingerichtet…", "settings.prometheus.integration.uarAdmin.teams.setupStarter": "Starter-Team einrichten", "settings.prometheus.integration.uarAdmin.teams.starterReady": "Das Starter-Team ist einsatzbereit.", + "settings.prometheus.integration.uarAdmin.teams.starterVersionHelp": "Fügt das neueste integrierte Team hinzu, ohne bestehende Teams zu ändern.", "settings.prometheus.integration.uarAdmin.teams.taskAdded": "Aufgabe zum Plan hinzugefügt.", "settings.prometheus.integration.uarAdmin.teams.taskBoardDescription": "Abhängigkeiten zeigen die vor der Ausführung erforderliche Reihenfolge.", "settings.prometheus.integration.uarAdmin.teams.taskBoardTitle": "Aufgabenübersicht", + "settings.prometheus.integration.uarAdmin.teams.taskClaimed": "Aufgabe für das gewählte Mitglied übernommen.", "settings.prometheus.integration.uarAdmin.teams.taskDetails": "Eingabe und Ausgabevertrag anzeigen", "settings.prometheus.integration.uarAdmin.teams.taskInput": "Aufgabeneingabe (JSON)", + "settings.prometheus.integration.uarAdmin.teams.taskReady": "Aufgabe als bereit markiert.", + "settings.prometheus.integration.uarAdmin.teams.taskReassigned": "Aufgabe neu zugewiesen.", "settings.prometheus.integration.uarAdmin.teams.taskRole": "Zugewiesene Rolle", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.cancelled": "Abgebrochen", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.failed": "Fehlgeschlagen", "settings.prometheus.integration.uarAdmin.teams.taskStatus.queued": "In Warteschlange", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.ready": "Bereit", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.succeeded": "Erfolgreich", "settings.prometheus.integration.uarAdmin.teams.taskTitle": "Aufgabentitel", "settings.prometheus.integration.uarAdmin.teams.teamCreated": "Teaminstanz erstellt.", "settings.prometheus.integration.uarAdmin.teams.teamInput": "Teameingabe (JSON)", "settings.prometheus.integration.uarAdmin.teams.teamInputDescription": "Die Eingabe wird mit der Teaminstanz gespeichert.", "settings.prometheus.integration.uarAdmin.teams.teamStatus.inactive": "Inaktiv", "settings.prometheus.integration.uarAdmin.teams.title": "Teams", + "settings.prometheus.integration.uarAdmin.teams.toMember": "An {{member}}", + "settings.prometheus.integration.uarAdmin.teams.unassigned": "Nicht zugewiesen", + "settings.prometheus.integration.uarAdmin.teams.updatingAssignment": "Zuweisung wird aktualisiert…", + "settings.prometheus.integration.uarAdmin.teams.waitingForDependencies": "Zuerst müssen die vorherigen Aufgaben abgeschlossen sein.", "settings.prometheus.integration.uarApplied": "Der laufende Sidecar verwendet die gespeicherte Konfiguration", "settings.prometheus.integration.uarApplyHelp": "Speichern Sie zuerst die Konfigurationsänderungen und wenden Sie sie dann an, um den Sidecar neu zu starten. Aktive UAR-Läufe blockieren Anwenden und Neustart.", "settings.prometheus.integration.uarApplyRequired": "Gespeicherte Änderungen wurden noch nicht auf den laufenden Sidecar angewendet", diff --git a/src/renderer/i18n/locales/el-gr.json b/src/renderer/i18n/locales/el-gr.json index 1c021e5e705..47651fd1084 100644 --- a/src/renderer/i18n/locales/el-gr.json +++ b/src/renderer/i18n/locales/el-gr.json @@ -5647,52 +5647,101 @@ "settings.prometheus.integration.uarAdmin.teams.addTaskDescription": "Ορίστε μια εργασία και τις εξαρτήσεις της. Ο σχεδιασμός δεν ξεκινά την εκτέλεση.", "settings.prometheus.integration.uarAdmin.teams.addTaskTitle": "Σχεδιασμός εργασίας", "settings.prometheus.integration.uarAdmin.teams.addingTask": "Προσθήκη εργασίας…", + "settings.prometheus.integration.uarAdmin.teams.assignReviewer": "Ανάθεση ελεγκτή", + "settings.prometheus.integration.uarAdmin.teams.assignee": "Ανατεθειμένο μέλος", + "settings.prometheus.integration.uarAdmin.teams.assigningReviewer": "Ανάθεση ελεγκτή…", "settings.prometheus.integration.uarAdmin.teams.binding": "Δέσμευση ανάπτυξης", + "settings.prometheus.integration.uarAdmin.teams.chooseAssignee": "Επιλέξτε μέλος για αυτή την εργασία", "settings.prometheus.integration.uarAdmin.teams.chooseBinding": "Επιλέξτε μια δέσμευση ανάπτυξης", "settings.prometheus.integration.uarAdmin.teams.chooseDefinition": "Επιλογή ορισμού ομάδας", "settings.prometheus.integration.uarAdmin.teams.chooseInstance": "Επιλογή παρουσίας ομάδας", + "settings.prometheus.integration.uarAdmin.teams.chooseRecipient": "Επιλέξτε μέλος ομάδας", + "settings.prometheus.integration.uarAdmin.teams.chooseReviewer": "Επιλέξτε ελεγκτή", "settings.prometheus.integration.uarAdmin.teams.chooseRole": "Επιλογή ρόλου", + "settings.prometheus.integration.uarAdmin.teams.claimTask": "Ανάληψη εργασίας για μέλος", "settings.prometheus.integration.uarAdmin.teams.createDescription": "Επιλέξτε αμετάβλητο ορισμό και αντίστοιχη σύνδεση ανάπτυξης.", "settings.prometheus.integration.uarAdmin.teams.createTeam": "Δημιουργία παρουσίας ομάδας", "settings.prometheus.integration.uarAdmin.teams.createTitle": "Δημιουργία ομάδας", "settings.prometheus.integration.uarAdmin.teams.creating": "Δημιουργία ομάδας…", "settings.prometheus.integration.uarAdmin.teams.definition": "Ορισμός ομάδας", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode": "Πρόθεση παράδοσης", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode.queueOnly": "Μόνο στην ουρά", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode.triggerTurn": "Αίτημα σειράς", "settings.prometheus.integration.uarAdmin.teams.dependencies": "Εξαρτάται από", "settings.prometheus.integration.uarAdmin.teams.description": "Δημιουργήστε ομάδα και σχεδιάστε εξαρτημένες εργασίες για αυτόν τον χώρο εργασίας.", "settings.prometheus.integration.uarAdmin.teams.digest": "Αποτύπωμα", + "settings.prometheus.integration.uarAdmin.teams.installCurrentStarter": "Εγκατάσταση τρέχουσας αρχικής ομάδας", "settings.prometheus.integration.uarAdmin.teams.instancesDescription": "Δείτε μέλη και προγραμματισμένη εργασία μιας ομάδας.", "settings.prometheus.integration.uarAdmin.teams.instancesTitle": "Παρουσίες ομάδων", "settings.prometheus.integration.uarAdmin.teams.invalidOutputContract": "Η σύμβαση εξόδου πρέπει να είναι αντικείμενο JSON.", "settings.prometheus.integration.uarAdmin.teams.invalidTaskInput": "Η είσοδος εργασίας πρέπει να είναι έγκυρο JSON.", "settings.prometheus.integration.uarAdmin.teams.invalidTeamInput": "Η είσοδος ομάδας πρέπει να είναι έγκυρο JSON.", + "settings.prometheus.integration.uarAdmin.teams.mailboxDescription": "Στείλτε μήνυμα σε μέλος και δείτε την κατάσταση παράδοσης.", + "settings.prometheus.integration.uarAdmin.teams.mailboxPlanningOnly": "Τα μηνύματα καταγράφονται και παραδίδονται· η εκτέλεση πρακτόρων δεν είναι διαθέσιμη σε αυτή την έκδοση.", + "settings.prometheus.integration.uarAdmin.teams.mailboxTitle": "Γραμματοκιβώτιο ομάδας", + "settings.prometheus.integration.uarAdmin.teams.mailboxUnavailable": "Τα μηνύματα ομάδας απαιτούν νεότερη έκδοση UAR.", + "settings.prometheus.integration.uarAdmin.teams.markReady": "Σήμανση ως έτοιμη", + "settings.prometheus.integration.uarAdmin.teams.markingReady": "Σήμανση ως έτοιμη…", + "settings.prometheus.integration.uarAdmin.teams.memberSlotCount": "Μέλη για {{role}}", + "settings.prometheus.integration.uarAdmin.teams.memberSlots": "Μέλη ομάδας", + "settings.prometheus.integration.uarAdmin.teams.memberSlotsDescription": "Επιλέξτε τον αριθμό μελών που επιτρέπει αυτός ο ορισμός.", "settings.prometheus.integration.uarAdmin.teams.membersTitle": "Μέλη", + "settings.prometheus.integration.uarAdmin.teams.messageContent": "Μήνυμα", + "settings.prometheus.integration.uarAdmin.teams.messageHistory": "Ιστορικό μηνυμάτων", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.accepted": "Αποδεκτό", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.delivered": "Παραδόθηκε", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.processed": "Επεξεργάστηκε", "settings.prometheus.integration.uarAdmin.teams.noBindings": "Δεν υπάρχουν διαθέσιμες δεσμεύσεις ανάπτυξης σε αυτόν τον χώρο εργασίας.", "settings.prometheus.integration.uarAdmin.teams.noDefinitions": "Δεν υπάρχουν εγκατεστημένοι ορισμοί ομάδων.", "settings.prometheus.integration.uarAdmin.teams.noDependencies": "Δεν υπάρχουν προηγούμενες εργασίες για εξάρτηση.", "settings.prometheus.integration.uarAdmin.teams.noInstances": "Δεν υπάρχουν παρουσίες ομάδων σε αυτόν τον χώρο εργασίας.", "settings.prometheus.integration.uarAdmin.teams.noMembers": "Αυτή η ομάδα δεν έχει μέλη.", + "settings.prometheus.integration.uarAdmin.teams.noMessages": "Δεν υπάρχουν ακόμη μηνύματα.", "settings.prometheus.integration.uarAdmin.teams.noTasks": "Δεν έχουν σχεδιαστεί εργασίες.", "settings.prometheus.integration.uarAdmin.teams.none": "Χωρίς", "settings.prometheus.integration.uarAdmin.teams.outputContract": "Σύμβαση εξόδου (Σχήμα JSON)", + "settings.prometheus.integration.uarAdmin.teams.ownershipEpoch": "Εποχή ανάθεσης", + "settings.prometheus.integration.uarAdmin.teams.ownershipUnavailable": "Η ανάθεση εργασιών απαιτεί νεότερη έκδοση UAR. Ο σχεδιασμός παραμένει διαθέσιμος.", + "settings.prometheus.integration.uarAdmin.teams.planningOnly": "Μόνο σχεδιασμός και αναθέσεις. Η εκτέλεση της ομάδας δεν είναι ακόμη διαθέσιμη.", "settings.prometheus.integration.uarAdmin.teams.planningUnavailable": "Ο σχεδιασμός ομάδας δεν είναι διαθέσιμος.", + "settings.prometheus.integration.uarAdmin.teams.readyReason": "Αιτιολογία ετοιμότητας", + "settings.prometheus.integration.uarAdmin.teams.reassignTask": "Νέα ανάθεση εργασίας", + "settings.prometheus.integration.uarAdmin.teams.recipient": "Παραλήπτης", "settings.prometheus.integration.uarAdmin.teams.retryGuidance": "Ελέγξτε τις λεπτομέρειες και δοκιμάστε ξανά.", + "settings.prometheus.integration.uarAdmin.teams.reviewer": "Ελεγκτής", + "settings.prometheus.integration.uarAdmin.teams.reviewerAssigned": "Ο ελεγκτής ανατέθηκε.", + "settings.prometheus.integration.uarAdmin.teams.reviewerEpoch": "Εποχή ελέγχου", "settings.prometheus.integration.uarAdmin.teams.revision": "Αναθεώρηση", + "settings.prometheus.integration.uarAdmin.teams.sendMessage": "Αποστολή μηνύματος", + "settings.prometheus.integration.uarAdmin.teams.sendingMessage": "Αποστολή μηνύματος…", "settings.prometheus.integration.uarAdmin.teams.settingUpStarter": "Ρύθμιση αρχικής ομάδας…", "settings.prometheus.integration.uarAdmin.teams.setupStarter": "Ρύθμιση αρχικής ομάδας", "settings.prometheus.integration.uarAdmin.teams.starterReady": "Η αρχική ομάδα είναι έτοιμη.", + "settings.prometheus.integration.uarAdmin.teams.starterVersionHelp": "Προσθέτει την πιο πρόσφατη ενσωματωμένη ομάδα χωρίς να αλλάζει υπάρχουσες ομάδες.", "settings.prometheus.integration.uarAdmin.teams.taskAdded": "Η εργασία προστέθηκε στο σχέδιο.", "settings.prometheus.integration.uarAdmin.teams.taskBoardDescription": "Οι εξαρτήσεις δείχνουν τη σειρά που απαιτείται πριν από την εκτέλεση.", "settings.prometheus.integration.uarAdmin.teams.taskBoardTitle": "Πίνακας εργασιών", + "settings.prometheus.integration.uarAdmin.teams.taskClaimed": "Η εργασία αναλήφθηκε για το επιλεγμένο μέλος.", "settings.prometheus.integration.uarAdmin.teams.taskDetails": "Προβολή εισόδου και σύμβασης εξόδου", "settings.prometheus.integration.uarAdmin.teams.taskInput": "Είσοδος εργασίας (JSON)", + "settings.prometheus.integration.uarAdmin.teams.taskReady": "Η εργασία σημάνθηκε ως έτοιμη.", + "settings.prometheus.integration.uarAdmin.teams.taskReassigned": "Η εργασία ανατέθηκε εκ νέου.", "settings.prometheus.integration.uarAdmin.teams.taskRole": "Ανατεθειμένος ρόλος", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.cancelled": "Ακυρώθηκε", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.failed": "Απέτυχε", "settings.prometheus.integration.uarAdmin.teams.taskStatus.queued": "Σε αναμονή", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.ready": "Έτοιμη", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.succeeded": "Επιτυχής", "settings.prometheus.integration.uarAdmin.teams.taskTitle": "Τίτλος εργασίας", "settings.prometheus.integration.uarAdmin.teams.teamCreated": "Η παρουσία ομάδας δημιουργήθηκε.", "settings.prometheus.integration.uarAdmin.teams.teamInput": "Είσοδος ομάδας (JSON)", "settings.prometheus.integration.uarAdmin.teams.teamInputDescription": "Η είσοδος αποθηκεύεται με την παρουσία ομάδας.", "settings.prometheus.integration.uarAdmin.teams.teamStatus.inactive": "Ανενεργή", "settings.prometheus.integration.uarAdmin.teams.title": "Ομάδες", + "settings.prometheus.integration.uarAdmin.teams.toMember": "Προς {{member}}", + "settings.prometheus.integration.uarAdmin.teams.unassigned": "Χωρίς ανάθεση", + "settings.prometheus.integration.uarAdmin.teams.updatingAssignment": "Ενημέρωση ανάθεσης…", + "settings.prometheus.integration.uarAdmin.teams.waitingForDependencies": "Ολοκληρώστε πρώτα τις προαπαιτούμενες εργασίες.", "settings.prometheus.integration.uarApplied": "Το ενεργό sidecar χρησιμοποιεί την αποθηκευμένη διαμόρφωση", "settings.prometheus.integration.uarApplyHelp": "Αποθηκεύστε πρώτα τις αλλαγές διαμόρφωσης και μετά εφαρμόστε τις για επανεκκίνηση του sidecar. Οι ενεργές εκτελέσεις UAR εμποδίζουν την εφαρμογή και την επανεκκίνηση.", "settings.prometheus.integration.uarApplyRequired": "Οι αποθηκευμένες αλλαγές δεν έχουν εφαρμοστεί στο ενεργό sidecar", diff --git a/src/renderer/i18n/locales/en-us.json b/src/renderer/i18n/locales/en-us.json index 6aa4003ab0e..2f55b1d5e22 100644 --- a/src/renderer/i18n/locales/en-us.json +++ b/src/renderer/i18n/locales/en-us.json @@ -5647,52 +5647,101 @@ "settings.prometheus.integration.uarAdmin.teams.addTaskDescription": "Define a task and its dependencies. Planning does not start execution.", "settings.prometheus.integration.uarAdmin.teams.addTaskTitle": "Plan a task", "settings.prometheus.integration.uarAdmin.teams.addingTask": "Adding task…", + "settings.prometheus.integration.uarAdmin.teams.assignReviewer": "Assign reviewer", + "settings.prometheus.integration.uarAdmin.teams.assignee": "Assignee", + "settings.prometheus.integration.uarAdmin.teams.assigningReviewer": "Assigning reviewer…", "settings.prometheus.integration.uarAdmin.teams.binding": "Deployment binding", + "settings.prometheus.integration.uarAdmin.teams.chooseAssignee": "Choose a member for this task", "settings.prometheus.integration.uarAdmin.teams.chooseBinding": "Choose a deployment binding", "settings.prometheus.integration.uarAdmin.teams.chooseDefinition": "Choose a team definition", "settings.prometheus.integration.uarAdmin.teams.chooseInstance": "Choose a team instance", + "settings.prometheus.integration.uarAdmin.teams.chooseRecipient": "Choose a team member", + "settings.prometheus.integration.uarAdmin.teams.chooseReviewer": "Choose a reviewer", "settings.prometheus.integration.uarAdmin.teams.chooseRole": "Choose a role", + "settings.prometheus.integration.uarAdmin.teams.claimTask": "Claim task for member", "settings.prometheus.integration.uarAdmin.teams.createDescription": "Choose an immutable definition and matching deployment binding.", "settings.prometheus.integration.uarAdmin.teams.createTeam": "Create team instance", "settings.prometheus.integration.uarAdmin.teams.createTitle": "Create a team", "settings.prometheus.integration.uarAdmin.teams.creating": "Creating team…", "settings.prometheus.integration.uarAdmin.teams.definition": "Team definition", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode": "Delivery intent", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode.queueOnly": "Queue only", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode.triggerTurn": "Request a turn", "settings.prometheus.integration.uarAdmin.teams.dependencies": "Depends on", "settings.prometheus.integration.uarAdmin.teams.description": "Create a team and plan dependent tasks for this workspace.", "settings.prometheus.integration.uarAdmin.teams.digest": "Digest", + "settings.prometheus.integration.uarAdmin.teams.installCurrentStarter": "Install current starter team", "settings.prometheus.integration.uarAdmin.teams.instancesDescription": "Inspect members and planned work for a team.", "settings.prometheus.integration.uarAdmin.teams.instancesTitle": "Team instances", "settings.prometheus.integration.uarAdmin.teams.invalidOutputContract": "Output contract must be a JSON object.", "settings.prometheus.integration.uarAdmin.teams.invalidTaskInput": "Task input must be valid JSON.", "settings.prometheus.integration.uarAdmin.teams.invalidTeamInput": "Team input must be valid JSON.", + "settings.prometheus.integration.uarAdmin.teams.mailboxDescription": "Send an addressed message and inspect delivery status.", + "settings.prometheus.integration.uarAdmin.teams.mailboxPlanningOnly": "Messages are recorded and delivered; agent execution is not available in this release.", + "settings.prometheus.integration.uarAdmin.teams.mailboxTitle": "Team mailbox", + "settings.prometheus.integration.uarAdmin.teams.mailboxUnavailable": "Team messaging requires a newer UAR sidecar.", + "settings.prometheus.integration.uarAdmin.teams.markReady": "Mark ready", + "settings.prometheus.integration.uarAdmin.teams.markingReady": "Marking ready…", + "settings.prometheus.integration.uarAdmin.teams.memberSlotCount": "{{role}} members", + "settings.prometheus.integration.uarAdmin.teams.memberSlots": "Team members", + "settings.prometheus.integration.uarAdmin.teams.memberSlotsDescription": "Choose the member count allowed by this definition.", "settings.prometheus.integration.uarAdmin.teams.membersTitle": "Members", + "settings.prometheus.integration.uarAdmin.teams.messageContent": "Message", + "settings.prometheus.integration.uarAdmin.teams.messageHistory": "Message history", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.accepted": "Accepted", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.delivered": "Delivered", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.processed": "Processed", "settings.prometheus.integration.uarAdmin.teams.noBindings": "No deployment bindings are available in this workspace.", "settings.prometheus.integration.uarAdmin.teams.noDefinitions": "No team definitions are installed.", "settings.prometheus.integration.uarAdmin.teams.noDependencies": "No earlier tasks to depend on.", "settings.prometheus.integration.uarAdmin.teams.noInstances": "No team instances in this workspace.", "settings.prometheus.integration.uarAdmin.teams.noMembers": "This team has no members.", + "settings.prometheus.integration.uarAdmin.teams.noMessages": "No messages yet.", "settings.prometheus.integration.uarAdmin.teams.noTasks": "No tasks have been planned.", "settings.prometheus.integration.uarAdmin.teams.none": "None", "settings.prometheus.integration.uarAdmin.teams.outputContract": "Output contract (JSON Schema)", + "settings.prometheus.integration.uarAdmin.teams.ownershipEpoch": "Assignment epoch", + "settings.prometheus.integration.uarAdmin.teams.ownershipUnavailable": "Task ownership requires a newer UAR sidecar. Planning remains available.", + "settings.prometheus.integration.uarAdmin.teams.planningOnly": "Planning and assignments only. Team execution is not available yet.", "settings.prometheus.integration.uarAdmin.teams.planningUnavailable": "Team planning is unavailable.", + "settings.prometheus.integration.uarAdmin.teams.readyReason": "Reason for readiness", + "settings.prometheus.integration.uarAdmin.teams.reassignTask": "Reassign task", + "settings.prometheus.integration.uarAdmin.teams.recipient": "Recipient", "settings.prometheus.integration.uarAdmin.teams.retryGuidance": "Review the details and try again.", + "settings.prometheus.integration.uarAdmin.teams.reviewer": "Reviewer", + "settings.prometheus.integration.uarAdmin.teams.reviewerAssigned": "Reviewer assigned.", + "settings.prometheus.integration.uarAdmin.teams.reviewerEpoch": "Reviewer epoch", "settings.prometheus.integration.uarAdmin.teams.revision": "Revision", + "settings.prometheus.integration.uarAdmin.teams.sendMessage": "Send message", + "settings.prometheus.integration.uarAdmin.teams.sendingMessage": "Sending message…", "settings.prometheus.integration.uarAdmin.teams.settingUpStarter": "Setting up starter team…", "settings.prometheus.integration.uarAdmin.teams.setupStarter": "Set up starter team", "settings.prometheus.integration.uarAdmin.teams.starterReady": "Starter team is ready to use.", + "settings.prometheus.integration.uarAdmin.teams.starterVersionHelp": "Adds the latest built-in team without changing existing teams.", "settings.prometheus.integration.uarAdmin.teams.taskAdded": "Task added to the plan.", "settings.prometheus.integration.uarAdmin.teams.taskBoardDescription": "Dependencies show the order required before execution.", "settings.prometheus.integration.uarAdmin.teams.taskBoardTitle": "Task board", + "settings.prometheus.integration.uarAdmin.teams.taskClaimed": "Task claimed for the selected member.", "settings.prometheus.integration.uarAdmin.teams.taskDetails": "View input and output contract", "settings.prometheus.integration.uarAdmin.teams.taskInput": "Task input (JSON)", + "settings.prometheus.integration.uarAdmin.teams.taskReady": "Task marked ready.", + "settings.prometheus.integration.uarAdmin.teams.taskReassigned": "Task reassigned.", "settings.prometheus.integration.uarAdmin.teams.taskRole": "Assigned role", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.cancelled": "Cancelled", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.failed": "Failed", "settings.prometheus.integration.uarAdmin.teams.taskStatus.queued": "Queued", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.ready": "Ready", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.succeeded": "Succeeded", "settings.prometheus.integration.uarAdmin.teams.taskTitle": "Task title", "settings.prometheus.integration.uarAdmin.teams.teamCreated": "Team instance created.", "settings.prometheus.integration.uarAdmin.teams.teamInput": "Team input (JSON)", "settings.prometheus.integration.uarAdmin.teams.teamInputDescription": "Input is stored with the team instance.", "settings.prometheus.integration.uarAdmin.teams.teamStatus.inactive": "Inactive", "settings.prometheus.integration.uarAdmin.teams.title": "Teams", + "settings.prometheus.integration.uarAdmin.teams.toMember": "To {{member}}", + "settings.prometheus.integration.uarAdmin.teams.unassigned": "Unassigned", + "settings.prometheus.integration.uarAdmin.teams.updatingAssignment": "Updating assignment…", + "settings.prometheus.integration.uarAdmin.teams.waitingForDependencies": "Complete prerequisite tasks before marking this ready.", "settings.prometheus.integration.uarApplied": "The running sidecar uses the saved configuration", "settings.prometheus.integration.uarApplyHelp": "Save configuration changes first, then apply them to restart the sidecar. Active UAR runs block apply and restart.", "settings.prometheus.integration.uarApplyRequired": "Saved changes have not been applied to the running sidecar", diff --git a/src/renderer/i18n/locales/es-es.json b/src/renderer/i18n/locales/es-es.json index cf092e1641e..36c00e28cb0 100644 --- a/src/renderer/i18n/locales/es-es.json +++ b/src/renderer/i18n/locales/es-es.json @@ -5647,52 +5647,101 @@ "settings.prometheus.integration.uarAdmin.teams.addTaskDescription": "Define una tarea y sus dependencias. Planificar no inicia la ejecución.", "settings.prometheus.integration.uarAdmin.teams.addTaskTitle": "Planificar una tarea", "settings.prometheus.integration.uarAdmin.teams.addingTask": "Añadiendo tarea…", + "settings.prometheus.integration.uarAdmin.teams.assignReviewer": "Asignar revisor", + "settings.prometheus.integration.uarAdmin.teams.assignee": "Miembro asignado", + "settings.prometheus.integration.uarAdmin.teams.assigningReviewer": "Asignando revisor…", "settings.prometheus.integration.uarAdmin.teams.binding": "Enlace de implementación", + "settings.prometheus.integration.uarAdmin.teams.chooseAssignee": "Elegir un miembro para esta tarea", "settings.prometheus.integration.uarAdmin.teams.chooseBinding": "Elija un enlace de implementación", "settings.prometheus.integration.uarAdmin.teams.chooseDefinition": "Elegir definición de equipo", "settings.prometheus.integration.uarAdmin.teams.chooseInstance": "Elegir instancia de equipo", + "settings.prometheus.integration.uarAdmin.teams.chooseRecipient": "Elegir un miembro del equipo", + "settings.prometheus.integration.uarAdmin.teams.chooseReviewer": "Elegir un revisor", "settings.prometheus.integration.uarAdmin.teams.chooseRole": "Elegir un rol", + "settings.prometheus.integration.uarAdmin.teams.claimTask": "Reclamar tarea para un miembro", "settings.prometheus.integration.uarAdmin.teams.createDescription": "Elige una definición inmutable y una vinculación de despliegue compatible.", "settings.prometheus.integration.uarAdmin.teams.createTeam": "Crear instancia de equipo", "settings.prometheus.integration.uarAdmin.teams.createTitle": "Crear un equipo", "settings.prometheus.integration.uarAdmin.teams.creating": "Creando equipo…", "settings.prometheus.integration.uarAdmin.teams.definition": "Definición de equipo", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode": "Intención de entrega", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode.queueOnly": "Solo poner en cola", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode.triggerTurn": "Solicitar un turno", "settings.prometheus.integration.uarAdmin.teams.dependencies": "Depende de", "settings.prometheus.integration.uarAdmin.teams.description": "Crea un equipo y planifica tareas dependientes para este espacio de trabajo.", "settings.prometheus.integration.uarAdmin.teams.digest": "Huella digital", + "settings.prometheus.integration.uarAdmin.teams.installCurrentStarter": "Instalar el equipo inicial actual", "settings.prometheus.integration.uarAdmin.teams.instancesDescription": "Consulta los miembros y el trabajo planificado de un equipo.", "settings.prometheus.integration.uarAdmin.teams.instancesTitle": "Instancias de equipo", "settings.prometheus.integration.uarAdmin.teams.invalidOutputContract": "El contrato de salida debe ser un objeto JSON.", "settings.prometheus.integration.uarAdmin.teams.invalidTaskInput": "La entrada de la tarea debe ser JSON válido.", "settings.prometheus.integration.uarAdmin.teams.invalidTeamInput": "La entrada del equipo debe ser JSON válido.", + "settings.prometheus.integration.uarAdmin.teams.mailboxDescription": "Envía un mensaje dirigido y consulta el estado de entrega.", + "settings.prometheus.integration.uarAdmin.teams.mailboxPlanningOnly": "Los mensajes se registran y entregan; la ejecución de agentes no está disponible en esta versión.", + "settings.prometheus.integration.uarAdmin.teams.mailboxTitle": "Buzón del equipo", + "settings.prometheus.integration.uarAdmin.teams.mailboxUnavailable": "Los mensajes del equipo requieren una versión más reciente de UAR.", + "settings.prometheus.integration.uarAdmin.teams.markReady": "Marcar como lista", + "settings.prometheus.integration.uarAdmin.teams.markingReady": "Marcando como lista…", + "settings.prometheus.integration.uarAdmin.teams.memberSlotCount": "Miembros de {{role}}", + "settings.prometheus.integration.uarAdmin.teams.memberSlots": "Miembros del equipo", + "settings.prometheus.integration.uarAdmin.teams.memberSlotsDescription": "Elige el número de miembros permitido por esta definición.", "settings.prometheus.integration.uarAdmin.teams.membersTitle": "Miembros", + "settings.prometheus.integration.uarAdmin.teams.messageContent": "Mensaje", + "settings.prometheus.integration.uarAdmin.teams.messageHistory": "Historial de mensajes", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.accepted": "Aceptado", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.delivered": "Entregado", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.processed": "Procesado", "settings.prometheus.integration.uarAdmin.teams.noBindings": "No hay enlaces de implementación disponibles en este espacio de trabajo.", "settings.prometheus.integration.uarAdmin.teams.noDefinitions": "No hay definiciones de equipo instaladas.", "settings.prometheus.integration.uarAdmin.teams.noDependencies": "No hay tareas anteriores de las que depender.", "settings.prometheus.integration.uarAdmin.teams.noInstances": "No hay instancias de equipo en este espacio de trabajo.", "settings.prometheus.integration.uarAdmin.teams.noMembers": "Este equipo no tiene miembros.", + "settings.prometheus.integration.uarAdmin.teams.noMessages": "Todavía no hay mensajes.", "settings.prometheus.integration.uarAdmin.teams.noTasks": "No se han planificado tareas.", "settings.prometheus.integration.uarAdmin.teams.none": "Ninguno", "settings.prometheus.integration.uarAdmin.teams.outputContract": "Contrato de salida (esquema JSON)", + "settings.prometheus.integration.uarAdmin.teams.ownershipEpoch": "Época de asignación", + "settings.prometheus.integration.uarAdmin.teams.ownershipUnavailable": "La asignación de tareas requiere una versión más reciente de UAR. La planificación sigue disponible.", + "settings.prometheus.integration.uarAdmin.teams.planningOnly": "Solo planificación y asignaciones. La ejecución del equipo aún no está disponible.", "settings.prometheus.integration.uarAdmin.teams.planningUnavailable": "La planificación de equipos no está disponible.", + "settings.prometheus.integration.uarAdmin.teams.readyReason": "Motivo para marcar como lista", + "settings.prometheus.integration.uarAdmin.teams.reassignTask": "Reasignar tarea", + "settings.prometheus.integration.uarAdmin.teams.recipient": "Destinatario", "settings.prometheus.integration.uarAdmin.teams.retryGuidance": "Revisa los detalles e inténtalo de nuevo.", + "settings.prometheus.integration.uarAdmin.teams.reviewer": "Revisor", + "settings.prometheus.integration.uarAdmin.teams.reviewerAssigned": "Revisor asignado.", + "settings.prometheus.integration.uarAdmin.teams.reviewerEpoch": "Época de revisión", "settings.prometheus.integration.uarAdmin.teams.revision": "Revisión", + "settings.prometheus.integration.uarAdmin.teams.sendMessage": "Enviar mensaje", + "settings.prometheus.integration.uarAdmin.teams.sendingMessage": "Enviando mensaje…", "settings.prometheus.integration.uarAdmin.teams.settingUpStarter": "Configurando equipo inicial…", "settings.prometheus.integration.uarAdmin.teams.setupStarter": "Configurar equipo inicial", "settings.prometheus.integration.uarAdmin.teams.starterReady": "El equipo inicial está listo para usarse.", + "settings.prometheus.integration.uarAdmin.teams.starterVersionHelp": "Añade el equipo integrado más reciente sin cambiar los equipos existentes.", "settings.prometheus.integration.uarAdmin.teams.taskAdded": "Tarea añadida al plan.", "settings.prometheus.integration.uarAdmin.teams.taskBoardDescription": "Las dependencias muestran el orden necesario antes de ejecutar.", "settings.prometheus.integration.uarAdmin.teams.taskBoardTitle": "Tablero de tareas", + "settings.prometheus.integration.uarAdmin.teams.taskClaimed": "Tarea reclamada para el miembro seleccionado.", "settings.prometheus.integration.uarAdmin.teams.taskDetails": "Ver entrada y contrato de salida", "settings.prometheus.integration.uarAdmin.teams.taskInput": "Entrada de la tarea (JSON)", + "settings.prometheus.integration.uarAdmin.teams.taskReady": "Tarea marcada como lista.", + "settings.prometheus.integration.uarAdmin.teams.taskReassigned": "Tarea reasignada.", "settings.prometheus.integration.uarAdmin.teams.taskRole": "Rol asignado", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.cancelled": "Cancelada", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.failed": "Fallida", "settings.prometheus.integration.uarAdmin.teams.taskStatus.queued": "En cola", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.ready": "Lista", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.succeeded": "Completada", "settings.prometheus.integration.uarAdmin.teams.taskTitle": "Título de la tarea", "settings.prometheus.integration.uarAdmin.teams.teamCreated": "Instancia de equipo creada.", "settings.prometheus.integration.uarAdmin.teams.teamInput": "Entrada del equipo (JSON)", "settings.prometheus.integration.uarAdmin.teams.teamInputDescription": "La entrada se guarda con la instancia de equipo.", "settings.prometheus.integration.uarAdmin.teams.teamStatus.inactive": "Inactivo", "settings.prometheus.integration.uarAdmin.teams.title": "Equipos", + "settings.prometheus.integration.uarAdmin.teams.toMember": "Para {{member}}", + "settings.prometheus.integration.uarAdmin.teams.unassigned": "Sin asignar", + "settings.prometheus.integration.uarAdmin.teams.updatingAssignment": "Actualizando asignación…", + "settings.prometheus.integration.uarAdmin.teams.waitingForDependencies": "Completa las tareas previas antes de marcar esta como lista.", "settings.prometheus.integration.uarApplied": "El sidecar en ejecución usa la configuración guardada", "settings.prometheus.integration.uarApplyHelp": "Guarda primero los cambios de configuración y aplícalos después para reiniciar el sidecar. Las ejecuciones activas de UAR impiden aplicar y reiniciar.", "settings.prometheus.integration.uarApplyRequired": "Los cambios guardados no se han aplicado al sidecar en ejecución", diff --git a/src/renderer/i18n/locales/fr-fr.json b/src/renderer/i18n/locales/fr-fr.json index 3e02ba321b7..b3063ee5dff 100644 --- a/src/renderer/i18n/locales/fr-fr.json +++ b/src/renderer/i18n/locales/fr-fr.json @@ -5647,52 +5647,101 @@ "settings.prometheus.integration.uarAdmin.teams.addTaskDescription": "Définissez une tâche et ses dépendances. La planification ne lance pas son exécution.", "settings.prometheus.integration.uarAdmin.teams.addTaskTitle": "Planifier une tâche", "settings.prometheus.integration.uarAdmin.teams.addingTask": "Ajout de la tâche…", + "settings.prometheus.integration.uarAdmin.teams.assignReviewer": "Affecter un réviseur", + "settings.prometheus.integration.uarAdmin.teams.assignee": "Membre affecté", + "settings.prometheus.integration.uarAdmin.teams.assigningReviewer": "Affectation du réviseur…", "settings.prometheus.integration.uarAdmin.teams.binding": "Liaison de déploiement", + "settings.prometheus.integration.uarAdmin.teams.chooseAssignee": "Choisir un membre pour cette tâche", "settings.prometheus.integration.uarAdmin.teams.chooseBinding": "Choisir une liaison de déploiement", "settings.prometheus.integration.uarAdmin.teams.chooseDefinition": "Choisir une définition d’équipe", "settings.prometheus.integration.uarAdmin.teams.chooseInstance": "Choisir une instance d’équipe", + "settings.prometheus.integration.uarAdmin.teams.chooseRecipient": "Choisir un membre de l’équipe", + "settings.prometheus.integration.uarAdmin.teams.chooseReviewer": "Choisir un réviseur", "settings.prometheus.integration.uarAdmin.teams.chooseRole": "Choisir un rôle", + "settings.prometheus.integration.uarAdmin.teams.claimTask": "Attribuer la tâche à un membre", "settings.prometheus.integration.uarAdmin.teams.createDescription": "Choisissez une définition immuable et une liaison de déploiement correspondante.", "settings.prometheus.integration.uarAdmin.teams.createTeam": "Créer une instance d’équipe", "settings.prometheus.integration.uarAdmin.teams.createTitle": "Créer une équipe", "settings.prometheus.integration.uarAdmin.teams.creating": "Création de l’équipe…", "settings.prometheus.integration.uarAdmin.teams.definition": "Définition d’équipe", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode": "Intention de livraison", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode.queueOnly": "Mettre en file uniquement", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode.triggerTurn": "Demander un tour", "settings.prometheus.integration.uarAdmin.teams.dependencies": "Dépend de", "settings.prometheus.integration.uarAdmin.teams.description": "Créez une équipe et planifiez des tâches dépendantes pour cet espace de travail.", "settings.prometheus.integration.uarAdmin.teams.digest": "Empreinte", + "settings.prometheus.integration.uarAdmin.teams.installCurrentStarter": "Installer l’équipe de démarrage actuelle", "settings.prometheus.integration.uarAdmin.teams.instancesDescription": "Consultez les membres et le travail planifié d’une équipe.", "settings.prometheus.integration.uarAdmin.teams.instancesTitle": "Instances d’équipe", "settings.prometheus.integration.uarAdmin.teams.invalidOutputContract": "Le contrat de sortie doit être un objet JSON.", "settings.prometheus.integration.uarAdmin.teams.invalidTaskInput": "L’entrée de la tâche doit être un JSON valide.", "settings.prometheus.integration.uarAdmin.teams.invalidTeamInput": "L’entrée de l’équipe doit être un JSON valide.", + "settings.prometheus.integration.uarAdmin.teams.mailboxDescription": "Envoyer un message ciblé et consulter son état de livraison.", + "settings.prometheus.integration.uarAdmin.teams.mailboxPlanningOnly": "Les messages sont enregistrés et livrés ; l’exécution des agents n’est pas disponible dans cette version.", + "settings.prometheus.integration.uarAdmin.teams.mailboxTitle": "Boîte de réception de l’équipe", + "settings.prometheus.integration.uarAdmin.teams.mailboxUnavailable": "La messagerie d’équipe nécessite une version plus récente de UAR.", + "settings.prometheus.integration.uarAdmin.teams.markReady": "Marquer comme prête", + "settings.prometheus.integration.uarAdmin.teams.markingReady": "Mise en état prêt…", + "settings.prometheus.integration.uarAdmin.teams.memberSlotCount": "Membres {{role}}", + "settings.prometheus.integration.uarAdmin.teams.memberSlots": "Membres de l’équipe", + "settings.prometheus.integration.uarAdmin.teams.memberSlotsDescription": "Choisissez le nombre de membres autorisé par cette définition.", "settings.prometheus.integration.uarAdmin.teams.membersTitle": "Membres", + "settings.prometheus.integration.uarAdmin.teams.messageContent": "Message", + "settings.prometheus.integration.uarAdmin.teams.messageHistory": "Historique des messages", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.accepted": "Accepté", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.delivered": "Livré", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.processed": "Traité", "settings.prometheus.integration.uarAdmin.teams.noBindings": "Aucune liaison de déploiement n'est disponible dans cet espace de travail.", "settings.prometheus.integration.uarAdmin.teams.noDefinitions": "Aucune définition d’équipe installée.", "settings.prometheus.integration.uarAdmin.teams.noDependencies": "Aucune tâche précédente dont dépendre.", "settings.prometheus.integration.uarAdmin.teams.noInstances": "Aucune instance d’équipe dans cet espace de travail.", "settings.prometheus.integration.uarAdmin.teams.noMembers": "Cette équipe ne compte aucun membre.", + "settings.prometheus.integration.uarAdmin.teams.noMessages": "Aucun message pour le moment.", "settings.prometheus.integration.uarAdmin.teams.noTasks": "Aucune tâche planifiée.", "settings.prometheus.integration.uarAdmin.teams.none": "Aucun", "settings.prometheus.integration.uarAdmin.teams.outputContract": "Contrat de sortie (schéma JSON)", + "settings.prometheus.integration.uarAdmin.teams.ownershipEpoch": "Époque d’affectation", + "settings.prometheus.integration.uarAdmin.teams.ownershipUnavailable": "L’attribution des tâches nécessite une version plus récente de UAR. La planification reste disponible.", + "settings.prometheus.integration.uarAdmin.teams.planningOnly": "Planification et affectations uniquement. L’exécution de l’équipe n’est pas encore disponible.", "settings.prometheus.integration.uarAdmin.teams.planningUnavailable": "La planification des équipes est indisponible.", + "settings.prometheus.integration.uarAdmin.teams.readyReason": "Motif de mise en état prêt", + "settings.prometheus.integration.uarAdmin.teams.reassignTask": "Réaffecter la tâche", + "settings.prometheus.integration.uarAdmin.teams.recipient": "Destinataire", "settings.prometheus.integration.uarAdmin.teams.retryGuidance": "Vérifiez les détails et réessayez.", + "settings.prometheus.integration.uarAdmin.teams.reviewer": "Réviseur", + "settings.prometheus.integration.uarAdmin.teams.reviewerAssigned": "Réviseur affecté.", + "settings.prometheus.integration.uarAdmin.teams.reviewerEpoch": "Époque de révision", "settings.prometheus.integration.uarAdmin.teams.revision": "Révision", + "settings.prometheus.integration.uarAdmin.teams.sendMessage": "Envoyer le message", + "settings.prometheus.integration.uarAdmin.teams.sendingMessage": "Envoi du message…", "settings.prometheus.integration.uarAdmin.teams.settingUpStarter": "Configuration de l’équipe de départ…", "settings.prometheus.integration.uarAdmin.teams.setupStarter": "Configurer l’équipe de départ", "settings.prometheus.integration.uarAdmin.teams.starterReady": "L’équipe de départ est prête.", + "settings.prometheus.integration.uarAdmin.teams.starterVersionHelp": "Ajoute la dernière équipe intégrée sans modifier les équipes existantes.", "settings.prometheus.integration.uarAdmin.teams.taskAdded": "Tâche ajoutée au plan.", "settings.prometheus.integration.uarAdmin.teams.taskBoardDescription": "Les dépendances indiquent l’ordre requis avant l’exécution.", "settings.prometheus.integration.uarAdmin.teams.taskBoardTitle": "Tableau des tâches", + "settings.prometheus.integration.uarAdmin.teams.taskClaimed": "Tâche attribuée au membre choisi.", "settings.prometheus.integration.uarAdmin.teams.taskDetails": "Afficher l’entrée et le contrat de sortie", "settings.prometheus.integration.uarAdmin.teams.taskInput": "Entrée de la tâche (JSON)", + "settings.prometheus.integration.uarAdmin.teams.taskReady": "Tâche marquée comme prête.", + "settings.prometheus.integration.uarAdmin.teams.taskReassigned": "Tâche réaffectée.", "settings.prometheus.integration.uarAdmin.teams.taskRole": "Rôle attribué", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.cancelled": "Annulée", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.failed": "Échouée", "settings.prometheus.integration.uarAdmin.teams.taskStatus.queued": "En attente", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.ready": "Prête", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.succeeded": "Réussie", "settings.prometheus.integration.uarAdmin.teams.taskTitle": "Titre de la tâche", "settings.prometheus.integration.uarAdmin.teams.teamCreated": "Instance d’équipe créée.", "settings.prometheus.integration.uarAdmin.teams.teamInput": "Entrée de l’équipe (JSON)", "settings.prometheus.integration.uarAdmin.teams.teamInputDescription": "L’entrée est enregistrée avec l’instance d’équipe.", "settings.prometheus.integration.uarAdmin.teams.teamStatus.inactive": "Inactive", "settings.prometheus.integration.uarAdmin.teams.title": "Équipes", + "settings.prometheus.integration.uarAdmin.teams.toMember": "À {{member}}", + "settings.prometheus.integration.uarAdmin.teams.unassigned": "Non affecté", + "settings.prometheus.integration.uarAdmin.teams.updatingAssignment": "Mise à jour de l’affectation…", + "settings.prometheus.integration.uarAdmin.teams.waitingForDependencies": "Terminez les tâches préalables avant de marquer celle-ci comme prête.", "settings.prometheus.integration.uarApplied": "Le sidecar en cours d’exécution utilise la configuration enregistrée", "settings.prometheus.integration.uarApplyHelp": "Enregistrez d’abord les modifications de configuration, puis appliquez-les pour redémarrer le sidecar. Les exécutions UAR actives bloquent l’application et le redémarrage.", "settings.prometheus.integration.uarApplyRequired": "Les modifications enregistrées n’ont pas été appliquées au sidecar en cours d’exécution", diff --git a/src/renderer/i18n/locales/ja-jp.json b/src/renderer/i18n/locales/ja-jp.json index 8487eaad02f..c3071dd7267 100644 --- a/src/renderer/i18n/locales/ja-jp.json +++ b/src/renderer/i18n/locales/ja-jp.json @@ -5647,52 +5647,101 @@ "settings.prometheus.integration.uarAdmin.teams.addTaskDescription": "タスクと依存関係を定義します。計画だけでは実行は始まりません。", "settings.prometheus.integration.uarAdmin.teams.addTaskTitle": "タスクを計画", "settings.prometheus.integration.uarAdmin.teams.addingTask": "タスクを追加中…", + "settings.prometheus.integration.uarAdmin.teams.assignReviewer": "レビュアーを割り当て", + "settings.prometheus.integration.uarAdmin.teams.assignee": "担当メンバー", + "settings.prometheus.integration.uarAdmin.teams.assigningReviewer": "レビュアーを割り当て中…", "settings.prometheus.integration.uarAdmin.teams.binding": "デプロイメントバインディング", + "settings.prometheus.integration.uarAdmin.teams.chooseAssignee": "このタスクの担当者を選択", "settings.prometheus.integration.uarAdmin.teams.chooseBinding": "デプロイメント バインディングを選択する", "settings.prometheus.integration.uarAdmin.teams.chooseDefinition": "チーム定義を選択", "settings.prometheus.integration.uarAdmin.teams.chooseInstance": "チームインスタンスを選択", + "settings.prometheus.integration.uarAdmin.teams.chooseRecipient": "チームメンバーを選択", + "settings.prometheus.integration.uarAdmin.teams.chooseReviewer": "レビュアーを選択", "settings.prometheus.integration.uarAdmin.teams.chooseRole": "役割を選択", + "settings.prometheus.integration.uarAdmin.teams.claimTask": "メンバーにタスクを割り当て", "settings.prometheus.integration.uarAdmin.teams.createDescription": "変更できない定義と対応するデプロイバインディングを選択します。", "settings.prometheus.integration.uarAdmin.teams.createTeam": "チームインスタンスを作成", "settings.prometheus.integration.uarAdmin.teams.createTitle": "チームを作成", "settings.prometheus.integration.uarAdmin.teams.creating": "チームを作成中…", "settings.prometheus.integration.uarAdmin.teams.definition": "チーム定義", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode": "配信方法", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode.queueOnly": "キューに入れるのみ", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode.triggerTurn": "ターンを要求", "settings.prometheus.integration.uarAdmin.teams.dependencies": "依存先", "settings.prometheus.integration.uarAdmin.teams.description": "このワークスペースのチームを作成し、依存関係のあるタスクを計画します。", "settings.prometheus.integration.uarAdmin.teams.digest": "ダイジェスト", + "settings.prometheus.integration.uarAdmin.teams.installCurrentStarter": "現在のスターターチームをインストール", "settings.prometheus.integration.uarAdmin.teams.instancesDescription": "チームのメンバーと計画済みの作業を確認します。", "settings.prometheus.integration.uarAdmin.teams.instancesTitle": "チームインスタンス", "settings.prometheus.integration.uarAdmin.teams.invalidOutputContract": "出力契約は JSON オブジェクトである必要があります。", "settings.prometheus.integration.uarAdmin.teams.invalidTaskInput": "タスク入力は有効な JSON である必要があります。", "settings.prometheus.integration.uarAdmin.teams.invalidTeamInput": "チーム入力は有効な JSON である必要があります。", + "settings.prometheus.integration.uarAdmin.teams.mailboxDescription": "宛先を指定してメッセージを送り、配信状況を確認します。", + "settings.prometheus.integration.uarAdmin.teams.mailboxPlanningOnly": "メッセージは記録・配信されます。このリリースではエージェントの実行は利用できません。", + "settings.prometheus.integration.uarAdmin.teams.mailboxTitle": "チームのメールボックス", + "settings.prometheus.integration.uarAdmin.teams.mailboxUnavailable": "チームのメッセージ機能には新しい UAR サイドカーが必要です。", + "settings.prometheus.integration.uarAdmin.teams.markReady": "準備完了にする", + "settings.prometheus.integration.uarAdmin.teams.markingReady": "準備完了に設定中…", + "settings.prometheus.integration.uarAdmin.teams.memberSlotCount": "{{role}} のメンバー数", + "settings.prometheus.integration.uarAdmin.teams.memberSlots": "チームメンバー", + "settings.prometheus.integration.uarAdmin.teams.memberSlotsDescription": "この定義で許可されるメンバー数を選択します。", "settings.prometheus.integration.uarAdmin.teams.membersTitle": "メンバー", + "settings.prometheus.integration.uarAdmin.teams.messageContent": "メッセージ", + "settings.prometheus.integration.uarAdmin.teams.messageHistory": "メッセージ履歴", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.accepted": "受付済み", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.delivered": "配信済み", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.processed": "処理済み", "settings.prometheus.integration.uarAdmin.teams.noBindings": "このワークスペースでは使用できるデプロイメント バインディングはありません。", "settings.prometheus.integration.uarAdmin.teams.noDefinitions": "チーム定義がインストールされていません。", "settings.prometheus.integration.uarAdmin.teams.noDependencies": "依存先となる先行タスクはありません。", "settings.prometheus.integration.uarAdmin.teams.noInstances": "このワークスペースにチームインスタンスはありません。", "settings.prometheus.integration.uarAdmin.teams.noMembers": "このチームにメンバーはいません。", + "settings.prometheus.integration.uarAdmin.teams.noMessages": "メッセージはまだありません。", "settings.prometheus.integration.uarAdmin.teams.noTasks": "計画済みタスクはありません。", "settings.prometheus.integration.uarAdmin.teams.none": "無", "settings.prometheus.integration.uarAdmin.teams.outputContract": "出力契約(JSON Schema)", + "settings.prometheus.integration.uarAdmin.teams.ownershipEpoch": "担当エポック", + "settings.prometheus.integration.uarAdmin.teams.ownershipUnavailable": "タスクの担当管理には新しい UAR サイドカーが必要です。計画は引き続き利用できます。", + "settings.prometheus.integration.uarAdmin.teams.planningOnly": "計画と割り当てのみ可能です。チームの実行はまだ利用できません。", "settings.prometheus.integration.uarAdmin.teams.planningUnavailable": "チーム計画は利用できません。", + "settings.prometheus.integration.uarAdmin.teams.readyReason": "準備完了とする理由", + "settings.prometheus.integration.uarAdmin.teams.reassignTask": "タスクを再割り当て", + "settings.prometheus.integration.uarAdmin.teams.recipient": "宛先", "settings.prometheus.integration.uarAdmin.teams.retryGuidance": "詳細を確認して再試行してください。", + "settings.prometheus.integration.uarAdmin.teams.reviewer": "レビュアー", + "settings.prometheus.integration.uarAdmin.teams.reviewerAssigned": "レビュアーを割り当てました。", + "settings.prometheus.integration.uarAdmin.teams.reviewerEpoch": "レビューエポック", "settings.prometheus.integration.uarAdmin.teams.revision": "改訂", + "settings.prometheus.integration.uarAdmin.teams.sendMessage": "メッセージを送信", + "settings.prometheus.integration.uarAdmin.teams.sendingMessage": "メッセージを送信中…", "settings.prometheus.integration.uarAdmin.teams.settingUpStarter": "初期チームを設定中…", "settings.prometheus.integration.uarAdmin.teams.setupStarter": "初期チームを設定", "settings.prometheus.integration.uarAdmin.teams.starterReady": "初期チームを利用できます。", + "settings.prometheus.integration.uarAdmin.teams.starterVersionHelp": "既存のチームを変更せずに、最新の組み込みチームを追加します。", "settings.prometheus.integration.uarAdmin.teams.taskAdded": "タスクを計画に追加しました。", "settings.prometheus.integration.uarAdmin.teams.taskBoardDescription": "依存関係は実行前に必要な順序を示します。", "settings.prometheus.integration.uarAdmin.teams.taskBoardTitle": "タスクボード", + "settings.prometheus.integration.uarAdmin.teams.taskClaimed": "選択したメンバーがタスクを引き受けました。", "settings.prometheus.integration.uarAdmin.teams.taskDetails": "入力と出力契約を表示", "settings.prometheus.integration.uarAdmin.teams.taskInput": "タスク入力(JSON)", + "settings.prometheus.integration.uarAdmin.teams.taskReady": "タスクを準備完了にしました。", + "settings.prometheus.integration.uarAdmin.teams.taskReassigned": "タスクを再割り当てしました。", "settings.prometheus.integration.uarAdmin.teams.taskRole": "割り当てられた役割", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.cancelled": "キャンセル済み", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.failed": "失敗", "settings.prometheus.integration.uarAdmin.teams.taskStatus.queued": "待機中", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.ready": "準備完了", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.succeeded": "成功", "settings.prometheus.integration.uarAdmin.teams.taskTitle": "タスク名", "settings.prometheus.integration.uarAdmin.teams.teamCreated": "チームインスタンスを作成しました。", "settings.prometheus.integration.uarAdmin.teams.teamInput": "チーム入力(JSON)", "settings.prometheus.integration.uarAdmin.teams.teamInputDescription": "入力はチームインスタンスとともに保存されます。", "settings.prometheus.integration.uarAdmin.teams.teamStatus.inactive": "非アクティブ", "settings.prometheus.integration.uarAdmin.teams.title": "チーム", + "settings.prometheus.integration.uarAdmin.teams.toMember": "{{member}} 宛て", + "settings.prometheus.integration.uarAdmin.teams.unassigned": "未割り当て", + "settings.prometheus.integration.uarAdmin.teams.updatingAssignment": "担当を更新中…", + "settings.prometheus.integration.uarAdmin.teams.waitingForDependencies": "前提タスクを完了してから準備完了にしてください。", "settings.prometheus.integration.uarApplied": "実行中のサイドカーは保存済みの設定を使用しています", "settings.prometheus.integration.uarApplyHelp": "最初に設定変更を保存し、適用してサイドカーを再起動します。UAR の実行中は適用と再起動がブロックされます。", "settings.prometheus.integration.uarApplyRequired": "保存済みの変更は実行中のサイドカーにまだ適用されていません", diff --git a/src/renderer/i18n/locales/pt-pt.json b/src/renderer/i18n/locales/pt-pt.json index b4e8f325362..0b296f0d8e5 100644 --- a/src/renderer/i18n/locales/pt-pt.json +++ b/src/renderer/i18n/locales/pt-pt.json @@ -5647,52 +5647,101 @@ "settings.prometheus.integration.uarAdmin.teams.addTaskDescription": "Defina uma tarefa e as suas dependências. O planeamento não inicia a execução.", "settings.prometheus.integration.uarAdmin.teams.addTaskTitle": "Planear uma tarefa", "settings.prometheus.integration.uarAdmin.teams.addingTask": "A adicionar tarefa…", + "settings.prometheus.integration.uarAdmin.teams.assignReviewer": "Atribuir revisor", + "settings.prometheus.integration.uarAdmin.teams.assignee": "Membro atribuído", + "settings.prometheus.integration.uarAdmin.teams.assigningReviewer": "A atribuir revisor…", "settings.prometheus.integration.uarAdmin.teams.binding": "Vinculação de implantação", + "settings.prometheus.integration.uarAdmin.teams.chooseAssignee": "Escolher um membro para esta tarefa", "settings.prometheus.integration.uarAdmin.teams.chooseBinding": "Escolha uma ligação de implantação", "settings.prometheus.integration.uarAdmin.teams.chooseDefinition": "Escolher definição da equipa", "settings.prometheus.integration.uarAdmin.teams.chooseInstance": "Escolher instância da equipa", + "settings.prometheus.integration.uarAdmin.teams.chooseRecipient": "Escolher um membro da equipa", + "settings.prometheus.integration.uarAdmin.teams.chooseReviewer": "Escolher um revisor", "settings.prometheus.integration.uarAdmin.teams.chooseRole": "Escolher função", + "settings.prometheus.integration.uarAdmin.teams.claimTask": "Atribuir tarefa a um membro", "settings.prometheus.integration.uarAdmin.teams.createDescription": "Escolha uma definição imutável e uma associação de implementação correspondente.", "settings.prometheus.integration.uarAdmin.teams.createTeam": "Criar instância da equipa", "settings.prometheus.integration.uarAdmin.teams.createTitle": "Criar uma equipa", "settings.prometheus.integration.uarAdmin.teams.creating": "A criar equipa…", "settings.prometheus.integration.uarAdmin.teams.definition": "Definição da equipa", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode": "Intenção de entrega", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode.queueOnly": "Apenas colocar na fila", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode.triggerTurn": "Pedir um turno", "settings.prometheus.integration.uarAdmin.teams.dependencies": "Depende de", "settings.prometheus.integration.uarAdmin.teams.description": "Crie uma equipa e planeie tarefas dependentes para este espaço de trabalho.", "settings.prometheus.integration.uarAdmin.teams.digest": "Resumo criptográfico", + "settings.prometheus.integration.uarAdmin.teams.installCurrentStarter": "Instalar a equipa inicial atual", "settings.prometheus.integration.uarAdmin.teams.instancesDescription": "Veja os membros e o trabalho planeado de uma equipa.", "settings.prometheus.integration.uarAdmin.teams.instancesTitle": "Instâncias da equipa", "settings.prometheus.integration.uarAdmin.teams.invalidOutputContract": "O contrato de saída tem de ser um objeto JSON.", "settings.prometheus.integration.uarAdmin.teams.invalidTaskInput": "A entrada da tarefa tem de ser JSON válido.", "settings.prometheus.integration.uarAdmin.teams.invalidTeamInput": "A entrada da equipa tem de ser JSON válido.", + "settings.prometheus.integration.uarAdmin.teams.mailboxDescription": "Envie uma mensagem dirigida e consulte o estado de entrega.", + "settings.prometheus.integration.uarAdmin.teams.mailboxPlanningOnly": "As mensagens são registadas e entregues; a execução de agentes não está disponível nesta versão.", + "settings.prometheus.integration.uarAdmin.teams.mailboxTitle": "Caixa de correio da equipa", + "settings.prometheus.integration.uarAdmin.teams.mailboxUnavailable": "As mensagens da equipa requerem uma versão mais recente do UAR.", + "settings.prometheus.integration.uarAdmin.teams.markReady": "Marcar como pronta", + "settings.prometheus.integration.uarAdmin.teams.markingReady": "A marcar como pronta…", + "settings.prometheus.integration.uarAdmin.teams.memberSlotCount": "Membros de {{role}}", + "settings.prometheus.integration.uarAdmin.teams.memberSlots": "Membros da equipa", + "settings.prometheus.integration.uarAdmin.teams.memberSlotsDescription": "Escolha o número de membros permitido por esta definição.", "settings.prometheus.integration.uarAdmin.teams.membersTitle": "Membros", + "settings.prometheus.integration.uarAdmin.teams.messageContent": "Mensagem", + "settings.prometheus.integration.uarAdmin.teams.messageHistory": "Histórico de mensagens", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.accepted": "Aceite", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.delivered": "Entregue", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.processed": "Processada", "settings.prometheus.integration.uarAdmin.teams.noBindings": "Nenhuma ligação de implementação está disponível neste espaço de trabalho.", "settings.prometheus.integration.uarAdmin.teams.noDefinitions": "Não há definições de equipa instaladas.", "settings.prometheus.integration.uarAdmin.teams.noDependencies": "Não há tarefas anteriores das quais depender.", "settings.prometheus.integration.uarAdmin.teams.noInstances": "Não há instâncias de equipa neste espaço de trabalho.", "settings.prometheus.integration.uarAdmin.teams.noMembers": "Esta equipa não tem membros.", + "settings.prometheus.integration.uarAdmin.teams.noMessages": "Ainda não há mensagens.", "settings.prometheus.integration.uarAdmin.teams.noTasks": "Não há tarefas planeadas.", "settings.prometheus.integration.uarAdmin.teams.none": "Nenhum", "settings.prometheus.integration.uarAdmin.teams.outputContract": "Contrato de saída (esquema JSON)", + "settings.prometheus.integration.uarAdmin.teams.ownershipEpoch": "Época de atribuição", + "settings.prometheus.integration.uarAdmin.teams.ownershipUnavailable": "A atribuição de tarefas requer uma versão mais recente do UAR. O planeamento continua disponível.", + "settings.prometheus.integration.uarAdmin.teams.planningOnly": "Apenas planeamento e atribuições. A execução da equipa ainda não está disponível.", "settings.prometheus.integration.uarAdmin.teams.planningUnavailable": "O planeamento de equipas está indisponível.", + "settings.prometheus.integration.uarAdmin.teams.readyReason": "Motivo para ficar pronta", + "settings.prometheus.integration.uarAdmin.teams.reassignTask": "Reatribuir tarefa", + "settings.prometheus.integration.uarAdmin.teams.recipient": "Destinatário", "settings.prometheus.integration.uarAdmin.teams.retryGuidance": "Reveja os detalhes e tente novamente.", + "settings.prometheus.integration.uarAdmin.teams.reviewer": "Revisor", + "settings.prometheus.integration.uarAdmin.teams.reviewerAssigned": "Revisor atribuído.", + "settings.prometheus.integration.uarAdmin.teams.reviewerEpoch": "Época de revisão", "settings.prometheus.integration.uarAdmin.teams.revision": "Revisão", + "settings.prometheus.integration.uarAdmin.teams.sendMessage": "Enviar mensagem", + "settings.prometheus.integration.uarAdmin.teams.sendingMessage": "A enviar mensagem…", "settings.prometheus.integration.uarAdmin.teams.settingUpStarter": "A configurar equipa inicial…", "settings.prometheus.integration.uarAdmin.teams.setupStarter": "Configurar equipa inicial", "settings.prometheus.integration.uarAdmin.teams.starterReady": "A equipa inicial está pronta a usar.", + "settings.prometheus.integration.uarAdmin.teams.starterVersionHelp": "Adiciona a equipa integrada mais recente sem alterar as equipas existentes.", "settings.prometheus.integration.uarAdmin.teams.taskAdded": "Tarefa adicionada ao plano.", "settings.prometheus.integration.uarAdmin.teams.taskBoardDescription": "As dependências mostram a ordem necessária antes da execução.", "settings.prometheus.integration.uarAdmin.teams.taskBoardTitle": "Quadro de tarefas", + "settings.prometheus.integration.uarAdmin.teams.taskClaimed": "Tarefa assumida pelo membro selecionado.", "settings.prometheus.integration.uarAdmin.teams.taskDetails": "Ver entrada e contrato de saída", "settings.prometheus.integration.uarAdmin.teams.taskInput": "Entrada da tarefa (JSON)", + "settings.prometheus.integration.uarAdmin.teams.taskReady": "Tarefa marcada como pronta.", + "settings.prometheus.integration.uarAdmin.teams.taskReassigned": "Tarefa reatribuída.", "settings.prometheus.integration.uarAdmin.teams.taskRole": "Função atribuída", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.cancelled": "Cancelada", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.failed": "Falhada", "settings.prometheus.integration.uarAdmin.teams.taskStatus.queued": "Em fila", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.ready": "Pronta", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.succeeded": "Concluída", "settings.prometheus.integration.uarAdmin.teams.taskTitle": "Título da tarefa", "settings.prometheus.integration.uarAdmin.teams.teamCreated": "Instância da equipa criada.", "settings.prometheus.integration.uarAdmin.teams.teamInput": "Entrada da equipa (JSON)", "settings.prometheus.integration.uarAdmin.teams.teamInputDescription": "A entrada é guardada com a instância da equipa.", "settings.prometheus.integration.uarAdmin.teams.teamStatus.inactive": "Inativa", "settings.prometheus.integration.uarAdmin.teams.title": "Equipas", + "settings.prometheus.integration.uarAdmin.teams.toMember": "Para {{member}}", + "settings.prometheus.integration.uarAdmin.teams.unassigned": "Não atribuído", + "settings.prometheus.integration.uarAdmin.teams.updatingAssignment": "A atualizar a atribuição…", + "settings.prometheus.integration.uarAdmin.teams.waitingForDependencies": "Conclua as tarefas prévias antes de marcar esta como pronta.", "settings.prometheus.integration.uarApplied": "O sidecar em execução utiliza a configuração guardada", "settings.prometheus.integration.uarApplyHelp": "Guarde primeiro as alterações de configuração e, em seguida, aplique-as para reiniciar o sidecar. As execuções UAR ativas bloqueiam a aplicação e o reinício.", "settings.prometheus.integration.uarApplyRequired": "As alterações guardadas ainda não foram aplicadas ao sidecar em execução", diff --git a/src/renderer/i18n/locales/ro-ro.json b/src/renderer/i18n/locales/ro-ro.json index 388bffdb55b..014b2943639 100644 --- a/src/renderer/i18n/locales/ro-ro.json +++ b/src/renderer/i18n/locales/ro-ro.json @@ -5647,52 +5647,101 @@ "settings.prometheus.integration.uarAdmin.teams.addTaskDescription": "Definește o sarcină și dependențele ei. Planificarea nu pornește execuția.", "settings.prometheus.integration.uarAdmin.teams.addTaskTitle": "Planifică o sarcină", "settings.prometheus.integration.uarAdmin.teams.addingTask": "Se adaugă sarcina…", + "settings.prometheus.integration.uarAdmin.teams.assignReviewer": "Alocă evaluator", + "settings.prometheus.integration.uarAdmin.teams.assignee": "Membru alocat", + "settings.prometheus.integration.uarAdmin.teams.assigningReviewer": "Se alocă evaluatorul…", "settings.prometheus.integration.uarAdmin.teams.binding": "Legarea de implementare", + "settings.prometheus.integration.uarAdmin.teams.chooseAssignee": "Alege un membru pentru această sarcină", "settings.prometheus.integration.uarAdmin.teams.chooseBinding": "Alegeți o legătură de implementare", "settings.prometheus.integration.uarAdmin.teams.chooseDefinition": "Alege definiția echipei", "settings.prometheus.integration.uarAdmin.teams.chooseInstance": "Alege instanța echipei", + "settings.prometheus.integration.uarAdmin.teams.chooseRecipient": "Alege un membru al echipei", + "settings.prometheus.integration.uarAdmin.teams.chooseReviewer": "Alege un evaluator", "settings.prometheus.integration.uarAdmin.teams.chooseRole": "Alege un rol", + "settings.prometheus.integration.uarAdmin.teams.claimTask": "Preia sarcina pentru membru", "settings.prometheus.integration.uarAdmin.teams.createDescription": "Alege o definiție imuabilă și o asociere de implementare compatibilă.", "settings.prometheus.integration.uarAdmin.teams.createTeam": "Creează instanța echipei", "settings.prometheus.integration.uarAdmin.teams.createTitle": "Creează o echipă", "settings.prometheus.integration.uarAdmin.teams.creating": "Se creează echipa…", "settings.prometheus.integration.uarAdmin.teams.definition": "Definiția echipei", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode": "Intenția livrării", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode.queueOnly": "Doar pune în coadă", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode.triggerTurn": "Solicită un tur", "settings.prometheus.integration.uarAdmin.teams.dependencies": "Depinde de", "settings.prometheus.integration.uarAdmin.teams.description": "Creează o echipă și planifică sarcini dependente pentru acest spațiu de lucru.", "settings.prometheus.integration.uarAdmin.teams.digest": "Amprentă", + "settings.prometheus.integration.uarAdmin.teams.installCurrentStarter": "Instalează echipa inițială actuală", "settings.prometheus.integration.uarAdmin.teams.instancesDescription": "Consultă membrii și lucrările planificate ale unei echipe.", "settings.prometheus.integration.uarAdmin.teams.instancesTitle": "Instanțe ale echipei", "settings.prometheus.integration.uarAdmin.teams.invalidOutputContract": "Contractul de ieșire trebuie să fie un obiect JSON.", "settings.prometheus.integration.uarAdmin.teams.invalidTaskInput": "Intrarea sarcinii trebuie să fie JSON valid.", "settings.prometheus.integration.uarAdmin.teams.invalidTeamInput": "Intrarea echipei trebuie să fie JSON valid.", + "settings.prometheus.integration.uarAdmin.teams.mailboxDescription": "Trimite un mesaj adresat și verifică starea livrării.", + "settings.prometheus.integration.uarAdmin.teams.mailboxPlanningOnly": "Mesajele sunt înregistrate și livrate; execuția agenților nu este disponibilă în această versiune.", + "settings.prometheus.integration.uarAdmin.teams.mailboxTitle": "Căsuța echipei", + "settings.prometheus.integration.uarAdmin.teams.mailboxUnavailable": "Mesajele echipei necesită o versiune UAR mai nouă.", + "settings.prometheus.integration.uarAdmin.teams.markReady": "Marchează drept pregătită", + "settings.prometheus.integration.uarAdmin.teams.markingReady": "Se marchează drept pregătită…", + "settings.prometheus.integration.uarAdmin.teams.memberSlotCount": "Membri pentru {{role}}", + "settings.prometheus.integration.uarAdmin.teams.memberSlots": "Membrii echipei", + "settings.prometheus.integration.uarAdmin.teams.memberSlotsDescription": "Alege numărul de membri permis de această definiție.", "settings.prometheus.integration.uarAdmin.teams.membersTitle": "Membri", + "settings.prometheus.integration.uarAdmin.teams.messageContent": "Mesaj", + "settings.prometheus.integration.uarAdmin.teams.messageHistory": "Istoricul mesajelor", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.accepted": "Acceptat", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.delivered": "Livrat", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.processed": "Procesat", "settings.prometheus.integration.uarAdmin.teams.noBindings": "Nu sunt disponibile legături de implementare în acest spațiu de lucru.", "settings.prometheus.integration.uarAdmin.teams.noDefinitions": "Nu sunt instalate definiții de echipă.", "settings.prometheus.integration.uarAdmin.teams.noDependencies": "Nu există sarcini anterioare de care să depindă.", "settings.prometheus.integration.uarAdmin.teams.noInstances": "Nu există instanțe ale echipei în acest spațiu de lucru.", "settings.prometheus.integration.uarAdmin.teams.noMembers": "Această echipă nu are membri.", + "settings.prometheus.integration.uarAdmin.teams.noMessages": "Nu există încă mesaje.", "settings.prometheus.integration.uarAdmin.teams.noTasks": "Nu sunt sarcini planificate.", "settings.prometheus.integration.uarAdmin.teams.none": "Nimic", "settings.prometheus.integration.uarAdmin.teams.outputContract": "Contract de ieșire (schemă JSON)", + "settings.prometheus.integration.uarAdmin.teams.ownershipEpoch": "Epoca alocării", + "settings.prometheus.integration.uarAdmin.teams.ownershipUnavailable": "Alocarea sarcinilor necesită o versiune UAR mai nouă. Planificarea rămâne disponibilă.", + "settings.prometheus.integration.uarAdmin.teams.planningOnly": "Doar planificare și alocări. Execuția echipei nu este încă disponibilă.", "settings.prometheus.integration.uarAdmin.teams.planningUnavailable": "Planificarea echipei nu este disponibilă.", + "settings.prometheus.integration.uarAdmin.teams.readyReason": "Motivul pregătirii", + "settings.prometheus.integration.uarAdmin.teams.reassignTask": "Realocă sarcina", + "settings.prometheus.integration.uarAdmin.teams.recipient": "Destinatar", "settings.prometheus.integration.uarAdmin.teams.retryGuidance": "Verifică detaliile și încearcă din nou.", + "settings.prometheus.integration.uarAdmin.teams.reviewer": "Evaluator", + "settings.prometheus.integration.uarAdmin.teams.reviewerAssigned": "Evaluatorul a fost alocat.", + "settings.prometheus.integration.uarAdmin.teams.reviewerEpoch": "Epoca evaluării", "settings.prometheus.integration.uarAdmin.teams.revision": "Revizuire", + "settings.prometheus.integration.uarAdmin.teams.sendMessage": "Trimite mesaj", + "settings.prometheus.integration.uarAdmin.teams.sendingMessage": "Se trimite mesajul…", "settings.prometheus.integration.uarAdmin.teams.settingUpStarter": "Se configurează echipa inițială…", "settings.prometheus.integration.uarAdmin.teams.setupStarter": "Configurează echipa inițială", "settings.prometheus.integration.uarAdmin.teams.starterReady": "Echipa inițială este gata de utilizare.", + "settings.prometheus.integration.uarAdmin.teams.starterVersionHelp": "Adaugă cea mai recentă echipă integrată fără a modifica echipele existente.", "settings.prometheus.integration.uarAdmin.teams.taskAdded": "Sarcina a fost adăugată în plan.", "settings.prometheus.integration.uarAdmin.teams.taskBoardDescription": "Dependențele indică ordinea necesară înainte de execuție.", "settings.prometheus.integration.uarAdmin.teams.taskBoardTitle": "Panou de sarcini", + "settings.prometheus.integration.uarAdmin.teams.taskClaimed": "Sarcina a fost preluată pentru membrul selectat.", "settings.prometheus.integration.uarAdmin.teams.taskDetails": "Vezi intrarea și contractul de ieșire", "settings.prometheus.integration.uarAdmin.teams.taskInput": "Intrarea sarcinii (JSON)", + "settings.prometheus.integration.uarAdmin.teams.taskReady": "Sarcina a fost marcată drept pregătită.", + "settings.prometheus.integration.uarAdmin.teams.taskReassigned": "Sarcina a fost realocată.", "settings.prometheus.integration.uarAdmin.teams.taskRole": "Rol atribuit", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.cancelled": "Anulată", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.failed": "Eșuată", "settings.prometheus.integration.uarAdmin.teams.taskStatus.queued": "În așteptare", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.ready": "Pregătită", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.succeeded": "Reușită", "settings.prometheus.integration.uarAdmin.teams.taskTitle": "Titlul sarcinii", "settings.prometheus.integration.uarAdmin.teams.teamCreated": "Instanța echipei a fost creată.", "settings.prometheus.integration.uarAdmin.teams.teamInput": "Intrarea echipei (JSON)", "settings.prometheus.integration.uarAdmin.teams.teamInputDescription": "Intrarea este stocată cu instanța echipei.", "settings.prometheus.integration.uarAdmin.teams.teamStatus.inactive": "Inactivă", "settings.prometheus.integration.uarAdmin.teams.title": "Echipe", + "settings.prometheus.integration.uarAdmin.teams.toMember": "Către {{member}}", + "settings.prometheus.integration.uarAdmin.teams.unassigned": "Nealocat", + "settings.prometheus.integration.uarAdmin.teams.updatingAssignment": "Se actualizează alocarea…", + "settings.prometheus.integration.uarAdmin.teams.waitingForDependencies": "Finalizează sarcinile prealabile înainte de a o marca drept pregătită.", "settings.prometheus.integration.uarApplied": "Sidecar-ul activ folosește configurația salvată", "settings.prometheus.integration.uarApplyHelp": "Salvează mai întâi modificările de configurare, apoi aplică-le pentru a reporni sidecar-ul. Rulările UAR active blochează aplicarea și repornirea.", "settings.prometheus.integration.uarApplyRequired": "Modificările salvate nu au fost aplicate sidecar-ului activ", diff --git a/src/renderer/i18n/locales/ru-ru.json b/src/renderer/i18n/locales/ru-ru.json index 6af0cc5e35a..ebce0115fa8 100644 --- a/src/renderer/i18n/locales/ru-ru.json +++ b/src/renderer/i18n/locales/ru-ru.json @@ -5647,52 +5647,101 @@ "settings.prometheus.integration.uarAdmin.teams.addTaskDescription": "Укажите задачу и её зависимости. Планирование не запускает выполнение.", "settings.prometheus.integration.uarAdmin.teams.addTaskTitle": "Запланировать задачу", "settings.prometheus.integration.uarAdmin.teams.addingTask": "Добавление задачи…", + "settings.prometheus.integration.uarAdmin.teams.assignReviewer": "Назначить рецензента", + "settings.prometheus.integration.uarAdmin.teams.assignee": "Назначенный участник", + "settings.prometheus.integration.uarAdmin.teams.assigningReviewer": "Назначение рецензента…", "settings.prometheus.integration.uarAdmin.teams.binding": "Привязка развертывания", + "settings.prometheus.integration.uarAdmin.teams.chooseAssignee": "Выберите участника для задачи", "settings.prometheus.integration.uarAdmin.teams.chooseBinding": "Выберите привязку развертывания", "settings.prometheus.integration.uarAdmin.teams.chooseDefinition": "Выбрать определение команды", "settings.prometheus.integration.uarAdmin.teams.chooseInstance": "Выбрать экземпляр команды", + "settings.prometheus.integration.uarAdmin.teams.chooseRecipient": "Выберите участника команды", + "settings.prometheus.integration.uarAdmin.teams.chooseReviewer": "Выберите рецензента", "settings.prometheus.integration.uarAdmin.teams.chooseRole": "Выбрать роль", + "settings.prometheus.integration.uarAdmin.teams.claimTask": "Закрепить задачу за участником", "settings.prometheus.integration.uarAdmin.teams.createDescription": "Выберите неизменяемое определение и подходящую привязку развёртывания.", "settings.prometheus.integration.uarAdmin.teams.createTeam": "Создать экземпляр команды", "settings.prometheus.integration.uarAdmin.teams.createTitle": "Создать команду", "settings.prometheus.integration.uarAdmin.teams.creating": "Создание команды…", "settings.prometheus.integration.uarAdmin.teams.definition": "Определение команды", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode": "Способ доставки", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode.queueOnly": "Только в очередь", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode.triggerTurn": "Запросить ход", "settings.prometheus.integration.uarAdmin.teams.dependencies": "Зависит от", "settings.prometheus.integration.uarAdmin.teams.description": "Создайте команду и запланируйте зависимые задачи для этого рабочего пространства.", "settings.prometheus.integration.uarAdmin.teams.digest": "Хеш", + "settings.prometheus.integration.uarAdmin.teams.installCurrentStarter": "Установить актуальную стартовую команду", "settings.prometheus.integration.uarAdmin.teams.instancesDescription": "Просмотр участников и запланированной работы команды.", "settings.prometheus.integration.uarAdmin.teams.instancesTitle": "Экземпляры команд", "settings.prometheus.integration.uarAdmin.teams.invalidOutputContract": "Контракт вывода должен быть объектом JSON.", "settings.prometheus.integration.uarAdmin.teams.invalidTaskInput": "Входные данные задачи должны быть допустимым JSON.", "settings.prometheus.integration.uarAdmin.teams.invalidTeamInput": "Входные данные команды должны быть допустимым JSON.", + "settings.prometheus.integration.uarAdmin.teams.mailboxDescription": "Отправьте адресное сообщение и проверьте состояние доставки.", + "settings.prometheus.integration.uarAdmin.teams.mailboxPlanningOnly": "Сообщения записываются и доставляются; выполнение агентов в этом выпуске недоступно.", + "settings.prometheus.integration.uarAdmin.teams.mailboxTitle": "Почтовый ящик команды", + "settings.prometheus.integration.uarAdmin.teams.mailboxUnavailable": "Для сообщений команды нужна более новая версия UAR.", + "settings.prometheus.integration.uarAdmin.teams.markReady": "Отметить готовой", + "settings.prometheus.integration.uarAdmin.teams.markingReady": "Отмечается как готовая…", + "settings.prometheus.integration.uarAdmin.teams.memberSlotCount": "Участники роли {{role}}", + "settings.prometheus.integration.uarAdmin.teams.memberSlots": "Участники команды", + "settings.prometheus.integration.uarAdmin.teams.memberSlotsDescription": "Выберите число участников, разрешённое этим определением.", "settings.prometheus.integration.uarAdmin.teams.membersTitle": "Участники", + "settings.prometheus.integration.uarAdmin.teams.messageContent": "Сообщение", + "settings.prometheus.integration.uarAdmin.teams.messageHistory": "История сообщений", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.accepted": "Принято", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.delivered": "Доставлено", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.processed": "Обработано", "settings.prometheus.integration.uarAdmin.teams.noBindings": "В этой рабочей области нет привязок развертывания.", "settings.prometheus.integration.uarAdmin.teams.noDefinitions": "Определения команд не установлены.", "settings.prometheus.integration.uarAdmin.teams.noDependencies": "Нет предыдущих задач для зависимости.", "settings.prometheus.integration.uarAdmin.teams.noInstances": "В этом рабочем пространстве нет экземпляров команд.", "settings.prometheus.integration.uarAdmin.teams.noMembers": "В этой команде нет участников.", + "settings.prometheus.integration.uarAdmin.teams.noMessages": "Сообщений пока нет.", "settings.prometheus.integration.uarAdmin.teams.noTasks": "Задачи ещё не запланированы.", "settings.prometheus.integration.uarAdmin.teams.none": "без", "settings.prometheus.integration.uarAdmin.teams.outputContract": "Контракт вывода (схема JSON)", + "settings.prometheus.integration.uarAdmin.teams.ownershipEpoch": "Эпоха назначения", + "settings.prometheus.integration.uarAdmin.teams.ownershipUnavailable": "Для назначения задач нужна более новая версия UAR. Планирование остаётся доступным.", + "settings.prometheus.integration.uarAdmin.teams.planningOnly": "Доступны только планирование и назначения. Выполнение команды пока недоступно.", "settings.prometheus.integration.uarAdmin.teams.planningUnavailable": "Планирование команд недоступно.", + "settings.prometheus.integration.uarAdmin.teams.readyReason": "Причина готовности", + "settings.prometheus.integration.uarAdmin.teams.reassignTask": "Переназначить задачу", + "settings.prometheus.integration.uarAdmin.teams.recipient": "Получатель", "settings.prometheus.integration.uarAdmin.teams.retryGuidance": "Проверьте данные и попробуйте ещё раз.", + "settings.prometheus.integration.uarAdmin.teams.reviewer": "Рецензент", + "settings.prometheus.integration.uarAdmin.teams.reviewerAssigned": "Рецензент назначен.", + "settings.prometheus.integration.uarAdmin.teams.reviewerEpoch": "Эпоха рецензирования", "settings.prometheus.integration.uarAdmin.teams.revision": "Редакция", + "settings.prometheus.integration.uarAdmin.teams.sendMessage": "Отправить сообщение", + "settings.prometheus.integration.uarAdmin.teams.sendingMessage": "Отправка сообщения…", "settings.prometheus.integration.uarAdmin.teams.settingUpStarter": "Настройка стартовой команды…", "settings.prometheus.integration.uarAdmin.teams.setupStarter": "Настроить стартовую команду", "settings.prometheus.integration.uarAdmin.teams.starterReady": "Стартовая команда готова к работе.", + "settings.prometheus.integration.uarAdmin.teams.starterVersionHelp": "Добавляет новейшую встроенную команду, не изменяя существующие.", "settings.prometheus.integration.uarAdmin.teams.taskAdded": "Задача добавлена в план.", "settings.prometheus.integration.uarAdmin.teams.taskBoardDescription": "Зависимости показывают порядок, необходимый перед выполнением.", "settings.prometheus.integration.uarAdmin.teams.taskBoardTitle": "Доска задач", + "settings.prometheus.integration.uarAdmin.teams.taskClaimed": "Задача закреплена за выбранным участником.", "settings.prometheus.integration.uarAdmin.teams.taskDetails": "Показать входные данные и контракт вывода", "settings.prometheus.integration.uarAdmin.teams.taskInput": "Входные данные задачи (JSON)", + "settings.prometheus.integration.uarAdmin.teams.taskReady": "Задача отмечена как готовая.", + "settings.prometheus.integration.uarAdmin.teams.taskReassigned": "Задача переназначена.", "settings.prometheus.integration.uarAdmin.teams.taskRole": "Назначенная роль", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.cancelled": "Отменена", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.failed": "Ошибка", "settings.prometheus.integration.uarAdmin.teams.taskStatus.queued": "В очереди", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.ready": "Готова", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.succeeded": "Успешно", "settings.prometheus.integration.uarAdmin.teams.taskTitle": "Название задачи", "settings.prometheus.integration.uarAdmin.teams.teamCreated": "Экземпляр команды создан.", "settings.prometheus.integration.uarAdmin.teams.teamInput": "Входные данные команды (JSON)", "settings.prometheus.integration.uarAdmin.teams.teamInputDescription": "Входные данные сохраняются с экземпляром команды.", "settings.prometheus.integration.uarAdmin.teams.teamStatus.inactive": "Неактивна", "settings.prometheus.integration.uarAdmin.teams.title": "Команды", + "settings.prometheus.integration.uarAdmin.teams.toMember": "Кому: {{member}}", + "settings.prometheus.integration.uarAdmin.teams.unassigned": "Не назначено", + "settings.prometheus.integration.uarAdmin.teams.updatingAssignment": "Обновление назначения…", + "settings.prometheus.integration.uarAdmin.teams.waitingForDependencies": "Завершите зависимые задачи, прежде чем отмечать эту как готовую.", "settings.prometheus.integration.uarApplied": "Запущенный sidecar использует сохранённую конфигурацию", "settings.prometheus.integration.uarApplyHelp": "Сначала сохраните изменения конфигурации, затем примените их, чтобы перезапустить sidecar. Активные запуски UAR блокируют применение и перезапуск.", "settings.prometheus.integration.uarApplyRequired": "Сохранённые изменения ещё не применены к запущенному sidecar", diff --git a/src/renderer/i18n/locales/tr-tr.json b/src/renderer/i18n/locales/tr-tr.json index bab55eef860..9bbce6b8f69 100644 --- a/src/renderer/i18n/locales/tr-tr.json +++ b/src/renderer/i18n/locales/tr-tr.json @@ -5647,52 +5647,101 @@ "settings.prometheus.integration.uarAdmin.teams.addTaskDescription": "Bir görev ve bağımlılıklarını tanımlayın. Planlama yürütmeyi başlatmaz.", "settings.prometheus.integration.uarAdmin.teams.addTaskTitle": "Görev planla", "settings.prometheus.integration.uarAdmin.teams.addingTask": "Görev ekleniyor…", + "settings.prometheus.integration.uarAdmin.teams.assignReviewer": "İnceleyen ata", + "settings.prometheus.integration.uarAdmin.teams.assignee": "Atanan üye", + "settings.prometheus.integration.uarAdmin.teams.assigningReviewer": "İnceleyen atanıyor…", "settings.prometheus.integration.uarAdmin.teams.binding": "Dağıtım bağlama", + "settings.prometheus.integration.uarAdmin.teams.chooseAssignee": "Bu görev için üye seçin", "settings.prometheus.integration.uarAdmin.teams.chooseBinding": "Bir dağıtım bağlaması seçin", "settings.prometheus.integration.uarAdmin.teams.chooseDefinition": "Ekip tanımını seç", "settings.prometheus.integration.uarAdmin.teams.chooseInstance": "Ekip örneğini seç", + "settings.prometheus.integration.uarAdmin.teams.chooseRecipient": "Ekip üyesi seçin", + "settings.prometheus.integration.uarAdmin.teams.chooseReviewer": "İnceleyen seçin", "settings.prometheus.integration.uarAdmin.teams.chooseRole": "Rol seç", + "settings.prometheus.integration.uarAdmin.teams.claimTask": "Görevi üyeye ata", "settings.prometheus.integration.uarAdmin.teams.createDescription": "Değişmez bir tanım ve eşleşen dağıtım bağını seçin.", "settings.prometheus.integration.uarAdmin.teams.createTeam": "Ekip örneği oluştur", "settings.prometheus.integration.uarAdmin.teams.createTitle": "Ekip oluştur", "settings.prometheus.integration.uarAdmin.teams.creating": "Ekip oluşturuluyor…", "settings.prometheus.integration.uarAdmin.teams.definition": "Ekip tanımı", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode": "Teslim niyeti", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode.queueOnly": "Yalnızca kuyruğa al", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode.triggerTurn": "Tur iste", "settings.prometheus.integration.uarAdmin.teams.dependencies": "Bağlı olduğu görevler", "settings.prometheus.integration.uarAdmin.teams.description": "Bu çalışma alanı için ekip oluşturun ve bağımlı görevleri planlayın.", "settings.prometheus.integration.uarAdmin.teams.digest": "Özet değer", + "settings.prometheus.integration.uarAdmin.teams.installCurrentStarter": "Güncel başlangıç ekibini kur", "settings.prometheus.integration.uarAdmin.teams.instancesDescription": "Bir ekibin üyelerini ve planlanan çalışmalarını inceleyin.", "settings.prometheus.integration.uarAdmin.teams.instancesTitle": "Ekip örnekleri", "settings.prometheus.integration.uarAdmin.teams.invalidOutputContract": "Çıktı sözleşmesi bir JSON nesnesi olmalıdır.", "settings.prometheus.integration.uarAdmin.teams.invalidTaskInput": "Görev girdisi geçerli JSON olmalıdır.", "settings.prometheus.integration.uarAdmin.teams.invalidTeamInput": "Ekip girdisi geçerli JSON olmalıdır.", + "settings.prometheus.integration.uarAdmin.teams.mailboxDescription": "Adresli mesaj gönderin ve teslim durumunu inceleyin.", + "settings.prometheus.integration.uarAdmin.teams.mailboxPlanningOnly": "Mesajlar kaydedilir ve teslim edilir; aracı yürütmesi bu sürümde kullanılamaz.", + "settings.prometheus.integration.uarAdmin.teams.mailboxTitle": "Ekip posta kutusu", + "settings.prometheus.integration.uarAdmin.teams.mailboxUnavailable": "Ekip mesajlaşması için daha yeni bir UAR sürümü gerekir.", + "settings.prometheus.integration.uarAdmin.teams.markReady": "Hazır olarak işaretle", + "settings.prometheus.integration.uarAdmin.teams.markingReady": "Hazır olarak işaretleniyor…", + "settings.prometheus.integration.uarAdmin.teams.memberSlotCount": "{{role}} üyeleri", + "settings.prometheus.integration.uarAdmin.teams.memberSlots": "Ekip üyeleri", + "settings.prometheus.integration.uarAdmin.teams.memberSlotsDescription": "Bu tanımın izin verdiği üye sayısını seçin.", "settings.prometheus.integration.uarAdmin.teams.membersTitle": "Üyeler", + "settings.prometheus.integration.uarAdmin.teams.messageContent": "Mesaj", + "settings.prometheus.integration.uarAdmin.teams.messageHistory": "Mesaj geçmişi", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.accepted": "Kabul edildi", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.delivered": "Teslim edildi", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.processed": "İşlendi", "settings.prometheus.integration.uarAdmin.teams.noBindings": "Bu çalışma alanında herhangi bir dağıtım bağlaması yok.", "settings.prometheus.integration.uarAdmin.teams.noDefinitions": "Yüklü ekip tanımı yok.", "settings.prometheus.integration.uarAdmin.teams.noDependencies": "Bağlanılacak önceki görev yok.", "settings.prometheus.integration.uarAdmin.teams.noInstances": "Bu çalışma alanında ekip örneği yok.", "settings.prometheus.integration.uarAdmin.teams.noMembers": "Bu ekibin üyesi yok.", + "settings.prometheus.integration.uarAdmin.teams.noMessages": "Henüz mesaj yok.", "settings.prometheus.integration.uarAdmin.teams.noTasks": "Henüz görev planlanmadı.", "settings.prometheus.integration.uarAdmin.teams.none": "Yok", "settings.prometheus.integration.uarAdmin.teams.outputContract": "Çıktı sözleşmesi (JSON Şeması)", + "settings.prometheus.integration.uarAdmin.teams.ownershipEpoch": "Atama dönemi", + "settings.prometheus.integration.uarAdmin.teams.ownershipUnavailable": "Görev ataması için daha yeni bir UAR sürümü gerekir. Planlama kullanılabilir.", + "settings.prometheus.integration.uarAdmin.teams.planningOnly": "Yalnızca planlama ve atama kullanılabilir. Ekip yürütmesi henüz kullanılamıyor.", "settings.prometheus.integration.uarAdmin.teams.planningUnavailable": "Ekip planlama kullanılamıyor.", + "settings.prometheus.integration.uarAdmin.teams.readyReason": "Hazır olma gerekçesi", + "settings.prometheus.integration.uarAdmin.teams.reassignTask": "Görevi yeniden ata", + "settings.prometheus.integration.uarAdmin.teams.recipient": "Alıcı", "settings.prometheus.integration.uarAdmin.teams.retryGuidance": "Ayrıntıları gözden geçirip yeniden deneyin.", + "settings.prometheus.integration.uarAdmin.teams.reviewer": "İnceleyen", + "settings.prometheus.integration.uarAdmin.teams.reviewerAssigned": "İnceleyen atandı.", + "settings.prometheus.integration.uarAdmin.teams.reviewerEpoch": "İnceleme dönemi", "settings.prometheus.integration.uarAdmin.teams.revision": "Revizyon", + "settings.prometheus.integration.uarAdmin.teams.sendMessage": "Mesaj gönder", + "settings.prometheus.integration.uarAdmin.teams.sendingMessage": "Mesaj gönderiliyor…", "settings.prometheus.integration.uarAdmin.teams.settingUpStarter": "Başlangıç ekibi ayarlanıyor…", "settings.prometheus.integration.uarAdmin.teams.setupStarter": "Başlangıç ekibini ayarla", "settings.prometheus.integration.uarAdmin.teams.starterReady": "Başlangıç ekibi kullanıma hazır.", + "settings.prometheus.integration.uarAdmin.teams.starterVersionHelp": "Mevcut ekipleri değiştirmeden en yeni yerleşik ekibi ekler.", "settings.prometheus.integration.uarAdmin.teams.taskAdded": "Görev plana eklendi.", "settings.prometheus.integration.uarAdmin.teams.taskBoardDescription": "Bağımlılıklar, yürütmeden önce gereken sırayı gösterir.", "settings.prometheus.integration.uarAdmin.teams.taskBoardTitle": "Görev panosu", + "settings.prometheus.integration.uarAdmin.teams.taskClaimed": "Görev seçilen üye için üstlenildi.", "settings.prometheus.integration.uarAdmin.teams.taskDetails": "Girdi ve çıktı sözleşmesini görüntüle", "settings.prometheus.integration.uarAdmin.teams.taskInput": "Görev girdisi (JSON)", + "settings.prometheus.integration.uarAdmin.teams.taskReady": "Görev hazır olarak işaretlendi.", + "settings.prometheus.integration.uarAdmin.teams.taskReassigned": "Görev yeniden atandı.", "settings.prometheus.integration.uarAdmin.teams.taskRole": "Atanan rol", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.cancelled": "İptal edildi", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.failed": "Başarısız", "settings.prometheus.integration.uarAdmin.teams.taskStatus.queued": "Kuyrukta", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.ready": "Hazır", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.succeeded": "Başarılı", "settings.prometheus.integration.uarAdmin.teams.taskTitle": "Görev başlığı", "settings.prometheus.integration.uarAdmin.teams.teamCreated": "Ekip örneği oluşturuldu.", "settings.prometheus.integration.uarAdmin.teams.teamInput": "Ekip girdisi (JSON)", "settings.prometheus.integration.uarAdmin.teams.teamInputDescription": "Girdi, ekip örneğiyle birlikte saklanır.", "settings.prometheus.integration.uarAdmin.teams.teamStatus.inactive": "Etkin değil", "settings.prometheus.integration.uarAdmin.teams.title": "Ekipler", + "settings.prometheus.integration.uarAdmin.teams.toMember": "Alıcı: {{member}}", + "settings.prometheus.integration.uarAdmin.teams.unassigned": "Atanmadı", + "settings.prometheus.integration.uarAdmin.teams.updatingAssignment": "Atama güncelleniyor…", + "settings.prometheus.integration.uarAdmin.teams.waitingForDependencies": "Hazır olarak işaretlemeden önce önkoşul görevleri tamamlayın.", "settings.prometheus.integration.uarApplied": "Çalışan sidecar kaydedilmiş yapılandırmayı kullanıyor", "settings.prometheus.integration.uarApplyHelp": "Önce yapılandırma değişikliklerini kaydedin, ardından sidecar’ı yeniden başlatmak için uygulayın. Etkin UAR çalışmaları uygulama ve yeniden başlatmayı engeller.", "settings.prometheus.integration.uarApplyRequired": "Kaydedilmiş değişiklikler çalışan sidecar’a uygulanmadı", diff --git a/src/renderer/i18n/locales/vi-vn.json b/src/renderer/i18n/locales/vi-vn.json index 51fa1b9f1ae..8bcbb5becd0 100644 --- a/src/renderer/i18n/locales/vi-vn.json +++ b/src/renderer/i18n/locales/vi-vn.json @@ -5647,52 +5647,101 @@ "settings.prometheus.integration.uarAdmin.teams.addTaskDescription": "Xác định tác vụ và các phụ thuộc. Việc lập kế hoạch không bắt đầu thực thi.", "settings.prometheus.integration.uarAdmin.teams.addTaskTitle": "Lập kế hoạch tác vụ", "settings.prometheus.integration.uarAdmin.teams.addingTask": "Đang thêm tác vụ…", + "settings.prometheus.integration.uarAdmin.teams.assignReviewer": "Phân công người đánh giá", + "settings.prometheus.integration.uarAdmin.teams.assignee": "Thành viên được giao", + "settings.prometheus.integration.uarAdmin.teams.assigningReviewer": "Đang phân công người đánh giá…", "settings.prometheus.integration.uarAdmin.teams.binding": "Ràng buộc triển khai", + "settings.prometheus.integration.uarAdmin.teams.chooseAssignee": "Chọn thành viên cho tác vụ này", "settings.prometheus.integration.uarAdmin.teams.chooseBinding": "Chọn ràng buộc triển khai", "settings.prometheus.integration.uarAdmin.teams.chooseDefinition": "Chọn định nghĩa nhóm", "settings.prometheus.integration.uarAdmin.teams.chooseInstance": "Chọn phiên bản nhóm", + "settings.prometheus.integration.uarAdmin.teams.chooseRecipient": "Chọn thành viên nhóm", + "settings.prometheus.integration.uarAdmin.teams.chooseReviewer": "Chọn người đánh giá", "settings.prometheus.integration.uarAdmin.teams.chooseRole": "Chọn vai trò", + "settings.prometheus.integration.uarAdmin.teams.claimTask": "Nhận tác vụ cho thành viên", "settings.prometheus.integration.uarAdmin.teams.createDescription": "Chọn định nghĩa bất biến và liên kết triển khai tương ứng.", "settings.prometheus.integration.uarAdmin.teams.createTeam": "Tạo phiên bản nhóm", "settings.prometheus.integration.uarAdmin.teams.createTitle": "Tạo nhóm", "settings.prometheus.integration.uarAdmin.teams.creating": "Đang tạo nhóm…", "settings.prometheus.integration.uarAdmin.teams.definition": "Định nghĩa nhóm", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode": "Ý định chuyển phát", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode.queueOnly": "Chỉ đưa vào hàng đợi", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode.triggerTurn": "Yêu cầu lượt", "settings.prometheus.integration.uarAdmin.teams.dependencies": "Phụ thuộc vào", "settings.prometheus.integration.uarAdmin.teams.description": "Tạo nhóm và lập kế hoạch các tác vụ phụ thuộc cho không gian làm việc này.", "settings.prometheus.integration.uarAdmin.teams.digest": "Mã băm", + "settings.prometheus.integration.uarAdmin.teams.installCurrentStarter": "Cài đặt nhóm khởi đầu hiện tại", "settings.prometheus.integration.uarAdmin.teams.instancesDescription": "Xem thành viên và công việc đã lên kế hoạch của nhóm.", "settings.prometheus.integration.uarAdmin.teams.instancesTitle": "Các phiên bản nhóm", "settings.prometheus.integration.uarAdmin.teams.invalidOutputContract": "Hợp đồng đầu ra phải là đối tượng JSON.", "settings.prometheus.integration.uarAdmin.teams.invalidTaskInput": "Đầu vào tác vụ phải là JSON hợp lệ.", "settings.prometheus.integration.uarAdmin.teams.invalidTeamInput": "Đầu vào nhóm phải là JSON hợp lệ.", + "settings.prometheus.integration.uarAdmin.teams.mailboxDescription": "Gửi tin nhắn đến thành viên và xem trạng thái chuyển phát.", + "settings.prometheus.integration.uarAdmin.teams.mailboxPlanningOnly": "Tin nhắn được ghi nhận và chuyển phát; bản phát hành này chưa hỗ trợ chạy tác tử.", + "settings.prometheus.integration.uarAdmin.teams.mailboxTitle": "Hộp thư nhóm", + "settings.prometheus.integration.uarAdmin.teams.mailboxUnavailable": "Nhắn tin nhóm cần UAR mới hơn.", + "settings.prometheus.integration.uarAdmin.teams.markReady": "Đánh dấu sẵn sàng", + "settings.prometheus.integration.uarAdmin.teams.markingReady": "Đang đánh dấu sẵn sàng…", + "settings.prometheus.integration.uarAdmin.teams.memberSlotCount": "Thành viên {{role}}", + "settings.prometheus.integration.uarAdmin.teams.memberSlots": "Thành viên nhóm", + "settings.prometheus.integration.uarAdmin.teams.memberSlotsDescription": "Chọn số thành viên được định nghĩa này cho phép.", "settings.prometheus.integration.uarAdmin.teams.membersTitle": "Thành viên", + "settings.prometheus.integration.uarAdmin.teams.messageContent": "Tin nhắn", + "settings.prometheus.integration.uarAdmin.teams.messageHistory": "Lịch sử tin nhắn", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.accepted": "Đã chấp nhận", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.delivered": "Đã chuyển phát", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.processed": "Đã xử lý", "settings.prometheus.integration.uarAdmin.teams.noBindings": "Không có ràng buộc triển khai nào có sẵn trong không gian làm việc này.", "settings.prometheus.integration.uarAdmin.teams.noDefinitions": "Chưa cài đặt định nghĩa nhóm nào.", "settings.prometheus.integration.uarAdmin.teams.noDependencies": "Không có tác vụ trước đó để phụ thuộc.", "settings.prometheus.integration.uarAdmin.teams.noInstances": "Không có phiên bản nhóm trong không gian làm việc này.", "settings.prometheus.integration.uarAdmin.teams.noMembers": "Nhóm này chưa có thành viên.", + "settings.prometheus.integration.uarAdmin.teams.noMessages": "Chưa có tin nhắn.", "settings.prometheus.integration.uarAdmin.teams.noTasks": "Chưa có tác vụ nào được lên kế hoạch.", "settings.prometheus.integration.uarAdmin.teams.none": "Không", "settings.prometheus.integration.uarAdmin.teams.outputContract": "Hợp đồng đầu ra (Lược đồ JSON)", + "settings.prometheus.integration.uarAdmin.teams.ownershipEpoch": "Kỷ nguyên phân công", + "settings.prometheus.integration.uarAdmin.teams.ownershipUnavailable": "Quản lý phân công tác vụ cần UAR mới hơn. Chức năng lập kế hoạch vẫn dùng được.", + "settings.prometheus.integration.uarAdmin.teams.planningOnly": "Chỉ hỗ trợ lập kế hoạch và phân công. Chưa thể chạy nhóm.", "settings.prometheus.integration.uarAdmin.teams.planningUnavailable": "Không thể lập kế hoạch nhóm.", + "settings.prometheus.integration.uarAdmin.teams.readyReason": "Lý do sẵn sàng", + "settings.prometheus.integration.uarAdmin.teams.reassignTask": "Phân công lại tác vụ", + "settings.prometheus.integration.uarAdmin.teams.recipient": "Người nhận", "settings.prometheus.integration.uarAdmin.teams.retryGuidance": "Xem lại chi tiết rồi thử lại.", + "settings.prometheus.integration.uarAdmin.teams.reviewer": "Người đánh giá", + "settings.prometheus.integration.uarAdmin.teams.reviewerAssigned": "Đã phân công người đánh giá.", + "settings.prometheus.integration.uarAdmin.teams.reviewerEpoch": "Kỷ nguyên đánh giá", "settings.prometheus.integration.uarAdmin.teams.revision": "Sửa đổi", + "settings.prometheus.integration.uarAdmin.teams.sendMessage": "Gửi tin nhắn", + "settings.prometheus.integration.uarAdmin.teams.sendingMessage": "Đang gửi tin nhắn…", "settings.prometheus.integration.uarAdmin.teams.settingUpStarter": "Đang thiết lập nhóm khởi đầu…", "settings.prometheus.integration.uarAdmin.teams.setupStarter": "Thiết lập nhóm khởi đầu", "settings.prometheus.integration.uarAdmin.teams.starterReady": "Nhóm khởi đầu đã sẵn sàng.", + "settings.prometheus.integration.uarAdmin.teams.starterVersionHelp": "Thêm nhóm tích hợp mới nhất mà không thay đổi các nhóm hiện có.", "settings.prometheus.integration.uarAdmin.teams.taskAdded": "Đã thêm tác vụ vào kế hoạch.", "settings.prometheus.integration.uarAdmin.teams.taskBoardDescription": "Các phụ thuộc thể hiện thứ tự cần thiết trước khi thực thi.", "settings.prometheus.integration.uarAdmin.teams.taskBoardTitle": "Bảng tác vụ", + "settings.prometheus.integration.uarAdmin.teams.taskClaimed": "Tác vụ đã được nhận cho thành viên đã chọn.", "settings.prometheus.integration.uarAdmin.teams.taskDetails": "Xem đầu vào và hợp đồng đầu ra", "settings.prometheus.integration.uarAdmin.teams.taskInput": "Đầu vào tác vụ (JSON)", + "settings.prometheus.integration.uarAdmin.teams.taskReady": "Đã đánh dấu tác vụ sẵn sàng.", + "settings.prometheus.integration.uarAdmin.teams.taskReassigned": "Đã phân công lại tác vụ.", "settings.prometheus.integration.uarAdmin.teams.taskRole": "Vai trò được giao", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.cancelled": "Đã hủy", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.failed": "Thất bại", "settings.prometheus.integration.uarAdmin.teams.taskStatus.queued": "Trong hàng đợi", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.ready": "Sẵn sàng", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.succeeded": "Thành công", "settings.prometheus.integration.uarAdmin.teams.taskTitle": "Tiêu đề tác vụ", "settings.prometheus.integration.uarAdmin.teams.teamCreated": "Đã tạo phiên bản nhóm.", "settings.prometheus.integration.uarAdmin.teams.teamInput": "Đầu vào nhóm (JSON)", "settings.prometheus.integration.uarAdmin.teams.teamInputDescription": "Đầu vào được lưu cùng phiên bản nhóm.", "settings.prometheus.integration.uarAdmin.teams.teamStatus.inactive": "Không hoạt động", "settings.prometheus.integration.uarAdmin.teams.title": "Nhóm", + "settings.prometheus.integration.uarAdmin.teams.toMember": "Đến {{member}}", + "settings.prometheus.integration.uarAdmin.teams.unassigned": "Chưa phân công", + "settings.prometheus.integration.uarAdmin.teams.updatingAssignment": "Đang cập nhật phân công…", + "settings.prometheus.integration.uarAdmin.teams.waitingForDependencies": "Hoàn thành các tác vụ tiên quyết trước khi đánh dấu sẵn sàng.", "settings.prometheus.integration.uarApplied": "Sidecar đang chạy sử dụng cấu hình đã lưu", "settings.prometheus.integration.uarApplyHelp": "Trước tiên hãy lưu thay đổi cấu hình, sau đó áp dụng để khởi động lại sidecar. Các phiên UAR đang hoạt động sẽ chặn việc áp dụng và khởi động lại.", "settings.prometheus.integration.uarApplyRequired": "Các thay đổi đã lưu chưa được áp dụng cho sidecar đang chạy", diff --git a/src/renderer/i18n/locales/zh-cn.json b/src/renderer/i18n/locales/zh-cn.json index 022e5e80ebc..8fa185ddd63 100644 --- a/src/renderer/i18n/locales/zh-cn.json +++ b/src/renderer/i18n/locales/zh-cn.json @@ -5647,52 +5647,101 @@ "settings.prometheus.integration.uarAdmin.teams.addTaskDescription": "定义任务及其依赖关系。规划不会启动执行。", "settings.prometheus.integration.uarAdmin.teams.addTaskTitle": "规划任务", "settings.prometheus.integration.uarAdmin.teams.addingTask": "正在添加任务…", + "settings.prometheus.integration.uarAdmin.teams.assignReviewer": "分配审核者", + "settings.prometheus.integration.uarAdmin.teams.assignee": "负责成员", + "settings.prometheus.integration.uarAdmin.teams.assigningReviewer": "正在分配审核者…", "settings.prometheus.integration.uarAdmin.teams.binding": "部署绑定", + "settings.prometheus.integration.uarAdmin.teams.chooseAssignee": "为此任务选择成员", "settings.prometheus.integration.uarAdmin.teams.chooseBinding": "选择部署绑定", "settings.prometheus.integration.uarAdmin.teams.chooseDefinition": "选择团队定义", "settings.prometheus.integration.uarAdmin.teams.chooseInstance": "选择团队实例", + "settings.prometheus.integration.uarAdmin.teams.chooseRecipient": "选择团队成员", + "settings.prometheus.integration.uarAdmin.teams.chooseReviewer": "选择审核者", "settings.prometheus.integration.uarAdmin.teams.chooseRole": "选择角色", + "settings.prometheus.integration.uarAdmin.teams.claimTask": "为成员认领任务", "settings.prometheus.integration.uarAdmin.teams.createDescription": "选择不可变的定义及匹配的部署绑定。", "settings.prometheus.integration.uarAdmin.teams.createTeam": "创建团队实例", "settings.prometheus.integration.uarAdmin.teams.createTitle": "创建团队", "settings.prometheus.integration.uarAdmin.teams.creating": "正在创建团队…", "settings.prometheus.integration.uarAdmin.teams.definition": "团队定义", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode": "送达意图", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode.queueOnly": "仅加入队列", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode.triggerTurn": "请求轮次", "settings.prometheus.integration.uarAdmin.teams.dependencies": "依赖于", "settings.prometheus.integration.uarAdmin.teams.description": "为此工作区创建团队并规划有依赖关系的任务。", "settings.prometheus.integration.uarAdmin.teams.digest": "摘要", + "settings.prometheus.integration.uarAdmin.teams.installCurrentStarter": "安装当前入门团队", "settings.prometheus.integration.uarAdmin.teams.instancesDescription": "查看团队成员和计划中的工作。", "settings.prometheus.integration.uarAdmin.teams.instancesTitle": "团队实例", "settings.prometheus.integration.uarAdmin.teams.invalidOutputContract": "输出契约必须是 JSON 对象。", "settings.prometheus.integration.uarAdmin.teams.invalidTaskInput": "任务输入必须是有效的 JSON。", "settings.prometheus.integration.uarAdmin.teams.invalidTeamInput": "团队输入必须是有效的 JSON。", + "settings.prometheus.integration.uarAdmin.teams.mailboxDescription": "发送定向消息并查看送达状态。", + "settings.prometheus.integration.uarAdmin.teams.mailboxPlanningOnly": "消息会被记录和送达;此版本尚不支持智能体执行。", + "settings.prometheus.integration.uarAdmin.teams.mailboxTitle": "团队信箱", + "settings.prometheus.integration.uarAdmin.teams.mailboxUnavailable": "团队消息功能需要更新的 UAR sidecar。", + "settings.prometheus.integration.uarAdmin.teams.markReady": "标记为就绪", + "settings.prometheus.integration.uarAdmin.teams.markingReady": "正在标记为就绪…", + "settings.prometheus.integration.uarAdmin.teams.memberSlotCount": "{{role}} 成员", + "settings.prometheus.integration.uarAdmin.teams.memberSlots": "团队成员", + "settings.prometheus.integration.uarAdmin.teams.memberSlotsDescription": "选择此定义允许的成员数量。", "settings.prometheus.integration.uarAdmin.teams.membersTitle": "成员", + "settings.prometheus.integration.uarAdmin.teams.messageContent": "消息", + "settings.prometheus.integration.uarAdmin.teams.messageHistory": "消息历史", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.accepted": "已接受", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.delivered": "已送达", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.processed": "已处理", "settings.prometheus.integration.uarAdmin.teams.noBindings": "此工作区中没有可用的部署绑定。", "settings.prometheus.integration.uarAdmin.teams.noDefinitions": "尚未安装团队定义。", "settings.prometheus.integration.uarAdmin.teams.noDependencies": "没有可依赖的先前任务。", "settings.prometheus.integration.uarAdmin.teams.noInstances": "此工作区中没有团队实例。", "settings.prometheus.integration.uarAdmin.teams.noMembers": "此团队没有成员。", + "settings.prometheus.integration.uarAdmin.teams.noMessages": "暂无消息。", "settings.prometheus.integration.uarAdmin.teams.noTasks": "尚未规划任务。", "settings.prometheus.integration.uarAdmin.teams.none": "无", "settings.prometheus.integration.uarAdmin.teams.outputContract": "输出契约(JSON Schema)", + "settings.prometheus.integration.uarAdmin.teams.ownershipEpoch": "分配纪元", + "settings.prometheus.integration.uarAdmin.teams.ownershipUnavailable": "任务归属管理需要更新的 UAR sidecar。规划功能仍可使用。", + "settings.prometheus.integration.uarAdmin.teams.planningOnly": "目前仅支持规划和分配,团队执行尚不可用。", "settings.prometheus.integration.uarAdmin.teams.planningUnavailable": "团队规划不可用。", + "settings.prometheus.integration.uarAdmin.teams.readyReason": "就绪原因", + "settings.prometheus.integration.uarAdmin.teams.reassignTask": "重新分配任务", + "settings.prometheus.integration.uarAdmin.teams.recipient": "收件人", "settings.prometheus.integration.uarAdmin.teams.retryGuidance": "检查详细信息后重试。", + "settings.prometheus.integration.uarAdmin.teams.reviewer": "审核者", + "settings.prometheus.integration.uarAdmin.teams.reviewerAssigned": "审核者已分配。", + "settings.prometheus.integration.uarAdmin.teams.reviewerEpoch": "审核纪元", "settings.prometheus.integration.uarAdmin.teams.revision": "修订版", + "settings.prometheus.integration.uarAdmin.teams.sendMessage": "发送消息", + "settings.prometheus.integration.uarAdmin.teams.sendingMessage": "正在发送消息…", "settings.prometheus.integration.uarAdmin.teams.settingUpStarter": "正在设置入门团队…", "settings.prometheus.integration.uarAdmin.teams.setupStarter": "设置入门团队", "settings.prometheus.integration.uarAdmin.teams.starterReady": "入门团队已就绪。", + "settings.prometheus.integration.uarAdmin.teams.starterVersionHelp": "添加最新的内置团队,不更改现有团队。", "settings.prometheus.integration.uarAdmin.teams.taskAdded": "任务已添加到计划。", "settings.prometheus.integration.uarAdmin.teams.taskBoardDescription": "依赖关系表示执行前所需的顺序。", "settings.prometheus.integration.uarAdmin.teams.taskBoardTitle": "任务看板", + "settings.prometheus.integration.uarAdmin.teams.taskClaimed": "任务已由所选成员认领。", "settings.prometheus.integration.uarAdmin.teams.taskDetails": "查看输入和输出契约", "settings.prometheus.integration.uarAdmin.teams.taskInput": "任务输入(JSON)", + "settings.prometheus.integration.uarAdmin.teams.taskReady": "任务已标记为就绪。", + "settings.prometheus.integration.uarAdmin.teams.taskReassigned": "任务已重新分配。", "settings.prometheus.integration.uarAdmin.teams.taskRole": "分配的角色", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.cancelled": "已取消", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.failed": "失败", "settings.prometheus.integration.uarAdmin.teams.taskStatus.queued": "排队中", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.ready": "就绪", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.succeeded": "成功", "settings.prometheus.integration.uarAdmin.teams.taskTitle": "任务标题", "settings.prometheus.integration.uarAdmin.teams.teamCreated": "已创建团队实例。", "settings.prometheus.integration.uarAdmin.teams.teamInput": "团队输入(JSON)", "settings.prometheus.integration.uarAdmin.teams.teamInputDescription": "输入与团队实例一起存储。", "settings.prometheus.integration.uarAdmin.teams.teamStatus.inactive": "未激活", "settings.prometheus.integration.uarAdmin.teams.title": "团队", + "settings.prometheus.integration.uarAdmin.teams.toMember": "发送给 {{member}}", + "settings.prometheus.integration.uarAdmin.teams.unassigned": "未分配", + "settings.prometheus.integration.uarAdmin.teams.updatingAssignment": "正在更新分配…", + "settings.prometheus.integration.uarAdmin.teams.waitingForDependencies": "先完成前置任务,再将此任务标记为就绪。", "settings.prometheus.integration.uarApplied": "正在运行的边车使用已保存的配置", "settings.prometheus.integration.uarApplyHelp": "请先保存配置更改,然后应用更改以重启边车。UAR 运行期间无法应用或重启。", "settings.prometheus.integration.uarApplyRequired": "已保存的更改尚未应用到正在运行的边车", diff --git a/src/renderer/i18n/locales/zh-tw.json b/src/renderer/i18n/locales/zh-tw.json index d6be1a9aea6..5dfebddd4ee 100644 --- a/src/renderer/i18n/locales/zh-tw.json +++ b/src/renderer/i18n/locales/zh-tw.json @@ -5647,52 +5647,101 @@ "settings.prometheus.integration.uarAdmin.teams.addTaskDescription": "定義任務及其相依關係。規劃不會啟動執行。", "settings.prometheus.integration.uarAdmin.teams.addTaskTitle": "規劃任務", "settings.prometheus.integration.uarAdmin.teams.addingTask": "正在新增任務…", + "settings.prometheus.integration.uarAdmin.teams.assignReviewer": "指派審核者", + "settings.prometheus.integration.uarAdmin.teams.assignee": "負責成員", + "settings.prometheus.integration.uarAdmin.teams.assigningReviewer": "正在指派審核者…", "settings.prometheus.integration.uarAdmin.teams.binding": "部署綁定", + "settings.prometheus.integration.uarAdmin.teams.chooseAssignee": "為此任務選擇成員", "settings.prometheus.integration.uarAdmin.teams.chooseBinding": "選擇部署綁定", "settings.prometheus.integration.uarAdmin.teams.chooseDefinition": "選擇團隊定義", "settings.prometheus.integration.uarAdmin.teams.chooseInstance": "選擇團隊實例", + "settings.prometheus.integration.uarAdmin.teams.chooseRecipient": "選擇團隊成員", + "settings.prometheus.integration.uarAdmin.teams.chooseReviewer": "選擇審核者", "settings.prometheus.integration.uarAdmin.teams.chooseRole": "選擇角色", + "settings.prometheus.integration.uarAdmin.teams.claimTask": "為成員認領任務", "settings.prometheus.integration.uarAdmin.teams.createDescription": "選擇不可變的定義及相符的部署繫結。", "settings.prometheus.integration.uarAdmin.teams.createTeam": "建立團隊實例", "settings.prometheus.integration.uarAdmin.teams.createTitle": "建立團隊", "settings.prometheus.integration.uarAdmin.teams.creating": "正在建立團隊…", "settings.prometheus.integration.uarAdmin.teams.definition": "團隊定義", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode": "送達意圖", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode.queueOnly": "僅加入佇列", + "settings.prometheus.integration.uarAdmin.teams.deliveryMode.triggerTurn": "要求回合", "settings.prometheus.integration.uarAdmin.teams.dependencies": "相依於", "settings.prometheus.integration.uarAdmin.teams.description": "為此工作區建立團隊並規劃有相依關係的任務。", "settings.prometheus.integration.uarAdmin.teams.digest": "摘要", + "settings.prometheus.integration.uarAdmin.teams.installCurrentStarter": "安裝目前的入門團隊", "settings.prometheus.integration.uarAdmin.teams.instancesDescription": "檢視團隊成員和已規劃的工作。", "settings.prometheus.integration.uarAdmin.teams.instancesTitle": "團隊實例", "settings.prometheus.integration.uarAdmin.teams.invalidOutputContract": "輸出契約必須是 JSON 物件。", "settings.prometheus.integration.uarAdmin.teams.invalidTaskInput": "任務輸入必須是有效的 JSON。", "settings.prometheus.integration.uarAdmin.teams.invalidTeamInput": "團隊輸入必須是有效的 JSON。", + "settings.prometheus.integration.uarAdmin.teams.mailboxDescription": "傳送指定收件人的訊息並查看送達狀態。", + "settings.prometheus.integration.uarAdmin.teams.mailboxPlanningOnly": "訊息會被記錄並送達;此版本尚不支援代理程式執行。", + "settings.prometheus.integration.uarAdmin.teams.mailboxTitle": "團隊信箱", + "settings.prometheus.integration.uarAdmin.teams.mailboxUnavailable": "團隊訊息功能需要更新的 UAR sidecar。", + "settings.prometheus.integration.uarAdmin.teams.markReady": "標記為就緒", + "settings.prometheus.integration.uarAdmin.teams.markingReady": "正在標記為就緒…", + "settings.prometheus.integration.uarAdmin.teams.memberSlotCount": "{{role}} 成員", + "settings.prometheus.integration.uarAdmin.teams.memberSlots": "團隊成員", + "settings.prometheus.integration.uarAdmin.teams.memberSlotsDescription": "選擇此定義允許的成員數量。", "settings.prometheus.integration.uarAdmin.teams.membersTitle": "成員", + "settings.prometheus.integration.uarAdmin.teams.messageContent": "訊息", + "settings.prometheus.integration.uarAdmin.teams.messageHistory": "訊息記錄", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.accepted": "已接受", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.delivered": "已送達", + "settings.prometheus.integration.uarAdmin.teams.messageStatus.processed": "已處理", "settings.prometheus.integration.uarAdmin.teams.noBindings": "此工作區中沒有可用的部署綁定。", "settings.prometheus.integration.uarAdmin.teams.noDefinitions": "尚未安裝團隊定義。", "settings.prometheus.integration.uarAdmin.teams.noDependencies": "沒有可相依的先前任務。", "settings.prometheus.integration.uarAdmin.teams.noInstances": "此工作區沒有團隊實例。", "settings.prometheus.integration.uarAdmin.teams.noMembers": "此團隊沒有成員。", + "settings.prometheus.integration.uarAdmin.teams.noMessages": "尚無訊息。", "settings.prometheus.integration.uarAdmin.teams.noTasks": "尚未規劃任何任務。", "settings.prometheus.integration.uarAdmin.teams.none": "無", "settings.prometheus.integration.uarAdmin.teams.outputContract": "輸出契約(JSON Schema)", + "settings.prometheus.integration.uarAdmin.teams.ownershipEpoch": "指派紀元", + "settings.prometheus.integration.uarAdmin.teams.ownershipUnavailable": "任務歸屬管理需要更新的 UAR sidecar。規劃功能仍可使用。", + "settings.prometheus.integration.uarAdmin.teams.planningOnly": "目前僅支援規劃與指派,團隊執行尚不可用。", "settings.prometheus.integration.uarAdmin.teams.planningUnavailable": "團隊規劃無法使用。", + "settings.prometheus.integration.uarAdmin.teams.readyReason": "就緒原因", + "settings.prometheus.integration.uarAdmin.teams.reassignTask": "重新指派任務", + "settings.prometheus.integration.uarAdmin.teams.recipient": "收件人", "settings.prometheus.integration.uarAdmin.teams.retryGuidance": "檢查詳細資料後再試一次。", + "settings.prometheus.integration.uarAdmin.teams.reviewer": "審核者", + "settings.prometheus.integration.uarAdmin.teams.reviewerAssigned": "審核者已指派。", + "settings.prometheus.integration.uarAdmin.teams.reviewerEpoch": "審核紀元", "settings.prometheus.integration.uarAdmin.teams.revision": "修訂版", + "settings.prometheus.integration.uarAdmin.teams.sendMessage": "傳送訊息", + "settings.prometheus.integration.uarAdmin.teams.sendingMessage": "正在傳送訊息…", "settings.prometheus.integration.uarAdmin.teams.settingUpStarter": "正在設定入門團隊…", "settings.prometheus.integration.uarAdmin.teams.setupStarter": "設定入門團隊", "settings.prometheus.integration.uarAdmin.teams.starterReady": "入門團隊已就緒。", + "settings.prometheus.integration.uarAdmin.teams.starterVersionHelp": "新增最新的內建團隊,不變更現有團隊。", "settings.prometheus.integration.uarAdmin.teams.taskAdded": "任務已新增至計畫。", "settings.prometheus.integration.uarAdmin.teams.taskBoardDescription": "相依關係顯示執行前所需的順序。", "settings.prometheus.integration.uarAdmin.teams.taskBoardTitle": "任務看板", + "settings.prometheus.integration.uarAdmin.teams.taskClaimed": "任務已由所選成員認領。", "settings.prometheus.integration.uarAdmin.teams.taskDetails": "檢視輸入與輸出契約", "settings.prometheus.integration.uarAdmin.teams.taskInput": "任務輸入(JSON)", + "settings.prometheus.integration.uarAdmin.teams.taskReady": "任務已標記為就緒。", + "settings.prometheus.integration.uarAdmin.teams.taskReassigned": "任務已重新指派。", "settings.prometheus.integration.uarAdmin.teams.taskRole": "指派的角色", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.cancelled": "已取消", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.failed": "失敗", "settings.prometheus.integration.uarAdmin.teams.taskStatus.queued": "佇列中", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.ready": "就緒", + "settings.prometheus.integration.uarAdmin.teams.taskStatus.succeeded": "成功", "settings.prometheus.integration.uarAdmin.teams.taskTitle": "任務標題", "settings.prometheus.integration.uarAdmin.teams.teamCreated": "已建立團隊實例。", "settings.prometheus.integration.uarAdmin.teams.teamInput": "團隊輸入(JSON)", "settings.prometheus.integration.uarAdmin.teams.teamInputDescription": "輸入會與團隊實例一起儲存。", "settings.prometheus.integration.uarAdmin.teams.teamStatus.inactive": "未啟用", "settings.prometheus.integration.uarAdmin.teams.title": "團隊", + "settings.prometheus.integration.uarAdmin.teams.toMember": "傳送給 {{member}}", + "settings.prometheus.integration.uarAdmin.teams.unassigned": "未指派", + "settings.prometheus.integration.uarAdmin.teams.updatingAssignment": "正在更新指派…", + "settings.prometheus.integration.uarAdmin.teams.waitingForDependencies": "請先完成前置任務,再將此任務標記為就緒。", "settings.prometheus.integration.uarApplied": "執行中的附屬程式使用已儲存的設定", "settings.prometheus.integration.uarApplyHelp": "請先儲存設定變更,再套用變更以重新啟動附屬程式。UAR 執行期間無法套用或重新啟動。", "settings.prometheus.integration.uarApplyRequired": "已儲存的變更尚未套用至執行中的附屬程式", diff --git a/src/renderer/pages/settings/PrometheusSettings/UarTeamMailbox.tsx b/src/renderer/pages/settings/PrometheusSettings/UarTeamMailbox.tsx new file mode 100644 index 00000000000..06a088bba2c --- /dev/null +++ b/src/renderer/pages/settings/PrometheusSettings/UarTeamMailbox.tsx @@ -0,0 +1,210 @@ +import { RefreshCw } from 'lucide-react' +import { useCallback, useEffect, useId, useRef, useState } from 'react' +import { useTranslation } from 'react-i18next' + +import { + Badge, + Button, + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, + Textarea +} from '@cherrystudio/ui' +import { SettingDescription, SettingGroup, SettingTitle } from '@renderer/components/SettingsPrimitives' +import { ipcApi } from '@renderer/ipc' +import type { UarTeamInstance, UarTeamMailboxMessage } from '@shared/types/uarTeams' + +type Mode = 'queue-only' | 'trigger-turn' + +interface Props { + workspaceId: string + instance: UarTeamInstance + available: boolean +} + +export function UarTeamMailbox({ workspaceId, instance, available }: Props) { + const { i18n, t } = useTranslation() + const { t: tr } = useTranslation(undefined, { keyPrefix: 'settings.prometheus.integration.uarAdmin.teams' }) + const recipientInputId = useId() + const modeInputId = useId() + const contentInputId = useId() + const [messages, setMessages] = useState([]) + const [recipientMemberId, setRecipientMemberId] = useState() + const [mode, setMode] = useState('queue-only') + const [content, setContent] = useState('') + const [loading, setLoading] = useState(false) + const [sending, setSending] = useState(false) + const [error, setError] = useState() + const [status, setStatus] = useState() + const sendIntent = useRef<{ fingerprint: string; commandId: string } | undefined>(undefined) + + const refresh = useCallback(async () => { + setLoading(true) + setError(undefined) + try { + const page = await ipcApi.request('prometheus.uar.teams.mailbox_list', { + workspaceId, + teamInstanceId: instance.id + }) + setMessages(page.messages) + } catch (cause) { + setError(cause instanceof Error ? cause.message : String(cause)) + } finally { + setLoading(false) + } + }, [workspaceId, instance.id]) + + useEffect(() => { + if (available) void refresh() + }, [available, refresh]) + + const send = async () => { + const text = content.trim() + if (!available || !recipientMemberId || !text) return + const fingerprint = JSON.stringify([workspaceId, instance.id, recipientMemberId, mode, text]) + const intent = + sendIntent.current?.fingerprint === fingerprint + ? sendIntent.current + : { fingerprint, commandId: crypto.randomUUID() } + sendIntent.current = intent + setSending(true) + setError(undefined) + setStatus(undefined) + try { + await ipcApi.request('prometheus.uar.teams.mailbox_send', { + workspaceId, + teamInstanceId: instance.id, + commandId: intent.commandId, + recipientMemberId, + content: text, + mode + }) + sendIntent.current = undefined + setContent('') + setStatus(tr('messageStatus.accepted')) + await refresh() + } catch (cause) { + setError(cause instanceof Error ? cause.message : String(cause)) + } finally { + setSending(false) + } + } + + const memberName = (id: string) => { + const member = instance.members.find((candidate) => candidate.id === id) + return member ? `${member.role} · ${member.ordinal}` : id + } + const messageStatus = (message: UarTeamMailboxMessage) => tr(`messageStatus.${message.status}`) + const formatTime = (value: string) => new Date(value).toLocaleString(i18n.language) + + return ( + +
+
+ {tr('mailboxTitle')} + {tr('mailboxDescription')} +
+ +
+ {!available && ( +

+ {tr('mailboxUnavailable')} +

+ )} + {error && ( +

+ {error} {tr('retryGuidance')} +

+ )} + {status && ( +

+ {status} +

+ )} +
+
+ + +
+
+ + +
+
+

{tr('mailboxPlanningOnly')}

+
+ + setContent(event.target.value)} + maxLength={16000} + rows={3} + disabled={!available || sending} + /> +
+ +
+

{tr('messageHistory')}

+ {loading && ( +

+ {t('common.loading')} +

+ )} + {available && !loading && messages.length === 0 && ( +

{tr('noMessages')}

+ )} +
    + {messages.map((message) => ( +
  1. +
    + {tr('toMember', { member: memberName(message.recipientMemberId) })} + {messageStatus(message)} +
    +

    {message.content}

    +

    + {tr(message.mode === 'trigger-turn' ? 'deliveryMode.triggerTurn' : 'deliveryMode.queueOnly')} ·{' '} + {formatTime(message.acceptedAt)} · {message.messageId} +

    +
  2. + ))} +
+
+
+ ) +} diff --git a/src/renderer/pages/settings/PrometheusSettings/UarTeamTaskActions.tsx b/src/renderer/pages/settings/PrometheusSettings/UarTeamTaskActions.tsx new file mode 100644 index 00000000000..f58bfad6320 --- /dev/null +++ b/src/renderer/pages/settings/PrometheusSettings/UarTeamTaskActions.tsx @@ -0,0 +1,216 @@ +import { useId, useRef, useState } from 'react' +import { useTranslation } from 'react-i18next' + +import { Button, Input, Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@cherrystudio/ui' +import { ipcApi } from '@renderer/ipc' +import type { UarTeamInstance, UarTeamTask } from '@shared/types/uarTeams' + +type Action = 'claim' | 'reassign' | 'reviewer' + +interface Props { + workspaceId: string + instance: UarTeamInstance + task: UarTeamTask + ownership: boolean + onChanged: () => Promise +} + +export function UarTeamTaskActions({ workspaceId, instance, task, ownership, onChanged }: Props) { + const { t: tr } = useTranslation(undefined, { keyPrefix: 'settings.prometheus.integration.uarAdmin.teams' }) + const assigneeInputId = useId() + const reviewerInputId = useId() + const readyReasonInputId = useId() + const [assigneeId, setAssigneeId] = useState() + const [reviewerId, setReviewerId] = useState() + const [busy, setBusy] = useState() + const [error, setError] = useState() + const [status, setStatus] = useState() + const [readyReason, setReadyReason] = useState('') + const [readyBusy, setReadyBusy] = useState(false) + const intents = useRef>>({}) + const readyIntent = useRef<{ fingerprint: string; commandId: string } | undefined>(undefined) + const assignees = instance.members.filter((member) => member.role === task.role) + const reviewers = instance.members.filter((member) => member.id !== task.assigneeMemberId) + const assigned = Boolean(task.assigneeMemberId) + const canMarkReady = + task.status === 'queued' && + task.dependsOn.every((id) => instance.tasks.find((candidate) => candidate.id === id)?.status === 'succeeded') + + const markReady = async () => { + const reason = readyReason.trim() + if (!ownership || !reason || !canMarkReady) return + const fingerprint = JSON.stringify([instance.id, task.id, task.revision, instance.revision, 'ready', reason]) + const intent = + readyIntent.current?.fingerprint === fingerprint + ? readyIntent.current + : { fingerprint, commandId: crypto.randomUUID() } + readyIntent.current = intent + setReadyBusy(true) + setError(undefined) + setStatus(undefined) + try { + await ipcApi.request('prometheus.uar.teams.update_task_state', { + workspaceId, + teamInstanceId: instance.id, + taskId: task.id, + commandId: intent.commandId, + expectedTeamRevision: instance.revision, + expectedTaskRevision: task.revision, + status: 'ready', + reason + }) + readyIntent.current = undefined + setReadyReason('') + setStatus(tr('taskReady')) + await onChanged() + } catch (cause) { + setError(cause instanceof Error ? cause.message : String(cause)) + } finally { + setReadyBusy(false) + } + } + + const mutate = async (action: Action, memberId: string | undefined) => { + if (!ownership || !memberId || (task.status !== 'ready' && action !== 'reviewer')) return + const fingerprint = JSON.stringify([instance.id, task.id, task.revision, instance.revision, action, memberId]) + const intent = + intents.current[action]?.fingerprint === fingerprint + ? intents.current[action]! + : { fingerprint, commandId: crypto.randomUUID() } + intents.current[action] = intent + setBusy(action) + setError(undefined) + setStatus(undefined) + const input = { + workspaceId, + teamInstanceId: instance.id, + taskId: task.id, + commandId: intent.commandId, + expectedTeamRevision: instance.revision, + expectedTaskRevision: task.revision, + memberId + } + try { + if (action === 'claim') await ipcApi.request('prometheus.uar.teams.claim_task', input) + else if (action === 'reassign') await ipcApi.request('prometheus.uar.teams.reassign_task', input) + else await ipcApi.request('prometheus.uar.teams.assign_reviewer', input) + delete intents.current[action] + setStatus(tr(action === 'claim' ? 'taskClaimed' : action === 'reassign' ? 'taskReassigned' : 'reviewerAssigned')) + await onChanged() + } catch (cause) { + setError(cause instanceof Error ? cause.message : String(cause)) + } finally { + setBusy(undefined) + } + } + + return ( +
+ {task.status === 'queued' && ( +
+ + setReadyReason(event.target.value)} + maxLength={512} + disabled={!ownership || !canMarkReady || readyBusy} + /> + {!canMarkReady &&

{tr('waitingForDependencies')}

} + +
+ )} +
+ + + +
+
+ + + +
+ {error && ( +

+ {error} {tr('retryGuidance')} +

+ )} + {status && ( +

+ {status} +

+ )} +
+ ) +} diff --git a/src/renderer/pages/settings/PrometheusSettings/UarTeamTaskBoard.tsx b/src/renderer/pages/settings/PrometheusSettings/UarTeamTaskBoard.tsx index 9f3dd6f5af6..542dd15f58d 100644 --- a/src/renderer/pages/settings/PrometheusSettings/UarTeamTaskBoard.tsx +++ b/src/renderer/pages/settings/PrometheusSettings/UarTeamTaskBoard.tsx @@ -4,13 +4,33 @@ import { Badge } from '@cherrystudio/ui' import { SettingDescription, SettingGroup, SettingTitle } from '@renderer/components/SettingsPrimitives' import type { UarTeamInstance } from '@shared/types/uarTeams' -export function UarTeamTaskBoard({ instance }: { instance: UarTeamInstance }) { +import { UarTeamTaskActions } from './UarTeamTaskActions' + +interface Props { + workspaceId: string + instance: UarTeamInstance + ownership: boolean + onChanged: () => Promise +} + +export function UarTeamTaskBoard({ workspaceId, instance, ownership, onChanged }: Props) { const { t: tr } = useTranslation(undefined, { keyPrefix: 'settings.prometheus.integration.uarAdmin.teams' }) + const memberName = (id: string | null | undefined) => { + if (!id) return tr('unassigned') + const member = instance.members.find((candidate) => candidate.id === id) + return member ? `${member.role} · ${member.ordinal}` : id + } return ( {tr('taskBoardTitle')} {tr('taskBoardDescription')} +

{tr('planningOnly')}

+ {!ownership && ( +

+ {tr('ownershipUnavailable')} +

+ )} {instance.tasks.length === 0 ? (

{tr('noTasks')}

) : ( @@ -26,6 +46,25 @@ export function UarTeamTaskBoard({ instance }: { instance: UarTeamInstance }) { {tr(`taskStatus.${task.status}`)} +
+
+
{tr('assignee')}:
+
{memberName(task.assigneeMemberId)}
+
+
+
{tr('ownershipEpoch')}:
+
{task.ownershipEpoch}
+
+
+
{tr('reviewer')}:
+
{memberName(task.reviewerMemberId)}
+
+
+
{tr('reviewerEpoch')}:
+
{task.reviewerEpoch}
+
+
+ {task.stateReason &&

{task.stateReason}

}

{tr('dependencies')}:{' '} {task.dependsOn.length @@ -53,6 +92,13 @@ export function UarTeamTaskBoard({ instance }: { instance: UarTeamInstance }) { + ))} diff --git a/src/renderer/pages/settings/PrometheusSettings/UarTeamsPanel.tsx b/src/renderer/pages/settings/PrometheusSettings/UarTeamsPanel.tsx index e92b4c5d42f..8bf18089d5e 100644 --- a/src/renderer/pages/settings/PrometheusSettings/UarTeamsPanel.tsx +++ b/src/renderer/pages/settings/PrometheusSettings/UarTeamsPanel.tsx @@ -16,6 +16,7 @@ import { SettingDescription, SettingGroup, SettingTitle } from '@renderer/compon import { ipcApi } from '@renderer/ipc' import type { UarTeamsSnapshot } from '@shared/types/uarTeams' +import { UarTeamMailbox } from './UarTeamMailbox' import { UarTeamTaskBoard } from './UarTeamTaskBoard' import { UarTeamTaskForm } from './UarTeamTaskForm' @@ -33,6 +34,7 @@ export function UarTeamsPanel({ workspaceId }: { workspaceId: string }) { const [selectedDefinitionKey, setSelectedDefinitionKey] = useState() const [selectedBindingId, setSelectedBindingId] = useState() const [selectedInstanceId, setSelectedInstanceId] = useState() + const [memberCounts, setMemberCounts] = useState>({}) const [teamInput, setTeamInput] = useState('{}') const createIntent = useRef<{ fingerprint: string; commandId: string } | undefined>(undefined) @@ -40,7 +42,8 @@ export function UarTeamsPanel({ workspaceId }: { workspaceId: string }) { setLoading(true) setError(undefined) try { - setSnapshot(await ipcApi.request('prometheus.uar.teams.snapshot', { workspaceId })) + const next = await ipcApi.request('prometheus.uar.teams.snapshot', { workspaceId }) + setSnapshot(next) } catch (cause) { setError(cause instanceof Error ? cause.message : String(cause)) } finally { @@ -70,9 +73,21 @@ export function UarTeamsPanel({ workspaceId }: { workspaceId: string }) { setError(undefined) setStatus(undefined) try { - await ipcApi.request('prometheus.uar.teams.setup_starter', { workspaceId }) + const binding = await ipcApi.request('prometheus.uar.teams.setup_starter', { workspaceId }) setStatus(tr('starterReady')) - await refresh() + const next = await ipcApi.request('prometheus.uar.teams.snapshot', { workspaceId }) + setSnapshot(next) + const installed = next.definitions.find( + (definition) => + definition.id === 'urn:boss:starter:team' && + definition.package.id === binding.package.id && + definition.package.digest === binding.package.digest + ) + if (installed) { + setSelectedDefinitionKey(definitionKey(installed)) + setSelectedBindingId(binding.id) + setMemberCounts(Object.fromEntries(installed.members.map((member) => [member.role, member.min]))) + } } catch (cause) { setError(cause instanceof Error ? cause.message : String(cause)) } finally { @@ -95,7 +110,11 @@ export function UarTeamsPanel({ workspaceId }: { workspaceId: string }) { selectedDefinition.id, selectedDefinition.version, selectedDefinition.digest, - input + input, + selectedDefinition.members.map((member) => ({ + role: member.role, + count: memberCounts[member.role] ?? member.min + })) ]) const intent = createIntent.current?.fingerprint === fingerprint @@ -115,7 +134,11 @@ export function UarTeamsPanel({ workspaceId }: { workspaceId: string }) { version: selectedDefinition.version, digest: selectedDefinition.digest }, - input + input, + memberSlots: selectedDefinition.members.map((member) => ({ + role: member.role, + count: memberCounts[member.role] ?? member.min + })) }) setSelectedInstanceId(instance.id) createIntent.current = undefined @@ -178,6 +201,10 @@ export function UarTeamsPanel({ workspaceId }: { workspaceId: string }) { onValueChange={(value) => { setSelectedDefinitionKey(value) setSelectedBindingId(undefined) + const definition = snapshot.definitions.find((item) => definitionKey(item) === value) + setMemberCounts( + Object.fromEntries(definition?.members.map((member) => [member.role, member.min]) ?? []) + ) }}> @@ -196,18 +223,19 @@ export function UarTeamsPanel({ workspaceId }: { workspaceId: string }) {

)} {snapshot.definitions.length === 0 && ( -
-

{tr('noDefinitions')}

- -
+

{tr('noDefinitions')}

)} + +

{tr('starterVersionHelp')}

+ {selectedDefinition && ( +
+ {tr('memberSlots')} +

{tr('memberSlotsDescription')}

+
+ {selectedDefinition.members.map((member, index) => ( +
+ + +
+ ))} +
+
+ )}