Przeglądaj źródła

Add Vietnamese localization for the full app UI.

Co-authored-by: Cursor <cursoragent@cursor.com>
AhtashamShahzad1 1 miesiąc temu
rodzic
commit
e1cda3614f

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

@@ -113,6 +113,7 @@
 				ru,
 				es,
 				"es-MX",
+				vi,
 			);
 			mainGroup = 27D852772FB1D367008DF557;
 			minimizedProjectReferenceProxies = 1;

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

@@ -22,6 +22,7 @@ enum AppLanguage: CaseIterable {
     case russian
     case spanish
     case spanishMexico
+    case vietnamese
 
     var localeIdentifier: String {
         switch self {
@@ -51,6 +52,8 @@ enum AppLanguage: CaseIterable {
             return "es"
         case .spanishMexico:
             return "es-MX"
+        case .vietnamese:
+            return "vi"
         }
     }
 
@@ -100,6 +103,9 @@ enum AppLanguage: CaseIterable {
         if lower.hasPrefix("es") {
             return .spanish
         }
+        if lower.hasPrefix("vi") {
+            return .vietnamese
+        }
         for language in AppLanguage.allCases where preferred.hasPrefix(language.localeIdentifier) {
             return language
         }
@@ -195,7 +201,7 @@ private func translateTemplateNameByTokens(_ name: String, language: AppLanguage
     switch language {
     case .chineseSimplified, .chineseTraditional:
         return translated.joined()
-    case .arabic, .english, .french, .frenchCanada, .german, .korean, .portugueseBrazil, .russian, .spanish, .spanishMexico, .swedish:
+    case .arabic, .english, .french, .frenchCanada, .german, .korean, .portugueseBrazil, .russian, .spanish, .spanishMexico, .swedish, .vietnamese:
         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, .korean, .portugueseBrazil, .russian, .spanish, .spanishMexico, .swedish:
+            case .chineseTraditional, .chineseSimplified, .arabic, .french, .frenchCanada, .german, .korean, .portugueseBrazil, .russian, .spanish, .spanishMexico, .swedish, .vietnamese:
                 return spacingRule + " The app localizes these English keys client-side — do not use non-English script in `name`."
             }
         }

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

@@ -84,7 +84,7 @@ enum TemplateNameTokenLexicon {
             return fr
         case .swedish:
             return sv
-        case .korean, .portugueseBrazil, .russian, .spanish, .spanishMexico:
+        case .korean, .portugueseBrazil, .russian, .spanish, .spanishMexico, .vietnamese:
             return [:]
         }
     }

+ 372 - 0
App for Indeed/vi.lproj/Localizable.strings

@@ -0,0 +1,372 @@
+/* Localizable.strings (Tiếng Việt) */
+
+// MARK: - Chung
+"OK" = "Đồng ý";
+"Cancel" = "Hủy";
+"Delete" = "Xóa";
+"Remove" = "Gỡ bỏ";
+"Dismiss" = "Đóng";
+
+// MARK: - Màn hình Khởi động
+"AI-POWERED" = "ĐƯỢC HỖ TRỢ BỞI AI";
+"Find your perfect job with the power of AI." = "Tìm công việc hoàn hảo của bạn với sức mạnh của AI.";
+"Starting up…" = "Đang khởi động…";
+"Loading progress" = "Đang tải tiến trình";
+
+// MARK: - Trạng thái Khởi động
+"Checking your Pro subscription…" = "Đang kiểm tra gói đăng ký Chuyên nghiệp của bạn…";
+"Loading premium plans from the App Store…" = "Đang tải các gói cao cấp từ App Store…";
+"Preparing your job search workspace…" = "Đang chuẩn bị không gian tìm việc của bạn…";
+"Almost ready…" = "Sẵn sàng ngay thôi…";
+
+// MARK: - Thanh bên
+"Home" = "Trang chủ";
+"Saved Jobs" = "Việc làm đã lưu";
+"CV Maker" = "Tạo CV";
+"Profile" = "Hồ sơ";
+"Settings" = "Cài đặt";
+"Premium" = "Cao cấp";
+"Indeed" = "Indeed";
+"Open Indeed to search and apply for jobs" = "Mở Indeed để tìm kiếm và ứng tuyển việc làm";
+
+// MARK: - Bảng điều khiển / Trang chủ
+"Welcome" = "Chào mừng";
+"Send" = "Gửi";
+"Clear chat" = "Xóa trò chuyện";
+"Remove all messages and start a new conversation" = "Xóa tất cả tin nhắn và bắt đầu cuộc trò chuyện mới";
+"Ask for roles, skills, salary, or job descriptions..." = "Hỏi về vai trò, kỹ năng, mức lương hoặc mô tả công việc...";
+"Ask AI" = "Hỏi AI";
+"1 reply left" = "Còn 1 câu trả lời";
+"Apply" = "Ứng tuyển";
+"Save" = "Lưu";
+"Saved" = "Đã lưu";
+"Remove from saved" = "Xóa khỏi đã lưu";
+"Show more jobs" = "Hiển thị thêm việc làm";
+"This area is not available in the preview build. Use Home to search jobs." = "Khu vực này không khả dụng trong bản xem trước. Sử dụng Trang chủ để tìm kiếm việc làm.";
+"Save jobs from Home to see them here." = "Lưu việc làm từ Trang chủ để xem chúng ở đây.";
+"No saved jobs yet. Search on Home, then tap Save on a listing." = "Chưa có việc làm nào được lưu. Tìm kiếm trên Trang chủ, sau đó nhấn Lưu trên một tin tuyển dụng.";
+"Tell me what role you want and I will return job descriptions, key skills, and a quick fit summary." = "Hãy cho tôi biết vai trò bạn muốn và tôi sẽ trả về mô tả công việc, kỹ năng chính và bản tóm tắt mức độ phù hợp nhanh.";
+"1 saved position" = "1 vị trí đã lưu";
+"Delete this profile?" = "Xóa hồ sơ này?";
+"Find roles similar to: " = "Tìm vai trò tương tự như: ";
+"Find jobs at company: " = "Tìm việc làm tại công ty: ";
+"Find jobs that require skill: " = "Tìm việc làm yêu cầu kỹ năng: ";
+"match" = "kết quả phù hợp";
+"matches" = "kết quả phù hợp";
+
+// MARK: - Phím tắt Tính năng
+"Role" = "Vai trò";
+"Explore similar or better job roles" = "Khám phá vai trò công việc tương tự hoặc tốt hơn";
+"Company" = "Công ty";
+"Find opportunities at other companies" = "Tìm cơ hội tại các công ty khác";
+"Skill" = "Kỹ năng";
+"Match jobs that fit your skills" = "Ghép các công việc phù hợp với kỹ năng của bạn";
+
+// MARK: - Pro / Đăng ký
+"Upgrade to Pro" = "Nâng cấp lên Chuyên nghiệp";
+"You're on Pro" = "Bạn đang sử dụng gói Chuyên nghiệp";
+"Unlimited AI matches, smart alerts, and interview prep—all in one place." = "Kết quả phù hợp bằng AI không giới hạn, cảnh báo thông minh và chuẩn bị phỏng vấn — tất cả trong một nơi.";
+"Manage billing, renewals, and plans in Premium." = "Quản lý thanh toán, gia hạn và gói cước trong mục Cao cấp.";
+"Try Pro" = "Dùng thử Chuyên nghiệp";
+"Manage Subscription" = "Quản lý Đăng ký";
+"Premium Plans" = "Gói Cao cấp";
+"Unlock unlimited access to premium tools and boost your productivity." = "Mở khóa quyền truy cập không giới hạn vào các công cụ cao cấp và tăng năng suất của bạn.";
+"Continue with free plan" = "Tiếp tục với gói miễn phí";
+"Restore Purchase" = "Khôi phục Giao dịch";
+"You're subscribed" = "Bạn đã đăng ký";
+"Thank you — Pro features are now available." = "Cảm ơn bạn — Các tính năng Chuyên nghiệp hiện đã khả dụng.";
+"Pro" = "Chuyên nghiệp";
+"Purchases restored" = "Đã khôi phục giao dịch";
+"Your subscription is active." = "Đăng ký của bạn đang hoạt động.";
+"No subscription found" = "Không tìm thấy đăng ký nào";
+"There was nothing to restore for this Apple ID." = "Không có gì để khôi phục cho Apple ID này.";
+"Something went wrong" = "Đã xảy ra lỗi";
+"That subscription isn’t available from the App Store right now." = "Gói đăng ký đó hiện không khả dụng từ App Store.";
+"Unlimited AI job search on Home" = "Tìm kiếm việc làm bằng AI không giới hạn trên Trang chủ";
+"Save jobs & open listings in-app" = "Lưu việc làm và mở tin tuyển dụng trong ứng dụng";
+"CV Maker, profiles & PDF export" = "Tạo CV, hồ sơ và xuất PDF";
+"Role, company & skill shortcuts" = "Phím tắt vai trò, công ty và kỹ năng";
+
+// MARK: - Gói Thanh toán
+"Weekly" = "Hàng tuần";
+"Flexible and commitment-free" = "Linh hoạt và không cam kết";
+"Monthly" = "Hàng tháng";
+"Balanced for regular productivity" = "Cân bằng cho năng suất thường xuyên";
+"Yearly" = "Hàng năm";
+"Best value for long-term users" = "Giá trị tốt nhất cho người dùng lâu dài";
+"/ week" = "/ tuần";
+"/ month" = "/ tháng";
+"/ year" = "/ năm";
+"3 days free trial" = "Dùng thử 3 ngày miễn phí";
+"Perfect for short-term job hunts" = "Hoàn hảo cho việc tìm việc ngắn hạn";
+"Cancel anytime" = "Hủy bất cứ lúc nào";
+"Best for regular job seekers" = "Tốt nhất cho người tìm việc thường xuyên";
+"Priority support" = "Hỗ trợ ưu tiên";
+"Lowest effective monthly cost" = "Chi phí hàng tháng thực tế thấp nhất";
+"Ideal for long-term use" = "Lý tưởng cho sử dụng lâu dài";
+
+// MARK: - Tin cậy Thanh toán
+"Secure Payments" = "Thanh toán An toàn";
+"Your payment is 100% secure." = "Thanh toán của bạn được bảo mật 100%.";
+"Cancel Anytime" = "Hủy Bất cứ Lúc nào";
+"No commitment, cancel anytime." = "Không cam kết, hủy bất cứ lúc nào.";
+"24/7 Support" = "Hỗ trợ 24/7";
+"We're here to help you anytime." = "Chúng tôi luôn ở đây để giúp đỡ bạn.";
+"Privacy First" = "Quyền riêng tư Hàng đầu";
+"Your data is safe with us." = "Dữ liệu của bạn được an toàn với chúng tôi.";
+
+// MARK: - Cài đặt
+"Appearance" = "Giao diện";
+"Theme" = "Chủ đề";
+"Language" = "Ngôn ngữ";
+"Share App" = "Chia sẻ Ứng dụng";
+"More Apps" = "Thêm Ứng dụng";
+"About" = "Giới thiệu";
+"Website" = "Trang web";
+"Support" = "Hỗ trợ";
+"Terms of Use" = "Điều khoản Sử dụng";
+"Privacy Policy" = "Chính sách Quyền riêng tư";
+"System" = "Hệ thống";
+"Light" = "Sáng";
+"Dark" = "Tối";
+
+// MARK: - Hồ sơ
+"Profiles" = "Hồ sơ";
+"Add new profile" = "Thêm hồ sơ mới";
+"Create and manage CV profiles. Each profile stores your details on this Mac." = "Tạo và quản lý hồ sơ CV. Mỗi hồ sơ lưu trữ thông tin chi tiết của bạn trên Mac này.";
+"No profiles yet. Tap “Add new profile” to create your first one." = "Chưa có hồ sơ nào. Nhấn “Thêm hồ sơ mới” để tạo hồ sơ đầu tiên của bạn.";
+"Build CV" = "Tạo CV";
+"Edit" = "Chỉnh sửa";
+"Untitled profile" = "Hồ sơ chưa có tiêu đề";
+"No contact details yet" = "Chưa có thông tin liên hệ";
+"← Profiles" = "← Hồ sơ";
+
+// MARK: - Trình chỉnh sửa Hồ sơ
+"Save Profile  →" = "Lưu Hồ sơ →";
+"← All profiles" = "← Tất cả hồ sơ";
+"New profile" = "Hồ sơ mới";
+"Edit profile" = "Chỉnh sửa hồ sơ";
+"Profile Name *" = "Tên Hồ sơ *";
+"Marketing Director Profile" = "Hồ sơ Giám đốc Tiếp thị";
+"Personal Information" = "Thông tin Cá nhân";
+"Full Name *" = "Họ và Tên *";
+"John Doe" = "Nguyễn Văn A";
+"Email *" = "Email *";
+"john@example.com" = "nguyenvana@example.com";
+"Phone" = "Điện thoại";
+"+1 (555) 123-4567" = "+84 90 1234 567";
+"Job Title *" = "Chức danh *";
+"Software Engineer" = "Kỹ sư Phần mềm";
+"Address" = "Địa chỉ";
+"123 Main St, City, State, ZIP" = "123 Đường Lê Lợi, Quận 1, TP.HCM, 700000";
+"Certificates / Rewards" = "Chứng chỉ / Giải thưởng";
+"List your certificates and awards..." = "Liệt kê chứng chỉ và giải thưởng của bạn...";
+"Interests" = "Sở thích";
+"List your interests and hobbies..." = "Liệt kê sở thích và đam mê của bạn...";
+"Languages" = "Ngôn ngữ";
+"List languages you speak (e.g., English - Native, Spanish - Fluent)..." = "Liệt kê ngôn ngữ bạn nói (ví dụ: Tiếng Việt - Bản ngữ, Tiếng Anh - Thông thạo)...";
+"Career Summary" = "Tóm tắt Sự nghiệp";
+"Brief overview of your professional background and key achievements..." = "Tổng quan ngắn gọn về nền tảng chuyên môn và thành tựu chính của bạn...";
+"Referral (Optional)" = "Giới thiệu (Không bắt buộc)";
+"Referred by (Company/Person Name)" = "Được giới thiệu bởi (Tên Công ty/Người)";
+"If someone referred you for this job, enter their name or company here" = "Nếu ai đó giới thiệu bạn cho công việc này, hãy nhập tên hoặc công ty của họ tại đây";
+"Work Experience" = "Kinh nghiệm Làm việc";
+"Education" = "Học vấn";
+"+ Add Another" = "+ Thêm mục khác";
+"Complete required fields" = "Hoàn thành các trường bắt buộc";
+"Remove experience" = "Xóa kinh nghiệm";
+"Remove education" = "Xóa học vấn";
+"Company Name *" = "Tên Công ty *";
+"Duration *" = "Thời gian *";
+"Description" = "Mô tả";
+"e.g., Software Engineer" = "vd: Kỹ sư Phần mềm";
+"e.g., Google" = "vd: Google";
+"e.g., Jan 2020 - Present" = "vd: Thg1 2023 - Hiện tại";
+"Describe your responsibilities and achievements..." = "Mô tả trách nhiệm và thành tựu của bạn...";
+"Degree / program *" = "Bằng cấp / chương trình *";
+"Institution *" = "Tổ chức Giáo dục *";
+"Year *" = "Năm *";
+"e.g., BSc Computer Science" = "vd: Cử nhân Khoa học Máy tính";
+"e.g., MIT" = "vd: Đại học Bách khoa Hà Nội";
+"e.g., 2020" = "vd: 2023";
+"Profile name" = "Tên hồ sơ";
+"Full Name" = "Họ và tên";
+"Email" = "Email";
+"Job Title" = "Chức danh công việc";
+
+// MARK: - Tạo CV
+"Templates" = "Mẫu";
+"Polished layouts with live previews — pick a style that fits your story." = "Bố cục tinh tế với xem trước trực tiếp — chọn phong cách phù hợp với câu chuyện của bạn.";
+"Use Template & Select Profile  →" = "Sử dụng Mẫu & Chọn Hồ sơ →";
+"All" = "Tất cả";
+"No templates yet for this category." = "Chưa có mẫu nào cho danh mục này.";
+"Pick a template" = "Chọn một mẫu";
+"Select a template first, then choose a profile to continue." = "Chọn mẫu trước, sau đó chọn hồ sơ để tiếp tục.";
+"Fetching AI-curated templates…" = "Đang tải các mẫu do AI tuyển chọn…";
+"Couldn’t load AI templates — showing the built-in gallery." = "Không thể tải mẫu AI — hiển thị thư viện có sẵn.";
+"Design-Based" = "Dựa trên Thiết kế";
+"Profession-Based" = "Dựa trên Nghề nghiệp";
+"Professional" = "Chuyên nghiệp";
+"Modern" = "Hiện đại";
+"Creative" = "Sáng tạo";
+"Minimal" = "Tối giản";
+"Executive" = "Điều hành";
+"ATS layout" = "Bố cục ATS";
+"Sidebar left" = "Thanh bên trái";
+"Sidebar right" = "Thanh bên phải";
+
+// MARK: - Xem trước CV
+"CV preview" = "Xem trước CV";
+"Export PDF…" = "Xuất PDF…";
+"Layout matches the CV Maker thumbnail for this template. Export a PDF that matches what you see here (fonts, columns, colours, and rules)." = "Bố cục khớp với hình thu nhỏ của Trình tạo CV cho mẫu này. Xuất PDF khớp với những gì bạn thấy ở đây (phông chữ, cột, màu sắc và đường kẻ).";
+"The résumé could not be rendered to PDF (empty output). Try scrolling the preview so it lays out, then export again." = "Không thể kết xuất CV thành PDF (đầu ra trống). Thử cuộn trong phần xem trước để bố cục hiển thị, sau đó xuất lại.";
+"Couldn’t save PDF" = "Không thể lưu PDF";
+"Your name" = "Tên của bạn";
+"Professional headline" = "Tiêu đề chuyên môn";
+"Experience" = "Kinh nghiệm";
+"Highlights" = "Điểm nổi bật";
+"Summary" = "Tóm tắt";
+"Contact" = "Liên hệ";
+"Skills" = "Kỹ năng";
+"Tools" = "Công cụ";
+"Languages & more" = "Ngôn ngữ & hơn thế nữa";
+"Certificates" = "Chứng chỉ";
+"Referrals" = "Giới thiệu";
+"Professional Summary" = "Tóm tắt Chuyên môn";
+"Selected Experience" = "Kinh nghiệm Chọn lọc";
+"Core Competencies" = "Năng lực Cốt lõi";
+"Impact" = "Tác động";
+"Add contact in your profile" = "Thêm liên hệ trong hồ sơ của bạn";
+"Add contact details in your profile" = "Thêm thông tin liên hệ trong hồ sơ của bạn";
+"Add a career summary or interests in your profile to populate this column." = "Thêm tóm tắt sự nghiệp hoặc sở thích trong hồ sơ của bạn để điền vào cột này.";
+"CV" = "CV";
+"Open to relocation" = "Sẵn sàng di chuyển";
+"STRENGTHS" = "ĐIỂM MẠNH";
+"PORTFOLIO SNAPSHOT" = "ẢNH CHỤP NHANH DANH MỤC ĐẦU TƯ";
+"Close" = "Đóng";
+"/ day" = "/ ngày";
+"/ %d days" = "/ %d ngày";
+"/ %d weeks" = "/ %d tuần";
+"/ %d months" = "/ %d tháng";
+"/ %d years" = "/ %d năm";
+
+// MARK: - Tên Mẫu CV
+"Paper White" = "Trắng Giấy";
+"Swiss" = "Thụy Sĩ";
+"Mono" = "Mono";
+"Airy" = "Thoáng";
+"Tabular" = "Dạng bảng";
+"Facet" = "Khía cạnh";
+"Corporate" = "Doanh nghiệp";
+"Atlas" = "Atlas";
+"Ledger" = "Sổ cái";
+"Harbor" = "Bến cảng";
+"Clear Path" = "Đường Rõ ràng";
+"Pinstripe" = "Sọc dọc";
+"Briefing" = "Họp báo";
+"Quorum" = "Túc số";
+"Docket" = "Danh sách";
+"Conduit" = "Ống dẫn";
+"Principal" = "Chính";
+"Charter" = "Điều lệ";
+"Vertex" = "Đỉnh";
+"Linea" = "Đường kẻ";
+"Prism" = "Lăng kính";
+"Circuit" = "Mạch";
+"North" = "Bắc";
+"Axis" = "Trục";
+"Marigold" = "Cúc vạn thọ";
+"Ember" = "Than hồng";
+"Lattice" = "Mạng lưới";
+"Bloom" = "Nở hoa";
+"Studio" = "Studio";
+"Kite" = "Diều";
+"Regent" = "Nhiếp chính";
+"Monarch" = "Quân chủ";
+"Sterling" = "Đồng bảng Anh";
+"Summit" = "Đỉnh cao";
+"Estate" = "Điền sản";
+"Chairman" = "Chủ tịch";
+"Blue Ocean" = "Đại Dương Xanh";
+
+// MARK: - Nội dung Xem trước Demo CV
+"Sarah Johnson" = "Trần Thị Hương";
+"Senior Product Manager" = "Quản lý Sản phẩm Cao cấp";
+"Group PM, Consumer Growth & Activation" = "Trưởng nhóm PM, Tăng trưởng & Kích hoạt Người dùng";
+"Google · Mountain View, CA · 2019 – Present" = "Google · TP.HCM · 2019 – Hiện tại";
+"Stanford University" = "Đại học Quốc gia Hà Nội";
+"M.S. Management Science & Engineering" = "Thạc sĩ Khoa học Quản lý & Kỹ thuật";
+"2014 – 2016" = "2014 – 2016";
+"Mountain View, CA" = "TP. Hồ Chí Minh";
+"Product leader shipping roadmap, discovery, and analytics for high-scale consumer experiences." = "Trưởng nhóm sản phẩm cung cấp lộ trình, khám phá và phân tích cho trải nghiệm người dùng quy mô lớn.";
+"Defined multi-year platform strategy with exec stakeholders and quarterly OKRs." = "Đã xác định chiến lược nền tảng nhiều năm với các bên liên quan cấp cao và OKR hàng quý.";
+"Partnered with engineering and design to launch experiments improving activation by 12%." = "Hợp tác với bộ phận kỹ thuật và thiết kế để triển khai các thử nghiệm cải thiện tỷ lệ kích hoạt lên 12%.";
+"Stood up quarterly business reviews with finance and GTM, aligning spend to north-star metrics." = "Tổ chức đánh giá kinh doanh hàng quý với bộ phận tài chính và GTM, điều chỉnh chi tiêu theo các chỉ số cốt lõi.";
+"Presented roadmap shifts to the leadership team and translated trade-offs into clear investment asks." = "Trình bày những thay đổi về lộ trình cho nhóm lãnh đạo và chuyển đổi các sự đánh đổi thành yêu cầu đầu tư rõ ràng.";
+"Figma · SQL · Amplitude · Jira · BigQuery" = "Figma · SQL · Amplitude · Jira · BigQuery";
+"Product Strategy" = "Chiến lược Sản phẩm";
+"A/B Testing" = "Kiểm thử A/B";
+"Roadmapping" = "Lập Lộ trình";
+"CONTACT" = "LIÊN HỆ";
+"SKILLS" = "KỸ NĂNG";
+"PROFILE" = "HỒ SƠ";
+"EXPERIENCE" = "KINH NGHIỆM";
+"EDUCATION" = "HỌC VẤN";
+"SUMMARY" = "TÓM TẮT";
+"PROFESSIONAL SUMMARY" = "TÓM TẮT CHUYÊN MÔN";
+"SELECTED EXPERIENCE" = "KINH NGHIỆM CHỌN LỌC";
+"CORE COMPETENCIES" = "NĂNG LỰC CỐT LÕI";
+"TOOLS" = "CÔNG CỤ";
+"IMPACT" = "TÁC ĐỘNG";
+
+// MARK: - Trình duyệt Việc làm
+"Go to Indeed home" = "Đi tới trang chủ Indeed";
+
+// MARK: - Lỗi
+"We couldn't reach the server. Check your internet connection and try again." = "Không thể kết nối đến máy chủ. Hãy kiểm tra kết nối internet của bạn và thử lại.";
+"The search was cancelled. Try again when you're ready." = "Tìm kiếm đã bị hủy. Hãy thử lại khi bạn sẵn sàng.";
+"The request was cancelled. Try again when you're ready." = "Yêu cầu đã bị hủy. Hãy thử lại khi bạn sẵn sàng.";
+"Something went wrong while searching. Please try again in a moment." = "Đã xảy ra lỗi khi tìm kiếm. Vui lòng thử lại sau một lát.";
+"Job search is unavailable." = "Tìm kiếm việc làm hiện không khả dụng.";
+"We couldn't complete your purchase. Please try again." = "Không thể hoàn tất giao dịch của bạn. Vui lòng thử lại.";
+"We couldn't restore your purchases. Please try again." = "Không thể khôi phục giao dịch của bạn. Vui lòng thử lại.";
+"Purchase was cancelled." = "Giao dịch đã bị hủy.";
+"This subscription isn't available in your App Store region." = "Gói đăng ký này không khả dụng trong khu vực App Store của bạn.";
+"Purchases aren't allowed on this account or device." = "Giao dịch không được phép trên tài khoản hoặc thiết bị này.";
+"This introductory offer isn't available for your account." = "Ưu đãi giới thiệu này không khả dụng cho tài khoản của bạn.";
+"The purchase couldn't be verified. Please try again." = "Không thể xác minh giao dịch. Vui lòng thử lại.";
+"We couldn't save the PDF. Try again or choose a different folder." = "Không thể lưu PDF. Hãy thử lại hoặc chọn một thư mục khác.";
+"We don't have permission to save to that folder. Choose another location or grant access." = "Chúng tôi không có quyền lưu vào thư mục đó. Hãy chọn vị trí khác hoặc cấp quyền truy cập.";
+"This disk is read-only. Choose another folder to save your PDF." = "Ổ đĩa này chỉ đọc. Hãy chọn thư mục khác để lưu PDF của bạn.";
+"The disk is full. Free up space, then try again." = "Ổ đĩa đã đầy. Hãy giải phóng dung lượng, sau đó thử lại.";
+
+// MARK: - Cảnh báo
+"This profile will be removed from this Mac." = "Hồ sơ này sẽ bị xóa khỏi Mac này.";
+"Couldn't open Profile" = "Không thể mở Hồ sơ";
+"The Profile section isn't available right now. Try restarting the app." = "Phần Hồ sơ hiện không khả dụng. Hãy thử khởi động lại ứng dụng.";
+"No template selected" = "Chưa chọn mẫu";
+"Choose a template in CV Maker, then tap Use Template & Select Profile before Build CV." = "Chọn mẫu trong Tạo CV, sau đó nhấn Sử dụng Mẫu & Chọn Hồ sơ trước khi Tạo CV.";
+
+// MARK: - Tiêu đề Phần CV
+"About me" = "Giới thiệu";
+
+// MARK: - Chuỗi Định dạng
+"Loading %@" = "Đang tải %@";
+"Loading %@. %@" = "Đang tải %@. %@";
+"Starting %@…" = "Đang khởi động %@…";
+"%d replies left" = "Còn %d câu trả lời";
+"%d saved positions" = "%d vị trí đã lưu";
+"“%@” will be removed from this Mac." = "“%@” sẽ bị xóa khỏi Mac này.";
+"%@ isn’t available yet" = "%@ chưa khả dụng";
+"I couldn't find new matches for “%@”. Try a different angle or a more specific keyword." = "Tôi không thể tìm thấy kết quả phù hợp mới cho “%@”. Hãy thử cách tiếp cận khác hoặc từ khóa cụ thể hơn.";
+"No jobs found for “%@”. Try another title, skill, company, or location." = "Không tìm thấy việc làm nào cho “%@”. Hãy thử chức danh, kỹ năng, công ty hoặc địa điểm khác.";
+"Here are %d more %@ for “%@”." = "Đây là %d %@ nữa cho “%@”.";
+"Found %d %@ for “%@”. Tap Apply to open the listing or Save to revisit later." = "Đã tìm thấy %d %@ cho “%@”. Nhấn Ứng tuyển để mở tin tuyển dụng hoặc Lưu để xem lại sau.";
+"Get %@" = "Nhận %@";
+"You chose the “%@” template. Tap Build CV on a profile to preview your résumé with that layout." = "Bạn đã chọn mẫu “%@”. Nhấn Tạo CV trên một hồ sơ để xem trước CV của bạn với bố cục đó.";
+"Experience %d" = "Kinh nghiệm %d";
+"Education %d" = "Học vấn %d";
+"Please fill in: %@." = "Vui lòng điền: %@.";
+
+// MARK: - Nhiều dòng
+"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)" = "Thêm ID Mac App Store của bạn trong cài đặt bản dựng của mục tiêu:\n• AppStoreAppID — ID ứng dụng dạng số từ App Store Connect\n• AppStoreDeveloperID — ID nhà phát triển dạng số (cho trang ứng dụng khác của bạn)";