148aefc68f
New "Team" section — a LinkedIn-style minimal profile page for the FLUX team, fully editable from the HQ Command Center. Data model: - New TeamMember model (name, role, bio, photoUrl, optional social links: email/linkedin/x/website, order, isActive, translationsJson). - Additive migration 20260602120000_add_team_member (IF NOT EXISTS guards). - Name stays as written; role + bio are translatable via the AI engine. HQ panel (/hq-command/dashboard/team): - Drag-to-reorder (same HTML5 pattern as the Hero panel). - Inline auto-save for name/role/visibility; expandable editor for photo upload, bio, social links, and AI auto-translate to IT/VEC/ES/DE. - Photo upload reuses /api/assets with a new flat "team" scope -> /public/team/. - Dashboard tile added. Public page (/[locale]/team): - Responsive card grid (framer-motion stagger), portrait + name + role + bio + social icons (only the links that exist render). - Per-member Person JSON-LD + breadcrumb for SEO. - Localized via getLocalizedData; new TeamPage namespace in all 5 locales. - NavBar item "Team" inserted before "Spare Parts" (translated 5 locales). - Added to sitemap. Infra: - "team" scope registered in /api/assets (SCOPE_ROOTS + FLAT_SCOPES + buildPublicUrl) and revalidate.ts (RevalidateScope + path). - Nginx serves /team/ from disk; docker-compose mounts public/team in both app and nginx (rw + ro). Verified: production build compiles, all 5 /[locale]/team routes + the HQ panel render; TypeScript clean; 5 message files valid JSON. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
230 lines
9.7 KiB
JSON
230 lines
9.7 KiB
JSON
{
|
|
"Consent": {
|
|
"title": "We value your privacy",
|
|
"body": "We use analytics cookies to understand how visitors use our site and to improve it. No data is collected until you accept.",
|
|
"learnMore": "Privacy Policy",
|
|
"accept": "Accept",
|
|
"decline": "Decline"
|
|
},
|
|
"Navigation": {
|
|
"applications": "Applications",
|
|
"globalMap": "Global Map",
|
|
"ourStory": "Our Story",
|
|
"parts": "Spare Parts",
|
|
"insideFlux": "Inside Flux",
|
|
"team": "Team"
|
|
},
|
|
"TeamPage": {
|
|
"eyebrow": "Our Team",
|
|
"title1": "The minds behind",
|
|
"title2": "the power.",
|
|
"description": "Four decades of RF engineering expertise, embodied by the people who design, build and support every FLUX system.",
|
|
"empty": "Our team profiles are coming soon."
|
|
},
|
|
"HeroReel": {
|
|
"title1": "Innovation,",
|
|
"title2": "not imitation.",
|
|
"description1": "Driving innovation where others hesitate",
|
|
"description2": "Crafting Next-Gen RF Solutions With Unmatched Precision and European Excellence."
|
|
},
|
|
"CartDrawer": {
|
|
"titleSupport": "Tech Support",
|
|
"titleCart": "Operations Cart",
|
|
"tabParts": "Spare Parts",
|
|
"tabDiagnostic": "Request Diagnostic",
|
|
"emptyCart": "Your cart is empty.",
|
|
"needHelp": "Need technical assistance instead?",
|
|
"quote": "Quote",
|
|
"contactDetails": "Contact Details",
|
|
"fullName": "Full Name",
|
|
"email": "Work Email",
|
|
"company": "Company",
|
|
"phone": "Phone (Optional)",
|
|
"placeholderDiagnostic": "Describe the malfunction, error codes, or symptoms...",
|
|
"placeholderCart": "Additional notes for your order...",
|
|
"attachMedia": "Attach Media (Optional)",
|
|
"selectFiles": "Select Files",
|
|
"dragDrop": "Drag videos or photos here. Max 50MB per file.",
|
|
"gdprAgreement": "I agree to the",
|
|
"dataPrivacy": "Data Privacy Policy",
|
|
"gdprDesc": ". My media files will be securely analyzed by FLUX Engineering and purged upon resolution.",
|
|
"estSubtotal": "Est. Subtotal",
|
|
"quotePending": "+ Quote items pending",
|
|
"btnSubmitEngineering": "Submit to Engineering",
|
|
"btnRequestComponents": "Request Components",
|
|
"encrypting": "Encrypting Media...",
|
|
"connecting": "Connecting...",
|
|
"successTitle": "Request Received",
|
|
"successDesc1": "Your ticket",
|
|
"successDesc2": "has been assigned to our engineering team.",
|
|
"closePanel": "Close Panel",
|
|
"modalTitle": "Privacy & Data Handling",
|
|
"modalDesc1": "In compliance with EU GDPR, FLUX Srl collects your contact information and media files strictly for technical diagnostics and commercial quoting.",
|
|
"modalDesc2": "Automated Purge:",
|
|
"modalDesc3": "All videos and images you attach are stored in a secure quarantine environment and will be",
|
|
"modalDesc4": "permanently deleted from our servers",
|
|
"modalDesc5": "automatically once our engineers resolve your ticket.",
|
|
"understood": "Understood"
|
|
},
|
|
"HeritagePage": {
|
|
"backToOverview": "Back to Overview",
|
|
"subtitle": "The FLUX Heritage",
|
|
"title1": "Engineering a legacy.",
|
|
"title2": "Redefining the future.",
|
|
"emptyState": "The deep story is currently being written in the CMS."
|
|
},
|
|
"WhatWeDo": {
|
|
"subtitle": "What We Do",
|
|
"title": "We develop advanced radio frequency technologies to drive the industries of tomorrow.",
|
|
"desc": "Delivering innovation, efficiency, and sustainability in every solution.",
|
|
"tech": "Our pulsed waves technology uses high-frequency electromagnetic fields to heat the water molecules within a product.",
|
|
"process": "When exposed to these waves, the molecules vibrate and rotate millions of times per second.",
|
|
"efficiency": "This intrinsic and immediate heat transfer occurs uniformly, making the process significantly faster and more energy-efficient than conventional methods.",
|
|
"servicesSubtitle": "Our Services",
|
|
"servicesTitle1": "Elevating your manufacturing processes with ",
|
|
"servicesTitle2": "speed, precision, ",
|
|
"servicesTitle3": "and ",
|
|
"servicesTitle4": "energy optimization.",
|
|
"servicesDesc": "Thanks to the versatility of our technology, we offer dedicated solutions across multiple sectors, adapting RF innovation to the specific demands of each field."
|
|
},
|
|
"AppsDeep": {
|
|
"subtitle": "Our Expertise",
|
|
"title1": "Industrial ",
|
|
"title2": "Applications.",
|
|
"moreInfo": "More Information"
|
|
},
|
|
"GlobalOperations": {
|
|
"subtitle": "Worldwide Presence",
|
|
"title1": "Global scale.",
|
|
"title2": "Local precision.",
|
|
"filterAll": "Global Network",
|
|
"filterInstallations": "Installations",
|
|
"filterEvents": "Upcoming Events",
|
|
"filterHQ": "Legacy HQ",
|
|
"filterByApp": "Filter by Application:",
|
|
"networkStatus": "Network Status",
|
|
"statusTracking": "Currently tracking {count} deployments globally, broadcasting live data.",
|
|
"statusShowing": "Showing specialized RF {app} installations across our global network.",
|
|
"helpText": "[ Drag to rotate • Scroll to zoom ]",
|
|
"statusDetails": "Status / Details",
|
|
"viewCaseStudy": "View Case Study",
|
|
"typeEvent": "Event / Exhibition",
|
|
"typeHQ": "Headquarters",
|
|
"typeInstall": "Field Installation"
|
|
},
|
|
"AppsDashboard": {
|
|
"subtitle": "RF Applications",
|
|
"title1": "Engineered for your industry.",
|
|
"title2": "Optimized for efficiency.",
|
|
"desc": "Our solid-state RF technology is highly flexible for production scheduling. Select an application below to see the impact on your operational metrics.",
|
|
"calcROI": "Calculate ROI",
|
|
"compareTech": "Compare Tech",
|
|
"viewSpecs": "View Full Specs"
|
|
},
|
|
"OurStory": {
|
|
"subtitle": "Company Legacy",
|
|
"title": "A history of innovation."
|
|
},
|
|
"NewsHub": {
|
|
"subtitle": "Inside Flux",
|
|
"title1": "Stories from the ",
|
|
"title2": "core.",
|
|
"description": "Tech updates, engineering breakthroughs, and a behind-the-scenes look at the people powering the future of RF technology.",
|
|
"emptyState": "The newsroom is currently preparing the first story.",
|
|
"readFull": "Read the full story",
|
|
"readMore": "Read more"
|
|
},
|
|
"PatrizioLegacy": {
|
|
"subtitle": "Our Heritage",
|
|
"title1": "40 Years of RF Excellence.",
|
|
"title2": "Reimagined for 2026.",
|
|
"p1_1": "Founded and led by Engineer ",
|
|
"p1_2": "Patrizio Grando",
|
|
"p1_3": ", who re-entered the business in 2023 to continue his legacy of innovation. FLUX Srl carries forward four decades of unparalleled expertise in Radio Frequency technology.",
|
|
"p2": "We focus on developing state-of-the-art solid-state RF solutions for innovative markets, where competitors lack the necessary experience and detailed engineering expertise.",
|
|
"button": "Read the deep dive into Patrizio's Legacy"
|
|
},
|
|
"CaseStudyModal": {
|
|
"typeEvent": "Event / Exhibition",
|
|
"typeHQ": "Headquarters",
|
|
"typeInstall": "Field Installation",
|
|
"keyHighlight": "Key Highlight",
|
|
"keyMetric": "Key Metric",
|
|
"locationStand": "Location / Stand",
|
|
"energyImpact": "Energy Impact",
|
|
"systemStatus": "System Status",
|
|
"scheduled": "Scheduled",
|
|
"concluded": "Concluded",
|
|
"operational": "Fully Operational",
|
|
"eventOverview": "Event Overview",
|
|
"projectChronicle": "Project Chronicle",
|
|
"pendingData": "[ Chronicle data pending for this node ]",
|
|
"mediaGallery": "Media Gallery"
|
|
},
|
|
"Footer": {
|
|
"madeInItaly": "Made in Italy",
|
|
"rights": "All rights reserved",
|
|
"techTitle": "Technology",
|
|
"appsTitle": "Applications",
|
|
"companyTitle": "Company",
|
|
"hqTitle": "Headquarters",
|
|
"techSolidState": "Solid-State RF",
|
|
"techMicrowave": "Microwave Systems",
|
|
"techEfficiency": "Energy Efficiency",
|
|
"companyStory": "Our Story",
|
|
"companyMap": "Global Network",
|
|
"companyNews": "Inside Flux"
|
|
},
|
|
"SpareParts": {
|
|
"title1": "Component",
|
|
"title2": "Matrix.",
|
|
"description": "Original FLUX replacement parts and upgrades. Ensure maximum performance and longevity for your RF equipment.",
|
|
"quoteBased": "Quote Based",
|
|
"searchPlaceholder": "Search by SKU, name or spec...",
|
|
"componentsFound": "components found",
|
|
"componentFound": "component found",
|
|
"noComponents": "No components found",
|
|
"clearSearch": "Clear search",
|
|
"accessRestricted": "Access Restricted",
|
|
"accessDescription": "The FLUX Component Matrix is an exclusive B2B portal. Please sign in with your corporate account or request access to view components, pricing, and technical datasheets.",
|
|
"signIn": "Sign In",
|
|
"requestAccess": "Request Access",
|
|
"b2bLogin": "B2B Login",
|
|
"addToCart": "Add to Operations Cart",
|
|
"unitPrice": "Unit Price",
|
|
"productOverview": "Product Overview",
|
|
"techSpecs": "Technical Specifications",
|
|
"noMedia": "No Media Available",
|
|
"mediaGallery": "Media Gallery",
|
|
"page": "Page",
|
|
"of": "of"
|
|
},
|
|
"ArticlePage": {
|
|
"backToNewsHub": "Back to News Hub",
|
|
"backToNews": "Back to News",
|
|
"mediaGallery": "Media Gallery",
|
|
"joinLinkedIn": "Join the conversation on LinkedIn",
|
|
"internalRelease": "Internal Corporate Release"
|
|
},
|
|
"AuthModal": {
|
|
"b2bPortal": "B2B Portal",
|
|
"signIn": "Sign In",
|
|
"requestAccess": "Request Access",
|
|
"corporateEmail": "Corporate Email",
|
|
"password": "Password",
|
|
"accessPortal": "Access Secure Portal",
|
|
"fullName": "Full Name",
|
|
"companyName": "Company Name",
|
|
"workEmail": "Work Email",
|
|
"createPassword": "Create Password",
|
|
"submitRequest": "Submit Request",
|
|
"successMessage": "Access requested successfully. We will notify you via email upon engineering approval.",
|
|
"updateCredentials": "Update Security Credentials",
|
|
"currentPassword": "Current Password",
|
|
"newPassword": "New Password",
|
|
"changePassword": "Change Password",
|
|
"passwordUpdated": "Password updated securely.",
|
|
"secureLogout": "Secure Logout",
|
|
"invalidCredentials": "Invalid credentials."
|
|
}
|
|
} |