Kaynağa Gözat

Add Korean localization for the full app UI.

Register ko in the project and AppLanguage so users can select 한국어 in Settings or pick it up from the system locale.

Co-authored-by: Cursor <cursoragent@cursor.com>
AhtashamShahzad1 1 ay önce
ebeveyn
işleme
fd1b7f0eff

+ 1 - 0
App for Indeed.xcodeproj/project.pbxproj

@@ -108,6 +108,7 @@
 				"fr-CA",
 				de,
 				sv,
+				ko,
 			);
 			mainGroup = 27D852772FB1D367008DF557;
 			minimizedProjectReferenceProxies = 1;

+ 7 - 1
App for Indeed/Services/AppLocalization.swift

@@ -17,6 +17,7 @@ enum AppLanguage: CaseIterable {
     case arabic
     case chineseSimplified
     case chineseTraditional
+    case korean
 
     var localeIdentifier: String {
         switch self {
@@ -36,6 +37,8 @@ enum AppLanguage: CaseIterable {
             return "zh-Hans"
         case .chineseTraditional:
             return "zh-Hant"
+        case .korean:
+            return "ko"
         }
     }
 
@@ -70,6 +73,9 @@ enum AppLanguage: CaseIterable {
         if lower.hasPrefix("ar") {
             return .arabic
         }
+        if lower.hasPrefix("ko") {
+            return .korean
+        }
         for language in AppLanguage.allCases where preferred.hasPrefix(language.localeIdentifier) {
             return language
         }
@@ -165,7 +171,7 @@ private func translateTemplateNameByTokens(_ name: String, language: AppLanguage
     switch language {
     case .chineseSimplified, .chineseTraditional:
         return translated.joined()
-    case .arabic, .english, .french, .frenchCanada, .german, .swedish:
+    case .arabic, .english, .french, .frenchCanada, .german, .korean, .swedish:
         return translated.joined(separator: " ")
     }
 }

+ 1 - 1
App for Indeed/Services/CVTemplateFetchService.swift

@@ -49,7 +49,7 @@ final class CVTemplateFetchService {
             switch language {
             case .english:
                 return spacingRule
-            case .chineseTraditional, .chineseSimplified, .arabic, .french, .frenchCanada, .german, .swedish:
+            case .chineseTraditional, .chineseSimplified, .arabic, .french, .frenchCanada, .german, .korean, .swedish:
                 return spacingRule + " The app localizes these English keys client-side — do not use non-English script in `name`."
             }
         }

+ 2 - 0
App for Indeed/Services/TemplateNameTokenLexicon.swift

@@ -84,6 +84,8 @@ enum TemplateNameTokenLexicon {
             return fr
         case .swedish:
             return sv
+        case .korean:
+            return [:]
         }
     }
 

+ 365 - 0
App for Indeed/ko.lproj/Localizable.strings

@@ -0,0 +1,365 @@
+/* Localizable.strings (Korean) */
+
+// MARK: - 공통
+"OK" = "확인";
+"Cancel" = "취소";
+"Delete" = "삭제";
+"Remove" = "제거";
+"Dismiss" = "닫기";
+
+// MARK: - 실행 화면
+"AI-POWERED" = "AI 기반";
+"Find your perfect job with the power of AI." = "AI의 힘으로 완벽한 일자리를 찾아보세요.";
+"Starting up…" = "시작하는 중…";
+"Loading progress" = "진행률 로드 중";
+
+// MARK: - 실행 상태
+"Checking your Pro subscription…" = "프로 구독을 확인하는 중…";
+"Loading premium plans from the App Store…" = "App Store에서 프리미엄 플랜을 로드하는 중…";
+"Preparing your job search workspace…" = "구직 작업 공간을 준비하는 중…";
+"Almost ready…" = "거의 준비 완료…";
+
+// MARK: - 사이드바
+"Home" = "홈";
+"Saved Jobs" = "저장된 채용공고";
+"CV Maker" = "이력서 제작기";
+"Profile" = "프로필";
+"Settings" = "설정";
+"Premium" = "프리미엄";
+"Indeed" = "인디드";
+"Open Indeed to search and apply for jobs" = "Indeed를 열어 채용정보 검색 및 지원";
+
+// MARK: - 대시보드 / 홈
+"Welcome" = "환영합니다";
+"Send" = "보내기";
+"Clear chat" = "채팅 지우기";
+"Remove all messages and start a new conversation" = "모든 메시지를 제거하고 새 대화 시작";
+"Ask for roles, skills, salary, or job descriptions..." = "직무, 기술, 연봉, 채용 설명 등에 대해 물어보세요...";
+"Ask AI" = "AI에게 묻기";
+"1 reply left" = "답변 1회 남음";
+"Apply" = "지원하기";
+"Save" = "저장";
+"Saved" = "저장됨";
+"Remove from saved" = "저장목록에서 제거";
+"Show more jobs" = "더 많은 채용공고 보기";
+"This area is not available in the preview build. Use Home to search jobs." = "이 영역은 프리뷰 빌드에서 사용할 수 없습니다. 홈을 사용하여 채용정보를 검색하세요.";
+"Save jobs from Home to see them here." = "홈에서 채용정보를 저장하면 여기에 표시됩니다.";
+"No saved jobs yet. Search on Home, then tap Save on a listing." = "아직 저장된 채용공고가 없습니다. 홈에서 검색한 후 채용공고에서 저장을 탭하세요.";
+"Tell me what role you want and I will return job descriptions, key skills, and a quick fit summary." = "원하는 직무를 알려주시면 채용 설명, 주요 기술, 간략한 적합성 요약을 제공해 드립니다.";
+"1 saved position" = "저장된 채용공고 1개";
+"Delete this profile?" = "이 프로필을 삭제하시겠습니까?";
+"Find roles similar to: " = "다음과 유사한 직무 찾기: ";
+"Find jobs at company: " = "다음 회사의 채용공고 찾기: ";
+"Find jobs that require skill: " = "다음 기술이 필요한 채용공고 찾기: ";
+"match" = "일치";
+"matches" = "일치";
+
+// MARK: - 기능 바로가기
+"Role" = "직무";
+"Explore similar or better job roles" = "유사하거나 더 나은 직무 탐색";
+"Company" = "회사";
+"Find opportunities at other companies" = "다른 회사의 채용 기회 찾기";
+"Skill" = "기술";
+"Match jobs that fit your skills" = "내 기술에 맞는 채용공고 매칭";
+
+// MARK: - Pro / 구독
+"Upgrade to Pro" = "프로로 업그레이드";
+"You're on Pro" = "프로 사용 중";
+"Unlimited AI matches, smart alerts, and interview prep—all in one place." = "무제한 AI 매칭, 스마트 알림, 면접 준비 — 모든 것이 한 곳에.";
+"Manage billing, renewals, and plans in Premium." = "프리미엄에서 결제, 갱신 및 플랜을 관리하세요.";
+"Try Pro" = "프로 체험하기";
+"Manage Subscription" = "구독 관리";
+"Premium Plans" = "프리미엄 플랜";
+"Unlock unlimited access to premium tools and boost your productivity." = "프리미엄 도구에 대한 무제한 액세스를 잠금 해제하고 생산성을 높이세요.";
+"Continue with free plan" = "무료 플랜 계속 이용";
+"Restore Purchase" = "구매 복원";
+"You're subscribed" = "구독 중입니다";
+"Thank you — Pro features are now available." = "감사합니다 — 이제 프로 기능을 사용할 수 있습니다.";
+"Pro" = "프로";
+"Purchases restored" = "구매가 복원되었습니다";
+"Your subscription is active." = "구독이 활성화되어 있습니다.";
+"No subscription found" = "구독을 찾을 수 없습니다";
+"There was nothing to restore for this Apple ID." = "이 Apple ID에 복원할 구독이 없습니다.";
+"Something went wrong" = "문제가 발생했습니다";
+"That subscription isn’t available from the App Store right now." = "현재 App Store에서 해당 구독을 사용할 수 없습니다.";
+"Unlimited AI job search on Home" = "홈에서 무제한 AI 채용검색";
+"Save jobs & open listings in-app" = "채용정보 저장 및 앱 내 채용공고 열기";
+"CV Maker, profiles & PDF export" = "이력서 제작기, 프로필 및 피디에프보내기";
+"Role, company & skill shortcuts" = "직무, 회사 및 기술 바로가기";
+
+// MARK: - 결제월 플랜
+"Weekly" = "주간";
+"Flexible and commitment-free" = "유연하고 약정 없음";
+"Monthly" = "월간";
+"Balanced for regular productivity" = "규칙적인 생산성을 위한 균형 잡힌 플랜";
+"Yearly" = "연간";
+"Best value for long-term users" = "장기 사용자를 위한 최고의 가치";
+"/ week" = "/주";
+"/ month" = "/월";
+"/ year" = "/년";
+"3 days free trial" = "3일 무료 체험";
+"Perfect for short-term job hunts" = "단기 구직에 완벽함";
+"Cancel anytime" = "언제든지 취소 가능";
+"Best for regular job seekers" = "정기적인 구직자에게 최적";
+"Priority support" = "우선 지원";
+"Lowest effective monthly cost" = "가장 낮은 실질 월 비용";
+"Ideal for long-term use" = "장기 사용에 이상적";
+
+// MARK: - 결제월 신뢰
+"Secure Payments" = "안전한 결제";
+"Your payment is 100% secure." = "결제는 100% 안전합니다.";
+"Cancel Anytime" = "언제든지 취소 가능";
+"No commitment, cancel anytime." = "약정 없음, 언제든지 취소 가능.";
+"24/7 Support" = "24/7 지원";
+"We're here to help you anytime." = "언제든지 도움을 드립니다.";
+"Privacy First" = "개인정보 보호 우선";
+"Your data is safe with us." = "귀하의 데이터는 안전하게 보호됩니다.";
+
+// MARK: - 설정
+"Appearance" = "외관";
+"Theme" = "테마";
+"Language" = "언어";
+"Share App" = "앱 공유";
+"More Apps" = "더 많은 앱";
+"About" = "정보";
+"Website" = "웹사이트";
+"Support" = "지원";
+"Terms of Use" = "이용약관";
+"Privacy Policy" = "개인정보처리방침";
+"System" = "시스템";
+"Light" = "라이트";
+"Dark" = "다크";
+
+// MARK: - 프로필
+"Profiles" = "프로필";
+"Add new profile" = "새 프로필 추가";
+"Create and manage CV profiles. Each profile stores your details on this Mac." = "이력서 프로필을 생성하고 관리하세요. 각 프로필은 이 Mac에 개인 정보를 저장합니다.";
+"No profiles yet. Tap “Add new profile” to create your first one." = "아직 프로필이 없습니다. '새 프로필 추가'를 탭하여 첫 번째 프로필을 만드세요.";
+"Build CV" = "이력서 작성";
+"Edit" = "편집";
+"Untitled profile" = "제목 없는 프로필";
+"No contact details yet" = "아직 연락처 정보가 없습니다";
+"← Profiles" = "← 프로필";
+
+// MARK: - 프로필 편집기
+"Save Profile  →" = "프로필 저장 →";
+"← All profiles" = "← 모든 프로필";
+"New profile" = "새 프로필";
+"Edit profile" = "프로필 편집";
+"Profile Name *" = "프로필명 *";
+"Marketing Director Profile" = "마케팅 디렉터 프로필";
+"Personal Information" = "개인 정보";
+"Full Name *" = "전체 이름 *";
+"John Doe" = "홍길동";
+"Email *" = "이메일 *";
+"john@example.com" = "hong@example.com";
+"Phone" = "전화번호";
+"+1 (555) 123-4567" = "+82 10 1234 5678";
+"Job Title *" = "직책 *";
+"Software Engineer" = "소프트웨어 엔지니어";
+"Address" = "주소";
+"123 Main St, City, State, ZIP" = "서울특별시 강남구 테헤란로 123";
+"Certificates / Rewards" = "자격증 / 수상 내역";
+"List your certificates and awards..." = "자격증 및 수상 내역을 나열하세요...";
+"Interests" = "관심사";
+"List your interests and hobbies..." = "관심사와 취미를 나열하세요...";
+"Languages" = "언어";
+"List languages you speak (e.g., English - Native, Spanish - Fluent)..." = "구사 가능한 언어를 나열하세요 (예: 한국어 - 모국어, 영어 - 유창함)...";
+"Career Summary" = "경력 요약";
+"Brief overview of your professional background and key achievements..." = "전문 배경 및 주요 성과에 대한 간략한 개요...";
+"Referral (Optional)" = "추천인 (선택사항)";
+"Referred by (Company/Person Name)" = "추천인 (회사/이름)";
+"If someone referred you for this job, enter their name or company here" = "누군가 이 채용공고를 추천했다면, 여기에 이름이나 회사를 입력하세요";
+"Work Experience" = "경력 사항";
+"Education" = "학력";
+"+ Add Another" = "+ 추가";
+"Complete required fields" = "필수 필드 작성";
+"Remove experience" = "경력 삭제";
+"Remove education" = "학력 삭제";
+"Company Name *" = "회사명 *";
+"Duration *" = "기간 *";
+"Description" = "설명";
+"e.g., Software Engineer" = "예: 소프트웨어 엔지니어";
+"e.g., Google" = "예: 구글";
+"e.g., Jan 2020 - Present" = "예: 2020년 1월 - 현재";
+"Describe your responsibilities and achievements..." = "담당 업무 및 성과를 설명하세요...";
+"Degree / program *" = "학위 / 전공 *";
+"Institution *" = "학교명 *";
+"Year *" = "년도 *";
+"e.g., BSc Computer Science" = "예: 컴퓨터공학 학사";
+"e.g., MIT" = "예: 서울대학교";
+"e.g., 2020" = "예: 2020";
+"Profile name" = "프로필명";
+"Full Name" = "전체 이름";
+"Email" = "이메일";
+"Job Title" = "직책";
+
+// MARK: - 이력서 제작기
+"Templates" = "템플릿";
+"Polished layouts with live previews — pick a style that fits your story." = "라이브 미리보기가 포함된 세련된 레이아웃 — 내 이야기에 맞는 스타일을 선택하세요.";
+"Use Template & Select Profile  →" = "템플릿 사용 및 프로필 선택 →";
+"All" = "전체";
+"No templates yet for this category." = "이 카테고리에 아직 템플릿이 없습니다.";
+"Pick a template" = "템플릿 선택";
+"Select a template first, then choose a profile to continue." = "계속하려면 먼저 템플릿을 선택한 후 프로필을 선택하세요.";
+"Fetching AI-curated templates…" = "AI 선별 템플릿을 불러오는 중…";
+"Couldn’t load AI templates — showing the built-in gallery." = "AI 템플릿을 불러올 수 없음 — 내장 갤러리를 표시합니다.";
+"Design-Based" = "디자인 기반";
+"Profession-Based" = "직업 기반";
+"Professional" = "프로페셔널";
+"Modern" = "모던";
+"Creative" = "크리에이티브";
+"Minimal" = "미니멀";
+"Executive" = "임원";
+"ATS layout" = "ATS 레이아웃";
+"Sidebar left" = "왼쪽 사이드바";
+"Sidebar right" = "오른쪽 사이드바";
+
+// MARK: - 이력서 미리보기
+"CV preview" = "이력서 미리보기";
+"Export PDF…" = "피디에프보내기…";
+"Layout matches the CV Maker thumbnail for this template. Export a PDF that matches what you see here (fonts, columns, colours, and rules)." = "레이아웃이 이 템플릿의 이력서 제작기 썸네일과 일치합니다. 여기에서 보는 내용(글꼴, 열, 색상 및 선)과 일치하는 피디에프를보냅니다.";
+"The résumé could not be rendered to PDF (empty output). Try scrolling the preview so it lays out, then export again." = "이력서를 피디에프로 렌더링할 수 없습니다(빈 출력). 미리보기를 스크롤하여 레이아웃을 잡은 후 다시보내세요.";
+"Couldn’t save PDF" = "피디에프를 저장할 수 없음";
+"Your name" = "이름";
+"Professional headline" = "전문 직함";
+"Experience" = "경력";
+"Highlights" = "주요 성과";
+"Summary" = "요약";
+"Contact" = "연락처";
+"Skills" = "기술";
+"Tools" = "도구";
+"Languages & more" = "언어 및 기타";
+"Certificates" = "자격증";
+"Referrals" = "추천인";
+"Professional Summary" = "전문 요약";
+"Selected Experience" = "선택 경력";
+"Core Competencies" = "핵심 역량";
+"Impact" = "영향력";
+"Add contact in your profile" = "프로필에 연락처 추가";
+"Add contact details in your profile" = "프로필에 연락처 정보 추가";
+"Add a career summary or interests in your profile to populate this column." = "이 열을 채우려면 프로필에 경력 요약 또는 관심사를 추가하세요.";
+"CV" = "이력서";
+"Open to relocation" = "이주 가능";
+"STRENGTHS" = "강점";
+"PORTFOLIO SNAPSHOT" = "포트폴리오 스냅샷";
+"Close" = "닫기";
+"/ day" = "/일";
+"/ %d days" = "/%d일";
+"/ %d weeks" = "/%d주";
+"/ %d months" = "/%d개월";
+"/ %d years" = "/%d년";
+
+// MARK: - 이력서 템플릿 이름
+"Paper White" = "페이퍼 화이트";
+"Swiss" = "스위스";
+"Mono" = "모노";
+"Airy" = "에어리";
+"Tabular" = "테이블러";
+"Facet" = "파셋";
+"Corporate" = "코퍼레이트";
+"Atlas" = "아틀라스";
+"Ledger" = "원장";
+"Harbor" = "하버";
+"Clear Path" = "클리어 패스";
+"Pinstripe" = "핀스트라이프";
+"Briefing" = "브리핑";
+"Quorum" = "쿼럼";
+"Docket" = "도킷";
+"Conduit" = "컨듀잇";
+"Principal" = "프린시펄";
+"Charter" = "차터";
+"Vertex" = "버텍스";
+"Linea" = "리네아";
+"Prism" = "프리즘";
+"Circuit" = "서킷";
+"North" = "노스";
+"Axis" = "액시스";
+"Marigold" = "메리골드";
+"Ember" = "엠버";
+"Lattice" = "래티스";
+"Bloom" = "블룸";
+"Studio" = "스튜디오";
+"Kite" = "카이트";
+"Regent" = "리전트";
+"Monarch" = "모나크";
+"Sterling" = "스털링";
+"Summit" = "서밋";
+"Estate" = "에스테이트";
+"Chairman" = "체어맨";
+"Blue Ocean" = "블루 오션";
+
+// MARK: - 이력서 데모 미리보기 콘텐츠
+"Sarah Johnson" = "김서연";
+"Senior Product Manager" = "시니어 제품 관리자";
+"Group PM, Consumer Growth & Activation" = "그룹 PM, 소비자 성장 및 활성화";
+"Google · Mountain View, CA · 2019 – Present" = "Google · 서울 · 2019 – 현재";
+"Stanford University" = "서울대학교";
+"M.S. Management Science & Engineering" = "경영과학 및 공학 석사";
+"2014 – 2016" = "2014 – 2016";
+"Mountain View, CA" = "서울특별시";
+"Product leader shipping roadmap, discovery, and analytics for high-scale consumer experiences." = "대규모 소비자 경험을 위한 로드맵, 탐색 및 분석을 제공하는 제품 리더.";
+"Defined multi-year platform strategy with exec stakeholders and quarterly OKRs." = "임원 이해관계자 및 분기별 OKR과 함께 다년간 플랫폼 전략 수립.";
+"Partnered with engineering and design to launch experiments improving activation by 12%." = "엔지니어링 및 디자인 팀과 협력하여 활성화를 12% 개선하는 실험 시작.";
+"Stood up quarterly business reviews with finance and GTM, aligning spend to north-star metrics." = "재무 및 GTM과 함께 분기별 비즈니스 검토를 진행하여 지출을 핵심 지표에 맞춤.";
+"Presented roadmap shifts to the leadership team and translated trade-offs into clear investment asks." = "로드맵 변경 사항을 리더십 팀에 발표하고 절충 사항을 명확한 투자 요청으로 전환.";
+"Figma · SQL · Amplitude · Jira · BigQuery" = "Figma · SQL · Amplitude · Jira · BigQuery";
+"Product Strategy" = "제품 전략";
+"A/B Testing" = "A/B 테스트";
+"Roadmapping" = "로드맵 작성";
+"CONTACT" = "연락처";
+"SKILLS" = "기술";
+"PROFILE" = "프로필";
+"EXPERIENCE" = "경력";
+"EDUCATION" = "학력";
+"SUMMARY" = "요약";
+"PROFESSIONAL SUMMARY" = "전문 요약";
+"SELECTED EXPERIENCE" = "선택 경력";
+"CORE COMPETENCIES" = "핵심 역량";
+"TOOLS" = "도구";
+"IMPACT" = "영향력";
+
+// MARK: - 채용 브라우저
+"Go to Indeed home" = "Indeed 홈으로 이동";
+
+// MARK: - 오류
+"We couldn't reach the server. Check your internet connection and try again." = "서버에 연결할 수 없습니다. 인터넷 연결을 확인하고 다시 시도하세요.";
+"The search was cancelled. Try again when you're ready." = "검색이 취소되었습니다. 준비되면 다시 시도하세요.";
+"The request was cancelled. Try again when you're ready." = "요청이 취소되었습니다. 준비되면 다시 시도하세요.";
+"Something went wrong while searching. Please try again in a moment." = "검색 중 문제가 발생했습니다. 잠시 후 다시 시도하세요.";
+"Job search is unavailable." = "채용검색을 사용할 수 없습니다.";
+"We couldn't complete your purchase. Please try again." = "구매를 완료할 수 없습니다. 다시 시도하세요.";
+"We couldn't restore your purchases. Please try again." = "구매를 복원할 수 없습니다. 다시 시도하세요.";
+"Purchase was cancelled." = "구매가 취소되었습니다.";
+"This subscription isn't available in your App Store region." = "이 구독은 귀하의 App Store 지역에서 사용할 수 없습니다.";
+"Purchases aren't allowed on this account or device." = "이 계정 또는 기기에서는 구매가 허용되지 않습니다.";
+"This introductory offer isn't available for your account." = "이 소개 제공은 귀하의 계정에 사용할 수 없습니다.";
+"The purchase couldn't be verified. Please try again." = "구매를 확인할 수 없습니다. 다시 시도하세요.";
+"We couldn't save the PDF. Try again or choose a different folder." = "피디에프를 저장할 수 없습니다. 다시 시도하거나 다른 폴더를 선택하세요.";
+"We don't have permission to save to that folder. Choose another location or grant access." = "해당 폴더에 저장할 권한이 없습니다. 다른 위치를 선택하거나 액세스 권한을 부여하세요.";
+"This disk is read-only. Choose another folder to save your PDF." = "이 디스크는 읽기 전용입니다. 피디에프를 저장할 다른 폴더를 선택하세요.";
+"The disk is full. Free up space, then try again." = "디스크 공간이 부족합니다. 공간을 확보한 후 다시 시도하세요.";
+
+// MARK: - 알림
+"This profile will be removed from this Mac." = "이 프로필은 이 Mac에서 제거됩니다.";
+
+// MARK: - 형식 문자열
+"Loading %@" = "%@ 로드 중";
+"Loading %@. %@" = "%@ 로드 중. %@";
+"Starting %@…" = "%@ 시작하는 중…";
+"%d replies left" = "답변 %d회 남음";
+"%d saved positions" = "저장된 채용공고 %d개";
+"“%@” will be removed from this Mac." = "“%@”(이)가 이 Mac에서 제거됩니다.";
+"%@ isn’t available yet" = "%@을(를) 아직 사용할 수 없음";
+"I couldn't find new matches for “%@”. Try a different angle or a more specific keyword." = "“%@”에 대한 새 일치 항목을 찾을 수 없습니다. 다른 관점이나 더 구체적인 키워드를 시도하세요.";
+"No jobs found for “%@”. Try another title, skill, company, or location." = "“%@”에 대한 채용공고를 찾을 수 없습니다. 다른 직무, 기술, 회사 또는 위치를 시도하세요.";
+"Here are %d more %@ for “%@”." = "“%@”에 대한 %@ %d개를 더 찾았습니다.";
+"Found %d %@ for “%@”. Tap Apply to open the listing or Save to revisit later." = "“%@”에 대한 %@ %d개를 찾았습니다. 지원하기를 탭하여 채용공고를 열거나 저장을 탭하여 나중에 다시 확인하세요.";
+"Get %@" = "%@ 이용하기";
+"You chose the “%@” template. Tap Build CV on a profile to preview your résumé with that layout." = "“%@” 템플릿을 선택했습니다. 프로필에서 이력서 작성을 탭하여 해당 레이아웃으로 이력서를 미리보세요.";
+"Experience %d" = "경력 %d";
+"Education %d" = "학력 %d";
+"Please fill in: %@." = "다음을 입력하세요: %@.";
+
+// MARK: - 여러 줄
+"Add your Mac App Store IDs in the target’s build settings:\n• AppStoreAppID — numeric app ID from App Store Connect\n• AppStoreDeveloperID — numeric developer ID (for your other apps page)" = "대상의 빌드 설정에 Mac App Store ID를 추가하세요:\n• AppStoreAppID — App Store Connect의 숫자 앱 ID\n• AppStoreDeveloperID — 숫자 개발자 ID (다른 앱 페이지용)";