{
  "preferences": {
    "theme": {
      "title": "테마",
      "light": "라이트",
      "dark": "다크",
      "system": "시스템"
    },
    "palette": {
      "title": "색상 팔레트",
      "rime": "서리빛",
      "rime_description": "서리 블루 색조",
      "zinc": "클래식 그레이",
      "zinc_description": "뉴트럴 그레이"
    },
    "language": {
      "title": "언어",
      "english": "English",
      "chinese": "中文",
      "korean": "한국어",
      "japanese": "日本語",
      "sync_failed": "이 기기에는 언어가 저장되었지만 계정 동기화에 실패했습니다. 다른 기기에서는 이전 언어가 표시될 수 있습니다."
    },
    "timezone": {
      "title": "표시 시간대",
      "browser_suffix": " (브라우저)",
      "hint": "대시보드, 차트, 사용자에게 표시되는 '오늘' 레이블에 사용됩니다. 모든 워크스페이스에 적용되는 개인 설정입니다.",
      "sync_failed": "시간대 설정을 저장하지 못했습니다."
    }
  },
  "page": {
    "title": "설정",
    "my_account": "내 계정",
    "workspace_fallback": "워크스페이스",
    "tabs": {
      "profile": "프로필",
      "preferences": "환경설정",
      "notifications": "알림",
      "tokens": "API 토큰",
      "general": "일반",
      "repositories": "저장소",
      "github": "GitHub",
      "integrations": "연동",
      "labs": "실험실",
      "members": "멤버",
      "backup": "백업"
    }
  },
  "account": {
    "section_profile": "프로필",
    "click_avatar_hint": "클릭해서 아바타 업로드",
    "name_label": "이름",
    "profile_description_label": "내 소개",
    "profile_description_hint": "나를 대신해 작업하는 에이전트에게 공유됩니다. 역할, 기술 스택, 선호 방식, 새 협업자에게 첫날 알려줄 만한 내용을 적어 주세요.",
    "profile_description_placeholder": "예: Go와 Postgres를 쓰는 백엔드 엔지니어. 간결한 PR과 변경사항에 맞춘 테스트를 선호합니다.",
    "profile_description_too_long": "프로필이 너무 깁니다(최대 {{max}}자, 현재 {{count}}자).",
    "save": "프로필 업데이트",
    "saving": "업데이트 중...",
    "toast_avatar_updated": "아바타를 업데이트했습니다",
    "toast_avatar_failed": "아바타를 업로드하지 못했습니다",
    "toast_profile_updated": "프로필을 업데이트했습니다",
    "toast_profile_failed": "프로필을 업데이트하지 못했습니다"
  },
  "notifications": {
    "title": "인박스 알림",
    "description": "어떤 이벤트가 인박스 알림을 만들지 제어합니다. 음소거한 이벤트 유형은 조용히 걸러지지만, 이슈를 직접 열면 계속 볼 수 있습니다.",
    "toast_failed": "알림 설정을 업데이트하지 못했습니다",
    "groups": {
      "assignments": {
        "label": "할당",
        "description": "이슈에 할당되거나 할당 해제될 때"
      },
      "status_changes": {
        "label": "상태 변경",
        "description": "팔로우 중인 이슈의 상태가 바뀔 때(예: 할 일, 진행 중, 완료)"
      },
      "comments": {
        "label": "댓글 및 멘션",
        "description": "팔로우 중인 이슈에 새 댓글이 달리거나 누군가 나를 @멘션할 때"
      },
      "updates": {
        "label": "우선순위 및 마감일",
        "description": "팔로우 중인 이슈의 우선순위나 마감일이 바뀔 때"
      },
      "agent_activity": {
        "label": "에이전트 활동",
        "description": "에이전트 작업이 완료되거나 실패할 때"
      }
    },
    "system": {
      "title": "시스템 알림",
      "description": "RimeDeck가 백그라운드에 있을 때 표시되는 운영체제 알림 배너를 제어합니다.",
      "label": "시스템 알림 표시",
      "hint": "앱에 포커스가 없을 때 새 인박스 항목에 대해 운영체제 배너를 표시합니다."
    }
  },
  "tokens": {
    "title": "API 토큰",
    "description": "개인 액세스 토큰을 사용하면 CLI와 외부 연동이 내 계정으로 인증할 수 있습니다.",
    "name_placeholder": "토큰 이름(예: 내 CLI)",
    "expiry": {
      "30": "30일",
      "90": "90일",
      "365": "1년",
      "never": "만료 없음"
    },
    "create": "만들기",
    "creating": "만드는 중...",
    "toast_load_failed": "토큰을 불러오지 못했습니다",
    "toast_create_failed": "토큰을 만들지 못했습니다",
    "toast_revoked": "토큰을 폐기했습니다",
    "toast_revoke_failed": "토큰을 폐기하지 못했습니다",
    "metadata_prefix": "{{prefix}}... · {{created}} 생성 · {{lastUsed}}",
    "last_used_with_date": "마지막 사용 {{date}}",
    "last_used_never": "사용된 적 없음",
    "expires_with_date": " · {{date}} 만료",
    "revoke_aria": "{{name}} 폐기",
    "revoke_tooltip": "폐기",
    "revoke_dialog": {
      "title": "토큰 폐기",
      "description": "이 토큰은 영구 폐기되며 더 이상 사용할 수 없습니다. 이 작업은 되돌릴 수 없습니다.",
      "cancel": "취소",
      "confirm": "폐기"
    },
    "created_dialog": {
      "title": "토큰 생성됨",
      "description": "지금 개인 액세스 토큰을 복사하세요. 다시 볼 수 없습니다.",
      "copy_tooltip": "토큰 복사",
      "done": "완료"
    }
  },
  "workspace": {
    "section_general": "일반",
    "change_logo_aria": "워크스페이스 로고 변경",
    "click_logo_hint": "로고를 클릭하여 새 이미지를 업로드하세요",
    "toast_logo_updated": "워크스페이스 로고를 업데이트했습니다",
    "toast_logo_failed": "워크스페이스 로고를 업로드하지 못했습니다",
    "name_label": "이름",
    "description_label": "설명",
    "description_placeholder": "이 워크스페이스는 무엇에 집중하나요?",
    "context_label": "맥락",
    "context_placeholder": "이 워크스페이스에서 작업하는 AI 에이전트가 알아야 할 배경 정보와 맥락",
    "slug_label": "슬러그",
    "issue_prefix_label": "이슈 접두사",
    "issue_prefix_hint": "{{example}} 같은 이슈 번호에 사용됩니다.",
    "prefix_confirm_title": "이슈 접두사를 변경할까요?",
    "prefix_confirm_description": "모든 이슈 번호가 {{oldPrefix}}-N에서 {{newPrefix}}-N으로 다시 매겨집니다. Pull request 제목, 브랜치 이름, 문서와 채팅의 링크처럼 {{oldPrefix}}-N을 사용하는 외부 참조는 더 이상 연결되지 않습니다.",
    "save": "저장",
    "saving": "저장하는 중...",
    "manage_hint": "관리자와 소유자만 워크스페이스 설정을 업데이트할 수 있습니다.",
    "toast_saved": "워크스페이스 설정을 저장했습니다",
    "toast_save_failed": "워크스페이스 설정을 저장하지 못했습니다",
    "danger_zone": "위험 영역",
    "leave_title": "워크스페이스 나가기",
    "leave_sole_owner": "내가 유일한 소유자입니다. 먼저 다른 멤버를 소유자로 승격하거나 워크스페이스를 삭제하세요.",
    "leave_sole_member": "내가 유일한 멤버입니다. 나가려면 워크스페이스를 삭제하세요.",
    "leave_default": "이 워크스페이스에서 내 계정을 제거합니다.",
    "leave_button": "워크스페이스 나가기",
    "leaving": "나가는 중...",
    "leave_confirm_title": "워크스페이스 나가기",
    "leave_confirm_description": "{{name}}에서 나갈까요? 다시 초대받기 전까지 접근할 수 없습니다.",
    "toast_leave_failed": "워크스페이스에서 나가지 못했습니다",
    "delete_title": "워크스페이스 삭제",
    "delete_description": "이 워크스페이스와 데이터를 영구 삭제합니다.",
    "delete_button": "워크스페이스 삭제",
    "deleting": "삭제하는 중...",
    "toast_delete_failed": "워크스페이스를 삭제하지 못했습니다",
    "confirm_cancel": "취소",
    "confirm_action": "확인"
  },
  "delete_workspace_dialog": {
    "title": "워크스페이스 삭제",
    "description": "이 작업은 되돌릴 수 없습니다. 모든 이슈, 에이전트, 데이터가 영구 삭제됩니다.",
    "type_to_confirm_prefix": "확인하려면 아래에",
    "type_to_confirm_suffix": "을(를) 입력하세요.",
    "cancel": "취소",
    "confirm": "워크스페이스 삭제",
    "deleting": "삭제하는 중..."
  },
  "labs": {
    "section_placeholder_title": "아직 실험 기능이 없습니다",
    "section_placeholder_description": "실험적 설정은 출시되는 대로 여기에 표시됩니다. 현재 이 탭은 의도적으로 비어 있습니다.",
    "toast_failed": "설정을 업데이트하지 못했습니다"
  },
  "integrations": {
    "section_title": "연동",
    "empty_title": "아직 서드파티 연동이 없습니다",
    "empty_description": "Slack, Linear 등 연동이 연결되면 여기에 표시됩니다. GitHub는 별도 탭으로 이동했습니다.",
    "manage_hint": "관리자와 소유자만 연동을 관리할 수 있습니다."
  },
  "github": {
    "page_description": "GitHub App을 연결하고, Pull request가 RimeDeck 안에서 표시되는 방식을 제어하며, 에이전트가 커밋 기록에 남기는 정보를 설정합니다.",
    "section_master": "GitHub 기능 사용",
    "master_description_on": "끄면 모든 GitHub UI가 숨겨지고 새로운 부수 효과가 기록되지 않습니다. 기존 데이터는 백엔드에 유지됩니다. 개발팀이 아니라면 여기서 끄면 됩니다.",
    "master_description_off": "GitHub 기능이 꺼져 있습니다. PR 사이드바, Co-authored-by 트레일러, 자동 연결이 일시 중지됩니다. 백엔드 데이터는 삭제되지 않습니다.",
    "section_connection": "연결",
    "connection_title": "GitHub App",
    "connection_description_prefix": "이슈를 Pull request에 자동으로 연결합니다. 브랜치, 제목 또는 본문에",
    "connection_description_suffix": "이(가) 있는 PR이 병합되면 해당 이슈가",
    "connection_description_done": "완료",
    "connection_identifier_example": "MUL-123",
    "connected_to": "{{login}}에 연결됨",
    "connect_github": "GitHub 연결",
    "connect_opening": "여는 중...",
    "connect_disabled_tooltip": "이 서버에 GitHub App이 설정되어 있지 않습니다",
    "disconnect": "연결 해제",
    "disconnecting": "연결 해제 중...",
    "disconnect_confirm_title": "GitHub App 연결 해제",
    "disconnect_confirm_description": "RimeDeck가 이 설치의 Webhook 수신을 중단합니다. 기존 PR 미러와 연결은 유지되며, 언제든 다시 연결해 업데이트를 재개할 수 있습니다.",
    "disconnect_confirm_cancel": "취소",
    "disconnect_confirm_action": "연결 해제",
    "not_configured": "이 배포에는 GitHub 연동이 설정되어 있지 않습니다. 운영자가 다음 값을 설정해야 합니다:",
    "not_configured_and": "및",
    "read_only_hint": "읽기 전용 보기입니다. 워크스페이스 관리자와 소유자만 GitHub를 연결하거나 해제할 수 있습니다.",
    "contact_admin_to_connect": "이 워크스페이스에 GitHub가 연결되어 있지 않습니다. 관리자나 소유자에게 GitHub App 설정을 요청하세요.",
    "connected_by": "{{name}}님이 연결함",
    "toast_not_configured": "이 배포에는 GitHub 연동이 설정되어 있지 않습니다",
    "toast_open_failed": "GitHub 설치 화면을 열지 못했습니다",
    "toast_disconnect_failed": "GitHub App 연결을 해제하지 못했습니다",
    "toast_disconnected": "GitHub App 연결을 해제했습니다",
    "section_features": "기능",
    "feature_pr_sidebar_label": "Pull request 사이드바",
    "feature_pr_sidebar_description": "연결된 Pull request를 이슈 상세 사이드바에 표시합니다.",
    "feature_co_author_label": "Co-authored-by 트레일러",
    "feature_co_author_description_prefix": "에이전트가 작성한 커밋에",
    "feature_co_author_description_suffix": "을(를) 추가합니다.",
    "feature_auto_link_label": "이슈와 PR 자동 연결",
    "feature_auto_link_description": "PR 제목, 본문, 브랜치 이름을 이슈 식별자와 대조해 자동으로 연결합니다.",
    "section_repositories": "저장소",
    "repositories_shortcut_label": "저장소 URL은 저장소 탭에 있습니다",
    "repositories_shortcut_link": "저장소 관리 →",
    "toast_failed": "GitHub 설정을 업데이트하지 못했습니다"
  },
  "repositories": {
    "section_title": "저장소",
    "description": "이 워크스페이스와 연결된 Git 저장소입니다. 에이전트는 이 저장소를 클론해 코드 작업을 합니다.",
    "url_placeholder": "https://git.example.com/org/repo.git 또는 git@git.example.com:org/repo.git",
    "url_empty": "(빈 URL)",
    "description_placeholder": "설명(예: Go 백엔드 + Next.js 프런트엔드)",
    "add": "저장소 추가",
    "save": "저장",
    "saving": "저장하는 중...",
    "saved_hint": "모든 변경사항 저장됨",
    "empty": "아직 저장소가 없습니다.",
    "edit_aria": "저장소 수정",
    "cancel_aria": "수정 취소",
    "delete_aria": "저장소 삭제",
    "manage_hint": "관리자와 소유자만 저장소를 관리할 수 있습니다.",
    "toast_saved": "저장소를 저장했습니다",
    "toast_save_failed": "저장소를 저장하지 못했습니다"
  },
  "desktop": {
    "tabs": {
      "updates": "업데이트"
    },
    "updates": {
      "title": "업데이트",
      "description": "데스크톱 앱은 한 시간에 한 번, 그리고 실행 직후 새 버전을 자동으로 확인하고 백그라운드에서 다운로드합니다. 업데이트가 준비되면 다시 시작하라는 안내가 표시됩니다.",
      "current_version": "현재 버전",
      "check_section_title": "업데이트 확인",
      "check_section_description": "다음 자동 확인을 기다리지 않고 지금 확인합니다. 사용 가능한 업데이트는 백그라운드에서 다운로드되며 준비되면 다시 시작 안내가 표시됩니다.",
      "up_to_date": "최신 버전입니다.",
      "downloading": "v{{version}}을(를) 백그라운드에서 다운로드 중입니다. 설치 준비가 끝나면 알림을 드립니다.",
      "check_now": "지금 확인",
      "checking": "확인 중..."
    }
  },
  "members": {
    "section_title": "멤버 ({{count}})",
    "invite_title": "멤버 초대",
    "invite_email_placeholder": "user@company.com",
    "invite_button": "초대",
    "generate_code_button": "초대 코드 생성",
    "inviting": "생성 중...",
    "invite_code_label": "초대 코드",
    "invite_code_hint": "이 코드를 초대할 사람에게 공유하세요. 상대방이 RimeDeck Desktop에서 입력하면 참여할 수 있습니다.",
    "invite_code_steps": "상대방에게 알려주세요: RimeDeck Desktop 열기 → 사이드바에서 워크스페이스 이름 클릭 → 워크스페이스 참여 → 위의 서버 주소와 초대 코드 입력.",
    "join_title": "워크스페이스 참여",
    "join_description": "워크스페이스 관리자가 제공한 서버 주소와 초대 코드를 입력하세요.",
    "join_history_description": "이전 워크스페이스에 다시 연결하거나 새 워크스페이스에 참여하세요.",
    "join_server_label": "서버 주소",
    "join_code_label": "초대 코드",
    "join_button": "참여",
    "join_joining": "참여 중…",
    "join_reconnecting": "재연결 중…",
    "join_cancel": "취소",
    "join_new_server": "새 서버",
    "join_back_to_history": "뒤로",
    "join_token_expired": "인증이 만료되었습니다. 새 초대 코드를 입력하세요.",
    "join_reconnect_failed": "서버에 연결할 수 없습니다. 주소와 초대 코드를 입력하세요.",
    "join_done": "완료",
    "join_success_title": "워크스페이스에 참여했습니다",
    "join_success_description": "이제 멤버입니다. 워크스페이스를 표시하기 위해 앱이 다시 로드됩니다.",
    "toast_invitation_sent": "초대 코드가 생성되었습니다",
    "toast_invitation_failed": "초대를 보내지 못했습니다",
    "no_members": "멤버를 찾을 수 없습니다.",
    "pending_title": "대기 중인 초대 ({{count}})",
    "pending_status": "대기 중",
    "revoke_invitation_tooltip": "초대 취소",
    "revoke_invitation_title": "초대 취소",
    "revoke_invitation_description": "{{email}}에 보낸 초대를 취소할까요? 더 이상 이 워크스페이스에 참가할 수 없습니다.",
    "toast_invitation_revoked": "초대를 취소했습니다",
    "toast_invitation_revoke_failed": "초대를 취소하지 못했습니다",
    "toast_role_updated": "역할을 업데이트했습니다",
    "toast_role_failed": "멤버를 업데이트하지 못했습니다",
    "toast_member_removed": "멤버를 제거했습니다",
    "toast_member_remove_failed": "멤버를 제거하지 못했습니다",
    "remove_member_title": "{{name}} 제거",
    "remove_member_description": "{{workspace}}에서 {{name}}님을 제거할까요? 이 워크스페이스에 접근할 수 없게 됩니다.",
    "confirm_cancel": "취소",
    "confirm_action": "확인",
    "change_role": "역할 변경",
    "remove_action": "워크스페이스에서 제거",
    "cannot_demote_last_owner_title": "먼저 다른 멤버를 소유자로 승격하세요. 워크스페이스에는 최소 한 명의 소유자가 필요합니다.",
    "cannot_demote_last_owner": "마지막 소유자는 강등할 수 없습니다",
    "roles": {
      "owner": {
        "label": "소유자",
        "description": "전체 접근 권한, 모든 설정 관리"
      },
      "admin": {
        "label": "관리자",
        "description": "멤버와 설정 관리"
      },
      "member": {
        "label": "멤버",
        "description": "이슈 생성 및 작업"
      }
    }
  },
  "backup": {
    "section_title": "백업 및 복원",
    "section_description": "워크스페이스의 에이전트, 스킬, 스쿼드를 JSON 파일로 내보내거나, 이전 백업에서 가져올 수 있습니다.",
    "export_title": "내보내기",
    "export_description": "모든 에이전트, 스킬, 스쿼드를 하나의 JSON 파일로 다운로드합니다.",
    "export_button": "내보내기",
    "exporting": "내보내는 중...",
    "toast_export_failed": "워크스페이스 데이터 내보내기에 실패했습니다",
    "import_title": "가져오기",
    "import_description": "이전에 내보낸 JSON 파일을 업로드하여 에이전트, 스킬, 스쿼드를 복원합니다.",
    "import_button": "가져오기",
    "importing": "가져오는 중...",
    "import_choose_file": "파일 선택",
    "import_preview_title": "가져오기 미리보기",
    "import_preview_description": "다음 리소스가 생성됩니다:",
    "import_preview_skills": "스킬 {{count}}개",
    "import_preview_agents": "에이전트 {{count}}개",
    "import_preview_squads": "스쿼드 {{count}}개",
    "import_overwrite_label": "같은 이름의 기존 리소스 덮어쓰기",
    "import_runtime_label": "대상 런타임",
    "import_confirm": "가져오기 확인",
    "import_cancel": "취소",
    "toast_import_success": "가져오기 완료: {{created}}개 생성, {{skipped}}개 건너뜀",
    "toast_import_failed": "워크스페이스 데이터 가져오기에 실패했습니다",
    "toast_import_warnings": "가져오기 완료, 경고 {{count}}건",
    "manage_hint": "관리자와 소유자만 워크스페이스 데이터를 백업하고 복원할 수 있습니다."
  },
  "lark": {
    "section_title": "Lark",
    "page_description": "각 Multica 에이전트를 Lark(飞书) PersonalAgent 봇에 연결하세요. 멤버는 봇과 1:1로 대화하거나, 그룹에서 @ 멘션하거나, /issue 를 입력해 새 Multica 이슈를 만들 수 있습니다.",
    "not_enabled_title": "Lark 연동이 비활성화되어 있어요",
    "not_enabled_description_prefix": "Lark 봇 설치를 활성화하려면 서버에",
    "not_enabled_description_suffix": "을(를) 설정하세요.",
    "not_enabled_self_host_hint": "셀프 호스트 운영자: 자세한 내용은 프로젝트 README를 참고하세요.",
    "preview_title": "Lark 봇 설치 곧 출시 예정",
    "preview_description": "암호화 키는 설정되어 있지만, 이 빌드에는 Lark HTTP 클라이언트가 연결되어 있지 않습니다. 후속 릴리스에서 전송 계층이 활성화되면 설치 진입점이 여기에 표시됩니다.",
    "connected_bots": "연결된 봇",
    "loading": "불러오는 중…",
    "empty_title": "아직 연결된 봇이 없어요",
    "empty_description_prefix": "이 워크스페이스의 에이전트를 열고",
    "empty_description_cta": "Lark에 연결",
    "empty_description_suffix": "을(를) 클릭해 봇을 설치하세요.",
    "revoked_badge": "취소됨",
    "region_feishu": "Feishu",
    "region_lark": "Lark",
    "installed_at_label": "{{when}} 설치됨",
    "disconnect": "연결 해제",
    "disconnecting": "연결을 해제하는 중…",
    "disconnect_confirm_title": "이 Lark 봇의 연결을 해제할까요?",
    "disconnect_confirm_description": "봇은 더 이상 Lark 메시지를 받지 않으며 WebSocket 연결도 끊깁니다. 감사 로그를 위해 설치 행은 유지되며, 같은 에이전트에서 다시 설치할 수 있습니다.",
    "disconnect_confirm_cancel": "취소",
    "toast_disconnected": "Lark 봇 연결을 해제했어요",
    "toast_disconnect_failed": "연결 해제에 실패했어요",
    "bind_button": "Lark에 연결",
    "bind_button_title": "{{agent}}을(를) Lark 봇에 연결",
    "bind_button_feishu": "Feishu에 연결",
    "bind_button_lark": "Lark에 연결",
    "bind_button_feishu_title": "{{agent}}을(를) Feishu(중국 본토판) 봇에 연결",
    "bind_button_lark_title": "{{agent}}을(를) Lark(글로벌판) 봇에 연결",
    "agent_bot_connected_label": "Lark에 연결됨",
    "agent_bot_manage_link": "Lark에서 관리",
    "agent_bot_manage_tooltip": "Lark 개발자 콘솔에서 이 봇의 앱 페이지를 열어 스코프 관리, 이름 변경, 추가 권한 신청을 할 수 있어요.",
    "agent_bot_connected_label_feishu": "Feishu에 연결됨",
    "agent_bot_connected_label_lark": "Lark에 연결됨",
    "agent_bot_manage_link_feishu": "Feishu에서 관리",
    "agent_bot_manage_link_lark": "Lark에서 관리",
    "agent_bot_manage_tooltip_feishu": "Feishu 개발자 콘솔에서 이 봇의 앱 페이지를 열어 스코프 관리, 이름 변경, 추가 권한 신청을 할 수 있어요.",
    "agent_bot_manage_tooltip_lark": "Lark 개발자 콘솔에서 이 봇의 앱 페이지를 열어 스코프 관리, 이름 변경, 추가 권한 신청을 할 수 있어요.",
    "agent_bot_disconnect_tooltip": "이 Lark 봇과 에이전트 연결을 해제합니다. 봇은 Lark 메시지 수신을 중단합니다.",
    "install_dialog_title": "Lark에 연결",
    "install_dialog_description": "휴대폰에서 Lark를 열고 아래 코드를 스캔해 PersonalAgent 봇을 만드세요.",
    "install_dialog_description_for_agent": "휴대폰에서 Lark를 열고 아래 코드를 스캔해 {{agent}}용 봇을 만드세요.",
    "install_dialog_title_feishu": "Feishu에 연결",
    "install_dialog_title_lark": "Lark에 연결",
    "install_dialog_description_feishu": "휴대폰에서 Feishu를 열고 아래 코드를 스캔해 PersonalAgent 봇을 만드세요.",
    "install_dialog_description_lark": "휴대폰에서 Lark를 열고 아래 코드를 스캔해 PersonalAgent 봇을 만드세요.",
    "install_dialog_description_for_agent_feishu": "휴대폰에서 Feishu를 열고 아래 코드를 스캔해 {{agent}}용 봇을 만드세요.",
    "install_dialog_description_for_agent_lark": "휴대폰에서 Lark를 열고 아래 코드를 스캔해 {{agent}}용 봇을 만드세요.",
    "install_starting": "QR 코드를 준비하는 중…",
    "install_scan_hint": "Lark → 스캔 → 새 PersonalAgent를 승인하세요.",
    "install_open_link_fallback": "또는 여기를 눌러 Lark에서 열기",
    "install_success": "설치 완료 — 봇이 온라인 상태입니다.",
    "install_success_toast": "Lark 봇이 설치되었어요",
    "install_scan_hint_feishu": "Feishu → 스캔 → 새 PersonalAgent를 승인하세요.",
    "install_scan_hint_lark": "Lark → 스캔 → 새 PersonalAgent를 승인하세요.",
    "install_open_link_fallback_feishu": "또는 여기를 눌러 Feishu에서 열기",
    "install_open_link_fallback_lark": "또는 여기를 눌러 Lark에서 열기",
    "install_success_toast_feishu": "Feishu 봇이 설치되었어요",
    "install_success_toast_lark": "Lark 봇이 설치되었어요",
    "install_close": "닫기",
    "install_retry": "다시 스캔",
    "install_poll_retry": "설치 상태를 확인하는 중 네트워크가 일시적으로 끊겼어요 — 다시 시도합니다.",
    "install_error_expired": "승인 전에 QR이 만료되었어요. 다시 스캔하세요.",
    "install_error_access_denied": "Lark에서 설치가 취소되었어요.",
    "install_error_protocol": "Lark가 설치를 거부했어요 — 다시 시도하세요.",
    "install_error_bot_info": "승인되었지만 Multica가 봇의 식별자를 가져오지 못했어요. 다시 시도하세요.",
    "install_error_conflict": "설치를 저장하지 못했어요. 다른 봇이 이미 이 에이전트에 연결되어 있을 수 있어요.",
    "install_error_installer_bind": "봇은 설치되었지만 Lark 신원을 연결하지 못했어요. 다시 시도하거나 지원팀에 문의하세요.",
    "install_error_session_lost": "설치 세션이 만료되었거나 유실되었어요. 다시 스캔해 처음부터 진행하세요.",
    "install_error_forbidden": "이 워크스페이스에 Lark 봇을 설치할 권한이 더 이상 없어요. 워크스페이스 관리자에게 문의하세요.",
    "install_error_generic": "설치에 실패했어요. 다시 시도하세요."
  }
}
