feat(i18n): add French language support and enhance localization
All checks were successful
Deploy to production / deploy (push) Successful in 2m48s

- Introduced French as a supported language across the application, updating locale files and adding translations for various components.
- Enhanced language handling logic to accommodate French, ensuring proper detection and fallback mechanisms.
- Updated UI elements to include French language options, improving accessibility for French-speaking users.
- Refactored SEO handling to include French in hreflang links, enhancing search engine indexing for multilingual content.
- Added new scripts for managing French translations and ensuring consistency across language files.
This commit is contained in:
Torsten Schulz (local)
2026-04-07 18:04:03 +02:00
parent f715c6125d
commit f7030bbabe
56 changed files with 5220 additions and 175 deletions

View File

@@ -29,6 +29,7 @@
<link rel="alternate" hreflang="en" href="%VITE_PUBLIC_BASE_URL%/?lang=en" />
<link rel="alternate" hreflang="es" href="%VITE_PUBLIC_BASE_URL%/?lang=es" />
<link rel="alternate" hreflang="ceb" href="%VITE_PUBLIC_BASE_URL%/?lang=ceb" />
<link rel="alternate" hreflang="fr" href="%VITE_PUBLIC_BASE_URL%/?lang=fr" />
<link rel="alternate" hreflang="x-default" href="%VITE_PUBLIC_BASE_URL%/" />
</head>
@@ -56,6 +57,11 @@
<p>Ang YourPart usa ka plataporma alang sa komunidad, chat, forum, blog, trainer sa bokabularyo, ang browser game nga Falukant ug minigames.</p>
<p>Mga bahin: <a href="/blogs?lang=ceb">Blogs</a>, <a href="/vokabeltrainer?lang=ceb">Bokabularyo</a>, <a href="/falukant?lang=ceb">Falukant</a>, <a href="/minigames?lang=ceb">Minigames</a>.</p>
</section>
<section lang="fr" style="max-width:960px;margin:24px auto;padding:0 20px;font-family:Arial,sans-serif;line-height:1.6;">
<h2>YourPart (français)</h2>
<p>YourPart est une plateforme pour la communauté, le chat, les forums, les blogs, lentraînement au vocabulaire, le jeu de construction Falukant dans le navigateur et les mini-jeux.</p>
<p>Zones principales&nbsp;: <a href="/blogs?lang=fr">Blogs</a>, <a href="/vokabeltrainer?lang=fr">Vocabulaire</a>, <a href="/falukant?lang=fr">Falukant</a> et <a href="/minigames?lang=fr">Mini-jeux</a>.</p>
</section>
</noscript>
<script type="module" src="/src/main.js"></script>
</body>