Files
multica/packages/views/locales/ko/agents.json
Naiyuan Qing 887c9228b8 feat(views): transcript reading hierarchy — presenter, expand modes, log-scale markdown (#5871)
* feat(views): transcript reading hierarchy — presenter, expand modes, log-scale markdown

The transcript rendered all five event kinds as identical truncated
one-liners: agent replies and errors were clipped to half a sentence and
only readable through an 11px bordered scroll box, indistinguishable in
weight from dozens of tool rows.

- trace-event-presenter.ts: pure presentation rules — kind, verbatim
  tool labels, newline-free one-line summaries, shell-wrapper stripping
  for command summaries, and per-kind default expansion.
- Smart reading hierarchy: agent text renders in place through
  RichContent (compact density + transcript-prose log scale: headings
  demoted to body size, 12.5px/11px two-step type ramp) and errors read
  unboxed; thinking and tool rows stay folded to one line.
- Expand mode menu replaces the expand-visible toggle: a persisted
  three-way preference (smart / expand all / collapse all) with per-item
  descriptions; row-level toggles override it until the mode changes.
  transcript-view-store migrates the legacy defaultExpanded boolean.
- Tool params/output expand into a quiet borderless surface; long
  content fades behind "Show all" instead of a nested scrollbar.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* refactor(views): transcript header — status-first identity row, facts as typography, list toolbar

The header mixed five different natures in one visual container: status
pill, attribution badge, nine equal-weight metadata chips (including
truncated agent-description prose and a hostname), and the list controls
— everything a rounded bordered capsule, so information and controls
were indistinguishable and wrapped into a ragged 2-3 lines.

Restructure into three fixed-purpose rows:
- Identity: status pill anchors the left edge (the fact every viewer
  opens the dialog for), then the agent through its existing avatar
  component (hover card for details; fixes the empty-name case via
  agentInfo fallback) and a new borderless `inline` AttributionBadge
  variant. Close stays at the right.
- Facts: one dot-separated plain-text line — provider, runtime mode
  (hostname in hover title), duration, counts, timestamp; the workdir
  path collapses into a copy icon with the path as tooltip. The
  agent-description chip is gone (it lives in the avatar hover card).
- List toolbar: expand mode / sort / filter / copy move to their own
  row attached to the list they operate.

Only controls keep borders; only status keeps color; entities render
through their identity components; facts are typography.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* refactor(views): transcript header — two-tier by necessity (ⓘ popover), trigger source, full status machine

Following PR #5747's design lesson: split header metadata by whether a
viewer needs it BEFORE reading. The flat facts line put diagnostics
(provider, runtime hostname, mode, workdir, timestamps) on the
always-visible surface with equal weight.

- Identity row (tier 1): status · agent · trigger source · attribution.
  Trigger source ("Initial run" / "From a comment" / "Retry" / ...)
  answers "why does this run exist" — restored from #5747, was dropped.
- Status badge now covers the full state machine (queued / dispatched /
  cancelled / waiting), not just running/completed/failed.
- ⓘ Run-details popover (tier 2): runtime, provider, mode, workdir
  (copyable), created/started/completed — off the default surface.
- Toolbar left carries duration + event/tool counts (a read-before-you-
  read summary), so the control row balances instead of stranding the
  controls at the right with empty left space.

Persisted preferences (sort, filter selection, preserve-filters, expand
density) are untouched — same controls, same behavior.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(views): transcript summary/controls — JSON preview, unify sort button, attribution to ⓘ

- Tool-result summary took the first non-empty line, so pretty-printed
  JSON previewed as a lone "[" or "{". Collapse whitespace instead so it
  reads "[ { "id": ... } ]".
- Sort was a segmented tab strip, reading as a different control family.
  Make it a single two-state toggle button on the shared toolbar chassis
  (shows current direction, flips on click) — every toolbar control now
  shares one chassis with a type-appropriate affordance (toggle / menu /
  action), not one forced shape.
- Attribution left the identity row. The accountable human is audit
  metadata, not read-time context, and "on behalf of" misread the
  direction; the trigger *mechanism* stays on the identity row, the
  *person* moves to the ⓘ popover as "Triggered by".
- Drop the tool-call count from the toolbar: redundant with the event
  count and informs no reading decision.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* refactor(views): transcript toolbar uses the shared Button component + labels fix

Toolbar controls were hand-rolled <button>s, so they never got the
project's built-in aria-expanded active state — opening a menu left the
trigger looking idle. Route every control through the shared Button:

- Density / filter / ⓘ / close → Button variant="ghost" via the trigger
  render prop, so an open menu shows the muted active background for free.
- Active filter → Button variant="brand" (the design-system ON state),
  replacing the ad-hoc blue classes.
- Sort → ghost Button on the same chassis (was a segmented tab strip).
- Copy → ghost Button.

Wording:
- Sort reads "Oldest first" / "Newest first" (was the ambiguous
  "chronological / time order").
- Expand-mode "Smart" → "Focus" — names the result, not a hollow adjective.

Start/created/completed timestamps remain in the ⓘ Run-details popover.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* refactor(views): filters always persist, drop "on behalf of" wording, surface run time

Three follow-ups from review:
- Remove the "Preserve filters" toggle. Persisting the filter selection
  is the only sensible behavior (a facet a run lacks already no-ops), so
  it should not be a user-facing switch. Filters now always persist;
  drop preserveFilters + the session-vs-persisted branching from the
  store and dialog.
- Inline attribution showed "on behalf of <name>", which read backwards
  and doubled up under the ⓘ "Triggered by" label. Render just the
  avatar + name; the source stays in the tooltip.
- Surface the run time (started ?? created) on the toolbar left next to
  duration and event count — "when did this happen" is read-before-you-
  read context. Full-precision timestamps remain in the ⓘ popover.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* refactor(views): triggered-by back on the identity row, labeled toolbar facts

- The accountable human returns to the identity row next to the trigger
  mechanism (status · agent · trigger · person), where it's visible
  rather than buried in the ⓘ popover.
- Toolbar facts now carry explicit labels — "Created <time> · Took
  <duration> · N events" — instead of bare values the reader had to
  infer.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(views): transcript identity row reads as one sentence, not three peers

The row put the agent, the trigger word, and the person at near-equal
weight with two same-size avatars, so it read as a jumble of names with
"comment-triggered" floating between them.

- The agent is the sole primary identity (avatar + medium weight).
- Trigger + person collapse into one muted secondary unit set apart from
  the agent, ordered "<person> · <how>".
- Drop the person's avatar here (new AttributionBadge `hideAvatar`) so
  two same-size faces don't read as two agents; the name alone, being
  muted, can't be confused with the agent.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(views): copy-all exports full event bodies, not truncated summaries

handleCopyAll built its text from traceEventSummary — the one-line,
whitespace-collapsed, 200-char row preview — so every copied tool output
and agent reply was truncated with "...". Add traceEventCopyText, which
returns the complete body (full tool input JSON / result output / prose),
redact it like the detail view, and join events with blank lines.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* chore(views): remove orphaned tool_calls i18n keys, fix inline-variant JSDoc

Review follow-ups (no behavior change):
- Delete tool_calls_one/tool_calls_other from all four locales — the
  metadata chip that used them was removed earlier in this branch.
- Correct the AttributionBadge inline-variant JSDoc: it renders the bare
  name (no "on behalf of" wrapper), matching the implementation and test.
- en events_one grammar: "1 event" not "1 events".

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(views): fold copy timestamps into full-body copy (merge #5873)

Reconcile #5873's "timestamps in copied events" (merged to main) with
this branch's full-body copy rewrite: traceEventCopyText now prefixes
each line with the RFC 3339 timestamp when created_at is valid, on top of
the complete (untruncated) body, events separated by a blank line. The
two #5873 copy tests are updated to the full-body format; the orphaned
formatEventForClipboard helper is removed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 16:12:10 +08:00

831 lines
44 KiB
JSON

{
"page": {
"title": "에이전트",
"tagline": "이슈를 맡고, 댓글을 남기고, 상태를 업데이트하는 AI 팀원입니다.",
"learn_more": "자세히 보기 →",
"new_agent": "새 에이전트",
"search_placeholder": "에이전트 검색...",
"show_archived": "보관된 에이전트 보기 ({{count}}) →",
"of_total": "{{total}}개 중 {{visible}}개",
"list_load_failed": "에이전트 목록을 불러오지 못했습니다",
"list_load_failed_default": "에이전트 목록을 가져오는 중 문제가 발생했습니다.",
"try_again": "다시 시도"
},
"scope": {
"mine": "내 것",
"all": "전체",
"archived": "보관됨"
},
"sort": {
"label_recent": "최근 활동",
"label_name": "이름",
"label_runs": "실행 많은 순",
"label_created": "최근 생성"
},
"availability": {
"all": "전체",
"online": "온라인",
"unstable": "불안정",
"offline": "오프라인",
"archived": "보관됨"
},
"workload": {
"working": "작업 중",
"queued": "대기 중",
"idle": "유휴"
},
"archived": {
"active_link": "활성 에이전트",
"title": "보관된 에이전트"
},
"empty": {
"title": "아직 에이전트가 없습니다",
"description": "팀원에게 하듯 에이전트를 만들고 이슈를 할당하세요. 로컬 에이전트는 내 기기에서, 클라우드 에이전트는 Multica 런타임에서 실행됩니다."
},
"no_matches": {
"title": "일치하는 결과 없음",
"search_archived": "\"{{query}}\"와 일치하는 보관된 에이전트가 없습니다.",
"no_archived": "아직 보관된 에이전트가 없습니다.",
"search_active": "\"{{query}}\"와 일치하는 에이전트가 없습니다.",
"search_active_filtered": "이 필터에서 \"{{query}}\"와 일치하는 에이전트가 없습니다.",
"no_filter_match": "이 필터와 일치하는 에이전트가 없습니다.",
"search_runtime_filtered": "\"{{machine}}\"에서 \"{{query}}\"와 일치하는 에이전트가 없습니다.",
"runtime_filtered": "\"{{machine}}\"에 에이전트가 없습니다."
},
"runtime_filter": {
"all": "모든 런타임",
"section_local": "로컬",
"section_remote": "원격",
"section_cloud": "클라우드",
"agent_count_other": "에이전트 {{count}}개",
"empty": "아직 기기가 없습니다"
},
"columns": {
"agent": "에이전트",
"status": "상태",
"workload": "작업량",
"runtime": "런타임",
"activity_7d": "활동(7일)",
"runs": "실행",
"last_active": "최근 활동",
"model": "모델",
"created": "생성일",
"owner": "소유자",
"access": "액세스"
},
"row": {
"you": "나",
"archived": "보관됨",
"no_description": "설명 없음",
"fallback_runtime_cloud": "클라우드",
"fallback_runtime_local": "로컬",
"actions_aria": "행 작업",
"task_count_other": "태스크 {{count}}개"
},
"activity_tooltip": {
"created_today": "오늘 생성됨",
"created_days_ago_other": "{{count}}일 전에 생성됨",
"last_7_days": "최근 7일",
"no_activity": "활동 없음",
"runs_other": "실행 {{count}}회",
"failed_suffix": " · 실패 {{count}}회({{percent}}%)"
},
"row_actions": {
"cancel_all_tasks": "모든 작업 취소",
"duplicate": "복제",
"restore": "복원",
"archive": "보관",
"set_access": "접근 범위 설정",
"set_access_dialog_title": "접근 범위 설정",
"set_access_applies_to": "{{count}}개 agent에 적용됩니다.",
"set_access_skipped": "{{count}}개 건너뜀(본인 소유 아님).",
"set_access_dialog_confirm": "적용",
"set_access_bulk_partial": "{{succeeded}}개 적용, {{failed}}개 실패(현재 상태 유지).",
"agent_archived_toast": "에이전트를 보관했습니다",
"archive_failed_toast": "에이전트를 보관하지 못했습니다",
"agent_restored_toast": "에이전트를 복원했습니다",
"restore_failed_toast": "에이전트를 복원하지 못했습니다",
"no_tasks_to_cancel_toast": "취소할 활성 작업이 없습니다",
"cancelled_tasks_toast_other": "작업 {{count}}개를 취소했습니다",
"cancel_failed_toast": "작업을 취소하지 못했습니다",
"cancel_dialog_title": "\"{{name}}\"의 모든 작업을 취소할까요?",
"cancel_dialog_no_tasks": "취소할 활성 작업이 없습니다.",
"cancel_dialog_running_other": "실행 중 {{count}}개",
"cancel_dialog_queued_other": "대기 중 {{count}}개",
"cancel_dialog_impact_other": "{{summary}} 작업이 취소됩니다.",
"cancel_dialog_running_note": " 실행 중인 작업이 완전히 멈추기까지 최대 5초가 걸릴 수 있습니다.",
"cancel_dialog_irreversible": " 취소한 작업은 재개할 수 없습니다.",
"cancel_dialog_keep": "계속 실행",
"cancel_dialog_confirm": "모든 작업 취소",
"archive_dialog_title": "\"{{name}}\"을(를) 보관할까요?",
"archive_dialog_description": "이 에이전트는 할당하거나 멘션할 수 없고, 활성 작업은 모두 취소됩니다. 기록은 유지되며 나중에 복원할 수 있습니다.",
"archive_dialog_cancel": "취소",
"archive_dialog_confirm": "보관"
},
"detail": {
"back_to_agents": "에이전트",
"back_to_agents_full": "에이전트로 돌아가기",
"not_found_title": "에이전트를 찾을 수 없습니다",
"not_found_default": "이 에이전트가 보관되었거나 삭제되었을 수 있습니다.",
"no_access_title": "이 에이전트에 접근할 수 없습니다",
"no_access_hint": "비공개 에이전트는 에이전트 소유자 또는 워크스페이스 관리자만 볼 수 있습니다.",
"try_again": "다시 시도",
"archived_banner": "보관된 에이전트입니다. 할당하거나 멘션할 수 없습니다.",
"restore": "복원",
"archive_dialog_title": "에이전트를 보관할까요?",
"archive_dialog_description": "\"{{name}}\"이(가) 보관됩니다. 할당하거나 멘션할 수 없지만 기록은 유지됩니다. 나중에 복원할 수 있습니다.",
"archive_dialog_cancel": "취소",
"archive_dialog_confirm": "보관",
"more_archive": "에이전트 보관",
"agent_updated_toast": "에이전트를 업데이트했습니다",
"update_failed_toast": "에이전트를 업데이트하지 못했습니다",
"agent_archived_toast": "에이전트를 보관했습니다",
"archive_failed_toast": "에이전트를 보관하지 못했습니다",
"agent_restored_toast": "에이전트를 복원했습니다",
"restore_failed_toast": "에이전트를 복원하지 못했습니다",
"dm": "DM",
"dm_no_permission_toast": "이 에이전트와 채팅할 권한이 없습니다.",
"assign_work": "작업 할당",
"more_actions_aria": "에이전트 작업",
"updated": "{{when}} 업데이트됨"
},
"inspector": {
"section_profile": "프로필",
"section_profile_hint": "워크스페이스에서 이 에이전트가 표시되는 방식을 관리합니다.",
"section_execution": "실행 설정",
"section_execution_hint": "런타임, 모델, 추론 수준, 속도와 병렬 작업 한도를 설정합니다.",
"section_access": "접근 권한",
"section_access_hint": "이 에이전트와 연결된 기능을 사용할 수 있는 대상을 관리합니다.",
"section_properties": "속성",
"section_details": "세부 정보",
"section_details_hint": "소유권과 수명 주기에 대한 읽기 전용 정보입니다.",
"section_skills": "스킬",
"section_integrations": "연동",
"prop_runtime": "런타임",
"prop_model": "모델",
"prop_thinking": "추론",
"prop_speed": "속도",
"prop_visibility": "공개 범위",
"prop_concurrency": "동시 실행",
"prop_owner": "소유자",
"prop_created": "생성일",
"prop_updated": "수정일",
"no_description_placeholder": "설명 없음",
"avatar_label": "아바타",
"avatar_hint": "할당, 활동 및 채팅에 표시됩니다.",
"name_label": "이름",
"description_label": "설명",
"labels_label": "레이블",
"labels_hint": "이 에이전트를 분류하는 워크스페이스 레이블입니다.",
"change_avatar_aria": "아바타 변경",
"avatar_updated_toast": "아바타를 업데이트했습니다",
"avatar_upload_failed_toast": "아바타를 업로드하지 못했습니다",
"rename_title": "에이전트 이름 변경",
"rename_placeholder": "에이전트 이름",
"rename_required": "이름은 필수입니다",
"edit_description_title": "설명 수정",
"description_placeholder": "이 에이전트는 무엇을 하나요?",
"save": "저장",
"cancel": "취소"
},
"overview": {
"agent_context": "에이전트",
"access": "접근 권한",
"attention_title": "확인이 필요한 task",
"attention_queued_other": "런타임을 사용할 수 없어 {{count}}개의 task가 대기 중입니다."
},
"skill_attach": {
"trigger_aria": "워크스페이스 스킬 연결",
"trigger_label": "연결"
},
"pickers": {
"concurrency_tooltip": "동시 실행 · 최대 {{value}}개 작업",
"concurrency_range": "최대 동시 작업 수({{min}}-{{max}})",
"runtime_none": "런타임 없음",
"runtime_tooltip": "런타임 · {{name}} · {{status}}",
"runtime_tooltip_none": "런타임 · 선택 안 됨",
"runtime_online": "온라인",
"runtime_offline": "오프라인",
"runtime_owned_by": "{{name}} 소유",
"runtime_empty": "런타임 없음",
"runtime_back_to_machines": "기기 목록으로 돌아가기",
"model_default": "기본값",
"model_tooltip": "모델 · {{value}}",
"model_managed_by_runtime": "런타임에서 관리",
"model_search_placeholder": "모델 ID 검색 또는 입력",
"model_discovering": "모델 찾는 중...",
"model_empty": "사용 가능한 모델이 없습니다",
"model_empty_with_dot": "사용 가능한 모델이 없습니다.",
"model_custom_tooltip": "\"{{value}}\"을(를) 사용자 지정 모델 ID로 사용",
"model_custom_use": "\"{{value}}\" 사용",
"model_clear": "지우기(제공자 기본값 사용)",
"model_clear_title": "선택을 지우고 런타임 제공자의 기본값으로 돌아갑니다",
"thinking_default": "CLI 설정 따르기",
"thinking_tooltip": "추론 · {{value}}",
"thinking_clear": "CLI 설정 따르기",
"thinking_clear_title": "재정의를 지우고 추론 수준을 로컬 CLI 설정(claude/codex)에 맡깁니다",
"service_tier_default": "런타임 기본값",
"service_tier_tooltip": "속도 · {{value}}",
"service_tier_clear": "런타임 기본값",
"service_tier_clear_title": "속도 재정의를 지우고 로컬 Codex 설정에 맡깁니다"
},
"model_dropdown": {
"label": "모델",
"select_runtime_first": "먼저 런타임을 선택하세요",
"default_provider": "기본값(제공자)",
"runtime_offline_manual": "런타임 오프라인 - 직접 입력",
"managed_by_runtime_title": "이 런타임에서 모델 선택을 관리합니다.",
"managed_by_runtime_hint": "런타임 호스트에서 모델을 설정하세요. 예: Hermes는 자체 설정 파일에서 읽습니다.",
"discovery_failed": "검색 실패",
"clear_full": "선택 지우기(제공자 기본값 사용)"
},
"tabs": {
"overview": "개요",
"work": "작업",
"capabilities": "기능",
"settings": "설정",
"general": "일반",
"access": "접근 권한",
"page_navigation_aria": "에이전트 페이지",
"section_navigation_aria": "에이전트 섹션",
"activity": "활동",
"tasks": "작업",
"instructions": "지침",
"skills": "스킬",
"environment": "환경",
"custom_args": "사용자 지정 인자",
"mcp_config": "MCP",
"composio_mcp": "MCP 앱",
"integrations": "연동",
"runtime_config": "라우팅",
"discard_dialog_title": "저장하지 않은 변경사항을 버릴까요?",
"discard_dialog_description": "이 탭에 저장하지 않은 변경사항이 있습니다. 지금 나가면 변경사항이 사라집니다.",
"discard_keep": "계속 편집",
"discard_confirm": "변경사항 버리기"
},
"create_dialog": {
"title_create": "에이전트 만들기",
"title_duplicate": "에이전트 복제",
"description_create": "워크스페이스에 새 AI 에이전트를 만듭니다.",
"description_duplicate": "\"{{name}}\"을(를) 바탕으로 새 에이전트를 만듭니다. 지침, 환경 변수, 스킬이 복사됩니다.",
"name_label": "이름",
"name_placeholder": "예: 심층 리서치 에이전트",
"description_label": "설명",
"description_placeholder": "이 에이전트는 무엇을 하나요?",
"visibility_label": "공개 범위",
"access": {
"label": "액세스",
"private_title": "비공개",
"private_desc": "본인만 이 에이전트를 실행할 수 있습니다",
"public_title": "공개",
"public_desc": "이 에이전트를 실행할 수 있는 사람을 선택하세요",
"public_workspace_option": "이 워크스페이스의 모든 사람",
"public_members_group": "특정 사용자",
"public_members_empty": "선택할 수 있는 워크스페이스 멤버가 없습니다",
"public_targets_empty_hint": "아래에서 최소 하나 이상을 선택하세요. 그렇지 않으면 에이전트는 비공개로 유지됩니다."
},
"runtime_label": "런타임",
"runtime_filter_mine": "내 것",
"runtime_filter_all": "전체",
"runtime_loading": "런타임 불러오는 중...",
"runtime_none": "사용 가능한 런타임이 없습니다",
"runtime_cloud_badge": "클라우드",
"runtime_private_badge": "비공개",
"runtime_private_locked_tooltip": "비공개 런타임입니다. 소유자 또는 워크스페이스 관리자만 이 런타임에 에이전트를 만들 수 있습니다. 공유하려면 소유자에게 공개로 전환해 달라고 요청하세요.",
"runtime_search_placeholder": "기기 검색…",
"runtime_no_results": "일치하는 기기가 없습니다",
"runtime_group_online": "{{online}}/{{total}} 온라인",
"duplicate_copy_suffix": " (사본)",
"create": "만들기",
"creating": "만드는 중...",
"cancel": "취소",
"create_failed_toast": "에이전트를 만들지 못했습니다",
"skill_attach_failed_toast": "에이전트는 만들었지만 스킬을 연결하지 못했습니다: {{error}}",
"squad_join_failed_toast": "에이전트 \"{{name}}\"은(는) 만들었지만 스쿼드에 참가하지 못했습니다: {{error}}. 멤버에서 직접 추가할 수 있습니다.",
"instructions": {
"label": "지침",
"placeholder_blank": "클릭해서 지침 작성...",
"placeholder_duplicate": "클릭해서 복제된 지침 보기 또는 수정",
"collapse": "접기",
"editor_placeholder": "이 에이전트가 무엇을 해야 하는지, 무엇에 집중해야 하는지, 무엇을 피해야 하는지 작성하세요..."
},
"skills_section": {
"label": "스킬",
"placeholder": "워크스페이스에서 스킬 추가",
"selected_other": "{{count}}개 선택됨 - 클릭해서 수정",
"collapse": "접기",
"list_empty_multi": "아직 이 워크스페이스에 스킬이 없습니다. 먼저 만들거나 가져오세요.",
"list_loading": "불러오는 중...",
"list_empty_default": "사용 가능한 스킬이 없습니다.",
"list_no_match": "일치하는 스킬이 없습니다.",
"search_placeholder": "스킬 검색..."
},
"avatar": {
"change_aria": "아바타 변경",
"upload_aria": "아바타 업로드",
"remove_aria": "아바타 제거",
"select_image_toast": "이미지 파일을 선택하세요.",
"upload_failed_toast": "아바타 업로드 실패"
}
},
"tab_body": {
"common": {
"save": "저장",
"add": "추가",
"unsaved_changes": "저장하지 않은 변경사항"
},
"instructions": {
"intro": "모든 작업에 사용할 System Prompt를 설정하세요. Markdown을 지원합니다.",
"system_prompt_label": "System Prompt",
"placeholder": "이 에이전트의 역할, 전문성, 작업 방식을 정의하세요.\n\n# 예시\n당신은 React와 TypeScript에 특화된 프런트엔드 엔지니어입니다.\n\n## 작업 방식\n- 작고 집중된 PR을 작성합니다. 논리적 변경 단위마다 커밋 하나를 사용합니다\n- 상속보다 조합을 선호합니다\n- 새 컴포넌트에는 항상 단위 테스트를 추가합니다\n\n## 제약\n- 명시적인 승인 없이 shared/ 타입을 수정하지 않습니다\n- features/의 기존 컴포넌트 패턴을 따릅니다"
},
"env": {
"intro_readonly": "에이전트 프로세스가 시작될 때 주입됩니다. 워크스페이스 소유자와 관리자만 값을 읽거나 수정할 수 있으며, 모든 공개와 수정은 워크스페이스 감사 로그에 기록됩니다.",
"empty_readonly": "설정된 환경 변수가 없습니다.",
"intro_prefix": "에이전트 프로세스가 시작될 때 주입됩니다(예: ",
"intro_separator": ", ",
"intro_suffix": ").",
"key_placeholder": "KEY",
"value_placeholder": "value",
"show_value_aria": "값 표시",
"hide_value_aria": "값 숨기기",
"remove_aria": "변수 제거",
"duplicate_keys_toast": "중복된 환경 변수 키가 있습니다",
"saved_toast": "환경 변수를 저장했습니다",
"save_failed_toast": "환경 변수를 저장하지 못했습니다",
"not_revealed_title_other": "변수 {{count}}개 설정됨",
"not_revealed_empty": "설정된 환경 변수가 없습니다.",
"not_revealed_hint": "값은 공개하기 전까지 마스킹됩니다. 모든 공개와 수정은 워크스페이스 감사 로그에 기록됩니다.",
"reveal_action": "공개하고 수정",
"revealing": "공개하는 중...",
"reveal_failed_toast": "환경 변수 값을 불러오지 못했습니다",
"empty_editable": "설정된 환경 변수가 없습니다. 시작 시 에이전트에 주입할 변수를 추가하세요."
},
"custom_args": {
"intro": "에이전트를 시작할 때 전달할 CLI 인자를 추가하세요.",
"arguments_label": "인자",
"arguments_description": "각 항목은 하나의 토큰으로 전달되며 목록 순서가 유지됩니다.",
"add_argument_action": "인자 추가",
"add_action": "추가",
"update_action": "업데이트",
"cancel_action": "취소",
"command_preview_label": "명령어 미리보기",
"input_placeholder": "--profile",
"input_aria": "인자 {{index}}",
"new_argument_aria": "새 인자",
"empty_title": "아직 인자가 없습니다",
"empty_hint": "첫 번째 토큰을 추가하여 시작 명령어를 만드세요.",
"edit_aria": "인자 {{index}} 편집",
"remove_aria": "인자 {{index}} 제거",
"saved_toast": "사용자 지정 인자를 저장했습니다",
"save_failed_toast": "사용자 지정 인자를 저장하지 못했습니다"
},
"mcp_config": {
"intro": "이 에이전트가 사용할 수 있는 MCP Server를 관리합니다. Multica에서 관리하는 Server와 로컬 Runtime에서 상속한 Server가 함께 사용됩니다.",
"managed_title": "Multica에서 관리",
"managed_hint": "이 에이전트용으로 Multica에 저장됩니다. Runtime MCP와 병합되며 이름이 같으면 Multica 설정이 우선합니다.",
"managed_empty": "Multica에서 관리하는 MCP Server가 없습니다.",
"add_action": "MCP 추가",
"agent_disabled_badge": "에이전트에서 꺼짐",
"runtime_disabled_badge": "런타임에서 꺼짐",
"runtime_overridden_badge": "Multica에서 재정의",
"runtime_title": "런타임에서 상속",
"runtime_hint": "{{runtime}}에서 자동으로 탐색하고 작업 시작 시 로컬에서 병합합니다. URL, 헤더, 명령 및 환경 변수는 머신 외부로 전송되지 않습니다.",
"refresh_action": "새로고침",
"runtime_missing": "상속된 MCP 서버를 탐색하려면 로컬 런타임을 할당하세요.",
"runtime_offline": "로컬 런타임이 오프라인입니다. 다시 연결하면 새로고침할 수 있습니다.",
"runtime_discovering": "로컬 런타임에서 MCP 서버를 탐색하는 중…",
"runtime_failed": "런타임 MCP 서버를 탐색하지 못했습니다.",
"runtime_forbidden": "이 런타임의 MCP 서버를 볼 수 있는 권한이 없습니다.",
"runtime_unsupported": "이 런타임 버전은 아직 MCP 목록을 보고할 수 없습니다.",
"runtime_empty": "런타임 사용자 설정에서 MCP 서버를 찾지 못했습니다.",
"edit_aria": "MCP Server 편집",
"delete_aria": "MCP Server 삭제",
"added_toast": "MCP Server를 추가했습니다",
"updated_toast": "MCP Server를 업데이트했습니다",
"deleted_toast": "MCP Server를 삭제했습니다",
"delete_failed_toast": "MCP Server를 삭제하지 못했습니다",
"dialog_add_title": "MCP Server 추가",
"dialog_edit_title": "MCP Server 편집",
"dialog_description": "폼 또는 JSON으로 이 Server 하나의 설정을 편집하세요.",
"dialog_name_label": "이름",
"dialog_name_placeholder": "예: context7",
"dialog_name_required": "Server 이름을 입력하세요.",
"dialog_name_invalid": "문자, 숫자, 하이픈, 밑줄만 사용할 수 있습니다.",
"dialog_name_duplicate": "같은 이름의 Server가 이미 있습니다.",
"dialog_form_tab": "폼 설정",
"dialog_json_tab": "JSON 설정",
"dialog_type_label": "연결 방식",
"dialog_type_stdio": "STDIO",
"dialog_type_http": "Streamable HTTP",
"dialog_command_label": "실행 명령",
"dialog_command_required": "Server를 실행할 명령을 입력하세요.",
"dialog_args_label": "인자",
"dialog_add_arg": "인자 추가",
"dialog_remove_arg": "인자 제거",
"dialog_env_label": "환경 변수",
"dialog_add_env": "환경 변수 추가",
"dialog_remove_env": "환경 변수 제거",
"dialog_url_label": "Server URL",
"dialog_url_required": "MCP Server URL을 입력하세요.",
"dialog_headers_label": "HTTP 헤더",
"dialog_add_header": "헤더 추가",
"dialog_remove_header": "헤더 제거",
"dialog_native_json_hint": "기존 Provider 네이티브 형식입니다. 형식을 변경하지 않고 JSON으로 편집할 수 있습니다.",
"dialog_json_label": "단일 Server 설정",
"dialog_json_aria": "MCP Server JSON 설정",
"dialog_json_object": "Server 설정은 JSON 객체여야 합니다.",
"dialog_json_target": "Server 설정에 command 또는 url이 필요합니다.",
"dialog_cancel": "취소",
"dialog_add_action": "Server 추가",
"dialog_update_action": "변경 저장",
"delete_dialog_title": "MCP Server를 삭제할까요?",
"delete_dialog_description": "{{name}}은 더 이상 이 에이전트에서 사용할 수 없습니다. Runtime Server에는 영향을 주지 않습니다.",
"delete_action": "Server 삭제",
"invalid_json": "잘못된 JSON: {{error}}",
"save_failed_toast": "MCP config를 저장하지 못했습니다",
"redacted_title": "설정됨 - 현재 보기에서는 숨김",
"redacted_hint": "에이전트 소유자 또는 워크스페이스 관리자만 이 config를 읽을 수 있습니다."
},
"composio_mcp": {
"subtitle": "툴킷을 선택하면, 본인(이 에이전트의 생성자)이 직접 또는 하위 에이전트 체인을 통해 이 에이전트를 트리거할 때만 MCP 서버로 마운트됩니다.",
"loading": "연결을 불러오는 중…",
"load_failed": "연결된 앱을 불러오지 못했습니다. 잠시 후 다시 시도하세요.",
"empty_title": "아직 연결된 앱이 없습니다",
"empty_hint": "아직 서드파티 서비스를 연결하지 않았습니다. 먼저 하나를 인증한 뒤 여기서 허용하세요.",
"empty_link_to_settings": "설정 → 연동에서 연결하기",
"connected": "연결됨",
"toggle_aria": "이 에이전트에 {{toolkit}} 허용",
"saving": "저장 중…",
"save_failed_toast": "저장하지 못했습니다. 다시 시도하세요",
"redacted_title": "설정됨 — 보기에서 숨김",
"redacted_hint": "이 에이전트가 사용할 수 있는 앱은 생성자만 보거나 변경할 수 있습니다.",
"shared_warning": "이 에이전트는 공유되어 있습니다. 이 에이전트를 실행할 수 있는 사람은 여기서 활성화한 Composio 앱을 사용할 수 있습니다. 이러한 앱이 민감한 데이터를 노출한다면 Private로 설정하거나 접근 범위를 좁히세요.",
"workspace_warning": "워크스페이스에 공개: 워크스페이스의 모든 구성원이 이 에이전트를 통해 이러한 Composio 앱을 사용할 수 있습니다."
},
"runtime_config": {
"intro": "OpenClaw 런타임이 이 에이전트의 각 턴을 어떻게 실행할지 선택하세요. Local 모드는 에이전트를 daemon 프로세스 내부에서 실행합니다. Gateway 모드는 각 턴을 OpenClaw Gateway로 전달합니다 — daemon 호스트가 가벼운 조율기 역할을 하고 실제 작업은 더 강력한 머신에서 돌리고 싶을 때 유용합니다.",
"mode_label": "라우팅 모드",
"mode_local": "Local",
"mode_gateway": "Gateway",
"mode_local_hint": "기본값. daemon이 `openclaw agent --local …`을 실행하고 에이전트 루프가 이 호스트에서 동작합니다.",
"mode_gateway_hint": "daemon이 OpenClaw Gateway에 다이얼합니다. 엔드포인트 필드를 비워두면 daemon 호스트의 `~/.openclaw/openclaw.json`에서 상속받습니다.",
"gateway_legend": "Gateway 엔드포인트",
"host_label": "Host",
"host_placeholder": "gw.internal",
"port_label": "포트",
"port_invalid": "포트는 양의 정수여야 합니다.",
"token_label": "인증 토큰",
"token_placeholder": "Gateway가 발급한 bearer 토큰",
"token_masked_placeholder": "저장됨 — 회전하려면 새 값을 입력. 비워두면 유지됩니다",
"tls_label": "TLS 사용",
"tls_hint": "http:// 대신 https://로 다이얼",
"saved_toast": "라우팅 설정이 저장되었습니다",
"save_failed_toast": "라우팅 설정 저장 실패"
},
"skills": {
"assigned_title": "에이전트에 할당됨",
"assigned_hint": "워크스페이스 스킬은 에이전트와 함께 이동합니다. 제거하지 않고 일시적으로 끌 수 있습니다.",
"runtime_title": "런타임에서 상속",
"runtime_hint": "{{runtime}}에서 자동으로 탐색되며 이 에이전트가 해당 런타임에서 실행될 때 사용할 수 있습니다.",
"workspace_badge": "워크스페이스",
"inherited_badge": "상속됨",
"refresh_action": "새로고침",
"no_description": "설명 없음",
"toggle_aria": "{{name}} 켜기 또는 끄기",
"remove_aria": "{{name}} 제거",
"toggle_failed_toast": "스킬 상태를 변경하지 못했습니다",
"runtime_toggle_aria": "상속된 {{name}} 켜기 또는 끄기",
"runtime_toggle_failed_toast": "상속된 스킬 상태를 변경하지 못했습니다",
"runtime_missing": "상속된 스킬을 탐색하려면 로컬 런타임을 할당하세요.",
"runtime_offline": "로컬 런타임이 오프라인입니다. 다시 연결하면 새로고침할 수 있습니다.",
"runtime_discovering": "로컬 런타임에서 스킬을 탐색하는 중…",
"runtime_failed": "런타임 스킬을 탐색하지 못했습니다.",
"runtime_forbidden": "이 런타임의 스킬을 볼 수 있는 권한이 없습니다.",
"runtime_unsupported": "이 런타임은 로컬 스킬을 제공하지 않습니다.",
"runtime_empty": "이 런타임에서 로컬 스킬을 찾지 못했습니다.",
"detail_title": "스킬 상세 정보",
"detail_loading": "스킬 상세 정보를 불러오는 중…",
"detail_source": "소스",
"detail_provider": "제공자",
"detail_plugin": "플러그인",
"detail_files": "파일",
"detail_supporting_files": "지원 파일",
"intro": "이 에이전트의 유효한 스킬입니다. Codex와 Claude Code에서 상속된 스킬도 에이전트별로 끌 수 있습니다.",
"add_action": "스킬 추가",
"empty_title": "할당된 스킬이 없습니다",
"empty_hint": "워크스페이스 스킬을 추가해 이 에이전트와 팀 지식을 공유하세요.",
"remove_failed_toast": "스킬을 제거하지 못했습니다",
"add_dialog_title": "스킬 추가",
"add_dialog_description": "이 에이전트에 할당할 워크스페이스 스킬을 선택하세요.",
"add_dialog_search_placeholder": "스킬 검색",
"add_dialog_empty": "모든 워크스페이스 스킬이 이미 할당되어 있습니다.",
"add_dialog_no_match": "검색 결과와 일치하는 스킬이 없습니다.",
"add_dialog_empty_partial": "더 추가할 스킬이 없습니다. 이 에이전트에 모든 스킬이 이미 할당되어 있습니다.",
"add_dialog_saving": "추가하는 중...",
"add_dialog_confirm_default": "추가",
"add_dialog_confirm_other": "스킬 {{count}}개 추가",
"add_dialog_cancel": "취소",
"add_failed_toast": "스킬을 추가하지 못했습니다"
},
"integrations": {
"intro": "이 에이전트를 외부 채팅 플랫폼에 연결해 팀원이 평소 사용하는 도구에서 바로 함께 작업할 수 있도록 합니다.",
"members_note": "에이전트를 외부 채팅 플랫폼에 연결할 수 있는 사람은 워크스페이스 소유자와 관리자뿐입니다. 연결된 봇은 설정 → 연동에서 확인할 수 있습니다."
},
"activity": {
"status": {
"queued": "대기 중",
"dispatched": "전달됨",
"waiting_local_directory": "디렉터리 대기 중",
"running": "실행 중",
"completed": "성공",
"failed": "실패",
"cancelled": "취소됨"
},
"section_now": "현재",
"section_last_30d": "최근 30일",
"section_recent": "최근 작업",
"subtitle_no_active": "활성 작업 없음",
"subtitle_active_other": "활성 작업 {{count}}개",
"subtitle_performance": "성과",
"subtitle_no_recent": "아직 완료된 작업 없음",
"subtitle_recent_progress": "{{total}}회 실행 중 {{shown}}회",
"subtitle_recent_latest": "최근 {{count}}회 실행",
"empty_now": "이 에이전트는 지금 실행 중인 작업이 없습니다.",
"empty_30d": "최근 30일 동안 완료된 작업이 없습니다.",
"empty_recent": "이 에이전트는 아직 완료한 작업이 없습니다.",
"show_more": "더 보기 →",
"runs_other": "회 실행",
"success_pct": "성공률 {{percent}}%",
"success_label": "성공",
"avg_duration": "평균 {{value}}",
"avg_duration_label": "평균 소요 시간",
"failed_count": "{{count}}회 실패",
"failed_label": "실패",
"source_issue": "이슈",
"source_chat": "채팅",
"source_autopilot": "오토파일럿",
"source_untracked": "추적 안 됨",
"source_quick_create": "빠른 생성",
"source_creating_issue": "이슈 생성 중",
"source_chat_session": "채팅 세션",
"source_autopilot_run": "오토파일럿 실행",
"issue_short_fallback": "이슈 {{prefix}}...",
"triggered_by": "트리거한 사람",
"open_issue_aria": "이슈 열기",
"open_issue_tooltip": "이슈 열기",
"transcript_tooltip": "트랜스크립트 보기",
"cancel_task_aria": "작업 취소",
"cancel_task_tooltip": "작업 취소",
"cancelling_tooltip": "취소하는 중...",
"cancel_failed_toast": "작업을 취소하지 못했습니다",
"started_prefix": "{{when}} 시작됨",
"dispatched_prefix": "{{when}} 디스패치됨",
"queued_prefix": "{{when}} 대기 시작"
}
},
"char_counter": {
"over_limit": " · 제한 초과 {{count}}자"
},
"presence": {
"queue_badge": "+{{count}} 대기 중"
},
"visibility": {
"private": {
"label": "개인",
"tooltip": "개인 · 본인과 워크스페이스 관리자만 이 에이전트를 사용할 수 있습니다"
},
"workspace": {
"label": "워크스페이스",
"tooltip": "워크스페이스 · 이 워크스페이스의 모든 사람이 이 에이전트를 사용할 수 있습니다"
}
},
"access": {
"section_title": "이 에이전트를 실행할 수 있는 사용자",
"tooltip": "접근 권한 · 누가 이 에이전트를 실행할 수 있는지",
"trigger_private": "나만",
"trigger_workspace": "워크스페이스",
"scope_labels": {
"workspace": "워크스페이스",
"specific_people": "특정 사용자",
"owner_only": "소유자만"
},
"trigger_members_count": "{{count}}명",
"trigger_members_empty": "특정 사용자",
"trigger_team": "팀",
"private_title": "비공개",
"private_desc": "나만 이 에이전트를 실행할 수 있습니다",
"shared_title": "공유",
"shared_desc": "이 에이전트를 실행할 워크스페이스 또는 특정 사용자를 선택합니다",
"shared_target_required": "저장하기 전에 워크스페이스 또는 한 명 이상의 사용자를 선택하세요.",
"workspace_title": "워크스페이스에 공개",
"workspace_desc": "이 워크스페이스의 모든 사람이 이 에이전트를 실행할 수 있습니다",
"members_title": "특정 사용자에게 공개",
"members_desc": "선택한 사람만 이 에이전트를 실행할 수 있습니다",
"team_title": "팀에 공개",
"team_desc": "팀 전체에 접근 권한을 부여합니다",
"team_coming_soon": "출시 예정",
"members_group": "구성원",
"public_group": "공개 액세스",
"owner_only_readonly": "이 에이전트를 실행할 수 있는 대상은 소유자만 변경할 수 있습니다.",
"members_empty": "선택할 워크스페이스 구성원이 없습니다",
"composio_switch_hint": "참고 — 이 에이전트에는 Composio 앱이 활성화되어 있습니다. 공유하면 접근 권한이 있는 모든 사람이 이 에이전트를 통해 해당 앱을 사용할 수 있습니다."
},
"profile_card": {
"unavailable": "에이전트를 사용할 수 없습니다",
"detail_link": "자세히 →",
"runtime_label": "런타임",
"skills_label": "스킬",
"owner_label": "소유자",
"unknown_runtime": "알 수 없는 런타임",
"model_label": "모델",
"model_unset": "런타임 기본값"
},
"live_peek": {
"current_issue_label": "현재 작업",
"no_current_issue": "작업 없음",
"last_activity_label": "마지막 접속",
"no_recent_activity": "최근 활동 없음",
"failed_indicator": "실패"
},
"transcript": {
"dialog_title": "에이전트 실행 트랜스크립트",
"status_running": "실행 중",
"status_completed": "완료됨",
"status_failed": "실패함",
"filter": "필터",
"clear_filters": "필터 지우기",
"events_other": "이벤트 {{count}}개",
"events_filtered": "이벤트 {{total}}개 중 {{shown}}개",
"copy_all": "전체 복사",
"copy_filtered": "필터 결과 복사",
"copied": "복사했습니다",
"waiting_events": "이벤트를 기다리는 중...",
"antigravity_live_unavailable": "Antigravity는 현재 실시간 실행 이벤트를 제공하지 않습니다. 작업이 완료되면 실행 기록을 확인할 수 있습니다.",
"no_data": "기록된 실행 데이터가 없습니다.",
"sort_label": "정렬",
"sort_chronological": "오래된 순",
"sort_newest_first": "최신 순",
"density_label": "펼치기 방식",
"density_smart": "핵심 펼치기",
"density_smart_desc": "응답과 오류는 펼치고, 사고와 도구 과정은 접힌 상태 유지",
"density_expanded": "모두 펼치기",
"density_expanded_desc": "각 행의 전체 매개변수와 출력을 펼쳐 단계별 검토에 사용",
"density_collapsed": "모두 접기",
"density_collapsed_desc": "이벤트당 한 줄, 가장 간결한 보기",
"no_output": "출력 없음",
"show_all": "모두 보기",
"status_queued": "대기열",
"status_dispatched": "디스패치됨",
"status_cancelled": "취소됨",
"status_waiting": "대기 중",
"trigger_initial": "최초 실행",
"trigger_comment": "댓글에서",
"trigger_autopilot": "Autopilot",
"trigger_retry": "재시도",
"trigger_chat": "채팅에서",
"trigger_quick_create": "빠른 생성",
"trigger_direct": "직접 지정",
"run_info": "실행 세부정보",
"details_runtime": "런타임",
"details_provider": "제공자",
"details_mode": "모드",
"details_workdir": "작업 디렉터리",
"details_created": "생성",
"details_started": "시작",
"details_completed": "완료",
"copy_workdir": "작업 디렉터리 복사",
"close": "닫기",
"fact_created": "생성 {{time}}",
"fact_took": "소요 {{duration}}"
},
"task_failure": {
"agent_error": "에이전트 실행 오류",
"timeout": "작업 시간 초과",
"runtime_offline": "데몬 오프라인",
"runtime_recovery": "데몬 재시작됨",
"manual": "사용자가 취소함"
},
"last_active": {
"today": "오늘",
"days_ago_other": "{{count}}일 전",
"none": "30일간 활동 없음"
},
"toolbar": {
"result_count_title": "일치하는 에이전트 / 범위 내 전체",
"filter_label": "필터",
"filter_active_count_other": "필터 {{count}}개",
"clear_filters": "필터 지우기",
"section_availability": "가용성",
"section_access": "액세스",
"section_runtime": "런타임",
"display": "표시",
"sort_by": "정렬",
"direction_asc": "오름차순",
"direction_desc": "내림차순",
"section_columns": "열",
"section_owner": "소유자",
"section_model": "모델"
},
"creation_studio": {
"title": "에이전트 만들기",
"squad_title": "이 스쿼드용 에이전트 만들기",
"duplicate_title": "{{name}} 복제",
"back": "뒤로",
"eyebrow": "에이전트 만들기",
"choose_title": "어떻게 시작하시겠어요?",
"choose_description": "모든 항목을 직접 설정하거나, 검증된 템플릿을 수정하거나, 필요한 내용을 설명하고 대화로 만들 수 있습니다.",
"recommended": "추천",
"continue": "계속",
"step_choose": "시작 방법 선택",
"step_template": "템플릿 선택",
"step_configure": "검토 및 설정",
"step_ai": "대화로 만들기",
"modes": {
"blank": {
"title": "빈 상태로 시작",
"description": "모든 항목을 직접 설정합니다. 에이전트의 동작 방식을 정확히 알고 있을 때 적합합니다."
},
"template": {
"title": "템플릿 사용",
"description": "정리된 지침과 스킬을 바탕으로 워크스페이스에 맞게 세부 항목을 조정합니다."
},
"ai": {
"title": "AI로 만들기",
"description": "원하는 결과를 설명하면 Agent Builder가 핵심 질문을 하고 실시간 초안을 준비합니다."
}
},
"templates": {
"search": "템플릿 검색…",
"search_label": "에이전트 템플릿 검색",
"empty": "검색과 일치하는 템플릿이 없습니다.",
"select_hint": "템플릿을 선택하여 지침과 스킬을 미리 확인하세요.",
"skills": "포함된 스킬",
"instructions": "지침",
"use": "이 템플릿 사용"
},
"sections": {
"identity": "기본 정보",
"identity_hint": "알아보기 쉬운 이름과 간결한 목적을 지정하세요.",
"behavior": "동작 및 기능",
"behavior_hint": "작업 방식을 정의하고 사용할 워크스페이스 스킬을 추가하세요.",
"execution": "실행",
"execution_hint": "에이전트를 실행할 위치를 선택하고 필요하면 런타임 기본 모델을 변경하세요.",
"access": "접근 권한",
"access_hint": "이 에이전트를 실행할 수 있는 사용자를 설정합니다. 나중에 변경할 수 있습니다."
},
"access": {
"private": {
"title": "나만",
"description": "나만 이 에이전트를 실행할 수 있습니다."
},
"workspace": {
"title": "전체 워크스페이스",
"description": "모든 워크스페이스 멤버가 실행할 수 있습니다."
},
"members": {
"title": "특정 멤버",
"description": "선택한 멤버만 실행할 수 있습니다.",
"required": "멤버를 한 명 이상 선택하세요."
}
},
"builder": {
"setup_title": "Agent Builder 런타임 선택",
"setup_description": "선택한 온라인 런타임이 설정 대화를 실행하고 새 에이전트의 기본 런타임이 됩니다.",
"start": "대화 시작",
"connect_runtime": "런타임 연결",
"start_failed": "Agent Builder를 시작하지 못했습니다.",
"send_failed": "메시지를 보내지 못했습니다.",
"stop_failed": "현재 생성을 중지하지 못했습니다.",
"switch_runtime_failed": "런타임을 전환하지 못했습니다. 대화는 이전 런타임에서 계속 실행됩니다.",
"switch_runtime_pending": "현재 답변을 중지하면 런타임을 전환할 수 있습니다.",
"switch_runtime_success": "런타임을 전환했습니다. 설정 초안은 유지되며, 이후 대화는 새 런타임에서 새로운 모델 세션으로 이어집니다.",
"chat_title": "Agent Builder",
"chat_hint": "대화로 요구 사항을 정리하고 옆의 설정을 다듬으세요.",
"runtime_online": "런타임 온라인",
"runtime_offline": "런타임 오프라인",
"empty_title": "이 에이전트는 무엇을 해야 하나요?",
"empty_description": "역할, 작업 흐름, 출력 또는 제약 사항을 설명하세요. 오른쪽에 첫 초안이 표시됩니다.",
"prompt_review": "프런트엔드 Pull Request 검토",
"prompt_research": "경쟁사를 조사하고 결과 요약",
"prompt_assistant": "팀의 프로젝트 계획과 작성 지원",
"thinking": "초안 업데이트 중…",
"placeholder": "필요한 에이전트를 설명하세요…",
"send": "메시지 보내기"
},
"live_draft": "에이전트 설정",
"live_draft_hint": "대화 내용이 여기에 반영되며 각 항목을 직접 조정할 수 있습니다.",
"duplicate_env_notice": "지침, 스킬, 모델 및 명령 인수는 복사됩니다. 보안을 위해 환경 변수는 복사되지 않습니다.",
"create_and_open": "만들고 열기",
"create_and_add": "만들고 스쿼드에 추가",
"creating": "에이전트 만드는 중…",
"create_failed": "에이전트를 만들지 못했습니다.",
"name_conflict": "같은 이름의 에이전트가 이미 있습니다.",
"created": "{{name}}을(를) 만들었습니다"
},
"actions": {
"selected_other": "{{count}}개 선택됨",
"clear_selection": "선택 해제"
}
}