/* ------------------------------------------------------------------ *
 *  i18n — Language context, translations, formatters, LangPicker
 * ------------------------------------------------------------------ */

const {
  useState: _useState,
  useEffect: _useEffect,
  useRef: _useRef,
  useContext: _useContext,
  createContext: _createContext,
} = React;

const LOCALES = {
  fr: { fi: 'fr', locale: 'fr-FR' },
  en: { fi: 'gb', locale: 'en-GB' },
  es: { fi: 'es', locale: 'es-ES' },
  it: { fi: 'it', locale: 'it-IT' },
  de: { fi: 'de', locale: 'de-DE' },
};

const TRANSLATIONS = {
  fr: {
    /* --- meta --- */
    'lang.fr': 'Français', 'lang.en': 'English', 'lang.es': 'Español', 'lang.it': 'Italiano', 'lang.de': 'Deutsch',
    /* --- wordmark --- */
    'wordmark.sub': 'Calculateur de ROI cabinet',
    /* --- header --- */
    'header.synthese': 'Générer ma synthèse',
    /* --- hero --- */
    'hero.badge': 'Aide à la décision pour le praticien',
    'hero.h1a': 'Combien votre cabinet économise',
    'hero.h1em': 'vraiment',
    'hero.h1b': 'en internalisant sa production prothétique ?',
    'hero.p': 'Saisissez vos volumes et vos coûts laboratoire réels. Vous obtenez <strong class="text-ink-800">votre</strong> ROI sur <strong class="text-ink-800">votre</strong> équipement SprintRay — économies annuelles, bénéfice net première année et délai d\'amortissement.',
    'hero.partner.title': 'Un mot sur votre laboratoire partenaire',
    'hero.partner.body': 'Simuprint est conçu pour les cabinets qui souhaitent produire en interne (labo intégré ou chairside). Il ne remplace pas votre laboratoire de prothèse local : vos prothésistes sont des experts dont le savoir-faire est irremplaçable pour les cas complexes.',
    /* --- method --- */
    'method.title': 'Méthode de calcul',
    'method.line1': 'économie = sous-traitance − (matériaux + design)',
    'method.line2': 'ROI = prix équipement ÷ économie / mois',
    /* --- selector 1 --- */
    'sel1.title': 'Votre équipement SprintRay',
    'sel1.sub': 'Détermine les indications réalisables et le prix de référence.',
    'sel1.prix.label': 'Prix écosystème (équipement, formation, mise en route)',
    'sel1.prix.restore': 'restaurer le défaut',
    'sel1.prix.note': 'Placeholder à confirmer avec votre commercial SprintRay.',
    /* --- selector 2 --- */
    'sel2.title': 'Matériau Midas',
    'sel2.sub': 'Sélectionnez la résine pressée utilisée — appliquée à toutes vos restaurations Midas.',
    'sel2.cout': 'Coût / cas',
    'sel2.note': 'Les tarifs Midas (céramique pressée) ne sont pas inclus dans les données de référence fournies — saisissez la valeur communiquée par votre commercial.',
    /* --- selector 3 --- */
    'sel3.title': 'Mode de conception',
    'sel3.sub': 'Concevez-vous vos pièces, ou sous-traitez-vous le design ?',
    'sel3.frais': 'Frais / cas',
    /* --- optional layers --- */
    'opts.title': 'Calques optionnels',
    'opts.sub': 'Activez-les si vous les jugez réalistes pour votre cabinet — ils ne sont pas inclus dans le ROI principal.',
    /* --- footer --- */
    'footer.disclaimer.title': 'Avertissement',
    'footer.disclaimer.body': 'Estimation indicative à vocation commerciale. La codification CCAM et l\'éligibilité des restaurations imprimées en bouche relèvent de la responsabilité du praticien. Ne constitue pas un conseil fiscal, comptable ou réglementaire. Les valeurs par défaut sont des ordres de grandeur à confirmer avec votre comptabilité cabinet et votre commercial SprintRay.',
    'footer.copy': '© 2026 Simuprint — Calculateur de ROI pour le marché français.',
    /* --- machines --- */
    'machines.midas.label': 'Midas + NanoCure',
    'machines.midas.sub': 'Digital Press — céramiques pressées',
    'machines.midas.blurb': 'Imprimante Midas + module de polymérisation NanoCure inclus. Prix tarif de base, hors promotions en cours.',
    'machines.pro2.label': 'Pro 2 + ProWash S + NanoCure',
    'machines.pro2.sub': 'Digital Print — résines multi-indications',
    'machines.pro2.blurb': 'Imprimante Pro 2 + ProWash S (nettoyage) + NanoCure (polymérisation) inclus. Prix tarif de base, hors promotions en cours.',
    'machines.both.label': 'Midas + Pro 2 (écosystème complet)',
    'machines.both.sub': 'Cabinet équipé des deux machines',
    'machines.both.blurb': 'Midas + NanoCure + Pro 2 + ProWash S + NanoCure. Couverture complète céramique + résine.',
    /* --- materials --- */
    'mat.ceramic-crown.sub': 'Disilicate de lithium', 'mat.ceramic-crown.blurb': 'Restaurations céramiques esthétiques.',
    'mat.crown-ht.sub': 'High Translucency', 'mat.crown-ht.blurb': 'Translucidité élevée — antérieures.',
    'mat.onx.sub': 'Hybride implant', 'mat.onx.blurb': 'Restaurations sur implant.',
    /* --- design modes --- */
    'design.maison.label': 'Je conçois moi-même', 'design.maison.sub': 'Aucune sous-traitance design', 'design.maison.hint': 'Temps praticien dédié à la modélisation.',
    'design.sprintray.label': 'Je sous-traite avec SprintRay', 'design.sprintray.sub': 'Cloud Design SprintRay', 'design.sprintray.hint': 'Service de design clé en main — facturé par cas.',
    'design.designer.label': 'Je sous-traite avec mon designer', 'design.designer.sub': 'Designer externe / labo partenaire', 'design.designer.hint': 'Honoraires de votre designer de confiance.',
    /* --- catalogue --- */
    'cat.midas-couronne-unitaire.label': 'Couronne unitaire', 'cat.midas-couronne-unitaire.sub': 'Céramique pressée définitive',
    'cat.midas-couronne-implant.label': 'Couronne sur implant', 'cat.midas-couronne-implant.sub': 'Transvissée / scellée — céramique',
    'cat.midas-inlay-onlay.label': 'Inlay / Onlay', 'cat.midas-inlay-onlay.sub': 'Restauration indirecte céramique',
    'cat.midas-overlay.label': 'Overlay', 'cat.midas-overlay.sub': 'Recouvrement cuspidien céramique',
    'cat.midas-facette.label': 'Facette unitaire', 'cat.midas-facette.sub': 'Esthétique antérieure',
    'cat.pro2-night-guard.label': 'Gouttière de nuit (Night Guard)', 'cat.pro2-night-guard.sub': 'Bruxisme / DAM',
    'cat.pro2-couronne-unitaire.label': 'Couronne unitaire', 'cat.pro2-couronne-unitaire.sub': 'Restauration résine (HBLD490)',
    'cat.pro2-couronne-implant.label': 'Couronne sur implant unitaire', 'cat.pro2-couronne-implant.sub': 'Mise en charge immédiate / cicatrisation',
    'cat.pro2-guide-chirurgical.label': 'Guide chirurgical', 'cat.pro2-guide-chirurgical.sub': 'Pose implantaire guidée',
    'cat.pro2-amovible-complet.label': 'Amovible complet', 'cat.pro2-amovible-complet.sub': 'Base + dents — par arcade',
    'cat.pro2-amovible-flexible.label': 'Amovible flexible', 'cat.pro2-amovible-flexible.sub': 'Base souple — partiel ou complet',
    'cat.pro2-allonx.label': 'All-on-X', 'cat.pro2-allonx.sub': 'Prothèse conjointe hybride — par arcade',
    'cat.pro2-modeles.label': 'Modèles', 'cat.pro2-modeles.sub': 'Étude, prothèse, ortho',
    'cat.pro2-retainer.label': 'Gouttière de contention (Retainer)', 'cat.pro2-retainer.sub': 'Fin de traitement ortho',
    'cat.pro2-inlay-onlay.label': 'Inlay / Onlay', 'cat.pro2-inlay-onlay.sub': 'Restauration indirecte résine',
    'cat.pro2-facette.label': 'Facette unitaire — mock-up', 'cat.pro2-facette.sub': 'Pré-visualisation esthétique résine',
    /* --- table --- */
    'table.title': 'Vos indications',
    'table.sub': 'Cliquez sur n\'importe quelle cellule pour la modifier. Tout se recalcule en direct.',
    'table.col.indication': 'Indication', 'table.col.coutLabo': 'Prix initial du laboratoire',
    'table.col.honoraire': 'Honoraires patient', 'table.col.volume': 'Cas / mois',
    'table.col.materiau': 'Coût matériaux', 'table.col.design': 'Coût design', 'table.col.economie': 'Économie / mois',
    'table.design.self': 'Self Design', 'table.design.sr': 'SR', 'table.design.labo': 'Mon labo', 'table.design.free': 'Gratuit',
    'table.design.other': 'Self Design / Mon labo', 'table.design.ia': 'IA',
    'table.empty': 'Aucune indication pour cette configuration.',
    'table.mat': 'matériau', 'table.mat.active': 'matériau actif', 'table.mat.hint': 'à saisir',
    'table.toggle.off': 'Désactiver la ligne', 'table.toggle.on': 'Activer la ligne',
    'table.reset': 'Réinitialiser les valeurs par défaut',
    'table.design.label': 'Frais de design par cas', 'table.design.sub': 'Appliqués globalement à toutes les indications.',
    'table.design.internal': 'grisé · vous concevez en interne', 'table.design.percase': '/ cas',
    /* --- dashboard --- */
    'dash.eco.label': 'Économies annuelles', 'dash.eco.sub': 'vs sous-traitance laboratoire',
    'dash.eco.helper': 'Soit {0} par mois récupérés sur votre coût de revient prothétique.',
    'dash.ben.label': 'Bénéfice net — année 1', 'dash.ben.sub': 'Économies an 1 − prix écosystème ({0})',
    'dash.ben.helperPos': 'Vous récupérez l\'investissement en moins de 12 mois.',
    'dash.ben.helperNeg': 'Économies an 1 inférieures au prix de l\'équipement — voir le délai ROI.',
    'dash.roi.label': 'Mois avant ROI', 'dash.roi.nd': 'N/D',
    'dash.roi.sub12': 'Amortissement complet sous 1 an',
    'dash.roi.sub12+': 'Amortissement sur {0} ans',
    'dash.roi.subNone': 'Volume insuffisant pour rentabiliser',
    'dash.roi.helper': '{0}/mois d\'économies × {1} = couverture du {2}.',
    'dash.roi.helperNone': 'Augmentez le volume ou ajoutez d\'autres indications pour activer le calcul.',
    'dash.bar.title': 'Coût annuel — labo vs interne', 'dash.bar.sub': 'Somme sur toutes les indications actives.',
    'dash.bar.labo': 'Sous-traitance labo', 'dash.bar.interne': 'Production interne',
    'dash.bar.annual': 'Annuel', 'dash.bar.laboShort': 'Labo', 'dash.bar.interneShort': 'Interne',
    'dash.amort.title': 'Courbe d\'amortissement', 'dash.amort.sub': 'Cumul des économies vs prix de l\'équipement.',
    'dash.amort.seuil': 'Prix équipement', 'dash.amort.cumul': 'Économies cumulées',
    'dash.amort.mois': 'Mois {0}', 'dash.amort.roi': 'ROI {0} m', 'dash.amort.msuffix': 'm',
    'dash.amort.ok': 'Point d\'équilibre atteint à {0} mois — au-delà, c\'est du bénéfice net.',
    'dash.amort.nok': 'Aucun point d\'équilibre dans l\'horizon de 36 mois aux paramètres actuels.',
    /* --- modules --- */
    'mod.badge': 'Module optionnel',
    'mod.temps.title': 'Temps fauteuil libéré',
    'mod.temps.desc': 'Couronne en 1 séance (Midas) → fin du 2ᵉ RDV, du provisoire et de l\'attente labo. Activez ce calque pour valoriser ce temps gagné comme potentiel additionnel.',
    'mod.temps.valeur': 'Valeur horaire fauteuil', 'mod.temps.valeur.hint': 'Marge horaire moyenne de votre cabinet',
    'mod.temps.cas': 'Cas provisoires évités / mois', 'mod.temps.cas.hint': 'Coût + temps du provisoire supprimé',
    'mod.temps.eco': 'Économie par provisoire', 'mod.temps.eco.hint': 'Matière + temps assistant·e',
    'mod.temps.detail': 'Détail par indication', 'mod.temps.heures': '{0} h/an libérées',
    'mod.temps.potentiel': 'Potentiel additionnel',
    'mod.temps.potentiel.sub': 'Temps fauteuil + provisoires évités. Non inclus dans le chiffre principal de ROI.',
    'mod.temps.paran': 'par an',
    'mod.temps.creneaux': 'créneau(x) libéré(s) / mois',
    'mod.temps.creneaux.sub': 'calculé depuis vos {0} cas Midas / mois',
    'mod.temps.nomidas': 'Aucun cas Midas actif — activez des indications Midas dans le tableau pour estimer le potentiel.',
    'mod.temps.tarif': 'Tarif de l\'acte de remplacement',
    'mod.temps.tarif.hint': 'CA moyen généré par nouveau patient Midas',
    'mod.temps.taux': 'Taux de conversion visé',
    'mod.temps.taux.hint': 'Part des créneaux libérés convertis en nouveaux actes',
    'mod.temps.potentiel.mois': '/ mois',
    'mod.temps.prov': 'Provisoires évités (optionnel)',
    'mod.fin.title': 'Financement (crédit-bail / LOA)',
    'mod.fin.desc': 'Comparez votre <strong>flux mensuel</strong> plutôt que le prix sec : si les économies couvrent la mensualité, l\'équipement s\'autofinance.',
    'mod.fin.duree': 'Durée du financement', 'mod.fin.duree.hint': '48 à 84 mois en général',
    'mod.fin.taux': 'Taux d\'intérêt annuel', 'mod.fin.taux.hint': '(optionnel) affine le calcul de mensualité via la formule PMT',
    'mod.fin.auto': 'Mensualité (auto)', 'mod.fin.auto.hint': 'Calculée : prix / durée, ou PMT si taux saisi',
    'mod.fin.loyer': 'Ou : mensualité contractuelle', 'mod.fin.loyer.hint': 'Saisissez le montant exact de votre offre LOA',
    'mod.fin.cout.label': 'Coût total du crédit',
    'mod.fin.cout.interets': 'dont {0} d\'intérêts',
    'mod.fin.cashflow': 'Cash-flow net mensuel',
    'mod.fin.pos': '<strong>L\'équipement s\'autofinance</strong> : vos économies couvrent la mensualité dès le premier mois — et il reste {0} de trésorerie nette par mois.',
    'mod.fin.neg': 'Le loyer dépasse vos économies de {0} par mois. Augmentez vos volumes ou allongez la durée du financement pour basculer en positif.',
    'mod.fin.mini.eco': 'Économies / mois', 'mod.fin.mini.loyer': 'Loyer / mois', 'mod.fin.mini.net': 'Net / mois',
    'mod.cam.title': 'Caméra intra-orale',
    'mod.cam.desc': 'Intégrez le coût de financement de votre caméra pour obtenir un ROI de digitalisation complet — équipement SprintRay + caméra.',
    'mod.cam.prix': 'Prix de la caméra', 'mod.cam.prix.hint': 'Ex. iTero, Trios, Dexis… — à confirmer avec votre revendeur',
    'mod.cam.duree': 'Durée de financement', 'mod.cam.duree.hint': '48 à 84 mois en général',
    'mod.cam.auto': 'Mensualité (auto)', 'mod.cam.auto.hint': 'Calculée : prix / durée',
    'mod.cam.loyer': 'Mensualité', 'mod.cam.loyer.hint': 'Montant exact que vous payez chaque mois',
    'mod.cam.impact': 'Impact sur le ROI équipement',
    'mod.cam.mini.mens': 'Mensualité caméra', 'mod.cam.mini.eco': 'Économies nettes/mois', 'mod.cam.mini.roi': 'ROI ajusté',
    'mod.cam.impact.delta': 'Allonge le ROI de +{0} mois (sans caméra : {1} mois → avec : {2} mois)',
    'mod.cam.impact.neg': 'La mensualité caméra dépasse les économies de {0} — le ROI n\'est plus atteignable à ce volume.',
    /* --- synthese --- */
    'synth.title': 'Votre synthèse ROI',
    'synth.sub': 'Prête à partager ou copier.',
    'synth.roi.hero': 'ROI ESTIMÉ',
    'synth.roi.sub': 'grâce à {0}/an d\'économies sur la sous-traitance',
    'synth.peryear': '/ an',
    'synth.year1': 'an 1',
    'synth.permonth': '/ mois',
    'synth.instead': 'au lieu de {0} mois',
    'synth.temps.pot': 'Potentiel additionnel : {0}/mois',
    'synth.lines': '{0} lignes', 'synth.close': 'Fermer', 'synth.copy': 'Copier la synthèse', 'synth.copied': 'Copié',
    'synth.pdf': 'Télécharger en PDF',
    'labo.pdf': 'Télécharger en PDF',
    'synth.gen.title': 'SYNTHÈSE ROI — SIMUPRINT', 'synth.gen.date': 'Édition du {0}',
    'synth.gen.equip': 'Équipement', 'synth.gen.prix': 'Prix écosystème',
    'synth.gen.midasMat': 'Matériau Midas', 'synth.gen.design': 'Mode conception', 'synth.gen.noFees': 'aucun frais',
    'synth.gen.hypo': 'HYPOTHÈSES PAR INDICATION (lignes actives)',
    'synth.gen.st': 'Sous-traitance', 'synth.gen.hon': 'Honoraires', 'synth.gen.cas': 'Cas/mois',
    'synth.gen.mat': 'Matériaux', 'synth.gen.design2': 'Design', 'synth.gen.eco': 'Économie/mois',
    'synth.gen.result': 'RÉSULTAT — ROI PRINCIPAL',
    'synth.gen.ecoMois': 'Économies mensuelles', 'synth.gen.ecoAn': 'Économies annuelles',
    'synth.gen.ben': 'Bénéfice net année 1', 'synth.gen.roiMois': 'Mois avant ROI',
    'synth.gen.roiOk': '{0} mois', 'synth.gen.roiKo': 'volume insuffisant',
    'synth.gen.temps.title': 'CALQUE : Temps fauteuil libéré (NON inclus au ROI principal)',
    'synth.gen.temps.valeur': 'Valeur horaire fauteuil', 'synth.gen.temps.eco': 'Économie provisoires',
    'synth.gen.temps.creneaux': 'Créneaux Midas / mois',
    'synth.gen.fin.title': 'CALQUE : Financement crédit-bail / LOA',
    'synth.gen.fin.duree': 'Durée', 'synth.gen.fin.mois': 'mois',
    'synth.gen.fin.taux': 'Taux annuel', 'synth.gen.fin.interets': 'Intérêts totaux',
    'synth.gen.fin.mensualite': 'Mensualité', 'synth.gen.fin.net': 'Cash-flow net mensuel',
    'synth.gen.fin.auto': '→ L\'équipement s\'autofinance dès le 1ᵉʳ mois.',
    'synth.gen.fin.neg': '→ Loyer supérieur aux économies : ajustez volume ou durée.',
    'synth.gen.cam.title': 'CALQUE : Caméra intra-orale',
    'synth.gen.cam.prix': 'Prix caméra', 'synth.gen.cam.mens': 'Mensualité caméra',
    'synth.gen.cam.eco': 'Économies nettes/mois', 'synth.gen.cam.roi': 'ROI ajusté',
    'synth.gen.disclaimer': 'Estimation indicative — ne constitue pas un conseil fiscal, comptable ou réglementaire.',
    /* --- mobile wizard --- */
    'mob.step.machine': 'Équipement', 'mob.step.material': 'Matériau', 'mob.step.design': 'Design',
    'mob.step.volumes': 'Volumes', 'mob.step.results': 'Résultats',
    'mob.step.of': 'Étape {0} / {1}',
    'mob.next': 'Suivant', 'mob.back': 'Retour', 'mob.see.results': 'Voir mes résultats',
    'mob.share': 'Partager', 'mob.copy': 'Copier', 'mob.copied': 'Copié !',
    'mob.edit': 'Modifier mes paramètres',
    'mob.share.title': 'Mon ROI SprintRay — Simuprint',
    'mob.share.intro': 'Votre retour sur investissement de votre futur SprintRay :',
    'mob.share.cam': 'Caméra intra-orale intégrée dans le calcul : avec {0}/mois de mensualité, votre ROI passe à {1} mois au lieu de {2}',
    'mob.saving': 'Économie/mois', 'mob.expand': 'Détails', 'mob.collapse': 'Réduire',
    'mob.inactive': 'Inactive',
    'mob.labo.step.solution': 'Solution & leasing', 'mob.labo.step.productions': 'Productions',
    'mob.labo.share.title': 'Mon cash-flow labo — Simuprint Lab',
    'mob.labo.share.intro': 'Cash-flow net mensuel avec SprintRay Pro 2 :',
    /* --- labo --- */
    'wordmark.sub.lab': 'Simulateur labo',
    'labo.hero.badge': 'Aide à la décision pour le laboratoire',
    'labo.hero.h1a': 'Votre laboratoire devient-il',
    'labo.hero.h1em': 'rentable',
    'labo.hero.h1b': 'avec une SprintRay Pro 2 ?',
    'labo.hero.p': 'Saisissez vos volumes et prix de facturation. Obtenez votre <strong class="text-ink-800">cash-flow net mensuel</strong> après mensualité de leasing — et visualisez votre seuil de rentabilité.',
    'labo.method.title': 'Méthode de calcul',
    'labo.method.line1': 'marge brute = prix facturé − coût matériaux',
    'labo.method.line2': 'cash-flow = marge brute − mensualité leasing',
    'labo.machine.title': 'Solution SprintRay Pro 2',
    'labo.machine.sub': 'Pro 2 + ProWash S + NanoCure — résines multi-indications',
    'labo.machine.prix.label': 'Prix solution (équipement, formation, mise en route)',
    'labo.machine.prix.note': 'Placeholder à confirmer avec votre commercial SprintRay.',
    'labo.leasing.title': 'Financement en mensualités',
    'labo.leasing.sub': 'L\'équipement génère-t-il plus qu\'il ne coûte chaque mois ?',
    'labo.leasing.duree': 'Durée (mois)',
    'labo.leasing.taux': 'Taux annuel',
    'labo.leasing.auto': 'Mensualité calculée',
    'labo.leasing.manual': 'Mensualité contractuelle',
    'labo.table.title': 'Vos productions',
    'labo.table.sub': 'Ajustez volumes et prix facturés — le cash-flow se met à jour en direct.',
    'labo.table.col.facture': 'Prix facturé / cas',
    'labo.table.col.materiau': 'Coût matériaux',
    'labo.table.col.volume': 'Cas / mois',
    'labo.table.col.marge': 'Marge / mois',
    'labo.table.toggle.off': 'Désactiver', 'labo.table.toggle.on': 'Activer',
    'labo.dash.cf.label': 'Cash-flow net / mois',
    'labo.dash.cf.sub': 'Après mensualité leasing',
    'labo.dash.cf.helper.pos': 'L\'équipement génère de la trésorerie dès le 1ᵉʳ mois.',
    'labo.dash.cf.helper.neg': 'Cash-flow négatif — augmentez vos volumes ou ajustez la mensualité.',
    'labo.dash.marge.label': 'Marge brute / mois',
    'labo.dash.marge.sub': 'Avant mensualité leasing',
    'labo.dash.revenu.label': 'Revenu brut / mois',
    'labo.dash.revenu.sub': 'Total facturation cabinets',
    'labo.dash.cout.label': 'Coût matériaux / mois',
    'labo.dash.roi.pos': 'Dès le 1ᵉʳ mois',
    'labo.dash.roi.neg': 'Cash-flow négatif',
    'labo.dash.bar.title': 'Structure mensuelle',
    'labo.dash.bar.sub': 'Revenu brut, coût matériaux et marge brute.',
    'labo.dash.bar.revenu': 'Revenu brut',
    'labo.dash.bar.cout': 'Coût matériaux',
    'labo.dash.bar.marge': 'Marge brute',
    'labo.dash.cf.title': 'Cash-flow cumulé',
    'labo.dash.cf.curve.sub': 'Cumul mensuel du cash-flow net (marge − mensualité).',
    'labo.footer.copy': '© 2026 Simuprint Lab — Simulateur de rentabilité pour laboratoire dentaire.',
    'labo.footer.disclaimer': 'Estimation indicative à vocation commerciale. Ne constitue pas un conseil fiscal, comptable ou réglementaire. Les valeurs par défaut sont des ordres de grandeur à confirmer avec votre comptabilité et votre commercial SprintRay.',
  },
  en: {
    'lang.fr': 'Français', 'lang.en': 'English', 'lang.es': 'Español', 'lang.it': 'Italiano', 'lang.de': 'Deutsch',
    'wordmark.sub': 'Practice ROI Calculator',
    'header.synthese': 'Generate my summary',
    'hero.badge': 'Decision support for practitioners',
    'hero.h1a': 'How much does your practice',
    'hero.h1em': 'truly',
    'hero.h1b': 'save by bringing prosthetic production in-house?',
    'hero.p': 'Enter your real volumes and lab costs. You get <strong class="text-ink-800">your</strong> ROI on <strong class="text-ink-800">your</strong> SprintRay system — annual savings, net year-1 profit and payback period.',
    'hero.partner.title': 'A note about your partner lab',
    'hero.partner.body': 'Simuprint is designed for practices that want to produce in-house (integrated lab or chairside). It does not replace your local dental lab — your dental technicians are irreplaceable experts for complex cases.',
    'method.title': 'Calculation method',
    'method.line1': 'saving = outsourcing − (materials + design)',
    'method.line2': 'ROI = equipment price ÷ saving / month',
    'sel1.title': 'Your SprintRay equipment',
    'sel1.sub': 'Determines which indications are achievable and the reference price.',
    'sel1.prix.label': 'Ecosystem price (equipment, training, setup)',
    'sel1.prix.restore': 'restore default',
    'sel1.prix.note': 'Placeholder — confirm with your SprintRay sales rep.',
    'sel2.title': 'Midas material',
    'sel2.sub': 'Select the pressed resin used — applied to all your Midas restorations.',
    'sel2.cout': 'Cost / case',
    'sel2.note': 'Midas pricing is not included in the reference data — enter the value from your sales rep.',
    'sel3.title': 'Design mode',
    'sel3.sub': 'Do you design your pieces in-house, or outsource the design?',
    'sel3.frais': 'Fees / case',
    'opts.title': 'Optional layers',
    'opts.sub': 'Enable them if you consider them realistic for your practice — not included in the main ROI.',
    'footer.disclaimer.title': 'Disclaimer',
    'footer.disclaimer.body': 'Indicative estimate for commercial purposes. Procedure coding eligibility is the practitioner\'s responsibility. Does not constitute tax, accounting or regulatory advice. Default values are estimates to confirm with your accountant and SprintRay sales rep.',
    'footer.copy': '© 2026 Simuprint — ROI Calculator for dental practices.',
    'machines.midas.label': 'Midas + NanoCure',
    'machines.midas.sub': 'Digital Press — pressed ceramics',
    'machines.midas.blurb': 'Midas printer + NanoCure polymerisation unit included. Base list price, promotions excluded.',
    'machines.pro2.label': 'Pro 2 + ProWash S + NanoCure',
    'machines.pro2.sub': 'Digital Print — multi-indication resins',
    'machines.pro2.blurb': 'Pro 2 printer + ProWash S (cleaning) + NanoCure (polymerisation) included. Base list price, promotions excluded.',
    'machines.both.label': 'Midas + Pro 2 (full ecosystem)',
    'machines.both.sub': 'Practice equipped with both machines',
    'machines.both.blurb': 'Midas + NanoCure + Pro 2 + ProWash S + NanoCure. Full ceramic + resin coverage.',
    'mat.ceramic-crown.sub': 'Lithium disilicate', 'mat.ceramic-crown.blurb': 'Aesthetic ceramic restorations.',
    'mat.crown-ht.sub': 'High Translucency', 'mat.crown-ht.blurb': 'High translucency — anterior teeth.',
    'mat.onx.sub': 'Implant hybrid', 'mat.onx.blurb': 'Implant-supported restorations.',
    'design.maison.label': 'I design in-house', 'design.maison.sub': 'No design outsourcing', 'design.maison.hint': 'Practitioner time dedicated to modelling.',
    'design.sprintray.label': 'I outsource to SprintRay', 'design.sprintray.sub': 'SprintRay Cloud Design', 'design.sprintray.hint': 'Turnkey design service — billed per case.',
    'design.designer.label': 'I use my own designer', 'design.designer.sub': 'External designer / partner lab', 'design.designer.hint': 'Your trusted designer\'s fees.',
    'cat.midas-couronne-unitaire.label': 'Single crown', 'cat.midas-couronne-unitaire.sub': 'Definitive pressed ceramic',
    'cat.midas-couronne-implant.label': 'Implant crown', 'cat.midas-couronne-implant.sub': 'Screw-retained / cemented — ceramic',
    'cat.midas-inlay-onlay.label': 'Inlay / Onlay', 'cat.midas-inlay-onlay.sub': 'Indirect ceramic restoration',
    'cat.midas-overlay.label': 'Overlay', 'cat.midas-overlay.sub': 'Cuspal coverage ceramic',
    'cat.midas-facette.label': 'Single veneer', 'cat.midas-facette.sub': 'Anterior aesthetics',
    'cat.pro2-night-guard.label': 'Night guard', 'cat.pro2-night-guard.sub': 'Bruxism / TMD',
    'cat.pro2-couronne-unitaire.label': 'Single crown', 'cat.pro2-couronne-unitaire.sub': 'Resin restoration (HBLD490)',
    'cat.pro2-couronne-implant.label': 'Implant crown', 'cat.pro2-couronne-implant.sub': 'Immediate loading / healing',
    'cat.pro2-guide-chirurgical.label': 'Surgical guide', 'cat.pro2-guide-chirurgical.sub': 'Guided implant placement',
    'cat.pro2-amovible-complet.label': 'Full denture', 'cat.pro2-amovible-complet.sub': 'Base + teeth — per arch',
    'cat.pro2-amovible-flexible.label': 'Flexible denture', 'cat.pro2-amovible-flexible.sub': 'Flexible base — partial or full',
    'cat.pro2-allonx.label': 'All-on-X', 'cat.pro2-allonx.sub': 'Hybrid fixed prosthesis — per arch',
    'cat.pro2-modeles.label': 'Models', 'cat.pro2-modeles.sub': 'Study, prosthetic, ortho',
    'cat.pro2-retainer.label': 'Retainer', 'cat.pro2-retainer.sub': 'End of ortho treatment',
    'cat.pro2-inlay-onlay.label': 'Inlay / Onlay', 'cat.pro2-inlay-onlay.sub': 'Indirect resin restoration',
    'cat.pro2-facette.label': 'Single veneer — mock-up', 'cat.pro2-facette.sub': 'Aesthetic pre-visualisation in resin',
    'table.title': 'Your indications', 'table.sub': 'Click any cell to edit it. Everything recalculates live.',
    'table.col.indication': 'Indication', 'table.col.coutLabo': 'Lab outsourcing cost',
    'table.col.honoraire': 'Patient fees', 'table.col.volume': 'Cases / month',
    'table.col.materiau': 'Material cost', 'table.col.design': 'Design cost', 'table.col.economie': 'Saving / month',
    'table.design.self': 'Self Design', 'table.design.sr': 'SR', 'table.design.labo': 'My lab', 'table.design.free': 'Free',
    'table.design.other': 'Self Design / My lab', 'table.design.ia': 'AI',
    'table.empty': 'No indication for this configuration.',
    'table.mat': 'material', 'table.mat.active': 'active material', 'table.mat.hint': 'enter value',
    'table.toggle.off': 'Disable row', 'table.toggle.on': 'Enable row',
    'table.reset': 'Reset to default values',
    'table.design.label': 'Design fees per case', 'table.design.sub': 'Applied globally to all indications.',
    'table.design.internal': 'greyed out · you design in-house', 'table.design.percase': '/ case',
    'dash.eco.label': 'Annual savings', 'dash.eco.sub': 'vs lab outsourcing',
    'dash.eco.helper': 'That\'s {0} per month saved on your prosthetic cost.',
    'dash.ben.label': 'Net profit — year 1', 'dash.ben.sub': 'Year 1 savings − ecosystem price ({0})',
    'dash.ben.helperPos': 'You recover the investment in under 12 months.',
    'dash.ben.helperNeg': 'Year 1 savings below equipment price — see the ROI timeline.',
    'dash.roi.label': 'Months to ROI', 'dash.roi.nd': 'N/A',
    'dash.roi.sub12': 'Full payback in under 1 year',
    'dash.roi.sub12+': 'Payback over {0} years',
    'dash.roi.subNone': 'Insufficient volume to break even',
    'dash.roi.helper': '{0}/month savings × {1} = covers the {2}.',
    'dash.roi.helperNone': 'Increase volume or add more indications to activate the calculation.',
    'dash.bar.title': 'Annual cost — lab vs in-house', 'dash.bar.sub': 'Sum across all active indications.',
    'dash.bar.labo': 'Lab outsourcing', 'dash.bar.interne': 'In-house production',
    'dash.bar.annual': 'Annual', 'dash.bar.laboShort': 'Lab', 'dash.bar.interneShort': 'In-house',
    'dash.amort.title': 'Payback curve', 'dash.amort.sub': 'Cumulative savings vs equipment price.',
    'dash.amort.seuil': 'Equipment price', 'dash.amort.cumul': 'Cumulative savings',
    'dash.amort.mois': 'Month {0}', 'dash.amort.roi': 'ROI {0}m', 'dash.amort.msuffix': 'm',
    'dash.amort.ok': 'Break-even reached at {0} months — beyond that, it\'s pure net profit.',
    'dash.amort.nok': 'No break-even within the 36-month horizon at current parameters.',
    'mod.badge': 'Optional module',
    'mod.temps.title': 'Chair time freed',
    'mod.temps.desc': 'Crown in 1 appointment (Midas) → end of the 2nd visit, provisional and lab wait. Enable this layer to value the time saved as additional potential.',
    'mod.temps.valeur': 'Chair time hourly value', 'mod.temps.valeur.hint': 'Average hourly margin of your practice',
    'mod.temps.cas': 'Provisional cases avoided / month', 'mod.temps.cas.hint': 'Cost + time of suppressed provisional',
    'mod.temps.eco': 'Saving per provisional', 'mod.temps.eco.hint': 'Material + assistant time',
    'mod.temps.detail': 'Detail per indication', 'mod.temps.heures': '{0} h/yr freed',
    'mod.temps.potentiel': 'Additional potential',
    'mod.temps.potentiel.sub': 'Chair time + avoided provisionals. Not included in the main ROI figure.',
    'mod.temps.paran': 'per year',
    'mod.temps.creneaux': 'freed slot(s) / month',
    'mod.temps.creneaux.sub': 'computed from your {0} Midas cases / month',
    'mod.temps.nomidas': 'No active Midas cases — enable Midas indications in the table to estimate the potential.',
    'mod.temps.tarif': 'Replacement act fee',
    'mod.temps.tarif.hint': 'Average revenue per new Midas patient',
    'mod.temps.taux': 'Target conversion rate',
    'mod.temps.taux.hint': 'Share of freed slots converted to new acts',
    'mod.temps.potentiel.mois': '/ month',
    'mod.temps.prov': 'Avoided provisionals (optional)',
    'mod.fin.title': 'Financing (lease / LOA)',
    'mod.fin.desc': 'Compare your <strong>monthly cash flow</strong> rather than the upfront price: if savings cover the monthly payment, the equipment pays for itself.',
    'mod.fin.duree': 'Financing duration', 'mod.fin.duree.hint': '48 to 84 months typically',
    'mod.fin.taux': 'Annual interest rate', 'mod.fin.taux.hint': '(optional) refines the monthly payment using the PMT formula',
    'mod.fin.auto': 'Monthly payment (auto)', 'mod.fin.auto.hint': 'Calculated: price / duration, or PMT if rate entered',
    'mod.fin.loyer': 'Or: contractual monthly payment', 'mod.fin.loyer.hint': 'Enter the exact amount from your lease offer',
    'mod.fin.cout.label': 'Total cost of financing',
    'mod.fin.cout.interets': 'of which {0} in interest',
    'mod.fin.cashflow': 'Net monthly cash flow',
    'mod.fin.pos': '<strong>The equipment pays for itself</strong>: your savings cover the monthly payment from day one — with {0} left as net monthly cash.',
    'mod.fin.neg': 'The lease exceeds your savings by {0}/month. Increase volumes or extend the financing term to turn positive.',
    'mod.fin.mini.eco': 'Savings / month', 'mod.fin.mini.loyer': 'Lease / month', 'mod.fin.mini.net': 'Net / month',
    'mod.cam.title': 'Intraoral camera',
    'mod.cam.desc': 'Include the financing cost of your intraoral camera for a complete digitisation ROI — SprintRay system + camera.',
    'mod.cam.prix': 'Camera price', 'mod.cam.prix.hint': 'E.g. iTero, Trios, Dexis… — confirm with your reseller',
    'mod.cam.duree': 'Financing duration', 'mod.cam.duree.hint': '48 to 84 months typically',
    'mod.cam.auto': 'Monthly payment (auto)', 'mod.cam.auto.hint': 'Calculated: price / duration',
    'mod.cam.loyer': 'Monthly payment', 'mod.cam.loyer.hint': 'Exact amount you pay each month',
    'mod.cam.impact': 'Impact on equipment ROI',
    'mod.cam.mini.mens': 'Camera payment', 'mod.cam.mini.eco': 'Net savings/month', 'mod.cam.mini.roi': 'Adjusted ROI',
    'mod.cam.impact.delta': 'Adds +{0} months to ROI (without camera: {1} months → with: {2} months)',
    'mod.cam.impact.neg': 'Camera payment exceeds savings by {0} — ROI is no longer reachable at this volume.',
    'synth.title': 'Your ROI summary',
    'synth.sub': 'Ready to share or copy.',
    'synth.roi.hero': 'EST. ROI',
    'synth.roi.sub': 'thanks to {0}/year in outsourcing savings',
    'synth.peryear': '/ year',
    'synth.year1': 'year 1',
    'synth.permonth': '/ month',
    'synth.instead': 'instead of {0} months',
    'synth.temps.pot': 'Additional potential: {0}/month',
    'synth.lines': '{0} lines', 'synth.close': 'Close', 'synth.copy': 'Copy summary', 'synth.copied': 'Copied',
    'synth.pdf': 'Download as PDF',
    'labo.pdf': 'Download as PDF',
    'synth.gen.title': 'ROI SUMMARY — SIMUPRINT', 'synth.gen.date': 'Generated on {0}',
    'synth.gen.equip': 'Equipment', 'synth.gen.prix': 'Ecosystem price',
    'synth.gen.midasMat': 'Midas material', 'synth.gen.design': 'Design mode', 'synth.gen.noFees': 'no fees',
    'synth.gen.hypo': 'ASSUMPTIONS BY INDICATION (active rows)',
    'synth.gen.st': 'Outsourcing', 'synth.gen.hon': 'Fees', 'synth.gen.cas': 'Cases/mo',
    'synth.gen.mat': 'Materials', 'synth.gen.design2': 'Design', 'synth.gen.eco': 'Saving/mo',
    'synth.gen.result': 'RESULT — MAIN ROI',
    'synth.gen.ecoMois': 'Monthly savings', 'synth.gen.ecoAn': 'Annual savings',
    'synth.gen.ben': 'Net profit year 1', 'synth.gen.roiMois': 'Months to ROI',
    'synth.gen.roiOk': '{0} months', 'synth.gen.roiKo': 'insufficient volume',
    'synth.gen.temps.title': 'LAYER: Chair time freed (NOT included in main ROI)',
    'synth.gen.temps.valeur': 'Chair time hourly value', 'synth.gen.temps.eco': 'Provisional savings',
    'synth.gen.temps.creneaux': 'Midas slots / month',
    'synth.gen.fin.title': 'LAYER: Lease / LOA financing',
    'synth.gen.fin.duree': 'Duration', 'synth.gen.fin.mois': 'months',
    'synth.gen.fin.taux': 'Annual rate', 'synth.gen.fin.interets': 'Total interest',
    'synth.gen.fin.mensualite': 'Monthly payment', 'synth.gen.fin.net': 'Net monthly cash flow',
    'synth.gen.fin.auto': '→ Equipment pays for itself from month 1.',
    'synth.gen.fin.neg': '→ Lease exceeds savings: adjust volume or duration.',
    'synth.gen.cam.title': 'LAYER: Intraoral camera',
    'synth.gen.cam.prix': 'Camera price', 'synth.gen.cam.mens': 'Camera payment',
    'synth.gen.cam.eco': 'Net savings/month', 'synth.gen.cam.roi': 'Adjusted ROI',
    'synth.gen.disclaimer': 'Indicative estimate — does not constitute tax, accounting or regulatory advice.',
    /* --- mobile wizard --- */
    'mob.step.machine': 'Equipment', 'mob.step.material': 'Material', 'mob.step.design': 'Design',
    'mob.step.volumes': 'Volumes', 'mob.step.results': 'Results',
    'mob.step.of': 'Step {0} / {1}',
    'mob.next': 'Next', 'mob.back': 'Back', 'mob.see.results': 'See my results',
    'mob.share': 'Share', 'mob.copy': 'Copy', 'mob.copied': 'Copied!',
    'mob.edit': 'Edit my parameters',
    'mob.share.title': 'My SprintRay ROI — Simuprint',
    'mob.share.intro': 'Your return on investment for your future SprintRay:',
    'mob.share.cam': 'Intraoral camera included: with {0}/month payment, your ROI shifts to {1} months instead of {2}',
    'mob.saving': 'Saving/month', 'mob.expand': 'Details', 'mob.collapse': 'Collapse',
    'mob.inactive': 'Inactive',
    'mob.labo.step.solution': 'Solution & lease', 'mob.labo.step.productions': 'Productions',
    'mob.labo.share.title': 'My lab cash flow — Simuprint Lab',
    'mob.labo.share.intro': 'Net monthly cash flow with SprintRay Pro 2:',
    /* --- labo --- */
    'wordmark.sub.lab': 'Lab profitability simulator',
    'labo.hero.badge': 'Decision support for dental laboratories',
    'labo.hero.h1a': 'Does your laboratory become',
    'labo.hero.h1em': 'profitable',
    'labo.hero.h1b': 'with a SprintRay Pro 2?',
    'labo.hero.p': 'Enter your volumes and billing prices. Get your <strong class="text-ink-800">net monthly cash flow</strong> after lease payments — and visualise your break-even point.',
    'labo.method.title': 'Calculation method',
    'labo.method.line1': 'gross margin = billed price − material cost',
    'labo.method.line2': 'cash flow = gross margin − monthly lease',
    'labo.machine.title': 'SprintRay Pro 2 solution',
    'labo.machine.sub': 'Pro 2 + ProWash S + NanoCure — multi-indication resins',
    'labo.machine.prix.label': 'Solution price (equipment, training, setup)',
    'labo.machine.prix.note': 'Placeholder — confirm with your SprintRay sales rep.',
    'labo.leasing.title': 'Monthly lease financing',
    'labo.leasing.sub': 'Does the equipment generate more than it costs each month?',
    'labo.leasing.duree': 'Duration (months)',
    'labo.leasing.taux': 'Annual rate',
    'labo.leasing.auto': 'Calculated payment',
    'labo.leasing.manual': 'Contractual payment',
    'labo.table.title': 'Your productions',
    'labo.table.sub': 'Adjust volumes and billing prices — cash flow updates live.',
    'labo.table.col.facture': 'Billed price / case',
    'labo.table.col.materiau': 'Material cost',
    'labo.table.col.volume': 'Cases / month',
    'labo.table.col.marge': 'Margin / month',
    'labo.table.toggle.off': 'Disable', 'labo.table.toggle.on': 'Enable',
    'labo.dash.cf.label': 'Net cash flow / month',
    'labo.dash.cf.sub': 'After monthly lease',
    'labo.dash.cf.helper.pos': 'The equipment generates positive cash flow from month 1.',
    'labo.dash.cf.helper.neg': 'Negative cash flow — increase volumes or adjust the lease payment.',
    'labo.dash.marge.label': 'Gross margin / month',
    'labo.dash.marge.sub': 'Before lease payment',
    'labo.dash.revenu.label': 'Gross revenue / month',
    'labo.dash.revenu.sub': 'Total billing to practices',
    'labo.dash.cout.label': 'Material cost / month',
    'labo.dash.roi.pos': 'From month 1',
    'labo.dash.roi.neg': 'Negative cash flow',
    'labo.dash.bar.title': 'Monthly structure',
    'labo.dash.bar.sub': 'Gross revenue, material cost and gross margin.',
    'labo.dash.bar.revenu': 'Gross revenue',
    'labo.dash.bar.cout': 'Material cost',
    'labo.dash.bar.marge': 'Gross margin',
    'labo.dash.cf.title': 'Cumulative cash flow',
    'labo.dash.cf.curve.sub': 'Monthly cumulative net cash flow (margin − lease).',
    'labo.footer.copy': '© 2026 Simuprint Lab — Profitability simulator for dental laboratories.',
    'labo.footer.disclaimer': 'Indicative estimate for commercial purposes. Does not constitute tax, accounting or regulatory advice. Default values are estimates to confirm with your accountant and SprintRay sales rep.',
  },
  es: {
    'lang.fr': 'Français', 'lang.en': 'English', 'lang.es': 'Español', 'lang.it': 'Italiano', 'lang.de': 'Deutsch',
    'wordmark.sub': 'Calculadora de ROI para clínica',
    'header.synthese': 'Generar mi resumen',
    'hero.badge': 'Apoyo a la decisión para el profesional',
    'hero.h1a': '¿Cuánto ahorra',
    'hero.h1em': 'realmente',
    'hero.h1b': 'su clínica al internalizar la producción protésica?',
    'hero.p': 'Introduzca sus volúmenes reales y costes de laboratorio. Obtendrá <strong class="text-ink-800">su</strong> ROI sobre <strong class="text-ink-800">su</strong> sistema SprintRay — ahorros anuales, beneficio neto en el año 1 y plazo de amortización.',
    'hero.partner.title': 'Una nota sobre su laboratorio colaborador',
    'hero.partner.body': 'Simuprint está diseñado para las clínicas que desean producir de forma interna (laboratorio integrado o chairside). No reemplaza a su laboratorio dental local — sus protésicos son expertos insustituibles en los casos complejos.',
    'method.title': 'Método de cálculo',
    'method.line1': 'ahorro = externalización − (materiales + diseño)',
    'method.line2': 'ROI = precio equipo ÷ ahorro / mes',
    'sel1.title': 'Su equipamiento SprintRay',
    'sel1.sub': 'Determina las indicaciones realizables y el precio de referencia.',
    'sel1.prix.label': 'Precio del ecosistema (equipo, formación, puesta en marcha)',
    'sel1.prix.restore': 'restaurar valor por defecto',
    'sel1.prix.note': 'Marcador — confirme con su comercial SprintRay.',
    'sel2.title': 'Material Midas',
    'sel2.sub': 'Seleccione la resina prensada utilizada — aplicada a todos sus restauros Midas.',
    'sel2.cout': 'Coste / caso',
    'sel2.note': 'Las tarifas Midas no están incluidas en los datos de referencia — introduzca el valor indicado por su comercial.',
    'sel3.title': 'Modo de diseño',
    'sel3.sub': '¿Diseña las piezas internamente o externaliza el diseño?',
    'sel3.frais': 'Honorarios / caso',
    'opts.title': 'Capas opcionales',
    'opts.sub': 'Actívelas si las considera realistas para su clínica — no incluidas en el ROI principal.',
    'footer.disclaimer.title': 'Aviso legal',
    'footer.disclaimer.body': 'Estimación indicativa con fines comerciales. La codificación de procedimientos es responsabilidad del profesional. No constituye asesoramiento fiscal, contable ni reglamentario. Los valores por defecto son estimaciones a confirmar con su contabilidad y comercial SprintRay.',
    'footer.copy': '© 2026 Simuprint — Calculadora de ROI para clínicas dentales.',
    'machines.midas.label': 'Midas + NanoCure',
    'machines.midas.sub': 'Digital Press — cerámicas prensadas',
    'machines.midas.blurb': 'Impresora Midas + módulo de polimerización NanoCure incluido. Precio de tarifa base, sin promociones.',
    'machines.pro2.label': 'Pro 2 + ProWash S + NanoCure',
    'machines.pro2.sub': 'Digital Print — resinas multi-indicación',
    'machines.pro2.blurb': 'Impresora Pro 2 + ProWash S (limpieza) + NanoCure (polimerización) incluidos. Precio de tarifa base, sin promociones.',
    'machines.both.label': 'Midas + Pro 2 (ecosistema completo)',
    'machines.both.sub': 'Clínica equipada con ambas máquinas',
    'machines.both.blurb': 'Midas + NanoCure + Pro 2 + ProWash S + NanoCure. Cobertura completa cerámica + resina.',
    'mat.ceramic-crown.sub': 'Disilicato de litio', 'mat.ceramic-crown.blurb': 'Restauraciones cerámicas estéticas.',
    'mat.crown-ht.sub': 'Alta translucidez', 'mat.crown-ht.blurb': 'Alta translucidez — dientes anteriores.',
    'mat.onx.sub': 'Híbrido implante', 'mat.onx.blurb': 'Restauraciones sobre implante.',
    'design.maison.label': 'Diseño propio', 'design.maison.sub': 'Sin externalización del diseño', 'design.maison.hint': 'Tiempo del profesional dedicado al modelado.',
    'design.sprintray.label': 'Externalizo con SprintRay', 'design.sprintray.sub': 'Cloud Design SprintRay', 'design.sprintray.hint': 'Servicio de diseño llave en mano — facturado por caso.',
    'design.designer.label': 'Externalizo con mi diseñador', 'design.designer.sub': 'Diseñador externo / laboratorio asociado', 'design.designer.hint': 'Honorarios de su diseñador de confianza.',
    'cat.midas-couronne-unitaire.label': 'Corona unitaria', 'cat.midas-couronne-unitaire.sub': 'Cerámica prensada definitiva',
    'cat.midas-couronne-implant.label': 'Corona sobre implante', 'cat.midas-couronne-implant.sub': 'Atornillada / cementada — cerámica',
    'cat.midas-inlay-onlay.label': 'Inlay / Onlay', 'cat.midas-inlay-onlay.sub': 'Restauración indirecta cerámica',
    'cat.midas-overlay.label': 'Overlay', 'cat.midas-overlay.sub': 'Recubrimiento cuspídeo cerámico',
    'cat.midas-facette.label': 'Carilla unitaria', 'cat.midas-facette.sub': 'Estética anterior',
    'cat.pro2-night-guard.label': 'Férula nocturna (Night Guard)', 'cat.pro2-night-guard.sub': 'Bruxismo / ATM',
    'cat.pro2-couronne-unitaire.label': 'Corona unitaria', 'cat.pro2-couronne-unitaire.sub': 'Restauración en resina (HBLD490)',
    'cat.pro2-couronne-implant.label': 'Corona sobre implante', 'cat.pro2-couronne-implant.sub': 'Carga inmediata / cicatrización',
    'cat.pro2-guide-chirurgical.label': 'Guía quirúrgica', 'cat.pro2-guide-chirurgical.sub': 'Colocación guiada de implantes',
    'cat.pro2-amovible-complet.label': 'Prótesis completa removible', 'cat.pro2-amovible-complet.sub': 'Base + dientes — por arcada',
    'cat.pro2-amovible-flexible.label': 'Prótesis flexible', 'cat.pro2-amovible-flexible.sub': 'Base flexible — parcial o completa',
    'cat.pro2-allonx.label': 'All-on-X', 'cat.pro2-allonx.sub': 'Prótesis fija híbrida — por arcada',
    'cat.pro2-modeles.label': 'Modelos', 'cat.pro2-modeles.sub': 'Estudio, prótesis, ortodoncia',
    'cat.pro2-retainer.label': 'Retenedor', 'cat.pro2-retainer.sub': 'Final de tratamiento ortodóntico',
    'cat.pro2-inlay-onlay.label': 'Inlay / Onlay', 'cat.pro2-inlay-onlay.sub': 'Restauración indirecta en resina',
    'cat.pro2-facette.label': 'Carilla unitaria — mock-up', 'cat.pro2-facette.sub': 'Previsualización estética en resina',
    'table.title': 'Sus indicaciones', 'table.sub': 'Haga clic en cualquier celda para editarla. Todo se recalcula en tiempo real.',
    'table.col.indication': 'Indicación', 'table.col.coutLabo': 'Coste de externalización al laboratorio',
    'table.col.honoraire': 'Honorarios del paciente', 'table.col.volume': 'Casos / mes',
    'table.col.materiau': 'Coste de materiales', 'table.col.design': 'Coste de diseño', 'table.col.economie': 'Ahorro / mes',
    'table.design.self': 'Self Design', 'table.design.sr': 'SR', 'table.design.labo': 'Mi lab', 'table.design.free': 'Gratis',
    'table.design.other': 'Self Design / Mi lab', 'table.design.ia': 'IA',
    'table.empty': 'Ninguna indicación para esta configuración.',
    'table.mat': 'material', 'table.mat.active': 'material activo', 'table.mat.hint': 'introducir valor',
    'table.toggle.off': 'Desactivar fila', 'table.toggle.on': 'Activar fila',
    'table.reset': 'Restablecer valores por defecto',
    'table.design.label': 'Honorarios de diseño por caso', 'table.design.sub': 'Aplicados globalmente a todas las indicaciones.',
    'table.design.internal': 'desactivado · diseña usted mismo', 'table.design.percase': '/ caso',
    'dash.eco.label': 'Ahorros anuales', 'dash.eco.sub': 'vs externalización al laboratorio',
    'dash.eco.helper': 'Es decir, {0} por mes ahorrados en su coste protésico.',
    'dash.ben.label': 'Beneficio neto — año 1', 'dash.ben.sub': 'Ahorros año 1 − precio ecosistema ({0})',
    'dash.ben.helperPos': 'Recupera la inversión en menos de 12 meses.',
    'dash.ben.helperNeg': 'Ahorros del año 1 inferiores al precio del equipo — vea el plazo de ROI.',
    'dash.roi.label': 'Meses hasta el ROI', 'dash.roi.nd': 'N/D',
    'dash.roi.sub12': 'Amortización completa en menos de 1 año',
    'dash.roi.sub12+': 'Amortización en {0} años',
    'dash.roi.subNone': 'Volumen insuficiente para rentabilizar',
    'dash.roi.helper': '{0}/mes de ahorros × {1} = cobertura del {2}.',
    'dash.roi.helperNone': 'Aumente el volumen o añada más indicaciones para activar el cálculo.',
    'dash.bar.title': 'Coste anual — laboratorio vs interno', 'dash.bar.sub': 'Suma de todas las indicaciones activas.',
    'dash.bar.labo': 'Externalización laboratorio', 'dash.bar.interne': 'Producción interna',
    'dash.bar.annual': 'Anual', 'dash.bar.laboShort': 'Laboratorio', 'dash.bar.interneShort': 'Interno',
    'dash.amort.title': 'Curva de amortización', 'dash.amort.sub': 'Ahorros acumulados vs precio del equipo.',
    'dash.amort.seuil': 'Precio del equipo', 'dash.amort.cumul': 'Ahorros acumulados',
    'dash.amort.mois': 'Mes {0}', 'dash.amort.roi': 'ROI {0}m', 'dash.amort.msuffix': 'm',
    'dash.amort.ok': 'Punto de equilibrio alcanzado a los {0} meses — a partir de ahí, beneficio neto.',
    'dash.amort.nok': 'Sin punto de equilibrio en el horizonte de 36 meses con los parámetros actuales.',
    'mod.badge': 'Módulo opcional',
    'mod.temps.title': 'Tiempo de sillón liberado',
    'mod.temps.desc': 'Corona en 1 sesión (Midas) → fin de la 2ª cita, del provisional y de la espera del laboratorio. Active esta capa para valorar el tiempo ganado como potencial adicional.',
    'mod.temps.valeur': 'Valor horario del sillón', 'mod.temps.valeur.hint': 'Margen horario medio de su clínica',
    'mod.temps.cas': 'Casos provisionales evitados / mes', 'mod.temps.cas.hint': 'Coste + tiempo del provisional suprimido',
    'mod.temps.eco': 'Ahorro por provisional', 'mod.temps.eco.hint': 'Material + tiempo del asistente',
    'mod.temps.detail': 'Detalle por indicación', 'mod.temps.heures': '{0} h/año liberadas',
    'mod.temps.potentiel': 'Potencial adicional',
    'mod.temps.potentiel.sub': 'Tiempo de sillón + provisionales evitados. No incluido en el ROI principal.',
    'mod.temps.paran': 'por año',
    'mod.temps.creneaux': 'plaza(s) liberada(s) / mes',
    'mod.temps.creneaux.sub': 'calculado desde sus {0} casos Midas / mes',
    'mod.temps.nomidas': 'Ningún caso Midas activo — active indicaciones Midas en la tabla para estimar el potencial.',
    'mod.temps.tarif': 'Tarifa del acto de sustitución',
    'mod.temps.tarif.hint': 'Facturación media por nuevo paciente Midas',
    'mod.temps.taux': 'Tasa de conversión objetivo',
    'mod.temps.taux.hint': 'Parte de las plazas liberadas convertidas en nuevos actos',
    'mod.temps.potentiel.mois': '/ mes',
    'mod.temps.prov': 'Provisionales evitados (opcional)',
    'mod.fin.title': 'Financiación (leasing / LOA)',
    'mod.fin.desc': 'Compare su <strong>flujo mensual</strong> en lugar del precio bruto: si los ahorros cubren la cuota mensual, el equipo se autofinancia.',
    'mod.fin.duree': 'Duración de la financiación', 'mod.fin.duree.hint': '48 a 84 meses generalmente',
    'mod.fin.taux': 'Tipo de interés anual', 'mod.fin.taux.hint': '(opcional) afina el cálculo de la cuota con la fórmula PMT',
    'mod.fin.auto': 'Cuota mensual (auto)', 'mod.fin.auto.hint': 'Calculada: precio / duración, o PMT si se indica el tipo',
    'mod.fin.loyer': 'O: cuota contractual', 'mod.fin.loyer.hint': 'Introduzca el importe exacto de su oferta de leasing',
    'mod.fin.cout.label': 'Coste total del crédito',
    'mod.fin.cout.interets': 'de los cuales {0} en intereses',
    'mod.fin.cashflow': 'Flujo de caja neto mensual',
    'mod.fin.pos': '<strong>El equipo se autofinancia</strong>: sus ahorros cubren la cuota mensual desde el primer mes — con {0} de tesorería neta al mes.',
    'mod.fin.neg': 'La cuota supera sus ahorros en {0} al mes. Aumente sus volúmenes o alargue la financiación para pasar a positivo.',
    'mod.fin.mini.eco': 'Ahorros / mes', 'mod.fin.mini.loyer': 'Cuota / mes', 'mod.fin.mini.net': 'Neto / mes',
    'mod.cam.title': 'Cámara intraoral',
    'mod.cam.desc': 'Incluya el coste de financiación de su cámara intraoral para obtener un ROI de digitalización completo.',
    'mod.cam.prix': 'Precio de la cámara', 'mod.cam.prix.hint': 'Ej. iTero, Trios, Dexis… — confirme con su distribuidor',
    'mod.cam.duree': 'Duración de la financiación', 'mod.cam.duree.hint': '48 a 84 meses generalmente',
    'mod.cam.auto': 'Cuota mensual (auto)', 'mod.cam.auto.hint': 'Calculada: precio / duración',
    'mod.cam.loyer': 'Mensualidad', 'mod.cam.loyer.hint': 'Importe exacto que paga cada mes',
    'mod.cam.impact': 'Impacto en el ROI del equipamiento',
    'mod.cam.mini.mens': 'Cuota cámara', 'mod.cam.mini.eco': 'Ahorros netos/mes', 'mod.cam.mini.roi': 'ROI ajustado',
    'mod.cam.impact.delta': 'Alarga el ROI +{0} meses (sin cámara: {1} meses → con: {2} meses)',
    'mod.cam.impact.neg': 'La cuota cámara supera los ahorros en {0} — el ROI ya no es alcanzable a este volumen.',
    'synth.title': 'Su resumen de ROI',
    'synth.sub': 'Lista para compartir o copiar.',
    'synth.roi.hero': 'ROI ESTIMADO',
    'synth.roi.sub': 'gracias a {0}/año en ahorro de subcontratación',
    'synth.peryear': '/ año',
    'synth.year1': 'año 1',
    'synth.permonth': '/ mes',
    'synth.instead': 'en lugar de {0} meses',
    'synth.temps.pot': 'Potencial adicional: {0}/mes',
    'synth.lines': '{0} líneas', 'synth.close': 'Cerrar', 'synth.copy': 'Copiar resumen', 'synth.copied': 'Copiado',
    'synth.pdf': 'Descargar en PDF',
    'labo.pdf': 'Descargar en PDF',
    'synth.gen.title': 'RESUMEN ROI — SIMUPRINT', 'synth.gen.date': 'Generado el {0}',
    'synth.gen.equip': 'Equipo', 'synth.gen.prix': 'Precio ecosistema',
    'synth.gen.midasMat': 'Material Midas', 'synth.gen.design': 'Modo de diseño', 'synth.gen.noFees': 'sin honorarios',
    'synth.gen.hypo': 'SUPUESTOS POR INDICACIÓN (filas activas)',
    'synth.gen.st': 'Externalización', 'synth.gen.hon': 'Honorarios', 'synth.gen.cas': 'Casos/mes',
    'synth.gen.mat': 'Materiales', 'synth.gen.design2': 'Diseño', 'synth.gen.eco': 'Ahorro/mes',
    'synth.gen.result': 'RESULTADO — ROI PRINCIPAL',
    'synth.gen.ecoMois': 'Ahorros mensuales', 'synth.gen.ecoAn': 'Ahorros anuales',
    'synth.gen.ben': 'Beneficio neto año 1', 'synth.gen.roiMois': 'Meses hasta ROI',
    'synth.gen.roiOk': '{0} meses', 'synth.gen.roiKo': 'volumen insuficiente',
    'synth.gen.temps.title': 'CAPA: Tiempo de sillón liberado (NO incluido en el ROI principal)',
    'synth.gen.temps.valeur': 'Valor horario del sillón', 'synth.gen.temps.eco': 'Ahorro en provisionales',
    'synth.gen.temps.creneaux': 'Casos Midas / mes',
    'synth.gen.fin.title': 'CAPA: Financiación leasing / LOA',
    'synth.gen.fin.duree': 'Duración', 'synth.gen.fin.mois': 'meses',
    'synth.gen.fin.taux': 'Tipo anual', 'synth.gen.fin.interets': 'Intereses totales',
    'synth.gen.fin.mensualite': 'Cuota mensual', 'synth.gen.fin.net': 'Flujo de caja neto mensual',
    'synth.gen.fin.auto': '→ El equipo se autofinancia desde el 1er mes.',
    'synth.gen.fin.neg': '→ Cuota superior a los ahorros: ajuste volumen o duración.',
    'synth.gen.cam.title': 'CAPA: Cámara intraoral',
    'synth.gen.cam.prix': 'Precio cámara', 'synth.gen.cam.mens': 'Cuota cámara',
    'synth.gen.cam.eco': 'Ahorros netos/mes', 'synth.gen.cam.roi': 'ROI ajustado',
    'synth.gen.disclaimer': 'Estimación indicativa — no constituye asesoramiento fiscal, contable ni reglamentario.',
    /* --- mobile wizard --- */
    'mob.step.machine': 'Equipo', 'mob.step.material': 'Material', 'mob.step.design': 'Diseño',
    'mob.step.volumes': 'Volúmenes', 'mob.step.results': 'Resultados',
    'mob.step.of': 'Paso {0} / {1}',
    'mob.next': 'Siguiente', 'mob.back': 'Volver', 'mob.see.results': 'Ver mis resultados',
    'mob.share': 'Compartir', 'mob.copy': 'Copiar', 'mob.copied': '¡Copiado!',
    'mob.edit': 'Editar mis parámetros',
    'mob.share.title': 'Mi ROI SprintRay — Simuprint',
    'mob.share.intro': 'Su retorno de inversión de su futuro SprintRay:',
    'mob.share.cam': 'Cámara intraoral incluida en el cálculo: con {0}/mes de cuota, su ROI pasa a {1} meses en lugar de {2}',
    'mob.saving': 'Ahorro/mes', 'mob.expand': 'Detalles', 'mob.collapse': 'Reducir',
    'mob.inactive': 'Inactiva',
    'mob.labo.step.solution': 'Solución & leasing', 'mob.labo.step.productions': 'Producciones',
    'mob.labo.share.title': 'Mi flujo de caja lab — Simuprint Lab',
    'mob.labo.share.intro': 'Flujo de caja neto mensual con SprintRay Pro 2:',
    /* --- labo --- */
    'wordmark.sub.lab': 'Simulador de rentabilidad lab',
    'labo.hero.badge': 'Apoyo a la decisión para el laboratorio dental',
    'labo.hero.h1a': '¿Su laboratorio se vuelve',
    'labo.hero.h1em': 'rentable',
    'labo.hero.h1b': 'con una SprintRay Pro 2?',
    'labo.hero.p': 'Introduzca sus volúmenes y precios de facturación. Obtenga su <strong class="text-ink-800">flujo de caja neto mensual</strong> después de la cuota de leasing.',
    'labo.method.title': 'Método de cálculo',
    'labo.method.line1': 'margen bruto = precio facturado − coste material',
    'labo.method.line2': 'flujo de caja = margen bruto − cuota leasing',
    'labo.machine.title': 'Solución SprintRay Pro 2',
    'labo.machine.sub': 'Pro 2 + ProWash S + NanoCure — resinas multi-indicación',
    'labo.machine.prix.label': 'Precio solución (equipo, formación, puesta en marcha)',
    'labo.machine.prix.note': 'Marcador — confirme con su comercial SprintRay.',
    'labo.leasing.title': 'Financiación en mensualidades',
    'labo.leasing.sub': '¿El equipo genera más de lo que cuesta cada mes?',
    'labo.leasing.duree': 'Duración (meses)',
    'labo.leasing.taux': 'Tipo anual',
    'labo.leasing.auto': 'Cuota calculada',
    'labo.leasing.manual': 'Cuota contractual',
    'labo.table.title': 'Sus producciones',
    'labo.table.sub': 'Ajuste volúmenes y precios — el flujo de caja se actualiza en tiempo real.',
    'labo.table.col.facture': 'Precio facturado / caso',
    'labo.table.col.materiau': 'Coste materiales',
    'labo.table.col.volume': 'Casos / mes',
    'labo.table.col.marge': 'Margen / mes',
    'labo.table.toggle.off': 'Desactivar', 'labo.table.toggle.on': 'Activar',
    'labo.dash.cf.label': 'Flujo de caja neto / mes',
    'labo.dash.cf.sub': 'Después de la cuota de leasing',
    'labo.dash.cf.helper.pos': 'El equipo genera flujo de caja positivo desde el 1er mes.',
    'labo.dash.cf.helper.neg': 'Flujo de caja negativo — aumente volúmenes o ajuste la cuota.',
    'labo.dash.marge.label': 'Margen bruto / mes',
    'labo.dash.marge.sub': 'Antes de la cuota de leasing',
    'labo.dash.revenu.label': 'Ingresos brutos / mes',
    'labo.dash.revenu.sub': 'Facturación total a clínicas',
    'labo.dash.cout.label': 'Coste materiales / mes',
    'labo.dash.roi.pos': 'Desde el 1er mes',
    'labo.dash.roi.neg': 'Flujo de caja negativo',
    'labo.dash.bar.title': 'Estructura mensual',
    'labo.dash.bar.sub': 'Ingresos brutos, coste material y margen bruto.',
    'labo.dash.bar.revenu': 'Ingresos brutos',
    'labo.dash.bar.cout': 'Coste materiales',
    'labo.dash.bar.marge': 'Margen bruto',
    'labo.dash.cf.title': 'Flujo de caja acumulado',
    'labo.dash.cf.curve.sub': 'Acumulado mensual del flujo de caja neto.',
    'labo.footer.copy': '© 2026 Simuprint Lab — Simulador de rentabilidad para laboratorios dentales.',
    'labo.footer.disclaimer': 'Estimación indicativa con fines comerciales. No constituye asesoramiento fiscal, contable ni reglamentario.',
  },
  it: {
    'lang.fr': 'Français', 'lang.en': 'English', 'lang.es': 'Español', 'lang.it': 'Italiano', 'lang.de': 'Deutsch',
    'wordmark.sub': 'Calcolatore ROI per studio',
    'header.synthese': 'Genera il mio riepilogo',
    'hero.badge': 'Supporto decisionale per il professionista',
    'hero.h1a': 'Quanto risparmia',
    'hero.h1em': 'davvero',
    'hero.h1b': 'il suo studio internalizzando la produzione protesica?',
    'hero.p': 'Inserisca i suoi volumi reali e i costi del laboratorio. Otterrà il <strong class="text-ink-800">suo</strong> ROI sul <strong class="text-ink-800">suo</strong> sistema SprintRay — risparmi annuali, profitto netto nel 1° anno e periodo di rimborso.',
    'hero.partner.title': 'Una nota sul suo laboratorio partner',
    'hero.partner.body': 'Simuprint è progettato per gli studi che desiderano produrre internamente (laboratorio integrato o chairside). Non sostituisce il laboratorio odontotecnico locale — i tecnici sono esperti insostituibili per i casi complessi.',
    'method.title': 'Metodo di calcolo',
    'method.line1': 'risparmio = esternalizzazione − (materiali + design)',
    'method.line2': 'ROI = prezzo attrezzatura ÷ risparmio / mese',
    'sel1.title': 'Il suo equipaggiamento SprintRay',
    'sel1.sub': 'Determina le indicazioni realizzabili e il prezzo di riferimento.',
    'sel1.prix.label': 'Prezzo ecosistema (attrezzatura, formazione, avviamento)',
    'sel1.prix.restore': 'ripristina il valore predefinito',
    'sel1.prix.note': 'Segnaposto — confermare con il proprio agente SprintRay.',
    'sel2.title': 'Materiale Midas',
    'sel2.sub': 'Selezionare la resina pressata utilizzata — applicata a tutti i restauri Midas.',
    'sel2.cout': 'Costo / caso',
    'sel2.note': 'Le tariffe Midas non sono incluse nei dati di riferimento — inserire il valore comunicato dal proprio agente.',
    'sel3.title': 'Modalità di progettazione',
    'sel3.sub': 'Progetta i pezzi internamente o esternalizza il design?',
    'sel3.frais': 'Costi / caso',
    'opts.title': 'Livelli opzionali',
    'opts.sub': 'Attivarli se li si ritiene realistici per il proprio studio — non inclusi nel ROI principale.',
    'footer.disclaimer.title': 'Avvertenza',
    'footer.disclaimer.body': 'Stima indicativa a fini commerciali. La codifica delle procedure è responsabilità del professionista. Non costituisce consulenza fiscale, contabile o normativa. I valori predefiniti sono stime da confermare con la contabilità dello studio e l\'agente SprintRay.',
    'footer.copy': '© 2026 Simuprint — Calcolatore ROI per studi odontoiatrici.',
    'machines.midas.label': 'Midas + NanoCure',
    'machines.midas.sub': 'Digital Press — ceramiche pressate',
    'machines.midas.blurb': 'Stampante Midas + modulo di polimerizzazione NanoCure incluso. Prezzo di listino base, senza promozioni.',
    'machines.pro2.label': 'Pro 2 + ProWash S + NanoCure',
    'machines.pro2.sub': 'Digital Print — resine multi-indicazione',
    'machines.pro2.blurb': 'Stampante Pro 2 + ProWash S (pulizia) + NanoCure (polimerizzazione) inclusi. Prezzo di listino base, senza promozioni.',
    'machines.both.label': 'Midas + Pro 2 (ecosistema completo)',
    'machines.both.sub': 'Studio dotato di entrambe le macchine',
    'machines.both.blurb': 'Midas + NanoCure + Pro 2 + ProWash S + NanoCure. Copertura completa ceramica + resina.',
    'mat.ceramic-crown.sub': 'Disilicato di litio', 'mat.ceramic-crown.blurb': 'Restauri ceramici estetici.',
    'mat.crown-ht.sub': 'Alta traslucenza', 'mat.crown-ht.blurb': 'Alta traslucenza — denti anteriori.',
    'mat.onx.sub': 'Ibrido implantare', 'mat.onx.blurb': 'Restauri su impianto.',
    'design.maison.label': 'Progetto internamente', 'design.maison.sub': 'Nessuna esternalizzazione del design', 'design.maison.hint': 'Tempo del professionista dedicato alla modellazione.',
    'design.sprintray.label': 'Esternalizzo con SprintRay', 'design.sprintray.sub': 'Cloud Design SprintRay', 'design.sprintray.hint': 'Servizio di design chiavi in mano — fatturato per caso.',
    'design.designer.label': 'Esternalizzo con il mio designer', 'design.designer.sub': 'Designer esterno / laboratorio partner', 'design.designer.hint': 'Onorari del suo designer di fiducia.',
    'cat.midas-couronne-unitaire.label': 'Corona singola', 'cat.midas-couronne-unitaire.sub': 'Ceramica pressata definitiva',
    'cat.midas-couronne-implant.label': 'Corona su impianto', 'cat.midas-couronne-implant.sub': 'Avvitata / cementata — ceramica',
    'cat.midas-inlay-onlay.label': 'Inlay / Onlay', 'cat.midas-inlay-onlay.sub': 'Restauro indiretto in ceramica',
    'cat.midas-overlay.label': 'Overlay', 'cat.midas-overlay.sub': 'Copertura cuspidea in ceramica',
    'cat.midas-facette.label': 'Faccetta singola', 'cat.midas-facette.sub': 'Estetica anteriore',
    'cat.pro2-night-guard.label': 'Bite notturno (Night Guard)', 'cat.pro2-night-guard.sub': 'Bruxismo / ATM',
    'cat.pro2-couronne-unitaire.label': 'Corona singola', 'cat.pro2-couronne-unitaire.sub': 'Restauro in resina (HBLD490)',
    'cat.pro2-couronne-implant.label': 'Corona su impianto', 'cat.pro2-couronne-implant.sub': 'Carico immediato / guarigione',
    'cat.pro2-guide-chirurgical.label': 'Guida chirurgica', 'cat.pro2-guide-chirurgical.sub': 'Posizionamento guidato degli impianti',
    'cat.pro2-amovible-complet.label': 'Protesi totale rimovibile', 'cat.pro2-amovible-complet.sub': 'Base + denti — per arcata',
    'cat.pro2-amovible-flexible.label': 'Protesi flessibile', 'cat.pro2-amovible-flexible.sub': 'Base flessibile — parziale o totale',
    'cat.pro2-allonx.label': 'All-on-X', 'cat.pro2-allonx.sub': 'Protesi fissa ibrida — per arcata',
    'cat.pro2-modeles.label': 'Modelli', 'cat.pro2-modeles.sub': 'Studio, protesica, ortodonzia',
    'cat.pro2-retainer.label': 'Contenitore (Retainer)', 'cat.pro2-retainer.sub': 'Fine del trattamento ortodontico',
    'cat.pro2-inlay-onlay.label': 'Inlay / Onlay', 'cat.pro2-inlay-onlay.sub': 'Restauro indiretto in resina',
    'cat.pro2-facette.label': 'Faccetta singola — mock-up', 'cat.pro2-facette.sub': 'Pre-visualizzazione estetica in resina',
    'table.title': 'Le sue indicazioni', 'table.sub': 'Fare clic su qualsiasi cella per modificarla. Tutto si ricalcola in tempo reale.',
    'table.col.indication': 'Indicazione', 'table.col.coutLabo': 'Costo di esternalizzazione al laboratorio',
    'table.col.honoraire': 'Onorari del paziente', 'table.col.volume': 'Casi / mese',
    'table.col.materiau': 'Costo dei materiali', 'table.col.design': 'Costo design', 'table.col.economie': 'Risparmio / mese',
    'table.design.self': 'Self Design', 'table.design.sr': 'SR', 'table.design.labo': 'Il mio lab', 'table.design.free': 'Gratuito',
    'table.design.other': 'Self Design / Il mio lab', 'table.design.ia': 'IA',
    'table.empty': 'Nessuna indicazione per questa configurazione.',
    'table.mat': 'materiale', 'table.mat.active': 'materiale attivo', 'table.mat.hint': 'inserire valore',
    'table.toggle.off': 'Disattiva riga', 'table.toggle.on': 'Attiva riga',
    'table.reset': 'Ripristina i valori predefiniti',
    'table.design.label': 'Costi di design per caso', 'table.design.sub': 'Applicati globalmente a tutte le indicazioni.',
    'table.design.internal': 'disattivato · progetta internamente', 'table.design.percase': '/ caso',
    'dash.eco.label': 'Risparmi annuali', 'dash.eco.sub': 'vs esternalizzazione al laboratorio',
    'dash.eco.helper': 'Ovvero {0} al mese risparmiati sul costo protesico.',
    'dash.ben.label': 'Profitto netto — anno 1', 'dash.ben.sub': 'Risparmi anno 1 − prezzo ecosistema ({0})',
    'dash.ben.helperPos': 'Recupera l\'investimento in meno di 12 mesi.',
    'dash.ben.helperNeg': 'Risparmi anno 1 inferiori al prezzo dell\'attrezzatura — vedere il periodo di ROI.',
    'dash.roi.label': 'Mesi al ROI', 'dash.roi.nd': 'N/D',
    'dash.roi.sub12': 'Ammortamento completo in meno di 1 anno',
    'dash.roi.sub12+': 'Ammortamento in {0} anni',
    'dash.roi.subNone': 'Volume insufficiente per il break-even',
    'dash.roi.helper': '{0}/mese di risparmi × {1} = copertura del {2}.',
    'dash.roi.helperNone': 'Aumentare il volume o aggiungere altre indicazioni per attivare il calcolo.',
    'dash.bar.title': 'Costo annuale — laboratorio vs interno', 'dash.bar.sub': 'Somma di tutte le indicazioni attive.',
    'dash.bar.labo': 'Esternalizzazione laboratorio', 'dash.bar.interne': 'Produzione interna',
    'dash.bar.annual': 'Annuale', 'dash.bar.laboShort': 'Laboratorio', 'dash.bar.interneShort': 'Interno',
    'dash.amort.title': 'Curva di ammortamento', 'dash.amort.sub': 'Risparmi cumulati vs prezzo dell\'attrezzatura.',
    'dash.amort.seuil': 'Prezzo attrezzatura', 'dash.amort.cumul': 'Risparmi cumulati',
    'dash.amort.mois': 'Mese {0}', 'dash.amort.roi': 'ROI {0}m', 'dash.amort.msuffix': 'm',
    'dash.amort.ok': 'Punto di pareggio raggiunto a {0} mesi — oltre, è profitto netto.',
    'dash.amort.nok': 'Nessun punto di pareggio nell\'orizzonte di 36 mesi con i parametri attuali.',
    'mod.badge': 'Modulo opzionale',
    'mod.temps.title': 'Tempo poltrona liberato',
    'mod.temps.desc': 'Corona in 1 seduta (Midas) → fine della 2ª visita, del provvisorio e dell\'attesa del laboratorio. Attivare questo livello per valorizzare il tempo guadagnato come potenziale aggiuntivo.',
    'mod.temps.valeur': 'Valore orario della poltrona', 'mod.temps.valeur.hint': 'Margine orario medio del suo studio',
    'mod.temps.cas': 'Casi provvisori evitati / mese', 'mod.temps.cas.hint': 'Costo + tempo del provvisorio eliminato',
    'mod.temps.eco': 'Risparmio per provvisorio', 'mod.temps.eco.hint': 'Materiale + tempo dell\'assistente',
    'mod.temps.detail': 'Dettaglio per indicazione', 'mod.temps.heures': '{0} h/anno liberate',
    'mod.temps.potentiel': 'Potenziale aggiuntivo',
    'mod.temps.potentiel.sub': 'Tempo poltrona + provvisori evitati. Non incluso nel ROI principale.',
    'mod.temps.paran': 'all\'anno',
    'mod.temps.creneaux': 'slot(s) liberat(o/i) / mese',
    'mod.temps.creneaux.sub': 'calcolato dai suoi {0} casi Midas / mese',
    'mod.temps.nomidas': 'Nessun caso Midas attivo — attivare indicazioni Midas nella tabella per stimare il potenziale.',
    'mod.temps.tarif': 'Tariffa dell\'atto di sostituzione',
    'mod.temps.tarif.hint': 'Fatturato medio per nuovo paziente Midas',
    'mod.temps.taux': 'Tasso di conversione obiettivo',
    'mod.temps.taux.hint': 'Quota degli slot liberati convertiti in nuovi atti',
    'mod.temps.potentiel.mois': '/ mese',
    'mod.temps.prov': 'Provvisori evitati (facoltativo)',
    'mod.fin.title': 'Finanziamento (leasing / LOA)',
    'mod.fin.desc': 'Confronti il suo <strong>flusso mensile</strong> piuttosto che il prezzo netto: se i risparmi coprono la rata mensile, l\'attrezzatura si autofinanzia.',
    'mod.fin.duree': 'Durata del finanziamento', 'mod.fin.duree.hint': 'Da 48 a 84 mesi in generale',
    'mod.fin.taux': 'Tasso d\'interesse annuo', 'mod.fin.taux.hint': '(facoltativo) affina il calcolo della rata con la formula PMT',
    'mod.fin.auto': 'Rata mensile (auto)', 'mod.fin.auto.hint': 'Calcolata: prezzo / durata, o PMT se si indica il tasso',
    'mod.fin.loyer': 'Oppure: rata contrattuale', 'mod.fin.loyer.hint': 'Inserire l\'importo esatto dell\'offerta di leasing',
    'mod.fin.cout.label': 'Costo totale del credito',
    'mod.fin.cout.interets': 'di cui {0} di interessi',
    'mod.fin.cashflow': 'Flusso di cassa netto mensile',
    'mod.fin.pos': '<strong>L\'attrezzatura si autofinanzia</strong>: i suoi risparmi coprono la rata mensile dal primo mese — con {0} di cassa netta al mese.',
    'mod.fin.neg': 'La rata supera i suoi risparmi di {0} al mese. Aumentare i volumi o allungare la durata del finanziamento per andare in positivo.',
    'mod.fin.mini.eco': 'Risparmi / mese', 'mod.fin.mini.loyer': 'Rata / mese', 'mod.fin.mini.net': 'Netto / mese',
    'mod.cam.title': 'Telecamera intraorale',
    'mod.cam.desc': 'Includa il costo di finanziamento della telecamera intraorale per un ROI di digitalizzazione completo.',
    'mod.cam.prix': 'Prezzo della telecamera', 'mod.cam.prix.hint': 'Es. iTero, Trios, Dexis… — confermare con il rivenditore',
    'mod.cam.duree': 'Durata del finanziamento', 'mod.cam.duree.hint': 'Da 48 a 84 mesi in generale',
    'mod.cam.auto': 'Rata mensile (auto)', 'mod.cam.auto.hint': 'Calcolata: prezzo / durata',
    'mod.cam.loyer': 'Rata mensile', 'mod.cam.loyer.hint': 'Importo esatto che paga ogni mese',
    'mod.cam.impact': 'Impatto sul ROI dell\'attrezzatura',
    'mod.cam.mini.mens': 'Rata telecamera', 'mod.cam.mini.eco': 'Risparmi netti/mese', 'mod.cam.mini.roi': 'ROI rettificato',
    'mod.cam.impact.delta': 'Allunga il ROI di +{0} mesi (senza telecamera: {1} mesi → con: {2} mesi)',
    'mod.cam.impact.neg': 'La rata telecamera supera i risparmi di {0} — il ROI non è più raggiungibile a questo volume.',
    'synth.title': 'Il suo riepilogo ROI',
    'synth.sub': 'Pronta da condividere o copiare.',
    'synth.roi.hero': 'ROI STIMATO',
    'synth.roi.sub': 'grazie a {0}/anno di risparmio sull\'esternalizzazione',
    'synth.peryear': '/ anno',
    'synth.year1': 'anno 1',
    'synth.permonth': '/ mese',
    'synth.instead': 'invece di {0} mesi',
    'synth.temps.pot': 'Potenziale aggiuntivo: {0}/mese',
    'synth.lines': '{0} righe', 'synth.close': 'Chiudi', 'synth.copy': 'Copia riepilogo', 'synth.copied': 'Copiato',
    'synth.pdf': 'Scarica in PDF',
    'labo.pdf': 'Scarica in PDF',
    'synth.gen.title': 'RIEPILOGO ROI — SIMUPRINT', 'synth.gen.date': 'Generato il {0}',
    'synth.gen.equip': 'Attrezzatura', 'synth.gen.prix': 'Prezzo ecosistema',
    'synth.gen.midasMat': 'Materiale Midas', 'synth.gen.design': 'Modalità design', 'synth.gen.noFees': 'nessun costo',
    'synth.gen.hypo': 'IPOTESI PER INDICAZIONE (righe attive)',
    'synth.gen.st': 'Esternalizzazione', 'synth.gen.hon': 'Onorari', 'synth.gen.cas': 'Casi/mese',
    'synth.gen.mat': 'Materiali', 'synth.gen.design2': 'Design', 'synth.gen.eco': 'Risparmio/mese',
    'synth.gen.result': 'RISULTATO — ROI PRINCIPALE',
    'synth.gen.ecoMois': 'Risparmi mensili', 'synth.gen.ecoAn': 'Risparmi annuali',
    'synth.gen.ben': 'Profitto netto anno 1', 'synth.gen.roiMois': 'Mesi al ROI',
    'synth.gen.roiOk': '{0} mesi', 'synth.gen.roiKo': 'volume insufficiente',
    'synth.gen.temps.title': 'LIVELLO: Tempo poltrona liberato (NON incluso nel ROI principale)',
    'synth.gen.temps.valeur': 'Valore orario della poltrona', 'synth.gen.temps.eco': 'Risparmio provvisori',
    'synth.gen.temps.creneaux': 'Casi Midas / mese',
    'synth.gen.fin.title': 'LIVELLO: Finanziamento leasing / LOA',
    'synth.gen.fin.duree': 'Durata', 'synth.gen.fin.mois': 'mesi',
    'synth.gen.fin.taux': 'Tasso annuo', 'synth.gen.fin.interets': 'Interessi totali',
    'synth.gen.fin.mensualite': 'Rata mensile', 'synth.gen.fin.net': 'Flusso di cassa netto mensile',
    'synth.gen.fin.auto': '→ L\'attrezzatura si autofinanzia dal 1° mese.',
    'synth.gen.fin.neg': '→ Rata superiore ai risparmi: regolare il volume o la durata.',
    'synth.gen.cam.title': 'LIVELLO: Telecamera intraorale',
    'synth.gen.cam.prix': 'Prezzo telecamera', 'synth.gen.cam.mens': 'Rata telecamera',
    'synth.gen.cam.eco': 'Risparmi netti/mese', 'synth.gen.cam.roi': 'ROI rettificato',
    'synth.gen.disclaimer': 'Stima indicativa — non costituisce consulenza fiscale, contabile o normativa.',
    /* --- mobile wizard --- */
    'mob.step.machine': 'Attrezzatura', 'mob.step.material': 'Materiale', 'mob.step.design': 'Design',
    'mob.step.volumes': 'Volumi', 'mob.step.results': 'Risultati',
    'mob.step.of': 'Fase {0} / {1}',
    'mob.next': 'Avanti', 'mob.back': 'Indietro', 'mob.see.results': 'Vedi i miei risultati',
    'mob.share': 'Condividi', 'mob.copy': 'Copia', 'mob.copied': 'Copiato!',
    'mob.edit': 'Modifica i miei parametri',
    'mob.share.title': 'Il mio ROI SprintRay — Simuprint',
    'mob.share.intro': 'Il suo ritorno sull\'investimento per il suo futuro SprintRay:',
    'mob.share.cam': 'Fotocamera intraorale inclusa nel calcolo: con {0}/mese di rata, il ROI passa a {1} mesi invece di {2}',
    'mob.saving': 'Risparmio/mese', 'mob.expand': 'Dettagli', 'mob.collapse': 'Riduci',
    'mob.inactive': 'Inattiva',
    'mob.labo.step.solution': 'Soluzione & leasing', 'mob.labo.step.productions': 'Produzioni',
    'mob.labo.share.title': 'Il mio flusso di cassa lab — Simuprint Lab',
    'mob.labo.share.intro': 'Flusso di cassa netto mensile con SprintRay Pro 2:',
    /* --- labo --- */
    'wordmark.sub.lab': 'Simulatore di redditività lab',
    'labo.hero.badge': 'Supporto decisionale per il laboratorio odontotecnico',
    'labo.hero.h1a': 'Il suo laboratorio diventa',
    'labo.hero.h1em': 'redditizio',
    'labo.hero.h1b': 'con una SprintRay Pro 2?',
    'labo.hero.p': 'Inserisca i volumi e i prezzi di fatturazione. Ottenga il suo <strong class="text-ink-800">flusso di cassa netto mensile</strong> dopo la rata di leasing.',
    'labo.method.title': 'Metodo di calcolo',
    'labo.method.line1': 'margine lordo = prezzo fatturato − costo materiali',
    'labo.method.line2': 'flusso di cassa = margine lordo − rata leasing',
    'labo.machine.title': 'Soluzione SprintRay Pro 2',
    'labo.machine.sub': 'Pro 2 + ProWash S + NanoCure — resine multi-indicazione',
    'labo.machine.prix.label': 'Prezzo soluzione (attrezzatura, formazione, avviamento)',
    'labo.machine.prix.note': 'Segnaposto — confermare con il proprio agente SprintRay.',
    'labo.leasing.title': 'Finanziamento a rate mensili',
    'labo.leasing.sub': "L'attrezzatura genera più di quanto costa ogni mese?",
    'labo.leasing.duree': 'Durata (mesi)',
    'labo.leasing.taux': 'Tasso annuo',
    'labo.leasing.auto': 'Rata calcolata',
    'labo.leasing.manual': 'Rata contrattuale',
    'labo.table.title': 'Le sue produzioni',
    'labo.table.sub': 'Regoli i volumi e i prezzi — il flusso di cassa si aggiorna in tempo reale.',
    'labo.table.col.facture': 'Prezzo fatturato / caso',
    'labo.table.col.materiau': 'Costo materiali',
    'labo.table.col.volume': 'Casi / mese',
    'labo.table.col.marge': 'Margine / mese',
    'labo.table.toggle.off': 'Disattiva', 'labo.table.toggle.on': 'Attiva',
    'labo.dash.cf.label': 'Flusso di cassa netto / mese',
    'labo.dash.cf.sub': 'Dopo la rata di leasing',
    'labo.dash.cf.helper.pos': "L'attrezzatura genera flusso di cassa positivo dal 1° mese.",
    'labo.dash.cf.helper.neg': 'Flusso di cassa negativo — aumentare i volumi o modificare la rata.',
    'labo.dash.marge.label': 'Margine lordo / mese',
    'labo.dash.marge.sub': 'Prima della rata di leasing',
    'labo.dash.revenu.label': 'Ricavi lordi / mese',
    'labo.dash.revenu.sub': 'Fatturazione totale agli studi',
    'labo.dash.cout.label': 'Costo materiali / mese',
    'labo.dash.roi.pos': 'Dal 1° mese',
    'labo.dash.roi.neg': 'Flusso di cassa negativo',
    'labo.dash.bar.title': 'Struttura mensile',
    'labo.dash.bar.sub': 'Ricavi lordi, costo materiali e margine lordo.',
    'labo.dash.bar.revenu': 'Ricavi lordi',
    'labo.dash.bar.cout': 'Costo materiali',
    'labo.dash.bar.marge': 'Margine lordo',
    'labo.dash.cf.title': 'Flusso di cassa cumulato',
    'labo.dash.cf.curve.sub': 'Cumulato mensile del flusso di cassa netto.',
    'labo.footer.copy': '© 2026 Simuprint Lab — Simulatore di redditività per laboratori odontotecnici.',
    'labo.footer.disclaimer': 'Stima indicativa — non costituisce consulenza fiscale, contabile o normativa.',
  },
  de: {
    'lang.fr': 'Français', 'lang.en': 'English', 'lang.es': 'Español', 'lang.it': 'Italiano', 'lang.de': 'Deutsch',
    'wordmark.sub': 'Praxis-ROI-Rechner',
    'header.synthese': 'Meine Zusammenfassung erstellen',
    'hero.badge': 'Entscheidungshilfe für den Zahnarzt',
    'hero.h1a': 'Wie viel spart Ihre Praxis',
    'hero.h1em': 'wirklich',
    'hero.h1b': 'durch die Internalisierung der Zahnprothetik?',
    'hero.p': 'Geben Sie Ihre realen Volumina und Laborkosten ein. Sie erhalten <strong class="text-ink-800">Ihren</strong> ROI auf <strong class="text-ink-800">Ihr</strong> SprintRay-System — jährliche Einsparungen, Nettogewinn im 1. Jahr und Amortisationsdauer.',
    'hero.partner.title': 'Ein Wort zu Ihrem Partnerlabor',
    'hero.partner.body': 'Simuprint richtet sich an Praxen, die intern produzieren möchten (integriertes Labor oder chairside). Es ersetzt nicht Ihr lokales Dentallabor — Ihre Zahntechniker sind unersetzliche Experten für komplexe Fälle.',
    'method.title': 'Berechnungsmethode',
    'method.line1': 'Einsparung = Auslagerung − (Materialien + Design)',
    'method.line2': 'ROI = Gerätepreis ÷ Einsparung / Monat',
    'sel1.title': 'Ihre SprintRay-Ausrüstung',
    'sel1.sub': 'Bestimmt die machbaren Indikationen und den Referenzpreis.',
    'sel1.prix.label': 'Ökosystempreis (Gerät, Schulung, Inbetriebnahme)',
    'sel1.prix.restore': 'Standardwert wiederherstellen',
    'sel1.prix.note': 'Platzhalter — bitte mit Ihrem SprintRay-Vertrieb bestätigen.',
    'sel2.title': 'Midas-Material',
    'sel2.sub': 'Wählen Sie die verwendete Presskeramik — gilt für alle Ihre Midas-Restaurationen.',
    'sel2.cout': 'Kosten / Fall',
    'sel2.note': 'Midas-Preise sind nicht in den Referenzdaten enthalten — geben Sie den von Ihrem Vertriebsmitarbeiter mitgeteilten Wert ein.',
    'sel3.title': 'Designmodus',
    'sel3.sub': 'Gestalten Sie die Teile intern oder vergeben Sie das Design extern?',
    'sel3.frais': 'Gebühren / Fall',
    'opts.title': 'Optionale Ebenen',
    'opts.sub': 'Aktivieren Sie diese, wenn Sie sie für Ihre Praxis als realistisch erachten — nicht im Haupt-ROI enthalten.',
    'footer.disclaimer.title': 'Haftungsausschluss',
    'footer.disclaimer.body': 'Indikative Schätzung zu kommerziellen Zwecken. Die Kodierung von Leistungen liegt in der Verantwortung des Behandlers. Stellt keine steuerliche, buchhalterische oder regulatorische Beratung dar. Standardwerte sind Richtwerte, die mit Ihrer Praxisbuchhaltung und Ihrem SprintRay-Vertrieb zu bestätigen sind.',
    'footer.copy': '© 2026 Simuprint — ROI-Rechner für Zahnarztpraxen.',
    'machines.midas.label': 'Midas + NanoCure',
    'machines.midas.sub': 'Digital Press — Presskeramiken',
    'machines.midas.blurb': 'Midas-Drucker + NanoCure-Polymerisationseinheit inklusive. Grundlistenpreis, ohne laufende Aktionen.',
    'machines.pro2.label': 'Pro 2 + ProWash S + NanoCure',
    'machines.pro2.sub': 'Digital Print — Multizweck-Harze',
    'machines.pro2.blurb': 'Pro 2-Drucker + ProWash S (Reinigung) + NanoCure (Polymerisation) inklusive. Grundlistenpreis, ohne laufende Aktionen.',
    'machines.both.label': 'Midas + Pro 2 (vollständiges Ökosystem)',
    'machines.both.sub': 'Praxis mit beiden Geräten ausgestattet',
    'machines.both.blurb': 'Midas + NanoCure + Pro 2 + ProWash S + NanoCure. Vollständige Abdeckung Keramik + Harz.',
    'mat.ceramic-crown.sub': 'Lithiumdisilikat', 'mat.ceramic-crown.blurb': 'Ästhetische Keramikrestaurationen.',
    'mat.crown-ht.sub': 'Hohe Transluzenz', 'mat.crown-ht.blurb': 'Hohe Transluzenz — Frontzähne.',
    'mat.onx.sub': 'Implantat-Hybrid', 'mat.onx.blurb': 'Implantatgetragene Restaurationen.',
    'design.maison.label': 'Ich designe intern', 'design.maison.sub': 'Kein externes Design', 'design.maison.hint': 'Behandlerzeit für die Modellierung.',
    'design.sprintray.label': 'Ich vergebe an SprintRay', 'design.sprintray.sub': 'SprintRay Cloud Design', 'design.sprintray.hint': 'Rundum-sorglos-Designservice — pro Fall abgerechnet.',
    'design.designer.label': 'Ich vergebe an meinen Designer', 'design.designer.sub': 'Externer Designer / Partnerlabor', 'design.designer.hint': 'Honorare Ihres Designers.',
    'cat.midas-couronne-unitaire.label': 'Einzelkrone', 'cat.midas-couronne-unitaire.sub': 'Definitive Presskeramik',
    'cat.midas-couronne-implant.label': 'Implantatgetragene Krone', 'cat.midas-couronne-implant.sub': 'Verschraubt / zementiert — Keramik',
    'cat.midas-inlay-onlay.label': 'Inlay / Onlay', 'cat.midas-inlay-onlay.sub': 'Indirekte Keramikversorgung',
    'cat.midas-overlay.label': 'Overlay', 'cat.midas-overlay.sub': 'Keramische Höckerversorgung',
    'cat.midas-facette.label': 'Einzelveneer', 'cat.midas-facette.sub': 'Frontästhetik',
    'cat.pro2-night-guard.label': 'Nachtschiene (Night Guard)', 'cat.pro2-night-guard.sub': 'Bruxismus / CMD',
    'cat.pro2-couronne-unitaire.label': 'Einzelkrone', 'cat.pro2-couronne-unitaire.sub': 'Harzrestauration (HBLD490)',
    'cat.pro2-couronne-implant.label': 'Implantatgetragene Krone', 'cat.pro2-couronne-implant.sub': 'Sofortbelastung / Einheilung',
    'cat.pro2-guide-chirurgical.label': 'Chirurgische Schablone', 'cat.pro2-guide-chirurgical.sub': 'Geführte Implantatinsertion',
    'cat.pro2-amovible-complet.label': 'Totale Prothese', 'cat.pro2-amovible-complet.sub': 'Basis + Zähne — pro Kiefer',
    'cat.pro2-amovible-flexible.label': 'Flexible Prothese', 'cat.pro2-amovible-flexible.sub': 'Flexible Basis — partiell oder total',
    'cat.pro2-allonx.label': 'All-on-X', 'cat.pro2-allonx.sub': 'Hybride Festkonstruktion — pro Kiefer',
    'cat.pro2-modeles.label': 'Modelle', 'cat.pro2-modeles.sub': 'Diagnostik, Prothetik, Kieferorthopädie',
    'cat.pro2-retainer.label': 'Retainer', 'cat.pro2-retainer.sub': 'Abschluss der kieferorthopädischen Behandlung',
    'cat.pro2-inlay-onlay.label': 'Inlay / Onlay', 'cat.pro2-inlay-onlay.sub': 'Indirekte Harzversorgung',
    'cat.pro2-facette.label': 'Einzelveneer — Mock-up', 'cat.pro2-facette.sub': 'Ästhetische Vorvisualisierung in Harz',
    'table.title': 'Ihre Indikationen', 'table.sub': 'Klicken Sie auf eine beliebige Zelle, um sie zu bearbeiten. Alles wird in Echtzeit neu berechnet.',
    'table.col.indication': 'Indikation', 'table.col.coutLabo': 'Laborkosten',
    'table.col.honoraire': 'Patientenhonorar', 'table.col.volume': 'Fälle / Monat',
    'table.col.materiau': 'Materialkosten', 'table.col.design': 'Designkosten', 'table.col.economie': 'Ersparnis / Monat',
    'table.design.sr': 'SR', 'table.design.labo': 'Mein Labor', 'table.design.free': 'Kostenlos',
    'table.design.other': 'Self Design / Mein Labor', 'table.design.ia': 'KI',
    'table.empty': 'Keine Indikation für diese Konfiguration.',
    'table.mat': 'Material', 'table.mat.active': 'aktives Material', 'table.mat.hint': 'Wert eingeben',
    'table.toggle.off': 'Zeile deaktivieren', 'table.toggle.on': 'Zeile aktivieren',
    'table.reset': 'Auf Standardwerte zurücksetzen',
    'table.design.label': 'Designkosten pro Fall', 'table.design.sub': 'Global auf alle Indikationen angewendet.',
    'table.design.internal': 'ausgegraut · Sie gestalten intern', 'table.design.percase': '/ Fall',
    'dash.eco.label': 'Jährliche Einsparungen', 'dash.eco.sub': 'vs. Laborvergabe',
    'dash.eco.helper': 'Das sind {0} pro Monat, die Sie bei Ihren Prothesenkosten einsparen.',
    'dash.ben.label': 'Nettogewinn — Jahr 1', 'dash.ben.sub': 'Einsparungen Jahr 1 − Ökosystempreis ({0})',
    'dash.ben.helperPos': 'Sie amortisieren die Investition in weniger als 12 Monaten.',
    'dash.ben.helperNeg': 'Einsparungen Jahr 1 unter dem Gerätepreis — siehe ROI-Zeitplan.',
    'dash.roi.label': 'Monate bis zum ROI', 'dash.roi.nd': 'N/V',
    'dash.roi.sub12': 'Vollständige Amortisation in unter 1 Jahr',
    'dash.roi.sub12+': 'Amortisation über {0} Jahre',
    'dash.roi.subNone': 'Volumen zu gering für Rentabilität',
    'dash.roi.helper': '{0}/Monat Einsparungen × {1} = Deckung des {2}.',
    'dash.roi.helperNone': 'Erhöhen Sie das Volumen oder fügen Sie weitere Indikationen hinzu, um die Berechnung zu aktivieren.',
    'dash.bar.title': 'Jahreskosten — Labor vs. intern', 'dash.bar.sub': 'Summe aller aktiven Indikationen.',
    'dash.bar.labo': 'Laborvergabe', 'dash.bar.interne': 'Interne Produktion',
    'dash.bar.annual': 'Jährlich', 'dash.bar.laboShort': 'Labor', 'dash.bar.interneShort': 'Intern',
    'dash.amort.title': 'Amortisationskurve', 'dash.amort.sub': 'Kumulierte Einsparungen vs. Gerätepreis.',
    'dash.amort.seuil': 'Gerätepreis', 'dash.amort.cumul': 'Kumulierte Einsparungen',
    'dash.amort.mois': 'Monat {0}', 'dash.amort.roi': 'ROI {0}M', 'dash.amort.msuffix': 'M',
    'dash.amort.ok': 'Break-even nach {0} Monaten erreicht — danach reiner Nettogewinn.',
    'dash.amort.nok': 'Kein Break-even im 36-Monats-Horizont mit den aktuellen Parametern.',
    'mod.badge': 'Optionales Modul',
    'mod.temps.title': 'Freigewordene Behandlungszeit',
    'mod.temps.desc': 'Krone in 1 Termin (Midas) → Ende des 2. Besuchs, des Provisoriums und der Laborwartezeit. Aktivieren Sie diese Ebene, um die gewonnene Zeit als Zusatzpotenzial zu bewerten.',
    'mod.temps.valeur': 'Stundenwert am Stuhl', 'mod.temps.valeur.hint': 'Durchschnittliche Stundenmarge Ihrer Praxis',
    'mod.temps.cas': 'Vermiedene Provisorien / Monat', 'mod.temps.cas.hint': 'Kosten + Zeit des eingesparten Provisoriums',
    'mod.temps.eco': 'Ersparnis pro Provisorium', 'mod.temps.eco.hint': 'Material + Assistenzzeit',
    'mod.temps.detail': 'Detail pro Indikation', 'mod.temps.heures': '{0} h/Jahr freigesetzt',
    'mod.temps.potentiel': 'Zusätzliches Potenzial',
    'mod.temps.potentiel.sub': 'Behandlungszeit + vermiedene Provisorien. Nicht im Haupt-ROI enthalten.',
    'mod.temps.paran': 'pro Jahr',
    'mod.temps.creneaux': 'freigewordene(r) Termin(e) / Monat',
    'mod.temps.creneaux.sub': 'berechnet aus Ihren {0} Midas-Fällen / Monat',
    'mod.temps.nomidas': 'Keine aktiven Midas-Fälle — aktivieren Sie Midas-Indikationen in der Tabelle, um das Potenzial zu schätzen.',
    'mod.temps.tarif': 'Honorar für den Ersatzakt',
    'mod.temps.tarif.hint': 'Durchschnittlicher Umsatz pro neuem Midas-Patient',
    'mod.temps.taux': 'Angestrebte Konversionsrate',
    'mod.temps.taux.hint': 'Anteil der freigewordenen Termine, die in neue Akte umgewandelt werden',
    'mod.temps.potentiel.mois': '/ Monat',
    'mod.temps.prov': 'Vermiedene Provisorien (optional)',
    'mod.fin.title': 'Finanzierung (Leasing / LOA)',
    'mod.fin.desc': 'Vergleichen Sie Ihren <strong>monatlichen Cashflow</strong> statt des Bruttopreises: Wenn die Einsparungen die monatliche Rate decken, finanziert sich das Gerät selbst.',
    'mod.fin.duree': 'Finanzierungsdauer', 'mod.fin.duree.hint': 'In der Regel 48 bis 84 Monate',
    'mod.fin.taux': 'Jährlicher Zinssatz', 'mod.fin.taux.hint': '(optional) verfeinert die Monatsratenberechnung per PMT-Formel',
    'mod.fin.auto': 'Monatsrate (auto)', 'mod.fin.auto.hint': 'Berechnet: Preis / Laufzeit, oder PMT bei eingegebenem Zinssatz',
    'mod.fin.loyer': 'Oder: vertragliche Monatsrate', 'mod.fin.loyer.hint': 'Geben Sie den genauen Betrag aus Ihrem Leasingangebot ein',
    'mod.fin.cout.label': 'Gesamtkosten des Kredits',
    'mod.fin.cout.interets': 'davon {0} Zinsen',
    'mod.fin.cashflow': 'Netto-Monatscashflow',
    'mod.fin.pos': '<strong>Das Gerät finanziert sich selbst</strong>: Ihre Einsparungen decken die Monatsrate ab dem ersten Monat — mit {0} netto monatlich übrig.',
    'mod.fin.neg': 'Die Rate übersteigt Ihre Einsparungen um {0}/Monat. Erhöhen Sie das Volumen oder verlängern Sie die Finanzierungsdauer, um ins Plus zu kommen.',
    'mod.fin.mini.eco': 'Einsparungen / Monat', 'mod.fin.mini.loyer': 'Rate / Monat', 'mod.fin.mini.net': 'Netto / Monat',
    'mod.cam.title': 'Intraorale Kamera',
    'mod.cam.desc': 'Berechnen Sie den ROI Ihrer Digitalisierung vollständig — SprintRay-System + Kamera.',
    'mod.cam.prix': 'Kamerapreis', 'mod.cam.prix.hint': 'Z.B. iTero, Trios, Dexis… — beim Händler bestätigen',
    'mod.cam.duree': 'Finanzierungsdauer', 'mod.cam.duree.hint': 'In der Regel 48 bis 84 Monate',
    'mod.cam.auto': 'Monatsrate (auto)', 'mod.cam.auto.hint': 'Berechnet: Preis / Laufzeit',
    'mod.cam.loyer': 'Monatliche Rate', 'mod.cam.loyer.hint': 'Genauer Betrag, den Sie monatlich zahlen',
    'mod.cam.impact': 'Auswirkung auf den Geräte-ROI',
    'mod.cam.mini.mens': 'Kamera-Rate', 'mod.cam.mini.eco': 'Netto-Einsparungen/Mon.', 'mod.cam.mini.roi': 'Angepasster ROI',
    'mod.cam.impact.delta': 'Verlängert den ROI um +{0} Monate (ohne Kamera: {1} Monate → mit: {2} Monate)',
    'mod.cam.impact.neg': 'Die Kamera-Rate übersteigt die Einsparungen um {0} — der ROI ist bei diesem Volumen nicht erreichbar.',
    'synth.title': 'Ihre ROI-Zusammenfassung',
    'synth.sub': 'Bereit zum Teilen oder Kopieren.',
    'synth.roi.hero': 'GESCH. ROI',
    'synth.roi.sub': 'dank {0}/Jahr Einsparungen bei der Auslagerung',
    'synth.peryear': '/ Jahr',
    'synth.year1': 'Jahr 1',
    'synth.permonth': '/ Monat',
    'synth.instead': 'statt {0} Monate',
    'synth.temps.pot': 'Zusätzliches Potenzial: {0}/Monat',
    'synth.lines': '{0} Zeilen', 'synth.close': 'Schließen', 'synth.copy': 'Zusammenfassung kopieren', 'synth.copied': 'Kopiert',
    'synth.pdf': 'Als PDF herunterladen',
    'labo.pdf': 'Als PDF herunterladen',
    'synth.gen.title': 'ROI-ZUSAMMENFASSUNG — SIMUPRINT', 'synth.gen.date': 'Erstellt am {0}',
    'synth.gen.equip': 'Gerät', 'synth.gen.prix': 'Ökosystempreis',
    'synth.gen.midasMat': 'Midas-Material', 'synth.gen.design': 'Designmodus', 'synth.gen.noFees': 'keine Kosten',
    'synth.gen.hypo': 'ANNAHMEN PRO INDIKATION (aktive Zeilen)',
    'synth.gen.st': 'Ausgelagertes Labor', 'synth.gen.hon': 'Honorar', 'synth.gen.cas': 'Fälle/Mon.',
    'synth.gen.mat': 'Materialien', 'synth.gen.design2': 'Design', 'synth.gen.eco': 'Ersparnis/Mon.',
    'synth.gen.result': 'ERGEBNIS — HAUPT-ROI',
    'synth.gen.ecoMois': 'Monatliche Einsparungen', 'synth.gen.ecoAn': 'Jährliche Einsparungen',
    'synth.gen.ben': 'Nettogewinn Jahr 1', 'synth.gen.roiMois': 'Monate bis ROI',
    'synth.gen.roiOk': '{0} Monate', 'synth.gen.roiKo': 'Volumen unzureichend',
    'synth.gen.temps.title': 'EBENE: Freigewordene Behandlungszeit (NICHT im Haupt-ROI enthalten)',
    'synth.gen.temps.valeur': 'Stundenwert am Stuhl', 'synth.gen.temps.eco': 'Einsparungen Provisorien',
    'synth.gen.temps.creneaux': 'Midas-Fälle / Monat',
    'synth.gen.fin.title': 'EBENE: Leasing-/LOA-Finanzierung',
    'synth.gen.fin.duree': 'Laufzeit', 'synth.gen.fin.mois': 'Monate',
    'synth.gen.fin.taux': 'Jahreszinssatz', 'synth.gen.fin.interets': 'Zinsen gesamt',
    'synth.gen.fin.mensualite': 'Monatsrate', 'synth.gen.fin.net': 'Netto-Monatscashflow',
    'synth.gen.fin.auto': '→ Das Gerät finanziert sich ab Monat 1 selbst.',
    'synth.gen.fin.neg': '→ Rate übersteigt Einsparungen: Volumen oder Laufzeit anpassen.',
    'synth.gen.cam.title': 'EBENE: Intraorale Kamera',
    'synth.gen.cam.prix': 'Kamerapreis', 'synth.gen.cam.mens': 'Kamera-Rate',
    'synth.gen.cam.eco': 'Netto-Einsparungen/Mon.', 'synth.gen.cam.roi': 'Angepasster ROI',
    'synth.gen.disclaimer': 'Indikative Schätzung — stellt keine steuerliche, buchhalterische oder regulatorische Beratung dar.',
    /* --- mobile wizard --- */
    'mob.step.machine': 'Ausrüstung', 'mob.step.material': 'Material', 'mob.step.design': 'Design',
    'mob.step.volumes': 'Volumina', 'mob.step.results': 'Ergebnisse',
    'mob.step.of': 'Schritt {0} / {1}',
    'mob.next': 'Weiter', 'mob.back': 'Zurück', 'mob.see.results': 'Meine Ergebnisse ansehen',
    'mob.share': 'Teilen', 'mob.copy': 'Kopieren', 'mob.copied': 'Kopiert!',
    'mob.edit': 'Parameter bearbeiten',
    'mob.share.title': 'Mein SprintRay ROI — Simuprint',
    'mob.share.intro': 'Ihre Kapitalrendite für Ihren zukünftigen SprintRay:',
    'mob.share.cam': 'Intraorale Kamera im Kalkül: mit {0}/Monat Zahlung verschiebt sich Ihr ROI auf {1} Monate statt {2}',
    'mob.saving': 'Ersparnis/Monat', 'mob.expand': 'Details', 'mob.collapse': 'Einklappen',
    'mob.inactive': 'Inaktiv',
    'mob.labo.step.solution': 'Lösung & Leasing', 'mob.labo.step.productions': 'Produktionen',
    'mob.labo.share.title': 'Mein Labor-Cashflow — Simuprint Lab',
    'mob.labo.share.intro': 'Monatlicher Netto-Cashflow mit SprintRay Pro 2:',
    /* --- labo --- */
    'wordmark.sub.lab': 'Labor-Rentabilitätssimulator',
    'labo.hero.badge': 'Entscheidungshilfe für das Dentallabor',
    'labo.hero.h1a': 'Wird Ihr Labor',
    'labo.hero.h1em': 'rentabel',
    'labo.hero.h1b': 'mit einer SprintRay Pro 2?',
    'labo.hero.p': 'Geben Sie Ihre Volumina und Abrechnungspreise ein. Erhalten Sie Ihren <strong class="text-ink-800">monatlichen Netto-Cashflow</strong> nach Leasingrate.',
    'labo.method.title': 'Berechnungsmethode',
    'labo.method.line1': 'Bruttoertrag = Abrechnungspreis − Materialkosten',
    'labo.method.line2': 'Cashflow = Bruttoertrag − monatliche Leasingrate',
    'labo.machine.title': 'SprintRay Pro 2 Lösung',
    'labo.machine.sub': 'Pro 2 + ProWash S + NanoCure — Multizweck-Harze',
    'labo.machine.prix.label': 'Lösungspreis (Gerät, Schulung, Inbetriebnahme)',
    'labo.machine.prix.note': 'Platzhalter — bitte mit Ihrem SprintRay-Vertrieb bestätigen.',
    'labo.leasing.title': 'Monatliche Leasingfinanzierung',
    'labo.leasing.sub': 'Erwirtschaftet das Gerät mehr als es monatlich kostet?',
    'labo.leasing.duree': 'Laufzeit (Monate)',
    'labo.leasing.taux': 'Jahreszinssatz',
    'labo.leasing.auto': 'Berechnete Rate',
    'labo.leasing.manual': 'Vertragliche Rate',
    'labo.table.title': 'Ihre Produktionen',
    'labo.table.sub': 'Passen Sie Volumina und Preise an — der Cashflow aktualisiert sich live.',
    'labo.table.col.facture': 'Abrechnungspreis / Fall',
    'labo.table.col.materiau': 'Materialkosten',
    'labo.table.col.volume': 'Fälle / Monat',
    'labo.table.col.marge': 'Ertrag / Monat',
    'labo.table.toggle.off': 'Deaktivieren', 'labo.table.toggle.on': 'Aktivieren',
    'labo.dash.cf.label': 'Netto-Cashflow / Monat',
    'labo.dash.cf.sub': 'Nach monatlicher Leasingrate',
    'labo.dash.cf.helper.pos': 'Das Gerät generiert ab dem 1. Monat positiven Cashflow.',
    'labo.dash.cf.helper.neg': 'Negativer Cashflow — erhöhen Sie das Volumen oder passen Sie die Rate an.',
    'labo.dash.marge.label': 'Bruttoertrag / Monat',
    'labo.dash.marge.sub': 'Vor der Leasingrate',
    'labo.dash.revenu.label': 'Bruttoumsatz / Monat',
    'labo.dash.revenu.sub': 'Gesamtabrechnung an Praxen',
    'labo.dash.cout.label': 'Materialkosten / Monat',
    'labo.dash.roi.pos': 'Ab Monat 1',
    'labo.dash.roi.neg': 'Negativer Cashflow',
    'labo.dash.bar.title': 'Monatliche Struktur',
    'labo.dash.bar.sub': 'Bruttoumsatz, Materialkosten und Bruttoertrag.',
    'labo.dash.bar.revenu': 'Bruttoumsatz',
    'labo.dash.bar.cout': 'Materialkosten',
    'labo.dash.bar.marge': 'Bruttoertrag',
    'labo.dash.cf.title': 'Kumulierter Cashflow',
    'labo.dash.cf.curve.sub': 'Monatlich kumulierter Netto-Cashflow.',
    'labo.footer.copy': '© 2026 Simuprint Lab — Rentabilitätssimulator für Dentallabore.',
    'labo.footer.disclaimer': 'Indikative Schätzung — stellt keine steuerliche, buchhalterische oder regulatorische Beratung dar.',
  },
};

