{
  "extensionName": {
    "message": "Pedantic Picture Packer"
  },
  "extensionDescription": {
    "message": "Compressione immagini all'avanguardia con JPEGli, PNGquant e OxiPNG."
  },
  "options_general": {
    "message": "Generale",
    "description": "options.html legend"
  },
  "sendMode_ask": {
    "message": "Ricorda elementi non elaborati prima dell'invio",
    "description": "Radio label for sendMode=ask"
  },
  "sendMode_auto": {
    "message": "Esegui tutte le azioni senza conferma prima dell'invio",
    "description": "Radio label for sendMode=auto"
  },
  "sendMode_manual": {
    "message": "Gestisco tutto manualmente tramite il pulsante nella finestra di composizione",
    "description": "Radio label for sendMode=manual"
  },
  "label_minFileSize": {
    "message": "Dim. min. file (KB):",
    "description": "options.html field label"
  },
  "label_minSavingsPercent": {
    "message": "Risparmio min. (%):",
    "description": "options.html field label"
  },
  "label_replaceText": {
    "message": "Testo sostitutivo per immagini di citazione rimosse:",
    "description": "options.html field label"
  },
  "options_attachments": {
    "message": "Immagini negli allegati",
    "description": "options.html legend"
  },
  "options_inline": {
    "message": "Immagini inline",
    "description": "options.html legend"
  },
  "options_quotes": {
    "message": "Immagini nelle citazioni",
    "description": "options.html legend"
  },
  "label_compressionProfile": {
    "message": "Profilo di compressione:",
    "description": "options.html field label (appears 3x)"
  },
  "options_editProfile": {
    "message": "Modifica profilo di compressione",
    "description": "options.html legend"
  },
  "btn_delete": {
    "message": "Elimina",
    "description": "options.html button"
  },
  "label_preserveMeta": {
    "message": "Conserva metadati (EXIF, ICC, XMP)",
    "description": "options.html checkbox"
  },
  "label_crossConvert": {
    "message": "Consenti conversione incrociata (PNG ↔ JPG) se risparmia spazio",
    "description": "options.html checkbox"
  },
  "sublabel_antiAlias": {
    "message": "AntiAlias",
    "description": "options.html sub-label"
  },
  "label_antialiasing": {
    "message": "Antialiasing (fattore 1.0–2.0):",
    "description": "options.html field label"
  },
  "label_scaleToDisplay": {
    "message": "Ridimensiona immagini grandi alla dimensione di visualizzazione (non si applica agli allegati)",
    "description": "options.html checkbox"
  },
  "sublabel_resize": {
    "message": "Resize",
    "description": "options.html sub-label"
  },
  "label_resizeAlgorithm": {
    "message": "Algoritmo di ridimensionamento:",
    "description": "options.html field label"
  },
  "sublabel_jpegli": {
    "message": "JPEGli",
    "description": "options.html sub-label"
  },
  "label_jpegQuality": {
    "message": "Qualità JPEG:",
    "description": "options.html field label"
  },
  "label_chromaSubsampling": {
    "message": "Sottocampionamento crominanza:",
    "description": "options.html field label"
  },
  "sublabel_pngquant": {
    "message": "PNGquant",
    "description": "options.html sub-label"
  },
  "label_maxColors": {
    "message": "Colori max.:",
    "description": "options.html field label"
  },
  "label_minQuality": {
    "message": "Qualità min.:",
    "description": "options.html field label"
  },
  "label_maxQuality": {
    "message": "Qualità max.:",
    "description": "options.html field label"
  },
  "label_dithering": {
    "message": "Dithering:",
    "description": "options.html field label"
  },
  "label_speed": {
    "message": "Velocità (più alto = più veloce):",
    "description": "options.html field label"
  },
  "sublabel_oxipng": {
    "message": "OxiPNG",
    "description": "options.html sub-label"
  },
  "label_oxipngAlpha": {
    "message": "Ottimizzazione alfa (visivamente senza perdite)",
    "description": "options.html checkbox"
  },
  "label_optimizationLevel": {
    "message": "Livello di ottimizzazione:",
    "description": "options.html field label"
  },
  "btn_saveAs": {
    "message": "Salva con nome:",
    "description": "options.html button"
  },
  "label_name": {
    "message": "Nome:",
    "description": "options.html span"
  },
  "placeholder_templateName": {
    "message": "Nome profilo",
    "description": "options.html input placeholder"
  },
  "btn_exportProfiles": {
    "message": "Esporta profili",
    "description": "options.html button"
  },
  "btn_importProfiles": {
    "message": "Importa profili",
    "description": "options.html button"
  },
  "options_exclusions": {
    "message": "Esclusioni permanenti",
    "description": "options.html legend"
  },
  "label_excludedImages": {
    "message": "Immagini escluse:",
    "description": "options.html info text"
  },
  "btn_clearList": {
    "message": "Svuota lista",
    "description": "options.html button"
  },
  "text_saved": {
    "message": "Salvato",
    "description": "options.html saved indicator"
  },
  "btn_resetToDefault": {
    "message": "Ripristina valori predefiniti",
    "description": "options.html button"
  },
  "appName": {
    "message": "Pedantic Picture Packer",
    "description": "popup.html header"
  },
  "btn_settings": {
    "message": "Impostazioni",
    "description": "popup.html settings link"
  },
  "popup_behavior": {
    "message": "Comportamento",
    "description": "popup.html legend"
  },
  "popup_profiles": {
    "message": "Profili",
    "description": "popup.html legend"
  },
  "cat_attachment": {
    "message": "Allegato",
    "description": "Category label: attachment"
  },
  "cat_inline": {
    "message": "Inline",
    "description": "Category label: inline"
  },
  "cat_quote": {
    "message": "Citazione",
    "description": "Category label: quote"
  },
  "popup_resample": {
    "message": "Resample",
    "description": "popup.html legend"
  },
  "text_noImagesFound": {
    "message": "Nessuna immagine trovata da comprimere.",
    "description": "Empty state text"
  },
  "btn_applyAll": {
    "message": "Applica tutto",
    "description": "popup.html button"
  },
  "text_processing": {
    "message": "Elaborazione in corso...",
    "description": "Loading overlay default text"
  },
  "confirmSend_title": {
    "message": "Compressione immagini",
    "description": "confirmSend.html header"
  },
  "btn_cancel": {
    "message": "Annulla",
    "description": "confirmSend.html button"
  },
  "btn_send": {
    "message": "Invia",
    "description": "confirmSend.html button"
  },
  "btn_applyAllAndSend": {
    "message": "Applica tutto e invia",
    "description": "confirmSend.html button"
  },
  "loading_imagesLoading": {
    "message": "Caricamento immagini...",
    "description": "Loading text in popup/confirmSend init"
  },
  "col_type": {
    "message": "Tipo",
    "description": "Param table header"
  },
  "col_size": {
    "message": "Dimensione",
    "description": "Param table header"
  },
  "col_resolution": {
    "message": "Risoluzione",
    "description": "Param table header"
  },
  "col_inlineResolution": {
    "message": "Risoluzione inline",
    "description": "Param table header"
  },
  "col_savings": {
    "message": "Risparmio",
    "description": "Param table header"
  },
  "summary_compressed": {
    "message": "compresso",
    "description": "Summary: N compressed"
  },
  "summary_removed": {
    "message": "rimosso",
    "description": "Summary: N removed"
  },
  "summary_excluded": {
    "message": "escluso",
    "description": "Summary: N excluded"
  },
  "summary_saved": {
    "message": "risparmiato",
    "description": "Summary: N bytes saved"
  },
  "summary_noChanges": {
    "message": "Nessuna modifica",
    "description": "Summary fallback"
  },
  "badge_incompressible": {
    "message": "incomprimibile",
    "description": "Badge for incompressible images"
  },
  "badge_excluded": {
    "message": "escluso",
    "description": "Badge for excluded images"
  },
  "state_removed": {
    "message": "Rimosso",
    "description": "After-row label for removed images"
  },
  "state_excluded": {
    "message": "Escluso",
    "description": "After-row label for excluded images"
  },
  "btn_removeExclusion": {
    "message": "Rimuovi esclusione",
    "description": "Button to unexclude an image"
  },
  "btn_restore": {
    "message": "Ripristina",
    "description": "Button to restore an image"
  },
  "btn_undo": {
    "message": "Annulla",
    "description": "Button to undo compression"
  },
  "btn_apply": {
    "message": "Applica",
    "description": "Button to apply compression"
  },
  "btn_exclude": {
    "message": "Eccezione",
    "description": "Button to exclude an image"
  },
  "title_exclude": {
    "message": "Escludi permanentemente questa immagine dalla compressione",
    "description": "Exclude button tooltip"
  },
  "title_download": {
    "message": "Scarica immagine",
    "description": "Download button tooltip"
  },
  "label_resize": {
    "message": "Resize",
    "description": "Card control label"
  },
  "label_profile": {
    "message": "Profilo",
    "description": "Card control label"
  },
  "card_keepMeta": {
    "message": "Keep meta",
    "description": "Checkbox label on image card"
  },
  "title_keepMeta": {
    "message": "Conserva metadati (EXIF, ICC, XMP)",
    "description": "Keep-meta checkbox tooltip"
  },
  "card_shrinkToInline": {
    "message": "shrink to inline",
    "description": "Checkbox label on image card"
  },
  "title_shrinkToInline": {
    "message": "Riduci alla risoluzione inline (solo inline/citazione)",
    "description": "Shrink-to-inline checkbox tooltip"
  },
  "card_keepDimension": {
    "message": "keep dimension",
    "description": "Checkbox label on image card"
  },
  "title_keepDimension": {
    "message": "Mantieni dimensione di visualizzazione in HTML",
    "description": "Keep-dimension checkbox tooltip"
  },
  "card_forcePng": {
    "message": "Force PNG",
    "description": "Checkbox label on image card"
  },
  "title_forcePng": {
    "message": "Force image to save as PNG (JPEG→PNG, PNG stays PNG, no JPEG attempt, result applied even without size reduction)",
    "description": "Force-PNG checkbox tooltip"
  },
  "label_antiAlias": {
    "message": "AntiAlias",
    "description": "Card resize label when in AntiAlias mode"
  },
  "btn_showExcluded": {
    "message": "Mostra esclusione ($1)",
    "description": "Button to show excluded images, $1=count",
    "placeholders": {
      "count": {
        "content": "$1"
      }
    }
  },
  "loading_showingExclusions": {
    "message": "Mostrando esclusioni...",
    "description": "Loading text"
  },
  "progress_done": {
    "message": "Fatto",
    "description": "Progress complete text"
  },
  "loading_compressing": {
    "message": "Compressione di $1...",
    "description": "Loading: image being compressed, $1=name",
    "placeholders": {
      "name": {
        "content": "$1"
      }
    }
  },
  "loading_restoring": {
    "message": "Ripristino di $1...",
    "description": "Loading: image being restored, $1=name",
    "placeholders": {
      "name": {
        "content": "$1"
      }
    }
  },
  "alert_errorAt": {
    "message": "Errore su $1: $2",
    "description": "Alert: error for image, $1=name $2=error",
    "placeholders": {
      "name": {
        "content": "$1"
      },
      "error": {
        "content": "$2"
      }
    }
  },
  "text_unknown": {
    "message": "Sconosciuto",
    "description": "Unknown error fallback"
  },
  "unit_bytes": {
    "message": "B",
    "description": "Byte unit suffix"
  },
  "unit_kilobytes": {
    "message": "KB",
    "description": "Kilobyte unit suffix"
  },
  "unit_megabytes": {
    "message": "MB",
    "description": "Megabyte unit suffix"
  },
  "error_noComposeWindow": {
    "message": "Nessuna finestra di composizione aperta.",
    "description": "popup.js error"
  },
  "loading_preparingSend": {
    "message": "Preparazione invio...",
    "description": "confirmSend.js loading text"
  },
  "error_prefix": {
    "message": "Errore: $1",
    "description": "confirmSend.js error display, $1=message",
    "placeholders": {
      "message": {
        "content": "$1"
      }
    }
  },
  "alert_noProfilesToExport": {
    "message": "No custom profiles available to export.",
    "description": "options.js alert"
  },
  "alert_invalidFileFormat": {
    "message": "Invalid file format. Expected JSON with profile definitions.",
    "description": "options.js alert"
  },
  "alert_noProfilesImported": {
    "message": "No profiles imported. $1",
    "description": "options.js alert, $1=skipped info",
    "placeholders": {
      "skipped": {
        "content": "$1"
      }
    }
  },
  "alert_profilesImported": {
    "message": "Imported $1 profile(s)",
    "description": "options.js alert, $1=count",
    "placeholders": {
      "count": {
        "content": "$1"
      }
    }
  },
  "text_overwritten": {
    "message": "overwritten",
    "description": "options.js import result"
  },
  "text_skipped": {
    "message": "skipped",
    "description": "options.js import result"
  },
  "alert_importError": {
    "message": "Import error: $1",
    "description": "options.js alert, $1=error message",
    "placeholders": {
      "error": {
        "content": "$1"
      }
    }
  },
  "alert_fileReadError": {
    "message": "Could not read file.",
    "description": "options.js alert"
  },
  "resize_auto": {
    "message": "Auto (PNG: Mitchell, JPG: Lanczos)",
    "description": "Resize algorithm label"
  },
  "resize_lanczos": {
    "message": "Lanczos (highest quality, slow)",
    "description": "Resize algorithm label"
  },
  "resize_mitchell": {
    "message": "Mitchell-Netravali (soft, detail-preserving)",
    "description": "Resize algorithm label"
  },
  "resize_bicubic": {
    "message": "Bicubic (high quality, browser-native)",
    "description": "Resize algorithm label"
  },
  "resize_bilinear": {
    "message": "Bilinear (medium, browser-native)",
    "description": "Resize algorithm label"
  },
  "resize_nearest": {
    "message": "Nearest-Neighbor (pixel art, browser-native)",
    "description": "Resize algorithm label"
  },
  "error_imageNotFound": {
    "message": "Image not found",
    "description": "background.js error"
  },
  "error_fileNotAvailable": {
    "message": "File not available",
    "description": "background.js error"
  },
  "error_imageNotAccessible": {
    "message": "Image not accessible",
    "description": "background.js error"
  },
  "error_composeScriptUnreachable": {
    "message": "Compose script unreachable",
    "description": "background.js error"
  },
  "error_compressionFailedForcePng": {
    "message": "Compression failed (force png)",
    "description": "background.js error"
  },
  "error_noReduction": {
    "message": "No size reduction",
    "description": "background.js error"
  },
  "default_replaceText": {
    "message": "Image removed",
    "description": "Default replacement text for removed images"
  },
  "profile_removeImage": {
    "message": "remove Image",
    "description": "Profile name: remove image (also used as identifier — needs special handling)"
  },
  "profile_doNothing": {
    "message": "do nothing",
    "description": "Profile name: do nothing (also used as identifier — needs special handling)"
  },
  "imgname_quote": {
    "message": "quote-image",
    "description": "Internal name for quote images"
  },
  "imgname_inline": {
    "message": "inline-image",
    "description": "Internal name for inline images"
  },
  "error_notCompressible": {
    "message": "Not compressible",
    "description": "composeScript.js error"
  },
  "error_noCachedResult": {
    "message": "No compressed result in cache",
    "description": "composeScript.js error"
  },
  "error_noEncodingSuccess": {
    "message": "No encoding successful",
    "description": "worker.js error"
  },
  "error_wasmFetchFailed": {
    "message": "WASM fetch failed: $1",
    "description": "worker.js error, $1=status+url",
    "placeholders": {
      "detail": {
        "content": "$1"
      }
    }
  },
  "error_cjpegliMallocFailed": {
    "message": "cjpegli: malloc failed — out of memory?",
    "description": "worker.js error"
  },
  "error_cjpegliEncodeFailed": {
    "message": "cjpegli: encode failed — $1",
    "description": "worker.js error, $1=detail",
    "placeholders": {
      "detail": {
        "content": "$1"
      }
    }
  },
  "error_cjpegliInvalidJpeg": {
    "message": "cjpegli: invalid JPEG header",
    "description": "worker.js error"
  },
  "error_libimagequantNoResult": {
    "message": "libimagequant: no PNG result: $1",
    "description": "worker.js error, $1=keys",
    "placeholders": {
      "keys": {
        "content": "$1"
      }
    }
  },
  "error_workerError": {
    "message": "Worker error: $1",
    "description": "background.js worker error wrapper, $1=message",
    "placeholders": {
      "message": {
        "content": "$1"
      }
    }
  },
  "label_precalc": {
    "message": "Enable pre-compute",
    "description": "Images are compressed and cached in the background as soon as they are inserted into the email. Applying and sending become nearly instant, at the cost of CPU work even if the image is never used."
  },
  "label_workerPoolSize": {
    "message": "Parallel WASM instances:",
    "description": "Number of parallel workers (each with its own set of WASM modules: jpegli, libimagequant, oxipng). 1 = minimal memory usage, more = faster with multiple images."
  }
}
