feat(landing): translate Support section + footer link labels (Block 4 of 4)

Final block. The Support section ("Support the project" / GitHub
Sponsors / Donate via PayPal) now reads from t('landing.support.*'),
and the footer link labels use t('header.nav.*') so they pick up
the same nav translations the header already ships.

This closes the LandingPage rewrite — every visitor-facing string
on velxio.dev/ goes through i18n now. Hand-translated for all 9
locales. "GitHub Sponsors" stays untranslated (proper product name).

Phase 2 remaining work:
- Editor (toolbar, file explorer, simulator canvas, component
  picker, library manager, save/share modals, error toasts).
- About / Examples / Docs / Profile pages.
- Login + Register forms.
This commit is contained in:
David Montero Crespo 2026-05-09 02:08:26 -03:00
parent ebfe6444d2
commit ca081f8e09
10 changed files with 63 additions and 12 deletions

View File

@ -69,6 +69,12 @@
"title": "Monaco Editor + arduino-cli",
"desc": "C++-Editor auf VS-Code-Niveau mit Multi-File-Workspace. Lokales arduino-cli kompiliert zu echten .hex- / .uf2- / .bin-Dateien — ohne Cloud-Roundtrip."
}
},
"support": {
"title": "Unterstütze das Projekt",
"subtitle": "Velxio ist kostenlos und Open Source. Wenn es dir Zeit spart, erwäge bitte die Entwicklung zu unterstützen.",
"ctaSponsors": "GitHub Sponsors",
"ctaPaypal": "Über PayPal spenden"
}
}
}

View File

@ -69,6 +69,12 @@
"title": "Monaco Editor + arduino-cli",
"desc": "VS Code-grade C++ editor with multi-file workspace. Local arduino-cli compiles to real .hex / .uf2 / .bin files — no cloud round-trip."
}
},
"support": {
"title": "Support the project",
"subtitle": "Velxio is free and open source. If it saves you time, consider supporting its development.",
"ctaSponsors": "GitHub Sponsors",
"ctaPaypal": "Donate via PayPal"
}
}
}

View File

@ -69,6 +69,12 @@
"title": "Monaco Editor + arduino-cli",
"desc": "Editor de C++ a nivel de VS Code con workspace multi-archivo. arduino-cli local compila a archivos .hex / .uf2 / .bin reales — sin viajes a la nube."
}
},
"support": {
"title": "Apoya el proyecto",
"subtitle": "Velxio es gratuito y de código abierto. Si te ahorra tiempo, considera apoyar su desarrollo.",
"ctaSponsors": "GitHub Sponsors",
"ctaPaypal": "Donar con PayPal"
}
}
}

View File

@ -69,6 +69,12 @@
"title": "Monaco Editor + arduino-cli",
"desc": "Éditeur C++ équivalent à VS Code avec espace de travail multi-fichiers. arduino-cli local compile en vrais fichiers .hex / .uf2 / .bin — sans aller-retour au cloud."
}
},
"support": {
"title": "Soutenir le projet",
"subtitle": "Velxio est gratuit et open source. S'il vous fait gagner du temps, envisagez de soutenir son développement.",
"ctaSponsors": "GitHub Sponsors",
"ctaPaypal": "Faire un don via PayPal"
}
}
}

View File

@ -69,6 +69,12 @@
"title": "Monaco Editor + arduino-cli",
"desc": "Editor C++ di livello VS Code con workspace multi-file. arduino-cli locale compila in veri file .hex / .uf2 / .bin — senza round-trip al cloud."
}
},
"support": {
"title": "Sostieni il progetto",
"subtitle": "Velxio è gratuito e open source. Se ti fa risparmiare tempo, considera di sostenerne lo sviluppo.",
"ctaSponsors": "GitHub Sponsors",
"ctaPaypal": "Dona con PayPal"
}
}
}

View File

@ -69,6 +69,12 @@
"title": "Monaco Editor + arduino-cli",
"desc": "VS Code 相当の C++ エディタとマルチファイルワークスペース。ローカルの arduino-cli が実際の .hex / .uf2 / .bin ファイルにコンパイルします — クラウドへの往復は不要です。"
}
},
"support": {
"title": "プロジェクトを支援する",
"subtitle": "Velxio は無料・オープンソースです。あなたの時間を節約できたなら、ぜひ開発の支援をご検討ください。",
"ctaSponsors": "GitHub Sponsors",
"ctaPaypal": "PayPal で寄付する"
}
}
}

View File

