diff --git a/lang/de-DE/landing.json b/lang/de-DE/landing.json
index 56359569..83ccaffc 100644
--- a/lang/de-DE/landing.json
+++ b/lang/de-DE/landing.json
@@ -214,16 +214,23 @@
"communityTitle": "Community",
"github": "GitHub",
"dutchDroneSquad": "Dutch Drone Squad",
+ "translate": "Beim Übersetzen helfen",
"facebook": "Facebook",
"instagram": "Instagram",
"reportIssue": "Problem melden",
"supportTitle": "Support",
"githubSponsors": "GitHub Sponsors",
"kofi": "Ko-fi",
- "copyright": "© {year} Dutch Drone Squad. Open-Source-Projekt.",
+ "copyright": "© {year} Dutch Drone Squad. Open-Source-Projekt.",
"madeWithPre": "Gemacht mit",
"madeWithPost": "für die FPV-Community"
},
+ "translationCta": {
+ "eyebrow": "Übersetzungen aus der Community",
+ "title": "Hilf mit, TrackDraw in weiteren Sprachen anzubieten",
+ "description": "Du sprichst eine weitere Sprache? Mach bei Crowdin mit und hilf mehr FPV-Clubs und Rennorganisatoren, TrackDraw zu nutzen.",
+ "action": "Auf Crowdin übersetzen"
+ },
"gallery": {
"pageTitle": "FPV Drone Race Track Galerie",
"metaTitle": "TrackDraw | FPV Drone Race Track Galerie",
diff --git a/lang/en-US/landing.json b/lang/en-US/landing.json
index eba72aff..94d87e2d 100644
--- a/lang/en-US/landing.json
+++ b/lang/en-US/landing.json
@@ -214,16 +214,23 @@
"communityTitle": "Community",
"github": "GitHub",
"dutchDroneSquad": "Dutch Drone Squad",
+ "translate": "Help translate",
"facebook": "Facebook",
"instagram": "Instagram",
"reportIssue": "Report an issue",
"supportTitle": "Support",
"githubSponsors": "GitHub Sponsors",
"kofi": "Ko-fi",
- "copyright": "© {year} Dutch Drone Squad. Open source project.",
+ "copyright": "© {year} Dutch Drone Squad. Open source project.",
"madeWithPre": "Made with",
"madeWithPost": "for the FPV community"
},
+ "translationCta": {
+ "eyebrow": "Community translations",
+ "title": "Help make TrackDraw available in more languages",
+ "description": "Know another language? Join the translation project on Crowdin and help more FPV clubs and race organizers use TrackDraw.",
+ "action": "Translate on Crowdin"
+ },
"gallery": {
"pageTitle": "FPV Drone Race Track Gallery",
"metaTitle": "TrackDraw | FPV Drone Race Track Gallery",
diff --git a/lang/nl-NL/landing.json b/lang/nl-NL/landing.json
index b2651b10..06e426e4 100644
--- a/lang/nl-NL/landing.json
+++ b/lang/nl-NL/landing.json
@@ -214,16 +214,23 @@
"communityTitle": "Community",
"github": "GitHub",
"dutchDroneSquad": "Dutch Drone Squad",
+ "translate": "Help met vertalen",
"facebook": "Facebook",
"instagram": "Instagram",
"reportIssue": "Probleem melden",
"supportTitle": "Ondersteuning",
"githubSponsors": "GitHub Sponsors",
"kofi": "Ko-fi",
- "copyright": "© {year} Dutch Drone Squad. Open source project.",
+ "copyright": "© {year} Dutch Drone Squad. Open source project.",
"madeWithPre": "Gemaakt met",
"madeWithPost": "voor de FPV-community"
},
+ "translationCta": {
+ "eyebrow": "Vertalen met de community",
+ "title": "Help TrackDraw beschikbaar te maken in meer talen",
+ "description": "Spreek je een andere taal? Doe mee via Crowdin en help meer FPV-clubs en raceorganisatoren TrackDraw te gebruiken.",
+ "action": "Vertalen via Crowdin"
+ },
"gallery": {
"pageTitle": "FPV Drone Race Track Galerij",
"metaTitle": "TrackDraw | FPV Drone Race Track Galerij",
diff --git a/lang/zh-CN/landing.json b/lang/zh-CN/landing.json
index de6dc6cc..ecb6cfab 100644
--- a/lang/zh-CN/landing.json
+++ b/lang/zh-CN/landing.json
@@ -214,16 +214,23 @@
"communityTitle": "社区",
"github": "GitHub",
"dutchDroneSquad": "Dutch Drone Squad",
+ "translate": "协助翻译",
"facebook": "Facebook",
"instagram": "Instagram",
"reportIssue": "反馈问题",
"supportTitle": "支持项目",
"githubSponsors": "GitHub Sponsors",
"kofi": "Ko-fi",
- "copyright": "© {year} Dutch Drone Squad。开源项目。",
+ "copyright": "© {year} Dutch Drone Squad。开源项目。",
"madeWithPre": "用",
"madeWithPost": "为 FPV 社区打造"
},
+ "translationCta": {
+ "eyebrow": "社区翻译",
+ "title": "帮助 TrackDraw 支持更多语言",
+ "description": "你熟悉其他语言吗?欢迎加入 Crowdin 翻译项目,帮助更多 FPV 俱乐部和赛事组织者使用 TrackDraw。",
+ "action": "前往 Crowdin 翻译"
+ },
"gallery": {
"pageTitle": "FPV 穿越机竞速赛道图库",
"metaTitle": "TrackDraw | FPV 赛道图库",
diff --git a/src/components/landing/Footer.tsx b/src/components/landing/Footer.tsx
index 06db5801..3120e61a 100644
--- a/src/components/landing/Footer.tsx
+++ b/src/components/landing/Footer.tsx
@@ -6,8 +6,8 @@ import {
Bug,
Coffee,
FileText,
- Flag,
Heart,
+ Languages,
Pencil,
ScrollText,
ShieldCheck,
@@ -173,13 +173,13 @@ export function Footer() {
-
- {t("footer.dutchDroneSquad")}
+
+ {t("footer.translate")}
@@ -241,7 +241,21 @@ export function Footer() {
{/* Bottom bar */}
-
{t("footer.copyright", { year: new Date().getFullYear() })}
+
+ {t.rich("footer.copyright", {
+ year: new Date().getFullYear(),
+ organization: (chunks) => (
+
+ {chunks}
+
+ ),
+ })}
+
{t("footer.madeWithPre")}{" "}
{" "}
diff --git a/src/components/landing/HomePage.tsx b/src/components/landing/HomePage.tsx
index 26ea7ace..69f4338c 100644
--- a/src/components/landing/HomePage.tsx
+++ b/src/components/landing/HomePage.tsx
@@ -27,6 +27,7 @@ import {
Route,
Share2,
FileText,
+ Languages,
} from "lucide-react";
import { Screenshot } from "@/components/landing/Screenshot";
import { FaqAccordion } from "@/components/landing/FaqAccordion";
@@ -557,6 +558,34 @@ export default function Home() {
+
+