From c88996891b4d3a732445b7c494c998e2e3f3e318 Mon Sep 17 00:00:00 2001 From: Mao Nakamoto <41178744+maonakamoto@users.noreply.github.com> Date: Tue, 25 Aug 2026 22:22:29 +0200 Subject: [PATCH] chore(home): delete 18 dead message keys, and unstick the cookie banner from the bottom nav MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Dead keys The `home` namespace held 78 strings; `src/app/[locale]/page.tsx` — its only consumer — reads 53. The rest render nowhere and were shipped to every visitor in eight languages, because next-intl serialises the whole catalog into the page payload. Removed: `hero.subtitle`, `hero.ctaAbout`, the three `actions.*.secondaryLabel`, and the `proServices`, `press`, `stats`, `asSeenIn` and `impact` branches. `home.newsletter` STAYS, and the way it nearly did not is the point. It looked dead by the same method that correctly identified the other 18 — it is absent from every `t('…')` call in page.tsx. It is consumed by `NewsletterSignup.tsx` as a *nested namespace* (`useTranslations('home.newsletter')`), which a grep for `t('…')` in one file structurally cannot see. The typecheck caught the deletion. Lesson recorded here rather than relearned: for a key's liveness, grep the namespace prefix (`'home.`) as well as the call sites, because next-intl lets any component mount a sub-tree as its own namespace. ## Cookie banner sat under the bottom nav `CookieBanner` used `fixed inset-x-0 bottom-0`. On admin and dashboard shells below `lg` a fixed bottom nav occupies those same 3.5rem, so the banner and the nav overlapped — you could not reliably hit either. It now offsets by `--bottom-nav-clearance`, the variable that exists for exactly this and that `HirnPublicFab` already uses correctly. The variable is `0px` wherever there is no nav, so public pages are unaffected. ## Transparency mission stated the consequence, not the goal "…dass gebrauchte Hardware ein zweites Leben bekommt, offene Software für alle verfügbar ist…" — reuse first, and no mention of the thing evig is actually for. Reordered so intelligence leads and reuse is what makes it affordable, matching the homepage. ICU placeholders preserved exactly; they fill from org.ts. npm run verify green: lint, umlauts, chrome, docs (68/68 baseline, 0 primary), compliance, typecheck, 7746 tests, production build. Co-Authored-By: Claude Opus 5 (1M context) --- messages/de.json | 55 +++++++--------------------- messages/en.json | 59 ++++++------------------------ messages/es.json | 59 ++++++------------------------ messages/fr.json | 59 ++++++------------------------ messages/it.json | 59 ++++++------------------------ messages/ja.json | 59 ++++++------------------------ messages/ko.json | 59 ++++++------------------------ messages/ru.json | 55 +++++++--------------------- src/components/ui/CookieBanner.tsx | 6 ++- 9 files changed, 105 insertions(+), 365 deletions(-) diff --git a/messages/de.json b/messages/de.json index ce9a2b6de..d8c78f0ea 100644 --- a/messages/de.json +++ b/messages/de.json @@ -349,10 +349,8 @@ "titlePrimary": "Zugang zu Intelligenz.", "titleSecondary": "Für alle bezahlbar.", "lede": "Kuratierte Technik, KI und Robotik zu fairen Preisen — plus wirklich zugängliche Reparatur.", - "subtitle": "Gute Technik ist zu teuer und zu schnell Müll. Wir drehen beides um: bezahlbaren Zugang zu Intelligenz — und einen Kreislauf, der Geräte im Umlauf hält statt auf dem Schrott.", "ctaDonate": "Technik entdecken", "ctaDiscover": "Reparatur finden", - "ctaAbout": "Über uns", "positioning": "KI für alle · Geräte, Hilfe, Ausbildung · Zürich" }, "actions": { @@ -363,31 +361,21 @@ "label": "01 / SHOP", "title": "Refurbished IT kaufen?", "subtitle": "Geprüfte Geräte aus dem evig Shop — lokal, transparent und sofort einsatzbereit.", - "primaryLabel": "Zum Shop", - "secondaryLabel": "Marktplatz ansehen" + "primaryLabel": "Zum Shop" }, "repair": { "label": "02 / REPARATUR", "title": "Computer kaputt?", "subtitle": "Techniker und Werkstätten in deiner Nähe helfen — oder biete selbst Reparaturen an.", - "primaryLabel": "Techniker finden", - "secondaryLabel": "Techniker werden" + "primaryLabel": "Techniker finden" }, "learn": { "label": "03 / WORKSHOPS", "title": "Etwas Neues lernen?", "subtitle": "Praxisnahe Workshops zu Linux, Hardware-Reparatur, Programmierung und KI.", - "primaryLabel": "Workshops ansehen", - "secondaryLabel": "Knowhow entdecken" + "primaryLabel": "Workshops ansehen" } }, - "proServices": { - "text": "Wir bieten auch professionelle {link} an: Computer-Reparatur, Datenrettung, Linux-Installation und Webentwicklung.", - "linkLabel": "IT-Dienstleistungen" - }, - "press": { - "eyebrow": "ÜBER UNS BERICHTET" - }, "community": { "eyebrow": "MITMACHEN", "heading": "Werde Teil der Community", @@ -420,26 +408,6 @@ "button": "Zum Shop", "note": "Geräte spenden bleibt möglich unter Mitmachen." }, - "newsletter": { - "title": "Bleib auf dem Laufenden", - "subtitle": "Erfahre, wie wir Technologie nachhaltig machen. Kein Spam, nur Inhalte die zählen.", - "namePlaceholder": "Name (optional)", - "emailPlaceholder": "E-Mail-Adresse", - "submit": "Anmelden", - "submitting": "Wird angemeldet...", - "successMessage": "Danke! Bestätige deine E-Mail, um den Newsletter zu aktivieren.", - "networkError": "Netzwerkfehler. Bitte versuche es später." - }, - "stats": { - "users": "Nutzer:innen", - "listings": "Inserate", - "repairs": "Reparaturen", - "workshops": "Workshops" - }, - "asSeenIn": { - "heading": "Bekannt aus", - "allCoverage": "Alle Medienberichte ansehen" - }, "jsonld": { "description": "Bezahlbarer Zugang zu KI und Robotik: geprüfte gebrauchte Hardware, Reparatur und IT-Hilfe, Linux und offene Software, Weiterbildung und Begleitung von Organisationen.", "areaServed": "Zürich, Basel, Luzern, Schweiz", @@ -450,10 +418,15 @@ "service3Name": "KI und Robotik im Betrieb", "service3Desc": "Weiterbildung, Umschulung und Begleitung bei der Einführung in Organisationen" }, - "impact": { - "title": "Unsere Wirkung", - "subtitle": "Was wir gemeinsam erreicht haben", - "moreLink": "Mehr über unsere Wirkung" + "newsletter": { + "title": "Bleib auf dem Laufenden", + "subtitle": "Erfahre, wie wir Technologie nachhaltig machen. Kein Spam, nur Inhalte die zählen.", + "namePlaceholder": "Name (optional)", + "emailPlaceholder": "E-Mail-Adresse", + "submit": "Anmelden", + "submitting": "Wird angemeldet...", + "successMessage": "Danke! Bestätige deine E-Mail, um den Newsletter zu aktivieren.", + "networkError": "Netzwerkfehler. Bitte versuche es später." } }, "shop": { @@ -4599,8 +4572,8 @@ }, "mission": { "title": "Unsere Mission", - "body": "Als {legalForm} (gegründet {foundingYear}) setzen wir uns dafür ein, dass gebrauchte Hardware ein zweites Leben bekommt, offene Software für alle verfügbar ist, und Menschen den Umgang mit Technologie selbstbestimmt erlernen können.", - "text": "{description} Als {legalForm} (gegründet {foundingYear}) setzen wir uns dafür ein, dass gebrauchte Hardware ein zweites Leben bekommt, offene Software für alle verfügbar ist, und Menschen den Umgang mit Technologie selbstbestimmt erlernen können." + "body": "Als {legalForm} (gegründet {foundingYear}) setzen wir uns dafür ein, dass KI und Robotik für alle erreichbar sind: mit Hardware, die man sich leisten kann, weil sie im Kreislauf bleibt, mit offener Software statt Anbieterbindung, und mit Wissen, damit Menschen ihre Werkzeuge selbstbestimmt nutzen und behalten können.", + "text": "{description} Als {legalForm} (gegründet {foundingYear}) setzen wir uns dafür ein, dass KI und Robotik für alle erreichbar sind: mit Hardware, die man sich leisten kann, weil sie im Kreislauf bleibt, mit offener Software statt Anbieterbindung, und mit Wissen, damit Menschen ihre Werkzeuge selbstbestimmt nutzen und behalten können." }, "stats": { "title": "Zahlen & Fakten", diff --git a/messages/en.json b/messages/en.json index 6ee60d50a..ff15a8634 100644 --- a/messages/en.json +++ b/messages/en.json @@ -347,9 +347,7 @@ "hero": { "title": "Access to intelligence. Affordable for everyone.", "titlePrimary": "Access to intelligence.", - "subtitle": "Good tech is too expensive and turns to junk too fast. We flip both: affordable access to intelligence — and a cycle that keeps devices in circulation instead of in the scrap heap.", "ctaDiscover": "Find repair", - "ctaAbout": "About us", "positioning": "AI for everyone · Devices, help, training · Zurich", "titleSecondary": "Affordable for everyone.", "lede": "Curated tech, AI and robotics at fair prices — plus repair that's truly within reach.", @@ -361,43 +359,23 @@ "title": "Need refurbished IT?", "subtitle": "Verified devices from the evig shop — local, transparent, and ready to use.", "primaryLabel": "Go to shop", - "secondaryLabel": "Browse marketplace", "label": "01 / SHOP" }, "repair": { "title": "Computer broken?", "subtitle": "Technicians and workshops near you can help — or offer repairs yourself.", "primaryLabel": "Find technicians", - "secondaryLabel": "Become a technician", "label": "02 / REPAIR" }, "learn": { "title": "Want to learn something new?", "subtitle": "Hands-on workshops on Linux, hardware repair, programming and AI.", "primaryLabel": "View workshops", - "secondaryLabel": "Browse resources", "label": "03 / WORKSHOPS" }, "eyebrow": "THREE WAYS", "subtitle": "Buy, repair, learn, or contribute — start with the job you need done today." }, - "proServices": { - "text": "We also offer professional {link}: computer repair, data recovery, Linux installation and web development.", - "linkLabel": "IT services" - }, - "impact": { - "title": "Our Impact", - "subtitle": "What we've achieved together", - "moreLink": "More about our impact", - "compactMetrics": { - "devicesRescued": "Devices rescued annually", - "peopleTrained": "People trained", - "reuseRate": "Reuse rate", - "lifespanExtension": "Years of lifespan extension", - "internshipSuccess": "Successful internships", - "careerReentries": "Career re-entries" - } - }, "community": { "heading": "Join the Community", "subtitle": "Use it, contribute, or support — every bit counts.", @@ -423,26 +401,6 @@ }, "eyebrow": "GET INVOLVED" }, - "newsletter": { - "title": "Stay up to date", - "subtitle": "Learn how we make technology sustainable. No spam — only content that matters.", - "namePlaceholder": "Name (optional)", - "emailPlaceholder": "Email address", - "submit": "Subscribe", - "submitting": "Subscribing...", - "successMessage": "Thank you! Please confirm your email to activate the newsletter.", - "networkError": "Network error. Please try again later." - }, - "stats": { - "users": "Users", - "listings": "Listings", - "repairs": "Repairs", - "workshops": "Workshops" - }, - "asSeenIn": { - "heading": "As seen in", - "allCoverage": "View all media coverage" - }, "jsonld": { "description": "Affordable access to AI and robotics: tested used hardware, repair and IT help, Linux and open software, training, and support for organisations.", "areaServed": "Zurich, Basel, Lucerne, Switzerland", @@ -453,15 +411,22 @@ "service3Name": "AI and robotics at work", "service3Desc": "Training, retraining, and support for adopting AI and robotics in organisations" }, - "press": { - "eyebrow": "AS REPORTED IN" - }, "finalCta": { "eyebrow": "READY?", "heading": "Need a device built to last?", "subtitle": "The shop has verified refurbished IT. If something is broken, repair search connects you with suitable technicians and workshops.", "button": "Go to shop", "note": "Device donations still live under Get involved." + }, + "newsletter": { + "title": "Stay up to date", + "subtitle": "Learn how we make technology sustainable. No spam — only content that matters.", + "namePlaceholder": "Name (optional)", + "emailPlaceholder": "Email address", + "submit": "Subscribe", + "submitting": "Subscribing...", + "successMessage": "Thank you! Please confirm your email to activate the newsletter.", + "networkError": "Network error. Please try again later." } }, "shop": { @@ -4833,8 +4798,8 @@ }, "mission": { "title": "Our Mission", - "body": "As a {legalForm} (founded {foundingYear}), we are committed to giving used hardware a second life, making open software available to all, and enabling people to learn how to use technology independently.", - "text": "{description} As a {legalForm} (founded in {foundingYear}), we are committed to giving second-hand hardware a second life, making open software available to everyone, and helping people learn to use technology on their own terms." + "body": "As a {legalForm} (founded {foundingYear}), we work to put AI and robotics within reach of everyone: with hardware people can afford because it stays in circulation, with open software instead of vendor lock-in, and with the knowledge to use and keep those tools on their own terms.", + "text": "{description} As a {legalForm} (founded in {foundingYear}), we work to put AI and robotics within reach of everyone: with hardware people can afford because it stays in circulation, with open software instead of vendor lock-in, and with the knowledge to use and keep those tools on their own terms." }, "stats": { "title": "Facts & Figures", diff --git a/messages/es.json b/messages/es.json index e198e00a2..660d6c6cc 100644 --- a/messages/es.json +++ b/messages/es.json @@ -728,8 +728,8 @@ }, "mission": { "title": "Nuestra misión", - "body": "Como {legalForm} (fundada en {foundingYear}), nos comprometemos a dar una segunda vida al hardware usado, hacer el software libre accesible a todos y permitir que las personas aprendan a usar la tecnología de forma independiente.", - "text": "{description} Como {legalForm} (fundada en {foundingYear}), nos dedicamos a dar una segunda vida al hardware usado, a poner el software libre al alcance de todos y a que las personas puedan aprender a manejar la tecnología de forma autónoma." + "body": "Como {legalForm} (fundada en {foundingYear}), trabajamos para que la IA y la robótica estén al alcance de todos: con hardware asequible porque permanece en circulación, con software abierto en lugar de dependencia de un proveedor, y con el conocimiento para usar y conservar esas herramientas de forma autónoma.", + "text": "{description} Como {legalForm} (fundada en {foundingYear}), trabajamos para que la IA y la robótica estén al alcance de todos: con hardware asequible porque permanece en circulación, con software abierto en lugar de dependencia de un proveedor, y con el conocimiento para usar y conservar esas herramientas de forma autónoma." }, "stats": { "title": "Datos y cifras", @@ -2100,9 +2100,7 @@ "hero": { "title": "Acceso a la inteligencia. Asequible para todos.", "titlePrimary": "Acceso a la inteligencia.", - "subtitle": "La buena tecnología es demasiado cara y se convierte en basura demasiado rápido. Nosotros damos la vuelta a ambas cosas: acceso asequible a la inteligencia y un ciclo que mantiene los dispositivos en circulación en lugar de en el vertedero.", "ctaDiscover": "Encontrar reparación", - "ctaAbout": "Sobre nosotros", "positioning": "IA para todos · Dispositivos, ayuda, formación · Zúrich", "titleSecondary": "Asequible para todos.", "lede": "Tecnología seleccionada, IA y robótica a precios justos, más una reparación realmente accesible.", @@ -2114,43 +2112,23 @@ "title": "¿Tienes un dispositivo viejo?", "subtitle": "Véndelo o regálalo en 2 minutos — gratis y sin comisiones.", "primaryLabel": "Explorar el mercado", - "secondaryLabel": "Vender ahora", "label": "01 / MERCADO" }, "repair": { "title": "¿Ordenador averiado?", "subtitle": "Técnicos cerca de ti te ayudan — o tú mismo ofrece reparaciones.", "primaryLabel": "Buscar ayuda", - "secondaryLabel": "Ser técnico", "label": "02 / AYUDA IT" }, "learn": { "title": "¿Quieres aprender algo nuevo?", "subtitle": "Talleres prácticos de Linux, reparación de hardware, programación e IA.", "primaryLabel": "Ver talleres", - "secondaryLabel": "Explorar knowhow", "label": "03 / TALLERES" }, "eyebrow": "TRES CAMINOS", "subtitle": "Ya quieras deshacerte de un dispositivo viejo, comprar uno asequible o ayudar con reparaciones — estás en el lugar correcto." }, - "proServices": { - "text": "También ofrecemos {link} profesionales: reparación de ordenadores, recuperación de datos, instalación de Linux y desarrollo web.", - "linkLabel": "servicios TI" - }, - "impact": { - "title": "Nuestro impacto", - "subtitle": "Lo que hemos logrado juntos", - "moreLink": "Más sobre nuestro impacto", - "compactMetrics": { - "devicesRescued": "Dispositivos rescatados al año", - "peopleTrained": "Personas formadas", - "reuseRate": "Tasa de reutilización", - "lifespanExtension": "Años de vida útil extendida", - "internshipSuccess": "Prácticas exitosas", - "careerReentries": "Reinserción laboral" - } - }, "community": { "heading": "Únete a la comunidad", "subtitle": "Ya sea usando, colaborando o apoyando — cada aportación cuenta.", @@ -2176,26 +2154,6 @@ }, "eyebrow": "PARTICIPAR" }, - "newsletter": { - "title": "Mantente informado/a", - "subtitle": "Descubre cómo hacemos la tecnología sostenible. Sin spam, solo contenido que importa.", - "namePlaceholder": "Nombre (opcional)", - "emailPlaceholder": "Correo electrónico", - "submit": "Suscribirse", - "submitting": "Suscribiendo...", - "successMessage": "¡Gracias! Confirma tu correo para activar el newsletter.", - "networkError": "Error de red. Por favor, inténtalo más tarde." - }, - "stats": { - "users": "Usuarios/as", - "listings": "Anuncios", - "repairs": "Reparaciones", - "workshops": "Talleres" - }, - "asSeenIn": { - "heading": "Aparecido en", - "allCoverage": "Ver toda la cobertura de medios" - }, "jsonld": { "description": "Acceso asequible a la IA y la robótica: hardware usado y probado, reparación y ayuda informática, Linux y software abierto, formación y acompañamiento a organizaciones.", "areaServed": "Zúrich, Basilea, Lucerna, Suiza", @@ -2206,15 +2164,22 @@ "service3Name": "IA y robótica en el trabajo", "service3Desc": "Formación, reciclaje profesional y acompañamiento en su adopción" }, - "press": { - "eyebrow": "COMO SE REPORTÓ" - }, "finalCta": { "eyebrow": "¿LISTO?", "heading": "Dale una segunda vida a tu ordenador.", "subtitle": "5 minutos de esfuerzo. Lo recogemos. Recibes un recibo de donación. Tu dispositivo termina con alguien que lo necesita.", "button": "Donar un dispositivo", "note": "Donar dispositivos sigue siendo posible en Participar." + }, + "newsletter": { + "title": "Mantente informado/a", + "subtitle": "Descubre cómo hacemos la tecnología sostenible. Sin spam, solo contenido que importa.", + "namePlaceholder": "Nombre (opcional)", + "emailPlaceholder": "Correo electrónico", + "submit": "Suscribirse", + "submitting": "Suscribiendo...", + "successMessage": "¡Gracias! Confirma tu correo para activar el newsletter.", + "networkError": "Error de red. Por favor, inténtalo más tarde." } }, "itHelp": { diff --git a/messages/fr.json b/messages/fr.json index 64479cd17..91f6b24eb 100644 --- a/messages/fr.json +++ b/messages/fr.json @@ -346,9 +346,7 @@ "hero": { "title": "L'accès à l'intelligence. Abordable pour tous.", "titlePrimary": "L'accès à l'intelligence.", - "subtitle": "La bonne technologie est trop chère et devient trop vite un déchet. Nous inversons les deux : un accès abordable à l'intelligence — et un cycle qui garde les appareils en circulation plutôt qu'à la casse.", "ctaDiscover": "Trouver une réparation", - "ctaAbout": "Qui sommes-nous", "positioning": "L'IA pour tous · Appareils, aide, formation · Zurich", "titleSecondary": "Abordable pour tous.", "lede": "Une technologie sélectionnée, de l'IA et de la robotique à des prix justes — plus une réparation vraiment accessible.", @@ -360,43 +358,23 @@ "title": "Un vieux appareil à donner?", "subtitle": "Vendez-le ou donnez-le en 2 minutes — gratuitement et sans frais.", "primaryLabel": "Découvrir la marketplace", - "secondaryLabel": "Vendre maintenant", "label": "01 / MARCHÉ" }, "repair": { "title": "Ordinateur en panne?", "subtitle": "Des techniciens près de chez vous aident — ou proposez vous-même des réparations.", "primaryLabel": "Trouver de l'aide", - "secondaryLabel": "Devenir technicien", "label": "02 / AIDE IT" }, "learn": { "title": "Envie d'apprendre?", "subtitle": "Ateliers pratiques sur Linux, réparation hardware, programmation et IA.", "primaryLabel": "Voir les ateliers", - "secondaryLabel": "Explorer les ressources", "label": "03 / ATELIERS" }, "eyebrow": "TROIS VOIES", "subtitle": "Que vous souhaitiez vous débarrasser d'un vieil appareil, en acheter un abordable ou aider aux réparations — vous êtes au bon endroit." }, - "proServices": { - "text": "Nous proposons également des {link} professionnels: réparation informatique, récupération de données, installation Linux et développement web.", - "linkLabel": "services IT" - }, - "impact": { - "title": "Notre impact", - "subtitle": "Ce que nous avons accompli ensemble", - "moreLink": "En savoir plus sur notre impact", - "compactMetrics": { - "devicesRescued": "Appareils sauvés annuellement", - "peopleTrained": "Personnes formées", - "reuseRate": "Taux de réutilisation", - "lifespanExtension": "Années de prolongation de vie", - "internshipSuccess": "Stages réussis", - "careerReentries": "Réinsertions professionnelles" - } - }, "community": { "heading": "Rejoignez la communauté", "subtitle": "Utiliser, contribuer ou soutenir — chaque geste compte.", @@ -422,26 +400,6 @@ }, "eyebrow": "PARTICIPER" }, - "newsletter": { - "title": "Restez informé", - "subtitle": "Découvrez comment nous rendons la technologie durable. Pas de spam, seulement l'essentiel.", - "namePlaceholder": "Nom (optionnel)", - "emailPlaceholder": "Adresse e-mail", - "submit": "S'inscrire", - "submitting": "Inscription en cours...", - "successMessage": "Merci! Confirmez votre e-mail pour activer la newsletter.", - "networkError": "Erreur réseau. Veuillez réessayer plus tard." - }, - "stats": { - "users": "Utilisateurs", - "listings": "Annonces", - "repairs": "Réparations", - "workshops": "Ateliers" - }, - "asSeenIn": { - "heading": "Vu dans", - "allCoverage": "Voir toute la couverture médiatique" - }, "jsonld": { "description": "Un accès abordable à l'IA et à la robotique : matériel d'occasion testé, réparation et aide informatique, Linux et logiciels libres, formation et accompagnement des organisations.", "areaServed": "Zurich, Bâle, Lucerne, Suisse", @@ -452,15 +410,22 @@ "service3Name": "IA et robotique au travail", "service3Desc": "Formation, reconversion et accompagnement lors de leur mise en place" }, - "press": { - "eyebrow": "TEL QUE RAPPORTÉ" - }, "finalCta": { "eyebrow": "PRÊT ?", "heading": "Donnez une seconde vie à votre ordinateur.", "subtitle": "5 minutes d'effort. Nous le récupérons. Vous recevez un reçu fiscal. Votre appareil finit chez quelqu'un qui en a besoin.", "button": "Faire don d'un appareil", "note": "Le don d’appareils reste possible via Participer." + }, + "newsletter": { + "title": "Restez informé", + "subtitle": "Découvrez comment nous rendons la technologie durable. Pas de spam, seulement l'essentiel.", + "namePlaceholder": "Nom (optionnel)", + "emailPlaceholder": "Adresse e-mail", + "submit": "S'inscrire", + "submitting": "Inscription en cours...", + "successMessage": "Merci! Confirmez votre e-mail pour activer la newsletter.", + "networkError": "Erreur réseau. Veuillez réessayer plus tard." } }, "shop": { @@ -4886,8 +4851,8 @@ }, "mission": { "title": "Notre mission", - "body": "En tant que {legalForm} (fondée en {foundingYear}), nous nous engageons à donner une seconde vie au matériel usagé, à rendre les logiciels libres accessibles à tous et à permettre aux gens d'apprendre à utiliser la technologie de manière autonome.", - "text": "{description} En tant que {legalForm} (fondée en {foundingYear}), nous nous engageons pour que le matériel d'occasion ait une seconde vie, que les logiciels libres soient accessibles à tous, et que les personnes puissent apprendre à utiliser la technologie de manière autonome." + "body": "En tant que {legalForm} (fondée en {foundingYear}), nous œuvrons pour mettre l'IA et la robotique à la portée de tous : avec du matériel abordable parce qu'il reste en circulation, avec des logiciels libres plutôt qu'une dépendance à un fournisseur, et avec les connaissances permettant d'utiliser et de garder ces outils en toute autonomie.", + "text": "{description} En tant que {legalForm} (fondée en {foundingYear}), nous œuvrons pour mettre l'IA et la robotique à la portée de tous : avec du matériel abordable parce qu'il reste en circulation, avec des logiciels libres plutôt qu'une dépendance à un fournisseur, et avec les connaissances permettant d'utiliser et de garder ces outils en toute autonomie." }, "stats": { "title": "Chiffres & faits", diff --git a/messages/it.json b/messages/it.json index 8b5a4ca9a..1ddf51397 100644 --- a/messages/it.json +++ b/messages/it.json @@ -728,8 +728,8 @@ }, "mission": { "title": "La nostra missione", - "body": "Come {legalForm} (fondata nel {foundingYear}), ci impegniamo a dare una seconda vita all'hardware usato, a rendere il software aperto disponibile a tutti e a permettere alle persone di imparare a usare la tecnologia in modo autonomo.", - "text": "{description} Come {legalForm} (fondata nel {foundingYear}) ci impegniamo affinché l'hardware usato abbia una seconda vita, il software libero sia accessibile a tutti e le persone possano imparare a usare la tecnologia in modo autonomo." + "body": "In quanto {legalForm} (fondata nel {foundingYear}), lavoriamo perché IA e robotica siano alla portata di tutti: con hardware accessibile perché resta in circolazione, con software aperto invece della dipendenza da un fornitore, e con le conoscenze per usare e conservare questi strumenti in autonomia.", + "text": "{description} In quanto {legalForm} (fondata nel {foundingYear}), lavoriamo perché IA e robotica siano alla portata di tutti: con hardware accessibile perché resta in circolazione, con software aperto invece della dipendenza da un fornitore, e con le conoscenze per usare e conservare questi strumenti in autonomia." }, "stats": { "title": "Numeri e fatti", @@ -2100,9 +2100,7 @@ "hero": { "title": "Accesso all'intelligenza. Alla portata di tutti.", "titlePrimary": "Accesso all'intelligenza.", - "subtitle": "La buona tecnologia costa troppo e diventa rifiuto troppo in fretta. Noi ribaltiamo entrambe le cose: accesso all'intelligenza a prezzi accessibili — e un ciclo che tiene i dispositivi in circolazione anziché tra i rottami.", "ctaDiscover": "Trova una riparazione", - "ctaAbout": "Chi siamo", "positioning": "IA per tutti · Dispositivi, aiuto, formazione · Zurigo", "titleSecondary": "Alla portata di tutti.", "lede": "Tecnologia selezionata, IA e robotica a prezzi equi — e una riparazione davvero accessibile.", @@ -2114,43 +2112,23 @@ "title": "Hai un vecchio dispositivo?", "subtitle": "Vendilo o regalalo in 2 minuti — gratis e senza commissioni.", "primaryLabel": "Scopri il mercato", - "secondaryLabel": "Vendi ora", "label": "01 / MERCATO" }, "repair": { "title": "Computer guasto?", "subtitle": "I tecnici vicino a te sono pronti ad aiutare — o offri tu stesso riparazioni.", "primaryLabel": "Trova aiuto", - "secondaryLabel": "Diventa tecnico", "label": "02 / AIUTO IT" }, "learn": { "title": "Vuoi imparare qualcosa di nuovo?", "subtitle": "Workshop pratici su Linux, riparazione hardware, programmazione e IA.", "primaryLabel": "Vedi i workshop", - "secondaryLabel": "Scopri il knowhow", "label": "03 / WORKSHOP" }, "eyebrow": "TRE STRADE", "subtitle": "Che tu voglia disfarti di un vecchio dispositivo, comprarne uno conveniente o aiutare con le riparazioni — sei nel posto giusto." }, - "proServices": { - "text": "Offriamo anche {link} professionali: riparazione computer, recupero dati, installazione Linux e sviluppo web.", - "linkLabel": "servizi IT" - }, - "impact": { - "title": "Il nostro impatto", - "subtitle": "Cosa abbiamo raggiunto insieme", - "moreLink": "Scopri di più sul nostro impatto", - "compactMetrics": { - "devicesRescued": "Dispositivi salvati all anno", - "peopleTrained": "Persone formate", - "reuseRate": "Tasso di riutilizzo", - "lifespanExtension": "Anni di vita estesa", - "internshipSuccess": "Tirocini riusciti", - "careerReentries": "Reinserimenti lavorativi" - } - }, "community": { "heading": "Entra a far parte della community", "subtitle": "Che tu voglia usare, contribuire o sostenere — ogni apporto conta.", @@ -2176,26 +2154,6 @@ }, "eyebrow": "PARTECIPA" }, - "newsletter": { - "title": "Rimani aggiornato", - "subtitle": "Scopri come rendiamo la tecnologia sostenibile. Niente spam, solo contenuti che contano.", - "namePlaceholder": "Nome (facoltativo)", - "emailPlaceholder": "Indirizzo email", - "submit": "Iscriviti", - "submitting": "Iscrizione in corso...", - "successMessage": "Grazie! Conferma la tua email per attivare la newsletter.", - "networkError": "Errore di rete. Riprova più tardi." - }, - "stats": { - "users": "Utenti", - "listings": "Annunci", - "repairs": "Riparazioni", - "workshops": "Workshop" - }, - "asSeenIn": { - "heading": "Come visto in", - "allCoverage": "Vedi tutta la copertura mediatica" - }, "jsonld": { "description": "Accesso accessibile a IA e robotica: hardware usato e testato, riparazione e aiuto informatico, Linux e software aperto, formazione e accompagnamento alle organizzazioni.", "areaServed": "Zurigo, Basilea, Lucerna, Svizzera", @@ -2206,15 +2164,22 @@ "service3Name": "IA e robotica nel lavoro", "service3Desc": "Formazione, riqualificazione e accompagnamento nella loro introduzione" }, - "press": { - "eyebrow": "COME RIPORTATO" - }, "finalCta": { "eyebrow": "PRONTO?", "heading": "Dai una seconda vita al tuo computer.", "subtitle": "5 minuti di sforzo. Lo ritiriamo noi. Ricevi una ricevuta di donazione. Il tuo dispositivo finisce a chi ne ha bisogno.", "button": "Dona un dispositivo", "note": "Donare dispositivi resta possibile in Partecipa." + }, + "newsletter": { + "title": "Rimani aggiornato", + "subtitle": "Scopri come rendiamo la tecnologia sostenibile. Niente spam, solo contenuti che contano.", + "namePlaceholder": "Nome (facoltativo)", + "emailPlaceholder": "Indirizzo email", + "submit": "Iscriviti", + "submitting": "Iscrizione in corso...", + "successMessage": "Grazie! Conferma la tua email per attivare la newsletter.", + "networkError": "Errore di rete. Riprova più tardi." } }, "itHelp": { diff --git a/messages/ja.json b/messages/ja.json index 9c6ee2999..6c45156f0 100644 --- a/messages/ja.json +++ b/messages/ja.json @@ -728,8 +728,8 @@ }, "mission": { "title": "Our Mission", - "body": "{legalForm}({foundingYear}年設立)として、中古ハードウェアに第二の命を与え、オープンソフトウェアを誰もが利用できるようにし、人々が自律的にテクノロジーの使い方を学べるよう取り組んでいます。", - "text": "{description} As a {legalForm} (founded in {foundingYear}), we are committed to giving second-hand hardware a second life, making open software available to everyone, and helping people learn to use technology on their own terms." + "body": "{legalForm}({foundingYear} 年設立)として、私たちは AI とロボティクスが誰にとっても手の届くものになるよう取り組んでいます。循環し続けるからこそ手が届くハードウェア、ベンダーに縛られないオープンなソフトウェア、そしてその道具を自分の意思で使い、持ち続けるための知識とともに。", + "text": "{description} {legalForm}({foundingYear} 年設立)として、私たちは AI とロボティクスが誰にとっても手の届くものになるよう取り組んでいます。循環し続けるからこそ手が届くハードウェア、ベンダーに縛られないオープンなソフトウェア、そしてその道具を自分の意思で使い、持ち続けるための知識とともに。" }, "stats": { "title": "Facts & Figures", @@ -2100,9 +2100,7 @@ "hero": { "title": "知能へのアクセスを、すべての人に手の届く価格で。", "titlePrimary": "知能へのアクセスを。", - "subtitle": "良いテクノロジーは高すぎて、あまりにも早くゴミになる。私たちはその両方を覆します。手の届く価格で知能にアクセスできるように。そして、機器をスクラップにせず循環させ続ける仕組みを。", "ctaDiscover": "修理を探す", - "ctaAbout": "私たちについて", "positioning": "すべての人に AI · 端末、手助け、学び · チューリッヒ", "titleSecondary": "すべての人に手の届く価格で。", "lede": "厳選したテクノロジー、AI、ロボティクスを適正価格で。そして、本当に手の届く修理も。", @@ -2114,43 +2112,23 @@ "title": "古いデバイスはありますか?", "subtitle": "2分で無料出品 — 手数料なし。", "primaryLabel": "マーケットを見る", - "secondaryLabel": "今すぐ出品", "label": "01 / マーケット" }, "repair": { "title": "パソコンが壊れましたか?", "subtitle": "近くの技術者が手伝います — または自分で修理を提供する。", "primaryLabel": "サポートを探す", - "secondaryLabel": "技術者になる", "label": "02 / ITサポート" }, "learn": { "title": "新しいことを学びたいですか?", "subtitle": "Linux、ハードウェア修理、プログラミング、AIの実践ワークショップ。", "primaryLabel": "ワークショップを見る", - "secondaryLabel": "ノウハウを探る", "label": "03 / ワークショップ" }, "eyebrow": "3つの道", "subtitle": "古いデバイスを手放したい、手頃なものを買いたい、修理を手伝いたい — どんな目的でも、ここが正しい場所です。" }, - "proServices": { - "text": "私たちはプロフェッショナルな{link}も提供しています:パソコン修理、データ復旧、Linuxインストール、ウェブ開発。", - "linkLabel": "ITサービス" - }, - "impact": { - "title": "私たちの活動成果", - "subtitle": "一緒に達成したこと", - "moreLink": "活動成果について詳しく", - "compactMetrics": { - "devicesRescued": "年間救済デバイス数", - "peopleTrained": "研修受講者数", - "reuseRate": "再利用率", - "lifespanExtension": "寿命延長年数", - "internshipSuccess": "インターンシップ成功率", - "careerReentries": "職業復帰件数" - } - }, "community": { "heading": "コミュニティの一員になる", "subtitle": "利用する、協力する、支援する — すべての貢献が大切です。", @@ -2176,26 +2154,6 @@ }, "eyebrow": "参加する" }, - "newsletter": { - "title": "最新情報をお届け", - "subtitle": "テクノロジーを持続可能にする方法をお伝えします。スパムなし、大切な内容のみ。", - "namePlaceholder": "名前(任意)", - "emailPlaceholder": "メールアドレス", - "submit": "登録", - "submitting": "登録中...", - "successMessage": "ありがとうございます!メールを確認してニュースレターを有効にしてください。", - "networkError": "ネットワークエラーが発生しました。後でもう一度お試しください。" - }, - "stats": { - "users": "ユーザー", - "listings": "出品", - "repairs": "修理件数", - "workshops": "ワークショップ" - }, - "asSeenIn": { - "heading": "メディア掲載", - "allCoverage": "すべてのメディア報道を見る" - }, "jsonld": { "description": "AI とロボティクスへの手の届くアクセス。検査済みの中古ハードウェア、修理と IT の手助け、Linux とオープンソフトウェア、学び直し、そして組織への伴走。", "areaServed": "チューリッヒ、バーゼル、ルツェルン、スイス", @@ -2206,15 +2164,22 @@ "service3Name": "現場の AI とロボティクス", "service3Desc": "導入にあたっての研修、学び直し、そして伴走" }, - "press": { - "eyebrow": "報道掲載" - }, "finalCta": { "eyebrow": "準備はいい?", "heading": "あなたのコンピュータに第二の命を。", "subtitle": "5分の手間で。私たちが引き取ります。寄付証明書を受け取れます。あなたのデバイスは必要としている人のもとへ。", "button": "デバイスを寄付", "note": "デバイスの寄付は「参加する」から引き続き可能です。" + }, + "newsletter": { + "title": "最新情報をお届け", + "subtitle": "テクノロジーを持続可能にする方法をお伝えします。スパムなし、大切な内容のみ。", + "namePlaceholder": "名前(任意)", + "emailPlaceholder": "メールアドレス", + "submit": "登録", + "submitting": "登録中...", + "successMessage": "ありがとうございます!メールを確認してニュースレターを有効にしてください。", + "networkError": "ネットワークエラーが発生しました。後でもう一度お試しください。" } }, "itHelp": { diff --git a/messages/ko.json b/messages/ko.json index c927d5edb..6c6099078 100644 --- a/messages/ko.json +++ b/messages/ko.json @@ -728,8 +728,8 @@ }, "mission": { "title": "Our Mission", - "body": "{legalForm}으로서 ({foundingYear}년 설립), 중고 하드웨어에 두 번째 삶을 부여하고, 오픈 소프트웨어를 모두가 이용할 수 있게 하며, 사람들이 자율적으로 기술 사용법을 배울 수 있도록 노력합니다.", - "text": "{description} As a {legalForm} (founded in {foundingYear}), we are committed to giving second-hand hardware a second life, making open software available to everyone, and helping people learn to use technology on their own terms." + "body": "{legalForm}({foundingYear}년 설립)로서 우리는 AI와 로보틱스가 모두에게 닿을 수 있도록 일합니다. 순환 속에 머물기에 감당할 수 있는 하드웨어, 공급사에 묶이지 않는 열린 소프트웨어, 그리고 그 도구를 스스로 쓰고 지킬 수 있게 하는 지식과 함께.", + "text": "{description} {legalForm}({foundingYear}년 설립)로서 우리는 AI와 로보틱스가 모두에게 닿을 수 있도록 일합니다. 순환 속에 머물기에 감당할 수 있는 하드웨어, 공급사에 묶이지 않는 열린 소프트웨어, 그리고 그 도구를 스스로 쓰고 지킬 수 있게 하는 지식과 함께." }, "stats": { "title": "Facts & Figures", @@ -2100,9 +2100,7 @@ "hero": { "title": "지능에 대한 접근을, 모두가 감당할 수 있는 가격으로.", "titlePrimary": "지능에 대한 접근을.", - "subtitle": "좋은 기술은 너무 비싸고, 너무 빨리 쓰레기가 됩니다. 우리는 그 둘을 뒤집습니다. 지능에 대한 접근을 누구나 감당할 수 있게, 그리고 기기를 폐기물이 아니라 순환 속에 머물게 하는 구조로.", "ctaDiscover": "수리 찾기", - "ctaAbout": "소개", "positioning": "모두를 위한 AI · 기기, 도움, 교육 · 취리히", "titleSecondary": "모두가 감당할 수 있는 가격으로.", "lede": "엄선한 기술과 AI, 로보틱스를 합리적인 가격에. 그리고 정말로 손닿는 곳에 있는 수리까지.", @@ -2114,43 +2112,23 @@ "title": "오래된 기기가 있으신가요?", "subtitle": "2분 안에 판매하거나 나눠드리세요 — 무료, 수수료 없음.", "primaryLabel": "마켓플레이스 둘러보기", - "secondaryLabel": "지금 판매하기", "label": "01 / 마켓플레이스" }, "repair": { "title": "컴퓨터가 고장났나요?", "subtitle": "가까운 기술자가 도움을 드립니다 — 또는 직접 수리를 제공해 보세요.", "primaryLabel": "도움 찾기", - "secondaryLabel": "기술자 되기", "label": "02 / IT 지원" }, "learn": { "title": "새로운 것을 배우고 싶으신가요?", "subtitle": "Linux, 하드웨어 수리, 프로그래밍, AI에 관한 실습 워크숍.", "primaryLabel": "워크숍 보기", - "secondaryLabel": "노하우 탐색", "label": "03 / 워크숍" }, "eyebrow": "세 가지 길", "subtitle": "오래된 장치를 처분하고 싶거나, 저렴한 장치를 사고 싶거나, 수리를 돕고 싶다면 — 제대로 찾아오셨습니다." }, - "proServices": { - "text": "저희는 전문 {link}도 제공합니다: 컴퓨터 수리, 데이터 복구, Linux 설치, 웹 개발.", - "linkLabel": "IT 서비스" - }, - "impact": { - "title": "우리의 영향력", - "subtitle": "함께 달성한 것들", - "moreLink": "영향력에 대해 더 알아보기", - "compactMetrics": { - "devicesRescued": "연간 구제된 기기 수", - "peopleTrained": "교육받은 사람 수", - "reuseRate": "재사용률", - "lifespanExtension": "수명 연장 연수", - "internshipSuccess": "인턴십 성공률", - "careerReentries": "직업 복귀 건수" - } - }, "community": { "heading": "커뮤니티의 일원이 되세요", "subtitle": "이용하든, 돕든, 지원하든 — 모든 기여가 중요합니다.", @@ -2176,26 +2154,6 @@ }, "eyebrow": "참여" }, - "newsletter": { - "title": "최신 소식 받기", - "subtitle": "기술을 지속 가능하게 만드는 방법을 알아보세요. 스팸 없이, 중요한 내용만.", - "namePlaceholder": "이름 (선택)", - "emailPlaceholder": "이메일 주소", - "submit": "구독", - "submitting": "구독 중...", - "successMessage": "감사합니다! 뉴스레터를 활성화하려면 이메일을 확인해 주세요.", - "networkError": "네트워크 오류입니다. 나중에 다시 시도해 주세요." - }, - "stats": { - "users": "사용자", - "listings": "판매 목록", - "repairs": "수리", - "workshops": "워크숍" - }, - "asSeenIn": { - "heading": "언론 보도", - "allCoverage": "모든 미디어 보도 보기" - }, "jsonld": { "description": "AI와 로보틱스에 대한 감당 가능한 접근. 검사된 중고 하드웨어, 수리와 IT 도움, 리눅스와 열린 소프트웨어, 재교육, 그리고 조직 동행.", "areaServed": "취리히, 바젤, 루체른, 스위스", @@ -2206,15 +2164,22 @@ "service3Name": "현장의 AI와 로보틱스", "service3Desc": "도입을 위한 교육, 재교육, 그리고 동행" }, - "press": { - "eyebrow": "언론 보도" - }, "finalCta": { "eyebrow": "준비됐나요?", "heading": "컴퓨터에 두 번째 생명을 주세요.", "subtitle": "5분만 투자하세요. 저희가 수거합니다. 기부 영수증을 받습니다. 당신의 장치가 필요한 사람의 손에 들어갑니다.", "button": "장치 기부하기", "note": "기기 기부는 ‘참여하기’에서 계속 가능합니다." + }, + "newsletter": { + "title": "최신 소식 받기", + "subtitle": "기술을 지속 가능하게 만드는 방법을 알아보세요. 스팸 없이, 중요한 내용만.", + "namePlaceholder": "이름 (선택)", + "emailPlaceholder": "이메일 주소", + "submit": "구독", + "submitting": "구독 중...", + "successMessage": "감사합니다! 뉴스레터를 활성화하려면 이메일을 확인해 주세요.", + "networkError": "네트워크 오류입니다. 나중에 다시 시도해 주세요." } }, "itHelp": { diff --git a/messages/ru.json b/messages/ru.json index 33db486f6..99dfa3add 100644 --- a/messages/ru.json +++ b/messages/ru.json @@ -352,10 +352,8 @@ "titlePrimary": "Доступ к интеллекту.", "titleSecondary": "По карману каждому.", "lede": "Отобранная техника, ИИ и робототехника по честным ценам — и по-настоящему доступный ремонт.", - "subtitle": "Хорошая техника слишком дорога и слишком быстро превращается в мусор. Мы переворачиваем и то, и другое: доступ к интеллекту по карману каждому — и цикл, который держит устройства в обороте, а не на свалке.", "ctaDonate": "Открыть технику", "ctaDiscover": "Найти ремонт", - "ctaAbout": "О нас", "positioning": "ИИ для всех · Устройства, помощь, обучение · Цюрих" }, "actions": { @@ -366,31 +364,21 @@ "label": "01 / МАРКЕТПЛЕЙС", "title": "Осталось старое устройство?", "subtitle": "Продайте или подарите его за 2 минуты. Бесплатно, без комиссий и посредников.", - "primaryLabel": "Открыть маркетплейс", - "secondaryLabel": "Продать сейчас" + "primaryLabel": "Открыть маркетплейс" }, "repair": { "label": "02 / IT-ПОМОЩЬ", "title": "Сломался компьютер?", "subtitle": "Техники из сообщества помогут — быстро, честно, на месте. Или предложите свои услуги по ремонту.", - "primaryLabel": "Найти помощь", - "secondaryLabel": "Стать техником" + "primaryLabel": "Найти помощь" }, "learn": { "label": "03 / ВОРКШОПЫ", "title": "Хотите научиться новому?", "subtitle": "Практические воркшопы по Linux, ремонту оборудования, программированию и ИИ. Маленькие группы, личный подход, hands-on.", - "primaryLabel": "Посмотреть воркшопы", - "secondaryLabel": "Открыть для себя знания" + "primaryLabel": "Посмотреть воркшопы" } }, - "proServices": { - "text": "Мы также предлагаем профессиональные IT-услуги: ремонт компьютеров, восстановление данных, установку Linux и веб-разработку.", - "linkLabel": "IT-услуги" - }, - "press": { - "eyebrow": "О НАС ПИШУТ" - }, "community": { "eyebrow": "ПРИНЯТЬ УЧАСТИЕ", "heading": "Станьте частью сообщества.", @@ -423,26 +411,6 @@ "button": "Пожертвовать устройство", "note": "Пожертвовать устройство по-прежнему можно в разделе «Принять участие»." }, - "newsletter": { - "title": "Будьте в курсе", - "subtitle": "Узнавайте, как мы делаем технологии устойчивыми. Без спама, только важный контент.", - "namePlaceholder": "Имя (необязательно)", - "emailPlaceholder": "Адрес электронной почты", - "submit": "Подписаться", - "submitting": "Подписка...", - "successMessage": "Спасибо! Подтвердите свой email, чтобы активировать рассылку.", - "networkError": "Ошибка сети. Пожалуйста, попробуйте позже." - }, - "stats": { - "users": "Пользователи", - "listings": "Объявления", - "repairs": "Ремонты", - "workshops": "Воркшопы" - }, - "asSeenIn": { - "heading": "О нас писали", - "allCoverage": "Посмотреть все публикации в СМИ" - }, "jsonld": { "description": "Посильный доступ к ИИ и робототехнике: проверенное подержанное железо, ремонт и помощь с техникой, Linux и открытые программы, обучение и сопровождение организаций.", "areaServed": "Цюрих, Базель, Люцерн, Швейцария", @@ -453,10 +421,15 @@ "service3Name": "ИИ и робототехника в работе", "service3Desc": "Обучение, переобучение и сопровождение при внедрении" }, - "impact": { - "title": "Наше влияние", - "subtitle": "Чего мы достигли вместе", - "moreLink": "Подробнее о нашем влиянии" + "newsletter": { + "title": "Будьте в курсе", + "subtitle": "Узнавайте, как мы делаем технологии устойчивыми. Без спама, только важный контент.", + "namePlaceholder": "Имя (необязательно)", + "emailPlaceholder": "Адрес электронной почты", + "submit": "Подписаться", + "submitting": "Подписка...", + "successMessage": "Спасибо! Подтвердите свой email, чтобы активировать рассылку.", + "networkError": "Ошибка сети. Пожалуйста, попробуйте позже." } }, "shop": { @@ -4573,8 +4546,8 @@ }, "mission": { "title": "Наша миссия", - "body": "Как {legalForm} (основана в {foundingYear}), мы работаем над тем, чтобы бывшее в употреблении оборудование получало вторую жизнь, открытое ПО было доступно всем, а люди могли осваивать технологии самостоятельно.", - "text": "{description} Как {legalForm} (основана в {foundingYear}), мы работаем над тем, чтобы бывшее в употреблении оборудование получало вторую жизнь, открытое ПО было доступно всем, а люди могли осваивать технологии самостоятельно." + "body": "Как {legalForm} (основана в {foundingYear}), мы работаем над тем, чтобы ИИ и робототехника были доступны каждому: с техникой, которая по карману, потому что остаётся в обороте, с открытым программным обеспечением вместо привязки к поставщику и со знаниями, позволяющими пользоваться этими инструментами и сохранять их самостоятельно.", + "text": "{description} Как {legalForm} (основана в {foundingYear}), мы работаем над тем, чтобы ИИ и робототехника были доступны каждому: с техникой, которая по карману, потому что остаётся в обороте, с открытым программным обеспечением вместо привязки к поставщику и со знаниями, позволяющими пользоваться этими инструментами и сохранять их самостоятельно." }, "stats": { "title": "Цифры и факты", diff --git a/src/components/ui/CookieBanner.tsx b/src/components/ui/CookieBanner.tsx index cd2316e5f..769527394 100644 --- a/src/components/ui/CookieBanner.tsx +++ b/src/components/ui/CookieBanner.tsx @@ -53,7 +53,11 @@ export function CookieBanner() { role="dialog" aria-live="polite" aria-label={t('title')} - className="fixed inset-x-0 bottom-0 z-9998 border-t-2 border-subtle bg-surface-base" + // `bottom-0` is not the bottom of the visible area on admin and dashboard + // shells: below lg they render a fixed bottom nav, and the banner was + // sharing those 3.5rem with it. --bottom-nav-clearance is 0px wherever + // there is no nav, so this is correct on public pages too. + className="fixed inset-x-0 bottom-[var(--bottom-nav-clearance,0px)] z-9998 border-t-2 border-subtle bg-surface-base" >