diff --git a/src/Components/Sections/DepartmentDetail/DepartmentDetail.jsx b/src/Components/Sections/DepartmentDetail/DepartmentDetail.jsx index 93756cd..b9364da 100644 --- a/src/Components/Sections/DepartmentDetail/DepartmentDetail.jsx +++ b/src/Components/Sections/DepartmentDetail/DepartmentDetail.jsx @@ -1,7 +1,7 @@ import React, { useState, useEffect, useRef, useCallback } from "react"; import { motion, AnimatePresence } from "framer-motion"; import { useTranslation } from "react-i18next"; -import "../../../../src/i18n"; +import "../../../../src/i18n"; import d1 from "../../../../src/assets/Images/d1.jpeg"; import d2 from "../../../../src/assets/Images/d2.jpeg"; @@ -128,7 +128,11 @@ function ProjectsTimeline({ const scrollLeft = scrollContainer.scrollLeft; const targetScroll = - scrollLeft + itemRect.left - containerRect.left - containerRect.width / 2 + itemRect.width / 2; + scrollLeft + + itemRect.left - + containerRect.left - + containerRect.width / 2 + + itemRect.width / 2; scrollContainer.scrollTo({ left: targetScroll, behavior: "smooth" }); setActiveItem(index); @@ -185,7 +189,8 @@ function ProjectsTimeline({ return () => { clearTimeout(t); - if (scrollContainer) scrollContainer.removeEventListener("scroll", onScroll); + if (scrollContainer) + scrollContainer.removeEventListener("scroll", onScroll); window.removeEventListener("resize", onResize); }; }, [itemsRefs, drawCurvedLines, setActiveItem]); @@ -236,25 +241,64 @@ function ProjectsTimeline({ .projects-timeline-root.plain-bleed .project-card { max-width:420px; } `; - const mainStyle = plain ? { background: "#ffffff", paddingBottom: 0 } : { background: "linear-gradient(135deg, var(--bg-start) 0%, var(--bg-mid) 30%, var(--bg-end) 60%)" }; + const mainStyle = plain + ? { background: "#ffffff", paddingBottom: 0 } + : { + background: + "linear-gradient(135deg, var(--bg-start) 0%, var(--bg-mid) 30%, var(--bg-end) 60%)", + }; return ( -
+
{!plain && (
-

+

{mainTitle}

-

{subtitle}

+

+ {subtitle} +

)}
-
-
+
+
{projects.map((project, idx) => (
- - + +
@@ -293,7 +353,6 @@ function ProjectsTimeline({ ); } - const defaultProjects = [ { year: "1999-2015", @@ -305,7 +364,10 @@ const defaultProjects = [ ], }, { year: "2001", items: ["أعمال تشغيل وصيانة الدورة لمعمل الوهيب ستوك إير"] }, - { year: "2002", items: ["أعمال تشغيل وصيانة الدورة لمعمل العربية لدرفلة إير"] }, + { + year: "2002", + items: ["أعمال تشغيل وصيانة الدورة لمعمل العربية لدرفلة إير"], + }, { year: "2004", items: ["أعمال متنوعة في مجال الدرفلة والتصنيع"] }, { year: "2016", @@ -314,7 +376,10 @@ const defaultProjects = [ "أي أم، التايتيك - التروت، تصميم وتنفيذ", ], }, - { year: "2016-2017", items: ["التدريب العالمي 600 طن/يوم", "التدريب للصناعات الغذائية"] }, + { + year: "2016-2017", + items: ["التدريب العالمي 600 طن/يوم", "التدريب للصناعات الغذائية"], + }, { year: "2017", items: ["دراسة تأهيلية معمل الشمس (العسافي - حمص)"] }, { year: "2019", @@ -324,8 +389,17 @@ const defaultProjects = [ ], }, { year: "2020", items: ["استكمال دراسة تأهيلية للصم وقياس الشمس"] }, - { year: "2021", items: ["منشأ تيسير لمعمل المتحدة، تصميم الاسور - أبو الشامات"] }, - { year: "2022", items: ["استكمال منشأ تيسير لمعمل المتحدة", "معمل المثنى للتصنيع السريع - طرطوس"] }, + { + year: "2021", + items: ["منشأ تيسير لمعمل المتحدة، تصميم الاسور - أبو الشامات"], + }, + { + year: "2022", + items: [ + "استكمال منشأ تيسير لمعمل المتحدة", + "معمل المثنى للتصنيع السريع - طرطوس", + ], + }, { year: "2023", items: ["مشاريع متنوعة في مجال التصنيع والدرفلة"] }, ]; @@ -339,29 +413,47 @@ export default function DepartmentDetail() { { id: 3, title: t("department.buttons.works"), key: "works" }, ]; - const expertiseItems = t("department.expertiseItems", { returnObjects: true }) || [ - "دراسات الجدوى الاقتصادية وتحليل الربحية والمخاطر للمشاريع الصناعية والهندسية", - "الدراسات الهندسية الأولية والنهائية والتفصيلية", - "تصميم المخططات التنفيذية", - "تنفيذ الأعمال المدنية والمعمارية والمعدنية للمنشآت الصناعية", - "تصنيع وتركيب خطوط الإنتاج محلياً أو خطوط الانتاج المستوردة", - "تنفيذ الأعمال الميكانيكية والكهربائية وأنظمة التحكم", - "الإشراف على التشغيل التجريبي وتدريب الكوادر الفنية", - ]; + const expertiseItemsRaw = t("department.expertiseItems", { + returnObjects: true, + }); + const expertiseItems = Array.isArray(expertiseItemsRaw) + ? expertiseItemsRaw + : [ + "دراسات الجدوى الاقتصادية وتحليل الربحية والمخاطر للمشاريع الصناعية والهندسية", + "الدراسات الهندسية الأولية والنهائية والتفصيلية", + "تصميم المخططات التنفيذية", + "تنفيذ الأعمال المدنية والمعمارية والمعدنية للمنشآت الصناعية", + "تصنيع وتركيب خطوط الإنتاج محلياً أو خطوط الانتاج المستوردة", + "تنفيذ الأعمال الميكانيكية والكهربائية وأنظمة التحكم", + "الإشراف على التشغيل التجريبي وتدريب الكوادر الفنية", + ]; - const servicesItems = t("department.servicesItems", { returnObjects: true }) || [ - "الصيانة الدورية والوقائية.", - "الصيانة الطارئة ومعالجة الأعطال.", - "إعادة التأهيل والتحديث الفني للمنشآت.", - "فحص وتقييم الحالة الفنية للتجهيزات والآلات.", - "أعمال التفتيش الفني والهندسي وفق المعايير العالمية.", - "رفع كفاءة التشغيل وتقليل تكاليف الأعطال", - ]; + const servicesItemsRaw = t("department.servicesItems", { + returnObjects: true, + }); + const servicesItems = Array.isArray(servicesItemsRaw) + ? servicesItemsRaw + : [ + "الصيانة الدورية والوقائية.", + "الصيانة الطارئة ومعالجة الأعطال.", + "إعادة التأهيل والتحديث الفني للمنشآت.", + "فحص وتقييم الحالة الفنية للتجهيزات والآلات.", + "أعمال التفتيش الفني والهندسي وفق المعايير العالمية.", + "رفع كفاءة التشغيل وتقليل تكاليف الأعطال", + ]; - const defaultProjectsTranslated = t("department.defaultProjects", { returnObjects: true }) || defaultProjects; + const defaultProjectsTranslated = + t("department.defaultProjects", { returnObjects: true }) || defaultProjects; const displayItems = active === "services" ? servicesItems : expertiseItems; - const heroImage = active === "expertise" ? d2 : active === "services" ? d3 : active === "works" ? d4 : d1; + const heroImage = + active === "expertise" + ? d2 + : active === "services" + ? d3 + : active === "works" + ? d4 + : d1; const handleButtonClick = (key) => { setActive((prev) => (prev === key ? null : key)); @@ -397,12 +489,21 @@ export default function DepartmentDetail() {
{active === "expertise" ? ( - +
- {t("department.hero.expertiseBadge") || "اختصاص القسم"} + {t("department.hero.expertiseBadge") || + "اختصاص القسم"}

- {t("department.hero.expertiseTitle") || "حلول متكاملة للمنشآت الصناعية"} + {t("department.hero.expertiseTitle") || + "حلول متكاملة للمنشآت الصناعية"}

{t("department.hero.expertiseSubtitle") || @@ -410,19 +511,35 @@ export default function DepartmentDetail() {

) : active === "services" ? ( - +
{t("department.hero.servicesBadge") || "خدمات القسم"}

- {t("department.hero.servicesTitle") || "خدمات الصيانة للمنشآت وخطوط الإنتاج"} + {t("department.hero.servicesTitle") || + "خدمات الصيانة للمنشآت وخطوط الإنتاج"}

- {t("department.hero.servicesSubtitle") || "يتضمن هذا القسم خدمات الصيانة الشاملة والدورية للمنشآت الصناعية وخطوط الانتاج، وتشمل:"} + {t("department.hero.servicesSubtitle") || + "يتضمن هذا القسم خدمات الصيانة الشاملة والدورية للمنشآت الصناعية وخطوط الانتاج، وتشمل:"}

) : active === "works" ? ( - +
{t("department.hero.worksBadge") || "الأعمال المنفذة"}
@@ -430,13 +547,22 @@ export default function DepartmentDetail() { {t("department.hero.worksTitle") || "الأعمال المنفذة"}

- {t("department.hero.worksSubtitle") || "عرض مشروعاتنا وخط الزمن الخاص بالأعمال المنفذة."} + {t("department.hero.worksSubtitle") || + "عرض مشروعاتنا وخط الزمن الخاص بالأعمال المنفذة."}

) : ( - +

- {t("department.sectionTitle") || "قسم إنشاء وصيانة المنشآت الصناعية وخطوط الإنتاج"} + {t("department.sectionTitle") || + "قسم إنشاء وصيانة المنشآت الصناعية وخطوط الإنتاج"}

)} @@ -444,7 +570,10 @@ export default function DepartmentDetail() {
-
+
{!active && ( handleButtonClick(b.key)} className="group relative rounded-2xl p-4 sm:p-6 shadow-2xl border border-transparent flex flex-col h-full text-right focus:outline-none focus:ring-4 focus:ring-amber-200 transition-all duration-300 overflow-hidden bg-white/80 backdrop-blur-sm" @@ -474,12 +607,24 @@ export default function DepartmentDetail() {
{b.id}
-

{b.title}

+

+ {b.title} +

{t("department.clickForDetails")} - - + +

@@ -492,8 +637,16 @@ export default function DepartmentDetail() {
- - + +
@@ -526,11 +679,25 @@ export default function DepartmentDetail() { {b.id}
-

{b.title}

-

{t("department.clickForDetails")}

+

+ {b.title} +

+

+ {t("department.clickForDetails")} +

- - + + ))} @@ -543,25 +710,92 @@ export default function DepartmentDetail() {
{!active ? ( - + ) : active === "works" ? ( - - setActive(null)} whileHover={{ x: 8 }} className="inline-flex items-center gap-3 text-amber-600 hover:text-amber-700 font-bold mb-6 sm:mb-8 group text-sm sm:text-base focus:outline-none focus:ring-2 focus:ring-amber-200 rounded-lg px-3 py-2 mr-0 md:-mr-4"> - - + + setActive(null)} + whileHover={{ x: 8 }} + className="inline-flex items-center gap-3 text-amber-600 hover:text-amber-700 font-bold mb-6 sm:mb-8 group text-sm sm:text-base focus:outline-none focus:ring-2 focus:ring-amber-200 rounded-lg px-3 py-2 mr-0 md:-mr-4" + > + +
{t("department.backToMenu")} -
- +
+
) : ( - - setActive(null)} whileHover={{ x: 8 }} className="inline-flex items-center gap-3 text-amber-600 hover:text-amber-700 font-bold mb-6 sm:mb-8 group text-sm sm:text-base focus:outline-none focus:ring-2 focus:ring-amber-200 rounded-lg px-3 py-2 mr-0 md:-mr-4"> - - + + setActive(null)} + whileHover={{ x: 8 }} + className="inline-flex items-center gap-3 text-amber-600 hover:text-amber-700 font-bold mb-6 sm:mb-8 group text-sm sm:text-base focus:outline-none focus:ring-2 focus:ring-amber-200 rounded-lg px-3 py-2 mr-0 md:-mr-4" + > + + {t("department.backToMenu")} @@ -578,19 +812,51 @@ export default function DepartmentDetail() { >
- - + + + +
-

{text}

+

+ {text} +

- - - + + +
@@ -598,11 +864,21 @@ export default function DepartmentDetail() { ))}
- +
- Professional integrated services -
+ + Professional integrated services + +
diff --git a/src/Components/Sections/DepartmentDetail6/DepartmentDetail6.jsx b/src/Components/Sections/DepartmentDetail6/DepartmentDetail6.jsx index 890cf7e..cea183c 100644 --- a/src/Components/Sections/DepartmentDetail6/DepartmentDetail6.jsx +++ b/src/Components/Sections/DepartmentDetail6/DepartmentDetail6.jsx @@ -1,4 +1,4 @@ -import React, { useState, useEffect, useRef, useCallback } from "react"; +import React, { useState, useEffect, useRef, useCallback } from "react"; import { motion, AnimatePresence } from "framer-motion"; import { useTranslation } from "react-i18next"; import d19 from "../../../../src/assets/Images/d19.jpeg"; @@ -15,7 +15,7 @@ function ProjectsTimeline({ dir = "rtl", scrollLabel = "خط زمني قابل للتمرير", prevLabel = "السابق", - nextLabel = "التالي" + nextLabel = "التالي", }) { const wrapperRef = useRef(null); const scrollRef = useRef(null); @@ -131,7 +131,11 @@ function ProjectsTimeline({ const scrollLeft = scrollContainer.scrollLeft; const targetScroll = - scrollLeft + itemRect.left - containerRect.left - containerRect.width / 2 + itemRect.width / 2; + scrollLeft + + itemRect.left - + containerRect.left - + containerRect.width / 2 + + itemRect.width / 2; scrollContainer.scrollTo({ left: targetScroll, behavior: "smooth" }); setActiveItem(index); @@ -188,7 +192,8 @@ function ProjectsTimeline({ return () => { clearTimeout(t); - if (scrollContainer) scrollContainer.removeEventListener("scroll", onScroll); + if (scrollContainer) + scrollContainer.removeEventListener("scroll", onScroll); window.removeEventListener("resize", onResize); }; }, [itemsRefs, drawCurvedLines, setActiveItem]); @@ -253,25 +258,65 @@ function ProjectsTimeline({ .projects-timeline-root.plain-bleed .project-card { max-width:420px; } `; - const mainStyle = plain ? { background: "#ffffff", paddingBottom: 0 } : { background: "linear-gradient(135deg, var(--bg-start) 0%, var(--bg-mid) 30%, var(--bg-end) 60%)" }; + const mainStyle = plain + ? { background: "#ffffff", paddingBottom: 0 } + : { + background: + "linear-gradient(135deg, var(--bg-start) 0%, var(--bg-mid) 30%, var(--bg-end) 60%)", + }; return ( -
+
{!plain && (
-

+

{mainTitle}

-

{subtitle}

+

+ {subtitle} +

)}
-
-
+
+
{projects.map((project, idx) => (
- - + +
@@ -319,7 +380,10 @@ export default function DepartmentDetail6() { const cycleImgs = [d28, d27, d29]; const [cycleIndex, setCycleIndex] = useState(0); useEffect(() => { - const tInterval = setInterval(() => setCycleIndex((i) => (i + 1) % cycleImgs.length), 3000); + const tInterval = setInterval( + () => setCycleIndex((i) => (i + 1) % cycleImgs.length), + 3000 + ); return () => clearInterval(tInterval); }, []); @@ -330,11 +394,39 @@ export default function DepartmentDetail6() { ]; // card groups from translations - const cardGroups = t("departmentDetail6.cardGroups", { returnObjects: true }); + const cardGroupsRaw = t("departmentDetail6.cardGroups", { + returnObjects: true, + }); - const projectsTimeline = t("departmentDetail6.projectsTimeline.defaultProjects", { returnObjects: true }); + const expertiseItemsRaw = t("departmentDetail6.expertiseItems", { + returnObjects: true, + }); + const validExpertiseItems = Array.isArray(expertiseItemsRaw) + ? expertiseItemsRaw + : []; - const heroImage = active === "expertise" ? cycleImgs[cycleIndex] : active === "works" ? d30 : d19; + const cardGroups = Array.isArray(cardGroupsRaw) + ? cardGroupsRaw + : [ + { + title: + t("departmentDetail6.hero.expertiseBadge") || + "Department Expertise", + items: validExpertiseItems, + }, + ]; + + const projectsTimeline = t( + "departmentDetail6.projectsTimeline.defaultProjects", + { returnObjects: true } + ); + + const heroImage = + active === "expertise" + ? cycleImgs[cycleIndex] + : active === "works" + ? d30 + : d19; const handleButtonClick = (key) => { setActive((prev) => (prev === key ? null : key)); @@ -347,7 +439,10 @@ export default function DepartmentDetail6() { const backToMenu = t("departmentDetail6.backToMenu"); return ( -
+
@@ -357,7 +452,11 @@ export default function DepartmentDetail6() { animate={{ opacity: 1, scale: 1 }} exit={{ opacity: 0, scale: 0.98 }} transition={{ duration: 0.6 }} - className={`relative ${active ? 'h-80 sm:h-96 md:h-[540px] lg:h-[680px]' : 'h-72 sm:h-80 md:h-[480px] lg:h-[580px]'} overflow-visible`} + className={`relative ${ + active + ? "h-80 sm:h-96 md:h-[540px] lg:h-[680px]" + : "h-72 sm:h-80 md:h-[480px] lg:h-[580px]" + } overflow-visible`} > {active === "expertise" ? ( - -
{t("departmentDetail6.hero.expertiseBadge")}
-

{t("departmentDetail6.hero.expertiseTitle")}

-

{t("departmentDetail6.hero.expertiseSubtitle")}

+ +
+ {t("departmentDetail6.hero.expertiseBadge")} +
+

+ {t("departmentDetail6.hero.expertiseTitle")} +

+

+ {t("departmentDetail6.hero.expertiseSubtitle")} +

) : active === "works" ? ( - -
{t("departmentDetail6.hero.worksBadge")}
-

{t("departmentDetail6.hero.worksTitle")}

-

{t("departmentDetail6.hero.worksSubtitle")}

+ +
+ {t("departmentDetail6.hero.worksBadge")} +
+

+ {t("departmentDetail6.hero.worksTitle")} +

+

+ {t("departmentDetail6.hero.worksSubtitle")} +

) : ( - -

{t("departmentDetail6.hero.defaultTitle")}

+ +

+ {t("departmentDetail6.hero.defaultTitle")} +

)}
-
+
{!active && ( handleButtonClick(b.key)} - className={`group relative rounded-2xl p-4 sm:p-6 shadow-2xl border border-transparent flex flex-col h-full ${isRTL ? 'text-right' : 'text-left'} focus:outline-none focus:ring-4 focus:ring-amber-200 transition-all duration-300 overflow-hidden bg-white/80 backdrop-blur-sm`} + className={`group relative rounded-2xl p-4 sm:p-6 shadow-2xl border border-transparent flex flex-col h-full ${ + isRTL ? "text-right" : "text-left" + } focus:outline-none focus:ring-4 focus:ring-amber-200 transition-all duration-300 overflow-hidden bg-white/80 backdrop-blur-sm`} >
@@ -427,12 +576,24 @@ export default function DepartmentDetail6() {
{b.id}
-

{b.title}

+

+ {b.title} +

{ui.clickToView} - - + +

@@ -445,8 +606,16 @@ export default function DepartmentDetail6() {
- - + +
@@ -473,17 +642,33 @@ export default function DepartmentDetail6() { transition={{ delay: index * 0.05, duration: 0.35 }} whileHover={{ scale: 1.02 }} onClick={() => handleButtonClick(b.key)} - className={`group relative rounded-2xl p-3 shadow-md border border-transparent flex items-center gap-3 ${isRTL ? 'text-right' : 'text-left'} focus:outline-none focus:ring-4 focus:ring-amber-200 transition-all duration-200 overflow-hidden bg-white/90`} + className={`group relative rounded-2xl p-3 shadow-md border border-transparent flex items-center gap-3 ${ + isRTL ? "text-right" : "text-left" + } focus:outline-none focus:ring-4 focus:ring-amber-200 transition-all duration-200 overflow-hidden bg-white/90`} >
{b.id}
-

{b.title}

-

{ui.clickToView}

+

+ {b.title} +

+

+ {ui.clickToView} +

- - + + ))} @@ -496,21 +681,63 @@ export default function DepartmentDetail6() {
{!active ? ( - + ) : active === "works" ? ( - - setActive(null)} whileHover={{ x: 8 }} className={`inline-flex items-center gap-3 text-amber-600 hover:text-amber-700 font-bold mb-6 sm:mb-8 group text-sm sm:text-base focus:outline-none focus:ring-2 focus:ring-amber-200 rounded-lg px-3 py-2 ${isRTL ? 'mr-0 md:-mr-4' : 'ml-0 md:-ml-4'}`}> - - + + setActive(null)} + whileHover={{ x: 8 }} + className={`inline-flex items-center gap-3 text-amber-600 hover:text-amber-700 font-bold mb-6 sm:mb-8 group text-sm sm:text-base focus:outline-none focus:ring-2 focus:ring-amber-200 rounded-lg px-3 py-2 ${ + isRTL ? "mr-0 md:-mr-4" : "ml-0 md:-ml-4" + }`} + > + +
{backToMenu} -
+
) : ( - - setActive(null)} whileHover={{ x: 8 }} className={`inline-flex items-center gap-3 text-amber-600 hover:text-amber-700 font-bold mb-6 sm:mb-8 group text-sm sm:text-base focus:outline-none focus:ring-2 focus:ring-amber-200 rounded-lg px-3 py-2 ${isRTL ? 'mr-0 md:-mr-4' : 'ml-0 md:-ml-4'}`}> - - + + setActive(null)} + whileHover={{ x: 8 }} + className={`inline-flex items-center gap-3 text-amber-600 hover:text-amber-700 font-bold mb-6 sm:mb-8 group text-sm sm:text-base focus:outline-none focus:ring-2 focus:ring-amber-200 rounded-lg px-3 py-2 ${ + isRTL ? "mr-0 md:-mr-4" : "ml-0 md:-ml-4" + }`} + > + + {backToMenu}
{cardGroups.map((group, gIndex) => ( -
-

{group.title}

+
+

+ {group.title} +

{group.items.map((text, idx) => ( - +
- - + + + +
-

{text}

+

+ {text} +

- - + +
@@ -560,11 +853,21 @@ export default function DepartmentDetail6() { ))}
- +
- {t("departmentDetail6.ui.servicesProfessional")} -
+ + {t("departmentDetail6.ui.servicesProfessional")} + +
diff --git a/src/Components/Sections/DepartmentDetail7/DepartmentDetail7.jsx b/src/Components/Sections/DepartmentDetail7/DepartmentDetail7.jsx index 8c4d3cf..7c03e0f 100644 --- a/src/Components/Sections/DepartmentDetail7/DepartmentDetail7.jsx +++ b/src/Components/Sections/DepartmentDetail7/DepartmentDetail7.jsx @@ -325,7 +325,8 @@ export default function DepartmentDetail7() { { id: 2, title: t("departmentDetail7.buttons.2"), key: "works" }, ]; const projectsTimeline = t("departmentDetail7.projectsTimeline.defaultProjects", { returnObjects: true }); - const expertiseTexts = t("departmentDetail7.expertiseItems", { returnObjects: true }); + const expertiseTextsRaw = t("departmentDetail7.expertiseItems", { returnObjects: true }); + const expertiseTexts = Array.isArray(expertiseTextsRaw) ? expertiseTextsRaw : []; const hero = t("departmentDetail7.hero", { returnObjects: true }); const ui = t("departmentDetail7.ui", { returnObjects: true }); const backToMenu = t("departmentDetail7.backToMenu"); diff --git a/src/Components/Sections/DepartmentDetail8/DepartmentDetail8.jsx b/src/Components/Sections/DepartmentDetail8/DepartmentDetail8.jsx index e3999bd..74f4860 100644 --- a/src/Components/Sections/DepartmentDetail8/DepartmentDetail8.jsx +++ b/src/Components/Sections/DepartmentDetail8/DepartmentDetail8.jsx @@ -387,9 +387,12 @@ export default function DepartmentDetail8() { "departmentDetail8.projectsTimeline.defaultProjects", { returnObjects: true } ); - const expertiseTexts = t("departmentDetail8.expertiseItems", { + const expertiseTextsRaw = t("departmentDetail8.expertiseItems", { returnObjects: true, }); + const expertiseTexts = Array.isArray(expertiseTextsRaw) + ? expertiseTextsRaw + : []; const ui = t("departmentDetail8.ui", { returnObjects: true }); const backToMenu = t("departmentDetail8.backToMenu"); const scrollLabels = t("departmentDetail8.scroll", { returnObjects: true });