diff --git a/components/layout/footer.tsx b/components/layout/footer.tsx index 5d00654..95fcb95 100644 --- a/components/layout/footer.tsx +++ b/components/layout/footer.tsx @@ -4,8 +4,10 @@ import React from "react"; import { useState } from "react"; import { Mail, Phone, MapPin } from "lucide-react"; +import { useTranslations } from "next-intl"; export function Footer() { + const t = useTranslations(); const [email, setEmail] = useState(""); const [subscribed, setSubscribed] = useState(false); @@ -75,8 +77,7 @@ export function Footer() { FIREFORCE

- They are seen as a beacon of hope, a figure who brings calm - amidst chaos and light in the darkest of moments. + {t("footer.description")}

@@ -86,12 +87,12 @@ export function Footer() { @@ -120,40 +113,13 @@ export function Footer() { {/* Support */}
-

SUPPORT

+

+ {t("footer.support.title")} +

diff --git a/components/layout/navbar.tsx b/components/layout/navbar.tsx index aec3cb3..e15b434 100644 --- a/components/layout/navbar.tsx +++ b/components/layout/navbar.tsx @@ -4,8 +4,10 @@ import Link from "next/link"; import { ChevronDown, Phone, Menu, X } from "lucide-react"; import Image from "next/image"; import LanguageSelectRadix from "../languageSwitcher"; +import { useTranslations } from "next-intl"; export function Navbar() { + const t = useTranslations(); const [isDropdownOpen, setIsDropdownOpen] = useState(false); const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false); const [scrolled, setScrolled] = useState(false); @@ -55,13 +57,13 @@ export function Navbar() { href="/" className="text-white text-sm h-full flex items-center font-semibold hover:cursor-pointer hover:text-red-500 transition" > - HOME + {t("navbar.home")} - ABOUT + {t("navbar.about")} {/* Pages Dropdown */} @@ -70,7 +72,7 @@ export function Navbar() { className="text-white text-sm h-full font-semibold hover:text-red-500 transition-colors flex items-center gap-1" > - PAGES + {t("navbar.pages")} - FAQ + {t("navbar.faq")} - Services + {t("navbar.services")} {/* - PRODUCTS + {t("navbar.products")} - CONTACT + {t("navbar.contact")}
@@ -132,7 +134,7 @@ export function Navbar() {
- Emergency Call! + {t("navbar.emergency")}
+123-456-7890 @@ -170,14 +172,21 @@ export function Navbar() { > {/* Mobile Menu Header */}
-
-
-
+ {/* Logo */} + +
+
+ logo image +
+ Ignum
- - FIREFORCE - -
+
)} @@ -240,14 +249,14 @@ export function Navbar() { className="text-white text-base font-semibold hover:text-red-500 transition py-2" onClick={() => setIsMobileMenuOpen(false)} > - PRODUCTS + {t("navbar.products")} setIsMobileMenuOpen(false)} > - CONTACT + {t("navbar.contact")}
diff --git a/components/pages/about/aboutBanner.tsx b/components/pages/about/aboutBanner.tsx index faf0bfc..609d3b7 100644 --- a/components/pages/about/aboutBanner.tsx +++ b/components/pages/about/aboutBanner.tsx @@ -1,6 +1,8 @@ import DotAnimatsiya from "@/components/dot/DotAnimatsiya"; +import { useTranslations } from "next-intl"; export function AboutBanner() { + const t = useTranslations(); return (
{/* Background Image */} @@ -24,17 +26,21 @@ export function AboutBanner() {
- +
+ + + {t("about.banner.title")} + +

- Fire Fighter
At The Ready + {t("about.banner.subtitle")}

- It emphasizes that these firefighters are there not just as public - servants but as a vital part of the community. + {t("about.banner.description")}
diff --git a/components/pages/about/story.tsx b/components/pages/about/story.tsx index 21197aa..e882220 100644 --- a/components/pages/about/story.tsx +++ b/components/pages/about/story.tsx @@ -1,6 +1,8 @@ +import { useTranslations } from "next-intl"; import Image from "next/image"; export function Story() { + const t = useTranslations(); return (
@@ -26,21 +28,11 @@ export function Story() { {/* Content */}

- OUR STORY + {t("about.story.title")}

-

- Our story is one of unwavering dedication, selflessness, and a{" "} - - deep commitment to the safety - - and well-being of our communities. -

-

- Aliquam lorem ante dapibus in viverra quis a tellus phasellus - viverra nulla ut metus varius laoreet quisque rutrum. -

+

{t("about.story.description")}

@@ -92,10 +83,11 @@ export function Story() { />
-

FIREFORCE VISION

+

+ {t("about.story.mission.title")} +

- Phasellus viverra nulla ut metus varius leo imperdiet laoreet. - Quisque rutrum aenean augue vulputate eleifend. + {t("about.story.mission.description")}

diff --git a/components/pages/about/whyChooseUs.tsx b/components/pages/about/whyChooseUs.tsx index 9c7a9d4..2c5baa8 100644 --- a/components/pages/about/whyChooseUs.tsx +++ b/components/pages/about/whyChooseUs.tsx @@ -3,13 +3,15 @@ import Image from "next/image"; import { Check } from "lucide-react"; import DotAnimatsiya from "@/components/dot/DotAnimatsiya"; +import { useTranslations } from "next-intl"; export function WhyChooseUs() { + const t = useTranslations(); const features = [ - { title: "Fast Response Team" }, - { title: "Experienced Firefighter" }, - { title: "Ready 24 Hours" }, - { title: "Fast Response Team" }, + { title: t("about.whyChoose.features.fastResponse") }, + { title: t("about.whyChoose.features.ready24") }, + { title: t("about.whyChoose.features.experienced") }, + { title: t("about.whyChoose.features.quality") }, ]; return ( @@ -22,23 +24,20 @@ export function WhyChooseUs() {
- WHY CHOOSE US + {t("about.whyChoose.title")}

- WE ARE BEST -
- FIREFIGHTER + {t("about.whyChoose.subtitle")}

{/* Description */}

- Aliquam lorem ante dapibus in viverra quis a tellus phasellus - viverra nulla ut metus varius laoreet quisque rutrum. + {t("about.whyChoose.description")}

{/* Features Grid */} @@ -58,7 +57,7 @@ export function WhyChooseUs() { {/* CTA Button */}
@@ -88,10 +87,7 @@ export function WhyChooseUs() { />

- BEST AWARD -

-

- FIREFIGHTER 2025 + {t("about.whyChoose.award")}

diff --git a/components/pages/contact/contactHeader.tsx b/components/pages/contact/contactHeader.tsx index f7aa0d3..e0f9f90 100644 --- a/components/pages/contact/contactHeader.tsx +++ b/components/pages/contact/contactHeader.tsx @@ -1,23 +1,25 @@ import DotAnimatsiya from "@/components/dot/DotAnimatsiya"; +import { useTranslations } from "next-intl"; import React from "react"; export default function ContactHeader() { + const t = useTranslations(); return (
- CONTACT US + {t("contact.banner.title")}

- GET IN TOUCH + {t("contact.banner.subtitle")}

- We'd love to hear from you. Please fill out this form. + {t("contact.banner.description")}

); diff --git a/components/pages/contact/form.tsx b/components/pages/contact/form.tsx index a7a910f..5ad961a 100644 --- a/components/pages/contact/form.tsx +++ b/components/pages/contact/form.tsx @@ -1,6 +1,7 @@ "use client"; import { Check } from "lucide-react"; +import { useTranslations } from "next-intl"; import { useState } from "react"; interface FormData { @@ -22,6 +23,7 @@ interface FormErrors { } export default function Form() { + const t = useTranslations(); const [formData, setFormData] = useState({ firstName: "", lastName: "", @@ -124,7 +126,7 @@ export default function Form() {