Translate event details and UI text to French, including event names, descriptions, and status labels. Update navigation styles for consistency.

This commit is contained in:
Julien Froidefond
2025-12-08 17:22:14 +01:00
parent 4e6ce54e0f
commit c5bd94ec69
5 changed files with 196 additions and 48 deletions

View File

@@ -12,55 +12,55 @@ interface Event {
const events: Event[] = [
{
id: 1,
date: "NOVEMBER 18th, 2023",
name: "Tech Innovation Summit",
date: "18 NOVEMBRE 2023",
name: "Sommet de l'Innovation Tech",
description:
"Join industry leaders and innovators for a day of cutting-edge technology discussions, AI breakthroughs, and networking opportunities.",
"Rejoignez les leaders de l'industrie et les innovateurs pour une journée de discussions sur les technologies de pointe, les percées de l'IA et des opportunités de networking.",
type: "summit",
status: "past",
},
{
id: 2,
date: "DECEMBER 3rd, 2023",
name: "AI Revolution Launch",
date: "3 DÉCEMBRE 2023",
name: "Lancement de la Révolution IA",
description:
"Witness the launch of revolutionary AI systems that will reshape the gaming landscape. Exclusive previews and early access opportunities.",
"Assistez au lancement de systèmes d'IA révolutionnaires qui vont remodeler le paysage du gaming. Aperçus exclusifs et opportunités d'accès anticipé.",
type: "launch",
status: "past",
},
{
id: 3,
date: "DECEMBER 22nd, 2023",
name: "Winter Code Festival",
date: "22 DÉCEMBRE 2023",
name: "Festival du Code d'Hiver",
description:
"A celebration of coding excellence with hackathons, coding challenges, and prizes. Showcase your skills and compete with the best developers.",
"Une célébration de l'excellence en programmation avec des hackathons, des défis de codage et des prix. Montrez vos compétences et rivalisez avec les meilleurs développeurs.",
type: "festival",
status: "past",
},
{
id: 4,
date: "JANUARY 15th, 2024",
name: "Quantum Computing Expo",
date: "15 JANVIER 2024",
name: "Expo Informatique Quantique",
description:
"Explore the future of quantum computing in gaming. Interactive demos, expert talks, and hands-on workshops for all skill levels.",
"Explorez l'avenir de l'informatique quantique dans le gaming. Démonstrations interactives, conférences d'experts et ateliers pratiques pour tous les niveaux.",
type: "summit",
status: "upcoming",
},
{
id: 5,
date: "FEBRUARY 8th, 2024",
name: "Cyber Arena Championship",
date: "8 FÉVRIER 2024",
name: "Championnat Cyber Arena",
description:
"The ultimate competitive gaming event. Compete for glory, exclusive rewards, and the title of Cyber Arena Champion. Registration now open.",
"L'événement de gaming compétitif ultime. Compétissez pour la gloire, des récompenses exclusives et le titre de Champion Cyber Arena. Inscriptions ouvertes.",
type: "competition",
status: "upcoming",
},
{
id: 6,
date: "MARCH 12th, 2024",
name: "Spring Tech Gala",
date: "12 MARS 2024",
name: "Gala Tech du Printemps",
description:
"An elegant evening celebrating technological achievements. Awards ceremony, networking, and exclusive announcements from top tech companies.",
"Une soirée élégante célébrant les réalisations technologiques. Cérémonie de remise de prix, networking et annonces exclusives des plus grandes entreprises tech.",
type: "festival",
status: "upcoming",
},
@@ -81,24 +81,39 @@ const getEventTypeColor = (type: Event["type"]) => {
}
};
const getEventTypeLabel = (type: Event["type"]) => {
switch (type) {
case "summit":
return "Sommet";
case "launch":
return "Lancement";
case "festival":
return "Festival";
case "competition":
return "Compétition";
default:
return type;
}
};
const getStatusBadge = (status: Event["status"]) => {
switch (status) {
case "upcoming":
return (
<span className="px-3 py-1 bg-green-900/50 border border-green-500/50 text-green-400 text-xs uppercase tracking-widest rounded">
Upcoming
À venir
</span>
);
case "live":
return (
<span className="px-3 py-1 bg-red-900/50 border border-red-500/50 text-red-400 text-xs uppercase tracking-widest rounded animate-pulse">
Live Now
En direct
</span>
);
case "past":
return (
<span className="px-3 py-1 bg-gray-800/50 border border-gray-600/50 text-gray-400 text-xs uppercase tracking-widest rounded">
Past
Pas
</span>
);
}
@@ -134,12 +149,12 @@ export default function EventsPageSection() {
</h1>
<div className="text-pixel-gold text-lg md:text-xl font-gaming-subtitle font-semibold flex items-center justify-center gap-2 mb-6 tracking-wide">
<span></span>
<span>Upcoming & Past Events</span>
<span>Événements à venir et passés</span>
<span></span>
</div>
<p className="text-gray-400 text-sm max-w-2xl mx-auto">
Join us for exciting tech events, competitions, and celebrations
throughout the year
Rejoignez-nous pour des événements tech passionnants, des
compétitions et des célébrations tout au long de l'année
</p>
</div>
@@ -163,7 +178,7 @@ export default function EventsPageSection() {
<div className="flex justify-between items-start mb-4">
{getStatusBadge(event.status)}
<span className="text-pixel-gold text-xs uppercase tracking-widest">
{event.type}
{getEventTypeLabel(event.type)}
</span>
</div>
@@ -185,17 +200,17 @@ export default function EventsPageSection() {
{/* Action Button */}
{event.status === "upcoming" && (
<button className="w-full px-4 py-2 border border-pixel-gold/50 bg-black/40 text-white uppercase text-xs tracking-widest rounded hover:bg-pixel-gold/10 hover:border-pixel-gold transition">
Register Now
S'inscrire maintenant
</button>
)}
{event.status === "live" && (
<button className="w-full px-4 py-2 border border-red-500/50 bg-red-900/20 text-red-400 uppercase text-xs tracking-widest rounded hover:bg-red-900/30 transition animate-pulse">
Join Live
Rejoindre en direct
</button>
)}
{event.status === "past" && (
<button className="w-full px-4 py-2 border border-gray-600/50 bg-gray-900/20 text-gray-500 uppercase text-xs tracking-widest rounded cursor-not-allowed">
Event Ended
Événement terminé
</button>
)}
</div>
@@ -206,7 +221,7 @@ export default function EventsPageSection() {
{/* Footer Info */}
<div className="mt-12 text-center">
<p className="text-gray-500 text-sm">
Stay updated with our latest events and announcements
Restez informé de nos derniers événements et annonces
</p>
</div>
</div>