@ -69,6 +69,12 @@
"title": "Monaco Editor + arduino-cli",
"desc": "Editor C++ no nível VS Code com workspace multi-arquivo. arduino-cli local compila para arquivos .hex / .uf2 / .bin reais — sem ida-e-volta à nuvem."
}
},
"support": {
"title": "Apoie o projeto",
"subtitle": "Velxio é gratuito e de código aberto. Se ele te poupa tempo, considere apoiar seu desenvolvimento.",
"ctaSponsors": "GitHub Sponsors",
"ctaPaypal": "Doar via PayPal"
}
}
}

View File

@ -69,6 +69,12 @@
"title": "Monaco Editor + arduino-cli",
"desc": "Редактор C++ уровня VS Code с многофайловым воркспейсом. Локальный arduino-cli компилирует в настоящие .hex / .uf2 / .bin — без обращения к облаку."
}
},
"support": {
"title": "Поддержать проект",
"subtitle": "Velxio — бесплатный и с открытым исходным кодом. Если он экономит вам время, рассмотрите возможность поддержать его развитие.",
"ctaSponsors": "GitHub Sponsors",
"ctaPaypal": "Пожертвовать через PayPal"
}
}
}

View File

@ -69,6 +69,12 @@
"title": "Monaco Editor + arduino-cli",
"desc": "VS Code 级别的 C++ 编辑器,支持多文件工作区。本地 arduino-cli 编译为真实的 .hex / .uf2 / .bin 文件 —— 无需云端往返。"
}
},
"support": {
"title": "支持本项目",
"subtitle": "Velxio 免费且开源。如果它为您节省了时间,欢迎赞助以支持持续开发。",
"ctaSponsors": "GitHub Sponsors",
"ctaPaypal": "通过 PayPal 捐赠"
}
}
}

View File

@ -1189,11 +1189,8 @@ export const LandingPage: React.FC = () => {
<div className="support-icon">
<IcoSponsor />
</div>
<h2 className="support-title">Support the project</h2>
<p className="support-sub">
Velxio is free and open source. If it saves you time, consider supporting its
development.
</p>
<h2 className="support-title">{t('landing.support.title')}</h2>
<p className="support-sub">{t('landing.support.subtitle')}</p>
<div className="support-btns">
<a
href={GITHUB_SPONSORS_URL}
@ -1201,7 +1198,7 @@ export const LandingPage: React.FC = () => {
rel="noopener noreferrer"
className="support-btn support-btn-gh"
>
<IcoGitHub /> GitHub Sponsors
<IcoGitHub /> {t('landing.support.ctaSponsors')}
</a>
<a
href={PAYPAL_URL}
@ -1212,7 +1209,7 @@ export const LandingPage: React.FC = () => {
<svg viewBox="0 0 24 24" fill="currentColor" width="16" height="16">
<path d="M7.076 21.337H2.47a.641.641 0 0 1-.633-.74L4.944.901C5.026.382 5.474 0 5.998 0h7.46c2.57 0 4.578.543 5.69 1.81 1.01 1.15 1.304 2.42 1.012 4.287-.023.143-.047.288-.077.437-.983 5.05-4.349 6.797-8.647 6.797h-2.19c-.524 0-.968.382-1.05.9l-1.12 7.106zm14.146-14.42a3.35 3.35 0 0 0-.607-.541c-.013.076-.026.175-.041.254-.93 4.778-4.005 7.201-9.138 7.201h-2.19a.563.563 0 0 0-.556.479l-1.187 7.527h-.506l-.24 1.516a.56.56 0 0 0 .554.647h3.882c.46 0 .85-.334.922-.788.06-.26.76-4.852.816-5.09a.932.932 0 0 1 .923-.788h.58c3.76 0 6.705-1.528 7.565-5.946.36-1.847.174-3.388-.777-4.471z" />
</svg>
Donate via PayPal
{t('landing.support.ctaPaypal')}
</a>
</div>
</div>
@ -1226,12 +1223,12 @@ export const LandingPage: React.FC = () => {
</div>
<div className="footer-links">
<a href={GITHUB_URL} target="_blank" rel="noopener noreferrer" onClick={trackVisitGitHub}>
GitHub
{t('header.nav.github')}
</a>
<Link to={localize('/docs')}>Docs</Link>
<Link to={localize('/examples')}>Examples</Link>
<Link to={localize('/editor')}>Editor</Link>
<Link to={localize('/about')}>About</Link>
<Link to={localize('/docs')}>{t('header.nav.documentation')}</Link>
<Link to={localize('/examples')}>{t('header.nav.examples')}</Link>
<Link to={localize('/editor')}>{t('header.nav.editor')}</Link>
<Link to={localize('/about')}>{t('header.nav.about')}</Link>
</div>
<p className="footer-copy">{t('footer.about')}</p>
</footer>