Files
flux-srl/messages/en.json
T
davidherran 148aefc68f feat(team): public Team page + HQ CMS panel
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>
2026-06-02 07:17:09 -05:00

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."
}
}