Localizable.strings 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453
  1. /* AppBrand.name ("Meetings") 의도적으로 생략 — 앱 이름은 코드에서 변경되지 않습니다. */
  2. "AI Companion for Meet" = "미트 인공지능 어시스턴트";
  3. /* MARK: - 일반 */
  4. "OK" = "확인";
  5. "Cancel" = "취소";
  6. "Continue" = "계속";
  7. "Apply" = "적용";
  8. "Reset" = "재설정";
  9. "Save" = "저장";
  10. "Copy" = "복사";
  11. "Copied" = "복사됨";
  12. "Close" = "닫기";
  13. "Join" = "참가";
  14. "None" = "없음";
  15. "Link" = "링크";
  16. "Stop" = "중지";
  17. "Address" = "주소";
  18. "Title" = "제목";
  19. "Notes" = "메모";
  20. "Start" = "시작";
  21. "Premium" = "프리미엄";
  22. "Popular" = "인기";
  23. "Browser" = "브라우저";
  24. "Meeting" = "회의";
  25. "Error" = "오류";
  26. "Success" = "성공";
  27. /* MARK: - 상태 표시줄 */
  28. "Meetings status menu" = "회의 상태 메뉴";
  29. "Open App" = "앱 열기";
  30. "Join Meetings" = "회의 참가";
  31. "Schedule" = "일정";
  32. "Calendar" = "달력";
  33. "Widgets" = "위젯";
  34. "AI Companion" = "인공지능 어시스턴트";
  35. "Settings" = "설정";
  36. "Top meetings" = "상단 고정 회의";
  37. "No upcoming meetings" = "예정된 회의 없음";
  38. "Sign Out" = "로그아웃";
  39. "Sign In" = "로그인";
  40. "Quit" = "종료";
  41. /* MARK: - 시작 스플래시 */
  42. "Preparing your meetings workspace" = "회의 작업 공간을 준비하는 중";
  43. "CONNECTING SERVICES" = "서비스 연결 중";
  44. "READY" = "준비됨";
  45. "Plan smart, achieve more" = "스마트하게 계획하고 더 많이 달성하세요";
  46. /* MARK: - 위젯 */
  47. "Add Widget to Desktop" = "데스크탑에 위젯 추가";
  48. "Choose a size and add your Google Meet widget." = "크기를 선택하고 구글 미트 위젯을 추가하세요.";
  49. "Tip: Right-click a desktop widget to remove it." = "팁: 데스크탑 위젯을 마우스 오른쪽 버튼으로 클릭하여 제거할 수 있습니다.";
  50. "Removed %@ widget from desktop." = "데스크탑에서 %@ 위젯을 제거했습니다.";
  51. "Added %@ widget from desktop." = "데스크탑에서 %@ 위젯을 추가했습니다.";
  52. "Added %@ widget to desktop." = "데스크탑에 %@ 위젯을 추가했습니다.";
  53. "Widgets are Premium only. Upgrade to add widgets." = "위젯은 프리미엄 전용입니다. 업그레이드하여 위젯을 추가하세요.";
  54. "Remove Widget" = "위젯 제거";
  55. "Small" = "작게";
  56. "Medium" = "중간";
  57. "Quick actions" = "빠른 작업";
  58. "Open Meet" = "미트 열기";
  59. "Upcoming meetings" = "예정된 회의";
  60. "Sign in to see upcoming meetings" = "로그인하여 예정된 회의 보기";
  61. "Sign in with Google" = "구글로 로그인";
  62. "Google Meet" = "구글 미트";
  63. "Open and join quickly" = "빠르게 열고 참가하기";
  64. "Refresh" = "새로고침";
  65. /* MARK: - 사이드바 및 탐색 */
  66. "Planning" = "계획";
  67. "Additional" = "추가";
  68. "Get Premium" = "프리미엄 받기";
  69. "Manage Subscription" = "구독 관리";
  70. "App for Google Meet" = "구글 미트 앱";
  71. /* MARK: - Join meetings */
  72. "New Instant Meet" = "새로운 즉시 미트";
  73. "Start instant Meet in more section with\nGoogle Meet meet." = "더보기 섹션에서\n구글 미트로 즉시 미트를 시작하세요.";
  74. "Join with Link" = "링크로 참가";
  75. "Code or meet.google.com/…" = "코드 또는 meet.google.com/…";
  76. "Join with ID" = "ID로 참가";
  77. "Join with URL" = "URL로 참가";
  78. "Meeting URL" = "회의 URL";
  79. "Enter meeting URL..." = "회의 URL 입력...";
  80. "Quick Join Meeting" = "빠른 회의 참가";
  81. "Invalid Meet link" = "잘못된 미트 링크";
  82. "Enter a valid Google Meet link or meeting code (for example nkd-grps-duv, meet.google.com/nkd-grps-duv, or https://meet.google.com/nkd-grps-duv)." = "유효한 구글 미트 링크 또는 회의 코드를 입력하세요 (예: nkd-grps-duv, meet.google.com/nkd-grps-duv, 또는 https://meet.google.com/nkd-grps-duv).";
  83. "Instant Meeting" = "즉시 회의";
  84. "Connect Google to start Instant Meeting" = "즉시 회의를 시작하려면 구글에 연결하세요";
  85. "To auto-stop recording when the meeting ends, connect your Google account first." = "회의 종료 시 녹화를 자동으로 중지하려면 먼저 구글 계정을 연결하세요.";
  86. "Could not create Instant Meeting" = "즉시 회의를 만들 수 없음";
  87. "Free trial used. Upgrade to continue." = "무료 평가판 사용됨. 계속하려면 업그레이드하세요.";
  88. /* MARK: - Browse web */
  89. "Browse the web" = "웹 브라우징";
  90. "Enter a web address (for example meet.google.com)." = "웹 주소를 입력하세요 (예: meet.google.com).";
  91. "Invalid address" = "잘못된 주소";
  92. "Enter a valid http or https URL." = "유효한 http 또는 https URL을 입력하세요.";
  93. "Browse" = "브라우징";
  94. "Quick links" = "빠른 링크";
  95. "Zoom help" = "Zoom 도움말";
  96. "https://example.com or example.com" = "https://example.com 또는 example.com";
  97. "Enter a valid web address, for example https://example.com" = "유효한 웹 주소를 입력하세요, 예: https://example.com";
  98. "Address not allowed" = "허용되지 않는 주소";
  99. "This URL is not permitted with the current in-app browser policy (whitelist)." = "현재 앱 내 브라우저 정책(허용 목록)에서 이 URL이 허용되지 않습니다.";
  100. "Unable to load page" = "페이지를 로드할 수 없음";
  101. "Could not load this page in the in-app browser.\n\n%@" = "앱 내 브라우저에서 이 페이지를 로드할 수 없습니다.\n\n%@";
  102. "Page stopped loading" = "페이지 로딩이 중지됨";
  103. "Unable to open browser" = "브라우저를 열 수 없음";
  104. "Unable to Open Safari" = "Safari를 열 수 없음";
  105. /* MARK: - 일정 및 달력 */
  106. "All" = "전체";
  107. "Today" = "오늘";
  108. "This week" = "이번 주";
  109. "This month" = "이번 달";
  110. "Previous week" = "이전 주";
  111. "Previous month" = "이전 달";
  112. "Custom range" = "사용자 지정 범위";
  113. "No meetings match the selected filters." = "선택한 필터와 일치하는 회의가 없습니다.";
  114. "Adjust the date range and tap Apply." = "날짜 범위를 조정하고 적용을 탭하세요.";
  115. "Premium required. Get Premium now to unlock Calendar." = "프리미엄 필요합니다. 지금 프리미엄을 받아 달력을 잠금 해제하세요.";
  116. "Premium required. Click to open paywall." = "프리미엄 필요합니다. 클릭하여 결제 페이지를 여세요.";
  117. "Get Premium to see events" = "이벤트를 보려면 프리미엄을 받으세요";
  118. "Connect Google" = "구글 연결";
  119. "Sign in with Google first to schedule a meeting from Calendar." = "달력에서 회의 일정을 잡으려면 먼저 구글로 로그인하세요.";
  120. "Select date" = "날짜 선택";
  121. "Choose a date to schedule your meeting." = "회의 일정을 잡을 날짜를 선택하세요.";
  122. "Google schedule" = "구글 일정";
  123. "To show scheduled meetings, connect your Google account. You’ll need a Google OAuth client ID (Desktop) and a redirect URI matching the app’s callback scheme." = "예정된 회의를 표시하려면 구글 계정을 연결하세요. 구글 OAuth 클라이언트 ID(데스크탑)와 앱의 콜백 체계와 일치하는 리디렉션 URI가 필요합니다.";
  124. "Actions" = "작업";
  125. "Schedule meeting" = "회의 예약";
  126. "Team sync" = "팀 동기화";
  127. "Duration (min)" = "시간(분)";
  128. "Refresh saved meetings" = "저장된 회의 새로고침";
  129. /* MARK: - 설정 */
  130. "Manage appearance, account, and app options." = "외모, 계정 및 앱 옵션을 관리하세요.";
  131. "Appearance" = "외모";
  132. "Account" = "계정";
  133. "App" = "앱";
  134. "Notifications" = "알림";
  135. "Help & Legal" = "도움말 및 법적 정보";
  136. "Dark Mode" = "다크 모드";
  137. "Language" = "언어";
  138. "System Language" = "시스템 언어";
  139. "Rate Us" = "평가하기";
  140. "Share App" = "앱 공유";
  141. "Upgrade" = "업그레이드";
  142. "Privacy Policy" = "개인정보처리방침";
  143. "Support" = "지원";
  144. "Terms of Services" = "서비스 약관";
  145. "AI Language 1" = "인공지능 언어 1";
  146. "AI Language 2" = "인공지능 언어 2";
  147. "Google account connected" = "구글 계정 연결됨";
  148. "Google account not connected" = "구글 계정 연결되지 않음";
  149. "Signed in" = "로그인됨";
  150. "Sign in to sync your meetings and calendar." = "로그인하여 회의 및 달력을 동기화하세요.";
  151. "Log out" = "로그아웃";
  152. "Check out %@ for managing and joining meetings." = "%@(을)를 통해 회의를 관리하고 참가해보세요.";
  153. "Meetings App" = "회의 앱";
  154. /* MARK: - 녹화 동의 */
  155. "Record this meeting locally?" = "이 회의를 로컬에 녹화하시겠습니까?";
  156. "With your consent, the app will record meeting audio on this Mac and show it in AI Companion after the meeting." = "귀하의 동의 하에 앱은 이 Mac에서 회의 오디오를 녹화하고 회의 종료 후 인공지능 어시스턴트에 표시합니다.";
  157. "Allow and Continue" = "허용 및 계속";
  158. "Continue Without Recording" = "녹화 없이 계속";
  159. "Transcription Languages" = "전사 언어";
  160. "Preferred Language 1" = "선호 언어 1";
  161. "Preferred Language 2" = "선호 언어 2";
  162. "Microphone permission denied" = "마이크 권한 거부됨";
  163. "Microphone permission required" = "마이크 권한 필요";
  164. "Enable microphone access in System Settings to record meetings locally." = "로컬에 회의를 녹화하려면 시스템 설정에서 마이크 접근을 활성화하세요.";
  165. "Could not start recording" = "녹화를 시작할 수 없음";
  166. "Recording will start when the meeting starts" = "회의 시작 시 녹화가 시작됩니다";
  167. "Meeting recording started (meeting + microphone)" = "회의 녹화 시작됨 (회의 + 마이크)";
  168. "System audio unavailable. Recording microphone only." = "시스템 오디오를 사용할 수 없음. 마이크만 녹화합니다.";
  169. "Meeting recording started (microphone only)" = "회의 녹화 시작됨 (마이크만)";
  170. "Meeting recording saved" = "회의 녹화 저장됨";
  171. /* MARK: - 인공지능 어시스턴트 */
  172. "Get notes from your previous meetings" = "이전 회의에서 메모 가져오기";
  173. "Connect your Google account to see your AI Companion meeting history." = "구글 계정을 연결하여 인공지능 어시스턴트 회의 기록을 확인하세요.";
  174. "No previous meetings yet for %@. End a meeting to save it here and generate notes." = "%@(으)에 대한 이전 회의가 아직 없습니다. 회의를 종료하여 여기에 저장하고 메모를 생성하세요.";
  175. "this account" = "이 계정";
  176. "Previous meetings" = "이전 회의";
  177. "Recording in progress: %@" = "녹화 중: %@";
  178. "Started: %@" = "시작됨: %@";
  179. "Stop Recording" = "녹화 중지";
  180. "Date: %@" = "날짜: %@";
  181. "Saved time: %@" = "저장 시간: %@";
  182. "Get Notes" = "메모 가져오기";
  183. "Premium required. Click to unlock AI Companion notes." = "프리미엄 필요합니다. 클릭하여 인공지능 어시스턴트 메모 잠금 해제.";
  184. "Play Audio" = "오디오 재생";
  185. "Pause Audio" = "오디오 일시정지";
  186. "Stopped" = "중지됨";
  187. "Speaking..." = "말하는 중...";
  188. "Paused" = "일시정지됨";
  189. "Playing..." = "재생 중...";
  190. "Not playing" = "재생 중 아님";
  191. "Checking audio..." = "오디오 확인 중...";
  192. "Audio file missing" = "오디오 파일 누락";
  193. "Could not play recording" = "녹화를 재생할 수 없음";
  194. "Failed: %@" = "실패: %@";
  195. "Failed to play audio" = "오디오 재생 실패";
  196. "decode error" = "디코딩 오류";
  197. "Loading..." = "로딩 중...";
  198. "Buffering..." = "버퍼링 중...";
  199. "Finished" = "완료됨";
  200. "Transcript not requested" = "전사 요청되지 않음";
  201. "Transcript processing..." = "전사 처리 중...";
  202. "Transcript ready" = "전사 준비됨";
  203. "Transcript unavailable (tap to retry)" = "전사를 사용할 수 없음 (다시 시도하려면 탭)";
  204. "Notes not requested" = "메모 요청되지 않음";
  205. "Preparing notes, please wait..." = "메모 준비 중, 잠시만 기다려주세요...";
  206. "Notes ready" = "메모 준비됨";
  207. "Notes unavailable (tap to retry)" = "메모를 사용할 수 없음 (다시 시도하려면 탭)";
  208. "Transcript unavailable" = "전사를 사용할 수 없음";
  209. "Notes unavailable" = "메모를 사용할 수 없음";
  210. "Could not find recording details for this meeting." = "이 회의에 대한 녹화 세부정보를 찾을 수 없습니다.";
  211. "Transcript - %@" = "전사 - %@";
  212. "Notes - %@" = "메모 - %@";
  213. "Meeting Notes" = "회의 메모";
  214. "Transcript processing..." = "전사 처리 중...";
  215. /* MARK: - 결제 및 StoreKit */
  216. "Meetings Pro" = "회의 전문판";
  217. "PREMIUM EXPERIENCE" = "프리미엄 경험";
  218. "Elevate your meetings workflow" = "회의 작업 흐름을 한 단계 업그레이드하세요";
  219. "Unlock automation, premium meeting tools, and priority support for every session." = "자동화, 프리미엄 회의 도구 및 모든 세션에 대한 우선 지원을 잠금 해제하세요.";
  220. "Manage meetings" = "회의 관리";
  221. "Smart scheduling" = "스마트 일정";
  222. "Faster workflow" = "더 빠른 작업 흐름";
  223. "Reminder notifications" = "알림 알림";
  224. "Monthly" = "월간";
  225. "Bi Yearly" = "6개월";
  226. "Yearly" = "연간";
  227. "Most Popular" = "가장 인기 있음";
  228. "%@ • Most Popular" = "%@ • 가장 인기 있음";
  229. "3 days free trial" = "3일 무료 평가판";
  230. "Cancel anytime" = "언제든지 취소 가능";
  231. "No lock-in" = "약정 없음";
  232. "Instant access" = "즉시 접근";
  233. "Unlock all tools" = "모든 도구 잠금 해제";
  234. "Secure billing" = "안전한 결제";
  235. "Handled by Apple" = "애플에서 처리";
  236. "Secured by Apple. Cancel anytime." = "애플의 보안. 언제든지 취소 가능.";
  237. "Restore Purchase" = "구매 복원";
  238. "Continue with free plan" = "무료 플랜으로 계속";
  239. "Already Premium" = "이미 프리미엄";
  240. "You are already premium. Do you want to continue with this purchase?" = "이미 프리미엄 회원입니다. 이 구매를 계속하시겠습니까?";
  241. "Current plan: %@. Choose a different package to switch." = "현재 플랜: %@. 전환하려면 다른 패키지를 선택하세요.";
  242. "Premium is active on this Apple ID." = "이 애플 ID에 프리미엄이 활성화되어 있습니다.";
  243. "Free for %@, then %@" = "%@ 무료, 이후 %@";
  244. "Billed via App Store" = "App Store를 통해 청구";
  245. "%@ • %@" = "%@ • %@";
  246. "Save 0%" = "0% 절약";
  247. "Save %@%%" = "%@%% 절약";
  248. "month" = "월";
  249. "year" = "년";
  250. "%@ free trial" = "%@ 무료 평가판";
  251. "Processing..." = "처리 중...";
  252. "Premium Active" = "프리미엄 활성화됨";
  253. "Continue with 3 day trail" = "3일 평가판 계속";
  254. "Please Wait" = "잠시만 기다려주세요";
  255. "A purchase is already being processed." = "이미 구매가 처리 중입니다.";
  256. "This Apple ID already has premium access." = "이 애플 ID에는 이미 프리미엄 접근 권한이 있습니다.";
  257. "Purchase Complete" = "구매 완료";
  258. "Premium has been unlocked successfully." = "프리미엄이 성공적으로 잠금 해제되었습니다.";
  259. "Purchase Pending" = "구매 보류 중";
  260. "Your purchase is pending approval. You can continue once it completes." = "구매 승인이 보류 중입니다. 완료되면 계속할 수 있습니다.";
  261. "Product Not Available" = "제품을 사용할 수 없음";
  262. "Unable to load this product. Check your StoreKit configuration and product IDs." = "이 제품을 로드할 수 없습니다. StoreKit 구성 및 제품 ID를 확인하세요.";
  263. "Already Purchased" = "이미 구매함";
  264. "This plan is already active on your Apple ID." = "이 플랜은 이미 애플 ID에 활성화되어 있습니다.";
  265. "Purchase Failed" = "구매 실패";
  266. "Restore Purchases" = "구매 복원";
  267. "Purchases restored successfully." = "구매가 성공적으로 복원되었습니다.";
  268. "No previous premium purchase was found for this Apple ID." = "이 애플 ID에 대한 이전 프리미엄 구매 내역이 없습니다.";
  269. "Restore failed: %@" = "복원 실패: %@";
  270. "Unable to Open Subscriptions" = "구독을 열 수 없음";
  271. "The subscriptions URL is invalid." = "구독 URL이 유효하지 않습니다.";
  272. "%@ tapped." = "%@(이)가 탭됨.";
  273. /* MARK: - Auth */
  274. "Google Sign-In" = "구글 로그인";
  275. /* MARK: - Speech / transcript errors */
  276. "Speech recognition permission denied. Enable it in System Settings and try again." = "음성 인식 권한이 거부되었습니다. 시스템 설정에서 활성화하고 다시 시도하세요.";
  277. "Speech recognition is restricted on this Mac." = "이 Mac에서는 음성 인식이 제한되어 있습니다.";
  278. "Speech recognition authorization is unavailable." = "음성 인식 권한을 사용할 수 없습니다.";
  279. "Speech recognizer is unavailable for the current locale." = "현지 언어 환경에서는 음성 인식기를 사용할 수 없습니다.";
  280. "Speech recognizer is unavailable for %@." = "%@(으)로는 음성 인식기를 사용할 수 없습니다.";
  281. "No audio was available to transcribe." = "전사할 수 있는 오디오가 없습니다.";
  282. /* MARK: - StoreKit 거래 오류 */
  283. "Unable to load products: %@" = "제품을 로드할 수 없음: %@";
  284. "Product ID not found in StoreKit response. Requested: %@. Loaded IDs: %@" = "StoreKit 응답에서 제품 ID를 찾을 수 없음. 요청됨: %@. 로드된 ID: %@";
  285. "Purchase verification failed." = "구매 확인 실패.";
  286. "Unknown purchase state." = "알 수 없는 구매 상태.";
  287. "none" = "없음";
  288. /* MARK: - Paywall pricing copy */
  289. "%@ one-time purchase" = "%@ 일회성 구매";
  290. "%@/month" = "%@/월";
  291. "%@/6 months" = "%@/6개월";
  292. "%@/year (3 days free trial)" = "%@/년 (3일 무료 평가판)";
  293. "day" = "일";
  294. "week" = "주";
  295. "period" = "기간";
  296. "1 %@" = "1 %@";
  297. "%d %@s" = "%d %@";
  298. /* MARK: - 토스트 및 빠른 피드백 */
  299. "Meeting added successfully." = "회의가 성공적으로 추가되었습니다.";
  300. "An issue occurred. Please try again." = "문제가 발생했습니다. 다시 시도하세요.";
  301. "Failed to load transcript." = "전사 로드 실패.";
  302. "Failed to generate notes." = "메모 생성 실패.";
  303. /* MARK: - 브라우저 알림 */
  304. "Try Again" = "다시 시도";
  305. "The in-app browser closed this page unexpectedly. You can try loading it again in this same window." = "앱 내 브라우저가 예기치 않게 이 페이지를 닫았습니다. 동일한 창에서 다시 로드해 볼 수 있습니다.";
  306. /* MARK: - 일정 및 달력 오류 */
  307. "Couldn't load schedule." = "일정을 로드할 수 없습니다.";
  308. "Couldn't refresh schedule." = "일정을 새로고침할 수 없습니다.";
  309. "Couldn't connect Google account." = "구글 계정을 연결할 수 없습니다.";
  310. "Couldn't logout Google account." = "구글 계정을 로그아웃할 수 없습니다.";
  311. "Couldn't load schedule" = "일정을 로드할 수 없음";
  312. "Couldn't determine Meet meeting code from URL." = "URL에서 미트 회의 코드를 확인할 수 없습니다.";
  313. "Refreshing…" = "새로고침 중…";
  314. "Connect Google to see meetings" = "회의를 보려면 구글 연결";
  315. "Connect to load schedule" = "일정을 로드하려면 연결";
  316. "Loading…" = "로딩 중…";
  317. "Loading schedule…" = "일정 로딩 중…";
  318. "Start date must be on or before end date." = "시작 날짜는 종료 날짜보다 빠르거나 같아야 합니다.";
  319. "Invalid custom date range" = "잘못된 사용자 지정 날짜 범위";
  320. "No meetings" = "회의 없음";
  321. "No meetings for selected filters" = "선택한 필터에 대한 회의 없음";
  322. "No meetings on %@" = "%@에 회의 없음";
  323. "1 meeting on %@" = "%@에 회의 1개";
  324. "%d meetings on %@" = "%@에 회의 %d개";
  325. "All day" = "하루 종일";
  326. "Duration: all day" = "시간: 하루 종일";
  327. "Duration: %dh %dm" = "시간: %dh %dm";
  328. "Duration: %dh" = "시간: %dh";
  329. "Duration: %dm" = "시간: %dm";
  330. "%@ - %@" = "%@ - %@";
  331. "Scheduled Meeting" = "예정된 회의";
  332. /* MARK: - Create meeting popover */
  333. "Please enter a title." = "제목을 입력하세요.";
  334. "Duration must be a positive number of minutes." = "시간은 양수 분 단위여야 합니다.";
  335. "Invalid start time." = "잘못된 시작 시간.";
  336. /* MARK: - 알림 및 알림 */
  337. "Reminders" = "미리 알림";
  338. "1 Day Before" = "1일 전";
  339. "12 Hours Before" = "12시간 전";
  340. "1 Hour Before" = "1시간 전";
  341. "Starts in 1 day" = "1일 후 시작";
  342. "Starts in 12 hours" = "12시간 후 시작";
  343. "Starts in 1 hour" = "1시간 후 시작";
  344. /* MARK: - 구글 OAuth 오류 */
  345. "Missing Google OAuth Client ID." = "구글 OAuth 클라이언트 ID가 없습니다.";
  346. "Missing Google OAuth Client Secret." = "구글 OAuth 클라이언트 시크릿이 없습니다.";
  347. "Invalid OAuth callback URL." = "잘못된 OAuth 콜백 URL입니다.";
  348. "Google did not return an authorization code." = "구글이 인증 코드를 반환하지 않았습니다.";
  349. "Token exchange failed: %@" = "토큰 교환 실패: %@";
  350. "Could not open browser for Google sign-in." = "구글 로그인을 위한 브라우저를 열 수 없습니다.";
  351. "Google sign-in timed out." = "구글 로그인 시간이 초과되었습니다.";
  352. "No stored Google tokens found." = "저장된 구글 토큰이 없습니다.";
  353. /* MARK: - 인공지능 어시스턴트 / transcript errors */
  354. "Recording not found." = "녹화를 찾을 수 없습니다.";
  355. "Local meeting audio is missing." = "로컬 회의 오디오가 없습니다.";
  356. "Generated transcript was empty." = "생성된 전사가 비어 있습니다.";
  357. "(No transcript entries found.)" = "(전사 항목을 찾을 수 없습니다.)";
  358. "No conference record found for this meeting." = "이 회의에 대한 회의 기록을 찾을 수 없습니다.";
  359. "No transcript found for this meeting." = "이 회의에 대한 전사를 찾을 수 없습니다.";
  360. "Unable to create audio composition tracks." = "오디오 합성 트랙을 만들 수 없습니다.";
  361. "Unable to create audio export session." = "오디오보내기 세션을 만들 수 없습니다.";
  362. "Audio mix export failed." = "오디오 믹스보내기 실패.";
  363. "No display available for system audio capture." = "시스템 오디오 캡처에 사용할 수 있는 디스플레이가 없습니다.";
  364. "Cannot add audio writer input." = "오디오 작성기 입력을 추가할 수 없습니다.";
  365. /* MARK: - 구글 API 오류 */
  366. "Google Meet returned an invalid response." = "구글 미트가 잘못된 응답을 반환했습니다.";
  367. "Google Meet API error (%d): %@" = "구글 미트 API 오류 (%d): %@";
  368. "Failed to parse Google Meet response: %@" = "구글 미트 응답 구문 분석 실패: %@";
  369. "Google Calendar returned an invalid response." = "구글 달력이 잘못된 응답을 반환했습니다.";
  370. "Google Calendar API error (%d): %@" = "구글 달력 API 오류 (%d): %@";
  371. "Failed to parse Google Calendar events: %@" = "구글 달력 이벤트 구문 분석 실패: %@";
  372. /* MARK: - OpenAI 오류 */
  373. "OpenAI API key is missing. Set OPENAI_API_KEY in the environment or app key vault." = "OpenAI API 키가 없습니다. 환경 또는 앱 키 보관소에 OPENAI_API_KEY를 설정하세요.";
  374. "Notes generation returned an invalid response." = "메모 생성이 잘못된 응답을 반환했습니다.";
  375. "Notes generation failed (%d): %@" = "메모 생성 실패 (%d): %@";
  376. "Notes generation returned empty text." = "메모 생성이 빈 텍스트를 반환했습니다.";
  377. "OpenAI transcription returned an invalid response." = "OpenAI 전사가 잘못된 응답을 반환했습니다.";
  378. "OpenAI transcription failed (%d): %@" = "OpenAI 전사 실패 (%d): %@";
  379. "OpenAI transcription returned no text." = "OpenAI 전사가 텍스트를 반환하지 않았습니다.";
  380. /* MARK: - Browse & in-app browser */
  381. "Open sites in the in-app browser (back, forward, reload, address bar). OAuth and “Continue in browser” flows stay inside the app." = "앱 내 브라우저에서 사이트 열기 (뒤로, 앞으로, 새로고침, 주소 표시줄). OAuth 및 '브라우저에서 계속' 흐름은 앱 내에 유지됩니다.";
  382. "Open in app browser" = "앱 브라우저에서 열기";
  383. "Meet help" = "미트 도움말";
  384. "Go" = "이동";
  385. "Back" = "뒤로";
  386. "Forward" = "앞으로";
  387. "Reload" = "새로고침";
  388. /* MARK: - 일정 및 달력 레이블 */
  389. "Google Calendar" = "구글 달력";
  390. "Untitled meeting" = "제목 없는 회의";
  391. "Created event missing start/end." = "생성된 이벤트에 시작/종료가 없습니다.";
  392. "Created event missing Meet/HTML link." = "생성된 이벤트에 미트/HTML 링크가 없습니다.";
  393. /* MARK: - 구글 계정 */
  394. "Google account" = "구글 계정";
  395. "%@, Google account" = "%@, 구글 계정";
  396. "Google User" = "구글 사용자";
  397. /* MARK: - Zoom join (unused section) */
  398. "Meeting ID" = "회의 ID";
  399. "Enter meeting ID..." = "회의 ID 입력...";
  400. "Meeting Passcode" = "회의 암호";
  401. "Enter meeting passcode..." = "회의 암호 입력...";
  402. /* MARK: - 결제 (대체 혜택) */
  403. "Virtual backgrounds" = "가상 배경";
  404. "Tools for productivity" = "생산성 도구";
  405. "24/7 support" = "연중무휴 지원";
  406. /* MARK: - Transcription speakers */
  407. "You" = "당신";
  408. /* MARK: - 키체인 오류 */
  409. "Failed to read OAuth tokens from Keychain." = "키체인에서 OAuth 토큰을 읽지 못했습니다.";
  410. "Keychain returned an invalid token payload." = "키체인이 잘못된 토큰 페이로드를 반환했습니다.";
  411. "Failed to update OAuth tokens in Keychain." = "키체인의 OAuth 토큰을 업데이트하지 못했습니다.";
  412. "Failed to save OAuth tokens to Keychain." = "OAuth 토큰을 키체인에 저장하지 못했습니다.";
  413. "Failed to delete OAuth tokens from Keychain." = "키체인에서 OAuth 토큰을 삭제하지 못했습니다.";
  414. "Unable to allocate audio buffer." = "오디오 버퍼를 할당할 수 없습니다.";
  415. "Invalid revoke response." = "잘못된 취소 응답입니다.";
  416. "Token revoke failed with status %d." = "토큰 취소 실패, 상태 %d.";
  417. /* MARK: - Error alert diagnostics */
  418. "Keychain: %d (%@)" = "키체인: %d (%@)";
  419. "OSStatus: %d" = "OSStatus: %d";
  420. "Item: service=%@, account=%@" = "항목: 서비스=%@, 계정=%@";