const CURRENCIES = [
  { code: 'EUR', symbol: '€', rate: 1.0 },
  { code: 'USD', symbol: '$', rate: 1.08 },
  { code: 'GBP', symbol: '£', rate: 0.86 },
];

const LangContext = _createContext(null);

function detectInitialLang() {
  const saved = localStorage.getItem('simuprint-lang');
  if (saved && LOCALES[saved]) return saved;
  const browser = (navigator.language || 'en').split('-')[0].toLowerCase();
  return LOCALES[browser] ? browser : 'en';
}

function LangProvider({ children }) {
  const [lang, setLangState] = _useState(detectInitialLang);
  const [currency, setCurrency] = _useState('EUR');
  const loc = LOCALES[lang];

  function setLang(code) {
    localStorage.setItem('simuprint-lang', code);
    setLangState(code);
  }

  _useEffect(() => {
    const sub = (TRANSLATIONS[lang] || TRANSLATIONS.en)['wordmark.sub'];
    document.title = `Simuprint — ${sub}`;
  }, [lang]);

  _useEffect(() => { if (lang !== 'en') setCurrency('EUR'); }, [lang]);

  const curr = CURRENCIES.find(c => c.code === currency) || CURRENCIES[0];

  function t(key, ...args) {
    let str = (TRANSLATIONS[lang] || TRANSLATIONS.fr)[key];
    if (str === undefined) str = (TRANSLATIONS.fr)[key] || key;
    args.forEach((a, i) => { str = str.replace(new RegExp(`\\{${i}\\}`, 'g'), String(a)); });
    return str;
  }

  const fmt = {
    EUR:  (v) => new Intl.NumberFormat(loc.locale, { style: 'currency', currency: curr.code, maximumFractionDigits: 0 }).format(v * curr.rate),
    EUR2: (v) => new Intl.NumberFormat(loc.locale, { style: 'currency', currency: curr.code, maximumFractionDigits: 2 }).format(v * curr.rate),
    EURc: (v) => new Intl.NumberFormat(loc.locale, { style: 'currency', currency: curr.code, maximumFractionDigits: 0, signDisplay: 'exceptZero' }).format(v * curr.rate),
    num:  (v) => new Intl.NumberFormat(loc.locale, { maximumFractionDigits: 0 }).format(v),
    dec1: (v) => new Intl.NumberFormat(loc.locale, { maximumFractionDigits: 1 }).format(v),
    date: (d) => d.toLocaleDateString(loc.locale, { day: '2-digit', month: 'long', year: 'numeric' }),
  };

  return (
    <LangContext.Provider value={{ t, lang, setLang, fmt, currency, setCurrency, currencySymbol: curr.symbol }}>
      {children}
    </LangContext.Provider>
  );
}

