Improve frontend traslations
This commit is contained in:
@@ -282,10 +282,10 @@ const LandingPage: React.FC = () => {
|
||||
</div>
|
||||
<div className="flex-1">
|
||||
<h3 className="text-2xl lg:text-3xl font-bold text-[var(--text-primary)] mb-4">
|
||||
{t('landing:pillar1.title', '🎯 Predice Demanda con Datos de Tu Zona')}
|
||||
{t('landing:pillars.pillar1.title', '🎯 Predice Demanda con Datos de Tu Zona')}
|
||||
</h3>
|
||||
<p className="text-lg text-[var(--text-secondary)] mb-6">
|
||||
{t('landing:pillar1.intro', 'IA que conoce tu barrio, no solo el calendario. Sabe que el colegio de al lado cierra en agosto, que los viernes hay mercado en tu plaza, y que abrió otra panadería a 500m.')}
|
||||
{t('landing:pillars.pillar1.intro', 'IA que conoce tu barrio, no solo el calendario. Sabe que el colegio de al lado cierra en agosto, que los viernes hay mercado en tu plaza, y que abrió otra panadería a 500m.')}
|
||||
</p>
|
||||
|
||||
<div className="grid md:grid-cols-2 gap-4">
|
||||
@@ -293,44 +293,44 @@ const LandingPage: React.FC = () => {
|
||||
<div className="flex items-center gap-3 mb-2">
|
||||
<School className="w-5 h-5 text-blue-600" />
|
||||
<h4 className="font-bold text-[var(--text-primary)]">
|
||||
{t('landing:pillar1.schools', 'Colegios y Oficinas Cerca')}
|
||||
{t('landing:pillars.pillar1.schools', 'Colegios y Oficinas Cerca')}
|
||||
</h4>
|
||||
</div>
|
||||
<p className="text-sm text-[var(--text-secondary)]">
|
||||
{t('landing:pillar1.schools_desc', 'Sabe cuándo hay vacaciones, horarios de oficina, eventos escolares')}
|
||||
{t('landing:pillars.pillar1.schools_desc', 'Sabe cuándo hay vacaciones, horarios de oficina, eventos escolares')}
|
||||
</p>
|
||||
</div>
|
||||
<div className="bg-[var(--bg-secondary)] rounded-lg p-4">
|
||||
<div className="flex items-center gap-3 mb-2">
|
||||
<Building2 className="w-5 h-5 text-purple-600" />
|
||||
<h4 className="font-bold text-[var(--text-primary)]">
|
||||
{t('landing:pillar1.competition', 'Tu Competencia')}
|
||||
{t('landing:pillars.pillar1.competition', 'Tu Competencia')}
|
||||
</h4>
|
||||
</div>
|
||||
<p className="text-sm text-[var(--text-secondary)]">
|
||||
{t('landing:pillar1.competition_desc', 'Detecta nuevas panaderías en tu zona y ajusta predicciones')}
|
||||
{t('landing:pillars.pillar1.competition_desc', 'Detecta nuevas panaderías en tu zona y ajusta predicciones')}
|
||||
</p>
|
||||
</div>
|
||||
<div className="bg-[var(--bg-secondary)] rounded-lg p-4">
|
||||
<div className="flex items-center gap-3 mb-2">
|
||||
<Cloud className="w-5 h-5 text-sky-600" />
|
||||
<h4 className="font-bold text-[var(--text-primary)]">
|
||||
{t('landing:pillar1.weather', 'Clima Local (AEMET)')}
|
||||
{t('landing:pillars.pillar1.weather', 'Clima Local')}
|
||||
</h4>
|
||||
</div>
|
||||
<p className="text-sm text-[var(--text-secondary)]">
|
||||
{t('landing:pillar1.weather_desc', 'Lluvia → menos croissants. Calor → más productos frescos')}
|
||||
{t('landing:pillars.pillar1.weather_desc', 'Lluvia → menos croissants. Calor → más productos frescos')}
|
||||
</p>
|
||||
</div>
|
||||
<div className="bg-[var(--bg-secondary)] rounded-lg p-4">
|
||||
<div className="flex items-center gap-3 mb-2">
|
||||
<Target className="w-5 h-5 text-amber-600" />
|
||||
<h4 className="font-bold text-[var(--text-primary)]">
|
||||
{t('landing:pillar1.events', 'Eventos y Festivales')}
|
||||
{t('landing:pillars.pillar1.events', 'Eventos y Festivales')}
|
||||
</h4>
|
||||
</div>
|
||||
<p className="text-sm text-[var(--text-secondary)]">
|
||||
{t('landing:pillar1.events_desc', 'Fiestas del barrio, mercadillos, partidos importantes')}
|
||||
{t('landing:pillars.pillar1.events_desc', 'Fiestas del barrio, mercadillos, partidos importantes')}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -352,48 +352,48 @@ const LandingPage: React.FC = () => {
|
||||
</div>
|
||||
<div className="flex-1">
|
||||
<h3 className="text-2xl lg:text-3xl font-bold text-[var(--text-primary)] mb-4">
|
||||
{t('landing:pillar2.title', '🤖 Sistema Automático Cada Mañana')}
|
||||
{t('landing:pillars.pillar2.title', '🤖 Sistema Automático Cada Mañana')}
|
||||
</h3>
|
||||
<p className="text-lg text-[var(--text-secondary)] mb-6">
|
||||
{t('landing:pillar2.intro', 'Despierta con todo el trabajo hecho. A las 5:30 AM el sistema ya predijo ventas, planificó producción, gestionó inventario y creó pedidos a proveedores.')}
|
||||
{t('landing:pillars.pillar2.intro', 'Despierta con todo el trabajo hecho. A las 5:30 AM el sistema ya predijo ventas, planificó producción, gestionó inventario y creó pedidos a proveedores.')}
|
||||
</p>
|
||||
|
||||
<div className="space-y-3">
|
||||
<div className="flex items-start gap-3">
|
||||
<CheckCircle2 className="w-5 h-5 text-blue-600 mt-0.5 flex-shrink-0" />
|
||||
<p className="text-[var(--text-secondary)]">
|
||||
<strong>{t('landing:pillar2.step1', 'Predice ventas de hoy:')}</strong> {t('landing:pillar2.step1_desc', '"Harás 80 croissants, 120 barras"')}
|
||||
<strong>{t('landing:pillars.pillar2.step1', 'Predice ventas de hoy:')}</strong> {t('landing:pillars.pillar2.step1_desc', '"Harás 80 croissants, 120 barras"')}
|
||||
</p>
|
||||
</div>
|
||||
<div className="flex items-start gap-3">
|
||||
<CheckCircle2 className="w-5 h-5 text-blue-600 mt-0.5 flex-shrink-0" />
|
||||
<p className="text-[var(--text-secondary)]">
|
||||
<strong>{t('landing:pillar2.step2', 'Planifica producción:')}</strong> {t('landing:pillar2.step2_desc', 'Lista exacta de lo que hornear')}
|
||||
<strong>{t('landing:pillars.pillar2.step2', 'Planifica producción:')}</strong> {t('landing:pillars.pillar2.step2_desc', 'Lista exacta de lo que hornear')}
|
||||
</p>
|
||||
</div>
|
||||
<div className="flex items-start gap-3">
|
||||
<CheckCircle2 className="w-5 h-5 text-blue-600 mt-0.5 flex-shrink-0" />
|
||||
<p className="text-[var(--text-secondary)]">
|
||||
<strong>{t('landing:pillar2.step3', 'Gestiona inventario:')}</strong> {t('landing:pillar2.step3_desc', 'Proyecta 7 días → "Te quedarás sin harina en 4 días, pide 50kg hoy"')}
|
||||
<strong>{t('landing:pillars.pillar2.step3', 'Gestiona inventario:')}</strong> {t('landing:pillars.pillar2.step3_desc', 'Proyecta 7 días → "Te quedarás sin harina en 4 días, pide 50kg hoy"')}
|
||||
</p>
|
||||
</div>
|
||||
<div className="flex items-start gap-3">
|
||||
<CheckCircle2 className="w-5 h-5 text-blue-600 mt-0.5 flex-shrink-0" />
|
||||
<p className="text-[var(--text-secondary)]">
|
||||
<strong>{t('landing:pillar2.step4', 'Previene desperdicios:')}</strong> {t('landing:pillar2.step4_desc', '"Leche caduca en 5 días, no pidas más de 15L"')}
|
||||
<strong>{t('landing:pillars.pillar2.step4', 'Previene desperdicios:')}</strong> {t('landing:pillars.pillar2.step4_desc', '"Leche caduca en 5 días, no pidas más de 15L"')}
|
||||
</p>
|
||||
</div>
|
||||
<div className="flex items-start gap-3">
|
||||
<CheckCircle2 className="w-5 h-5 text-blue-600 mt-0.5 flex-shrink-0" />
|
||||
<p className="text-[var(--text-secondary)]">
|
||||
<strong>{t('landing:pillar2.step5', 'Crea pedidos:')}</strong> {t('landing:pillar2.step5_desc', 'Listos para aprobar con 1 clic')}
|
||||
<strong>{t('landing:pillars.pillar2.step5', 'Crea pedidos:')}</strong> {t('landing:pillars.pillar2.step5_desc', 'Listos para aprobar con 1 clic')}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="mt-6 bg-gradient-to-r from-blue-50 to-indigo-50 dark:from-blue-900/20 dark:to-indigo-900/20 rounded-lg p-4 border-l-4 border-blue-600">
|
||||
<p className="font-bold text-[var(--text-primary)]">
|
||||
{t('landing:pillar2.key', '🔑 Nunca llegas al punto de quedarte sin stock. El sistema lo previene 7 días antes.')}
|
||||
{t('landing:pillars.pillar2.key', '🔑 Nunca llegas al punto de quedarte sin stock. El sistema lo previene 7 días antes.')}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -408,45 +408,45 @@ const LandingPage: React.FC = () => {
|
||||
</div>
|
||||
<div className="flex-1">
|
||||
<h3 className="text-2xl lg:text-3xl font-bold text-[var(--text-primary)] mb-4">
|
||||
{t('landing:pillar3.title', 'Tus Datos, Tu Impacto Ambiental')}
|
||||
{t('landing:pillars.pillar3.title', 'Tus Datos, Tu Impacto Ambiental')}
|
||||
</h3>
|
||||
<p className="text-lg text-[var(--text-secondary)] mb-6">
|
||||
{t('landing:pillar3.intro', '100% de tus datos te pertenecen. Mide tu impacto ambiental automáticamente y genera informes de sostenibilidad que cumplen con los estándares internacionales.')}
|
||||
{t('landing:pillars.pillar3.intro', '100% de tus datos te pertenecen. Mide tu impacto ambiental automáticamente y genera informes de sostenibilidad que cumplen con los estándares internacionales.')}
|
||||
</p>
|
||||
|
||||
<div className="grid md:grid-cols-3 gap-4 mb-6">
|
||||
<div className="bg-[var(--bg-secondary)] rounded-lg p-4 text-center">
|
||||
<div className="text-3xl font-bold text-green-600 mb-2">
|
||||
{t('landing:pillar3.data_ownership_value', '100%')}
|
||||
{t('landing:pillars.pillar3.data_ownership_value', '100%')}
|
||||
</div>
|
||||
<p className="text-sm text-[var(--text-secondary)]">
|
||||
{t('landing:pillar3.data_ownership', 'Propiedad de datos')}
|
||||
{t('landing:pillars.pillar3.data_ownership', 'Propiedad de datos')}
|
||||
</p>
|
||||
</div>
|
||||
<div className="bg-[var(--bg-secondary)] rounded-lg p-4 text-center">
|
||||
<div className="text-3xl font-bold text-blue-600 mb-2">
|
||||
{t('landing:pillar3.co2_metric', 'CO₂')}
|
||||
{t('landing:pillars.pillar3.co2_metric', 'CO₂')}
|
||||
</div>
|
||||
<p className="text-sm text-[var(--text-secondary)]">
|
||||
{t('landing:pillar3.co2', 'Medición automática')}
|
||||
{t('landing:pillars.pillar3.co2', 'Medición automática')}
|
||||
</p>
|
||||
</div>
|
||||
<div className="bg-[var(--bg-secondary)] rounded-lg p-4 text-center">
|
||||
<div className="text-3xl font-bold text-amber-600 mb-2">
|
||||
{t('landing:pillar3.sdg_value', 'ODS 12.3')}
|
||||
{t('landing:pillars.pillar3.sdg_value', 'ODS 12.3')}
|
||||
</div>
|
||||
<p className="text-sm text-[var(--text-secondary)]">
|
||||
{t('landing:pillar3.sdg', 'Seguimiento de cumplimiento')}
|
||||
{t('landing:pillars.pillar3.sdg', 'Seguimiento de cumplimiento')}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="bg-gradient-to-r from-green-50 to-emerald-50 dark:from-green-900/20 dark:to-emerald-900/20 rounded-lg p-4 border-l-4 border-green-600">
|
||||
<p className="font-bold text-[var(--text-primary)] mb-2">
|
||||
{t('landing:pillar3.sustainability_title', 'Informes de Sostenibilidad Automatizados')}
|
||||
{t('landing:pillars.pillar3.sustainability_title', 'Informes de Sostenibilidad Automatizados')}
|
||||
</p>
|
||||
<p className="text-sm text-[var(--text-secondary)]">
|
||||
{t('landing:pillar3.sustainability_desc', 'Genera informes que cumplen con los estándares internacionales de sostenibilidad y reducción de desperdicio alimentario')}
|
||||
{t('landing:pillars.pillar3.sustainability_desc', 'Genera informes que cumplen con los estándares internacionales de sostenibilidad y reducción de desperdicio alimentario')}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -456,7 +456,7 @@ const LandingPage: React.FC = () => {
|
||||
|
||||
{/* Link to Features Page */}
|
||||
<div className="mt-12 text-center">
|
||||
<Link to="/features" className="inline-flex items-center gap-2 text-[var(--color-primary)] hover:text-[var(--color-primary-dark)] font-semibold text-lg group">
|
||||
<Link to="/features" className="inline-flex items-center gap-2 text-[var(--color-primary)] hover:text-white font-semibold text-lg group px-6 py-3 rounded-lg transition-all duration-200 hover:bg-[var(--color-primary)] no-underline">
|
||||
{t('landing:pillars.see_all', 'Ver todas las funcionalidades en detalle')}
|
||||
<ChevronRight className="w-5 h-5 group-hover:translate-x-1 transition-transform" />
|
||||
</Link>
|
||||
@@ -571,6 +571,10 @@ const LandingPage: React.FC = () => {
|
||||
<Check className="w-5 h-5 text-blue-600 mt-0.5 flex-shrink-0" />
|
||||
<span className="text-[var(--text-secondary)]">{t('landing:pilot.we_ask.item2', 'Tarjeta de crédito (sin cargo por 3 meses)')}</span>
|
||||
</li>
|
||||
<li className="flex items-start gap-2">
|
||||
<Check className="w-5 h-5 text-blue-600 mt-0.5 flex-shrink-0" />
|
||||
<span className="text-[var(--text-secondary)]">{t('landing:pilot.we_ask.item3', 'Comprensión de que es un programa piloto y feedback semanal sobre fallos y mejoras')}</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user