Преглед на файлове

Add Spanish (Mexico) localization and fill remaining UI string gaps.

Register es-MX in the language picker, add full Localizable.strings, translate PDF export copy, and split CV “About me” from Settings “About”.

Co-authored-by: Cursor <cursoragent@cursor.com>
AhtashamShahzad1 преди 1 месец
родител
ревизия
d1544b20e0

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

@@ -112,6 +112,7 @@
 				"pt-BR",
 				ru,
 				es,
+				"es-MX",
 			);
 			mainGroup = 27D852772FB1D367008DF557;
 			minimizedProjectReferenceProxies = 1;

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

@@ -21,6 +21,7 @@ enum AppLanguage: CaseIterable {
     case portugueseBrazil
     case russian
     case spanish
+    case spanishMexico
 
     var localeIdentifier: String {
         switch self {
@@ -48,6 +49,8 @@ enum AppLanguage: CaseIterable {
             return "ru"
         case .spanish:
             return "es"
+        case .spanishMexico:
+            return "es-MX"
         }
     }
 
@@ -91,6 +94,9 @@ enum AppLanguage: CaseIterable {
         if lower.hasPrefix("ru") {
             return .russian
         }
+        if lower.hasPrefix("es-mx") {
+            return .spanishMexico
+        }
         if lower.hasPrefix("es") {
             return .spanish
         }
@@ -189,7 +195,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, .swedish:
+    case .arabic, .english, .french, .frenchCanada, .german, .korean, .portugueseBrazil, .russian, .spanish, .spanishMexico, .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, .korean, .portugueseBrazil, .russian, .spanish, .swedish:
+            case .chineseTraditional, .chineseSimplified, .arabic, .french, .frenchCanada, .german, .korean, .portugueseBrazil, .russian, .spanish, .spanishMexico, .swedish:
                 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:
+        case .korean, .portugueseBrazil, .russian, .spanish, .spanishMexico:
             return [:]
         }
     }

+ 3 - 3
App for Indeed/Views/CVProfileDocumentView.swift

@@ -506,7 +506,7 @@ final class CVProfileDocumentView: NSView {
         v.alignment = .leading
 
         if includeSummaryInMain, let summary = nonEmpty(profile.careerSummary) {
-            v.addArrangedSubview(modernSectionRow(symbol: "person.crop.circle", title: L("About"), theme: theme))
+            v.addArrangedSubview(modernSectionRow(symbol: "person.crop.circle", title: L("About me"), theme: theme))
             v.addArrangedSubview(paragraph(summary, compact: compact))
         }
 
@@ -547,7 +547,7 @@ final class CVProfileDocumentView: NSView {
         }
 
         if let summary = nonEmpty(profile.careerSummary) {
-            box.addArrangedSubview(modernSectionRow(symbol: "person.crop.circle", title: L("About"), theme: theme))
+            box.addArrangedSubview(modernSectionRow(symbol: "person.crop.circle", title: L("About me"), theme: theme))
             box.addArrangedSubview(paragraph(summary, compact: true))
         }
         if let hi = highlightsBodyText() {
@@ -555,7 +555,7 @@ final class CVProfileDocumentView: NSView {
             box.addArrangedSubview(paragraph(hi, compact: true))
         }
         if box.arrangedSubviews.isEmpty {
-            box.addArrangedSubview(modernSectionRow(symbol: "person.crop.circle", title: L("About"), theme: theme))
+            box.addArrangedSubview(modernSectionRow(symbol: "person.crop.circle", title: L("About me"), theme: theme))
             box.addArrangedSubview(paragraph(L("Add a career summary or interests in your profile to populate this column."), compact: true))
         }
         return box

+ 1 - 1
App for Indeed/Views/CVTemplateMiniPreview.swift

@@ -495,7 +495,7 @@ final class CVTemplatePreviewView: NSView {
             box.layer?.cornerRadius = 4
         }
         box.edgeInsets = NSEdgeInsets(top: 4, left: 4, bottom: 4, right: 4)
-        box.addArrangedSubview(modernSectionRow(symbol: "person.crop.circle", title: L("About"), theme: theme))
+        box.addArrangedSubview(modernSectionRow(symbol: "person.crop.circle", title: L("About me"), theme: theme))
         box.addArrangedSubview(makeLabel(CVPreviewDemoContent.summary, font: .systemFont(ofSize: 6), color: palette.previewInk, alignment: .left, maxLines: 4))
         box.addArrangedSubview(modernSectionRow(symbol: "star.fill", title: L("Highlights"), theme: theme))
         box.addArrangedSubview(makeLabel(CVPreviewDemoContent.careerHighlights, font: .systemFont(ofSize: 6), color: palette.previewMuted, alignment: .left, maxLines: 3))

+ 7 - 0
App for Indeed/en.lproj/Localizable.strings

@@ -342,6 +342,13 @@
 
 // MARK: - Alerts
 "This profile will be removed from this Mac." = "This profile will be removed from this Mac.";
+"Couldn't open Profile" = "Couldn't open Profile";
+"The Profile section isn't available right now. Try restarting the app." = "The Profile section isn't available right now. Try restarting the app.";
+"No template selected" = "No template selected";
+"Choose a template in CV Maker, then tap Use Template & Select Profile before Build CV." = "Choose a template in CV Maker, then tap Use Template & Select Profile before Build CV.";
+
+// MARK: - CV Section Headings
+"About me" = "About me";
 
 // MARK: - Format Strings
 "Loading %@" = "Loading %@";

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

@@ -0,0 +1,372 @@
+/* Localizable.strings (Spanish - Mexico) */
+
+// MARK: - General
+"OK" = "Aceptar";
+"Cancel" = "Cancelar";
+"Delete" = "Eliminar";
+"Remove" = "Quitar";
+"Dismiss" = "Descartar";
+
+// MARK: - Pantalla de Inicio
+"AI-POWERED" = "IMPULSADO POR IA";
+"Find your perfect job with the power of AI." = "Encuentra tu trabajo perfecto con el poder de la IA.";
+"Starting up…" = "Iniciando…";
+"Loading progress" = "Cargando progreso";
+
+// MARK: - Estado de Inicio
+"Checking your Pro subscription…" = "Revisando tu suscripción Pro…";
+"Loading premium plans from the App Store…" = "Cargando planes premium desde la App Store…";
+"Preparing your job search workspace…" = "Preparando tu espacio de búsqueda de empleo…";
+"Almost ready…" = "Casi listo…";
+
+// MARK: - Barra Lateral
+"Home" = "Inicio";
+"Saved Jobs" = "Empleos Guardados";
+"CV Maker" = "Creador de CV";
+"Profile" = "Perfil";
+"Settings" = "Configuración";
+"Premium" = "Premium";
+"Indeed" = "Indeed";
+"Open Indeed to search and apply for jobs" = "Abre Indeed para buscar y postularte a empleos";
+
+// MARK: - Tablero / Inicio
+"Welcome" = "Bienvenido";
+"Send" = "Enviar";
+"Clear chat" = "Limpiar chat";
+"Remove all messages and start a new conversation" = "Borrar todos los mensajes y comenzar una conversación nueva";
+"Ask for roles, skills, salary, or job descriptions..." = "Pregunta sobre puestos, habilidades, salario o descripciones de empleo...";
+"Ask AI" = "Preguntar a la IA";
+"1 reply left" = "1 respuesta restante";
+"Apply" = "Postularse";
+"Save" = "Guardar";
+"Saved" = "Guardado";
+"Remove from saved" = "Quitar de guardados";
+"Show more jobs" = "Mostrar más empleos";
+"This area is not available in the preview build. Use Home to search jobs." = "Esta área no está disponible en la versión de vista previa. Usa Inicio para buscar empleos.";
+"Save jobs from Home to see them here." = "Guarda empleos desde Inicio para verlos aquí.";
+"No saved jobs yet. Search on Home, then tap Save on a listing." = "Aún no hay empleos guardados. Busca en Inicio y luego presiona Guardar en un anuncio.";
+"Tell me what role you want and I will return job descriptions, key skills, and a quick fit summary." = "Dime qué puesto quieres y te devolveré descripciones de empleo, habilidades clave y un resumen rápido de compatibilidad.";
+"1 saved position" = "1 puesto guardado";
+"Delete this profile?" = "¿Eliminar este perfil?";
+"Find roles similar to: " = "Encontrar puestos similares a: ";
+"Find jobs at company: " = "Encontrar empleos en la empresa: ";
+"Find jobs that require skill: " = "Encontrar empleos que requieran la habilidad: ";
+"match" = "coincidencia";
+"matches" = "coincidencias";
+
+// MARK: - Atajos de Funciones
+"Role" = "Puesto";
+"Explore similar or better job roles" = "Explorar puestos similares o mejores";
+"Company" = "Empresa";
+"Find opportunities at other companies" = "Encontrar oportunidades en otras empresas";
+"Skill" = "Habilidad";
+"Match jobs that fit your skills" = "Emparejar empleos que se ajusten a tus habilidades";
+
+// MARK: - Pro / Suscripción
+"Upgrade to Pro" = "Actualizar a Pro";
+"You're on Pro" = "Estás en Pro";
+"Unlimited AI matches, smart alerts, and interview prep—all in one place." = "Coincidencias de IA ilimitadas, alertas inteligentes y preparación para entrevistas, todo en un solo lugar.";
+"Manage billing, renewals, and plans in Premium." = "Administra facturación, renovaciones y planes en Premium.";
+"Try Pro" = "Probar Pro";
+"Manage Subscription" = "Administrar Suscripción";
+"Premium Plans" = "Planes Premium";
+"Unlock unlimited access to premium tools and boost your productivity." = "Desbloquea acceso ilimitado a herramientas premium y aumenta tu productividad.";
+"Continue with free plan" = "Continuar con plan gratuito";
+"Restore Purchase" = "Restaurar Compra";
+"You're subscribed" = "Estás suscrito";
+"Thank you — Pro features are now available." = "Gracias — las funciones Pro ya están disponibles.";
+"Pro" = "Pro";
+"Purchases restored" = "Compras restauradas";
+"Your subscription is active." = "Tu suscripción está activa.";
+"No subscription found" = "No se encontró ninguna suscripción";
+"There was nothing to restore for this Apple ID." = "No había nada que restaurar para este Apple ID.";
+"Something went wrong" = "Algo salió mal";
+"That subscription isn’t available from the App Store right now." = "Esa suscripción no está disponible en la App Store en este momento.";
+"Unlimited AI job search on Home" = "Búsqueda de empleo con IA ilimitada en Inicio";
+"Save jobs & open listings in-app" = "Guardar empleos y abrir anuncios dentro de la app";
+"CV Maker, profiles & PDF export" = "Creador de CV, perfiles y exportación de documentos";
+"Role, company & skill shortcuts" = "Atajos de puesto, empresa y habilidad";
+
+// MARK: - Planes de Pago
+"Weekly" = "Semanal";
+"Flexible and commitment-free" = "Flexible y sin compromiso";
+"Monthly" = "Mensual";
+"Balanced for regular productivity" = "Equilibrado para productividad regular";
+"Yearly" = "Anual";
+"Best value for long-term users" = "Mejor valor para usuarios de largo plazo";
+"/ week" = "/ semana";
+"/ month" = "/ mes";
+"/ year" = "/ año";
+"3 days free trial" = "3 días de prueba gratis";
+"Perfect for short-term job hunts" = "Perfecto para búsquedas de empleo de corto plazo";
+"Cancel anytime" = "Cancela cuando quieras";
+"Best for regular job seekers" = "Ideal para buscadores de empleo habituales";
+"Priority support" = "Soporte prioritario";
+"Lowest effective monthly cost" = "Costo mensual efectivo más bajo";
+"Ideal for long-term use" = "Ideal para uso prolongado";
+
+// MARK: - Confianza en el Pago
+"Secure Payments" = "Pagos Seguros";
+"Your payment is 100% secure." = "Tu pago es 100% seguro.";
+"Cancel Anytime" = "Cancela Cuando Quieras";
+"No commitment, cancel anytime." = "Sin compromiso, cancela cuando quieras.";
+"24/7 Support" = "Soporte 24/7";
+"We're here to help you anytime." = "Estamos aquí para ayudarte en todo momento.";
+"Privacy First" = "Privacidad Primero";
+"Your data is safe with us." = "Tus datos están seguros con nosotros.";
+
+// MARK: - Configuración
+"Appearance" = "Apariencia";
+"Theme" = "Tema";
+"Language" = "Idioma";
+"Share App" = "Compartir App";
+"More Apps" = "Más Apps";
+"About" = "Acerca de";
+"Website" = "Sitio web";
+"Support" = "Soporte";
+"Terms of Use" = "Términos de Uso";
+"Privacy Policy" = "Política de Privacidad";
+"System" = "Sistema";
+"Light" = "Claro";
+"Dark" = "Oscuro";
+
+// MARK: - Perfiles
+"Profiles" = "Perfiles";
+"Add new profile" = "Agregar nuevo perfil";
+"Create and manage CV profiles. Each profile stores your details on this Mac." = "Crea y administra perfiles de CV. Cada perfil guarda tus datos en esta Mac.";
+"No profiles yet. Tap “Add new profile” to create your first one." = "Aún no hay perfiles. Presiona “Agregar nuevo perfil” para crear el primero.";
+"Build CV" = "Crear CV";
+"Edit" = "Editar";
+"Untitled profile" = "Perfil sin título";
+"No contact details yet" = "Aún no hay datos de contacto";
+"← Profiles" = "← Perfiles";
+
+// MARK: - Editor de Perfil
+"Save Profile  →" = "Guardar Perfil →";
+"← All profiles" = "← Todos los perfiles";
+"New profile" = "Nuevo perfil";
+"Edit profile" = "Editar perfil";
+"Profile Name *" = "Nombre del Perfil *";
+"Marketing Director Profile" = "Perfil de Director de Marketing";
+"Personal Information" = "Información Personal";
+"Full Name *" = "Nombre Completo *";
+"John Doe" = "Juan Pérez";
+"Email *" = "Correo electrónico *";
+"john@example.com" = "juan@ejemplo.com.mx";
+"Phone" = "Teléfono";
+"+1 (555) 123-4567" = "+52 55 1234 5678";
+"Job Title *" = "Puesto *";
+"Software Engineer" = "Ingeniero de Software";
+"Address" = "Dirección";
+"123 Main St, City, State, ZIP" = "Av. Reforma 123, Ciudad de México, CDMX, 06500";
+"Certificates / Rewards" = "Certificados / Premios";
+"List your certificates and awards..." = "Enumera tus certificados y premios...";
+"Interests" = "Intereses";
+"List your interests and hobbies..." = "Enumera tus intereses y pasatiempos...";
+"Languages" = "Idiomas";
+"List languages you speak (e.g., English - Native, Spanish - Fluent)..." = "Enumera los idiomas que hablas (ej. Español - Nativo, Inglés - Fluido)...";
+"Career Summary" = "Resumen Profesional";
+"Brief overview of your professional background and key achievements..." = "Breve resumen de tu trayectoria profesional y logros clave...";
+"Referral (Optional)" = "Recomendación (Opcional)";
+"Referred by (Company/Person Name)" = "Recomendado por (Nombre de Empresa/Persona)";
+"If someone referred you for this job, enter their name or company here" = "Si alguien te recomendó para este puesto, ingresa su nombre o empresa aquí";
+"Work Experience" = "Experiencia Laboral";
+"Education" = "Educación";
+"+ Add Another" = "+ Agregar otro";
+"Complete required fields" = "Completa los campos obligatorios";
+"Remove experience" = "Eliminar experiencia";
+"Remove education" = "Eliminar educación";
+"Company Name *" = "Nombre de la Empresa *";
+"Duration *" = "Duración *";
+"Description" = "Descripción";
+"e.g., Software Engineer" = "ej. Ingeniero de Software";
+"e.g., Google" = "ej. Google";
+"e.g., Jan 2020 - Present" = "ej. Ene 2023 - Actualidad";
+"Describe your responsibilities and achievements..." = "Describe tus responsabilidades y logros...";
+"Degree / program *" = "Título / programa *";
+"Institution *" = "Institución *";
+"Year *" = "Año *";
+"e.g., BSc Computer Science" = "ej. Licenciatura en Ciencias de la Computación";
+"e.g., MIT" = "ej. UNAM";
+"e.g., 2020" = "ej. 2023";
+"Profile name" = "Nombre del perfil";
+"Full Name" = "Nombre completo";
+"Email" = "Correo electrónico";
+"Job Title" = "Puesto";
+
+// MARK: - Creador de CV
+"Templates" = "Plantillas";
+"Polished layouts with live previews — pick a style that fits your story." = "Diseños pulidos con vista previa en vivo — elige un estilo que se ajuste a tu historia.";
+"Use Template & Select Profile  →" = "Usar Plantilla y Seleccionar Perfil →";
+"All" = "Todos";
+"No templates yet for this category." = "Aún no hay plantillas para esta categoría.";
+"Pick a template" = "Elige una plantilla";
+"Select a template first, then choose a profile to continue." = "Selecciona primero una plantilla, luego elige un perfil para continuar.";
+"Fetching AI-curated templates…" = "Cargando plantillas seleccionadas por IA…";
+"Couldn’t load AI templates — showing the built-in gallery." = "No se pudieron cargar las plantillas de IA — mostrando la galería integrada.";
+"Design-Based" = "Basado en Diseño";
+"Profession-Based" = "Basado en Profesión";
+"Professional" = "Profesional";
+"Modern" = "Moderno";
+"Creative" = "Creativo";
+"Minimal" = "Minimalista";
+"Executive" = "Ejecutivo";
+"ATS layout" = "Diseño ATS";
+"Sidebar left" = "Barra lateral izquierda";
+"Sidebar right" = "Barra lateral derecha";
+
+// MARK: - Vista Previa del CV
+"CV preview" = "Vista previa del CV";
+"Export PDF…" = "Exportar documento…";
+"Layout matches the CV Maker thumbnail for this template. Export a PDF that matches what you see here (fonts, columns, colours, and rules)." = "El diseño coincide con la miniatura del Creador de CV para esta plantilla. Exporta un documento que coincida con lo que ves aquí (fuentes, columnas, colores y líneas).";
+"The résumé could not be rendered to PDF (empty output). Try scrolling the preview so it lays out, then export again." = "No se pudo convertir el CV a documento (salida vacía). Intenta desplazar la vista previa para que se organice y luego exporta de nuevo.";
+"Couldn’t save PDF" = "No se pudo guardar el documento";
+"Your name" = "Tu nombre";
+"Professional headline" = "Título profesional";
+"Experience" = "Experiencia";
+"Highlights" = "Aspectos destacados";
+"Summary" = "Resumen";
+"Contact" = "Contacto";
+"Skills" = "Habilidades";
+"Tools" = "Herramientas";
+"Languages & more" = "Idiomas y más";
+"Certificates" = "Certificados";
+"Referrals" = "Recomendaciones";
+"Professional Summary" = "Resumen Profesional";
+"Selected Experience" = "Experiencia Seleccionada";
+"Core Competencies" = "Competencias Clave";
+"Impact" = "Impacto";
+"Add contact in your profile" = "Agrega contacto en tu perfil";
+"Add contact details in your profile" = "Agrega datos de contacto en tu perfil";
+"Add a career summary or interests in your profile to populate this column." = "Agrega un resumen profesional o intereses en tu perfil para llenar esta columna.";
+"CV" = "CV";
+"Open to relocation" = "Disponible para reubicación";
+"STRENGTHS" = "FORTALEZAS";
+"PORTFOLIO SNAPSHOT" = "VISTAZO AL PORTFOLIO";
+"Close" = "Cerrar";
+"/ day" = "/ día";
+"/ %d days" = "/ %d días";
+"/ %d weeks" = "/ %d semanas";
+"/ %d months" = "/ %d meses";
+"/ %d years" = "/ %d años";
+
+// MARK: - Nombres de Plantillas de CV
+"Paper White" = "Blanco Papel";
+"Swiss" = "Suizo";
+"Mono" = "Mono";
+"Airy" = "Aireado";
+"Tabular" = "Tabular";
+"Facet" = "Faceta";
+"Corporate" = "Corporativo";
+"Atlas" = "Atlas";
+"Ledger" = "Registro";
+"Harbor" = "Puerto";
+"Clear Path" = "Camino Claro";
+"Pinstripe" = "Rayas Finas";
+"Briefing" = "Informe";
+"Quorum" = "Quórum";
+"Docket" = "Expediente";
+"Conduit" = "Conducto";
+"Principal" = "Principal";
+"Charter" = "Carta";
+"Vertex" = "Vértice";
+"Linea" = "Línea";
+"Prism" = "Prisma";
+"Circuit" = "Circuito";
+"North" = "Norte";
+"Axis" = "Eje";
+"Marigold" = "Cempasúchil";
+"Ember" = "Brasa";
+"Lattice" = "Enrejado";
+"Bloom" = "Floración";
+"Studio" = "Estudio";
+"Kite" = "Cometa";
+"Regent" = "Regente";
+"Monarch" = "Monarca";
+"Sterling" = "Esterlina";
+"Summit" = "Cumbre";
+"Estate" = "Finca";
+"Chairman" = "Presidente";
+"Blue Ocean" = "Océano Azul";
+
+// MARK: - Contenido de Demostración del CV
+"Sarah Johnson" = "Sofía Martínez";
+"Senior Product Manager" = "Gerente de Producto Senior";
+"Group PM, Consumer Growth & Activation" = "Gerente de Producto de Grupo, Crecimiento y Activación de Consumidores";
+"Google · Mountain View, CA · 2019 – Present" = "Google · Ciudad de México · 2019 – Actualidad";
+"Stanford University" = "Universidad Nacional Autónoma de México";
+"M.S. Management Science & Engineering" = "Maestría en Ciencias de la Gestión e Ingeniería";
+"2014 – 2016" = "2014 – 2016";
+"Mountain View, CA" = "Ciudad de México";
+"Product leader shipping roadmap, discovery, and analytics for high-scale consumer experiences." = "Líder de producto que entrega hoja de ruta, descubrimiento y análisis para experiencias de consumo a gran escala.";
+"Defined multi-year platform strategy with exec stakeholders and quarterly OKRs." = "Definió la estrategia de plataforma plurianual con partes interesadas ejecutivas y OKRs trimestrales.";
+"Partnered with engineering and design to launch experiments improving activation by 12%." = "Colaboró con ingeniería y diseño para lanzar experimentos que mejoraron la activación en un 12%.";
+"Stood up quarterly business reviews with finance and GTM, aligning spend to north-star metrics." = "Estableció revisiones trimestrales de negocio con finanzas y GTM, alineando el gasto con métricas clave.";
+"Presented roadmap shifts to the leadership team and translated trade-offs into clear investment asks." = "Presentó cambios en la hoja de ruta al equipo de liderazgo y tradujo las compensaciones en solicitudes de inversión claras.";
+"Figma · SQL · Amplitude · Jira · BigQuery" = "Figma · SQL · Amplitude · Jira · BigQuery";
+"Product Strategy" = "Estrategia de Producto";
+"A/B Testing" = "Pruebas A/B";
+"Roadmapping" = "Planificación de hoja de ruta";
+"CONTACT" = "CONTACTO";
+"SKILLS" = "HABILIDADES";
+"PROFILE" = "PERFIL";
+"EXPERIENCE" = "EXPERIENCIA";
+"EDUCATION" = "EDUCACIÓN";
+"SUMMARY" = "RESUMEN";
+"PROFESSIONAL SUMMARY" = "RESUMEN PROFESIONAL";
+"SELECTED EXPERIENCE" = "EXPERIENCIA SELECCIONADA";
+"CORE COMPETENCIES" = "COMPETENCIAS CLAVE";
+"TOOLS" = "HERRAMIENTAS";
+"IMPACT" = "IMPACTO";
+
+// MARK: - Navegador de Empleos
+"Go to Indeed home" = "Ir al inicio de Indeed";
+
+// MARK: - Errores
+"We couldn't reach the server. Check your internet connection and try again." = "No se pudo conectar con el servidor. Revisa tu conexión a internet e inténtalo de nuevo.";
+"The search was cancelled. Try again when you're ready." = "La búsqueda fue cancelada. Inténtalo de nuevo cuando estés listo.";
+"The request was cancelled. Try again when you're ready." = "La solicitud fue cancelada. Inténtalo de nuevo cuando estés listo.";
+"Something went wrong while searching. Please try again in a moment." = "Algo salió mal durante la búsqueda. Por favor, inténtalo de nuevo en un momento.";
+"Job search is unavailable." = "La búsqueda de empleo no está disponible.";
+"We couldn't complete your purchase. Please try again." = "No se pudo completar tu compra. Por favor, inténtalo de nuevo.";
+"We couldn't restore your purchases. Please try again." = "No se pudieron restaurar tus compras. Por favor, inténtalo de nuevo.";
+"Purchase was cancelled." = "La compra fue cancelada.";
+"This subscription isn't available in your App Store region." = "Esta suscripción no está disponible en tu región de la App Store.";
+"Purchases aren't allowed on this account or device." = "Las compras no están permitidas en esta cuenta o dispositivo.";
+"This introductory offer isn't available for your account." = "Esta oferta introductoria no está disponible para tu cuenta.";
+"The purchase couldn't be verified. Please try again." = "No se pudo verificar la compra. Por favor, inténtalo de nuevo.";
+"We couldn't save the PDF. Try again or choose a different folder." = "No se pudo guardar el documento. Inténtalo de nuevo o elige una carpeta diferente.";
+"We don't have permission to save to that folder. Choose another location or grant access." = "No tenemos permiso para guardar en esa carpeta. Elige otra ubicación o concede acceso.";
+"This disk is read-only. Choose another folder to save your PDF." = "Este disco es de solo lectura. Elige otra carpeta para guardar tu documento.";
+"The disk is full. Free up space, then try again." = "El disco está lleno. Libera espacio y luego inténtalo de nuevo.";
+
+// MARK: - Alertas
+"This profile will be removed from this Mac." = "Este perfil será eliminado de esta Mac.";
+"Couldn't open Profile" = "No se pudo abrir Perfil";
+"The Profile section isn't available right now. Try restarting the app." = "La sección Perfil no está disponible en este momento. Intenta reiniciar la app.";
+"No template selected" = "Ninguna plantilla seleccionada";
+"Choose a template in CV Maker, then tap Use Template & Select Profile before Build CV." = "Elige una plantilla en Creador de CV, luego presiona Usar Plantilla y Seleccionar Perfil antes de Crear CV.";
+
+// MARK: - Encabezados de Secciones del CV
+"About me" = "Sobre mí";
+
+// MARK: - Cadenas de Formato
+"Loading %@" = "Cargando %@";
+"Loading %@. %@" = "Cargando %@. %@";
+"Starting %@…" = "Iniciando %@…";
+"%d replies left" = "%d respuestas restantes";
+"%d saved positions" = "%d puestos guardados";
+"“%@” will be removed from this Mac." = "“%@” será eliminado de esta Mac.";
+"%@ isn’t available yet" = "%@ aún no está disponible";
+"I couldn't find new matches for “%@”. Try a different angle or a more specific keyword." = "No pude encontrar nuevas coincidencias para “%@”. Prueba desde otro ángulo o con una palabra clave más específica.";
+"No jobs found for “%@”. Try another title, skill, company, or location." = "No se encontraron empleos para “%@”. Prueba otro título, habilidad, empresa o ubicación.";
+"Here are %d more %@ for “%@”." = "Aquí tienes %d %@ más para “%@”.";
+"Found %d %@ for “%@”. Tap Apply to open the listing or Save to revisit later." = "Se encontraron %d %@ para “%@”. Presiona Postularse para abrir el anuncio o Guardar para revisarlo después.";
+"Get %@" = "Obtener %@";
+"You chose the “%@” template. Tap Build CV on a profile to preview your résumé with that layout." = "Elegiste la plantilla “%@”. Presiona Crear CV en un perfil para previsualizar tu currículum con ese diseño.";
+"Experience %d" = "Experiencia %d";
+"Education %d" = "Educación %d";
+"Please fill in: %@." = "Por favor, completa: %@.";
+
+// MARK: - Multilínea
+"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)" = "Agrega tus IDs de Mac App Store en la configuración de compilación del destino:\n• AppStoreAppID — ID numérico de la app desde App Store Connect\n• AppStoreDeveloperID — ID numérico del desarrollador (para tu página de otras apps)";

+ 7 - 0
App for Indeed/es.lproj/Localizable.strings

@@ -342,6 +342,13 @@
 
 // MARK: - Alertas
 "This profile will be removed from this Mac." = "Este perfil será eliminado de este Mac.";
+"Couldn't open Profile" = "No se ha podido abrir Perfil";
+"The Profile section isn't available right now. Try restarting the app." = "La sección Perfil no está disponible en este momento. Prueba a reiniciar la aplicación.";
+"No template selected" = "Ninguna plantilla seleccionada";
+"Choose a template in CV Maker, then tap Use Template & Select Profile before Build CV." = "Elige una plantilla en Creador de CV, luego pulsa Usar Plantilla y Seleccionar Perfil antes de Crear CV.";
+
+// MARK: - Encabezados de secciones del CV
+"About me" = "Sobre mí";
 
 // MARK: - Cadenas de Formato
 "Loading %@" = "Cargando %@";