diff --git a/package-lock.json b/package-lock.json index 7c395791..81190338 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,9 +11,11 @@ "@stripe/stripe-js": "^5.5.0", "firebase": "^11.10.0", "framer-motion": "^11.18.2", + "i18next": "^26.0.8", "kalidokit": "^1.1.5", "react": "18.3.1", "react-dom": "18.3.1", + "react-i18next": "^17.0.6", "three": "^0.183.2" }, "devDependencies": { @@ -263,6 +265,15 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/runtime": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz", + "integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/template": { "version": "7.28.6", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", @@ -2690,12 +2701,49 @@ "dev": true, "license": "ISC" }, + "node_modules/html-parse-stringify": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz", + "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==", + "license": "MIT", + "dependencies": { + "void-elements": "3.1.0" + } + }, "node_modules/http-parser-js": { "version": "0.5.10", "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz", "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==", "license": "MIT" }, + "node_modules/i18next": { + "version": "26.0.8", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-26.0.8.tgz", + "integrity": "sha512-BRzLom0mhDhV9v0QhgUUHWQJuwFmnr1194xEcNLYD6ym8y8s542n4jXUvRLnhNTbh9PmpU6kGZamyuGHQMsGjw==", + "funding": [ + { + "type": "individual", + "url": "https://www.locize.com/i18next" + }, + { + "type": "individual", + "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" + }, + { + "type": "individual", + "url": "https://www.locize.com" + } + ], + "license": "MIT", + "peerDependencies": { + "typescript": "^5 || ^6" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/idb": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", @@ -3217,6 +3265,33 @@ "react": "^18.3.1" } }, + "node_modules/react-i18next": { + "version": "17.0.6", + "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-17.0.6.tgz", + "integrity": "sha512-WzJ6SMKF+GTD7JZZqxSR1AKKmXjaSu39sClUrNlwxS4Tl7a99O+ltFy6yhPMO+wgZuxpQjJ2PZkfrQKmAqrLhw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "html-parse-stringify": "^3.0.1", + "use-sync-external-store": "^1.6.0" + }, + "peerDependencies": { + "i18next": ">= 26.0.1", + "react": ">= 16.8.0", + "typescript": "^5 || ^6" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, "node_modules/react-refresh": { "version": "0.18.0", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.18.0.tgz", @@ -3410,7 +3485,7 @@ "version": "5.9.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", - "dev": true, + "devOptional": true, "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", @@ -3457,6 +3532,15 @@ "browserslist": ">= 4.21.0" } }, + "node_modules/use-sync-external-store": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", + "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, "node_modules/vite": { "version": "7.3.2", "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.2.tgz", @@ -3532,6 +3616,15 @@ } } }, + "node_modules/void-elements": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", + "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/web-vitals": { "version": "4.2.4", "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-4.2.4.tgz", diff --git a/package.json b/package.json index 9ee33997..a636f163 100644 --- a/package.json +++ b/package.json @@ -19,9 +19,11 @@ "@stripe/stripe-js": "^5.5.0", "firebase": "^11.10.0", "framer-motion": "^11.18.2", + "i18next": "^26.0.8", "kalidokit": "^1.1.5", "react": "18.3.1", "react-dom": "18.3.1", + "react-i18next": "^17.0.6", "three": "^0.183.2" }, "devDependencies": { diff --git a/src/i18n.ts b/src/i18n.ts new file mode 100644 index 00000000..095ef7bb --- /dev/null +++ b/src/i18n.ts @@ -0,0 +1,25 @@ +import i18n from 'i18next'; +import { initReactI18next } from 'react-i18next'; + +import translationEN from './locales/en/translation.json'; +import translationFR from './locales/fr/translation.json'; +import translationES from './locales/es/translation.json'; + +const resources = { + en: { translation: translationEN }, + fr: { translation: translationFR }, + es: { translation: translationES } +}; + +i18n + .use(initReactI18next) + .init({ + resources, + lng: 'fr', // Fuerza el francés como idioma de entrada para el piloto + fallbackLng: 'en', // Sistema de respaldo en inglés + interpolation: { + escapeValue: false // React ya protege contra XSS + } + }); + +export default i18n; diff --git a/src/locales/en/translation.json b/src/locales/en/translation.json new file mode 100644 index 00000000..a7cd7332 --- /dev/null +++ b/src/locales/en/translation.json @@ -0,0 +1,186 @@ +{ + "localeLabel": "Language", + "nav": { + "home": "Home", + "technology": "Technology", + "solutions": "Solutions", + "pilots": "Pilots", + "about": "About us", + "legal": "Legal", + "demo": "Request a demo" + }, + "hero": { + "title": "Virtual try-on that reduces returns and increases conversion.", + "lead": "TRYONYOU helps fashion retailers show the right fit on the customer's real body through a digital twin, precise sizing intelligence and realistic garment simulation.", + "cta": "Request a demo", + "trustStrip": [ + "PCT/EP2025/067317", + "Up to 10,000 simultaneous users", + "99.7% declared biometric accuracy", + "Up to -85% returns" + ] + }, + "problem": { + "title": "The problem", + "body": "Every failed purchase caused by incorrect sizing erodes margin, increases logistics costs and weakens customer trust. In fashion, it is not enough to show a garment: you must help the customer understand how it will fit, what size they need and whether they can buy with confidence.", + "closing": "Most sizing experiences still rely on generic charts. TRYONYOU replaces them with individual certainty." + }, + "solution": { + "title": "The solution in 3 steps", + "support": "It is not a simple avatar. It is a decision engine for fit, sizing and garment visualization designed for enterprise retail.", + "steps": [ + { + "title": "The customer creates their body profile", + "body": "From guided images and minimal data, TRYONYOU generates a precise profile to estimate measurements and fit behavior." + }, + { + "title": "TRYONYOU creates a usable digital twin", + "body": "The system transforms that information into a digital model oriented to sizing, recommendation and visualization." + }, + { + "title": "The brand shows size and fit clearly", + "body": "The retailer can recommend the right size, show how the garment falls and reduce uncertainty before purchase." + } + ] + }, + "benefits": { + "title": "Key benefits", + "cards": [ + { + "eyebrow": "More conversion", + "title": "Less doubt at the moment of purchase", + "body": "When the customer understands size and fit, the step to checkout is more likely and the PDP performs better." + }, + { + "eyebrow": "Fewer returns", + "title": "Fewer sizing errors, lower operating cost", + "body": "TRYONYOU helps reduce returns associated with fit and size choice in sensitive categories." + }, + { + "eyebrow": "More trust", + "title": "A safer and more useful experience", + "body": "Personalized recommendation increases the perception of control, reduces friction and improves the relationship with the brand." + } + ], + "closing": "The promise is not only a better experience. The promise is better unit economics per order." + }, + "technology": { + "title": "Technology", + "body": "TRYONYOU combines guided capture, body modeling, sizing intelligence and garment simulation into a single decision layer. The result is a Digital Fit Engine capable of translating visual and product data into size recommendations, fit representation and actionable signals for the retailer.", + "modules": ["Capture", "Digital Twin", "Sizing Intelligence", "Garment Simulation"], + "pauLabel": "PAU, personal AI stylist by TRYONYOU" + }, + "trust": { + "title": "Proof and trust", + "body": "A sober proof block designed for internal validation and enterprise deployment.", + "metrics": [ + { + "value": "-85%", + "label": "Up to -85% returns and +25% conversion in validated scopes." + }, + { + "value": "99.7%", + "label": "Declared biometric accuracy of 99.7%." + }, + { + "value": "10,000", + "label": "Architecture prepared for up to 10,000 simultaneous users." + }, + { + "value": "PCT", + "label": "Zero-Size Protocol — international filing PCT/EP2025/067317." + } + ], + "note": "Do not use logos without written authorization." + }, + "finalCta": { + "title": "If your team wants to reduce returns, increase conversion and validate a pilot with a clear business case, let's talk.", + "cta": "Request a demo", + "microcopy": "Indicative response within 48 business hours. Meeting tailored to retail, e-commerce or department stores." + }, + "demoForm": { + "title": "Request a demo", + "support": "Tell us about your case and we will prepare a demo tailored to your operation, your channel and your business priority.", + "submit": "Request a demo", + "businessTypeOptions": ["Retailer", "E-commerce", "Department store", "Marketplace"], + "fieldLabels": { + "fullName": "Full name", + "corporateEmail": "Corporate email", + "company": "Company", + "role": "Role", + "businessType": "Business type", + "primaryMarket": "Primary market", + "challenge": "What you want to solve", + "volume": "Approximate volume", + "horizon": "Project horizon", + "consent": "I agree to be contacted regarding my request." + }, + "optionalLabel": "Optional", + "consentHint": "Contact consent is required.", + "submitting": "Sending…", + "successTitle": "Thank you.", + "successBody": "Your demo request has been sent. Our team will contact you shortly.", + "error": "We could not send your request right now.", + "retry": "Please try again in a few moments." + }, + "expansion": { + "sectionTitle": "Deployment network", + "activeBadge": "Active", + "pendingBadge": "Coming soon", + "bannerTitle": "Expansion underway", + "bannerBody": "New experience points are opening their doors. The sovereign network is expanding across Paris.", + "locations": [ + { "name": "Le Bon Marché Rive Gauche", "district": "75007", "status": "active" }, + { "name": "Le Marais", "district": "75003", "status": "pending" }, + { "name": "La Défense", "district": "92060", "status": "pending" } + ] + }, + "ethics": { + "sectionTitle": "Ethical manifesto", + "principles": [ + { + "title": "Biometric protection", + "body": "Body data never leaves the customer's device. No silhouette storage, no third-party exploitation." + }, + { + "title": "Algorithmic transparency", + "body": "Every size recommendation is traceable. The customer understands why a fit adjustment is suggested." + }, + { + "title": "Body dignity", + "body": "Zero weight commentary, zero normative projection. The engine fits the garment to the body, never the other way round." + }, + { + "title": "Data sovereignty", + "body": "The retailer receives fit signals, never raw biometric data. The customer remains the owner." + } + ], + "seal": "Ethical Manifesto V11 — Sovereignty Protocol" + }, + "footer": { + "companyLine": "Divineo · SIRET 94361019600017 · Paris, France", + "privacy": "Privacy", + "biometricData": "Biometric data", + "terms": "Terms", + "cookies": "Cookies", + "security": "Security" + }, + "overlayReserve": "Reserve", + "overlayCombos": "View options", + "overlayMuseum": "Save", + "overlayShare": "Share", + "pauGuideGreeting": "Hello, I am PAU, personal AI stylist by TRYONYOU.", + "pauGuideWelcome": "Welcome to Le Bon Marché Rive Gauche, where the Hidden Pocket loyalty keeps every choice sovereign.", + "pauGuideScan": "I guide the customer through capture and body profile creation.", + "pauGuideSnap": "I show how the garment falls before purchase.", + "pauGuideNext": "I help the customer decide with more clarity on size and fit.", + "pauGuideClosing": "Rends-le-moi avec un sourire", + "mirror": { + "reserve": "Reserve in Fitting Suite", + "selection": "My Signature Selection", + "scanning": "Biometric silhouette analysis...", + "success": "High-precision fit validated.", + "error": "Biometric variance detected. Please adjust posture.", + "brand_fallback": "Burberry elegance as an exceptional alternative." + } +} diff --git a/src/locales/es/translation.json b/src/locales/es/translation.json new file mode 100644 index 00000000..13034feb --- /dev/null +++ b/src/locales/es/translation.json @@ -0,0 +1,186 @@ +{ + "localeLabel": "Idioma", + "nav": { + "home": "Home", + "technology": "Tecnología", + "solutions": "Soluciones", + "pilots": "Pilotos", + "about": "Sobre nosotros", + "legal": "Legal", + "demo": "Solicitar demo" + }, + "hero": { + "title": "El probador virtual que reduce devoluciones y aumenta la conversión.", + "lead": "TRYONYOU ayuda a los retailers de moda a mostrar el fit correcto sobre el cuerpo real del cliente mediante un gemelo digital, un motor preciso de talla y una simulación realista de la prenda.", + "cta": "Solicitar demo", + "trustStrip": [ + "PCT/EP2025/067317", + "Hasta 10.000 usuarios simultáneos", + "99,7 % de precisión biométrica declarada", + "Hasta -85 % devoluciones" + ] + }, + "problem": { + "title": "El problema", + "body": "Cada compra fallida por talla incorrecta erosiona margen, aumenta costes logísticos y debilita la confianza del cliente. En moda, no basta con mostrar una prenda: hay que ayudar al cliente a entender cómo le quedará, qué talla necesita y si puede comprar con seguridad.", + "closing": "La mayoría de las experiencias de talla siguen basándose en tablas genéricas. TRYONYOU las reemplaza por certeza individual." + }, + "solution": { + "title": "La solución en 3 pasos", + "support": "No es un simple avatar. Es un motor de decisión para fit, sizing y visualización de prenda pensado para retail enterprise.", + "steps": [ + { + "title": "El cliente crea su perfil corporal", + "body": "A partir de imágenes guiadas y datos mínimos, TRYONYOU genera un perfil preciso para estimar medidas y comportamiento de fit." + }, + { + "title": "TRYONYOU crea un gemelo digital utilizable", + "body": "El sistema transforma esa información en un modelo digital orientado a sizing, recomendación y visualización." + }, + { + "title": "La marca muestra talla y ajuste con claridad", + "body": "El retailer puede recomendar la talla correcta, mostrar cómo cae la prenda y reducir la incertidumbre antes de la compra." + } + ] + }, + "benefits": { + "title": "Beneficios clave", + "cards": [ + { + "eyebrow": "Más conversión", + "title": "Menos duda en el momento de compra", + "body": "Cuando el cliente entiende talla y fit, el paso a checkout es más probable y la PDP trabaja mejor." + }, + { + "eyebrow": "Menos devoluciones", + "title": "Menos errores de talla, menos coste operativo", + "body": "TRYONYOU ayuda a reducir devoluciones asociadas a fit y elección de talla en categorías sensibles." + }, + { + "eyebrow": "Más confianza", + "title": "Una experiencia más segura y más útil", + "body": "La recomendación personalizada aumenta la percepción de control, reduce fricción y mejora la relación con la marca." + } + ], + "closing": "La promesa no es solo una mejor experiencia. La promesa es una mejor economía unitaria por pedido." + }, + "technology": { + "title": "Tecnología", + "body": "TRYONYOU combina captura guiada, modelado corporal, inteligencia de talla y simulación de prenda en una sola capa de decisión. El resultado es un Digital Fit Engine capaz de traducir datos visuales y de producto en recomendaciones de talla, representación de fit y señales accionables para el retailer.", + "modules": ["Captura", "Digital Twin", "Sizing Intelligence", "Garment Simulation"], + "pauLabel": "PAU, personal AI stylist by TRYONYOU" + }, + "trust": { + "title": "Prueba y confianza", + "body": "Una prueba sobria, orientada a validación interna y despliegue enterprise.", + "metrics": [ + { + "value": "-85 %", + "label": "Hasta -85 % de devoluciones y +25 % de conversión en perímetros validados." + }, + { + "value": "99,7 %", + "label": "Precisión biométrica declarada de 99,7 %." + }, + { + "value": "10.000", + "label": "Arquitectura preparada para hasta 10.000 usuarios simultáneos." + }, + { + "value": "PCT", + "label": "Zero-Size Protocol — solicitud internacional PCT/EP2025/067317." + } + ], + "note": "No usar logos sin autorización escrita." + }, + "finalCta": { + "title": "Si su equipo quiere reducir devoluciones, aumentar conversión y validar un piloto con un caso de negocio claro, hablemos.", + "cta": "Solicitar demo", + "microcopy": "Respuesta orientativa en 48 horas laborables. Reunión adaptada a retail, e-commerce o grandes almacenes." + }, + "demoForm": { + "title": "Solicitar demo", + "support": "Cuéntenos su caso y prepararemos una demo adaptada a su operación, su canal y su prioridad de negocio.", + "submit": "Solicitar demo", + "businessTypeOptions": ["Retailer", "E-commerce", "Gran almacén", "Marketplace"], + "fieldLabels": { + "fullName": "Nombre y apellido", + "corporateEmail": "Email corporativo", + "company": "Empresa", + "role": "Cargo", + "businessType": "Tipo de negocio", + "primaryMarket": "Mercado principal", + "challenge": "Qué quiere resolver", + "volume": "Volumen aproximado", + "horizon": "Horizonte de proyecto", + "consent": "Acepto ser contactado en relación con mi solicitud." + }, + "optionalLabel": "Opcional", + "consentHint": "Consentimiento de contacto obligatorio.", + "submitting": "Enviando…", + "successTitle": "Gracias.", + "successBody": "Su solicitud de demo ha sido enviada. Nuestro equipo le contactará pronto.", + "error": "No hemos podido enviar su solicitud en este momento.", + "retry": "Por favor, inténtelo de nuevo en unos instantes." + }, + "expansion": { + "sectionTitle": "Red de implantación", + "activeBadge": "Activo", + "pendingBadge": "Próxima apertura", + "bannerTitle": "Expansión en curso", + "bannerBody": "Nuevos puntos de experiencia abren sus puertas. La red soberana se extiende por París.", + "locations": [ + { "name": "Le Bon Marché Rive Gauche", "district": "75007", "status": "active" }, + { "name": "Le Marais", "district": "75003", "status": "pending" }, + { "name": "La Défense", "district": "92060", "status": "pending" } + ] + }, + "ethics": { + "sectionTitle": "Manifiesto ético", + "principles": [ + { + "title": "Protección biométrica", + "body": "Los datos corporales nunca salen del dispositivo del cliente. Sin almacenamiento de siluetas, sin explotación por terceros." + }, + { + "title": "Transparencia algorítmica", + "body": "Cada recomendación de talla es trazable. El cliente entiende por qué se le sugiere un ajuste." + }, + { + "title": "Dignidad del cuerpo", + "body": "Cero comentarios sobre peso, cero proyección normativa. El motor ajusta la prenda al cuerpo, nunca al revés." + }, + { + "title": "Soberanía de los datos", + "body": "El retailer recibe señales de ajuste, nunca datos biométricos brutos. El cliente sigue siendo el propietario." + } + ], + "seal": "Manifiesto Ético V11 — Protocolo de Soberanía" + }, + "footer": { + "companyLine": "Divineo · SIRET 94361019600017 · París, Francia", + "privacy": "Privacidad", + "biometricData": "Datos biométricos", + "terms": "Términos", + "cookies": "Cookies", + "security": "Seguridad" + }, + "overlayReserve": "Reservar", + "overlayCombos": "Ver variantes", + "overlayMuseum": "Guardar", + "overlayShare": "Compartir", + "pauGuideGreeting": "Hola, soy PAU, personal AI stylist by TRYONYOU.", + "pauGuideWelcome": "Bienvenida a Le Bon Marché Rive Gauche, donde la lealtad del Bolsillo Oculto guía cada elección.", + "pauGuideScan": "Guío al cliente en la captura y la creación de su perfil corporal.", + "pauGuideSnap": "Muestro cómo cae la prenda antes de comprar.", + "pauGuideNext": "Ayudo a decidir con más claridad sobre talla y fit.", + "pauGuideClosing": "Rends-le-moi avec un sourire", + "mirror": { + "reserve": "Reservar en Salón de Probadores", + "selection": "Mi Selección de Autor", + "scanning": "Analizando silueta biométrica...", + "success": "Ajuste de alta precisión validado.", + "error": "Variación biométrica detectada. Ajuste su postura.", + "brand_fallback": "Elegancia Burberry como alternativa de excepción." + } +} diff --git a/src/locales/fr/translation.json b/src/locales/fr/translation.json new file mode 100644 index 00000000..5a81adf6 --- /dev/null +++ b/src/locales/fr/translation.json @@ -0,0 +1,186 @@ +{ + "localeLabel": "Langue", + "nav": { + "home": "Home", + "technology": "Technologie", + "solutions": "Solutions", + "pilots": "Pilotes", + "about": "À propos", + "legal": "Mentions légales", + "demo": "Demander une démo" + }, + "hero": { + "title": "L'essayage virtuel qui réduit les retours et augmente la conversion.", + "lead": "TRYONYOU aide les retailers de mode à montrer le bon fit sur le vrai corps du client grâce à un jumeau numérique, un moteur de taille précis et une simulation textile réaliste.", + "cta": "Demander une démo", + "trustStrip": [ + "PCT/EP2025/067317", + "Jusqu'à 10 000 utilisateurs simultanés", + "99,7 % de précision biométrique déclarée", + "Jusqu'à -85 % de retours" + ] + }, + "problem": { + "title": "Le problème", + "body": "Chaque achat raté à cause d'une taille incorrecte érode la marge, augmente les coûts logistiques et affaiblit la confiance du client. Dans la mode, il ne suffit pas de montrer un vêtement : il faut aider le client à comprendre comment il lui ira, quelle taille il lui faut et s'il peut acheter en toute confiance.", + "closing": "La plupart des expériences de taille reposent encore sur des grilles génériques. TRYONYOU les remplace par une certitude individuelle." + }, + "solution": { + "title": "La solution en 3 étapes", + "support": "Ce n'est pas un simple avatar. C'est un moteur de décision pour le fit, le sizing et la visualisation du vêtement pensé pour le retail enterprise.", + "steps": [ + { + "title": "Le client crée son profil corporel", + "body": "À partir d'images guidées et de données minimales, TRYONYOU génère un profil précis pour estimer les mesures et le comportement du fit." + }, + { + "title": "TRYONYOU crée un jumeau numérique exploitable", + "body": "Le système transforme ces informations en un modèle numérique orienté sizing, recommandation et visualisation." + }, + { + "title": "La marque montre la taille et l'ajustement avec clarté", + "body": "Le retailer peut recommander la bonne taille, montrer comment tombe le vêtement et réduire l'incertitude avant l'achat." + } + ] + }, + "benefits": { + "title": "Bénéfices clés", + "cards": [ + { + "eyebrow": "Plus de conversion", + "title": "Moins d'hésitation au moment d'acheter", + "body": "Quand le client comprend la taille et le fit, le passage au checkout est plus probable et la PDP travaille mieux." + }, + { + "eyebrow": "Moins de retours", + "title": "Moins d'erreurs de taille, moins de coût opérationnel", + "body": "TRYONYOU aide à réduire les retours liés au fit et au choix de taille dans les catégories sensibles." + }, + { + "eyebrow": "Plus de confiance", + "title": "Une expérience plus sûre et plus utile", + "body": "La recommandation personnalisée augmente la perception de contrôle, réduit la friction et améliore la relation avec la marque." + } + ], + "closing": "La promesse n'est pas seulement une meilleure expérience. La promesse est une meilleure économie unitaire par commande." + }, + "technology": { + "title": "Technologie", + "body": "TRYONYOU combine capture guidée, modélisation corporelle, intelligence de taille et simulation de vêtement dans une seule couche de décision. Le résultat est un Digital Fit Engine capable de traduire des données visuelles et produit en recommandations de taille, représentation du fit et signaux actionnables pour le retailer.", + "modules": ["Capture", "Digital Twin", "Sizing Intelligence", "Garment Simulation"], + "pauLabel": "PAU, personal AI stylist by TRYONYOU" + }, + "trust": { + "title": "Preuve et confiance", + "body": "Une preuve sobre, orientée validation interne et déploiement enterprise.", + "metrics": [ + { + "value": "-85 %", + "label": "Jusqu'à -85 % de retours et +25 % de conversion sur des périmètres validés." + }, + { + "value": "99,7 %", + "label": "Précision biométrique déclarée de 99,7 %." + }, + { + "value": "10 000", + "label": "Architecture préparée pour jusqu'à 10 000 utilisateurs simultanés." + }, + { + "value": "PCT", + "label": "Zero-Size Protocol — demande internationale PCT/EP2025/067317." + } + ], + "note": "Ne pas utiliser de logos sans autorisation écrite." + }, + "finalCta": { + "title": "Si votre équipe veut réduire les retours, augmenter la conversion et valider un pilote avec un business case clair, parlons-en.", + "cta": "Demander une démo", + "microcopy": "Réponse indicative sous 48 heures ouvrées. Réunion adaptée au retail, à l'e-commerce ou aux grands magasins." + }, + "demoForm": { + "title": "Demander une démo", + "support": "Parlez-nous de votre cas et nous préparerons une démo adaptée à votre opération, à votre canal et à votre priorité business.", + "submit": "Demander une démo", + "businessTypeOptions": ["Retailer", "E-commerce", "Grand magasin", "Marketplace"], + "fieldLabels": { + "fullName": "Nom et prénom", + "corporateEmail": "Email professionnel", + "company": "Entreprise", + "role": "Fonction", + "businessType": "Type d'activité", + "primaryMarket": "Marché principal", + "challenge": "Ce que vous voulez résoudre", + "volume": "Volume approximatif", + "horizon": "Horizon du projet", + "consent": "J'accepte d'être contacté au sujet de ma demande." + }, + "optionalLabel": "Optionnel", + "consentHint": "Consentement de contact obligatoire.", + "submitting": "Envoi en cours…", + "successTitle": "Merci.", + "successBody": "Votre demande de démo a bien été envoyée. Notre équipe vous contactera rapidement.", + "error": "Impossible d'envoyer la demande pour le moment.", + "retry": "Veuillez réessayer dans quelques instants." + }, + "expansion": { + "sectionTitle": "Réseau d'implantation", + "activeBadge": "Actif", + "pendingBadge": "Prochaine ouverture", + "bannerTitle": "Expansion en cours", + "bannerBody": "De nouveaux points d'expérience ouvrent leurs portes. Le réseau souverain s'étend à travers Paris.", + "locations": [ + { "name": "Le Bon Marché Rive Gauche", "district": "75007", "status": "active" }, + { "name": "Le Marais", "district": "75003", "status": "pending" }, + { "name": "La Défense", "district": "92060", "status": "pending" } + ] + }, + "ethics": { + "sectionTitle": "Manifeste éthique", + "principles": [ + { + "title": "Protection biométrique", + "body": "Les données corporelles ne quittent jamais l'appareil du client. Aucun stockage de silhouettes, aucune exploitation tierce." + }, + { + "title": "Transparence algorithmique", + "body": "Chaque recommandation de taille est traçable. Le client comprend pourquoi un ajustement lui est proposé." + }, + { + "title": "Dignité du corps", + "body": "Zéro commentaire sur le poids, zéro projection normative. Le moteur ajuste le vêtement au corps, jamais l'inverse." + }, + { + "title": "Souveraineté des données", + "body": "Le détaillant reçoit des signaux d'ajustement, jamais les données biométriques brutes. Le client reste propriétaire." + } + ], + "seal": "Manifeste Éthique V11 — Protocole de Souveraineté" + }, + "footer": { + "companyLine": "Divineo · SIRET 94361019600017 · Paris, France", + "privacy": "Confidentialité", + "biometricData": "Données biométriques", + "terms": "Conditions", + "cookies": "Cookies", + "security": "Sécurité" + }, + "overlayReserve": "Réserver", + "overlayCombos": "Voir variantes", + "overlayMuseum": "Sauvegarder", + "overlayShare": "Partager", + "pauGuideGreeting": "Bonjour, je suis PAU, personal AI stylist by TRYONYOU.", + "pauGuideWelcome": "Bienvenue au salon Le Bon Marché Rive Gauche, où la loyauté du Bolsillo Oculto guide chaque choix.", + "pauGuideScan": "Je guide le client dans la capture et la création de son profil corporel.", + "pauGuideSnap": "Je montre comment le vêtement tombe avant l'achat.", + "pauGuideNext": "J'aide à décider avec plus de clarté sur la taille et le fit.", + "pauGuideClosing": "Rends-le-moi avec un sourire", + "mirror": { + "reserve": "Réserver en Salon d'Essayage", + "selection": "Ma Sélection Signature", + "scanning": "Analyse de la silhouette en cours...", + "success": "Ajustement haute précision validé.", + "error": "Écart biométrique détecté. Veuillez ajuster la posture.", + "brand_fallback": "L'élégance Burberry en alternative d'exception." + } +} diff --git a/src/main.tsx b/src/main.tsx index 9a39666a..999b5076 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -1,5 +1,6 @@ import "./divineo/envBootstrap"; import "./lib/empire_final_protocol.js"; +import "./i18n"; import React from "react"; import { createRoot } from "react-dom/client"; import App from "./App";