function useLang() {
  return _useContext(LangContext);
}

function LangPicker() {
  const { lang, setLang } = useLang();

  return (
    <div className="flex items-center rounded-lg border border-ink-200 overflow-hidden bg-white shadow-card shrink-0">
      {Object.entries(LOCALES).map(([code, loc], i) => (
        <button
          key={code}
          onClick={() => setLang(code)}
          title={TRANSLATIONS[code][`lang.${code}`]}
          aria-label={TRANSLATIONS[code][`lang.${code}`]}
          className={`flex items-center justify-center px-2 py-[7px] transition-colors seg-btn
            ${i > 0 ? 'border-l border-ink-200' : ''}
            ${code === lang ? 'bg-brand-50' : 'hover:bg-ink-50'}`}
        >
          <span
            className={`fi fi-${loc.fi}`}
            style={{ width: '20px', height: '15px', display: 'inline-block',
              opacity: code === lang ? 1 : 0.55,
              transition: 'opacity .15s ease' }}
          />
        </button>
      ))}
    </div>
  );
}

function CurrencyPicker() {
  const { lang, currency, setCurrency } = useLang();
  if (lang !== 'en') return null;

  const curr = CURRENCIES.find(c => c.code === currency) || CURRENCIES[0];

  function cycle() {
    const idx = CURRENCIES.findIndex(c => c.code === currency);
    setCurrency(CURRENCIES[(idx + 1) % CURRENCIES.length].code);
  }

  return (
    <>
      {/* Mobile: single cycle button */}
      <button
        onClick={cycle}
        title={curr.code}
        className="sm:hidden w-8 h-8 rounded-lg border border-ink-200 bg-white shadow-card text-[13px] font-medium text-brand-700 grid place-items-center seg-btn"
      >
        {curr.symbol}
      </button>
      {/* Desktop: segmented control */}
      <div className="hidden sm:flex items-center rounded-lg border border-ink-200 overflow-hidden bg-white shadow-card">
        {CURRENCIES.map((c, i) => (
          <button
            key={c.code}
            onClick={() => setCurrency(c.code)}
            title={c.code}
            className={`px-2.5 py-[7px] text-[13px] font-medium transition seg-btn
              ${i > 0 ? 'border-l border-ink-200' : ''}
              ${c.code === currency ? 'bg-brand-50 text-brand-700' : 'text-ink-500 hover:bg-ink-50'}`}
          >
            {c.symbol}
          </button>
        ))}
      </div>
    </>
  );
}

Object.assign(window, { LangContext, LangProvider, useLang, LangPicker, CurrencyPicker });
