From fb51477fcd777998c594f694f5700114d2911dc5 Mon Sep 17 00:00:00 2001 From: Mao Nakamoto <41178744+maonakamoto@users.noreply.github.com> Date: Wed, 26 Aug 2026 03:16:42 +0200 Subject: [PATCH] fix(i18n): teach the wrong-language detector what it can actually detect MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Third time in three PRs that this gate flagged correct Italian and Spanish — "Trovare un tecnico", "Encontrar a quien lo repare", "LO QUE HACEMOS" and seven more, none of them defects. Twice I verified them by hand and bumped the baseline. The rule says the third time you stop fixing instances and close the class. ## Why it was wrong Not a threshold problem — HOLES in the stop-word lists. `un` was listed only under fr; it had `una`/`uno` but not the masculine `un`. So "Trovare un tecnico" scored Italian 0.00, French 0.33 and got flagged. Spanish was missing `lo` and `a` while Italian had `lo`, which is why "Encontrar a quien lo repare" looked Italian. A hole in a list makes CORRECT text look foreign. Filling the holes then made it worse in the other direction: teaching es the word `su` immediately made correct Italian ("Linux su vecchi ThinkPad") look Spanish, and `e`, `non`, `nos` did the same across the other pairs. Sibling Romance languages share their function words. A bag-of-stop-words comparison cannot separate them, and no amount of dictionary work will change that. ## What it does now It detects what it CAN detect: untranslated **English or German** sitting in a translated file. Those function words barely overlap with Romance or CJK ones, and that is the leak that actually happens here — DE is the source language and EN the pivot. Sibling-language comparison is dropped. Three guards, each earned: - LEAK_SOURCES = ['en','de'] — only judge against languages it can tell apart. - MIN_TOKENS_FOR_LANGUAGE_GUESS = 6 — the heuristic's resolution is 1/N; on a three-word string one shared article moves the ratio by 0.33, clearing the threshold on its own. - A script guard, because \w is ASCII-ONLY in JavaScript even under /u, so `[^\W\d_]` counted Hangul, kana and Cyrillic as ZERO letters and my first attempt at this guard silently did nothing. It uses \p{L} now. Without it a Korean sentence containing "evig" and "Revamp-IT" scores as English on those crumbs. Proved by mutation, not by assertion: 16 cases, eleven correct-language strings (it/es/fr/ko/ja/ru, including CJK carrying Latin brand names) all clean, five real English/German leaks all still caught. ## What the fix immediately found **Real untranslated English shipped to five locales.** es, fr, it, ja and ko were all rendering English inside the IT-Hilfe hub — "Describe your issue and receive offers from technicians", "Browse profiles and contact someone directly", "Help as a technician — requests near you", "Register as a technician and help people nearby." — plus the privacy page's data-export sentence in ja and ko. The KEYS existed, so the missing-key audit passed; only the values were English, and the old detector could not see them. All translated here. This is the same class as itHelp.hub.subtitle in #382, which I found by reading a rendered page. The gate finds them now. ## And a dead storefront `shop.*` held 140 keys; three loading/error boundaries use SIX. The other 134 describe a storefront whose pages are pure `redirect()` calls to /marketplace — product grids, cart labels, category breadcrumbs, opening hours — shipped in every visitor's page payload in eight languages. Pruned: ~54KB of JSON, 6511 deleted lines. Liveness checked by namespace prefix, not just call sites (the lesson from home.newsletter), then proved by typecheck. Baseline lowered in the same commit, per the ratchet rule: 706 message findings → 84, with 632 resolved and 0 new. Also folded in (was #386, which deadlocked against this: its new Italian and Spanish headlines were flagged by the very detector this fixes): - /it-hilfe still showed "Computer reparieren, OS neu installieren, IT-Probleme lösen" as its H1 — a keyword list. #382 reframed the metadata and subtitle and missed the line a visitor reads first. It now matches the homepage pillar's link text exactly, so clicking "Jemanden finden, der es repariert" lands on a page with that headline. - "CHF 300.00" wrapped onto two lines on a 390px pool card. A price must not wrap; the title beside it gives way instead. Co-Authored-By: Claude Opus 5 (1M context) --- messages/de.json | 180 +- messages/en.json | 180 +- messages/es.json | 188 +- messages/fr.json | 188 +- messages/it.json | 188 +- messages/ja.json | 190 +- messages/ko.json | 190 +- messages/ru.json | 180 +- scripts/baselines/i18n-hardcoded.json | 5512 +------------------------ scripts/i18n-hardcoded-audit.mjs | 75 +- src/app/[locale]/abos/PoolCard.tsx | 6 +- 11 files changed, 395 insertions(+), 6682 deletions(-) diff --git a/messages/de.json b/messages/de.json index dd202c09c..e3a046951 100644 --- a/messages/de.json +++ b/messages/de.json @@ -407,179 +407,17 @@ } }, "shop": { - "meta": { - "title": "Refurbished IT kaufen", - "description": "Tested refurbished computers, laptops, monitors, and accessories directly from the evig shop in Zurich.", - "productNotFound": "Produkt nicht gefunden", - "productFallbackDesc": "{brand} {model} — geprüft und aufbereitet von {orgName}" - }, - "title": "Unser Shop", - "subtitle": "Geprüfte Refurbished-Hardware", - "filters": { - "all": "Alle", - "laptops": "Laptops", - "desktops": "Desktops", - "accessories": "Zubehör" - }, - "product": { - "addToCart": "In den Warenkorb", - "outOfStock": "Ausverkauft", - "condition": "Zustand", - "warranty": "Garantie", - "months": "{count} Monate", - "stockMany": "{count} Stück verfügbar", - "stockOne": "Letztes Stück", - "suitableFor": "Geeignet für", - "verifiedTitle": "Geprüft & aufbereitet", - "verifiedDesc": "Alle Geräte werden von {orgName} sorgfältig geprüft, gereinigt und neu installiert.", - "buyOnline": "Im Webshop kaufen", - "buyInStore": "Vor Ort kaufen", - "similarProducts": "Ähnliche Produkte", - "conditionLabels": { - "wieNeu": "Wie neu", - "sehrGut": "Sehr gut", - "gut": "Gut", - "akzeptabel": "Akzeptabel" - } - }, - "empty": "Keine Produkte gefunden", - "verifiedBadge": "Geprüft", - "page": { - "heroTitle": "Refurbished IT direkt von evig kaufen", - "heroSubtitle": "Geprüfte Laptops, Computer, Monitore und Zubehör aus unserer eigenen Aufbereitung. Online ansehen, im Laden abholen oder direkt kaufen.", - "metaDescription": "Geprüfte, aufgearbeitete Computer, Laptops, Monitore und Zubehör direkt aus dem evig Shop in Zürich.", - "store": { - "title": "Ladenlokal (Zürich)", - "tagline": "Beratung, Geräte ansehen, direkt mitnehmen", - "accessInfo": "Gut mit ÖV erreichbar. Parkmöglichkeiten in der Nähe.", - "openingHours": "Öffnungszeiten", - "openingHoursMonday": "Montag: {hours}", - "openingHoursTueFri": "Dienstag – Freitag: {hours}", - "openGoogleMaps": "In Google Maps öffnen", - "openOsm": "In OpenStreetMap öffnen", - "contact": "Kontakt", - "mapsInfoTitle": "Warum zwei Kartenoptionen?", - "mapsInfoBody": "OpenStreetMap ist community-getrieben und datensparsam. Google/Apple Maps bieten oft bessere Navigation, Live-Verkehr und POIs. Wähle, was für dich am besten passt – Transparenz und Wahlfreiheit sind uns wichtig.", - "eyebrow": "Vor Ort" - }, - "online": { - "title": "Online-Shops", - "tagline": "Unser eigener Online-Shop ist der Standard.", - "benefit1": "Geprüfte Qualität und Garantie in allen Kanälen", - "benefit2": "Faire Preise, nachhaltige Auswahl", - "benefit3": "Sichere Zahlung", - "shopwareShop": "Shopware öffnen", - "onlineShop": "{orgName} Online-Shop", - "multiShopTitle": "Mehrere Shop-Kanäle?", - "multiShopBody": "Unser {orgName} Online-Shop bietet dir die beste Auswahl an aufgearbeiteter IT-Hardware. Alternativ findest du unser Sortiment auch im Shopware-Shop und im Legacy-System.", - "currentShop": "Aktueller Online-Shop" - }, - "otherPaths": { - "altTitle": "Andere Wege zu bezahlbarer Technik", - "altIntro": "Nicht alle landen hier, um zu kaufen — wir vermitteln auch Geräte an Menschen mit geringen Mitteln und nehmen gerne deine alte Hardware entgegen.", - "donateTitle": "Hardware spenden", - "donateBody": "Funktionstüchtige oder reparierbare Geräte an evig geben — wir bereiten sie auf und geben sie weiter.", - "donateCta": "Zur Spenden­seite", - "needTitle": "Brauchst du ein Gerät und kannst es dir nicht leisten?", - "needBody": "Über das Compirat-Programm vermitteln wir gemeinsam mit Caritas Zürich Geräte an Menschen mit geringen Mitteln.", - "needCta": "Compirat ansehen" - }, - "heroEyebrow": "evig Shop", - "trust": { - "qualityTitle": "Geprüft, gereinigt, bereit", - "qualityBody": "Unsere Geräte werden aufbereitet, getestet und mit sinnvoller Software ausgeliefert.", - "stockTitle": "{count} verfügbare Produkte", - "stockBody": "Live aus unserem veröffentlichten Inventar." - }, - "products": { - "eyebrow": "Unser Sortiment", - "title": "Aktuelle Produkte", - "body": "Das ist der primäre evig Shop. Shopware bleibt nur ein Fallback, falls ein Produkt dort noch besser abgebildet ist.", - "allCta": "Alles durchsuchen", - "emptyTitle": "Aktuell sind keine Produkte veröffentlicht", - "emptyBody": "Das Inventar wird von der Werkstatt gepflegt. Schau später wieder vorbei oder kontaktiere uns direkt." - }, - "repair": { - "eyebrow": "Reparatur statt Neukauf", - "title": "Gerät kaputt? Beschreibe das Problem.", - "body": "Erstelle eine Anfrage mit Fehlerbild, Gerätetyp und Standort. Die Anfrage bleibt im System und passende Techniker oder Werkstätten können sich melden.", - "requestCta": "Reparatur anfragen", - "techniciansCta": "Techniker & Werkstätten ansehen" - }, - "legacy": { - "eyebrow": "Fallback", - "title": "Shopware nur wenn du es brauchst", - "body": "Unser eigener Shop ist der Standard. Den Shopware-Kanal behalten wir als Übergang und für Fälle, in denen dort noch ältere Einträge liegen.", - "cta": "Shopware öffnen" - } - }, - "search": { - "metaTitleWithQuery": "Suche: \"{query}\" | {orgName} Shop", - "metaDescWithQuery": "Suchergebnisse für \"{query}\" – nachhaltig aufbereitete IT-Geräte bei {orgName}.", - "metaTitle": "Suche | {orgName} Shop", - "metaDesc": "Durchsuche unser Sortiment an nachhaltig aufbereiteten IT-Geräten.", - "heroTitleWithQuery": "Ergebnisse für \"{query}\"", - "heroTitle": "Shop durchsuchen", - "placeholder": "Was suchst du? z.B. Laptop, Monitor, Tastatur...", - "submitButton": "Suchen", - "breadcrumbHome": "Start", - "breadcrumbShop": "Shop", - "breadcrumbSearchWithQuery": "Suche: \"{query}\"", - "breadcrumbSearch": "Suche", - "resultsTitle": "Suche nach \"{query}\"", - "resultsComingSoon": "Die Produktsuche wird derzeit eingerichtet. Bald kannst du hier nach aufbereiteten IT-Geräten suchen.", - "goToShop": "Zum Online-Shop", - "allShopOptions": "Alle Shop-Optionen", - "popularSearches": "Beliebte Suchen", - "browseByCategory": "Nach Kategorie stöbern", - "productCount": "{count} Produkte", - "allCategories": "Alle Kategorien anzeigen →", - "noResultsForQuery": "Keine Produkte gefunden für \"{query}\"", - "noResultsHint": "Versuche einen anderen Suchbegriff oder stöbere in den Kategorien.", - "foundCount": "{count, plural, one {# Produkt} other {# Produkte}} gefunden", - "loadingText": "Suche läuft..." - }, - "category": { - "notFoundMeta": "Kategorie nicht gefunden | {orgName} Shop", - "metaTitle": "{categoryName} | {orgName} Shop", - "metaTitleWithParent": "{categoryName} – {parentName} | {orgName} Shop", - "metaDesc": "Entdecke unsere Auswahl an {categoryNameLower} – nachhaltig aufbereitete IT-Geräte bei {orgName}.", - "heroSubtitle": "Entdecke unsere Auswahl an nachhaltig aufbereiteten {categoryNameLower} – geprüfte Qualität zu fairen Preisen.", - "productCount": "{count} Produkte in dieser Kategorie", - "subcategories": "Unterkategorien", - "categoryProductCount": "{count} Produkte", - "productsLoading": "Produkte werden geladen", - "productsComingSoon": "Bald findest du hier aufbereitete IT-Geräte in der Kategorie {categoryName} auf unserem Marketplace.", - "goToShop": "Zum Online-Shop", - "allShopOptions": "Alle Shop-Optionen", - "relatedIn": "Weitere in {parentName}", - "breadcrumbHome": "Start", - "showAllProducts": "Alle {count} Produkte anzeigen" + "error": { + "backToShop": "Zurück zum Shop", + "body": "Beim Laden des Shops ist ein Fehler aufgetreten.", + "retry": "Erneut versuchen", + "title": "Etwas ist schiefgelaufen" }, "loading": { "text": "Shop laden..." }, - "error": { - "title": "Etwas ist schiefgelaufen", - "body": "Beim Laden des Shops ist ein Fehler aufgetreten.", - "retry": "Erneut versuchen", - "backToShop": "Zurück zum Shop" - }, - "header": { - "skipToContent": "Zum Hauptinhalt springen", - "skipToFooter": "Zur Fusszeile springen", - "skipLinks": "Sprunglinks", - "openMenu": "Menü öffnen", - "categories": "Kategorien", - "searchPlaceholder": "Wonach suchst du?", - "searchLabel": "Suche", - "closeSearch": "Suche schliessen", - "compareLabel": "Vergleichsliste ({count} Artikel)", - "wishlistLabel": "Merkliste ({count} Artikel)", - "cartLabel": "Warenkorb", - "backToShop": "Zurück zum Shop", - "shopOverview": "Zur Shop-Übersicht", - "closeMenu": "Menü schliessen" + "search": { + "loadingText": "Suche läuft..." } }, "marketplace": { @@ -3078,8 +2916,8 @@ } }, "hub": { - "eyebrow": "IT-Hilfe", - "title": "Computer reparieren, OS neu installieren, IT-Probleme lösen", + "eyebrow": "Techniker finden", + "title": "Jemanden finden, der es repariert", "subtitle": "evig verbindet dich mit Technikerinnen und Technikern in deiner Nähe — über die Community gratis oder fair bezahlt.", "paths": { "request": { diff --git a/messages/en.json b/messages/en.json index 310612ce4..b01f4945f 100644 --- a/messages/en.json +++ b/messages/en.json @@ -407,179 +407,17 @@ } }, "shop": { - "meta": { - "title": "Buy refurbished IT", - "description": "Tested refurbished computers, laptops, monitors, and accessories directly from the evig shop in Zurich.", - "productNotFound": "Product not found", - "productFallbackDesc": "{brand} {model} — inspected and refurbished by {orgName}" - }, - "title": "Our shop", - "subtitle": "Tested refurbished hardware", - "filters": { - "all": "All", - "laptops": "Laptops", - "desktops": "Desktops", - "accessories": "Accessories" - }, - "product": { - "addToCart": "Add to basket", - "outOfStock": "Out of stock", - "condition": "Condition", - "warranty": "Warranty", - "months": "{count} months", - "stockMany": "{count} in stock", - "stockOne": "Last item", - "suitableFor": "Suitable for", - "verifiedTitle": "Tested & refurbished", - "verifiedDesc": "All devices are carefully tested, cleaned and freshly installed by {orgName}.", - "buyOnline": "Buy in webshop", - "buyInStore": "Buy in-store", - "similarProducts": "Similar products", - "conditionLabels": { - "wieNeu": "Like new", - "sehrGut": "Very good", - "gut": "Good", - "akzeptabel": "Acceptable" - } - }, - "empty": "No products found", - "verifiedBadge": "Verified", - "page": { - "heroTitle": "Buy refurbished IT directly from evig", - "heroSubtitle": "Tested laptops, computers, monitors, and accessories from our own refurbishment work. Browse online, pick up in store, or buy directly.", - "metaDescription": "Tested refurbished computers, laptops, monitors, and accessories directly from the evig shop in Zurich.", - "store": { - "title": "Physical store (Zurich)", - "tagline": "Advice, browse devices, take home immediately", - "accessInfo": "Easily accessible by public transport. Parking available nearby.", - "openingHours": "Opening hours", - "openingHoursMonday": "Monday: {hours}", - "openingHoursTueFri": "Tuesday – Friday: {hours}", - "openGoogleMaps": "Open in Google Maps", - "openOsm": "Open in OpenStreetMap", - "contact": "Contact", - "mapsInfoTitle": "Why two map options?", - "mapsInfoBody": "OpenStreetMap is community-driven and privacy-friendly. Google/Apple Maps often offer better navigation, live traffic, and points of interest. Choose what works best for you – transparency and freedom of choice matter to us.", - "eyebrow": "In store" - }, - "online": { - "title": "Online shops", - "tagline": "Our own online shop is the default.", - "benefit1": "Verified quality and warranty across all channels", - "benefit2": "Fair prices, sustainable selection", - "benefit3": "Secure payment", - "shopwareShop": "Open Shopware", - "onlineShop": "{orgName} online shop", - "multiShopTitle": "Multiple shop channels?", - "multiShopBody": "Our {orgName} online shop offers you the best selection of refurbished IT hardware. You can also find our range in the Shopware shop and the legacy system.", - "currentShop": "Current online shop" - }, - "otherPaths": { - "altTitle": "Other paths to affordable tech", - "altIntro": "Not everyone here is looking to buy. We also place devices with people who have limited means, and we gladly take your old hardware.", - "donateTitle": "Donate hardware", - "donateBody": "Working or repairable devices go to evig — we refurbish them and pass them on.", - "donateCta": "Donation page", - "needTitle": "Need a device but can't afford one?", - "needBody": "Through the Compirat program, we place devices together with Caritas Zurich for people with limited means.", - "needCta": "See Compirat" - }, - "heroEyebrow": "evig shop", - "trust": { - "qualityTitle": "Tested, cleaned, ready", - "qualityBody": "Devices are refurbished, checked, and shipped with practical software.", - "stockTitle": "{count} available products", - "stockBody": "Live from our published inventory." - }, - "products": { - "eyebrow": "Our inventory", - "title": "Current products", - "body": "This is the primary evig shop. Shopware remains only as a fallback when an older item is still better represented there.", - "allCta": "Browse all", - "emptyTitle": "No products are published right now", - "emptyBody": "Inventory is maintained by the workshop. Check back later or contact us directly." - }, - "repair": { - "eyebrow": "Repair before replacing", - "title": "Device broken? Describe the problem.", - "body": "Create a request with the symptoms, device type, and location. The request stays in the system and matching technicians or shops can respond.", - "requestCta": "Request repair", - "techniciansCta": "View technicians & shops" - }, - "legacy": { - "eyebrow": "Fallback", - "title": "Shopware only when you need it", - "body": "Our own shop is the default. We keep the Shopware channel as a transition path and for older listings that may still live there.", - "cta": "Open Shopware" - } - }, - "search": { - "metaTitleWithQuery": "Search: \"{query}\" | {orgName} Shop", - "metaDescWithQuery": "Results for \"{query}\" – sustainably refurbished IT devices at {orgName}.", - "metaTitle": "Search | {orgName} Shop", - "metaDesc": "Browse our range of sustainably refurbished IT devices.", - "heroTitleWithQuery": "Results for \"{query}\"", - "heroTitle": "Search the shop", - "placeholder": "What are you looking for? e.g. laptop, monitor, keyboard...", - "submitButton": "Search", - "breadcrumbHome": "Home", - "breadcrumbShop": "Shop", - "breadcrumbSearchWithQuery": "Search: \"{query}\"", - "breadcrumbSearch": "Search", - "resultsTitle": "Searching for \"{query}\"", - "resultsComingSoon": "Product search is currently being set up. Soon you will be able to search for refurbished IT devices here.", - "goToShop": "Go to online shop", - "allShopOptions": "All shop options", - "popularSearches": "Popular searches", - "browseByCategory": "Browse by category", - "productCount": "{count} products", - "allCategories": "View all categories →", - "noResultsForQuery": "No products found for \"{query}\"", - "noResultsHint": "Try a different search term or browse the categories.", - "foundCount": "{count, plural, one {# product} other {# products}} found", - "loadingText": "Searching..." - }, - "category": { - "notFoundMeta": "Category not found | {orgName} Shop", - "metaTitle": "{categoryName} | {orgName} Shop", - "metaTitleWithParent": "{categoryName} – {parentName} | {orgName} Shop", - "metaDesc": "Discover our range of {categoryNameLower} – sustainably refurbished IT devices at {orgName}.", - "heroSubtitle": "Discover our range of sustainably refurbished {categoryNameLower} – verified quality at fair prices.", - "productCount": "{count} products in this category", - "subcategories": "Subcategories", - "categoryProductCount": "{count} products", - "productsLoading": "Loading products", - "productsComingSoon": "Refurbished IT devices in the {categoryName} category will be available here on our marketplace soon.", - "goToShop": "Go to online shop", - "allShopOptions": "All shop options", - "relatedIn": "More in {parentName}", - "breadcrumbHome": "Home", - "showAllProducts": "Show all {count} products" + "error": { + "backToShop": "Back to shop", + "body": "An error occurred while loading the shop.", + "retry": "Try again", + "title": "Something went wrong" }, "loading": { "text": "Loading shop..." }, - "error": { - "title": "Something went wrong", - "body": "An error occurred while loading the shop.", - "retry": "Try again", - "backToShop": "Back to shop" - }, - "header": { - "skipToContent": "Skip to main content", - "skipToFooter": "Skip to footer", - "skipLinks": "Quick navigation links", - "openMenu": "Open menu", - "categories": "Categories", - "searchPlaceholder": "What are you looking for?", - "searchLabel": "Search", - "closeSearch": "Close search", - "compareLabel": "Compare ({count} items)", - "wishlistLabel": "Wishlist ({count} items)", - "cartLabel": "Basket", - "backToShop": "Back to shop", - "shopOverview": "Shop overview", - "closeMenu": "Close menu" + "search": { + "loadingText": "Searching..." } }, "marketplace": { @@ -3078,8 +2916,8 @@ } }, "hub": { - "eyebrow": "IT Help", - "title": "Fix your computer, reinstall your OS, solve any IT problem", + "eyebrow": "Find a technician", + "title": "Find someone who will fix it", "subtitle": "evig connects you with technicians near you — free through the community or fairly paid.", "paths": { "request": { diff --git a/messages/es.json b/messages/es.json index 50f598c6d..ce69c7f2e 100644 --- a/messages/es.json +++ b/messages/es.json @@ -2540,23 +2540,23 @@ } }, "hub": { - "eyebrow": "IT Help", - "title": "Fix your computer, reinstall your OS, solve any IT problem", + "eyebrow": "Encontrar técnico", + "title": "Encontrar a quien lo repare", "subtitle": "evig te conecta con técnicos cerca de ti: gratis a través de la comunidad o con pago justo.", "paths": { "request": { "title": "Request help", - "description": "Describe your issue and receive offers from technicians", + "description": "Describe tu problema y recibe ofertas de técnicos", "cta": "Start a request →" }, "technicians": { "title": "Choose a technician", - "description": "Browse profiles and contact someone directly", + "description": "Explora los perfiles y contacta directamente", "cta": "Find technicians →" }, "browse": { "title": "Open requests", - "description": "Help as a technician — requests near you", + "description": "Ayuda como técnico: solicitudes cerca de ti", "cta": "Browse requests →" } }, @@ -2566,7 +2566,7 @@ }, "offerHelp": { "title": "Can you repair devices?", - "description": "Register as a technician and help people nearby.", + "description": "Regístrate como técnico y ayuda a personas cerca de ti.", "cta": "Become a technician" } }, @@ -4382,179 +4382,17 @@ "priceFrom": "Desde CHF" }, "shop": { - "meta": { - "title": "Buy refurbished IT", - "description": "Tested refurbished computers, laptops, monitors, and accessories directly from the evig shop in Zurich.", - "productNotFound": "Producto no encontrado", - "productFallbackDesc": "{brand} {model} — inspeccionado y reacondicionado por {orgName}" - }, - "title": "Nuestra tienda", - "subtitle": "Hardware reacondicionado verificado", - "filters": { - "all": "Todos", - "laptops": "Portátiles", - "desktops": "Sobremesa", - "accessories": "Accesorios" - }, - "product": { - "addToCart": "Añadir al carrito", - "outOfStock": "Agotado", - "condition": "Estado", - "warranty": "Garantía", - "months": "{count} {count, plural, one {mes} other {meses}}", - "stockMany": "{count} unidades disponibles", - "stockOne": "Última unidad", - "suitableFor": "Adecuado para", - "verifiedTitle": "Comprobado y reacondicionado", - "verifiedDesc": "Todos los dispositivos son cuidadosamente revisados, limpiados y reinstalados por {orgName}.", - "buyOnline": "Comprar en la tienda online", - "buyInStore": "Comprar en tienda", - "similarProducts": "Productos similares", - "conditionLabels": { - "wieNeu": "Como nuevo", - "sehrGut": "Muy bueno", - "gut": "Bueno", - "akzeptabel": "Aceptable" - } - }, - "empty": "No se encontraron productos", - "verifiedBadge": "Verificado", - "page": { - "heroTitle": "Buy refurbished IT directly from evig", - "heroSubtitle": "Tested laptops, computers, monitors, and accessories from our own refurbishment work. Browse online, pick up in store, or buy directly.", - "metaDescription": "Tested refurbished computers, laptops, monitors, and accessories directly from the evig shop in Zurich.", - "store": { - "title": "Tienda física (Zúrich)", - "tagline": "Asesoría, ver dispositivos, llevártelos al momento", - "accessInfo": "Bien comunicado en transporte público. Aparcamiento cercano.", - "openingHours": "Horario de atención", - "openingHoursMonday": "Lunes: {hours}", - "openingHoursTueFri": "Martes – Viernes: {hours}", - "openGoogleMaps": "Abrir en Google Maps", - "openOsm": "Abrir en OpenStreetMap", - "contact": "Contacto", - "mapsInfoTitle": "¿Por qué dos opciones de mapa?", - "mapsInfoBody": "OpenStreetMap es de gestión comunitaria y minimiza el uso de datos. Google/Apple Maps suelen ofrecer mejor navegación, tráfico en tiempo real y puntos de interés. Elige lo que mejor te convenga — la transparencia y la libertad de elección son importantes para nosotros.", - "eyebrow": "In store" - }, - "online": { - "title": "Tiendas en línea", - "tagline": "Our own online shop is the default.", - "benefit1": "Calidad verificada y garantía en todos los canales", - "benefit2": "Precios justos, selección sostenible", - "benefit3": "Pago seguro", - "currentShop": "Tienda en línea actual", - "shopwareShop": "Open Shopware", - "onlineShop": "Tienda en línea {orgName}", - "multiShopTitle": "¿Varios canales de tienda?", - "multiShopBody": "Nuestra tienda en línea {orgName} te ofrece la mejor selección de hardware TI reacondicionado. También puedes encontrar nuestro catálogo en la tienda Shopware y en el sistema legacy." - }, - "otherPaths": { - "altTitle": "Otras vías para acceder a tecnología asequible", - "altIntro": "No todo el mundo llega aquí para comprar: también facilitamos equipos a personas con recursos limitados y recogemos con gusto su hardware antiguo.", - "donateTitle": "Donar hardware", - "donateBody": "Entregue a evig equipos en funcionamiento o reparables: los acondicionamos y les damos una segunda vida.", - "donateCta": "Ir a la página de donaciones", - "needTitle": "¿Necesita un equipo y no puede permitírselo?", - "needBody": "A través del programa Compirat, junto con Caritas Zúrich, facilitamos equipos a personas con recursos limitados.", - "needCta": "Ver Compirat" - }, - "heroEyebrow": "evig shop", - "trust": { - "qualityTitle": "Tested, cleaned, ready", - "qualityBody": "Devices are refurbished, checked, and shipped with practical software.", - "stockTitle": "{count} available products", - "stockBody": "Live from our published inventory." - }, - "products": { - "eyebrow": "Our inventory", - "title": "Current products", - "body": "This is the primary evig shop. Shopware remains only as a fallback when an older item is still better represented there.", - "allCta": "Browse all", - "emptyTitle": "No products are published right now", - "emptyBody": "Inventory is maintained by the workshop. Check back later or contact us directly." - }, - "repair": { - "eyebrow": "Repair before replacing", - "title": "Device broken? Describe the problem.", - "body": "Create a request with the symptoms, device type, and location. The request stays in the system and matching technicians or shops can respond.", - "requestCta": "Request repair", - "techniciansCta": "View technicians & shops" - }, - "legacy": { - "eyebrow": "Fallback", - "title": "Shopware only when you need it", - "body": "Our own shop is the default. We keep the Shopware channel as a transition path and for older listings that may still live there.", - "cta": "Open Shopware" - } - }, - "search": { - "metaTitleWithQuery": "Búsqueda: «{query}» | Tienda {orgName}", - "metaDescWithQuery": "Resultados de búsqueda para «{query}» — equipos TI reacondicionados de forma sostenible en {orgName}.", - "metaTitle": "Búsqueda | Tienda {orgName}", - "metaDesc": "Explora nuestro catálogo de equipos TI reacondicionados de forma sostenible.", - "heroTitleWithQuery": "Resultados para «{query}»", - "heroTitle": "Buscar en la tienda", - "placeholder": "¿Qué buscas? p. ej. portátil, monitor, teclado...", - "submitButton": "Buscar", - "breadcrumbHome": "Inicio", - "breadcrumbShop": "Tienda", - "breadcrumbSearchWithQuery": "Búsqueda: «{query}»", - "breadcrumbSearch": "Búsqueda", - "resultsTitle": "Búsqueda de «{query}»", - "resultsComingSoon": "La búsqueda de productos está en configuración. Pronto podrás buscar equipos TI reacondicionados aquí.", - "goToShop": "Ir a la tienda en línea", - "allShopOptions": "Todas las opciones de tienda", - "popularSearches": "Búsquedas populares", - "browseByCategory": "Explorar por categoría", - "productCount": "{count} productos", - "allCategories": "Ver todas las categorías →", - "noResultsForQuery": "No se encontraron productos para \"{query}\"", - "noResultsHint": "Prueba con otro término de búsqueda o explora las categorías.", - "foundCount": "{count, plural, one {# producto} other {# productos}} encontrado(s)", - "loadingText": "Buscando..." - }, - "category": { - "notFoundMeta": "Categoría no encontrada | Tienda {orgName}", - "metaTitle": "{categoryName} | Tienda {orgName}", - "metaTitleWithParent": "{categoryName} – {parentName} | Tienda {orgName}", - "metaDesc": "Descubre nuestra selección de {categoryNameLower} — equipos TI reacondicionados de forma sostenible en {orgName}.", - "heroSubtitle": "Descubre nuestra selección de {categoryNameLower} reacondicionados de forma sostenible — calidad verificada a precios justos.", - "productCount": "{count} productos en esta categoría", - "subcategories": "Subcategorías", - "categoryProductCount": "{count} productos", - "productsLoading": "Cargando productos", - "productsComingSoon": "Próximamente encontrarás aquí equipos TI reacondicionados en la categoría {categoryName} en nuestro mercado.", - "goToShop": "Ir a la tienda en línea", - "allShopOptions": "Todas las opciones de tienda", - "relatedIn": "Más en {parentName}", - "breadcrumbHome": "Inicio", - "showAllProducts": "Ver los {count} productos" + "error": { + "backToShop": "Volver a la tienda", + "body": "Se produjo un error al cargar la tienda.", + "retry": "Volver a intentar", + "title": "Algo ha salido mal" }, "loading": { "text": "Cargando tienda..." }, - "error": { - "title": "Algo ha salido mal", - "body": "Se produjo un error al cargar la tienda.", - "retry": "Volver a intentar", - "backToShop": "Volver a la tienda" - }, - "header": { - "skipToContent": "Ir al contenido principal", - "skipToFooter": "Ir al pie de página", - "skipLinks": "Enlaces de acceso rápido", - "openMenu": "Abrir menú", - "categories": "Categorías", - "searchPlaceholder": "¿Qué buscas?", - "searchLabel": "Buscar", - "closeSearch": "Cerrar búsqueda", - "compareLabel": "Lista de comparación ({count} artículos)", - "wishlistLabel": "Lista de deseos ({count} artículos)", - "cartLabel": "Carrito", - "backToShop": "Volver a la tienda", - "shopOverview": "Ir al resumen de la tienda", - "closeMenu": "Cerrar menú" + "search": { + "loadingText": "Buscando..." } }, "support": { diff --git a/messages/fr.json b/messages/fr.json index 02849bbe0..c56926da4 100644 --- a/messages/fr.json +++ b/messages/fr.json @@ -406,179 +406,17 @@ } }, "shop": { - "meta": { - "title": "Buy refurbished IT", - "description": "Tested refurbished computers, laptops, monitors, and accessories directly from the evig shop in Zurich.", - "productNotFound": "Produit introuvable", - "productFallbackDesc": "{brand} {model} — inspecté et remis à neuf par {orgName}" - }, - "title": "Notre boutique", - "subtitle": "Matériel reconditionné vérifié", - "filters": { - "all": "Tous", - "laptops": "Ordinateurs portables", - "desktops": "Ordinateurs de bureau", - "accessories": "Accessoires" - }, - "product": { - "addToCart": "Ajouter au panier", - "outOfStock": "Épuisé", - "condition": "État", - "warranty": "Garantie", - "months": "{count} mois", - "stockMany": "{count} en stock", - "stockOne": "Dernier article", - "suitableFor": "Convient pour", - "verifiedTitle": "Testé & reconditionné", - "verifiedDesc": "Tous les appareils sont soigneusement testés, nettoyés et réinstallés par {orgName}.", - "buyOnline": "Acheter en boutique en ligne", - "buyInStore": "Acheter en magasin", - "similarProducts": "Produits similaires", - "conditionLabels": { - "wieNeu": "Comme neuf", - "sehrGut": "Très bon", - "gut": "Bon", - "akzeptabel": "Acceptable" - } - }, - "empty": "Aucun produit trouvé", - "verifiedBadge": "Vérifié", - "page": { - "heroTitle": "Buy refurbished IT directly from evig", - "heroSubtitle": "Tested laptops, computers, monitors, and accessories from our own refurbishment work. Browse online, pick up in store, or buy directly.", - "metaDescription": "Tested refurbished computers, laptops, monitors, and accessories directly from the evig shop in Zurich.", - "store": { - "title": "Magasin (Zurich)", - "tagline": "Conseil, découverte des appareils, emporter directement", - "accessInfo": "Facilement accessible en transports publics. Places de parc à proximité.", - "openingHours": "Horaires d'ouverture", - "openingHoursMonday": "Lundi : {hours}", - "openingHoursTueFri": "Mardi – Vendredi : {hours}", - "openGoogleMaps": "Ouvrir dans Google Maps", - "openOsm": "Ouvrir dans OpenStreetMap", - "contact": "Contact", - "mapsInfoTitle": "Pourquoi deux options de carte ?", - "mapsInfoBody": "OpenStreetMap est communautaire et respectueux de la vie privée. Google/Apple Maps offrent souvent une meilleure navigation, le trafic en direct et des points d'intérêt. Choisissez ce qui vous convient le mieux – la transparence et la liberté de choix nous tiennent à cœur.", - "eyebrow": "In store" - }, - "online": { - "title": "Boutiques en ligne", - "tagline": "Our own online shop is the default.", - "benefit1": "Qualité vérifiée et garantie sur tous les canaux", - "benefit2": "Prix équitables, choix durable", - "benefit3": "Paiement sécurisé", - "currentShop": "Boutique en ligne actuelle", - "shopwareShop": "Open Shopware", - "onlineShop": "Boutique en ligne {orgName}", - "multiShopTitle": "Plusieurs canaux de vente ?", - "multiShopBody": "Notre boutique en ligne {orgName} vous offre le meilleur choix de matériel informatique reconditionné. Vous trouverez également notre catalogue sur Shopware et dans le système historique." - }, - "otherPaths": { - "altTitle": "D'autres voies vers une technologie abordable", - "altIntro": "Tout le monde n'arrive pas ici pour acheter — nous mettons aussi des appareils à disposition de personnes aux moyens limités et nous récupérons volontiers votre ancien matériel.", - "donateTitle": "Donner du matériel", - "donateBody": "Confiez à evig des appareils fonctionnels ou réparables — nous les remettons en état et les transmettons.", - "donateCta": "Vers la page de dons", - "needTitle": "Vous avez besoin d'un appareil mais ne pouvez pas vous le permettre ?", - "needBody": "Via le programme Compirat, nous fournissons, en collaboration avec Caritas Zurich, des appareils à des personnes aux moyens limités.", - "needCta": "Voir Compirat" - }, - "heroEyebrow": "evig shop", - "trust": { - "qualityTitle": "Tested, cleaned, ready", - "qualityBody": "Devices are refurbished, checked, and shipped with practical software.", - "stockTitle": "{count} available products", - "stockBody": "Live from our published inventory." - }, - "products": { - "eyebrow": "Our inventory", - "title": "Current products", - "body": "This is the primary evig shop. Shopware remains only as a fallback when an older item is still better represented there.", - "allCta": "Browse all", - "emptyTitle": "No products are published right now", - "emptyBody": "Inventory is maintained by the workshop. Check back later or contact us directly." - }, - "repair": { - "eyebrow": "Repair before replacing", - "title": "Device broken? Describe the problem.", - "body": "Create a request with the symptoms, device type, and location. The request stays in the system and matching technicians or shops can respond.", - "requestCta": "Request repair", - "techniciansCta": "View technicians & shops" - }, - "legacy": { - "eyebrow": "Fallback", - "title": "Shopware only when you need it", - "body": "Our own shop is the default. We keep the Shopware channel as a transition path and for older listings that may still live there.", - "cta": "Open Shopware" - } - }, - "search": { - "metaTitleWithQuery": "Recherche : \"{query}\" | Boutique {orgName}", - "metaDescWithQuery": "Résultats pour \"{query}\" – appareils informatiques reconditionnés chez {orgName}.", - "metaTitle": "Recherche | Boutique {orgName}", - "metaDesc": "Parcourez notre sélection d'appareils informatiques reconditionnés.", - "heroTitleWithQuery": "Résultats pour \"{query}\"", - "heroTitle": "Rechercher dans la boutique", - "placeholder": "Que recherchez-vous ? ex. laptop, écran, clavier...", - "submitButton": "Rechercher", - "breadcrumbHome": "Accueil", - "breadcrumbShop": "Boutique", - "breadcrumbSearchWithQuery": "Recherche : \"{query}\"", - "breadcrumbSearch": "Recherche", - "resultsTitle": "Recherche de \"{query}\"", - "resultsComingSoon": "La recherche de produits est en cours de configuration. Vous pourrez bientôt rechercher des appareils informatiques reconditionnés ici.", - "goToShop": "Accéder à la boutique en ligne", - "allShopOptions": "Toutes les options de boutique", - "popularSearches": "Recherches populaires", - "browseByCategory": "Parcourir par catégorie", - "productCount": "{count} produits", - "allCategories": "Afficher toutes les catégories →", - "noResultsForQuery": "Aucun produit trouvé pour \"{query}\"", - "noResultsHint": "Essayez un autre terme de recherche ou parcourez les catégories.", - "foundCount": "{count, plural, one {# produit} other {# produits}} trouvé(s)", - "loadingText": "Recherche en cours..." - }, - "category": { - "notFoundMeta": "Catégorie introuvable | Boutique {orgName}", - "metaTitle": "{categoryName} | Boutique {orgName}", - "metaTitleWithParent": "{categoryName} – {parentName} | Boutique {orgName}", - "metaDesc": "Découvrez notre sélection de {categoryNameLower} – appareils informatiques reconditionnés chez {orgName}.", - "heroSubtitle": "Découvrez notre sélection de {categoryNameLower} reconditionnés – qualité vérifiée à des prix équitables.", - "productCount": "{count} produits dans cette catégorie", - "subcategories": "Sous-catégories", - "categoryProductCount": "{count} produits", - "productsLoading": "Chargement des produits", - "productsComingSoon": "Vous trouverez bientôt ici des appareils reconditionnés dans la catégorie {categoryName} sur notre marketplace.", - "goToShop": "Accéder à la boutique en ligne", - "allShopOptions": "Toutes les options de boutique", - "relatedIn": "Autres dans {parentName}", - "breadcrumbHome": "Accueil", - "showAllProducts": "Afficher les {count} produits" + "error": { + "backToShop": "Retour à la boutique", + "body": "Une erreur est survenue lors du chargement de la boutique.", + "retry": "Réessayer", + "title": "Une erreur s'est produite" }, "loading": { "text": "Chargement de la boutique..." }, - "error": { - "title": "Une erreur s'est produite", - "body": "Une erreur est survenue lors du chargement de la boutique.", - "retry": "Réessayer", - "backToShop": "Retour à la boutique" - }, - "header": { - "skipToContent": "Aller au contenu principal", - "skipToFooter": "Aller au pied de page", - "skipLinks": "Liens de navigation rapide", - "openMenu": "Ouvrir le menu", - "categories": "Catégories", - "searchPlaceholder": "Que recherchez-vous ?", - "searchLabel": "Recherche", - "closeSearch": "Fermer la recherche", - "compareLabel": "Comparer ({count} articles)", - "wishlistLabel": "Liste de souhaits ({count} articles)", - "cartLabel": "Panier", - "backToShop": "Retour à la boutique", - "shopOverview": "Vue d'ensemble de la boutique", - "closeMenu": "Fermer le menu" + "search": { + "loadingText": "Recherche en cours..." } }, "marketplace": { @@ -3077,23 +2915,23 @@ } }, "hub": { - "eyebrow": "IT Help", - "title": "Fix your computer, reinstall your OS, solve any IT problem", + "eyebrow": "Trouver un technicien", + "title": "Trouver quelqu’un qui le répare", "subtitle": "evig vous met en relation avec des techniciennes et techniciens près de chez vous — gratuitement via la communauté ou rémunéré équitablement.", "paths": { "request": { "title": "Request help", - "description": "Describe your issue and receive offers from technicians", + "description": "Décrivez votre panne et recevez des offres de techniciens", "cta": "Start a request →" }, "technicians": { "title": "Choose a technician", - "description": "Browse profiles and contact someone directly", + "description": "Parcourez les profils et contactez directement", "cta": "Find technicians →" }, "browse": { "title": "Open requests", - "description": "Help as a technician — requests near you", + "description": "Aidez en tant que technicien — demandes près de chez vous", "cta": "Browse requests →" } }, @@ -3103,7 +2941,7 @@ }, "offerHelp": { "title": "Can you repair devices?", - "description": "Register as a technician and help people nearby.", + "description": "Inscrivez-vous comme technicien et aidez des personnes près de chez vous.", "cta": "Become a technician" } }, diff --git a/messages/it.json b/messages/it.json index ea939a828..6f89225f6 100644 --- a/messages/it.json +++ b/messages/it.json @@ -2540,23 +2540,23 @@ } }, "hub": { - "eyebrow": "IT Help", - "title": "Fix your computer, reinstall your OS, solve any IT problem", + "eyebrow": "Trovare un tecnico", + "title": "Trovare qualcuno che lo ripari", "subtitle": "evig ti mette in contatto con tecniche e tecnici vicino a te: gratis tramite la community o pagato equamente.", "paths": { "request": { "title": "Request help", - "description": "Describe your issue and receive offers from technicians", + "description": "Descrivi il guasto e ricevi offerte da tecnici", "cta": "Start a request →" }, "technicians": { "title": "Choose a technician", - "description": "Browse profiles and contact someone directly", + "description": "Sfoglia i profili e contatta direttamente", "cta": "Find technicians →" }, "browse": { "title": "Open requests", - "description": "Help as a technician — requests near you", + "description": "Aiuta come tecnico: richieste vicino a te", "cta": "Browse requests →" } }, @@ -2566,7 +2566,7 @@ }, "offerHelp": { "title": "Can you repair devices?", - "description": "Register as a technician and help people nearby.", + "description": "Registrati come tecnico e aiuta le persone vicino a te.", "cta": "Become a technician" } }, @@ -4382,179 +4382,17 @@ "priceFrom": "Da CHF" }, "shop": { - "meta": { - "title": "Buy refurbished IT", - "description": "Tested refurbished computers, laptops, monitors, and accessories directly from the evig shop in Zurich.", - "productNotFound": "Prodotto non trovato", - "productFallbackDesc": "{brand} {model} — ispezionato e ricondizionato da {orgName}" - }, - "title": "Il nostro shop", - "subtitle": "Hardware ricondizionato verificato", - "filters": { - "all": "Tutti", - "laptops": "Laptop", - "desktops": "Desktop", - "accessories": "Accessori" - }, - "product": { - "addToCart": "Aggiungi al carrello", - "outOfStock": "Esaurito", - "condition": "Condizione", - "warranty": "Garanzia", - "months": "{count} mesi", - "stockMany": "{count} disponibili", - "stockOne": "Ultimo pezzo", - "suitableFor": "Adatto per", - "verifiedTitle": "Testato e ricondizionato", - "verifiedDesc": "Tutti i dispositivi vengono accuratamente testati, puliti e reinstallati da {orgName}.", - "buyOnline": "Acquista nel negozio online", - "buyInStore": "Acquista in negozio", - "similarProducts": "Prodotti simili", - "conditionLabels": { - "wieNeu": "Come nuovo", - "sehrGut": "Molto buono", - "gut": "Buono", - "akzeptabel": "Accettabile" - } - }, - "empty": "Nessun prodotto trovato", - "verifiedBadge": "Verificato", - "page": { - "heroTitle": "Buy refurbished IT directly from evig", - "heroSubtitle": "Tested laptops, computers, monitors, and accessories from our own refurbishment work. Browse online, pick up in store, or buy directly.", - "metaDescription": "Tested refurbished computers, laptops, monitors, and accessories directly from the evig shop in Zurich.", - "store": { - "title": "Negozio (Zurigo)", - "tagline": "Consulenza, vedere i dispositivi, portarli a casa subito", - "accessInfo": "Ben raggiungibile con i mezzi pubblici. Parcheggi nelle vicinanze.", - "openingHours": "Orari di apertura", - "openingHoursMonday": "Lunedì: {hours}", - "openingHoursTueFri": "Martedì – venerdì: {hours}", - "openGoogleMaps": "Apri in Google Maps", - "openOsm": "Apri in OpenStreetMap", - "contact": "Contatto", - "mapsInfoTitle": "Perché due opzioni di mappa?", - "mapsInfoBody": "OpenStreetMap è gestita dalla community ed è rispettosa dei dati. Google/Apple Maps offrono spesso una migliore navigazione, traffico in tempo reale e POI. Scegli quella che preferisci — la trasparenza e la libertà di scelta sono importanti per noi.", - "eyebrow": "In store" - }, - "online": { - "title": "Shop online", - "tagline": "Our own online shop is the default.", - "benefit1": "Qualità verificata e garanzia in tutti i canali", - "benefit2": "Prezzi equi, selezione sostenibile", - "benefit3": "Pagamento sicuro", - "currentShop": "Shop online attuale", - "shopwareShop": "Open Shopware", - "onlineShop": "Shop online {orgName}", - "multiShopTitle": "Più canali shop?", - "multiShopBody": "Il nostro shop online {orgName} ti offre la migliore selezione di hardware IT ricondizionato. In alternativa trovi il nostro assortimento anche nello shop Shopware e nel sistema legacy." - }, - "otherPaths": { - "altTitle": "Altre vie verso una tecnologia accessibile", - "altIntro": "Non tutti arrivano qui per acquistare — mettiamo a disposizione dispositivi anche per persone con mezzi limitati e accogliamo volentieri il Suo vecchio hardware.", - "donateTitle": "Donare hardware", - "donateBody": "Affidi a evig dispositivi funzionanti o riparabili — li rimettiamo a nuovo e li facciamo proseguire.", - "donateCta": "Vai alla pagina donazioni", - "needTitle": "Le serve un dispositivo e non può permetterselo?", - "needBody": "Tramite il programma Compirat, in collaborazione con Caritas Zurigo, forniamo dispositivi a persone con mezzi limitati.", - "needCta": "Scopri Compirat" - }, - "heroEyebrow": "evig shop", - "trust": { - "qualityTitle": "Tested, cleaned, ready", - "qualityBody": "Devices are refurbished, checked, and shipped with practical software.", - "stockTitle": "{count} available products", - "stockBody": "Live from our published inventory." - }, - "products": { - "eyebrow": "Our inventory", - "title": "Current products", - "body": "This is the primary evig shop. Shopware remains only as a fallback when an older item is still better represented there.", - "allCta": "Browse all", - "emptyTitle": "No products are published right now", - "emptyBody": "Inventory is maintained by the workshop. Check back later or contact us directly." - }, - "repair": { - "eyebrow": "Repair before replacing", - "title": "Device broken? Describe the problem.", - "body": "Create a request with the symptoms, device type, and location. The request stays in the system and matching technicians or shops can respond.", - "requestCta": "Request repair", - "techniciansCta": "View technicians & shops" - }, - "legacy": { - "eyebrow": "Fallback", - "title": "Shopware only when you need it", - "body": "Our own shop is the default. We keep the Shopware channel as a transition path and for older listings that may still live there.", - "cta": "Open Shopware" - } - }, - "search": { - "metaTitleWithQuery": "Ricerca: \"{query}\" | Shop {orgName}", - "metaDescWithQuery": "Risultati di ricerca per \"{query}\" – dispositivi IT ricondizionati in modo sostenibile da {orgName}.", - "metaTitle": "Ricerca | Shop {orgName}", - "metaDesc": "Sfoglia il nostro assortimento di dispositivi IT ricondizionati in modo sostenibile.", - "heroTitleWithQuery": "Risultati per \"{query}\"", - "heroTitle": "Cerca nello shop", - "placeholder": "Cosa cerchi? es. laptop, monitor, tastiera...", - "submitButton": "Cerca", - "breadcrumbHome": "Home", - "breadcrumbShop": "Shop", - "breadcrumbSearchWithQuery": "Ricerca: \"{query}\"", - "breadcrumbSearch": "Ricerca", - "resultsTitle": "Ricerca per \"{query}\"", - "resultsComingSoon": "La ricerca prodotti è attualmente in fase di configurazione. Presto potrai cercare dispositivi IT ricondizionati qui.", - "goToShop": "Vai allo shop online", - "allShopOptions": "Tutte le opzioni shop", - "popularSearches": "Ricerche popolari", - "browseByCategory": "Sfoglia per categoria", - "productCount": "{count} prodotti", - "allCategories": "Mostra tutte le categorie →", - "noResultsForQuery": "Nessun prodotto trovato per \"{query}\"", - "noResultsHint": "Prova un altro termine di ricerca o sfoglia le categorie.", - "foundCount": "{count, plural, one {# prodotto} other {# prodotti}} trovato/i", - "loadingText": "Ricerca in corso..." - }, - "category": { - "notFoundMeta": "Categoria non trovata | Shop {orgName}", - "metaTitle": "{categoryName} | Shop {orgName}", - "metaTitleWithParent": "{categoryName} – {parentName} | Shop {orgName}", - "metaDesc": "Scopri la nostra selezione di {categoryNameLower} – dispositivi IT ricondizionati in modo sostenibile da {orgName}.", - "heroSubtitle": "Scopri la nostra selezione di {categoryNameLower} ricondizionati in modo sostenibile – qualità verificata a prezzi equi.", - "productCount": "{count} prodotti in questa categoria", - "subcategories": "Sottocategorie", - "categoryProductCount": "{count} prodotti", - "productsLoading": "Caricamento prodotti", - "productsComingSoon": "Presto troverai qui dispositivi IT ricondizionati nella categoria {categoryName} sul nostro marketplace.", - "goToShop": "Vai allo shop online", - "allShopOptions": "Tutte le opzioni shop", - "relatedIn": "Altri in {parentName}", - "breadcrumbHome": "Home", - "showAllProducts": "Mostra tutti i {count} prodotti" + "error": { + "backToShop": "Torna allo shop", + "body": "Si è verificato un errore durante il caricamento dello shop.", + "retry": "Riprova", + "title": "Qualcosa è andato storto" }, "loading": { "text": "Caricamento shop..." }, - "error": { - "title": "Qualcosa è andato storto", - "body": "Si è verificato un errore durante il caricamento dello shop.", - "retry": "Riprova", - "backToShop": "Torna allo shop" - }, - "header": { - "skipToContent": "Vai al contenuto principale", - "skipToFooter": "Vai al footer", - "skipLinks": "Link di accesso rapido", - "openMenu": "Apri menu", - "categories": "Categorie", - "searchPlaceholder": "Cosa cerchi?", - "searchLabel": "Cerca", - "closeSearch": "Chiudi ricerca", - "compareLabel": "Lista comparazione ({count} articoli)", - "wishlistLabel": "Lista desideri ({count} articoli)", - "cartLabel": "Carrello", - "backToShop": "Torna allo shop", - "shopOverview": "Panoramica shop", - "closeMenu": "Chiudi menu" + "search": { + "loadingText": "Ricerca in corso..." } }, "support": { diff --git a/messages/ja.json b/messages/ja.json index 084bc1f98..1f28ee3c4 100644 --- a/messages/ja.json +++ b/messages/ja.json @@ -668,7 +668,7 @@ "downloadText": "登録済みユーザーはいつでも以下からデータの完全なコピーをダウンロードできます", "settingsLinkLabel": "設定 → プライバシー", "contactText": "For all other enquiries, please contact:", - "exportText": "Registered users can download a full copy of their data at any time under", + "exportText": "登録済みのユーザーは、いつでも自分のデータの完全なコピーを次の場所からダウンロードできます", "exportLink": "Settings → Privacy" }, "section8": { @@ -2540,23 +2540,23 @@ } }, "hub": { - "eyebrow": "IT Help", - "title": "Fix your computer, reinstall your OS, solve any IT problem", + "eyebrow": "技術者を探す", + "title": "直してくれる人を見つける", "subtitle": "evig はあなたの近くの技術者とつなぎます——コミュニティを通じて無料で、あるいは正当な報酬で。", "paths": { "request": { "title": "Request help", - "description": "Describe your issue and receive offers from technicians", + "description": "困りごとを書くと、技術者から提案が届きます", "cta": "Start a request →" }, "technicians": { "title": "Choose a technician", - "description": "Browse profiles and contact someone directly", + "description": "プロフィールを見て、直接連絡する", "cta": "Find technicians →" }, "browse": { "title": "Open requests", - "description": "Help as a technician — requests near you", + "description": "技術者として手を貸す — 近くの依頼", "cta": "Browse requests →" } }, @@ -2566,7 +2566,7 @@ }, "offerHelp": { "title": "Can you repair devices?", - "description": "Register as a technician and help people nearby.", + "description": "技術者として登録して、近くの人を手助けしてください。", "cta": "Become a technician" } }, @@ -4382,179 +4382,17 @@ "priceFrom": "CHF〜" }, "shop": { - "meta": { - "title": "Buy refurbished IT", - "description": "Tested refurbished computers, laptops, monitors, and accessories directly from the evig shop in Zurich.", - "productNotFound": "商品が見つかりません", - "productFallbackDesc": "{brand} {model} — {orgName}により検査・整備済み" - }, - "title": "私たちのショップ", - "subtitle": "検査済みリファービッシュ・ハードウェア", - "filters": { - "all": "すべて", - "laptops": "ラップトップ", - "desktops": "デスクトップ", - "accessories": "アクセサリー" - }, - "product": { - "addToCart": "カートに追加", - "outOfStock": "在庫切れ", - "condition": "状態", - "warranty": "保証", - "months": "{count}ヶ月", - "stockMany": "{count}点在庫あり", - "stockOne": "残り1点", - "suitableFor": "対象ユーザー", - "verifiedTitle": "検査済み・整備済み", - "verifiedDesc": "すべての機器は{orgName}が丁寧に検査、クリーニング、再インストールしています。", - "buyOnline": "オンラインショップで購入", - "buyInStore": "店頭で購入", - "similarProducts": "類似製品", - "conditionLabels": { - "wieNeu": "新品同様", - "sehrGut": "非常に良い", - "gut": "良い", - "akzeptabel": "許容範囲" - } - }, - "empty": "商品が見つかりませんでした", - "verifiedBadge": "検査済み", - "page": { - "heroTitle": "Buy refurbished IT directly from evig", - "heroSubtitle": "Tested laptops, computers, monitors, and accessories from our own refurbishment work. Browse online, pick up in store, or buy directly.", - "metaDescription": "Tested refurbished computers, laptops, monitors, and accessories directly from the evig shop in Zurich.", - "store": { - "title": "店舗(チューリッヒ)", - "tagline": "相談、デバイスの確認、その場で持ち帰り", - "accessInfo": "公共交通機関でアクセスしやすい。近くに駐車場あり。", - "openingHours": "営業時間", - "openingHoursMonday": "月曜日:{hours}", - "openingHoursTueFri": "火曜日 – 金曜日:{hours}", - "openGoogleMaps": "Google Mapsで開く", - "openOsm": "OpenStreetMapで開く", - "contact": "お問い合わせ", - "mapsInfoTitle": "なぜ2つの地図オプションがあるのですか?", - "mapsInfoBody": "OpenStreetMapはコミュニティ主導でプライバシーに配慮しています。Google/Apple Mapsはナビゲーション、リアルタイム交通情報、スポット情報が充実しています。あなたに合ったものを選んでください — 透明性と選択の自由を大切にしています。", - "eyebrow": "In store" - }, - "online": { - "title": "オンラインショップ", - "tagline": "Our own online shop is the default.", - "benefit1": "すべてのチャンネルで検査済みの品質と保証", - "benefit2": "公正な価格、持続可能な選択", - "benefit3": "安全な支払い", - "currentShop": "現在のオンラインショップ", - "shopwareShop": "Open Shopware", - "onlineShop": "{orgName}オンラインショップ", - "multiShopTitle": "複数のショップチャンネル?", - "multiShopBody": "{orgName}オンラインショップは最高の品揃えのリファービッシュITハードウェアを提供します。Shopwareショップとレガシーシステムでも商品をご覧いただけます。" - }, - "otherPaths": { - "altTitle": "手頃な価格のテクノロジーへの他の方法", - "altIntro": "ここに来るのは購入のためだけではありません。経済的に余裕のない方への機器の提供や、古いハードウェアの寄付も受け付けています。", - "donateTitle": "ハードウェアを寄付する", - "donateBody": "動作する、または修理可能な機器を evig へ。私たちが整備して次の方へ届けます。", - "donateCta": "寄付ページへ", - "needTitle": "機器が必要だけれど、購入が難しいですか?", - "needBody": "Compirat プログラムを通じて、Caritas Zürich と協力し、経済的に余裕のない方々へ機器を提供しています。", - "needCta": "Compirat を見る" - }, - "heroEyebrow": "evig shop", - "trust": { - "qualityTitle": "Tested, cleaned, ready", - "qualityBody": "Devices are refurbished, checked, and shipped with practical software.", - "stockTitle": "{count} available products", - "stockBody": "Live from our published inventory." - }, - "products": { - "eyebrow": "Our inventory", - "title": "Current products", - "body": "This is the primary evig shop. Shopware remains only as a fallback when an older item is still better represented there.", - "allCta": "Browse all", - "emptyTitle": "No products are published right now", - "emptyBody": "Inventory is maintained by the workshop. Check back later or contact us directly." - }, - "repair": { - "eyebrow": "Repair before replacing", - "title": "Device broken? Describe the problem.", - "body": "Create a request with the symptoms, device type, and location. The request stays in the system and matching technicians or shops can respond.", - "requestCta": "Request repair", - "techniciansCta": "View technicians & shops" - }, - "legacy": { - "eyebrow": "Fallback", - "title": "Shopware only when you need it", - "body": "Our own shop is the default. We keep the Shopware channel as a transition path and for older listings that may still live there.", - "cta": "Open Shopware" - } - }, - "search": { - "metaTitleWithQuery": "検索:「{query}」| {orgName}ショップ", - "metaDescWithQuery": "「{query}」の検索結果 — {orgName}の持続可能なリファービッシュITデバイス。", - "metaTitle": "検索 | {orgName}ショップ", - "metaDesc": "持続可能なリファービッシュITデバイスの品揃えを検索。", - "heroTitleWithQuery": "「{query}」の結果", - "heroTitle": "ショップを検索", - "placeholder": "何をお探しですか?例:ラップトップ、モニター、キーボード...", - "submitButton": "検索", - "breadcrumbHome": "ホーム", - "breadcrumbShop": "ショップ", - "breadcrumbSearchWithQuery": "検索:「{query}」", - "breadcrumbSearch": "検索", - "resultsTitle": "「{query}」の検索", - "resultsComingSoon": "商品検索を現在設定中です。まもなくリファービッシュITデバイスを検索できるようになります。", - "goToShop": "オンラインショップへ", - "allShopOptions": "すべてのショップオプション", - "popularSearches": "人気の検索", - "browseByCategory": "カテゴリーで探す", - "productCount": "{count}件の商品", - "allCategories": "すべてのカテゴリーを表示 →", - "noResultsForQuery": "\"{query}\" に一致する製品はありません", - "noResultsHint": "別の検索ワードを試すか、カテゴリーを参照してください。", - "foundCount": "{count}件の製品が見つかりました", - "loadingText": "検索中..." - }, - "category": { - "notFoundMeta": "カテゴリーが見つかりません | {orgName}ショップ", - "metaTitle": "{categoryName} | {orgName}ショップ", - "metaTitleWithParent": "{categoryName} – {parentName} | {orgName}ショップ", - "metaDesc": "{orgName}の{categoryNameLower}の品揃えをご覧ください — 持続可能なリファービッシュITデバイス。", - "heroSubtitle": "持続可能なリファービッシュ{categoryNameLower}の品揃えをご覧ください — 公正な価格で検査済みの品質。", - "productCount": "このカテゴリーに{count}件の商品", - "subcategories": "サブカテゴリー", - "categoryProductCount": "{count}件の商品", - "productsLoading": "商品を読み込み中", - "productsComingSoon": "まもなくマーケットプレイスの{categoryName}カテゴリーでリファービッシュITデバイスをご覧いただけます。", - "goToShop": "オンラインショップへ", - "allShopOptions": "すべてのショップオプション", - "relatedIn": "{parentName}の関連商品", - "breadcrumbHome": "ホーム", - "showAllProducts": "全{count}件の商品を表示" + "error": { + "backToShop": "ショップに戻る", + "body": "ショップの読み込み中にエラーが発生しました。", + "retry": "再試行", + "title": "問題が発生しました" }, "loading": { "text": "ショップを読み込み中..." }, - "error": { - "title": "問題が発生しました", - "body": "ショップの読み込み中にエラーが発生しました。", - "retry": "再試行", - "backToShop": "ショップに戻る" - }, - "header": { - "skipToContent": "メインコンテンツへスキップ", - "skipToFooter": "フッターへスキップ", - "skipLinks": "スキップリンク", - "openMenu": "メニューを開く", - "categories": "カテゴリー", - "searchPlaceholder": "何をお探しですか?", - "searchLabel": "検索", - "closeSearch": "検索を閉じる", - "compareLabel": "比較リスト({count}件)", - "wishlistLabel": "ウィッシュリスト({count}件)", - "cartLabel": "カート", - "backToShop": "ショップに戻る", - "shopOverview": "ショップ概要へ", - "closeMenu": "メニューを閉じる" + "search": { + "loadingText": "検索中..." } }, "support": { diff --git a/messages/ko.json b/messages/ko.json index e660e19ac..e48601bd2 100644 --- a/messages/ko.json +++ b/messages/ko.json @@ -668,7 +668,7 @@ "downloadText": "등록된 사용자는 언제든지 다음에서 데이터의 전체 사본을 다운로드할 수 있습니다", "settingsLinkLabel": "설정 → 개인정보", "contactText": "For all other enquiries, please contact:", - "exportText": "Registered users can download a full copy of their data at any time under", + "exportText": "가입한 사용자는 언제든지 자신의 데이터 전체 사본을 다음에서 내려받을 수 있습니다", "exportLink": "Settings → Privacy" }, "section8": { @@ -2540,23 +2540,23 @@ } }, "hub": { - "eyebrow": "IT Help", - "title": "Fix your computer, reinstall your OS, solve any IT problem", + "eyebrow": "기술자 찾기", + "title": "고쳐 줄 사람을 찾기", "subtitle": "evig가 가까운 기술자와 연결해 드립니다 — 커뮤니티를 통해 무료로, 또는 정당한 보수로.", "paths": { "request": { "title": "Request help", - "description": "Describe your issue and receive offers from technicians", + "description": "문제를 설명하면 기술자들의 제안을 받습니다", "cta": "Start a request →" }, "technicians": { "title": "Choose a technician", - "description": "Browse profiles and contact someone directly", + "description": "프로필을 살펴보고 직접 연락하세요", "cta": "Find technicians →" }, "browse": { "title": "Open requests", - "description": "Help as a technician — requests near you", + "description": "기술자로 돕기 — 가까운 요청", "cta": "Browse requests →" } }, @@ -2566,7 +2566,7 @@ }, "offerHelp": { "title": "Can you repair devices?", - "description": "Register as a technician and help people nearby.", + "description": "기술자로 등록하고 가까운 사람들을 도와주세요.", "cta": "Become a technician" } }, @@ -4382,179 +4382,17 @@ "priceFrom": "CHF~" }, "shop": { - "meta": { - "title": "Buy refurbished IT", - "description": "Tested refurbished computers, laptops, monitors, and accessories directly from the evig shop in Zurich.", - "productNotFound": "제품을 찾을 수 없습니다", - "productFallbackDesc": "{brand} {model} — {orgName}가 검사 및 재건한 제품" - }, - "title": "저희 쇼핑몰", - "subtitle": "검증된 리퍼비시 하드웨어", - "filters": { - "all": "전체", - "laptops": "노트북", - "desktops": "데스크탑", - "accessories": "액세서리" - }, - "product": { - "addToCart": "장바구니에 추가", - "outOfStock": "품절", - "condition": "상태", - "warranty": "보증", - "months": "{count}개월", - "stockMany": "{count}개 재고 있음", - "stockOne": "마지막 남은 제품", - "suitableFor": "추천 대상", - "verifiedTitle": "검증 및 재정비 완료", - "verifiedDesc": "모든 기기는 {orgName}에서 꼼꼼하게 검사, 세척 및 재설치됩니다.", - "buyOnline": "온라인 쇼핑몰에서 구매", - "buyInStore": "매장에서 구매", - "similarProducts": "유사 제품", - "conditionLabels": { - "wieNeu": "새 제품과 같음", - "sehrGut": "매우 좋음", - "gut": "좋음", - "akzeptabel": "양호" - } - }, - "empty": "제품을 찾을 수 없습니다", - "verifiedBadge": "검증됨", - "page": { - "heroTitle": "Buy refurbished IT directly from evig", - "heroSubtitle": "Tested laptops, computers, monitors, and accessories from our own refurbishment work. Browse online, pick up in store, or buy directly.", - "metaDescription": "Tested refurbished computers, laptops, monitors, and accessories directly from the evig shop in Zurich.", - "store": { - "title": "매장 (취리히)", - "tagline": "상담, 기기 직접 확인, 즉시 수령", - "accessInfo": "대중교통으로 접근 용이. 근처에 주차 가능.", - "openingHours": "영업 시간", - "openingHoursMonday": "월요일: {hours}", - "openingHoursTueFri": "화요일 – 금요일: {hours}", - "openGoogleMaps": "Google Maps에서 열기", - "openOsm": "OpenStreetMap에서 열기", - "contact": "문의", - "mapsInfoTitle": "왜 두 가지 지도 옵션인가요?", - "mapsInfoBody": "OpenStreetMap은 커뮤니티 기반이고 데이터를 최소화합니다. Google/Apple Maps는 더 나은 내비게이션, 실시간 교통 정보, POI를 제공합니다. 귀하에게 가장 적합한 것을 선택하세요 — 투명성과 선택의 자유가 중요합니다.", - "eyebrow": "In store" - }, - "online": { - "title": "온라인 쇼핑몰", - "tagline": "Our own online shop is the default.", - "benefit1": "모든 채널에서 검증된 품질과 보증", - "benefit2": "합리적인 가격, 지속 가능한 선택", - "benefit3": "안전한 결제", - "currentShop": "현재 온라인 쇼핑몰", - "shopwareShop": "Open Shopware", - "onlineShop": "{orgName} 온라인 쇼핑몰", - "multiShopTitle": "여러 쇼핑몰 채널?", - "multiShopBody": "저희 {orgName} 온라인 쇼핑몰에서 재정비된 IT 하드웨어의 최고 선택을 제공합니다. 또는 Shopware 쇼핑몰과 레거시 시스템에서도 저희 상품을 찾을 수 있습니다." - }, - "otherPaths": { - "altTitle": "저렴한 기술에 접근하는 다른 방법", - "altIntro": "모든 분이 구매를 위해 이곳을 찾는 것은 아닙니다. 저희는 형편이 어려운 분들에게 기기를 전달하기도 하고, 오래된 하드웨어를 기꺼이 받기도 합니다.", - "donateTitle": "하드웨어 기부하기", - "donateBody": "작동하거나 수리 가능한 기기를 evig 에 전달해 주세요. 저희가 정비하여 다시 전달합니다.", - "donateCta": "기부 페이지로 이동", - "needTitle": "기기가 필요하지만 구입이 어려우신가요?", - "needBody": "Compirat 프로그램을 통해 Caritas Zürich 와 함께 형편이 어려운 분들에게 기기를 전달하고 있습니다.", - "needCta": "Compirat 보기" - }, - "heroEyebrow": "evig shop", - "trust": { - "qualityTitle": "Tested, cleaned, ready", - "qualityBody": "Devices are refurbished, checked, and shipped with practical software.", - "stockTitle": "{count} available products", - "stockBody": "Live from our published inventory." - }, - "products": { - "eyebrow": "Our inventory", - "title": "Current products", - "body": "This is the primary evig shop. Shopware remains only as a fallback when an older item is still better represented there.", - "allCta": "Browse all", - "emptyTitle": "No products are published right now", - "emptyBody": "Inventory is maintained by the workshop. Check back later or contact us directly." - }, - "repair": { - "eyebrow": "Repair before replacing", - "title": "Device broken? Describe the problem.", - "body": "Create a request with the symptoms, device type, and location. The request stays in the system and matching technicians or shops can respond.", - "requestCta": "Request repair", - "techniciansCta": "View technicians & shops" - }, - "legacy": { - "eyebrow": "Fallback", - "title": "Shopware only when you need it", - "body": "Our own shop is the default. We keep the Shopware channel as a transition path and for older listings that may still live there.", - "cta": "Open Shopware" - } - }, - "search": { - "metaTitleWithQuery": "검색: \"{query}\" | {orgName} 쇼핑몰", - "metaDescWithQuery": "\"{query}\" 검색 결과 — {orgName}의 지속 가능하게 재정비된 IT 기기.", - "metaTitle": "검색 | {orgName} 쇼핑몰", - "metaDesc": "지속 가능하게 재정비된 IT 기기 상품을 검색하세요.", - "heroTitleWithQuery": "\"{query}\" 결과", - "heroTitle": "쇼핑몰 검색", - "placeholder": "무엇을 찾으세요? 예: 노트북, 모니터, 키보드...", - "submitButton": "검색", - "breadcrumbHome": "홈", - "breadcrumbShop": "쇼핑몰", - "breadcrumbSearchWithQuery": "검색: \"{query}\"", - "breadcrumbSearch": "검색", - "resultsTitle": "\"{query}\" 검색 결과", - "resultsComingSoon": "제품 검색이 현재 설정 중입니다. 곧 여기서 재정비된 IT 기기를 검색할 수 있습니다.", - "goToShop": "온라인 쇼핑몰로 이동", - "allShopOptions": "모든 쇼핑몰 옵션", - "popularSearches": "인기 검색어", - "browseByCategory": "카테고리별 탐색", - "productCount": "{count}개 제품", - "allCategories": "모든 카테고리 보기 →", - "noResultsForQuery": "\"{query}\"에 대한 제품이 없습니다", - "noResultsHint": "다른 검색어를 시도하거나 카테고리를 탐색하세요.", - "foundCount": "제품 {count}개 발견", - "loadingText": "검색 중..." - }, - "category": { - "notFoundMeta": "카테고리를 찾을 수 없습니다 | {orgName} 쇼핑몰", - "metaTitle": "{categoryName} | {orgName} 쇼핑몰", - "metaTitleWithParent": "{categoryName} – {parentName} | {orgName} 쇼핑몰", - "metaDesc": "{orgName}에서 {categoryNameLower} 선택을 탐색하세요 — 지속 가능하게 재정비된 IT 기기.", - "heroSubtitle": "{orgName}에서 지속 가능하게 재정비된 {categoryNameLower} 선택을 탐색하세요 — 합리적인 가격의 검증된 품질.", - "productCount": "이 카테고리에 {count}개 제품", - "subcategories": "하위 카테고리", - "categoryProductCount": "{count}개 제품", - "productsLoading": "제품 로딩 중", - "productsComingSoon": "곧 저희 마켓플레이스에서 {categoryName} 카테고리의 재정비된 IT 기기를 찾을 수 있습니다.", - "goToShop": "온라인 쇼핑몰로 이동", - "allShopOptions": "모든 쇼핑몰 옵션", - "relatedIn": "{parentName}의 더 많은 제품", - "breadcrumbHome": "홈", - "showAllProducts": "전체 {count}개 제품 보기" + "error": { + "backToShop": "쇼핑몰로 돌아가기", + "body": "쇼핑몰을 로딩하는 중 오류가 발생했습니다.", + "retry": "다시 시도", + "title": "문제가 발생했습니다" }, "loading": { "text": "쇼핑몰 로딩 중..." }, - "error": { - "title": "문제가 발생했습니다", - "body": "쇼핑몰을 로딩하는 중 오류가 발생했습니다.", - "retry": "다시 시도", - "backToShop": "쇼핑몰로 돌아가기" - }, - "header": { - "skipToContent": "주요 콘텐츠로 건너뛰기", - "skipToFooter": "하단으로 건너뛰기", - "skipLinks": "빠른 이동 링크", - "openMenu": "메뉴 열기", - "categories": "카테고리", - "searchPlaceholder": "무엇을 찾으세요?", - "searchLabel": "검색", - "closeSearch": "검색 닫기", - "compareLabel": "비교 목록 ({count}개)", - "wishlistLabel": "위시리스트 ({count}개)", - "cartLabel": "장바구니", - "backToShop": "쇼핑몰로 돌아가기", - "shopOverview": "쇼핑몰 개요로 이동", - "closeMenu": "메뉴 닫기" + "search": { + "loadingText": "검색 중..." } }, "support": { diff --git a/messages/ru.json b/messages/ru.json index 92eaa3e52..d14ff816f 100644 --- a/messages/ru.json +++ b/messages/ru.json @@ -410,179 +410,17 @@ } }, "shop": { - "meta": { - "title": "Buy refurbished IT", - "description": "Tested refurbished computers, laptops, monitors, and accessories directly from the evig shop in Zurich.", - "productNotFound": "Товар не найден", - "productFallbackDesc": "{brand} {model} — проверено и восстановлено {orgName}" - }, - "title": "Наш магазин", - "subtitle": "Проверенное восстановленное оборудование", - "filters": { - "all": "Все", - "laptops": "Ноутбуки", - "desktops": "Настольные ПК", - "accessories": "Аксессуары" - }, - "product": { - "addToCart": "В корзину", - "outOfStock": "Распродано", - "condition": "Состояние", - "warranty": "Гарантия", - "months": "{count} мес.", - "stockMany": "{count} шт. в наличии", - "stockOne": "Последний экземпляр", - "suitableFor": "Подходит для", - "verifiedTitle": "Проверено и восстановлено", - "verifiedDesc": "Все устройства тщательно проверяются, очищаются и переустанавливаются командой {orgName}.", - "buyOnline": "Купить в онлайн-магазине", - "buyInStore": "Купить в магазине", - "similarProducts": "Похожие товары", - "conditionLabels": { - "wieNeu": "Как новое", - "sehrGut": "Очень хорошее", - "gut": "Хорошее", - "akzeptabel": "Приемлемое" - } - }, - "empty": "Товары не найдены", - "verifiedBadge": "Проверено", - "page": { - "heroTitle": "Buy refurbished IT directly from evig", - "heroSubtitle": "Tested laptops, computers, monitors, and accessories from our own refurbishment work. Browse online, pick up in store, or buy directly.", - "metaDescription": "Tested refurbished computers, laptops, monitors, and accessories directly from the evig shop in Zurich.", - "store": { - "title": "Магазин (Цюрих)", - "tagline": "Консультация, осмотр устройств, покупка с собой", - "accessInfo": "Удобно добираться на общественном транспорте. Парковка рядом.", - "openingHours": "Часы работы", - "openingHoursMonday": "Понедельник: {hours}", - "openingHoursTueFri": "Вторник – Пятница: {hours}", - "openGoogleMaps": "Открыть в Google Maps", - "openOsm": "Открыть в OpenStreetMap", - "contact": "Контакты", - "mapsInfoTitle": "Почему два варианта карт?", - "mapsInfoBody": "OpenStreetMap создаётся сообществом и бережно относится к данным. Google/Apple Maps часто предлагают лучшую навигацию, информацию о трафике в реальном времени и точки интереса. Выберите то, что вам больше подходит — для нас важны прозрачность и свобода выбора.", - "eyebrow": "In store" - }, - "online": { - "title": "Онлайн-магазины", - "tagline": "Our own online shop is the default.", - "benefit1": "Проверенное качество и гарантия во всех каналах", - "benefit2": "Честные цены, устойчивый ассортимент", - "benefit3": "Безопасная оплата", - "shopwareShop": "Open Shopware", - "onlineShop": "Онлайн-магазин {orgName}", - "multiShopTitle": "Несколько каналов магазина?", - "multiShopBody": "Наш онлайн-магазин {orgName} предлагает лучший выбор восстановленного IT-оборудования. Также наш ассортимент доступен в магазине Shopware и в устаревшей системе.", - "currentShop": "Актуальный онлайн-магазин" - }, - "otherPaths": { - "altTitle": "Другие пути к доступной технике", - "altIntro": "Не все приходят сюда, чтобы покупать — мы также передаём устройства людям с ограниченными средствами и с радостью примем ваше старое оборудование.", - "donateTitle": "Пожертвовать оборудование", - "donateBody": "Передайте рабочие или ремонтопригодные устройства evig — мы их восстановим и передадим дальше.", - "donateCta": "На страницу пожертвований", - "needTitle": "Нужно устройство, но не можете себе его позволить?", - "needBody": "В рамках программы Compirat мы вместе с Caritas Zürich передаём устройства людям с ограниченными средствами.", - "needCta": "Посмотреть Compirat" - }, - "heroEyebrow": "evig shop", - "trust": { - "qualityTitle": "Tested, cleaned, ready", - "qualityBody": "Devices are refurbished, checked, and shipped with practical software.", - "stockTitle": "{count} available products", - "stockBody": "Live from our published inventory." - }, - "products": { - "eyebrow": "Our inventory", - "title": "Current products", - "body": "This is the primary evig shop. Shopware remains only as a fallback when an older item is still better represented there.", - "allCta": "Browse all", - "emptyTitle": "No products are published right now", - "emptyBody": "Inventory is maintained by the workshop. Check back later or contact us directly." - }, - "repair": { - "eyebrow": "Repair before replacing", - "title": "Device broken? Describe the problem.", - "body": "Create a request with the symptoms, device type, and location. The request stays in the system and matching technicians or shops can respond.", - "requestCta": "Request repair", - "techniciansCta": "View technicians & shops" - }, - "legacy": { - "eyebrow": "Fallback", - "title": "Shopware only when you need it", - "body": "Our own shop is the default. We keep the Shopware channel as a transition path and for older listings that may still live there.", - "cta": "Open Shopware" - } - }, - "search": { - "metaTitleWithQuery": "Поиск: «{query}» | Магазин {orgName}", - "metaDescWithQuery": "Результаты поиска по запросу «{query}» — восстановленные IT-устройства в {orgName}.", - "metaTitle": "Поиск | Магазин {orgName}", - "metaDesc": "Ищите по нашему ассортименту восстановленных IT-устройств.", - "heroTitleWithQuery": "Результаты для «{query}»", - "heroTitle": "Поиск по магазину", - "placeholder": "Что вы ищете? Например, ноутбук, монитор, клавиатуру...", - "submitButton": "Найти", - "breadcrumbHome": "Главная", - "breadcrumbShop": "Магазин", - "breadcrumbSearchWithQuery": "Поиск: «{query}»", - "breadcrumbSearch": "Поиск", - "resultsTitle": "Поиск по запросу «{query}»", - "resultsComingSoon": "Поиск товаров сейчас настраивается. Скоро здесь можно будет искать восстановленные IT-устройства.", - "goToShop": "В онлайн-магазин", - "allShopOptions": "Все варианты магазина", - "popularSearches": "Популярные запросы", - "browseByCategory": "Просмотр по категориям", - "productCount": "{count} товаров", - "allCategories": "Показать все категории →", - "noResultsForQuery": "Товары по запросу «{query}» не найдены", - "noResultsHint": "Попробуйте другой запрос или просмотрите категории.", - "foundCount": "Найдено {count, plural, one {# товар} other {# товаров}}", - "loadingText": "Идёт поиск..." - }, - "category": { - "notFoundMeta": "Категория не найдена | Магазин {orgName}", - "metaTitle": "{categoryName} | Магазин {orgName}", - "metaTitleWithParent": "{categoryName} — {parentName} | Магазин {orgName}", - "metaDesc": "Откройте для себя наш выбор {categoryNameLower} — восстановленные IT-устройства в {orgName}.", - "heroSubtitle": "Откройте для себя наш выбор восстановленных {categoryNameLower} — проверенное качество по честным ценам.", - "productCount": "{count} товаров в этой категории", - "subcategories": "Подкатегории", - "categoryProductCount": "{count} товаров", - "productsLoading": "Товары загружаются", - "productsComingSoon": "Скоро здесь появятся восстановленные IT-устройства в категории {categoryName} на нашем маркетплейсе.", - "goToShop": "В онлайн-магазин", - "allShopOptions": "Все варианты магазина", - "relatedIn": "Ещё в {parentName}", - "breadcrumbHome": "Главная", - "showAllProducts": "Показать все {count} товаров" + "error": { + "backToShop": "Вернуться в магазин", + "body": "При загрузке магазина произошла ошибка.", + "retry": "Попробовать снова", + "title": "Что-то пошло не так" }, "loading": { "text": "Загрузка магазина..." }, - "error": { - "title": "Что-то пошло не так", - "body": "При загрузке магазина произошла ошибка.", - "retry": "Попробовать снова", - "backToShop": "Вернуться в магазин" - }, - "header": { - "skipToContent": "Перейти к основному содержимому", - "skipToFooter": "Перейти в подвал", - "skipLinks": "Ссылки быстрого перехода", - "openMenu": "Открыть меню", - "categories": "Категории", - "searchPlaceholder": "Что вы ищете?", - "searchLabel": "Поиск", - "closeSearch": "Закрыть поиск", - "compareLabel": "Список сравнения ({count} товаров)", - "wishlistLabel": "Избранное ({count} товаров)", - "cartLabel": "Корзина", - "backToShop": "Вернуться в магазин", - "shopOverview": "К обзору магазина", - "closeMenu": "Закрыть меню" + "search": { + "loadingText": "Идёт поиск..." } }, "marketplace": { @@ -3081,8 +2919,8 @@ } }, "hub": { - "eyebrow": "IT-помощь", - "title": "Ремонт компьютеров, переустановка ОС, решение IT-проблем", + "eyebrow": "Найти мастера", + "title": "Найти того, кто починит", "subtitle": "evig связывает вас с мастерами поблизости — бесплатно через сообщество или за справедливую оплату.", "paths": { "request": { diff --git a/scripts/baselines/i18n-hardcoded.json b/scripts/baselines/i18n-hardcoded.json index c1cbd2e9a..f2eb7e57e 100644 --- a/scripts/baselines/i18n-hardcoded.json +++ b/scripts/baselines/i18n-hardcoded.json @@ -1,6 +1,6 @@ { "description": "Known i18n hardcoded-string violations. Audit fails on regressions only. Run scripts/i18n-hardcoded-audit.mjs --update-baseline to refresh after intentional fixes.", - "generatedAt": "2026-08-25", + "generatedAt": "2026-08-26", "source": [ { "file": "src/app/[locale]/karriere/CareersListClient.tsx", @@ -12661,4934 +12661,38 @@ "messages": [ { "file": "messages/it.json", - "keyPath": "members.backToMarketplace", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Torna al marketplace" - }, - { - "file": "messages/it.json", - "keyPath": "nav.experimentalBannerLink", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "al sito attuale" - }, - { - "file": "messages/it.json", - "keyPath": "nav.items.findTechnician", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Trova un tecnico" - }, - { - "file": "messages/it.json", - "keyPath": "nav.items.workshopsDesc", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Corsi in presenza da prenotare" - }, - { - "file": "messages/it.json", - "keyPath": "nav.items.reintegrationDesc", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Tornare al lavoro" - }, - { - "file": "messages/it.json", - "keyPath": "nav.items.requestHelpDesc", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Describe your issue and get matched with technicians" - }, - { - "file": "messages/it.json", - "keyPath": "common.skipToContent", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Vai al contenuto" - }, - { - "file": "messages/it.json", - "keyPath": "errors.blog.back", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Torna al blog" - }, - { - "file": "messages/it.json", - "keyPath": "errors.marketplace.back", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Torna al marketplace" - }, - { - "file": "messages/it.json", - "keyPath": "errors.listingDetail.back", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Torna al marketplace" - }, - { - "file": "messages/it.json", - "keyPath": "auth.login.noAccount", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Non hai ancora un account?" - }, - { - "file": "messages/it.json", - "keyPath": "auth.login.subtitle", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Accedi al tuo account" - }, - { - "file": "messages/it.json", - "keyPath": "auth.login.signingIn", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Accesso in corso..." - }, - { - "file": "messages/it.json", - "keyPath": "auth.register.hasAccount", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Hai già un account?" - }, - { - "file": "messages/it.json", - "keyPath": "auth.register.welcomeHeading", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.5, - "snippet": "Benvenuto in {orgName}!" - }, - { - "file": "messages/it.json", - "keyPath": "auth.register.creating", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Creazione in corso..." - }, - { - "file": "messages/it.json", - "keyPath": "auth.register.donateHardware", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Dona un dispositivo" - }, - { - "file": "messages/it.json", - "keyPath": "auth.register.donateHardwareDesc", - "suspectedLanguage": "es", - "ownRatio": 0.13, - "otherRatio": 0.25, - "snippet": "Regali al Suo vecchio computer una seconda vita" - }, - { - "file": "messages/it.json", - "keyPath": "auth.logout.title", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Disconnessione in corso..." - }, - { - "file": "messages/it.json", - "keyPath": "auth.logout.heading", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Disconnessione in corso..." - }, - { - "file": "messages/it.json", - "keyPath": "auth.forgotPassword.submitLoading", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Invio e-mail in corso..." - }, - { - "file": "messages/it.json", - "keyPath": "auth.forgotPassword.successOtherEmail", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Usa un altro indirizzo e-mail" - }, - { - "file": "messages/it.json", - "keyPath": "auth.verify.noCode", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Non hai ricevuto un codice?" - }, - { - "file": "messages/it.json", - "keyPath": "auth.verify.verifying", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Verifica in corso..." - }, - { - "file": "messages/it.json", - "keyPath": "accessibility.skipToContent", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Vai al contenuto" - }, - { - "file": "messages/it.json", - "keyPath": "accessibility.backToTop", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Torna in cima" - }, - { - "file": "messages/it.json", - "keyPath": "accessibility.theme.toLight", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Passa al tema chiaro" - }, - { - "file": "messages/it.json", - "keyPath": "accessibility.theme.toDark", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Passa al tema scuro" - }, - { - "file": "messages/it.json", - "keyPath": "notFound.reportProblem", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Segnala un problema" - }, - { - "file": "messages/it.json", - "keyPath": "blog.empty.submitButton", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Invia un contributo" - }, - { - "file": "messages/it.json", - "keyPath": "blog.sections.featured", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Articoli in evidenza" - }, - { - "file": "messages/it.json", - "keyPath": "blog.footerCta.button", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Invia un contributo" - }, - { - "file": "messages/it.json", - "keyPath": "blog.submit.pageTitle", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Invia un articolo" - }, - { - "file": "messages/it.json", - "keyPath": "blog.submit.backToBlog", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Torna al Blog" - }, - { - "file": "messages/it.json", - "keyPath": "blog.submit.guidelineLanguage", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Usa un linguaggio chiaro e rispettoso" - }, - { - "file": "messages/it.json", - "keyPath": "blog.submit.submittingButton", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Invio in corso..." - }, - { - "file": "messages/it.json", - "keyPath": "blog.submit.submitAnotherButton", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Invia un altro articolo" - }, - { - "file": "messages/it.json", - "keyPath": "blog.admin.backToBlog", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Torna al Blog" - }, - { - "file": "messages/it.json", - "keyPath": "blog.admin.filterPending", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.5, - "snippet": "In attesa ({count})" - }, - { - "file": "messages/it.json", - "keyPath": "blog.back", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Torna al blog" - }, - { - "file": "messages/it.json", - "keyPath": "blog.onThisPage", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "In questa pagina" - }, - { - "file": "messages/it.json", - "keyPath": "blog.comments.placeholder", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Scrivi un commento…" - }, - { - "file": "messages/it.json", - "keyPath": "blog.rss", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Abbonati al feed RSS" - }, - { - "file": "messages/it.json", - "keyPath": "contact.map.openGoogleMaps", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Apri in Google Maps" - }, - { - "file": "messages/it.json", - "keyPath": "contact.map.openOSM", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Apri in OpenStreetMap" - }, - { - "file": "messages/it.json", - "keyPath": "contact.map.warehouseNote", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Abbiamo anche un magazzino in {address} {note}" - }, - { - "file": "messages/it.json", - "keyPath": "contact.map.warehouseGoogleMaps", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Magazzino in Google Maps" - }, - { - "file": "messages/it.json", - "keyPath": "contact.map.warehouseOSM", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Magazzino in OpenStreetMap" - }, - { - "file": "messages/it.json", - "keyPath": "contact.form.title", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Inviaci un messaggio" - }, - { - "file": "messages/it.json", - "keyPath": "contact.form.submitting", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Invio in corso…" - }, - { - "file": "messages/it.json", - "keyPath": "faq.groups.4.items.0.q", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Avete dispositivi ricondizionati in vendita?" - }, - { - "file": "messages/it.json", - "keyPath": "faq.groups.6.items.0.link.label", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Workshop in corso" - }, - { - "file": "messages/it.json", - "keyPath": "getInvolved.volunteer.sections.1.items.2", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Opzioni remote e in sede" - }, - { - "file": "messages/it.json", - "keyPath": "getInvolved.internships.howToStart.steps.2", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Sostieni un breve colloquio" - }, - { - "file": "messages/it.json", - "keyPath": "getInvolved.internships.howToApplySteps.2", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Fai un breve colloquio" - }, - { - "file": "messages/it.json", - "keyPath": "getInvolved.itHilfeTechniker.benefitsHeading", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Cosa otterrà in cambio" - }, - { - "file": "messages/it.json", - "keyPath": "getInvolved.kontakt.form.submitting", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Invio in corso…" - }, - { - "file": "messages/it.json", - "keyPath": "getInvolved.donate.bankTransferDescription", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Effettua un bonifico sul seguente conto:" - }, - { - "file": "messages/it.json", - "keyPath": "home.actions.sell.title", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Hai un vecchio dispositivo?" - }, - { - "file": "messages/it.json", - "keyPath": "home.newsletter.submitting", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Iscrizione in corso..." - }, - { - "file": "messages/it.json", - "keyPath": "home.asSeenIn.heading", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Come visto in" - }, - { - "file": "messages/it.json", - "keyPath": "home.jsonld.service2Desc", - "suspectedLanguage": "fr", - "ownRatio": 0.11, - "otherRatio": 0.22, - "snippet": "Trovare un tecnico vicino invece di aspettare un appuntamento" - }, - { - "file": "messages/it.json", - "keyPath": "home.finalCta.heading", - "suspectedLanguage": "es", - "ownRatio": 0.14, - "otherRatio": 0.29, - "snippet": "Dai una seconda vita al tuo computer." - }, - { - "file": "messages/it.json", - "keyPath": "home.finalCta.button", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Dona un dispositivo" - }, - { - "file": "messages/it.json", - "keyPath": "home.finalCta.note", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Donare dispositivi resta possibile in Partecipa." - }, - { - "file": "messages/it.json", - "keyPath": "itHelp.page.findTechnician", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Trova un tecnico" - }, - { - "file": "messages/it.json", - "keyPath": "itHelp.create.submittingButton", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Creazione in corso..." - }, - { - "file": "messages/it.json", - "keyPath": "itHelp.create.deviceBrandPlaceholder", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "es. Apple, Samsung, Lenovo" - }, - { - "file": "messages/it.json", - "keyPath": "itHelp.create.deviceModelPlaceholder", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "es. MacBook Pro 2020" - }, - { - "file": "messages/it.json", - "keyPath": "itHelp.myRequests.emptyFilteredMessage", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Prova un altro filtro." - }, - { - "file": "messages/it.json", - "keyPath": "itHelp.myOffers.emptyFilteredMessage", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Prova un altro filtro." - }, - { - "file": "messages/it.json", - "keyPath": "itHelp.myOffers.withdrawingButton", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Ritiro in corso..." - }, - { - "file": "messages/it.json", - "keyPath": "itHelp.offer.offerButton", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Fare un'offerta" - }, - { - "file": "messages/it.json", - "keyPath": "itHelp.offer.messageLabel", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Messaggio al richiedente" - }, - { - "file": "messages/it.json", - "keyPath": "itHelp.offer.compensationPlaceholder", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Es. Gratuito, CHF 30" - }, - { - "file": "messages/it.json", - "keyPath": "itHelp.offer.submittingButton", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Invio in corso..." - }, - { - "file": "messages/it.json", - "keyPath": "itHelp.offer.withdrawing", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Ritiro in corso..." - }, - { - "file": "messages/it.json", - "keyPath": "itHelp.review.submittingButton", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Invio in corso…" - }, - { - "file": "messages/it.json", - "keyPath": "itHelp.hub.paths.technicians.description", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Browse profiles and contact someone directly" - }, - { - "file": "messages/it.json", - "keyPath": "itHelp.browse.subtitle", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "For technicians offering help" - }, - { - "file": "messages/it.json", - "keyPath": "itHelp.browse.backToHub", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Back to IT Help" - }, - { - "file": "messages/it.json", - "keyPath": "marketplace.meta.detailOgDescription", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "{price} — Acquista in modo sostenibile da {orgName}." - }, - { - "file": "messages/it.json", - "keyPath": "marketplace.sell.backToMarketplace", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Torna al marketplace" - }, - { - "file": "messages/it.json", - "keyPath": "marketplace.sell.form.brandPlaceholder", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Es. Lenovo, Dell, Apple" - }, - { - "file": "messages/it.json", - "keyPath": "marketplace.sell.form.modelPlaceholder", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Es. ThinkPad T480" - }, - { - "file": "messages/it.json", - "keyPath": "marketplace.sell.form.locationPlaceholder", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.5, - "snippet": "Es. Zurigo, 8005" - }, - { - "file": "messages/it.json", - "keyPath": "marketplace.sell.basicInfo.titlePlaceholder", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Es. Dell Latitude E7470 Laptop" - }, - { - "file": "messages/it.json", - "keyPath": "marketplace.sell.basicInfo.brandPlaceholder", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Es. Dell, Apple, Lenovo" - }, - { - "file": "messages/it.json", - "keyPath": "marketplace.sell.basicInfo.locationPlaceholder", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Es. Zurigo, Berna, Basilea" - }, - { - "file": "messages/it.json", - "keyPath": "marketplace.sell.createAccount", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Crea un account" - }, - { - "file": "messages/it.json", - "keyPath": "marketplace.filters.priceMinAriaLabel", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Prezzo minimo in CHF" - }, - { - "file": "messages/it.json", - "keyPath": "marketplace.filters.priceMaxAriaLabel", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Prezzo massimo in CHF" - }, - { - "file": "messages/it.json", - "keyPath": "marketplace.listing.backToMarketplace", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Torna al marketplace" - }, - { - "file": "messages/it.json", - "keyPath": "marketplace.listing_actions.payment_methods", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "TWINT · Bonifico bancario · Contanti al ritiro" - }, - { - "file": "messages/it.json", - "keyPath": "marketplace.checkout.backToMarketplace", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Torna al marketplace" - }, - { - "file": "messages/it.json", - "keyPath": "marketplace.checkout.payment.redirect", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Reindirizzamento al pagamento..." - }, - { - "file": "messages/it.json", - "keyPath": "marketplace.checkout.payment.proceed", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Procedi al pagamento" - }, - { - "file": "messages/it.json", - "keyPath": "marketplace.checkout.redirecting", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Reindirizzamento al pagamento..." - }, - { - "file": "messages/it.json", - "keyPath": "marketplace.checkout.proceed", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Vai al pagamento" - }, - { - "file": "messages/it.json", - "keyPath": "marketplace.review.contentHint", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Almeno 10 caratteri se scrivi un commento." - }, - { - "file": "messages/it.json", - "keyPath": "marketplace.payment.secure", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Pagamento sicuro — in arrivo" - }, - { - "file": "messages/it.json", - "keyPath": "marketplace.cart.addToCart", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Aggiungi al carrello" - }, - { - "file": "messages/it.json", - "keyPath": "marketplace.cart.emptyCta", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Vai al marketplace" - }, - { - "file": "messages/it.json", - "keyPath": "marketplace.osInstall.selected", - "suspectedLanguage": "es", - "ownRatio": 0.11, - "otherRatio": 0.22, - "snippet": "Scelta: {distro} — indicalo al momento dell'ordine o del contatto." - }, - { - "file": "messages/it.json", - "keyPath": "membership.form.submitting", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Elaborazione in corso..." - }, - { - "file": "messages/it.json", - "keyPath": "membership.faq.items.4.question", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Posso recedere in qualsiasi momento?" - }, - { - "file": "messages/it.json", - "keyPath": "services.page.booking", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Prenotazione in corso..." - }, - { - "file": "messages/it.json", - "keyPath": "services.webDesign.philosophy.ratings.automation.desc", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Sforzo trasformato in scelta" - }, - { - "file": "messages/it.json", - "keyPath": "services.webDesign.technologies.items.supabase.benefits.1", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Aggiornamenti in tempo reale" - }, - { - "file": "messages/it.json", - "keyPath": "services.webDesign.technologies.items.tina.benefits.2", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Anteprima in tempo reale" - }, - { - "file": "messages/it.json", - "keyPath": "services.openSourceSolutions.detail.relatedAlternatives", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Altre alternative in questa categoria" - }, - { - "file": "messages/it.json", - "keyPath": "services.openSourceSolutions.search.resultCountIn", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.5, - "snippet": "{count, plural, one {# alternativa} other {# alternative}} in {category}" - }, - { - "file": "messages/it.json", - "keyPath": "services.buildComputer.cta.heading", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Pronto a costruire in modo sostenibile?" - }, - { - "file": "messages/it.json", - "keyPath": "services.payment.escrowCheckLabel", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Pagamento in deposito" - }, - { - "file": "messages/it.json", - "keyPath": "services.payment.escrowAlert", - "suspectedLanguage": "es", - "ownRatio": 0.11, - "otherRatio": 0.22, - "snippet": "Protezione aggiuntiva: pagamento bloccato fino al completamento del servizio." - }, - { - "file": "messages/it.json", - "keyPath": "services.payment.redirectingToPayment", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Reindirizzamento al pagamento sicuro..." - }, - { - "file": "messages/it.json", - "keyPath": "services.bookAppointment", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Prenota un appuntamento" - }, - { - "file": "messages/it.json", - "keyPath": "services.requestQuote", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Richiedi un preventivo" - }, - { - "file": "messages/it.json", - "keyPath": "shop.product.addToCart", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Aggiungi al carrello" - }, - { - "file": "messages/it.json", - "keyPath": "shop.product.buyInStore", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Acquista in negozio" - }, - { - "file": "messages/it.json", - "keyPath": "shop.page.heroSubtitle", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.15, - "snippet": "Tested laptops, computers, monitors, and accessories from our own refurbishment …" - }, - { - "file": "messages/it.json", - "keyPath": "shop.page.metaDescription", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.21, - "snippet": "Tested refurbished computers, laptops, monitors, and accessories directly from t…" - }, - { - "file": "messages/it.json", - "keyPath": "shop.page.store.openGoogleMaps", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Apri in Google Maps" - }, - { - "file": "messages/it.json", - "keyPath": "shop.page.store.openOsm", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Apri in OpenStreetMap" - }, - { - "file": "messages/it.json", - "keyPath": "shop.page.online.tagline", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.43, - "snippet": "Our own online shop is the default." - }, - { - "file": "messages/it.json", - "keyPath": "shop.page.otherPaths.needTitle", - "suspectedLanguage": "fr", - "ownRatio": 0.13, - "otherRatio": 0.25, - "snippet": "Le serve un dispositivo e non può permetterselo?" - }, - { - "file": "messages/it.json", - "keyPath": "shop.page.trust.qualityBody", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Devices are refurbished, checked, and shipped with practical software." - }, - { - "file": "messages/it.json", - "keyPath": "shop.page.trust.stockBody", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Live from our published inventory." - }, - { - "file": "messages/it.json", - "keyPath": "shop.page.products.eyebrow", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.5, - "snippet": "Our inventory" - }, - { - "file": "messages/it.json", - "keyPath": "shop.page.products.body", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.24, - "snippet": "This is the primary evig shop. Shopware remains only as a fallback when an older…" - }, - { - "file": "messages/it.json", - "keyPath": "shop.page.products.emptyTitle", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "No products are published right now" - }, - { - "file": "messages/it.json", - "keyPath": "shop.page.products.emptyBody", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.23, - "snippet": "Inventory is maintained by the workshop. Check back later or contact us directly…" - }, - { - "file": "messages/it.json", - "keyPath": "shop.page.repair.title", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Device broken? Describe the problem." - }, - { - "file": "messages/it.json", - "keyPath": "shop.page.repair.body", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.3, - "snippet": "Create a request with the symptoms, device type, and location. The request stays…" - }, - { - "file": "messages/it.json", - "keyPath": "shop.page.legacy.body", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Our own shop is the default. We keep the Shopware channel as a transition path a…" - }, - { - "file": "messages/it.json", - "keyPath": "shop.search.placeholder", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Cosa cerchi? es. laptop, monitor, tastiera..." - }, - { - "file": "messages/it.json", - "keyPath": "shop.search.loadingText", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Ricerca in corso..." - }, - { - "file": "messages/it.json", - "keyPath": "shop.category.productCount", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "{count} prodotti in questa categoria" - }, - { - "file": "messages/it.json", - "keyPath": "shop.category.relatedIn", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.5, - "snippet": "Altri in {parentName}" - }, - { - "file": "messages/it.json", - "keyPath": "shop.header.skipToContent", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Vai al contenuto principale" - }, - { - "file": "messages/it.json", - "keyPath": "shop.header.skipToFooter", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Vai al footer" - }, - { - "file": "messages/it.json", - "keyPath": "support.promise.items.4", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Rimanere al 100% senza pubblicità e indipendenti" - }, - { - "file": "messages/it.json", - "keyPath": "support.otherWays.submitPost", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Invia un articolo" - }, - { - "file": "messages/it.json", - "keyPath": "support.otherWays.shareArticle", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Condividi un articolo" - }, - { - "file": "messages/it.json", - "keyPath": "techniker.meta.title", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Trova un tecnico" - }, - { - "file": "messages/it.json", - "keyPath": "techniker.detail.responseTime", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Risponde in circa {hours}h" - }, - { - "file": "messages/it.json", - "keyPath": "sellers.backToMarketplace", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Torna al mercato" - }, - { - "file": "messages/it.json", - "keyPath": "workshops.browse.proposeButton", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Proponi un workshop" - }, - { - "file": "messages/it.json", - "keyPath": "workshops.browse.cta.title", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Vuoi proporre un workshop?" - }, - { - "file": "messages/it.json", - "keyPath": "workshops.browse.cta.button", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Proponi un workshop" - }, - { - "file": "messages/it.json", - "keyPath": "workshops.detail.loginHeading", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Iscriversi al workshop" - }, - { - "file": "messages/it.json", - "keyPath": "workshops.detail.successHeading", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Iscrizione al workshop" - }, - { - "file": "messages/it.json", - "keyPath": "workshops.propose.meta.title", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Proponi un workshop" - }, - { - "file": "messages/it.json", - "keyPath": "workshops.propose.title", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Proponi un workshop" - }, - { - "file": "messages/it.json", - "keyPath": "workshops.propose.form.submitting", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Invio in corso..." - }, - { - "file": "messages/it.json", - "keyPath": "workshops.propose.sections.practicalDetails.prerequisitesPlaceholder", - "suspectedLanguage": "es", - "ownRatio": 0.2, - "otherRatio": 0.4, - "snippet": "es. Laptop con Linux installato" - }, - { - "file": "messages/it.json", - "keyPath": "workshops.propose.sections.materials.requiredPlaceholder", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "es. Laptop, cancelleria" - }, - { - "file": "messages/it.json", - "keyPath": "workshops.propose.sections.location.typeVenue", - "suspectedLanguage": "es", - "ownRatio": 0.17, - "otherRatio": 0.33, - "snippet": "In una sede (es. centro comunitario)" - }, - { - "file": "messages/it.json", - "keyPath": "workshops.propose.sections.location.alternativeVenuePlaceholder", - "suspectedLanguage": "es", - "ownRatio": 0.14, - "otherRatio": 0.29, - "snippet": "es. Casa mia, o una nuova sede" - }, - { - "file": "messages/it.json", - "keyPath": "workshops.registration.fullHeading", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Workshop al completo" - }, - { - "file": "messages/it.json", - "keyPath": "workshops.registration.registering", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Iscrizione in corso..." - }, - { - "file": "messages/it.json", - "keyPath": "workshops.registration.registerHeading", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Iscriviti al workshop" - }, - { - "file": "messages/it.json", - "keyPath": "workshops.registration.registerFree", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Iscriviti al workshop" - }, - { - "file": "messages/it.json", - "keyPath": "donate.hero.ctaDevice", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Dona un dispositivo" - }, - { - "file": "messages/it.json", - "keyPath": "donate.devices.eyebrow", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "DONARE UN DISPOSITIVO" - }, - { - "file": "messages/it.json", - "keyPath": "donate.dropoff.devicesPlaceholder", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "es. 2 vecchi ThinkPad, 1 monitor, qualche cavo" - }, - { - "file": "messages/it.json", - "keyPath": "donate.dropoff.submitting", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Invio in corso …" - }, - { - "file": "messages/it.json", - "keyPath": "donate.paths.money.title", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Bonifico bancario in due minuti." - }, - { - "file": "messages/it.json", - "keyPath": "donate.paths.device.title", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Consegna un portatile, fisso o monitor." - }, - { - "file": "messages/it.json", - "keyPath": "mitgliedWerden.faq.items.4.question", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Posso uscire in qualsiasi momento?" - }, - { - "file": "messages/it.json", - "keyPath": "abos.perMonthPerson", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "al mese/persona" - }, - { - "file": "messages/it.json", - "keyPath": "abos.emptyCategory", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Nessun pool in questa categoria" - }, - { - "file": "messages/it.json", - "keyPath": "abos.modal.serviceNamePlaceholder", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "es. Netflix, Spotify, Adobe CC" - }, - { - "file": "messages/it.json", - "keyPath": "ai.formAssist.ariaProcessing", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "IA in elaborazione..." - }, - { - "file": "messages/it.json", - "keyPath": "dashboard.profile.password.changing", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Modifica in corso..." - }, - { - "file": "messages/it.json", - "keyPath": "dashboard.workshops.pendingTitle", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Iscrizione in attesa" - }, - { - "file": "messages/it.json", - "keyPath": "dashboard.orders.goToMarketplace", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Vai al mercato" - }, - { - "file": "messages/it.json", - "keyPath": "dashboard.orders.pendingPaymentTitle", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Pagamento in attesa" - }, - { - "file": "messages/it.json", - "keyPath": "dashboard.listings.emptyFilteredTitle", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Nessun annuncio in questa categoria" - }, - { - "file": "messages/it.json", - "keyPath": "dashboard.listings.totalCount", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "{count, plural, one {# annuncio} other {# annunci}} in totale" - }, - { - "file": "messages/it.json", - "keyPath": "dashboard.messages.goToMarketplace", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Vai al marketplace" - }, - { - "file": "messages/it.json", - "keyPath": "dashboard.seller.statsPending", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.5, - "snippet": "in sospeso: {count}" - }, - { - "file": "messages/it.json", - "keyPath": "dashboard.seller.quickNewProductDesc", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Aggiungi un prodotto al marketplace" - }, - { - "file": "messages/it.json", - "keyPath": "dashboard.blogSubmissions.submitting", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Invio in corso..." - }, - { - "file": "messages/it.json", - "keyPath": "dashboard.decisions.noVotings", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Nessuna votazione aperta al momento." - }, - { - "file": "messages/it.json", - "keyPath": "dashboard.decisions.votePending", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Voto in sospeso" - }, - { - "file": "messages/it.json", - "keyPath": "dashboard.techniker.addSkills", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Aggiungi competenze al profilo" - }, - { - "file": "messages/it.json", - "keyPath": "dashboard.techniker.statusInDiscussion", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.5, - "snippet": "In discussione" - }, - { - "file": "messages/it.json", - "keyPath": "dashboard.bookings.emptyTitle", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Nessuna prenotazione in questa categoria" - }, - { - "file": "messages/it.json", - "keyPath": "dashboard.membership.pendingBadge", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Quota in sospeso" - }, - { - "file": "messages/it.json", - "keyPath": "dashboard.membership.paidUntilLabel", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Pagato fino al" - }, - { - "file": "messages/it.json", - "keyPath": "dashboard.membership.benefit3", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Contributo al finanziamento sostenibile" - }, - { - "file": "messages/it.json", - "keyPath": "dashboard.donations.pageSubtitle", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.18, - "snippet": "Panoramica delle tue donazioni in denaro e in natura a evig" - }, - { - "file": "messages/it.json", - "keyPath": "dashboard.donations.monetaryDonation", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Donazione in denaro" - }, - { - "file": "messages/it.json", - "keyPath": "dashboard.donations.deviceFallback", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Donazione in natura" - }, - { - "file": "messages/it.json", - "keyPath": "dashboard.settings.privacy.exportLoading", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Esportazione in corso..." - }, - { - "file": "messages/it.json", - "keyPath": "components.messageThread.placeholder", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Scrivi un messaggio..." - }, - { - "file": "messages/it.json", - "keyPath": "components.newsletterSignup.unsubscribeDesc", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Un click basta" - }, - { - "file": "messages/it.json", - "keyPath": "components.voiceStatusMessage.paused", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Registrazione in pausa" - }, - { - "file": "messages/it.json", - "keyPath": "components.impactStatsSection.co2Saved", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "CO₂ risparmiata grazie al riutilizzo" - }, - { - "file": "messages/it.json", - "keyPath": "components.zeroWaste.reuseRateDesc", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Dei dispositivi donati torna in uso" - }, - { - "file": "messages/it.json", - "keyPath": "components.erfassung.basicFields.manufacturerPlaceholder", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "ad es. Dell, HP, Lenovo" - }, - { - "file": "messages/it.json", - "keyPath": "components.erfassung.basicFields.productNamePlaceholder", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "ad es. Latitude 7470" - }, - { - "file": "messages/it.json", - "keyPath": "components.erfassung.dimensionFields.stock", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Quantità in magazzino" - }, - { - "file": "messages/it.json", - "keyPath": "components.erfassung.successScreen.captureAnother", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Registra un altro prodotto" - }, - { - "file": "messages/it.json", - "keyPath": "components.erfassung.imageCapture.chooseFile", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Selezioni un file" - }, - { - "file": "messages/it.json", - "keyPath": "components.erfassung.imageCapture.analyzing", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Analisi dell'immagine in corso…" - }, - { - "file": "messages/it.json", - "keyPath": "components.erfassung.dataEntryTabs.tabFileDesc", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Carichi un file CSV" - }, - { - "file": "messages/it.json", - "keyPath": "components.erfassung.destination.otherDestinations", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Scegli un’altra destinazione" - }, - { - "file": "messages/it.json", - "keyPath": "components.erfassung.destination.options.recycle.label", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Invia al riciclo" - }, - { - "file": "messages/it.json", - "keyPath": "components.erfassung.destination.skipReasonPlaceholder", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "es. accessorio sigillato; test funzionale impossibile …" - }, - { - "file": "messages/it.json", - "keyPath": "components.erfassung.voiceEntry.processing", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Elaborazione in corso…" - }, - { - "file": "messages/it.json", - "keyPath": "components.messageSidebar.messagePlaceholder", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Scriva un messaggio..." - }, - { - "file": "messages/it.json", - "keyPath": "vote.statusVoting", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Votazione in corso" - }, - { - "file": "messages/it.json", - "keyPath": "vote.successOrLogin", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Hai già un account?" - }, - { - "file": "messages/it.json", - "keyPath": "admin.hirn.chat.welcomeTitle", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Benvenuto in Hirn" - }, - { - "file": "messages/it.json", - "keyPath": "admin.team.backToTeam", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Torna al team" - }, - { - "file": "messages/it.json", - "keyPath": "admin.categories.deleting", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Eliminazione in corso..." - }, - { - "file": "messages/it.json", - "keyPath": "admin.categories.saving", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Salvataggio in corso..." - }, - { - "file": "messages/it.json", - "keyPath": "admin.dashboard.attentionQueueAllDone", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Tutto fatto — nessuna attività in sospeso." - }, - { - "file": "messages/it.json", - "keyPath": "admin.projects.detailDescription", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Bisogni e contributi in arrivo" - }, - { - "file": "messages/it.json", - "keyPath": "admin.projects.needs.placeholderUnit", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Unità (es. monitor, CHF)" - }, - { - "file": "messages/it.json", - "keyPath": "admin.projects.contributions.title", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Contributi in arrivo" - }, - { - "file": "messages/it.json", - "keyPath": "admin.projects.contributions.notesPlaceholder", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Note interne (non visibili al mittente)" - }, - { - "file": "messages/it.json", - "keyPath": "admin.hr.applications.empty", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Nessuna candidatura in questo filtro" - }, - { - "file": "messages/it.json", - "keyPath": "admin.timecards.noScheduleLine", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Non hai ancora un orario standard." - }, - { - "file": "messages/it.json", - "keyPath": "admin.timecards.shiftRunning", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Turno in corso" - }, - { - "file": "messages/it.json", - "keyPath": "admin.timecards.profileTotals", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "{count} schede · {duration} in totale" - }, - { - "file": "messages/it.json", - "keyPath": "admin.timecards.backToCurrentMonth", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Torna al mese corrente" - }, - { - "file": "messages/it.json", - "keyPath": "admin.intake.quickCapture.title", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Registra subito un dispositivo" - }, - { - "file": "messages/it.json", - "keyPath": "admin.intake.createForm.fields.manufacturerPlaceholder", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "es. Lenovo, Apple, Dell" - }, - { - "file": "messages/it.json", - "keyPath": "admin.intake.createForm.fields.productNamePlaceholder", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "es. ThinkPad T480" - }, - { - "file": "messages/it.json", - "keyPath": "admin.intake.detail.markAllRequired", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Tutto in ordine" - }, - { - "file": "messages/it.json", - "keyPath": "admin.intake.detail.finalQaSolo", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Da solo in servizio — ignora" - }, - { - "file": "messages/it.json", - "keyPath": "admin.intake.pipeline.status.inProgress", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.5, - "snippet": "In lavorazione" - }, - { - "file": "messages/it.json", - "keyPath": "admin.intake.pipeline.board.listingState.active", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "In negozio · attivo" - }, - { - "file": "messages/it.json", - "keyPath": "admin.intake.pipeline.hero.kpis.inProgress", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.5, - "snippet": "In lavorazione" - }, - { - "file": "messages/it.json", - "keyPath": "admin.intake.pipeline.hero.inProgress.headline", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "{count, plural, one {# dispositivo} other {# dispositivi}} in lavorazione" - }, - { - "file": "messages/it.json", - "keyPath": "admin.intake.pipeline.hero.inProgress.cta", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Mostra in lavorazione" - }, - { - "file": "messages/it.json", - "keyPath": "admin.intake.pipeline.hero.healthy.headline", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Pipeline in buono stato." - }, - { - "file": "messages/it.json", - "keyPath": "admin.marketplace.hero.healthy.headline", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Marketplace in buono stato." - }, - { - "file": "messages/it.json", - "keyPath": "admin.donations.pageDescription", - "suspectedLanguage": "en", - "ownRatio": 0.13, - "otherRatio": 0.25, - "snippet": "Gestire le donazioni in denaro e in natura" - }, - { - "file": "messages/it.json", - "keyPath": "admin.userMenu.toWebsite", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Vai al sito web" - }, - { - "file": "messages/it.json", - "keyPath": "admin.empty.tryDifferentFilter", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Prova un altro filtro" - }, - { - "file": "messages/it.json", - "keyPath": "admin.permissions.request.submitting", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Invio in corso…" - }, - { - "file": "messages/it.json", - "keyPath": "admin.permissions.request.successBody", - "suspectedLanguage": "fr", - "ownRatio": 0.14, - "otherRatio": 0.29, - "snippet": "Un Super Admin esaminerà la tua richiesta." - }, - { - "file": "messages/it.json", - "keyPath": "admin.permissions.request.validationNoSections", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Seleziona almeno un'area." - }, - { - "file": "messages/it.json", - "keyPath": "admin.permissions.request.validationReasonTooShort", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Indica un motivo (almeno 10 caratteri)." - }, - { - "file": "messages/it.json", - "keyPath": "admin.permissions.editor.saving", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Salvataggio in corso…" - }, - { - "file": "messages/it.json", - "keyPath": "admin.itHilfe.hero.urgent.headline", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "{count, plural, one {# richiesta urgente} other {# richieste urgenti}} in attesa" - }, - { - "file": "messages/it.json", - "keyPath": "admin.itHilfe.hero.openWithTechniker.sub", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "{technikerCount} tecnici attivi possono prenderle in carico." - }, - { - "file": "messages/it.json", - "keyPath": "admin.itHilfe.hero.healthy.sub", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "{total} richieste in totale, {percent}% risolte." - }, - { - "file": "messages/it.json", - "keyPath": "admin.sections.items.erfassung.description", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Accettare un dispositivo (checklist/donazione) o registrare rapidamente un prodo…" - }, - { - "file": "messages/it.json", - "keyPath": "admin.sections.items.donations.description", - "suspectedLanguage": "en", - "ownRatio": 0.13, - "otherRatio": 0.25, - "snippet": "Gestire le donazioni in denaro e in natura" - }, - { - "file": "messages/it.json", - "keyPath": "admin.timeOff.notePlaceholder", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "ad es. vacanze estive" - }, - { - "file": "messages/it.json", - "keyPath": "admin.timeOff.submitting", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Invio in corso …" - }, - { - "file": "messages/it.json", - "keyPath": "admin.pageGuide.helpTitle", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Cosa posso fare in questa pagina?" - }, - { - "file": "messages/it.json", - "keyPath": "admin.hirnContexts.admin-dashboard.s1", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Crea un’attività" - }, - { - "file": "messages/it.json", - "keyPath": "admin.hirnContexts.admin-product-capture.title", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Registrare un prodotto" - }, - { - "file": "messages/it.json", - "keyPath": "admin.hirnContexts.admin-product-capture.s2", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Come funziona un import CSV?" - }, - { - "file": "messages/it.json", - "keyPath": "admin.hirnContexts.admin-product-capture.guideTitle", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Registrare un prodotto" - }, - { - "file": "messages/it.json", - "keyPath": "admin.hirnContexts.admin-marketplace.s0", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Come verifico un annuncio?" - }, - { - "file": "messages/it.json", - "keyPath": "admin.hirnContexts.admin-tasks.s0", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Crea un’attività" - }, - { - "file": "messages/it.json", - "keyPath": "admin.hirnContexts.admin-generic.s0", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Crea un’attività" - }, - { - "file": "messages/it.json", - "keyPath": "changelog.command.label", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Avvia in locale" - }, - { - "file": "messages/it.json", - "keyPath": "hirn.emptyHint", - "suspectedLanguage": "fr", - "ownRatio": 0.13, - "otherRatio": 0.25, - "snippet": "Scegli un suggerimento o fai la tua domanda." - }, - { - "file": "messages/it.json", - "keyPath": "soFunktioniert.cta.donate", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Dona un dispositivo" - }, - { - "file": "messages/it.json", - "keyPath": "reparaturbonus.hero.ctaPrimary", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Trova un'attività su {platform}" - }, - { - "file": "messages/it.json", - "keyPath": "reparaturbonus.eligible.more.title", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Altre in arrivo" - }, - { - "file": "messages/it.json", - "keyPath": "reparaturbonus.impact.coupons.title", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Dal buttare al riparare" - }, - { - "file": "messages/it.json", - "keyPath": "reparaturbonus.faq.carryOver.q", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Cosa succede al credito non utilizzato?" - }, - { - "file": "messages/it.json", - "keyPath": "statuten.articles.inkrafttreten.title", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Entrata in vigore" - }, - { - "file": "messages/it.json", - "keyPath": "divisions.overview.heading", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "{count, plural, one {Un’area} other {# aree}}, un principio" - }, - { - "file": "messages/it.json", - "keyPath": "divisions.items.computers.cta", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.5, - "snippet": "Al marketplace" - }, - { - "file": "messages/it.json", - "keyPath": "divisions.items.technicians.cta", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Trovare un tecnico" - }, - { - "file": "messages/it.json", - "keyPath": "pillars.heading", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "{count, plural, one {Una via} other {# vie}}, un obiettivo" - }, - { - "file": "messages/it.json", - "keyPath": "pillars.items.technicians.cta", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Trova un tecnico" - }, - { - "file": "messages/it.json", - "keyPath": "pillars.items.adoption.cta", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Fissare un colloquio" - }, - { - "file": "messages/fr.json", - "keyPath": "nav.items.computerRepairDesc", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Remettre votre ordinateur en état" - }, - { - "file": "messages/fr.json", - "keyPath": "nav.items.partnershipDesc", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Devenir partenaire en tant qu'entreprise" - }, - { - "file": "messages/fr.json", - "keyPath": "nav.items.requestHelpDesc", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Describe your issue and get matched with technicians" - }, - { - "file": "messages/fr.json", - "keyPath": "nav.items.visionDesc", - "suspectedLanguage": "es", - "ownRatio": 0.13, - "otherRatio": 0.25, - "snippet": "La raison d'être d'evig, en entier" - }, - { - "file": "messages/fr.json", - "keyPath": "common.learnMore", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "En savoir plus" - }, - { - "file": "messages/fr.json", - "keyPath": "home.actions.repair.title", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Ordinateur en panne?" - }, - { - "file": "messages/fr.json", - "keyPath": "home.newsletter.submitting", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Inscription en cours..." - }, - { - "file": "messages/fr.json", - "keyPath": "shop.product.stockMany", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.5, - "snippet": "{count} en stock" - }, - { - "file": "messages/fr.json", - "keyPath": "shop.product.buyOnline", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.4, - "snippet": "Acheter en boutique en ligne" - }, - { - "file": "messages/fr.json", - "keyPath": "shop.product.buyInStore", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Acheter en magasin" - }, - { - "file": "messages/fr.json", - "keyPath": "shop.page.heroSubtitle", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.15, - "snippet": "Tested laptops, computers, monitors, and accessories from our own refurbishment …" - }, - { - "file": "messages/fr.json", - "keyPath": "shop.page.metaDescription", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.21, - "snippet": "Tested refurbished computers, laptops, monitors, and accessories directly from t…" - }, - { - "file": "messages/fr.json", - "keyPath": "shop.page.online.title", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Boutiques en ligne" - }, - { - "file": "messages/fr.json", - "keyPath": "shop.page.online.tagline", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.43, - "snippet": "Our own online shop is the default." - }, - { - "file": "messages/fr.json", - "keyPath": "shop.page.online.currentShop", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Boutique en ligne actuelle" - }, - { - "file": "messages/fr.json", - "keyPath": "shop.page.online.onlineShop", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Boutique en ligne {orgName}" - }, - { - "file": "messages/fr.json", - "keyPath": "shop.page.trust.qualityBody", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Devices are refurbished, checked, and shipped with practical software." - }, - { - "file": "messages/fr.json", - "keyPath": "shop.page.trust.stockBody", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Live from our published inventory." - }, - { - "file": "messages/fr.json", - "keyPath": "shop.page.products.eyebrow", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.5, - "snippet": "Our inventory" - }, - { - "file": "messages/fr.json", - "keyPath": "shop.page.products.body", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.24, - "snippet": "This is the primary evig shop. Shopware remains only as a fallback when an older…" - }, - { - "file": "messages/fr.json", - "keyPath": "shop.page.products.emptyTitle", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "No products are published right now" - }, - { - "file": "messages/fr.json", - "keyPath": "shop.page.products.emptyBody", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.23, - "snippet": "Inventory is maintained by the workshop. Check back later or contact us directly…" - }, - { - "file": "messages/fr.json", - "keyPath": "shop.page.repair.title", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Device broken? Describe the problem." - }, - { - "file": "messages/fr.json", - "keyPath": "shop.page.repair.body", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.3, - "snippet": "Create a request with the symptoms, device type, and location. The request stays…" - }, - { - "file": "messages/fr.json", - "keyPath": "shop.page.legacy.body", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Our own shop is the default. We keep the Shopware channel as a transition path a…" - }, - { - "file": "messages/fr.json", - "keyPath": "shop.search.goToShop", - "suspectedLanguage": "es", - "ownRatio": 0.17, - "otherRatio": 0.33, - "snippet": "Accéder à la boutique en ligne" - }, - { - "file": "messages/fr.json", - "keyPath": "shop.search.loadingText", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Recherche en cours..." - }, - { - "file": "messages/fr.json", - "keyPath": "shop.category.goToShop", - "suspectedLanguage": "es", - "ownRatio": 0.17, - "otherRatio": 0.33, - "snippet": "Accéder à la boutique en ligne" - }, - { - "file": "messages/fr.json", - "keyPath": "marketplace.filters.priceMinAriaLabel", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Prix minimum en CHF" - }, - { - "file": "messages/fr.json", - "keyPath": "marketplace.filters.priceMaxAriaLabel", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Prix maximum en CHF" - }, - { - "file": "messages/fr.json", - "keyPath": "services.page.learnMore", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "En savoir plus" - }, - { - "file": "messages/fr.json", - "keyPath": "services.page.booking", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Réservation en cours..." - }, - { - "file": "messages/fr.json", - "keyPath": "services.webDesign.philosophy.ratings.automation.desc", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Effort transformé en choix" - }, - { - "file": "messages/fr.json", - "keyPath": "services.webDesign.technologies.items.supabase.benefits.1", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Mises à jour en temps réel" - }, - { - "file": "messages/fr.json", - "keyPath": "services.webDesign.technologies.items.tina.benefits.2", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Prévisualisation en temps réel" - }, - { - "file": "messages/fr.json", - "keyPath": "services.openSourceSolutions.detail.replaces", - "suspectedLanguage": "it", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Ce qu'il remplace" - }, - { - "file": "messages/fr.json", - "keyPath": "services.payment.processingTitle", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Réservation en cours..." - }, - { - "file": "messages/fr.json", - "keyPath": "services.appointment.problemPlaceholder", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Décrivez votre problème en détail..." - }, - { - "file": "messages/fr.json", - "keyPath": "workshops.propose.form.submitting", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Soumission en cours..." - }, - { - "file": "messages/fr.json", - "keyPath": "workshops.propose.sections.basicInfo.detailedDescriptionPlaceholder", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Décrivez l'atelier en détail..." - }, - { - "file": "messages/fr.json", - "keyPath": "workshops.propose.sections.location.typeOnline", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "En ligne via vidéoconférence" - }, - { - "file": "messages/fr.json", - "keyPath": "workshops.registration.registering", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Inscription en cours..." - }, - { - "file": "messages/fr.json", - "keyPath": "contact.form.submitting", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Envoi en cours…" - }, - { - "file": "messages/fr.json", - "keyPath": "membership.form.submitButton", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Devenir membre — {currency} {fee}/an" - }, - { - "file": "messages/fr.json", - "keyPath": "membership.form.submitting", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Traitement en cours..." - }, - { - "file": "messages/fr.json", - "keyPath": "itHelp.meta.detailOgDescription", - "suspectedLanguage": "es", - "ownRatio": 0.13, - "otherRatio": 0.25, - "snippet": "Demande de réparation{location} — Aidez ou en savoir plus." - }, - { - "file": "messages/fr.json", - "keyPath": "itHelp.create.submittingButton", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Création en cours..." - }, - { - "file": "messages/fr.json", - "keyPath": "itHelp.myOffers.withdrawingButton", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Retrait en cours..." - }, - { - "file": "messages/fr.json", - "keyPath": "itHelp.offer.submittingButton", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Envoi en cours..." - }, - { - "file": "messages/fr.json", - "keyPath": "itHelp.offer.withdrawing", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Retrait en cours..." - }, - { - "file": "messages/fr.json", - "keyPath": "itHelp.review.submittingButton", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Envoi en cours…" - }, - { - "file": "messages/fr.json", - "keyPath": "itHelp.accept.button.accepting", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Acceptation en cours…" - }, - { - "file": "messages/fr.json", - "keyPath": "itHelp.hub.paths.technicians.description", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Browse profiles and contact someone directly" - }, - { - "file": "messages/fr.json", - "keyPath": "itHelp.browse.subtitle", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "For technicians offering help" - }, - { - "file": "messages/fr.json", - "keyPath": "itHelp.browse.backToHub", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Back to IT Help" - }, - { - "file": "messages/fr.json", - "keyPath": "blog.submit.labelContentDraft", - "suspectedLanguage": "es", - "ownRatio": 0.13, - "otherRatio": 0.25, - "snippet": "Contenu de l'article * (Markdown pris en charge)" - }, - { - "file": "messages/fr.json", - "keyPath": "blog.submit.placeholderContentDraft", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "## Introduction\n\nVotre article en Markdown..." - }, - { - "file": "messages/fr.json", - "keyPath": "blog.submit.submittingButton", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Envoi en cours..." - }, - { - "file": "messages/fr.json", - "keyPath": "blog.admin.filterPending", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.5, - "snippet": "En attente ({count})" - }, - { - "file": "messages/fr.json", - "keyPath": "blog.admin.downloadMarkdown", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Télécharger en Markdown" - }, - { - "file": "messages/fr.json", - "keyPath": "auth.login.signingIn", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Connexion en cours..." - }, - { - "file": "messages/fr.json", - "keyPath": "auth.register.creating", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Création en cours..." - }, - { - "file": "messages/fr.json", - "keyPath": "auth.logout.title", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Déconnexion en cours..." - }, - { - "file": "messages/fr.json", - "keyPath": "auth.logout.heading", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Déconnexion en cours..." - }, - { - "file": "messages/fr.json", - "keyPath": "cookies.learnMore", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "En savoir plus" - }, - { - "file": "messages/fr.json", - "keyPath": "accessibility.theme.toLight", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Passer en mode clair" - }, - { - "file": "messages/fr.json", - "keyPath": "accessibility.theme.toDark", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Passer en mode sombre" - }, - { - "file": "messages/fr.json", - "keyPath": "getInvolved.hero.learnBtn", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "En savoir plus" - }, - { - "file": "messages/fr.json", - "keyPath": "getInvolved.options.items.3.cta", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "En savoir plus" - }, - { - "file": "messages/fr.json", - "keyPath": "getInvolved.cta.expressInterestBtn", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Exprimer son intérêt" - }, - { - "file": "messages/fr.json", - "keyPath": "getInvolved.volunteer.ctaText", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Manifester son intérêt" - }, - { - "file": "messages/fr.json", - "keyPath": "getInvolved.volunteer.sections.1.title", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Engagement en temps" - }, - { - "file": "messages/fr.json", - "keyPath": "getInvolved.technicalExperts.ctaText", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Manifester son intérêt" - }, - { - "file": "messages/fr.json", - "keyPath": "getInvolved.internships.ctaText", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Manifester son intérêt" - }, - { - "file": "messages/fr.json", - "keyPath": "getInvolved.internships.benefits.2.title", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Collaboration en équipe" - }, - { - "file": "messages/fr.json", - "keyPath": "getInvolved.partnerships.ctaText", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Manifester son intérêt" - }, - { - "file": "messages/fr.json", - "keyPath": "getInvolved.partnerships.partnershipProcess.steps.2", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Mise en œuvre d'initiatives coopératives" - }, - { - "file": "messages/fr.json", - "keyPath": "getInvolved.partnerships.processSteps.2", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Mise en œuvre d'initiatives coopératives" - }, - { - "file": "messages/fr.json", - "keyPath": "getInvolved.workReintegration.ctaText", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Manifester son intérêt" - }, - { - "file": "messages/fr.json", - "keyPath": "getInvolved.workReintegration.sections.1.items.3", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Collaboration en équipe" - }, - { - "file": "messages/fr.json", - "keyPath": "getInvolved.itHilfeTechniker.benefitsHeading", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Ce que vous y gagnez" - }, - { - "file": "messages/fr.json", - "keyPath": "getInvolved.itHilfeTechniker.sections.1.items.0", - "suspectedLanguage": "es", - "ownRatio": 0.2, - "otherRatio": 0.4, - "snippet": "Connaissances de base en IT" - }, - { - "file": "messages/fr.json", - "keyPath": "getInvolved.itHilfeTechniker.benefitsTitle", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Ce que vous y gagnez" - }, - { - "file": "messages/fr.json", - "keyPath": "getInvolved.kontakt.meta.title", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Manifester son intérêt" - }, - { - "file": "messages/fr.json", - "keyPath": "getInvolved.kontakt.form.submitting", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Envoi en cours…" - }, - { - "file": "messages/fr.json", - "keyPath": "getInvolved.page.learnMore", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "En savoir plus" - }, - { - "file": "messages/fr.json", - "keyPath": "getInvolved.donate.co2SavedLabel", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "économisés par an" - }, - { - "file": "messages/fr.json", - "keyPath": "getInvolved.donate.impact.tier2Title", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "2 appareils + place en atelier" - }, - { - "file": "messages/fr.json", - "keyPath": "techniker.list.backToHub", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Back to IT Help" - }, - { - "file": "messages/fr.json", - "keyPath": "techniker.detail.responseTime", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Répond en environ {hours}h" - }, - { - "file": "messages/fr.json", - "keyPath": "techniker.detail.deliveryRemote", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "À distance / En ligne" - }, - { - "file": "messages/fr.json", - "keyPath": "agb.asOf", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "En vigueur depuis : avril 2026" - }, - { - "file": "messages/fr.json", - "keyPath": "datenschutz.asOf", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "En vigueur depuis : mars 2026" - }, - { - "file": "messages/fr.json", - "keyPath": "impressum.asOf", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "En vigueur depuis : avril 2026" - }, - { - "file": "messages/fr.json", - "keyPath": "transparenz.compactMetrics.devicesRescued", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Appareils sauvés par an" - }, - { - "file": "messages/fr.json", - "keyPath": "donate.transparency.co2Label", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "économisés par an" - }, - { - "file": "messages/fr.json", - "keyPath": "donate.dropoff.submitting", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Envoi en cours …" - }, - { - "file": "messages/fr.json", - "keyPath": "donate.paths.money.title", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Virement bancaire en deux minutes." - }, - { - "file": "messages/fr.json", - "keyPath": "donate.wishlist.items.soldering.title", - "suspectedLanguage": "es", - "ownRatio": 0.14, - "otherRatio": 0.29, - "snippet": "Station de soudage (Ersa i-CON Pico)" - }, - { - "file": "messages/fr.json", - "keyPath": "donate.wishlist.items.soldering.purpose", - "suspectedLanguage": "it", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Don : Ersa i-CON Pico" - }, - { - "file": "messages/fr.json", - "keyPath": "ai.formAssist.ariaProcessing", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "IA en cours..." - }, - { - "file": "messages/fr.json", - "keyPath": "dashboard.workshops.pendingTitle", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Inscription en attente" - }, - { - "file": "messages/fr.json", - "keyPath": "dashboard.appointments.requestedTitle", - "suspectedLanguage": "es", - "ownRatio": 0.17, - "otherRatio": 0.33, - "snippet": "Demande de rendez-vous en attente" - }, - { - "file": "messages/fr.json", - "keyPath": "dashboard.orders.pendingPaymentTitle", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Paiement en attente" - }, - { - "file": "messages/fr.json", - "keyPath": "dashboard.reviews.statusPendingModeration", - "suspectedLanguage": "es", - "ownRatio": 0.25, - "otherRatio": 0.5, - "snippet": "En attente de modération" - }, - { - "file": "messages/fr.json", - "keyPath": "dashboard.seller.statsPending", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.5, - "snippet": "en attente: {count}" - }, - { - "file": "messages/fr.json", - "keyPath": "dashboard.blogSubmissions.submitting", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Envoi en cours..." - }, - { - "file": "messages/fr.json", - "keyPath": "dashboard.decisions.noVotings", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Aucun vote ouvert en ce moment." - }, - { - "file": "messages/fr.json", - "keyPath": "dashboard.decisions.votePending", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Vote en attente" - }, - { - "file": "messages/fr.json", - "keyPath": "dashboard.techniker.statusInDiscussion", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.5, - "snippet": "En discussion" - }, - { - "file": "messages/fr.json", - "keyPath": "dashboard.membership.pendingBadge", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Cotisation en attente" - }, - { - "file": "messages/fr.json", - "keyPath": "dashboard.membership.amountValue", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 1, - "snippet": "{currency} {fee} / an" - }, - { - "file": "messages/fr.json", - "keyPath": "dashboard.membership.benefitsTitle", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "En tant que membre" - }, - { - "file": "messages/fr.json", - "keyPath": "dashboard.donations.deviceFallback", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Don en nature" - }, - { - "file": "messages/fr.json", - "keyPath": "components.voiceStatusMessage.paused", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Enregistrement en pause" - }, - { - "file": "messages/fr.json", - "keyPath": "components.geschichteSection.devicesPerYear", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Appareils sauvés par an" - }, - { - "file": "messages/fr.json", - "keyPath": "components.impactStatsSection.trainedPeople", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Personnes formées en ateliers" - }, - { - "file": "messages/fr.json", - "keyPath": "components.zeroWaste.devicesSavedLabel", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Appareils sauvés par an" - }, - { - "file": "messages/fr.json", - "keyPath": "components.erfassung.dimensionFields.stock", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Quantité en stock" - }, - { - "file": "messages/fr.json", - "keyPath": "components.erfassung.destination.title", - "suspectedLanguage": "it", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Que se passe-t-il ensuite ?" - }, - { - "file": "messages/fr.json", - "keyPath": "components.erfassung.voiceEntry.processing", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Traitement en cours…" - }, - { - "file": "messages/fr.json", - "keyPath": "vote.statusVoting", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Vote en cours" - }, - { - "file": "messages/fr.json", - "keyPath": "admin.hirn.openFullscreen", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Ouvrir en plein écran" - }, - { - "file": "messages/fr.json", - "keyPath": "admin.hirn.providers.categoryFree", - "suspectedLanguage": "it", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Gratuit / Pay-per-use" - }, - { - "file": "messages/fr.json", - "keyPath": "admin.dashboard.awaitingApproval", - "suspectedLanguage": "es", - "ownRatio": 0.25, - "otherRatio": 0.5, - "snippet": "en attente de validation" - }, - { - "file": "messages/fr.json", - "keyPath": "admin.timecards.reviewDoneReopened", - "suspectedLanguage": "es", - "ownRatio": 0.2, - "otherRatio": 0.4, - "snippet": "Rouvert — de retour en brouillon." - }, - { - "file": "messages/fr.json", - "keyPath": "admin.timecards.shiftRunning", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Service en cours" - }, - { - "file": "messages/fr.json", - "keyPath": "admin.timecards.failurePayrollLocked", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "verrouillée en paie" - }, - { - "file": "messages/fr.json", - "keyPath": "admin.intake.detail.viewListing", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Voir l'annonce en boutique" - }, - { - "file": "messages/fr.json", - "keyPath": "admin.intake.detail.finalQaSolo", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Seul·e en service — outrepasser" - }, - { - "file": "messages/fr.json", - "keyPath": "admin.intake.detail.publishGateMissing", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.5, - "snippet": "En attente : {items}." - }, - { - "file": "messages/fr.json", - "keyPath": "admin.intake.pipeline.board.listingState.active", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "En boutique · active" - }, - { - "file": "messages/fr.json", - "keyPath": "admin.intake.pipeline.hero.inProgress.headline", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "{count, plural, one {# appareil} other {# appareils}} en cours" - }, - { - "file": "messages/fr.json", - "keyPath": "admin.intake.pipeline.hero.inProgress.cta", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Voir en cours" - }, - { - "file": "messages/fr.json", - "keyPath": "admin.intake.pipeline.hero.failed.headline", - "suspectedLanguage": "es", - "ownRatio": 0.2, - "otherRatio": 0.4, - "snippet": "{count, plural, one {# appareil} other {# appareils}} en échec de contrôle" - }, - { - "file": "messages/fr.json", - "keyPath": "admin.intake.checklist.overrideSoloAction", - "suspectedLanguage": "es", - "ownRatio": 0.13, - "otherRatio": 0.25, - "snippet": "Seul·e en service — outrepasser en un clic" - }, - { - "file": "messages/fr.json", - "keyPath": "admin.notifications.relativeMinutes", - "suspectedLanguage": "it", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "il y a {count} min" - }, - { - "file": "messages/fr.json", - "keyPath": "admin.notifications.relativeHours", - "suspectedLanguage": "it", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "il y a {count} h" - }, - { - "file": "messages/fr.json", - "keyPath": "admin.permissions.manager.empty", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Aucune demande d'accès en attente" - }, - { - "file": "messages/fr.json", - "keyPath": "admin.itHilfe.hero.urgent.headline", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "{count, plural, one {# demande urgente} other {# demandes urgentes}} en attente" - }, - { - "file": "messages/fr.json", - "keyPath": "admin.timeOff.submitting", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Envoi en cours …" - }, - { - "file": "messages/fr.json", - "keyPath": "admin.timeOff.requestSubmitted", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Demande envoyée — en attente d'approbation." - }, - { - "file": "messages/fr.json", - "keyPath": "admin.hirnContexts.admin-zeiterfassung.s2", - "suspectedLanguage": "it", - "ownRatio": 0.13, - "otherRatio": 0.25, - "snippet": "Que se passe-t-il après la soumission ?" - }, - { - "file": "messages/fr.json", - "keyPath": "changelog.command.label", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Démarrer en local" - }, - { - "file": "messages/fr.json", - "keyPath": "reparaturbonus.facts.pilot.detail", - "suspectedLanguage": "es", - "ownRatio": 0.1, - "otherRatio": 0.3, - "snippet": "Lancé en juillet 2026. La ville y consacre environ CHF {budget} millions." - }, - { - "file": "messages/fr.json", - "keyPath": "reparaturbonus.fit.location.title", - "suspectedLanguage": "es", - "ownRatio": 0.38, - "otherRatio": 0.5, - "snippet": "En plein cœur de la Ville de Zurich" - }, - { - "file": "messages/fr.json", - "keyPath": "projects.index.more", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "En savoir plus" - }, - { - "file": "messages/fr.json", - "keyPath": "projects.status.building", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.5, - "snippet": "En développement" - }, - { - "file": "messages/fr.json", - "keyPath": "statuten.hero.subtitle", - "suspectedLanguage": "es", - "ownRatio": 0.22, - "otherRatio": 0.33, - "snippet": "La charte fondatrice de {orgName} — consultable avant même son adoption." - }, - { - "file": "messages/fr.json", - "keyPath": "statuten.articles.inkrafttreten.title", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Entrée en vigueur" - }, - { - "file": "messages/fr.json", - "keyPath": "divisions.status.research", - "suspectedLanguage": "es", - "ownRatio": 0, - "otherRatio": 0.5, - "snippet": "En recherche" - }, - { - "file": "messages/fr.json", - "keyPath": "divisions.items.computers.tagline", - "suspectedLanguage": "es", - "ownRatio": 0.14, - "otherRatio": 0.29, - "snippet": "De bonnes machines, plus longtemps en circulation" - }, - { - "file": "messages/es.json", - "keyPath": "members.helpfulCount", - "suspectedLanguage": "it", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "{count} lo encontraron útil" - }, - { - "file": "messages/es.json", - "keyPath": "nav.items.requestHelpDesc", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Describe your issue and get matched with technicians" - }, - { - "file": "messages/es.json", - "keyPath": "auth.login.errorUnexpected", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Se ha producido un error inesperado" - }, - { - "file": "messages/es.json", - "keyPath": "auth.register.donateHardware", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Donar un equipo" - }, - { - "file": "messages/es.json", - "keyPath": "auth.forgotPassword.genericError", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Se ha producido un error" - }, - { - "file": "messages/es.json", - "keyPath": "auth.verify.description", - "suspectedLanguage": "fr", - "ownRatio": 0.14, - "otherRatio": 0.29, - "snippet": "Hemos enviado un código de 6 dígitos a {email}" - }, - { - "file": "messages/es.json", - "keyPath": "auth.verify.noCode", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "¿No recibiste un código?" - }, - { - "file": "messages/es.json", - "keyPath": "auth.resetPassword.requestNewLink", - "suspectedLanguage": "fr", - "ownRatio": 0.17, - "otherRatio": 0.33, - "snippet": "Solicitar un nuevo enlace de restablecimiento" - }, - { - "file": "messages/es.json", - "keyPath": "auth.resetPassword.genericError", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Se ha producido un error" - }, - { - "file": "messages/es.json", - "keyPath": "notFound.reportProblem", - "suspectedLanguage": "fr", - "ownRatio": 0.25, - "otherRatio": 0.5, - "snippet": "Informar de un problema" - }, - { - "file": "messages/es.json", - "keyPath": "blog.submit.pageTitle", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Enviar un artículo" - }, - { - "file": "messages/es.json", - "keyPath": "blog.comments.placeholder", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Escribe un comentario…" - }, - { - "file": "messages/es.json", - "keyPath": "contact.form.title", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Envíanos un mensaje" - }, - { - "file": "messages/es.json", - "keyPath": "contact.subtitle", - "suspectedLanguage": "fr", - "ownRatio": 0.2, - "otherRatio": 0.4, - "snippet": "Nos alegra saber de ti" - }, - { - "file": "messages/es.json", - "keyPath": "getInvolved.partnerships.howToStart.steps.3", - "suspectedLanguage": "fr", - "ownRatio": 0.2, - "otherRatio": 0.4, - "snippet": "Desarrolla un acuerdo de partnership" - }, - { - "file": "messages/es.json", - "keyPath": "getInvolved.partnerships.howToStartSteps.3", - "suspectedLanguage": "fr", - "ownRatio": 0.2, - "otherRatio": 0.4, - "snippet": "Desarrolla un acuerdo de colaboración" - }, - { - "file": "messages/es.json", - "keyPath": "getInvolved.itHilfeTechniker.benefitsHeading", - "suspectedLanguage": "it", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Lo que usted gana" - }, - { - "file": "messages/es.json", - "keyPath": "getInvolved.donate.weAccept", - "suspectedLanguage": "it", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Lo que aceptamos:" - }, - { - "file": "messages/es.json", - "keyPath": "getInvolved.donate.weDoNotAccept", - "suspectedLanguage": "it", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Lo que no aceptamos:" - }, - { - "file": "messages/es.json", - "keyPath": "home.actions.sell.title", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "¿Tienes un dispositivo viejo?" - }, - { - "file": "messages/es.json", - "keyPath": "home.impact.subtitle", - "suspectedLanguage": "it", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Lo que hemos logrado juntos" - }, - { - "file": "messages/es.json", - "keyPath": "home.finalCta.button", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Donar un dispositivo" - }, - { - "file": "messages/es.json", - "keyPath": "itHelp.detail.unexpectedError", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Ocurrió un error" - }, - { - "file": "messages/es.json", - "keyPath": "itHelp.create.errorGeneric", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Ha ocurrido un error" - }, - { - "file": "messages/es.json", - "keyPath": "itHelp.myOffers.emptyNoFilter", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Aún no has enviado ofertas" - }, - { - "file": "messages/es.json", - "keyPath": "itHelp.edit.errorGeneric", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Ocurrió un error" - }, - { - "file": "messages/es.json", - "keyPath": "itHelp.review.errorGeneric", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Se ha producido un error" - }, - { - "file": "messages/es.json", - "keyPath": "itHelp.hub.paths.technicians.description", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Browse profiles and contact someone directly" - }, - { - "file": "messages/es.json", - "keyPath": "itHelp.browse.subtitle", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "For technicians offering help" - }, - { - "file": "messages/es.json", - "keyPath": "itHelp.browse.backToHub", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Back to IT Help" - }, - { - "file": "messages/es.json", - "keyPath": "marketplace.sell.unexpectedError", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Se ha producido un error inesperado" - }, - { - "file": "messages/es.json", - "keyPath": "marketplace.review.errorGeneric", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Se ha producido un error inesperado" - }, - { - "file": "messages/es.json", - "keyPath": "marketplace.review.recommendYes", - "suspectedLanguage": "it", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Sí, lo recomiendo" - }, - { - "file": "messages/es.json", - "keyPath": "services.openSourceSolutions.detail.replaces", - "suspectedLanguage": "it", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Lo que reemplaza" - }, - { - "file": "messages/es.json", - "keyPath": "shop.page.heroSubtitle", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.15, - "snippet": "Tested laptops, computers, monitors, and accessories from our own refurbishment …" - }, - { - "file": "messages/es.json", - "keyPath": "shop.page.metaDescription", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.21, - "snippet": "Tested refurbished computers, laptops, monitors, and accessories directly from t…" - }, - { - "file": "messages/es.json", - "keyPath": "shop.page.online.tagline", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.43, - "snippet": "Our own online shop is the default." - }, - { - "file": "messages/es.json", - "keyPath": "shop.page.trust.qualityBody", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Devices are refurbished, checked, and shipped with practical software." - }, - { - "file": "messages/es.json", - "keyPath": "shop.page.trust.stockBody", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Live from our published inventory." - }, - { - "file": "messages/es.json", - "keyPath": "shop.page.products.eyebrow", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.5, - "snippet": "Our inventory" - }, - { - "file": "messages/es.json", - "keyPath": "shop.page.products.body", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.24, - "snippet": "This is the primary evig shop. Shopware remains only as a fallback when an older…" - }, - { - "file": "messages/es.json", - "keyPath": "shop.page.products.emptyTitle", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "No products are published right now" - }, - { - "file": "messages/es.json", - "keyPath": "shop.page.products.emptyBody", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.23, - "snippet": "Inventory is maintained by the workshop. Check back later or contact us directly…" - }, - { - "file": "messages/es.json", - "keyPath": "shop.page.repair.title", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Device broken? Describe the problem." - }, - { - "file": "messages/es.json", - "keyPath": "shop.page.repair.body", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.3, - "snippet": "Create a request with the symptoms, device type, and location. The request stays…" - }, - { - "file": "messages/es.json", - "keyPath": "shop.page.legacy.body", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Our own shop is the default. We keep the Shopware channel as a transition path a…" - }, - { - "file": "messages/es.json", - "keyPath": "support.promise.enables", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Tu apoyo nos permite:" - }, - { - "file": "messages/es.json", - "keyPath": "workshops.browse.cta.title", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "¿Quieres proponer un taller?" - }, - { - "file": "messages/es.json", - "keyPath": "workshops.detail.learningObjectives", - "suspectedLanguage": "it", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Lo que aprenderás:" - }, - { - "file": "messages/es.json", - "keyPath": "workshops.propose.meta.title", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Proponer un taller" - }, - { - "file": "messages/es.json", - "keyPath": "workshops.propose.title", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Proponer un taller" - }, - { - "file": "messages/es.json", - "keyPath": "workshops.registration.errorTitle", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Ha ocurrido un error" - }, - { - "file": "messages/es.json", - "keyPath": "donate.hero.ctaDevice", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Donar un dispositivo" - }, - { - "file": "messages/es.json", - "keyPath": "donate.tiers.heading", - "suspectedLanguage": "it", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Lo que logra tu donación" - }, - { - "file": "messages/es.json", - "keyPath": "donate.tiers.eyebrow", - "suspectedLanguage": "it", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "LO QUE LOGRA TU DONACIÓN" - }, - { - "file": "messages/es.json", - "keyPath": "donate.devices.acceptLabel", - "suspectedLanguage": "it", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Lo que aceptamos:" - }, - { - "file": "messages/es.json", - "keyPath": "donate.devices.notAcceptLabel", - "suspectedLanguage": "it", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Lo que no aceptamos:" - }, - { - "file": "messages/es.json", - "keyPath": "donate.devices.eyebrow", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "DONAR UN DISPOSITIVO" - }, - { - "file": "messages/es.json", - "keyPath": "donate.paths.device.title", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Entrega un portátil, sobremesa o monitor." - }, - { - "file": "messages/es.json", - "keyPath": "donate.wishlist.prefillTemplate", - "suspectedLanguage": "it", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Quiero donar lo siguiente: {title}" - }, - { - "file": "messages/es.json", - "keyPath": "abos.modal.unknownError", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Se produjo un error desconocido" - }, - { - "file": "messages/es.json", - "keyPath": "dashboard.profile.publicProfile.displayNamePlaceholder", - "suspectedLanguage": "it", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "¿Cómo desea que le llamen?" - }, - { - "file": "messages/es.json", - "keyPath": "dashboard.emailVerification.sent", - "suspectedLanguage": "fr", - "ownRatio": 0.13, - "otherRatio": 0.25, - "snippet": "¡Se ha enviado un nuevo código de confirmación!" - }, - { - "file": "messages/es.json", - "keyPath": "dashboard.favorites.pageSubtitle", - "suspectedLanguage": "fr", - "ownRatio": 0.17, - "otherRatio": 0.33, - "snippet": "Tus anuncios guardados de un vistazo" - }, - { - "file": "messages/es.json", - "keyPath": "dashboard.favorites.unexpectedError", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Ocurrió un error inesperado" - }, - { - "file": "messages/es.json", - "keyPath": "dashboard.seller.unexpectedError", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Ocurrió un error inesperado" - }, - { - "file": "messages/es.json", - "keyPath": "dashboard.seller.noProducts", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Aún no has creado ningún producto." - }, - { - "file": "messages/es.json", - "keyPath": "dashboard.techniker.noOffers", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Aún no has hecho ninguna oferta." - }, - { - "file": "messages/es.json", - "keyPath": "dashboard.bookings.pageSubtitle", - "suspectedLanguage": "fr", - "ownRatio": 0.29, - "otherRatio": 0.43, - "snippet": "Tus pedidos de reparación de un vistazo" - }, - { - "file": "messages/es.json", - "keyPath": "dashboard.sellerProfile.unexpectedError", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Se produjo un error inesperado" - }, - { - "file": "messages/es.json", - "keyPath": "components.messageThread.placeholder", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Escribe un mensaje..." - }, - { - "file": "messages/es.json", - "keyPath": "components.serviceBooking.genericError", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Se produjo un error" - }, - { - "file": "messages/es.json", - "keyPath": "components.aiSearchModal.subtitle", - "suspectedLanguage": "fr", - "ownRatio": 0.22, - "otherRatio": 0.33, - "snippet": "Introduce un nombre de producto o número de artículo" - }, - { - "file": "messages/es.json", - "keyPath": "components.erfassung.imageCapture.errorGeneric", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Se ha producido un error" - }, - { - "file": "messages/es.json", - "keyPath": "components.erfassung.dataEntryTabs.speechRequires", - "suspectedLanguage": "fr", - "ownRatio": 0.17, - "otherRatio": 0.33, - "snippet": "Requiere un servicio de transcripción autoalojado" - }, - { - "file": "messages/es.json", - "keyPath": "components.erfassung.dataEntryTabs.pictureRequires", - "suspectedLanguage": "fr", - "ownRatio": 0.29, - "otherRatio": 0.43, - "snippet": "Requiere un modelo de IA de visión" - }, - { - "file": "messages/es.json", - "keyPath": "components.eWasteProblem.stats.europe-per-capita.label", - "suspectedLanguage": "it", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Residuos electrónicos per cápita (Europa)" - }, - { - "file": "messages/es.json", - "keyPath": "components.messageSidebar.messagePlaceholder", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Escribir un mensaje..." - }, - { - "file": "messages/es.json", - "keyPath": "admin.timecards.noScheduleLine", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Aún no tienes un horario predeterminado." - }, - { - "file": "messages/es.json", - "keyPath": "admin.intake.quickCapture.title", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Registrar un dispositivo ahora" - }, - { - "file": "messages/es.json", - "keyPath": "admin.permissions.request.successBody", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Un Super Admin revisará tu solicitud." - }, - { - "file": "messages/es.json", - "keyPath": "admin.sections.items.erfassung.description", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Aceptar un equipo (checklist/donación) o registrar un producto rápidamente" - }, - { - "file": "messages/es.json", - "keyPath": "admin.sections.items.analyse-hub.description", - "suspectedLanguage": "fr", - "ownRatio": 0.13, - "otherRatio": 0.25, - "snippet": "Cifras clave, finanzas e impacto de un vistazo" - }, - { - "file": "messages/es.json", - "keyPath": "admin.hirnContexts.admin-product-capture.title", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Registrar un producto" - }, - { - "file": "messages/es.json", - "keyPath": "admin.hirnContexts.admin-product-capture.guideTitle", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Registrar un producto" - }, - { - "file": "messages/es.json", - "keyPath": "admin.hirnContexts.admin-marketplace.s0", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "¿Cómo verifico un anuncio?" - }, - { - "file": "messages/es.json", - "keyPath": "admin.hirnContexts.admin-protocols.s0", - "suspectedLanguage": "fr", - "ownRatio": 0.2, - "otherRatio": 0.4, - "snippet": "Crea un borrador de acta" - }, - { - "file": "messages/es.json", - "keyPath": "admin.hirnContexts.admin-decisions.s0", - "suspectedLanguage": "fr", - "ownRatio": 0.2, - "otherRatio": 0.4, - "snippet": "Crea un borrador de decisión" - }, - { - "file": "messages/es.json", - "keyPath": "soFunktioniert.journey.heading", - "suspectedLanguage": "fr", - "ownRatio": 0.29, - "otherRatio": 0.43, - "snippet": "De la donación a un nuevo hogar" - }, - { - "file": "messages/es.json", - "keyPath": "soFunktioniert.phases.rehome.title", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Un nuevo hogar" - }, - { - "file": "messages/es.json", - "keyPath": "soFunktioniert.cta.donate", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Donar un dispositivo" - }, - { - "file": "messages/es.json", - "keyPath": "reparaturbonus.steps.find.title", - "suspectedLanguage": "fr", - "ownRatio": 0.2, - "otherRatio": 0.4, - "snippet": "Encontrar un negocio de reparación" - }, - { - "file": "messages/es.json", - "keyPath": "projects.hero.title", - "suspectedLanguage": "it", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Lo que construimos" - }, - { - "file": "messages/es.json", - "keyPath": "divisions.overview.heading", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "{count, plural, one {Un área} other {# áreas}}, un principio" - }, - { - "file": "messages/es.json", - "keyPath": "divisions.items.technicians.tagline", - "suspectedLanguage": "it", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Encontrar a quien lo repare" - }, - { - "file": "messages/es.json", - "keyPath": "pillars.eyebrow", - "suspectedLanguage": "it", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "LO QUE HACEMOS" - }, - { - "file": "messages/es.json", - "keyPath": "pillars.heading", - "suspectedLanguage": "fr", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "{count, plural, one {Un camino} other {# caminos}}, un objetivo" - }, - { - "file": "messages/es.json", - "keyPath": "pillars.items.technicians.title", - "suspectedLanguage": "it", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Encontrar a quien lo repare" - }, - { - "file": "messages/ja.json", - "keyPath": "nav.items.requestHelpDesc", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Describe your issue and get matched with technicians" - }, - { - "file": "messages/ja.json", - "keyPath": "agb.meta.title", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Terms and Conditions" - }, - { - "file": "messages/ja.json", - "keyPath": "agb.meta.description", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.4, - "snippet": "Terms and Conditions of evig" - }, - { - "file": "messages/ja.json", - "keyPath": "agb.title", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Terms and Conditions" - }, - { - "file": "messages/ja.json", - "keyPath": "agb.section1.body", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.31, - "snippet": "These Terms and Conditions (T&Cs) apply to all services and offers of {legalName…" - }, - { - "file": "messages/ja.json", - "keyPath": "agb.section2.items.0", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Refurbishment and sale of second-hand IT equipment" - }, - { - "file": "messages/ja.json", - "keyPath": "agb.section2.items.2", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Workshops and training" - }, - { - "file": "messages/ja.json", - "keyPath": "agb.section2.items.4", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "IT help and support" - }, - { - "file": "messages/ja.json", - "keyPath": "agb.section3.title", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "3. Prices and Payment" - }, - { - "file": "messages/ja.json", - "keyPath": "agb.section3.body", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.21, - "snippet": "All prices are in Swiss Francs (CHF) including VAT, unless stated otherwise. Pay…" - }, - { - "file": "messages/ja.json", - "keyPath": "agb.section4.title", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "4. Conclusion of Contract" - }, - { - "file": "messages/ja.json", - "keyPath": "agb.section4.body", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.34, - "snippet": "A contract is concluded by placing an order via the platform, in the shop or by …" - }, - { - "file": "messages/ja.json", - "keyPath": "agb.section5.title", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "5. Right of Withdrawal" - }, - { - "file": "messages/ja.json", - "keyPath": "agb.section5.body", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.34, - "snippet": "For in-store purchases there is no statutory right of withdrawal, as Swiss law d…" - }, - { - "file": "messages/ja.json", - "keyPath": "agb.section6.body", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.27, - "snippet": "{orgName} provides a warranty on refurbished devices in accordance with the appl…" - }, - { - "file": "messages/ja.json", - "keyPath": "agb.section7.body", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.41, - "snippet": "{orgName} is liable within the scope of the applicable legal provisions. Liabili…" - }, - { - "file": "messages/ja.json", - "keyPath": "agb.section8.body", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.26, - "snippet": "Personal data is processed in accordance with our privacy policy. Registered use…" - }, - { - "file": "messages/ja.json", - "keyPath": "agb.section9.body", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.29, - "snippet": "Should individual provisions of these T&Cs prove invalid, the validity of the re…" - }, - { - "file": "messages/ja.json", - "keyPath": "agb.section10.body", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.29, - "snippet": "{orgName} reserves the right to change these T&Cs at any time. The current versi…" - }, - { - "file": "messages/ja.json", - "keyPath": "agb.asOf", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "As of: April 2026" - }, - { - "file": "messages/ja.json", - "keyPath": "datenschutz.meta.description", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Privacy Policy of evig" - }, - { - "file": "messages/ja.json", - "keyPath": "datenschutz.section2.title", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "2. Collection and Processing of Personal Data" - }, - { - "file": "messages/ja.json", - "keyPath": "datenschutz.section2.intro", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "We collect personal data when you register on our platform, use our services or …" - }, - { - "file": "messages/ja.json", - "keyPath": "datenschutz.section2.items.1", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Contact details (for enquiries and bookings)" - }, - { - "file": "messages/ja.json", - "keyPath": "datenschutz.section2.items.2", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Usage data (when using the platform)" - }, - { - "file": "messages/ja.json", - "keyPath": "datenschutz.section3.title", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "3. Purpose of Data Processing" - }, - { - "file": "messages/ja.json", - "keyPath": "datenschutz.section3.intro", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.4, - "snippet": "Your data is used for:" - }, - { - "file": "messages/ja.json", - "keyPath": "datenschutz.section3.items.0", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Providing and managing your user account" - }, - { - "file": "messages/ja.json", - "keyPath": "datenschutz.section3.items.1", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Carrying out repairs and services" - }, - { - "file": "messages/ja.json", - "keyPath": "datenschutz.section3.items.3", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Operating the P2P marketplace" - }, - { - "file": "messages/ja.json", - "keyPath": "datenschutz.section3.items.4", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.29, - "snippet": "Communication regarding our offers (with consent only)" - }, - { - "file": "messages/ja.json", - "keyPath": "datenschutz.section4.body", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.26, - "snippet": "Your data is not sold to third parties. Disclosure only occurs where necessary t…" - }, - { - "file": "messages/ja.json", - "keyPath": "datenschutz.section5.body", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.22, - "snippet": "We implement technical and organisational measures to protect your data against …" - }, - { - "file": "messages/ja.json", - "keyPath": "datenschutz.section6.body", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.28, - "snippet": "Our platform uses functional cookies for session management and authentication. …" - }, - { - "file": "messages/ja.json", - "keyPath": "datenschutz.section7.intro", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.6, - "snippet": "You have the right to:" - }, - { - "file": "messages/ja.json", - "keyPath": "datenschutz.section7.contactText", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "For all other enquiries, please contact:" - }, - { - "file": "messages/ja.json", - "keyPath": "datenschutz.section8.body", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "We store your personal data only as long as necessary for the stated purposes or…" - }, - { - "file": "messages/ja.json", - "keyPath": "datenschutz.section9.body", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.26, - "snippet": "Processing is based on the Swiss Federal Act on Data Protection (FADP) and, wher…" - }, - { - "file": "messages/ja.json", - "keyPath": "datenschutz.section10.body", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.3, - "snippet": "This privacy policy is subject to the Swiss Federal Act on Data Protection (FADP…" - }, - { - "file": "messages/ja.json", - "keyPath": "datenschutz.asOf", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "As of: March 2026" - }, - { - "file": "messages/ja.json", - "keyPath": "impressum.meta.description", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Legal notice and legal information" - }, - { - "file": "messages/ja.json", - "keyPath": "impressum.legalInfo", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Information pursuant to Swiss law" - }, - { - "file": "messages/ja.json", - "keyPath": "impressum.disclaimerP1", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.35, - "snippet": "The author accepts no liability whatsoever regarding the accuracy, correctness, …" - }, - { - "file": "messages/ja.json", - "keyPath": "impressum.disclaimerP2", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.21, - "snippet": "Liability claims against the author for material or immaterial damage arising fr…" - }, - { - "file": "messages/ja.json", - "keyPath": "impressum.disclaimerP3", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.24, - "snippet": "All offers are non-binding. The author expressly reserves the right to change, s…" - }, - { - "file": "messages/ja.json", - "keyPath": "impressum.linksDisclaimer", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.4, - "snippet": "Disclaimer for Links and References" - }, - { - "file": "messages/ja.json", - "keyPath": "impressum.linksDisclaimerText", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.39, - "snippet": "References and links to third-party websites are outside our area of responsibil…" - }, - { - "file": "messages/ja.json", - "keyPath": "impressum.copyrightText", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.31, - "snippet": "The copyright and all other rights to content, images, photos or other files on …" - }, - { - "file": "messages/ja.json", - "keyPath": "impressum.furtherLegalText", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.4, - "snippet": "See also our privacy policy and our terms and conditions." - }, - { - "file": "messages/ja.json", - "keyPath": "impressum.agbLinkLabel", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "terms and conditions" - }, - { - "file": "messages/ja.json", - "keyPath": "impressum.asOf", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "As of: April 2026" - }, - { - "file": "messages/ja.json", - "keyPath": "transparenz.meta.description", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.35, - "snippet": "What we do and how we do it. An insight into our mission, figures and working me…" - }, - { - "file": "messages/ja.json", - "keyPath": "transparenz.hero.subtitle", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.38, - "snippet": "What we do and how we do it" - }, - { - "file": "messages/ja.json", - "keyPath": "transparenz.mission.text", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.28, - "snippet": "{description} As a {legalForm} (founded in {foundingYear}), we are committed to …" - }, - { - "file": "messages/ja.json", - "keyPath": "transparenz.howWeWork.subtitle", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Our three community platforms connect people with technology." - }, - { - "file": "messages/ja.json", - "keyPath": "transparenz.howWeWork.toPlatform", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Go to Platform" - }, - { - "file": "messages/ja.json", - "keyPath": "transparenz.howWeWork.platforms.0.description", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.18, - "snippet": "Community platform for second-hand IT equipment. Users can create listings, buy …" - }, - { - "file": "messages/ja.json", - "keyPath": "transparenz.howWeWork.platforms.1.description", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.23, - "snippet": "Connecting volunteer technicians for computer repairs. Human-to-human help, loca…" - }, - { - "file": "messages/ja.json", - "keyPath": "transparenz.howWeWork.platforms.2.description", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.28, - "snippet": "Courses on Linux, hardware, programming and AI. Sharing knowledge and learning f…" - }, - { - "file": "messages/ja.json", - "keyPath": "transparenz.finances.memberLink", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Become a member and gain access" - }, - { - "file": "messages/ja.json", - "keyPath": "transparenz.board.text", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.29, - "snippet": "{orgName} is run by a voluntary board. Contact:" - }, - { - "file": "messages/ja.json", - "keyPath": "notFound.description", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.23, - "snippet": "The page you're looking for doesn't exist or has been moved." - }, - { - "file": "messages/ja.json", - "keyPath": "notFound.goHome", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Go to Homepage" - }, - { - "file": "messages/ja.json", - "keyPath": "error.description", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "An unexpected error occurred. Try reloading the page — if the problem persists, …" - }, - { - "file": "messages/ja.json", - "keyPath": "error.goHome", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Go to Homepage" - }, - { - "file": "messages/ja.json", - "keyPath": "itHelp.hub.paths.technicians.description", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Browse profiles and contact someone directly" - }, - { - "file": "messages/ja.json", - "keyPath": "itHelp.browse.subtitle", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "For technicians offering help" - }, - { - "file": "messages/ja.json", - "keyPath": "itHelp.browse.backToHub", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Back to IT Help" - }, - { - "file": "messages/ja.json", - "keyPath": "shop.page.heroSubtitle", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.15, - "snippet": "Tested laptops, computers, monitors, and accessories from our own refurbishment …" - }, - { - "file": "messages/ja.json", - "keyPath": "shop.page.metaDescription", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.21, - "snippet": "Tested refurbished computers, laptops, monitors, and accessories directly from t…" - }, - { - "file": "messages/ja.json", - "keyPath": "shop.page.online.tagline", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.43, - "snippet": "Our own online shop is the default." - }, - { - "file": "messages/ja.json", - "keyPath": "shop.page.trust.qualityBody", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Devices are refurbished, checked, and shipped with practical software." - }, - { - "file": "messages/ja.json", - "keyPath": "shop.page.trust.stockBody", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Live from our published inventory." - }, - { - "file": "messages/ja.json", - "keyPath": "shop.page.products.eyebrow", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.5, - "snippet": "Our inventory" - }, - { - "file": "messages/ja.json", - "keyPath": "shop.page.products.body", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.24, - "snippet": "This is the primary evig shop. Shopware remains only as a fallback when an older…" - }, - { - "file": "messages/ja.json", - "keyPath": "shop.page.products.emptyTitle", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "No products are published right now" - }, - { - "file": "messages/ja.json", - "keyPath": "shop.page.products.emptyBody", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.23, - "snippet": "Inventory is maintained by the workshop. Check back later or contact us directly…" - }, - { - "file": "messages/ja.json", - "keyPath": "shop.page.repair.title", + "keyPath": "nav.items.requestHelpDesc", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Device broken? Describe the problem." + "otherRatio": 0.38, + "snippet": "Describe your issue and get matched with technicians" }, { - "file": "messages/ja.json", - "keyPath": "shop.page.repair.body", + "file": "messages/fr.json", + "keyPath": "nav.items.requestHelpDesc", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.3, - "snippet": "Create a request with the symptoms, device type, and location. The request stays…" + "otherRatio": 0.38, + "snippet": "Describe your issue and get matched with technicians" }, { - "file": "messages/ja.json", - "keyPath": "shop.page.legacy.body", + "file": "messages/es.json", + "keyPath": "nav.items.requestHelpDesc", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Our own shop is the default. We keep the Shopware channel as a transition path a…" - }, - { - "file": "messages/ja.json", - "keyPath": "donate.wishlist.items.soldering.title", - "suspectedLanguage": "it", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "はんだステーション(Ersa i-CON Pico)" - }, - { - "file": "messages/ja.json", - "keyPath": "donate.wishlist.items.soldering.purpose", - "suspectedLanguage": "it", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "寄付:Ersa i-CON Pico" - }, - { - "file": "messages/ja.json", - "keyPath": "admin.timecards.selectHint", - "suspectedLanguage": "it", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "クリックで1日を選択 · ドラッグで複数選択(列を下へ = すべての火曜日) · 曜日ラベル(月、火 …)で列全体を選択 · Shift+クリックで範囲 · C…" + "otherRatio": 0.38, + "snippet": "Describe your issue and get matched with technicians" }, { "file": "messages/ja.json", - "keyPath": "projects.items.kivvi.description", - "suspectedLanguage": "de", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Kivvi は evig のオープンソース ERP です。ハードウェアを循環させ続ける事業のための在庫管理、受け入れ、業務データを担います。evig 自身の運営…" - }, - { - "file": "messages/ko.json", "keyPath": "nav.items.requestHelpDesc", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.25, + "otherRatio": 0.38, "snippet": "Describe your issue and get matched with technicians" }, { - "file": "messages/ko.json", - "keyPath": "agb.meta.title", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Terms and Conditions" - }, - { - "file": "messages/ko.json", - "keyPath": "agb.meta.description", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.4, - "snippet": "Terms and Conditions of evig" - }, - { - "file": "messages/ko.json", - "keyPath": "agb.title", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Terms and Conditions" - }, - { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "agb.section1.body", "suspectedLanguage": "en", "ownRatio": 0, @@ -17596,39 +12700,15 @@ "snippet": "These Terms and Conditions (T&Cs) apply to all services and offers of {legalName…" }, { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "agb.section2.items.0", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.25, + "otherRatio": 0.38, "snippet": "Refurbishment and sale of second-hand IT equipment" }, { - "file": "messages/ko.json", - "keyPath": "agb.section2.items.2", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Workshops and training" - }, - { - "file": "messages/ko.json", - "keyPath": "agb.section2.items.4", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "IT help and support" - }, - { - "file": "messages/ko.json", - "keyPath": "agb.section3.title", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "3. Prices and Payment" - }, - { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "agb.section3.body", "suspectedLanguage": "en", "ownRatio": 0, @@ -17636,47 +12716,31 @@ "snippet": "All prices are in Swiss Francs (CHF) including VAT, unless stated otherwise. Pay…" }, { - "file": "messages/ko.json", - "keyPath": "agb.section4.title", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "4. Conclusion of Contract" - }, - { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "agb.section4.body", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.34, + "otherRatio": 0.46, "snippet": "A contract is concluded by placing an order via the platform, in the shop or by …" }, { - "file": "messages/ko.json", - "keyPath": "agb.section5.title", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "5. Right of Withdrawal" - }, - { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "agb.section5.body", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.34, + "otherRatio": 0.43, "snippet": "For in-store purchases there is no statutory right of withdrawal, as Swiss law d…" }, { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "agb.section6.body", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.27, + "otherRatio": 0.32, "snippet": "{orgName} provides a warranty on refurbished devices in accordance with the appl…" }, { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "agb.section7.body", "suspectedLanguage": "en", "ownRatio": 0, @@ -17684,47 +12748,31 @@ "snippet": "{orgName} is liable within the scope of the applicable legal provisions. Liabili…" }, { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "agb.section8.body", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.26, + "otherRatio": 0.37, "snippet": "Personal data is processed in accordance with our privacy policy. Registered use…" }, { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "agb.section9.body", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.29, + "otherRatio": 0.32, "snippet": "Should individual provisions of these T&Cs prove invalid, the validity of the re…" }, { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "agb.section10.body", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.29, + "otherRatio": 0.39, "snippet": "{orgName} reserves the right to change these T&Cs at any time. The current versi…" }, { - "file": "messages/ko.json", - "keyPath": "agb.asOf", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "As of: April 2026" - }, - { - "file": "messages/ko.json", - "keyPath": "datenschutz.meta.description", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Privacy Policy of evig" - }, - { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "datenschutz.section2.title", "suspectedLanguage": "en", "ownRatio": 0, @@ -17732,15 +12780,15 @@ "snippet": "2. Collection and Processing of Personal Data" }, { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "datenschutz.section2.intro", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.33, + "otherRatio": 0.43, "snippet": "We collect personal data when you register on our platform, use our services or …" }, { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "datenschutz.section2.items.1", "suspectedLanguage": "en", "ownRatio": 0, @@ -17748,7 +12796,7 @@ "snippet": "Contact details (for enquiries and bookings)" }, { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "datenschutz.section2.items.2", "suspectedLanguage": "en", "ownRatio": 0, @@ -17756,47 +12804,15 @@ "snippet": "Usage data (when using the platform)" }, { - "file": "messages/ko.json", - "keyPath": "datenschutz.section3.title", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "3. Purpose of Data Processing" - }, - { - "file": "messages/ko.json", - "keyPath": "datenschutz.section3.intro", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.4, - "snippet": "Your data is used for:" - }, - { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "datenschutz.section3.items.0", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.17, + "otherRatio": 0.33, "snippet": "Providing and managing your user account" }, { - "file": "messages/ko.json", - "keyPath": "datenschutz.section3.items.1", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Carrying out repairs and services" - }, - { - "file": "messages/ko.json", - "keyPath": "datenschutz.section3.items.3", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Operating the P2P marketplace" - }, - { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "datenschutz.section3.items.4", "suspectedLanguage": "en", "ownRatio": 0, @@ -17804,39 +12820,31 @@ "snippet": "Communication regarding our offers (with consent only)" }, { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "datenschutz.section4.body", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.26, + "otherRatio": 0.35, "snippet": "Your data is not sold to third parties. Disclosure only occurs where necessary t…" }, { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "datenschutz.section5.body", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.22, + "otherRatio": 0.3, "snippet": "We implement technical and organisational measures to protect your data against …" }, { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "datenschutz.section6.body", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.28, + "otherRatio": 0.33, "snippet": "Our platform uses functional cookies for session management and authentication. …" }, { - "file": "messages/ko.json", - "keyPath": "datenschutz.section7.intro", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.6, - "snippet": "You have the right to:" - }, - { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "datenschutz.section7.contactText", "suspectedLanguage": "en", "ownRatio": 0, @@ -17844,15 +12852,15 @@ "snippet": "For all other enquiries, please contact:" }, { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "datenschutz.section8.body", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.2, + "otherRatio": 0.32, "snippet": "We store your personal data only as long as necessary for the stated purposes or…" }, { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "datenschutz.section9.body", "suspectedLanguage": "en", "ownRatio": 0, @@ -17860,7 +12868,7 @@ "snippet": "Processing is based on the Swiss Federal Act on Data Protection (FADP) and, wher…" }, { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "datenschutz.section10.body", "suspectedLanguage": "en", "ownRatio": 0, @@ -17868,31 +12876,7 @@ "snippet": "This privacy policy is subject to the Swiss Federal Act on Data Protection (FADP…" }, { - "file": "messages/ko.json", - "keyPath": "datenschutz.asOf", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "As of: March 2026" - }, - { - "file": "messages/ko.json", - "keyPath": "impressum.meta.description", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Legal notice and legal information" - }, - { - "file": "messages/ko.json", - "keyPath": "impressum.legalInfo", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Information pursuant to Swiss law" - }, - { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "impressum.disclaimerP1", "suspectedLanguage": "en", "ownRatio": 0, @@ -17900,47 +12884,39 @@ "snippet": "The author accepts no liability whatsoever regarding the accuracy, correctness, …" }, { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "impressum.disclaimerP2", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.21, + "otherRatio": 0.42, "snippet": "Liability claims against the author for material or immaterial damage arising fr…" }, { - "file": "messages/ko.json", - "keyPath": "impressum.disclaimerP3", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.24, - "snippet": "All offers are non-binding. The author expressly reserves the right to change, s…" - }, - { - "file": "messages/ko.json", - "keyPath": "impressum.linksDisclaimer", + "file": "messages/ja.json", + "keyPath": "impressum.disclaimerP3", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.4, - "snippet": "Disclaimer for Links and References" + "otherRatio": 0.35, + "snippet": "All offers are non-binding. The author expressly reserves the right to change, s…" }, { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "impressum.linksDisclaimerText", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.39, + "otherRatio": 0.42, "snippet": "References and links to third-party websites are outside our area of responsibil…" }, { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "impressum.copyrightText", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.31, + "otherRatio": 0.38, "snippet": "The copyright and all other rights to content, images, photos or other files on …" }, { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "impressum.furtherLegalText", "suspectedLanguage": "en", "ownRatio": 0, @@ -17948,47 +12924,23 @@ "snippet": "See also our privacy policy and our terms and conditions." }, { - "file": "messages/ko.json", - "keyPath": "impressum.agbLinkLabel", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "terms and conditions" - }, - { - "file": "messages/ko.json", - "keyPath": "impressum.asOf", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "As of: April 2026" - }, - { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "transparenz.meta.description", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.35, + "otherRatio": 0.47, "snippet": "What we do and how we do it. An insight into our mission, figures and working me…" }, { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "transparenz.hero.subtitle", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.38, + "otherRatio": 0.63, "snippet": "What we do and how we do it" }, { - "file": "messages/ko.json", - "keyPath": "transparenz.mission.text", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.28, - "snippet": "{description} As a {legalForm} (founded in {foundingYear}), we are committed to …" - }, - { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "transparenz.howWeWork.subtitle", "suspectedLanguage": "en", "ownRatio": 0, @@ -17996,23 +12948,15 @@ "snippet": "Our three community platforms connect people with technology." }, { - "file": "messages/ko.json", - "keyPath": "transparenz.howWeWork.toPlatform", - "suspectedLanguage": "en", - "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Go to Platform" - }, - { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "transparenz.howWeWork.platforms.0.description", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.18, + "otherRatio": 0.29, "snippet": "Community platform for second-hand IT equipment. Users can create listings, buy …" }, { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "transparenz.howWeWork.platforms.1.description", "suspectedLanguage": "en", "ownRatio": 0, @@ -18020,372 +12964,372 @@ "snippet": "Connecting volunteer technicians for computer repairs. Human-to-human help, loca…" }, { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "transparenz.howWeWork.platforms.2.description", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.28, + "otherRatio": 0.33, "snippet": "Courses on Linux, hardware, programming and AI. Sharing knowledge and learning f…" }, { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "transparenz.finances.memberLink", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.17, + "otherRatio": 0.33, "snippet": "Become a member and gain access" }, { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "transparenz.board.text", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.29, + "otherRatio": 0.43, "snippet": "{orgName} is run by a voluntary board. Contact:" }, { - "file": "messages/ko.json", + "file": "messages/ja.json", "keyPath": "notFound.description", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.23, + "otherRatio": 0.38, "snippet": "The page you're looking for doesn't exist or has been moved." }, { - "file": "messages/ko.json", - "keyPath": "notFound.goHome", + "file": "messages/ja.json", + "keyPath": "error.description", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Go to Homepage" + "otherRatio": 0.27, + "snippet": "An unexpected error occurred. Try reloading the page — if the problem persists, …" }, { "file": "messages/ko.json", - "keyPath": "error.description", + "keyPath": "nav.items.requestHelpDesc", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "An unexpected error occurred. Try reloading the page — if the problem persists, …" + "otherRatio": 0.38, + "snippet": "Describe your issue and get matched with technicians" }, { "file": "messages/ko.json", - "keyPath": "error.goHome", + "keyPath": "agb.section1.body", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Go to Homepage" + "otherRatio": 0.31, + "snippet": "These Terms and Conditions (T&Cs) apply to all services and offers of {legalName…" }, { "file": "messages/ko.json", - "keyPath": "itHelp.hub.paths.technicians.description", + "keyPath": "agb.section2.items.0", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "Browse profiles and contact someone directly" + "otherRatio": 0.38, + "snippet": "Refurbishment and sale of second-hand IT equipment" }, { "file": "messages/ko.json", - "keyPath": "itHelp.browse.subtitle", + "keyPath": "agb.section3.body", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "For technicians offering help" + "otherRatio": 0.21, + "snippet": "All prices are in Swiss Francs (CHF) including VAT, unless stated otherwise. Pay…" }, { "file": "messages/ko.json", - "keyPath": "itHelp.browse.backToHub", + "keyPath": "agb.section4.body", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Back to IT Help" + "otherRatio": 0.46, + "snippet": "A contract is concluded by placing an order via the platform, in the shop or by …" }, { "file": "messages/ko.json", - "keyPath": "shop.page.heroSubtitle", + "keyPath": "agb.section5.body", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.15, - "snippet": "Tested laptops, computers, monitors, and accessories from our own refurbishment …" + "otherRatio": 0.43, + "snippet": "For in-store purchases there is no statutory right of withdrawal, as Swiss law d…" }, { "file": "messages/ko.json", - "keyPath": "shop.page.metaDescription", + "keyPath": "agb.section6.body", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.21, - "snippet": "Tested refurbished computers, laptops, monitors, and accessories directly from t…" + "otherRatio": 0.32, + "snippet": "{orgName} provides a warranty on refurbished devices in accordance with the appl…" }, { "file": "messages/ko.json", - "keyPath": "shop.page.online.tagline", + "keyPath": "agb.section7.body", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.43, - "snippet": "Our own online shop is the default." + "otherRatio": 0.41, + "snippet": "{orgName} is liable within the scope of the applicable legal provisions. Liabili…" }, { "file": "messages/ko.json", - "keyPath": "shop.page.trust.qualityBody", + "keyPath": "agb.section8.body", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Devices are refurbished, checked, and shipped with practical software." + "otherRatio": 0.37, + "snippet": "Personal data is processed in accordance with our privacy policy. Registered use…" }, { "file": "messages/ko.json", - "keyPath": "shop.page.trust.stockBody", + "keyPath": "agb.section9.body", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Live from our published inventory." + "otherRatio": 0.32, + "snippet": "Should individual provisions of these T&Cs prove invalid, the validity of the re…" }, { "file": "messages/ko.json", - "keyPath": "shop.page.products.eyebrow", + "keyPath": "agb.section10.body", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.5, - "snippet": "Our inventory" + "otherRatio": 0.39, + "snippet": "{orgName} reserves the right to change these T&Cs at any time. The current versi…" }, { "file": "messages/ko.json", - "keyPath": "shop.page.products.body", + "keyPath": "datenschutz.section2.title", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.24, - "snippet": "This is the primary evig shop. Shopware remains only as a fallback when an older…" + "otherRatio": 0.33, + "snippet": "2. Collection and Processing of Personal Data" }, { "file": "messages/ko.json", - "keyPath": "shop.page.products.emptyTitle", + "keyPath": "datenschutz.section2.intro", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "No products are published right now" + "otherRatio": 0.43, + "snippet": "We collect personal data when you register on our platform, use our services or …" }, { "file": "messages/ko.json", - "keyPath": "shop.page.products.emptyBody", + "keyPath": "datenschutz.section2.items.1", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.23, - "snippet": "Inventory is maintained by the workshop. Check back later or contact us directly…" + "otherRatio": 0.33, + "snippet": "Contact details (for enquiries and bookings)" }, { "file": "messages/ko.json", - "keyPath": "shop.page.repair.title", + "keyPath": "datenschutz.section2.items.2", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Device broken? Describe the problem." + "otherRatio": 0.17, + "snippet": "Usage data (when using the platform)" }, { "file": "messages/ko.json", - "keyPath": "shop.page.repair.body", + "keyPath": "datenschutz.section3.items.0", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.3, - "snippet": "Create a request with the symptoms, device type, and location. The request stays…" + "otherRatio": 0.33, + "snippet": "Providing and managing your user account" }, { "file": "messages/ko.json", - "keyPath": "shop.page.legacy.body", + "keyPath": "datenschutz.section3.items.4", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Our own shop is the default. We keep the Shopware channel as a transition path a…" + "otherRatio": 0.29, + "snippet": "Communication regarding our offers (with consent only)" }, { "file": "messages/ko.json", - "keyPath": "techniker.list.backToHub", + "keyPath": "datenschutz.section4.body", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Back to IT Help" + "otherRatio": 0.35, + "snippet": "Your data is not sold to third parties. Disclosure only occurs where necessary t…" }, { "file": "messages/ko.json", - "keyPath": "donate.wishlist.items.soldering.title", - "suspectedLanguage": "it", + "keyPath": "datenschutz.section5.body", + "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "납땜 스테이션 (Ersa i-CON Pico)" + "otherRatio": 0.3, + "snippet": "We implement technical and organisational measures to protect your data against …" }, { "file": "messages/ko.json", - "keyPath": "donate.wishlist.items.soldering.purpose", - "suspectedLanguage": "it", + "keyPath": "datenschutz.section6.body", + "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "기부: Ersa i-CON Pico" + "otherRatio": 0.33, + "snippet": "Our platform uses functional cookies for session management and authentication. …" }, { "file": "messages/ko.json", - "keyPath": "admin.timecards.selectHint", - "suspectedLanguage": "it", + "keyPath": "datenschutz.section7.contactText", + "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "클릭으로 하루 선택 · 드래그로 여러 날 선택(열을 따라 아래로 = 모든 화요일) · 요일 라벨(월, 화 …)로 열 전체 선택 · Shift+클…" + "otherRatio": 0.17, + "snippet": "For all other enquiries, please contact:" }, { "file": "messages/ko.json", - "keyPath": "projects.items.kivvi.description", - "suspectedLanguage": "de", + "keyPath": "datenschutz.section8.body", + "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Kivvi는 evig의 오픈소스 ERP입니다. 하드웨어를 순환시키는 사업을 위한 재고, 입고, 업무 데이터를 다룹니다. evig의 운영을 직접 …" + "otherRatio": 0.32, + "snippet": "We store your personal data only as long as necessary for the stated purposes or…" }, { - "file": "messages/ru.json", - "keyPath": "nav.items.requestHelpDesc", + "file": "messages/ko.json", + "keyPath": "datenschutz.section9.body", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Describe your issue and get matched with technicians" + "otherRatio": 0.26, + "snippet": "Processing is based on the Swiss Federal Act on Data Protection (FADP) and, wher…" }, { - "file": "messages/ru.json", - "keyPath": "home.actions.learn.subtitle", + "file": "messages/ko.json", + "keyPath": "datenschutz.section10.body", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Практические воркшопы по Linux, ремонту оборудования, программированию и ИИ. Мал…" + "otherRatio": 0.3, + "snippet": "This privacy policy is subject to the Swiss Federal Act on Data Protection (FADP…" }, { - "file": "messages/ru.json", - "keyPath": "shop.page.heroSubtitle", + "file": "messages/ko.json", + "keyPath": "impressum.disclaimerP1", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.15, - "snippet": "Tested laptops, computers, monitors, and accessories from our own refurbishment …" + "otherRatio": 0.35, + "snippet": "The author accepts no liability whatsoever regarding the accuracy, correctness, …" }, { - "file": "messages/ru.json", - "keyPath": "shop.page.metaDescription", + "file": "messages/ko.json", + "keyPath": "impressum.disclaimerP2", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.21, - "snippet": "Tested refurbished computers, laptops, monitors, and accessories directly from t…" + "otherRatio": 0.42, + "snippet": "Liability claims against the author for material or immaterial damage arising fr…" }, { - "file": "messages/ru.json", - "keyPath": "shop.page.online.tagline", + "file": "messages/ko.json", + "keyPath": "impressum.disclaimerP3", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.43, - "snippet": "Our own online shop is the default." + "otherRatio": 0.35, + "snippet": "All offers are non-binding. The author expressly reserves the right to change, s…" }, { - "file": "messages/ru.json", - "keyPath": "shop.page.trust.qualityBody", + "file": "messages/ko.json", + "keyPath": "impressum.linksDisclaimerText", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.33, - "snippet": "Devices are refurbished, checked, and shipped with practical software." + "otherRatio": 0.42, + "snippet": "References and links to third-party websites are outside our area of responsibil…" }, { - "file": "messages/ru.json", - "keyPath": "shop.page.trust.stockBody", + "file": "messages/ko.json", + "keyPath": "impressum.copyrightText", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Live from our published inventory." + "otherRatio": 0.38, + "snippet": "The copyright and all other rights to content, images, photos or other files on …" }, { - "file": "messages/ru.json", - "keyPath": "shop.page.products.eyebrow", + "file": "messages/ko.json", + "keyPath": "impressum.furtherLegalText", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.5, - "snippet": "Our inventory" + "otherRatio": 0.4, + "snippet": "See also our privacy policy and our terms and conditions." }, { - "file": "messages/ru.json", - "keyPath": "shop.page.products.body", + "file": "messages/ko.json", + "keyPath": "transparenz.meta.description", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.24, - "snippet": "This is the primary evig shop. Shopware remains only as a fallback when an older…" + "otherRatio": 0.47, + "snippet": "What we do and how we do it. An insight into our mission, figures and working me…" }, { - "file": "messages/ru.json", - "keyPath": "shop.page.products.emptyTitle", + "file": "messages/ko.json", + "keyPath": "transparenz.hero.subtitle", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.17, - "snippet": "No products are published right now" + "otherRatio": 0.63, + "snippet": "What we do and how we do it" }, { - "file": "messages/ru.json", - "keyPath": "shop.page.products.emptyBody", + "file": "messages/ko.json", + "keyPath": "transparenz.howWeWork.subtitle", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.23, - "snippet": "Inventory is maintained by the workshop. Check back later or contact us directly…" + "otherRatio": 0.25, + "snippet": "Our three community platforms connect people with technology." }, { - "file": "messages/ru.json", - "keyPath": "shop.page.repair.title", + "file": "messages/ko.json", + "keyPath": "transparenz.howWeWork.platforms.0.description", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Device broken? Describe the problem." + "otherRatio": 0.29, + "snippet": "Community platform for second-hand IT equipment. Users can create listings, buy …" }, { - "file": "messages/ru.json", - "keyPath": "shop.page.repair.body", + "file": "messages/ko.json", + "keyPath": "transparenz.howWeWork.platforms.1.description", "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.3, - "snippet": "Create a request with the symptoms, device type, and location. The request stays…" + "otherRatio": 0.23, + "snippet": "Connecting volunteer technicians for computer repairs. Human-to-human help, loca…" }, { - "file": "messages/ru.json", - "keyPath": "shop.page.legacy.body", + "file": "messages/ko.json", + "keyPath": "transparenz.howWeWork.platforms.2.description", "suspectedLanguage": "en", "ownRatio": 0, "otherRatio": 0.33, - "snippet": "Our own shop is the default. We keep the Shopware channel as a transition path a…" + "snippet": "Courses on Linux, hardware, programming and AI. Sharing knowledge and learning f…" }, { - "file": "messages/ru.json", - "keyPath": "faq.groups.0.items.2.q", + "file": "messages/ko.json", + "keyPath": "transparenz.finances.memberLink", "suspectedLanguage": "en", "ownRatio": 0, "otherRatio": 0.33, - "snippet": "Что для вас значит «Right to Repair»?" + "snippet": "Become a member and gain access" }, { - "file": "messages/ru.json", - "keyPath": "donate.wishlist.items.soldering.title", - "suspectedLanguage": "it", + "file": "messages/ko.json", + "keyPath": "transparenz.board.text", + "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Паяльная станция (Ersa i-CON Pico)" + "otherRatio": 0.43, + "snippet": "{orgName} is run by a voluntary board. Contact:" }, { - "file": "messages/ru.json", - "keyPath": "donate.wishlist.items.soldering.purpose", - "suspectedLanguage": "it", + "file": "messages/ko.json", + "keyPath": "notFound.description", + "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Пожертвование: Ersa i-CON Pico" + "otherRatio": 0.38, + "snippet": "The page you're looking for doesn't exist or has been moved." }, { - "file": "messages/ru.json", - "keyPath": "admin.timecards.selectHint", - "suspectedLanguage": "it", + "file": "messages/ko.json", + "keyPath": "error.description", + "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.25, - "snippet": "Клик выбирает день · Перетаскивание отмечает несколько (вниз по столбцу = все вт…" + "otherRatio": 0.27, + "snippet": "An unexpected error occurred. Try reloading the page — if the problem persists, …" }, { "file": "messages/ru.json", - "keyPath": "projects.items.kivvi.description", - "suspectedLanguage": "de", + "keyPath": "nav.items.requestHelpDesc", + "suspectedLanguage": "en", "ownRatio": 0, - "otherRatio": 0.2, - "snippet": "Kivvi — это ERP evig с открытым исходным кодом: складской учёт, приёмка и бизнес…" + "otherRatio": 0.38, + "snippet": "Describe your issue and get matched with technicians" } ] } diff --git a/scripts/i18n-hardcoded-audit.mjs b/scripts/i18n-hardcoded-audit.mjs index 94a1a90d3..f8da0322c 100644 --- a/scripts/i18n-hardcoded-audit.mjs +++ b/scripts/i18n-hardcoded-audit.mjs @@ -133,14 +133,61 @@ const LOCALES_TO_CHECK = ['it', 'fr', 'es', 'ja', 'ko', 'ru'] // Stop-word sets per language. If a string contains stop-words from a DIFFERENT // language than its locale at a higher ratio than from its own, flag it. // Kept small on purpose — we want signal, not noise. +// +// A HOLE in one list is worse than a short list: it makes CORRECT text look +// foreign. "Trovare un tecnico" is unimpeachable Italian, but `un` was listed +// only under fr (it had `una`/`uno` and not the masculine `un`), so it scored +// Italian 0.00 / French 0.33 and was flagged three separate times. Likewise +// "Encontrar a quien lo repare" — es was missing both `lo` and `a`, while it +// had `lo`. Every entry below is a function word; if you add one to a list, +// check whether its siblings need it too. const STOP_WORDS = { - en: ['the', 'and', 'is', 'are', 'of', 'with', 'for', 'to', 'our', 'we', 'their', 'they', 'this', 'that', 'have', 'has', 'on', 'in', 'an', 'by'], - de: ['der', 'die', 'das', 'und', 'ist', 'sind', 'mit', 'für', 'wir', 'unser', 'unsere', 'eine', 'einen', 'durch', 'als', 'auf', 'von', 'auch', 'nicht', 'werden'], - it: ['il', 'la', 'lo', 'gli', 'le', 'di', 'che', 'è', 'sono', 'con', 'per', 'noi', 'nostro', 'nostra', 'una', 'uno', 'del', 'della', 'nel', 'nella'], - fr: ['le', 'la', 'les', 'de', 'des', 'et', 'est', 'sont', 'avec', 'pour', 'nous', 'notre', 'nos', 'une', 'un', 'du', 'au', 'aux', 'dans', 'sur'], - es: ['el', 'la', 'los', 'las', 'de', 'y', 'es', 'son', 'con', 'para', 'nosotros', 'nuestro', 'nuestra', 'una', 'uno', 'del', 'al', 'en', 'por', 'sus'], + en: ['the', 'and', 'is', 'are', 'of', 'with', 'for', 'to', 'our', 'we', 'their', 'they', 'this', 'that', 'have', 'has', 'on', 'in', 'an', 'by', + 'a', 'or', 'but', 'if', 'as', 'at', 'from', 'it', 'its', 'be', 'you', 'your', 'not', 'can', 'what', 'who'], + de: ['der', 'die', 'das', 'und', 'ist', 'sind', 'mit', 'für', 'wir', 'unser', 'unsere', 'eine', 'einen', 'durch', 'als', 'auf', 'von', 'auch', 'nicht', 'werden', + 'in', 'zu', 'den', 'dem', 'ein', 'sich', 'oder', 'aber', 'wenn', 'wie', 'mehr', 'hat', 'haben', 'sein', 'was', 'wer', 'man', 'nur'], + it: ['il', 'la', 'lo', 'gli', 'le', 'di', 'che', 'è', 'sono', 'con', 'per', 'noi', 'nostro', 'nostra', 'una', 'uno', 'del', 'della', 'nel', 'nella', + 'un', 'in', 'e', 'a', 'da', 'non', 'si', 'come', 'più', 'anche', 'ma', 'se', 'ha', 'hanno', 'essere', 'questo', 'questa', 'chi', 'o', 'ai'], + fr: ['le', 'la', 'les', 'de', 'des', 'et', 'est', 'sont', 'avec', 'pour', 'nous', 'notre', 'nos', 'une', 'un', 'du', 'au', 'aux', 'dans', 'sur', + 'à', 'en', 'que', 'qui', 'ne', 'pas', 'ce', 'cette', 'ou', 'si', 'plus', 'comme', 'a', 'ont', 'être', 'par', 'son', 'se'], + es: ['el', 'la', 'los', 'las', 'de', 'y', 'es', 'son', 'con', 'para', 'nosotros', 'nuestro', 'nuestra', 'una', 'uno', 'del', 'al', 'en', 'por', 'sus', + 'lo', 'a', 'que', 'quien', 'se', 'un', 'no', 'su', 'como', 'más', 'pero', 'ha', 'han', 'ser', 'este', 'esta', 'o', 'si'], } +/** + * Below this many tokens the verdict is noise, not signal. + * + * The heuristic's resolution is 1/N: on a three-word string a single shared + * article moves the ratio by 0.33, which clears the 0.15 threshold on its own. + * Guessing a language from three words is not something this check can do, so + * it declines to instead of guessing wrong. + */ +const MIN_TOKENS_FOR_LANGUAGE_GUESS = 6 + +/** + * The only languages this check claims to detect. + * + * A bag-of-stop-words comparison CANNOT separate sibling Romance languages, + * and pretending otherwise cost real time: across three PRs it flagged + * "Trovare un tecnico", "Encontrar a quien lo repare", "LO QUE HACEMOS" and + * seven more — every one of them correct in its own language, none of them a + * real defect. The words simply overlap (`un`, `su`, `e`, `non`, `nos`, + * `lo`), and widening the dictionaries only moves the contamination around: + * teaching es the word `su` immediately made correct Italian look Spanish. + * + * What it detects reliably is untranslated **English or German** sitting in a + * translated file, because those function words barely overlap with Romance + * or CJK ones — and that is the leak that actually happens here, since DE is + * the source language and EN the pivot. Restricted to that, the check found + * ~28 genuine leaks across six locales on its first run. + * + * KNOWN AND ACCEPTED GAP: French text sitting in es.json will not be caught. + * We have never observed one; we had observed ten false alarms. If that + * changes, the fix is a real language-identification library, not more + * stop-words. + */ +const LEAK_SOURCES = ['en', 'de'] + function wordRatio(text, words) { const tokens = text.toLowerCase().match(/[a-zàâäçéèêëîïôöùûüÿœñáíóúü]+/gi) || [] if (tokens.length === 0) return 0 @@ -153,13 +200,27 @@ function looksLikeWrongLanguage(text, locale) { if (typeof text !== 'string' || text.trim().length < 12) return null // Strip ICU placeholders to avoid skewing token counts const cleaned = text.replace(/\{[^}]+\}/g, '') + const tokenCount = (cleaned.toLowerCase().match(/[a-zàâäçéèêëîïôöùûüÿœñáíóúü]+/gi) || []).length + if (tokenCount < MIN_TOKENS_FOR_LANGUAGE_GUESS) return null + + // For ja/ko/ru the tokenizer only ever sees the LATIN fragments — brand + // names, product names, a stray article. A Korean sentence containing + // "evig" and "Revamp-IT" would score as English on those crumbs alone. + // Only judge a string whose letters are overwhelmingly Latin; anything + // written in its own script is, by construction, not an English leak. + // \p{L} is required here: JavaScript's \w (and therefore [^\W\d_]) is + // ASCII-only even under the /u flag, so Hangul, kana and Cyrillic all + // counted as ZERO letters and this guard silently did nothing. + const latin = (cleaned.match(/[a-zàâäçéèêëîïôöùûüÿœñáíóúü]/gi) || []).length + const nonLatin = (cleaned.match(/\p{L}/gu) || []).length - latin + if (nonLatin > latin * 0.25) return null const ownWords = STOP_WORDS[locale] || [] const ownRatio = wordRatio(cleaned, ownWords) let bestOther = null let bestRatio = 0 - for (const [other, words] of Object.entries(STOP_WORDS)) { + for (const other of LEAK_SOURCES) { if (other === locale) continue - const r = wordRatio(cleaned, words) + const r = wordRatio(cleaned, STOP_WORDS[other]) if (r > bestRatio) { bestRatio = r bestOther = other diff --git a/src/app/[locale]/abos/PoolCard.tsx b/src/app/[locale]/abos/PoolCard.tsx index 7826abad1..94ad693fe 100644 --- a/src/app/[locale]/abos/PoolCard.tsx +++ b/src/app/[locale]/abos/PoolCard.tsx @@ -53,7 +53,11 @@ export function PoolCard({ pool, userId, onJoin, onLeave, myPoolIds }: Props) {
-
+ {/* A price must not wrap. "CHF 300.00" broke across two lines on a + 390px card, which reads as a layout bug rather than a number. + The title beside it may wrap instead — that is the right thing + to give way. */} +
CHF {Number(pool.costPerMemberChf).toFixed(2)}
{t('perMonthPerson')}