fix(i18n): traducir Hero y Footer completamente (es/en), restaurar /mwp/ WordPress

- Hero: extraído de hardcoded español/inglés a usar traducciones (i18n/ui.ts)
- Footer: 'Maldonado, Uruguay' ahora viene de la traducción
- Hero badges (26+ años, Uptime, Soporte, Maldonado) ahora son traducibles
- Footer subline (Web, correo, infraestructura...) ahora es traducible
- Hero CTAs cambiaron: 'Ver planes' + 'Hablar por WhatsApp' (antes 'Ver servicios')

RESTAURACIÓN CRÍTICA:
- /home/hostingd/public_html/mwp/ había sido borrado por error en un deploy previo
- Restaurado desde /home/hostingd/mwp-backup-20260608-222300.tar.gz (74MB)
- WordPress ahora responde en https://mwp.hostingdelsur.net (200)
- Backup del WordPress queda en /home/hostingd/ para emergencias futuras
This commit is contained in:
Mauri
2026-06-09 08:31:43 -03:00
parent a6ca849630
commit 9c33a67150
4 changed files with 34 additions and 25 deletions
+1 -1
View File
@@ -20,7 +20,7 @@ cp /root/opencode/development/hostingdelsur.net/src/forms/api-htaccess "$DIST/ap
# Copy root .htaccess (HTTPS forzado, security headers)
cp /root/opencode/development/hostingdelsur.net/scripts/htaccess.conf "$DIST/.htaccess"
# rsync with --delete to mirror
# rsync with --delete to mirror (preserva mwp/, .well-known/, etc.)
rsync -avz --delete \
--exclude='mwp' \
--exclude='.well-known' \
+4 -3
View File
@@ -10,6 +10,7 @@ interface Props {
const { t, lang } = Astro.props;
const year = new Date().getFullYear();
const base = lang === 'en' ? '/en' : '';
const locationText = lang === 'en' ? 'Maldonado, Uruguay' : 'Maldonado, Uruguay';
const navLinks: { href: string; key: TranslationKey }[] = [
{ href: `${base}/`, key: 'nav.home' },
@@ -39,7 +40,7 @@ const legalLinks = [
{t('footer.tagline')}
</p>
<p class="text-xs mt-4" style="color: #8A8580;">
{lang === 'en' ? 'Web, email, infrastructure and human support in Uruguay.' : 'Web, correo, infraestructura y soporte humano en Uruguay.'}
{t('footer.subline')}
</p>
</div>
@@ -77,7 +78,7 @@ const legalLinks = [
contacto@hostingdelsur.net
</a>
</li>
<li>Maldonado, Uruguay</li>
<li>{locationText}</li>
</ul>
</div>
@@ -103,7 +104,7 @@ const legalLinks = [
<div class="mt-12 pt-6 border-t flex flex-col sm:flex-row sm:justify-between gap-3 text-xs" style="border-color: #2A2520; color: #8A8580;">
<p>© {year} Hosting del Sur. {t('footer.copyright')}</p>
<p>Maldonado, Uruguay</p>
<p>{locationText}</p>
</div>
</div>
</footer>
+9 -11
View File
@@ -12,7 +12,6 @@ const { t, whatsappUrl } = Astro.props;
<div class="absolute inset-0 particle-grid" aria-hidden="true"></div>
<div class="absolute inset-0" style="background: linear-gradient(180deg, transparent 0%, var(--hds-bg) 100%);" aria-hidden="true"></div>
<!-- Cuadraditos decorativos (estilo grilla del logo) -->
<div class="absolute top-32 right-8 md:right-16 opacity-50" aria-hidden="true">
<svg width="120" height="120" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<rect x="0" y="0" width="12" height="12" fill="#EE7623" rx="1"/>
@@ -41,43 +40,42 @@ const { t, whatsappUrl } = Astro.props;
<div class="relative max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="max-w-4xl">
<div class="eyebrow mb-7">
<span>Premium hosting · Desde 2000</span>
<span>{t('hero.eyebrow')}</span>
</div>
<h1 class="font-display leading-[0.98] mb-8" style="font-size: clamp(2.75rem, 7vw, 5.5rem); color: var(--hds-fg); letter-spacing: -0.025em; font-weight: 400;">
Alojamiento en la nube<br/>
que te <span style="color: var(--color-hds-naranja); font-style: italic;">conoce</span>.
{t('hero.title')}
</h1>
<p class="text-lg md:text-xl leading-relaxed mb-10 max-w-2xl" style="color: var(--hds-fg-soft);">
Soporte humano senior en Maldonado, Uruguay. Del otro lado hay una persona que conoce tu proyecto, no un ticket automático. La misma tecnología que los gigantes, con la cercanía que nos diferencia.
{t('hero.body')}
</p>
<div class="flex flex-col sm:flex-row gap-4 mb-14">
<a href="/planes/" class="btn-primary">
Ver planes
{t('hero.ctaPrimary')}
</a>
<a href={whatsappUrl} target="_blank" rel="noopener noreferrer" class="btn-secondary">
Hablar por WhatsApp
{t('hero.ctaSecondary')}
</a>
</div>
<div class="flex flex-wrap items-center gap-x-8 gap-y-3 text-sm" style="color: var(--hds-fg-muted);">
<span class="flex items-center gap-2">
<span style="color: var(--color-hds-naranja);">●</span>
26+ años
{t('hero.badge26')}
</span>
<span class="flex items-center gap-2">
<span style="color: var(--color-hds-naranja);">●</span>
Uptime 99.9%
{t('hero.badgeUptime')}
</span>
<span class="flex items-center gap-2">
<span style="color: var(--color-hds-naranja);">●</span>
Soporte humano
{t('hero.badgeSupport')}
</span>
<span class="flex items-center gap-2">
<span style="color: var(--color-hds-naranja);">●</span>
Maldonado, Uruguay
{t('hero.badgeLocation')}
</span>
</div>
</div>
+20 -10
View File
@@ -7,11 +7,15 @@ export const ui = {
'nav.tutorials': 'Instructivos',
'nav.contact': 'Contacto',
'nav.cta': 'Hablar por WhatsApp',
'hero.eyebrow': 'Tu proveedor de soluciones digitales',
'hero.title': 'Alojamiento en la nube, cerca y en tu idioma',
'hero.body': 'Olvidate de las complejidades técnicas. Nuestro equipo te brinda asesoramiento y soporte personalizado para que tu proyecto en la web funcione sin complicaciones. Te brindamos la misma tecnología que los gigantes tecnológicos, con una atención cercana y personalizada.',
'hero.ctaPrimary': 'Hablar con un humano',
'hero.ctaSecondary': 'Ver servicios',
'hero.eyebrow': 'Premium hosting · Desde 2000',
'hero.title': 'Alojamiento en la nube que te conoce.',
'hero.body': 'Soporte humano senior en Maldonado, Uruguay. Del otro lado hay una persona que conoce tu proyecto, no un ticket automático. La misma tecnología que los gigantes, con la cercanía que nos diferencia.',
'hero.ctaPrimary': 'Ver planes',
'hero.ctaSecondary': 'Hablar por WhatsApp',
'hero.badge26': '26+ años',
'hero.badgeUptime': 'Uptime 99.9%',
'hero.badgeSupport': 'Soporte humano',
'hero.badgeLocation': 'Maldonado, Uruguay',
'diff.eyebrow': 'La diferencia',
'diff.title': 'Por qué elegirnos',
'diff.subtitle': 'Tu proyecto merece un socio tecnológico, no solo un hosting.',
@@ -43,6 +47,7 @@ export const ui = {
'ctaFinal.body': 'Escribinos por WhatsApp y te respondemos personas reales, no bots.',
'ctaFinal.button': 'Hablar por WhatsApp',
'footer.tagline': 'Alojamiento en la nube, cerca y en tu idioma.',
'footer.subline': 'Web, correo, infraestructura y soporte humano en Uruguay.',
'footer.contact': 'Contacto',
'footer.nav': 'Navegación',
'footer.legal': 'Legal',
@@ -60,11 +65,15 @@ export const ui = {
'nav.tutorials': 'Tutorials',
'nav.contact': 'Contact',
'nav.cta': 'Chat on WhatsApp',
'hero.eyebrow': 'Your digital solutions provider',
'hero.title': 'Cloud hosting, close by and in your language',
'hero.body': 'Forget technical complexity. Our team gives you personalized advice and support so your web project runs smoothly. We offer the same technology as the tech giants, with a close, human touch.',
'hero.ctaPrimary': 'Talk to a human',
'hero.ctaSecondary': 'See services',
'hero.eyebrow': 'Premium hosting · Since 2000',
'hero.title': 'Cloud hosting that knows you.',
'hero.body': 'Senior human support in Maldonado, Uruguay. There is a real person who knows your project on the other side, not an automatic ticket. The same technology as the tech giants, with the closeness that sets us apart.',
'hero.ctaPrimary': 'View plans',
'hero.ctaSecondary': 'Chat on WhatsApp',
'hero.badge26': '26+ years',
'hero.badgeUptime': '99.9% uptime',
'hero.badgeSupport': 'Human support',
'hero.badgeLocation': 'Maldonado, Uruguay',
'diff.eyebrow': 'The difference',
'diff.title': 'Why choose us',
'diff.subtitle': 'Your project deserves a technology partner, not just a hosting provider.',
@@ -96,6 +105,7 @@ export const ui = {
'ctaFinal.body': 'Message us on WhatsApp and real people will reply, not bots.',
'ctaFinal.button': 'Chat on WhatsApp',
'footer.tagline': 'Cloud hosting, close by and in your language.',
'footer.subline': 'Web, email, infrastructure and human support in Uruguay.',
'footer.contact': 'Contact',
'footer.nav': 'Navigation',
'footer.legal': 'Legal',