Files
SnapOtter/packages/shared/src/i18n/it.ts
T

2616 lines
92 KiB
TypeScript

import type { TranslationKeys } from "./en.js";
export const it: TranslationKeys = {
common: {
upload: "Carica dal computer",
process: "Elabora",
download: "Scarica",
cancel: "Annulla",
save: "Salva",
delete: "Elimina",
settings: "Impostazioni",
search: "Cerca strumenti...",
dropFiles: "Trascina i file qui o fai clic sul pulsante di caricamento",
loading: "Caricamento...",
error: "Si e verificato un errore",
confirm: "Conferma",
close: "Chiudi",
back: "Indietro",
next: "Avanti",
clear: "Cancella",
copy: "Copia",
copied: "Copiato!",
noResults: "Nessun risultato trovato",
showLess: "Mostra meno",
showMore: "Mostra altri {count}",
experimental: "Sperimentale",
enabled: "Attivato",
disabled: "Disattivato",
rename: "Rinomina",
edit: "Modifica",
actions: "Azioni",
create: "Crea",
or: "o",
goHome: "Vai alla Home",
somethingWentWrong: "Qualcosa e andato storto",
unexpectedError: "Si e verificato un errore imprevisto.",
retry: "Riprova",
privacyPolicy: "Informativa sulla privacy",
pageNotFound: "Pagina non trovata",
pageNotFoundDescription: "La pagina che stai cercando non esiste o e stata spostata.",
},
categories: {
essentials: "Essenziali",
optimization: "Ottimizzazione",
adjustments: "Regolazioni",
watermark: "Filigrana e sovrapposizione",
utilities: "Utilita",
layout: "Layout e composizione",
format: "Formato e conversione",
video: "Video",
audio: "Audio",
documents: "PDF & Documents",
data: "Data Files",
ai: "Strumenti IA",
},
modalities: {
image: "Image",
video: "Video",
audio: "Audio",
documentsAndFiles: "Documents & Files",
},
tools: {
resize: {
name: "Ridimensiona",
description: "Ridimensiona per pixel, percentuale o preset per social media",
},
crop: {
name: "Ritaglia",
description: "Ritaglio libero, rapporti d'aspetto preimpostati, ritaglio a forma",
},
rotate: {
name: "Ruota e capovolgi",
description: "Ruota, capovolgi e raddrizza le immagini",
},
convert: { name: "Converti", description: "Converti tra formati di immagine" },
compress: {
name: "Comprimi",
description: "Riduci la dimensione del file per qualita o dimensione obiettivo",
},
"optimize-for-web": {
name: "Ottimizza per il web",
description:
"Ottimizza le immagini per il web con conversione del formato, controllo della qualita e anteprima in tempo reale",
},
"strip-metadata": {
name: "Rimuovi metadati",
description: "Rimuovi EXIF, GPS e informazioni della fotocamera",
},
"edit-metadata": {
name: "Modifica metadati",
description: "Modifica EXIF, IPTC, XMP, GPS, parole chiave e date",
},
"bulk-rename": {
name: "Rinomina in blocco",
description: "Rinomina piu file con modelli",
},
"image-to-pdf": {
name: "Immagine a PDF",
description: "Combina immagini in un documento PDF",
},
"pdf-to-image": {
name: "PDF a immagine",
description: "Converti le pagine PDF in immagini",
},
favicon: {
name: "Generatore di Favicon",
description: "Genera tutte le dimensioni di favicon e icone dell'app",
},
"adjust-colors": {
name: "Regola colori",
description:
"Luminosita, contrasto, esposizione, saturazione, temperatura, nitidezza ed effetti",
},
sharpening: {
name: "Nitidezza",
description: "Nitidezza adattiva, maschera di contrasto e passa-alto con preset",
},
"replace-color": {
name: "Sostituisci e inverti colore",
description: "Sostituisci colori specifici o inverti",
},
"color-blindness": {
name: "Simulazione daltonismo",
description:
"Simula come appaiono le immagini con diversi tipi di deficit della visione dei colori",
},
"remove-background": {
name: "Rimuovi sfondo",
description: "Rimozione dello sfondo con IA",
},
upscale: {
name: "Ingrandimento immagine",
description: "Miglioramento con super-risoluzione IA",
},
"erase-object": {
name: "Cancella oggetti",
description: "Rimuovi oggetti indesiderati con l'IA",
},
ocr: {
name: "OCR / Estrazione testo",
description: "Estrai testo dalle immagini con precisione basata sull'IA",
},
"blur-faces": {
name: "Sfocatura volti / dati sensibili",
description: "Rileva e sfoca automaticamente volti e informazioni sensibili",
},
"enhance-faces": {
name: "Miglioramento volti",
description: "Restaura e migliora i volti con l'IA",
},
"smart-crop": {
name: "Ritaglio intelligente",
description: "Ritaglio intelligente per soggetto, volto o bordi",
},
"image-enhancement": {
name: "Miglioramento immagine",
description:
"Miglioramento automatico con un clic: esposizione, contrasto, colore e nitidezza intelligenti",
},
"noise-removal": {
name: "Rimozione rumore",
description: "Rimozione del rumore e della grana con IA",
},
"red-eye-removal": {
name: "Rimozione occhi rossi",
description: "Rilevamento e correzione degli occhi rossi con IA per foto con flash",
},
"restore-photo": {
name: "Restauro fotografico",
description: "Ripara graffi, strappi e danni nelle vecchie foto con l'IA",
},
"content-aware-resize": {
name: "Ridimensionamento intelligente",
description:
"Ridimensiona le immagini in modo intelligente preservando il contenuto importante",
},
"ai-canvas-expand": {
name: "Espansione canvas IA",
description: "Espandi il canvas con riempimento generato dall'IA",
},
colorize: {
name: "Colorizzazione IA",
description: "Converti le foto in bianco e nero a colori usando modelli di deep learning IA",
},
"passport-photo": {
name: "Foto tessera",
description:
"Crea foto per passaporto, visto e documenti d'identita conformi ai requisiti ufficiali con rilevamento automatico del volto",
},
"transparency-fixer": {
name: "Correttore trasparenza PNG",
description: "Correggi PNG con falsa trasparenza in un clic",
},
"watermark-text": {
name: "Filigrana testo",
description: "Aggiungi una filigrana di testo in sovrapposizione",
},
"watermark-image": {
name: "Filigrana immagine",
description: "Sovrapponi un logo come filigrana",
},
"text-overlay": {
name: "Testo in sovrapposizione",
description: "Aggiungi testo stilizzato alle immagini",
},
compose: {
name: "Composizione immagine",
description: "Sovrapponi immagini con posizione e opacita",
},
"meme-generator": {
name: "Generatore di Meme",
description:
"Crea meme con modelli popolari o le tue immagini. Testo classico stile Impact con caratteri, colori e posizionamento personalizzabili.",
},
info: {
name: "Info immagine",
description: "Visualizza tutti i metadati e le proprieta dell'immagine",
},
compare: {
name: "Confronta immagini",
description: "Confronto affiancato di due immagini",
},
"find-duplicates": {
name: "Trova duplicati",
description: "Rileva immagini duplicate e quasi duplicate",
},
"color-palette": {
name: "Palette colori",
description: "Estrai i colori dominanti da un'immagine",
},
"qr-generate": {
name: "Generatore codici QR",
description: "Genera codici QR stilizzati con colori, motivi e loghi personalizzati",
},
"html-to-image": {
name: "HTML in Immagine",
description: "Cattura pagine web come immagini di alta qualita",
},
"barcode-read": {
name: "Lettore codici a barre",
description: "Scansiona immagini alla ricerca di codici QR, codici a barre e codici 2D",
},
collage: {
name: "Collage / Griglia",
description: "Combina immagini in bellissimi collage con oltre 25 modelli",
},
stitch: {
name: "Unisci / Combina",
description: "Unisci immagini affiancate, impilate o in griglia",
},
split: {
name: "Divisione immagine",
description:
"Dividi immagini in griglia o per dimensione in pixel con anteprima in tempo reale",
},
border: {
name: "Bordo e cornice",
description: "Aggiungi bordi, spaziatura, angoli arrotondati e ombre con preset in un clic",
},
beautify: {
name: "Abbellisci screenshot",
description:
"Aggiungi sfondi sfumati, cornici per dispositivi, ombre e dimensioni per social media agli screenshot",
},
"svg-to-raster": {
name: "SVG a raster",
description:
"Converti SVG in PNG, JPEG, WebP, AVIF, TIFF, GIF o HEIF a scala e DPI personalizzati",
},
vectorize: {
name: "Immagine a SVG",
description: "Converti immagini in grafica vettoriale scalabile",
},
"gif-tools": {
name: "Strumenti GIF",
description:
"Ridimensiona, ottimizza, cambia velocita, inverti, estrai fotogrammi e ruota GIF animate",
},
"image-to-base64": {
name: "Immagine a Base64",
description: "Converti immagini in stringhe Base64 per incorporarle in HTML, CSS e altro",
},
"convert-video": {
name: "Convert Video",
description: "Convert videos between MP4, MOV, and WebM",
},
"compress-video": {
name: "Compress Video",
description: "Shrink video file size with quality control",
},
"trim-video": {
name: "Trim Video",
description: "Cut a clip out of a video",
},
"mute-video": {
name: "Mute Video",
description: "Remove the audio track from a video",
},
"video-to-gif": {
name: "Video to GIF",
description: "Turn a video clip into an animated GIF",
},
"convert-audio": {
name: "Convert Audio",
description: "Convert audio between MP3, WAV, OGG, and more",
},
"trim-audio": {
name: "Trim Audio",
description: "Cut a section out of an audio file",
},
"extract-audio": {
name: "Extract Audio",
description: "Pull the audio track out of a video",
},
"merge-pdf": {
name: "Merge PDFs",
description: "Combine multiple PDFs into one",
},
"split-pdf": {
name: "Split PDF",
description: "Extract pages or split into parts",
},
"compress-pdf": {
name: "Compress PDF",
description: "Shrink PDF file size",
},
"rotate-pdf": {
name: "Rotate PDF",
description: "Rotate pages in a PDF",
},
"word-to-pdf": {
name: "Word to PDF",
description: "Convert Word documents to PDF",
},
"extract-pages": {
name: "Extract Pages",
description: "Pull selected pages into a new PDF",
},
"remove-pages": {
name: "Remove Pages",
description: "Delete specific pages from a PDF",
},
"organize-pdf": {
name: "Organize PDF",
description: "Reorder pages with an explicit page order",
},
"protect-pdf": {
name: "Protect PDF",
description: "Add password protection (AES-256 encryption)",
},
"unlock-pdf": {
name: "Unlock PDF",
description: "Remove password protection from a PDF",
},
"repair-pdf": {
name: "Repair PDF",
description: "Attempt to repair a damaged or corrupted PDF",
},
"linearize-pdf": {
name: "Web-Optimize PDF",
description: "Linearize a PDF for fast web viewing",
},
"grayscale-pdf": {
name: "Grayscale PDF",
description: "Convert all colors to grayscale",
},
"pdfa-convert": {
name: "PDF/A Convert",
description: "Convert to archival PDF/A-2",
},
"crop-pdf": {
name: "Crop PDF",
description: "Crop all pages with a uniform margin",
},
"nup-pdf": {
name: "N-up PDF",
description: "Arrange multiple pages per sheet",
},
"booklet-pdf": {
name: "Booklet PDF",
description: "Arrange pages for folding into a booklet",
},
"watermark-pdf": {
name: "Watermark PDF",
description: "Add a text watermark to every page",
},
"pdf-page-numbers": {
name: "PDF Page Numbers",
description: "Add page numbers to every page",
},
"flatten-pdf": {
name: "Flatten PDF",
description: "Bake forms and annotations into page content",
},
"redact-pdf": {
name: "Redact PDF",
description: "Permanently remove text occurrences (verified true redaction)",
},
"pdf-to-text": {
name: "PDF to Text",
description: "Extract plain text from a PDF",
},
"pdf-to-word": {
name: "PDF to Word",
description: "Best for text-based PDFs; scanned pages need OCR",
},
"pdf-metadata": {
name: "PDF Metadata",
description: "Read and write PDF document metadata",
},
"html-to-pdf": {
name: "HTML to PDF",
description: "Convert an HTML file to PDF. Remote resources are disabled for privacy.",
},
"markdown-to-pdf": {
name: "Markdown to PDF",
description:
"Convert a Markdown file to a styled PDF. Remote resources are disabled for privacy.",
},
"csv-excel": {
name: "CSV to Excel",
description: "Convert between CSV and Excel (XLSX), both directions",
},
"csv-json": {
name: "CSV to JSON",
description: "Convert between CSV and JSON, both directions",
},
"json-xml": {
name: "JSON to XML",
description: "Convert between JSON and XML, both directions",
},
"split-csv": {
name: "Split CSV",
description: "Split a CSV into smaller files by row count",
},
pipeline: {
name: "Costruttore di Pipeline",
description: "Concatena piu strumenti in un flusso di lavoro",
},
processing: { canceled: "Processing canceled" },
mediaPlayer: {
unsupported: "Your browser does not support this media format.",
},
documentView: {
loadFailed: "Failed to load document.",
previousPage: "Previous page",
nextPage: "Next page",
},
},
toolSettings: {
compress: {
compressionMode: "Modalita di compressione",
targetSize: "Dimensione obiettivo",
quality: "Qualita",
smallestFile: "File piu piccolo",
bestQuality: "Qualita migliore",
submit: "Comprimi",
submitBatch: "Comprimi ({count} file)",
progressLabel: "Compressione in corso",
original: "Originale: {size} KB",
processed: "Elaborato: {size} KB",
saved: "Risparmiato: {percent}%",
},
resize: {
customSize: "Dimensione personalizzata",
scale: "Scala",
presets: "Preset",
contentAware: "Consapevole del contenuto",
widthPx: "Larghezza (px)",
heightPx: "Altezza (px)",
fitMode: "Modalita di adattamento",
cropToFit: "Ritaglia per adattare",
fitInside: "Adatta all'interno",
stretch: "Allunga",
limitToOriginalSize: "Limita alla dimensione originale",
limitToOriginalSizeHint:
"Se l'immagine e gia piu piccola dell'obiettivo, viene mantenuta cosi com'e invece di essere ingrandita",
scalePercent: "Scala (%)",
resizeToSquare: "Ridimensiona a quadrato",
protectFaces: "Proteggi volti",
smoothing: "Levigatura",
edgeSensitivity: "Sensibilita dei bordi",
submit: "Ridimensiona",
submitBatch: "Ridimensiona ({count} file)",
progressLabel: "Ridimensionamento in corso",
},
crop: {
aspectRatio: "Rapporto d'aspetto",
custom: "Personalizzato",
positionAndSize: "Posizione e dimensione",
ruleOfThirds: "Regola dei terzi",
leftOffsetPx: "Offset sinistro (px)",
topOffsetPx: "Offset superiore (px)",
submit: "Ritaglia",
submitBatch: "Ritaglia ({count} file)",
progressLabel: "Ritaglio in corso",
},
rotate: {
rotate: "Ruota",
angle: "Angolo",
straighten: "Raddrizza",
flip: "Capovolgi",
horizontal: "Orizzontale",
vertical: "Verticale",
resetAllChanges: "Ripristina tutte le modifiche",
submit: "Applica",
submitBatch: "Applica ({count} file)",
progressLabel: "Applicazione in corso",
},
convert: {
targetFormat: "Formato di destinazione",
sourceFormat: "Formato di origine",
quality: "Qualita",
submit: "Converti",
submitBatch: "Converti ({count} file)",
progressLabel: "Conversione in corso",
},
"optimize-for-web": {
outputFormat: "Formato di output",
quality: "Qualita",
smallestFile: "File piu piccolo",
bestQuality: "Qualita migliore",
maxDimensions: "Dimensioni massime",
maxWidth: "Larghezza massima",
maxHeight: "Altezza massima",
stripMetadata: "Rimuovi metadati",
sizeComparison: "Confronto dimensioni",
optimized: "Ottimizzato:",
smaller: "{percent}% piu piccolo",
larger: "{percent}% piu grande",
submit: "Elabora e scarica",
submitBatch: "Elabora e scarica ({count} file)",
progressLabel: "Ottimizzazione in corso",
},
"strip-metadata": {
currentMetadata: "Metadati attuali",
readingMetadata: "Lettura metadati...",
noMetadataFound: "Nessun metadato trovato in questa immagine.",
removeAllMetadata: "Rimuovi tutti i metadati",
selectSpecific: "Oppure seleziona metadati specifici:",
stripExif: "Rimuovi EXIF (info fotocamera, data, esposizione)",
stripGps: "Rimuovi GPS (dati di posizione)",
stripIcc: "Rimuovi ICC (profilo colore)",
stripXmp: "Rimuovi XMP (metadati estensibili)",
locationFound: "posizione trovata",
locationWarning:
"Questa immagine contiene la tua posizione precisa. Considera di rimuovere i dati GPS prima di condividerla.",
metadataSections: "{count} sezione di metadati trovata",
metadataSectionsPlural: "{count} sezioni di metadati trovate",
metadataRemoved: "Metadati rimossi: {size} KB",
submit: "Rimuovi metadati",
progressLabel: "Rimozione metadati",
},
"edit-metadata": {
readingMetadata: "Lettura metadati...",
couldNotReadMetadata: "Impossibile leggere i metadati: i campi inizieranno vuoti.",
basicInfo: "Informazioni di base",
description: "Descrizione",
artist: "Artista",
copyright: "Copyright",
software: "Software",
iptc: "IPTC",
title: "Titolo",
headline: "Titolo principale",
city: "Citta",
stateProvince: "Stato/Provincia",
country: "Paese",
dateAndTime: "Data e ora",
editDates: "Modifica date",
shiftAllDates: "Sposta tutte le date",
dateModified: "Data di modifica",
dateTaken: "Data dello scatto",
shiftHint: "Sposta tutti i campi data di un offset (utile per correzioni del fuso orario)",
direction: "Direzione",
forward: "+ Avanti",
backward: "- Indietro",
hoursMinutes: "Ore:Minuti",
locationGps: "Posizione (GPS)",
locationDataFound: "Dati di posizione trovati",
noGpsData: "Nessun dato GPS. Aggiungi le coordinate qui sotto.",
latitude: "Latitudine",
longitude: "Longitudine",
altitudeMeters: "Altitudine (metri)",
removeAllGpsData: "Rimuovi tutti i dati GPS",
keywords: "Parole chiave",
addKeywordPlaceholder: "Aggiungi parola chiave e premi Invio",
addToExisting: "Aggiungi alle esistenti",
replaceAll: "Sostituisci tutte",
allMetadata: "Tutti i metadati",
templates: "Modelli",
templateNamePlaceholder: "Nome del modello",
uploadPrompt: "Carica un'immagine per modificarne i metadati.",
changes: "{count} modifiche:",
modified: "{count} modificati",
removed: "{count} rimossi",
gpsCleared: "GPS cancellato",
gpsAdded: "GPS aggiunto",
datesShifted: "date spostate",
submit: "Applica metadati",
progressLabel: "Scrittura metadati",
},
"bulk-rename": {
pattern: "Modello",
patternHint: "Variabili: {{index}}, {{padded}}, {{original}}",
startIndex: "Indice iniziale",
preview: "Anteprima",
andMore: "... e altri {count}",
renaming: "Rinomina in corso...",
submit: "Rinomina {count} file",
zipDownloaded: "ZIP scaricato con successo",
},
"image-to-pdf": {
imageCount: "{count} immagine verra convertita in {mode}",
imageCountPlural: "{count} immagini verranno convertite in {mode}",
singlePdfMode: "un unico PDF, un'immagine per pagina",
separatePdfMode: "PDF separati, uno per immagine",
combineAllImages: "Combina tutte le immagini in un PDF",
pageSize: "Dimensione pagina",
orientation: "Orientamento",
portrait: "Verticale",
landscape: "Orizzontale",
margin: "Margine",
targetSizeLabel: "Dimensione file obiettivo (opzionale)",
targetSizePlaceholder: "es. 2",
targetSizeHint: "Lascia vuoto per la massima qualita",
targetSizeMet: "Obiettivo raggiunto",
targetSizeNotMet: "Impossibile raggiungere l'obiettivo. File compresso alla qualita minima.",
targetSizeTooSmall: "L'obiettivo deve essere almeno 50KB",
jpegQualityLabel: "Qualita JPEG utilizzata",
noImage: "Nessuna immagine",
submitCollate: "Crea PDF ({count} pagine)",
submitSeparate: "Crea {count} PDF",
downloadPdf: "Scarica PDF",
downloadZip: "Scarica ZIP",
progressLabel: "Creazione PDF",
uploadingImages: "Caricamento immagini...",
processingPages: "Elaborazione di {count} pagine...",
},
"pdf-to-image": {
dropPdf: "Trascina un PDF qui o fai clic per selezionare",
readingPdf: "Lettura PDF...",
pageCount: "{count} pagina",
pageCountPlural: "{count} pagine",
outputFormat: "Formato di output",
quality: "Qualita",
resolutionDpi: "Risoluzione (DPI)",
dpiScreen: "Schermo",
dpiStandard: "Standard",
dpiPrint: "Stampa",
dpiHighQuality: "Alta qualita",
colorMode: "Modalita colore",
colorModeColor: "Colore",
colorModeGrayscale: "Scala di grigi",
colorModeBw: "B&N",
pages: "Pagine",
allPages: "Tutte le pagine",
pagesHint: "es. 1-3, 5, 8-10 (il documento ha {count} pagine)",
converting: "Conversione in corso...",
submit: "Converti {count} pagina",
submitPlural: "Converti {count} pagine",
downloadAllZip: "Scarica tutto (ZIP)",
},
favicon: {
uploadHint:
"Carica immagini quadrate (consigliato 512x512 o superiore) per generare tutte le dimensioni di favicon e icone dell'app.",
multipleHint: "Ciascuna delle {count} immagini ottiene la propria cartella nel ZIP.",
generatedSizes: "Dimensioni generate (per immagine)",
plusManifest: "+ manifest.json + frammento HTML",
submit: "Genera Favicon ({count} immagine)",
submitPlural: "Genera Favicon ({count} immagini)",
downloadZip: "Scarica ZIP dei Favicon",
progressLabel: "Generazione Favicon",
},
"adjust-colors": {
light: "Luce",
brightness: "Luminosita",
contrast: "Contrasto",
exposure: "Esposizione",
color: "Colore",
saturation: "Saturazione",
temperature: "Temperatura",
temperatureHint: "freddo / caldo",
tint: "Tinta",
tintHint: "verde / magenta",
hue: "Tonalita",
detail: "Dettaglio",
sharpness: "Nitidezza",
effects: "Effetti",
none: "nessuno",
grayscale: "scala di grigi",
sepia: "seppia",
invert: "inverti",
colorChannels: "Canali colore",
channelModified: "modificato",
red: "Rosso",
green: "Verde",
blue: "Blu",
resetAll: "Ripristina tutto",
submit: "Applica",
submitBatch: "Applica ({count} file)",
progressLabel: "Regolazione colori",
},
sharpening: {
method: "Metodo",
adaptive: "Adattivo",
unsharpMask: "Maschera di contrasto",
highPass: "Passa-alto",
presets: "Preset",
textureAmount: "Quantita texture",
amount: "Quantita",
strength: "Intensita",
noiseReduction: "Riduzione rumore",
off: "disattivato",
lightDenoise: "leggero",
mediumDenoise: "medio",
strongDenoise: "forte",
advancedControls: "Controlli avanzati",
radius: "Raggio",
flatProtection: "Protezione aree piatte",
detailThreshold: "Soglia dettaglio",
haloLimitLight: "Limite alone (chiaro)",
haloLimitDark: "Limite alone (scuro)",
threshold: "Soglia",
kernelSize: "Dimensione kernel",
submit: "Aumenta nitidezza",
submitBatch: "Aumenta nitidezza ({count} file)",
progressLabel: "Aumento nitidezza in corso",
},
"replace-color": {
sourceColor: "Colore di origine (da sostituire)",
targetColor: "Colore di destinazione (sostituzione)",
makeTransparent: "Rendi trasparente invece",
tolerance: "Tolleranza",
exactMatch: "Corrispondenza esatta",
wideRange: "Intervallo ampio",
submit: "Sostituisci colore",
submitBatch: "Sostituisci colore ({count} file)",
progressLabel: "Sostituzione colore",
},
"color-blindness": {
simulationType: "Tipo di simulazione",
redGreen: "Rosso-Verde",
blueYellow: "Blu-Giallo",
monochromatic: "Monocromatico",
submit: "Simula",
submitBatch: "Simula ({count} file)",
progressLabel: "Simulazione daltonismo",
},
"remove-background": {
subject: "Soggetto",
people: "Persone",
products: "Prodotti",
general: "Generale",
passportIdPhoto: "Foto tessera / documento",
quality: "Qualita",
fast: "Veloce",
hd: "HD",
max: "Max",
ultra: "Ultra",
background: "Sfondo",
transparent: "Trasparente",
bgColor: "Colore",
gradient: "Sfumatura",
image: "Immagine",
gradientDirection: "Direzione",
chooseBackgroundImage: "Scegli immagine di sfondo",
effectsSection: "Effetti",
effectsActive: "attivi",
blurBackground: "Sfoca sfondo",
intensity: "Intensita",
addShadow: "Aggiungi ombra",
opacity: "Opacita",
outputFormat: "Formato di output",
edgeSmoothing: "Antialiasing bordi",
edgeSmoothingOff: "Disattivato",
edgeSmoothingLight: "Leggero",
edgeSmoothingMedium: "Intermedio",
edgeSmoothingStrong: "Forte",
colorDecontamination: "Decontaminazione colore",
rendering: "Rendering in corso...",
submit: "Rimuovi sfondo",
submitBatch: "Rimuovi sfondo ({count} file)",
progressLabel: "Rimozione sfondo",
},
upscale: {
scaleFactor: "Fattore di scala",
quality: "Qualita",
enhanceFaces: "Migliora volti",
noiseReduction: "Riduzione rumore",
noiseReductionHint:
"Leviga grana e rumore. Valori piu alti rimuovono piu rumore ma possono ammorbidire i dettagli.",
outputFormat: "Formato di output",
submit: "Ingrandisci {scale}x",
submitBatch: "Ingrandisci {scale}x ({count} file)",
progressLabel: "Ingrandimento immagine",
progressLabelBatch: "Ingrandimento di {count} immagini",
},
"erase-object": {
brushSize: "Dimensione pennello",
fine: "Fine",
wide: "Largo",
undo: "Annulla",
clear: "Cancella",
outputFormat: "Formato di output",
quality: "Qualita",
paintHint: "Dipingi sopra gli oggetti che vuoi rimuovere. Usa Ctrl+Z per annullare.",
submit: "Cancella oggetto",
submitBatch: "Cancella tutti ({count})",
progressLabel: "Cancellazione oggetto",
},
ocr: {
quality: "Qualita",
enhanceBeforeScanning: "Migliora prima della scansione",
enhanceHint:
"Raddrizza, migliora il contrasto, rimuove il rumore e ingrandisce automaticamente l'immagine prima della scansione per una migliore precisione.",
language: "Lingua",
autoDetect: "Rilevamento automatico",
extractedText: "Testo estratto",
noTextDetected: "Nessun testo rilevato in questa immagine",
characters: "{count} caratteri",
submit: "Estrai testo",
submitBatch: "Estrai testo ({count} file)",
progressLabel: "Estrazione testo",
},
"blur-faces": {
blurRadius: "Raggio sfocatura",
blurLight: "Leggero",
blurHeavy: "Forte",
detectionSensitivity: "Sensibilita rilevamento",
moreFaces: "Piu volti",
fewerFaces: "Meno volti",
submit: "Sfoca volti",
progressLabel: "Sfocatura volti",
},
"enhance-faces": {
quality: "Qualita",
enhancementStrength: "Intensita del miglioramento",
onlyCenterFace: "Solo il volto centrale",
detectionSensitivity: "Sensibilita rilevamento",
submit: "Migliora volti",
submitBatch: "Migliora volti ({count} file)",
progressLabel: "Miglioramento volti",
},
"smart-crop": {
subjectFocus: "Focus sul soggetto",
faceFocus: "Focus sul volto",
autoTrim: "Ritaglio automatico",
customSize: "Dimensione personalizzata",
socialPresets: "Preset social media",
detectionStrategy: "Strategia di rilevamento",
detectionStrategyHint:
"L'attenzione trova la regione visivamente piu rilevante. L'entropia trova l'area con piu dettagli e informazioni.",
attention: "Attenzione",
entropy: "Entropia",
padding: "Spaziatura",
paddingHint: "Spazio extra attorno all'area di focus",
outputQuality: "Qualita di output",
outputQualityHint: "Per output JPEG e WebP. PNG e sempre senza perdita.",
subjectDescription:
"Rileva la regione piu interessante tramite analisi della rilevanza e ritaglia alla dimensione desiderata.",
framing: "Inquadratura",
facePadding: "Spazio attorno al volto",
facePaddingHint: "Spazio extra attorno ai volti rilevati",
fewerFalsePositives: "Meno falsi positivi",
faceDescription:
"Usa il rilevamento facciale IA per mantenere i volti ben inquadrati. Se non vengono rilevati volti, usa il focus sul soggetto.",
trimTolerance: "Tolleranza",
trimDescription:
"Quanto un pixel del bordo puo differire dal colore del bordo ed essere comunque ritagliato. Piu alto = piu aggressivo.",
padToSquare: "Riempi a quadrato",
targetSizePx: "Dimensione obiettivo (px)",
padColor: "Colore di riempimento",
trimHint:
'Rimuove i bordi di colore uniforme attorno al soggetto. Attiva "Riempi a quadrato" per immagini pronte per l\'e-commerce.',
submitSubject: "Ritaglio intelligente",
submitFace: "Ritaglio per volto",
submitTrim: "Ritaglia bordi",
},
imageEnhancement: {
enhancementMode: "Modalita di miglioramento",
auto: "Automatico",
portrait: "Ritratto",
landscape: "Paesaggio",
lowLight: "Scarsa luminosita",
food: "Cibo",
document: "Documento",
intensity: "Intensita",
deepEnhance: "Miglioramento profondo (IA)",
deepEnhanceDescription: "Rimuove rumore e artefatti usando l'IA",
deepEnhanceRequires: "Richiede il pacchetto Ingrandimento e miglioramento",
analyzingImage: "Analisi immagine...",
detectedIssues: "Problemi rilevati",
imageLooksGood: "L'immagine sembra buona. Regola con il cursore di intensita.",
issueUnderexposed: "Bassa esposizione",
issueOverexposed: "Sovraesposta",
issueLowContrast: "Contrasto piatto",
issueColorCast: "Dominante di colore",
issueDesaturated: "Desaturata",
issueSoftFocus: "Fuoco morbido",
issueNoisy: "Rumorosa",
submit: "Migliora",
submitDeep: "Miglioramento profondo",
submitBatch: "Migliora ({count} file)",
submitDeepBatch: "Miglioramento profondo ({count} file)",
progressLabel: "Miglioramento immagine",
progressLabelBatch: "Miglioramento di {count} immagini",
},
"noise-removal": {
denoisingTier: "Livello di riduzione rumore",
quick: "Veloce",
balanced: "Bilanciato",
quality: "Qualita",
maximum: "Massimo",
quickDesc: "Veloce e leggero",
balancedDesc: "Buona qualita, velocita moderata",
qualityDesc: "Basato su IA, lento",
maximumDesc: "Miglior modello IA, il piu lento",
strength: "Intensita",
subtle: "Sottile",
aggressive: "Aggressivo",
detailPreservation: "Preservazione dettagli",
smooth: "Morbido",
sharp: "Nitido",
colorNoise: "Rumore di colore",
heavy: "Intenso",
outputFormat: "Formato di output",
gifAiWarning:
"La riduzione del rumore IA sui file GIF elabora solo il primo fotogramma. Per GIF animate, usa il livello Veloce o Bilanciato.",
submit: "Rimuovi rumore",
submitBatch: "Rimuovi rumore ({count} file)",
progressLabel: "Rimozione rumore",
progressLabelBatch: "Rimozione rumore da {count} immagini",
},
"red-eye-removal": {
sensitivity: "Sensibilita",
strict: "Rigorosa",
aggressive: "Aggressiva",
correctionStrength: "Intensita correzione",
subtle: "Sottile",
dark: "Scuro",
outputFormat: "Formato di output",
quality: "Qualita",
submit: "Correggi occhi rossi",
submitBatch: "Correggi occhi rossi ({count} file)",
progressLabel: "Correzione occhi rossi",
progressLabelBatch: "Correzione occhi rossi in {count} immagini",
},
"restore-photo": {
scratchRemoval: "Rimozione graffi",
scratchRemovalDesc: "Rileva e ripara graffi, strappi e macchie",
faceEnhancement: "Miglioramento volti",
faceEnhancementDesc: "Restaura volti degradati con CodeFormer IA",
faceFidelity: "Fedelta del volto",
enhanced: "Migliorato",
faithful: "Fedele",
noiseReduction: "Riduzione rumore",
noiseReductionDesc: "Rimuovi grana e rumore dalle vecchie foto",
denoiseStrength: "Intensita riduzione rumore",
autoColorize: "Colorizza automaticamente",
autoColorizeDesc: "Aggiungi colore alle foto B&N usando DDColor IA",
colorizeStrength: "Intensita colorizzazione",
vivid: "Vivido",
submit: "Restaura foto",
submitBatch: "Restaura foto ({count})",
progressLabel: "Restauro foto",
progressLabelBatch: "Restauro di {count} foto",
},
"content-aware-resize": {
widthPx: "Larghezza (px)",
heightPx: "Altezza (px)",
resizeToSquare: "Ridimensiona a quadrato",
protectFaces: "Proteggi volti",
protectFacesHint:
"Rileva e protegge le aree del volto dalla rimozione delle cuciture tramite rilevamento facciale",
smoothing: "Levigatura",
edgeSensitivity: "Sensibilita dei bordi",
submit: "Ridimensiona",
submitBatch: "Ridimensiona ({count} file)",
progressLabel: "Ridimensionamento intelligente",
},
"ai-canvas-expand": {
quality: "Qualita",
fast: "Veloce",
balanced: "Bilanciato",
highQuality: "Alta qualita",
fastDesc: "Anteprima veloce, meno passaggi IA",
balancedDesc: "Buona qualita, velocita moderata",
highQualityDesc: "Migliori risultati, piu lento",
extendToAspectRatio: "Estendi al rapporto d'aspetto",
extendByPixels: "Estendi di (pixel)",
top: "Alto",
right: "Destra",
bottom: "Basso",
left: "Sinistra",
newSize: "Nuova dimensione: {width} x {height}",
submit: "Estendi canvas",
submitBatch: "Estendi ({count} file)",
progressLabel: "Estensione canvas",
},
colorize: {
aiModel: "Modello IA",
fast: "Veloce",
fastDesc: "Risultati rapidi",
balanced: "Bilanciato",
balancedDesc: "Il migliore disponibile",
best: "Ottimo",
bestDesc: "La massima qualita",
colorIntensity: "Intensita colore",
grayscaleLabel: "Scala di grigi",
subtleLabel: "Sottile",
naturalLabel: "Naturale",
vividLabel: "Vivido",
intensityHint: "Valori piu bassi producono colori piu tenui, stile vintage.",
strength: "Intensita colorizzazione",
submit: "Colorizza",
submitBatch: "Colorizza ({count} file)",
progressLabel: "Colorizzazione in corso",
progressLabelBatch: "Colorizzazione di {count} immagini",
},
"passport-photo": {
country: "Paese",
searchCountries: "Cerca paesi...",
noCountriesFound: "Nessun paese trovato",
customDimensions: "Dimensioni personalizzate",
documentType: "Tipo di documento",
dimensionsMm: "Dimensioni (mm)",
dpi: "DPI",
pixelsPerInch: "pixel per pollice",
backgroundColor: "Colore di sfondo",
maxFileSize: "Dimensione massima file",
noLimit: "Nessun limite",
customKb: "Personalizzato KB...",
uploadPortrait: "Carica una foto tipo ritratto",
uploadHint:
"Trascina o carica un'immagine nel pannello sinistro per visualizzare l'anteprima della foto tessera",
analyzingPhoto: "Analisi foto",
detectingLandmarks: "Rilevamento punti del volto e rimozione sfondo...",
generatePassportPhoto: "Genera foto tessera",
generating: "Generazione...",
downloadPhoto: "Scarica foto",
faceCentered: "Volto centrato",
headLevel: "Testa dritta",
lookingStraight: "Sguardo dritto",
faceSize: "Dimensione del volto",
whatYouSee: "Quello che vedi e quello che scarichi",
dragToAdjust: "Trascina per regolare",
scrollToZoom: "Scorri per ingrandire",
photoGenerated: "Foto generata. Scaricala dal pannello sinistro.",
},
"transparency-fixer": {
description: "Carica un PNG con sfondo trasparente falso e lo correggiamo in un clic.",
removeWatermark: "Rimuovi filigrana",
removeWatermarkHelp: "Rileva e rimuove filigrane semitrasparenti",
requiresEraser: "Richiede il pacchetto Cancella oggetti",
advanced: "Avanzato",
defringe: "Rimuovi alone",
outputFormat: "Formato di output",
submit: "Correggi trasparenza",
submitBatch: "Correggi trasparenza ({count} file)",
progressLabel: "Correzione trasparenza",
},
"watermark-text": {
watermarkText: "Testo della filigrana",
fontSize: "Dimensione carattere",
color: "Colore",
opacity: "Opacita",
position: "Posizione",
rotation: "Rotazione",
center: "Centro",
topLeft: "In alto a sinistra",
topRight: "In alto a destra",
bottomLeft: "In basso a sinistra",
bottomRight: "In basso a destra",
tiled: "A mosaico",
submit: "Aggiungi filigrana",
submitBatch: "Aggiungi filigrana ({count} file)",
progressLabel: "Aggiunta filigrana",
},
"watermark-image": {
uploadWatermark: "Carica immagine filigrana",
position: "Posizione",
opacity: "Opacita",
scale: "Scala",
submit: "Applica filigrana",
submitBatch: "Applica filigrana ({count} file)",
},
"text-overlay": {
text: "Testo",
fontSize: "Dimensione carattere",
color: "Colore",
position: "Posizione",
top: "Alto",
center: "Centro",
bottom: "Basso",
backgroundBox: "Riquadro di sfondo",
backgroundColor: "Colore di sfondo",
shadow: "Ombra",
submit: "Aggiungi testo",
submitBatch: "Aggiungi testo ({count} file)",
progressLabel: "Aggiunta testo in sovrapposizione",
download: "Scarica",
defaultText: "Il tuo testo qui",
},
compose: {
uploadOverlay: "Carica immagine di sovrapposizione",
xPosition: "Posizione X",
yPosition: "Posizione Y",
opacity: "Opacita",
blendMode: "Metodo di fusione",
submit: "Componi",
},
"meme-generator": {
selectTemplate: "Seleziona un modello dalla galleria o carica la tua immagine per iniziare.",
chooseLayout: "Scegli un layout di testo per la tua immagine personalizzata.",
textContent: "Contenuto del testo",
textStyle: "Stile del testo",
font: "Carattere",
fontSize: "Dimensione carattere",
textColor: "Colore del testo",
strokeColor: "Colore del contorno",
allCaps: "MAIUSCOLE",
generate: "Genera Meme",
generating: "Generazione...",
downloadMeme: "Scarica Meme",
backToGallery: "Torna alla galleria",
},
info: {
loadingInfo: "Caricamento informazioni...",
filename: "Nome file",
fileSize: "Dimensione file",
dimensions: "Dimensioni",
format: "Formato",
channels: "Canali",
colorSpace: "Spazio colore",
density: "Densita",
bitDepth: "Profondita di bit",
progressive: "Progressivo",
pages: "Pagine",
hasAlpha: "Canale alfa",
hasProfile: "Profilo",
hasExif: "EXIF",
hasIcc: "ICC",
hasXmp: "XMP",
readInfo: "Leggi informazioni",
reading: "Lettura...",
channelStats: "Statistiche canali",
yes: "Si",
no: "No",
na: "N/D",
failedToRead: "Impossibile leggere le informazioni",
},
compare: {
uploadSecondImage: "Carica seconda immagine",
similarity: "Somiglianza: {percent}%",
submit: "Confronta",
downloadDiff: "Scarica differenza",
},
"find-duplicates": {
preset: "Preset",
exact: "Esatto",
similar: "Simile",
loose: "Ampio",
exactDesc: "Copie identiche pixel per pixel, stessa immagine in formati diversi.",
similarDesc: "Copie ridimensionate, ricompresse o leggermente modificate.",
looseDesc: "Immagini visivamente correlate, ritagli leggeri, esposizioni diverse.",
threshold: "Soglia",
submit: "Cerca duplicati",
scanning: "Scansione...",
},
"color-palette": {
submit: "Estrai palette",
extracting: "Estrazione...",
dominantColors: "Colori dominanti",
clickToCopy: "Fai clic per copiare",
},
"qr-generate": {
contentType: "Tipo di contenuto",
url: "URL",
text: "Testo",
wifi: "WiFi",
vcard: "vCard",
email: "Email",
phone: "Telefono",
sms: "SMS",
styling: "Stile",
dotStyle: "Stile dei punti",
cornerSquareStyle: "Stile quadrato d'angolo",
cornerDotStyle: "Stile punto d'angolo",
foregroundColor: "Colore primo piano",
bgColor: "Colore di sfondo",
logo: "Logo",
downloadFormat: "Formato di download",
submit: "Genera codice QR",
download: "Scarica codice QR",
},
"html-to-image": {
modeUrl: "URL",
modeHtml: "File HTML",
htmlFile: "File HTML",
url: "URL",
urlPlaceholder: "https://snapotter.com",
format: "Formato di output",
quality: "Qualita",
devicePreset: "Dispositivo",
viewportWidth: "Larghezza",
viewportHeight: "Altezza",
fullPage: "Pagina intera",
submit: "Cattura",
download: "Scarica lo screenshot",
capturing: "Acquisizione della pagina web...",
errorTimeout: "La pagina ha impiegato troppo tempo a caricarsi",
errorBlocked: "Impossibile acquisire questo URL",
errorUnavailable: "Il servizio di screenshot non e disponibile",
errorFailed: "Impossibile acquisire la pagina",
placeholder: "Inserisci un URL e fai clic su Acquisisci",
presets: {
desktop: "Desktop",
tablet: "Tablet",
mobile: "Mobile",
custom: "Personalizzato",
},
},
"barcode-read": {
submit: "Scansiona codici a barre",
submitBatch: "Scansiona ({count} file)",
scanning: "Scansione...",
noBarcodesFound: "Nessun codice a barre trovato",
barcodesFound: "{count} codice a barre trovato",
barcodesFoundPlural: "{count} codici a barre trovati",
},
collage: {
template: "Modello",
aspectRatio: "Rapporto d'aspetto",
gap: "Spaziatura",
cornerRadius: "Raggio d'angolo",
backgroundColor: "Colore di sfondo",
outputFormat: "Formato di output",
quality: "Qualita",
submit: "Crea collage",
downloadCollage: "Scarica collage",
},
stitch: {
direction: "Direzione",
horizontal: "Orizzontale",
vertical: "Verticale",
grid: "Griglia",
gridColumns: "Colonne griglia",
resizeMode: "Modalita ridimensionamento",
fit: "Adatta",
original: "Originale",
stretchMode: "Allunga",
cropMode: "Ritaglia",
alignment: "Allineamento",
start: "Inizio",
center: "Centro",
end: "Fine",
gap: "Spaziatura",
border: "Bordo",
cornerRadius: "Raggio d'angolo",
backgroundColor: "Colore di sfondo",
outputFormat: "Formato di output",
quality: "Qualita",
submit: "Unisci immagini",
},
split: {
modeGrid: "Griglia",
modeTileSize: "Dimensione tessera",
presets: "Preset",
columns: "Colonne",
rows: "Righe",
tileWidth: "Larghezza tessera",
tileHeight: "Altezza tessera",
outputFormat: "Formato di output",
quality: "Qualita",
submit: "Dividi immagine",
downloadAll: "Scarica tutto (ZIP)",
},
border: {
presets: "Preset",
borderWidth: "Larghezza bordo",
borderColor: "Colore bordo",
padding: "Spaziatura",
paddingColor: "Colore spaziatura",
cornerRadius: "Raggio d'angolo",
shadow: "Ombra",
shadowBlur: "Sfocatura ombra",
shadowOffsetX: "Offset X ombra",
shadowOffsetY: "Offset Y ombra",
shadowColor: "Colore ombra",
shadowOpacity: "Opacita ombra",
submit: "Aggiungi bordo",
submitBatch: "Aggiungi bordo ({count} file)",
progressLabel: "Aggiunta bordo",
},
beautify: {
preset: "Preset",
backgroundType: "Tipo di sfondo",
solidColor: "Colore pieno",
linearGradient: "Sfumatura lineare",
radialGradient: "Sfumatura radiale",
customImage: "Immagine personalizzata",
gradientAngle: "Angolo sfumatura",
padding: "Spaziatura",
borderRadius: "Raggio del bordo",
shadowPreset: "Preset ombra",
deviceFrame: "Cornice dispositivo",
submit: "Abbellisci",
submitBatch: "Abbellisci ({count} file)",
progressLabel: "Abbellimento screenshot",
},
"svg-to-raster": {
outputFormat: "Formato di output",
sizing: "Dimensionamento",
scaleMode: "Scala",
customMode: "Personalizzato",
scalePresets: "Preset di scala",
dpiPresets: "Preset DPI",
customWidth: "Larghezza (px)",
customHeight: "Altezza (px)",
background: "Sfondo",
bgTransparent: "Trasparente",
bgColor: "Colore",
quality: "Qualita",
submit: "Converti SVG",
submitBatch: "Converti ({count} file)",
progressLabel: "Conversione SVG",
},
vectorize: {
preset: "Preset",
logo: "Logo",
illustration: "Illustrazione",
photo: "Foto",
sketch: "Bozzetto",
customPreset: "Personalizzato",
colorMode: "Modalita colore",
bw: "B&N",
colorModeColor: "Colore",
threshold: "Soglia",
colorPrecision: "Precisione colore",
layerDifference: "Differenza livelli",
filterSpeckle: "Filtra macchie",
pathMode: "Modalita tracciato",
cornerThreshold: "Soglia angolo",
invertColors: "Inverti colori",
submit: "Vettorializza",
submitBatch: "Vettorializza ({count} file)",
progressLabel: "Vettorializzazione in corso",
},
"gif-tools": {
mode: "Modalita",
resize: "Ridimensiona",
optimize: "Ottimizza",
speed: "Velocita",
reverse: "Inverti",
extract: "Estrai",
rotateMode: "Ruota",
pixel: "Pixel",
percentage: "Percentuale",
colors: "Colori",
dither: "Dithering",
effort: "Sforzo",
speedFactor: "Fattore velocita",
loopControl: "Controllo ciclo",
infinite: "Infinito",
once: "Una volta",
customLoop: "Personalizzato",
loopCount: "Numero cicli",
extractSingle: "Singolo",
extractRange: "Intervallo",
extractAll: "Tutti",
frameNumber: "Numero fotogramma",
frameStart: "Fotogramma iniziale",
frameEnd: "Fotogramma finale",
extractFormat: "Formato",
submit: "Elabora GIF",
submitBatch: "Elabora ({count} file)",
progressLabel: "Elaborazione GIF",
},
"image-to-base64": {
outputFormat: "Formato di output",
keepOriginal: "Mantieni originale",
quality: "Qualita",
maxWidth: "Larghezza massima",
maxHeight: "Altezza massima",
submit: "Converti in Base64",
submitBatch: "Converti ({count} file)",
copyBase64: "Copia Base64",
copyDataUri: "Copia Data URI",
copyImgTag: "Copia tag <img>",
copyCssUrl: "Copia CSS url()",
},
"enhance-faces-standalone": {
model: "Modello",
fast: "Veloce",
balanced: "Bilanciato",
best: "Ottimo",
},
"convert-video": {
format: "Output format",
quality: "Quality",
high: "High",
balanced: "Balanced",
small: "Smallest",
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"compress-video": {
quality: "Compression",
light: "Light",
balanced: "Balanced",
strong: "Strong",
resolution: "Resolution",
original: "Original",
submit: "Compress",
submitBatch: "Compress ({count} files)",
progressLabel: "Compressing",
},
"trim-video": {
start: "Start (seconds)",
end: "End (seconds)",
precise: "Frame-accurate (re-encodes)",
submit: "Trim",
submitBatch: "Trim ({count} files)",
progressLabel: "Trimming",
},
"mute-video": {
submit: "Remove audio",
submitBatch: "Remove audio ({count} files)",
progressLabel: "Muting",
},
"video-to-gif": {
fps: "Frames per second",
width: "Width (px)",
start: "Start (seconds)",
duration: "Duration (seconds)",
submit: "Create GIF",
submitBatch: "Create GIFs ({count} files)",
progressLabel: "Creating GIF",
},
"convert-audio": {
format: "Output format",
bitrate: "Bitrate (kbps)",
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"trim-audio": {
start: "Start (seconds)",
end: "End (seconds)",
submit: "Trim",
submitBatch: "Trim ({count} files)",
progressLabel: "Trimming",
},
"extract-audio": {
format: "Output format",
submit: "Extract",
submitBatch: "Extract ({count} files)",
progressLabel: "Extracting",
},
"merge-pdf": {
addFiles: "Add PDFs to merge",
needTwo: "At least two PDFs are required",
orderHint: "{count} PDFs will merge in this order",
submit: "Merge",
submitBatch: "Merge ({count} files)",
progressLabel: "Merging",
},
"split-pdf": {
mode: "Split mode",
range: "Page range",
rangeHint: "e.g. 1-3, 5, 7-z",
everyN: "Pages per part",
submit: "Split",
submitBatch: "Split ({count} files)",
progressLabel: "Splitting",
},
"compress-pdf": {
preset: "Quality preset",
screen: "Screen (smallest)",
ebook: "Ebook (balanced)",
printer: "Printer (best quality)",
submit: "Compress",
submitBatch: "Compress ({count} files)",
progressLabel: "Compressing",
},
"rotate-pdf": {
angle: "Rotation angle",
range: "Page range",
rangeHint: "e.g. 1-3, 5, 1-z (all pages)",
submit: "Rotate",
submitBatch: "Rotate ({count} files)",
progressLabel: "Rotating",
},
"word-to-pdf": {
submit: "Convert to PDF",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"extract-pages": {
range: "Page range",
rangeHint: "e.g. 1-3, 5, 7-z",
submit: "Extract",
submitBatch: "Extract ({count} files)",
progressLabel: "Extracting",
},
"remove-pages": {
pages: "Pages to remove",
pagesHint: "e.g. 2, 4-6, z (last page)",
submit: "Remove",
submitBatch: "Remove ({count} files)",
progressLabel: "Removing",
},
"organize-pdf": {
order: "Page order",
orderHint: "e.g. 3,1,2 or 1-z (identity)",
submit: "Reorder",
submitBatch: "Reorder ({count} files)",
progressLabel: "Reordering",
},
"protect-pdf": {
userPassword: "User password",
ownerPassword: "Owner password (optional)",
ownerPasswordHint: "Defaults to user password if empty",
submit: "Protect",
submitBatch: "Protect ({count} files)",
progressLabel: "Encrypting",
},
"unlock-pdf": {
password: "Password",
submit: "Unlock",
submitBatch: "Unlock ({count} files)",
progressLabel: "Decrypting",
},
"repair-pdf": {
submit: "Repair",
submitBatch: "Repair ({count} files)",
progressLabel: "Repairing",
},
"linearize-pdf": {
submit: "Optimize",
submitBatch: "Optimize ({count} files)",
progressLabel: "Linearizing",
},
"grayscale-pdf": {
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"pdfa-convert": {
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"crop-pdf": {
margin: "Margin (points)",
submit: "Crop",
submitBatch: "Crop ({count} files)",
progressLabel: "Cropping",
},
"nup-pdf": {
perSheet: "Pages per sheet",
submit: "Arrange",
submitBatch: "Arrange ({count} files)",
progressLabel: "Arranging",
},
"booklet-pdf": {
perSheet: "Pages per sheet",
submit: "Create Booklet",
submitBatch: "Create Booklet ({count} files)",
progressLabel: "Creating booklet",
},
"watermark-pdf": {
text: "Watermark text",
position: "Position",
fontSize: "Font size",
opacity: "Opacity",
rotation: "Rotation",
submit: "Watermark",
submitBatch: "Watermark ({count} files)",
progressLabel: "Watermarking",
},
"pdf-page-numbers": {
position: "Position",
fontSize: "Font size",
submit: "Add Numbers",
submitBatch: "Add Numbers ({count} files)",
progressLabel: "Numbering",
},
"flatten-pdf": {
submit: "Flatten",
submitBatch: "Flatten ({count} files)",
progressLabel: "Flattening",
},
"redact-pdf": {
terms: "Terms to redact",
termsHint: "One term per line (max 50)",
caseSensitive: "Case sensitive",
submit: "Redact",
submitBatch: "Redact ({count} files)",
progressLabel: "Redacting",
},
"pdf-to-text": {
submit: "Extract Text",
submitBatch: "Extract Text ({count} files)",
progressLabel: "Extracting",
},
"pdf-to-word": {
hint: "Best for text-based PDFs; scanned pages need OCR",
submit: "Convert to Word",
submitBatch: "Convert to Word ({count} files)",
progressLabel: "Converting",
},
"pdf-metadata": {
title: "Title",
author: "Author",
subject: "Subject",
keywords: "Keywords",
submit: "Set Metadata",
submitBatch: "Set Metadata ({count} files)",
progressLabel: "Setting metadata",
},
"html-to-pdf": {
hint: "Remote resources are disabled for privacy.",
submit: "Convert to PDF",
submitBatch: "Convert to PDF ({count} files)",
progressLabel: "Converting",
},
"markdown-to-pdf": {
hint: "Remote resources are disabled for privacy.",
submit: "Convert to PDF",
submitBatch: "Convert to PDF ({count} files)",
progressLabel: "Converting",
},
"csv-excel": {
sheet: "Worksheet number",
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"csv-json": {
pretty: "Pretty print",
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"json-xml": {
pretty: "Pretty print",
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"split-csv": {
rowsPerFile: "Rows per file",
keepHeader: "Keep header in each file",
submit: "Split",
submitBatch: "Split ({count} files)",
progressLabel: "Splitting",
},
},
urlImport: {
title: "Importa da URL",
placeholder: "Incolla URL di immagini, uno per riga...",
importButton: "Importa URL",
addButton: "Aggiungi {count} file",
adding: "Aggiunta in corso...",
retryButton: "Riprova",
cancelButton: "Annulla",
readyCount: "{count} pronti",
failedStatus: "Non riuscito",
},
comparison: {
original: "Originale",
processed: "Elaborato",
before: "Prima",
after: "Dopo",
savings: "Risparmio",
},
toolPage: {
emptyPrompt: "Trascina o carica un'immagine per iniziare",
filesCount: "File ({count})",
addMore: "+ Aggiungi altri",
clearAll: "Cancella tutto",
acceptDescription: "Solo file {exts}",
notFound: "Strumento non trovato",
configureAndGenerate: "Configura le impostazioni e genera.",
processingFailed: "Elaborazione non riuscita per questo file",
conversionComplete: "Conversione completata",
cannotPreviewDownload:
"I file {type} non possono essere visualizzati nel browser. Usa il pulsante di download per salvare il file.",
generatingPreview: "Generazione anteprima...",
cannotPreviewWillProcess:
"I file {ext} non possono essere visualizzati nel browser. Lo strumento elaborera comunque questo file normalmente.",
previousImage: "Immagine precedente",
nextImage: "Immagine successiva",
imageCounter: "{current} / {total}",
settingsLabel: "Impostazioni",
downloadAllZip: "Scarica tutto (ZIP)",
hideSettings: "Nascondi impostazioni",
imageArea: "Area immagine",
},
homePage: {
generatingPreview: "Generazione anteprima...",
loadingPreview: "Caricamento anteprima...",
changeFile: "Cambia file",
quickActions: "Azioni rapide",
allTools: "Tutti gli strumenti",
},
fullscreenGrid: {
searchPlaceholder: "Cerca strumenti...",
hideDetails: "Nascondi dettagli",
showDetails: "Mostra dettagli",
switchToSidebar: "Passa alla vista barra laterale",
sidebarButton: "Barra laterale",
noToolsFound: "Nessuno strumento trovato",
tryDifferent: "Prova con un termine di ricerca diverso",
},
editor: {
menu: {
file: {
label: "File",
new: "Nuovo",
open: "Apri",
save: "Salva",
exportAs: "Esporta come...",
quickExportPng: "Esportazione rapida come PNG",
close: "Chiudi",
},
edit: {
label: "Modifica",
undo: "Annulla",
redo: "Ripeti",
cut: "Taglia",
copy: "Copia",
copyMerged: "Copia con unione",
paste: "Incolla",
pasteInPlace: "Incolla sul posto",
delete: "Elimina",
freeTransform: "Trasformazione libera",
transform: {
label: "Trasforma",
scale: "Scala",
rotate: "Ruota",
skew: "Inclina",
flipHorizontal: "Capovolgi orizzontale",
flipVertical: "Capovolgi verticale",
},
},
image: {
label: "Immagine",
imageSize: "Dimensione immagine...",
canvasSize: "Dimensione canvas...",
rotation: {
label: "Rotazione immagine",
cw90: "90 in senso orario",
ccw90: "90 in senso antiorario",
r180: "180",
flipHorizontal: "Capovolgi orizzontale",
flipVertical: "Capovolgi verticale",
},
trim: "Ritaglia",
adjustments: {
label: "Regolazioni",
brightnessContrast: "Luminosita/Contrasto",
hueSaturation: "Tonalita/Saturazione",
colorBalance: "Bilanciamento colore",
levels: "Livelli",
curves: "Curve",
},
},
layer: {
label: "Livello",
newLayer: "Nuovo livello",
duplicateLayer: "Duplica livello",
deleteLayer: "Elimina livello",
arrange: {
label: "Disponi",
bringToFront: "Porta in primo piano",
bringForward: "Porta avanti",
sendBackward: "Porta indietro",
sendToBack: "Porta sullo sfondo",
},
mergeDown: "Unisci in basso",
flattenImage: "Appiattisci immagine",
},
select: {
label: "Selezione",
all: "Tutto",
deselect: "Deseleziona",
inverse: "Inverti",
colorRange: "Intervallo colore...",
},
filter: {
label: "Filtro",
blur: {
label: "Sfocatura",
gaussian: "Sfocatura gaussiana",
motion: "Sfocatura di movimento",
radial: "Sfocatura radiale",
surface: "Sfocatura di superficie",
},
sharpen: {
label: "Nitidezza",
sharpen: "Nitidezza",
unsharpMask: "Maschera di contrasto",
},
noise: {
label: "Rumore",
addNoise: "Aggiungi rumore",
reduceNoise: "Riduci rumore",
},
pixelate: {
label: "Pixelizzazione",
pixelate: "Pixelizza",
mosaic: "Mosaico",
},
stylize: {
label: "Stilizza",
emboss: "Rilievo",
solarize: "Solarizza",
posterize: "Posterizza",
},
grayscale: "Scala di grigi",
sepia: "Seppia",
invert: "Inverti",
},
view: {
label: "Visualizza",
zoomIn: "Ingrandisci",
zoomOut: "Riduci",
fitOnScreen: "Adatta allo schermo",
actualPixels: "Pixel reali",
rulers: "Righelli",
grid: "Griglia",
guides: "Guide",
snap: "Aggancia",
panels: "Pannelli",
},
},
menuBar: {
backTitle: "Torna a SnapOtter",
},
welcome: {
ariaLabel: "Area di rilascio immagine",
heading: "Editor di immagini",
dropDescription: "Trascina un'immagine qui per iniziare",
openImageButton: "Apri immagine",
newDocumentButton: "Nuovo documento",
pasteHint: "Oppure incolla dagli appunti (Ctrl+V)",
},
mobile: {
heading: "Si consiglia il desktop",
description:
"L'editor di immagini funziona al meglio su schermi desktop. Passa a un dispositivo con uno schermo piu grande per l'esperienza di modifica completa.",
},
errors: {
serverDecodeFailed: "Decodifica del server non riuscita",
},
shapes: {
shape: "Forma",
fill: "Riempimento",
stroke: "Tratto",
strokeWidth: "Spessore",
cornerRadius: "Raggio",
sides: "Lati",
points: "Punti",
dashStyle: "Stile tratto",
solid: "Continuo",
dashed: "Tratteggiato",
dotted: "Puntinato",
none: "Nessuno",
opacity: "Opacita",
rectangle: "Rettangolo",
ellipse: "Ellisse",
line: "Linea",
arrow: "Freccia",
polygon: "Poligono",
star: "Stella",
},
},
settings: {
heading: "Impostazioni",
nav: {
general: "Generali",
systemSettings: "Impostazioni di sistema",
security: "Sicurezza",
people: "Persone",
teams: "Team",
roles: "Ruoli",
auditLog: "Registro di audit",
usage: "Usage",
apiKeys: "Chiavi API",
aiFeatures: "Funzionalita AI",
tools: "Strumenti",
productAnalytics: "Analisi del prodotto",
about: "Informazioni",
},
general: {
heading: "Generali",
description: "Preferenze utente e impostazioni di visualizzazione.",
loading: "Caricamento...",
logOut: "Esci",
defaultToolViewLabel: "Vista predefinita degli strumenti",
defaultToolViewDescription: "Come vengono visualizzati gli strumenti nella pagina iniziale",
sidebarOption: "Barra laterale",
fullscreenGridOption: "Griglia a schermo intero",
appVersionLabel: "Versione dell'app",
appVersionDescription: "Versione attuale di SnapOtter",
saveButton: "Salva impostazioni",
saveSuccess: "Impostazioni salvate.",
saveFailed: "Salvataggio delle impostazioni non riuscito.",
},
system: {
heading: "Impostazioni di sistema",
description: "Configurazione lato server e limiti.",
fileUploadLimitLabel: "Limite caricamento file (MB)",
fileUploadLimitDescription: "Dimensione massima del file per caricamento",
defaultThemeLabel: "Tema predefinito",
defaultThemeDescription: "Tema applicato per le nuove sessioni",
lightOption: "Chiaro",
darkOption: "Scuro",
systemOption: "Sistema",
languageLabel: "Lingua",
languageDescription: "Lingua dell'interfaccia",
loginAttemptLimitLabel: "Limite tentativi di accesso",
loginAttemptLimitDescription:
"Numero massimo di tentativi di accesso falliti al minuto prima del blocco",
fileManagementHeading: "Gestione file",
maxFileAgeLabel: "Eta massima file (ore)",
maxFileAgeDescription:
"Per quanto tempo i file elaborati vengono conservati prima della pulizia automatica",
startupCleanupLabel: "Pulizia all'avvio",
startupCleanupDescription: "Pulisce i vecchi file temporanei all'avvio del server",
saveButton: "Salva impostazioni",
saveSuccess: "Impostazioni salvate.",
saveFailed: "Salvataggio delle impostazioni non riuscito.",
limitsAndResources: "Limiti e risorse",
maxFileSize: "Dimensione massima file",
maxBatchSize: "Dimensione massima batch",
concurrentJobs: "Lavori simultanei",
workerThreads: "Thread di lavoro",
maxPipelineSteps: "Passaggi Pipeline massimi",
processingTimeout: "Timeout elaborazione",
rateLimitPerMin: "Limite richieste (req/min)",
unlimited: "Illimitato",
auto: "Automatico",
envOverride: "Impostato da variabile d'ambiente",
maxCanvasPixels: "Pixel canvas massimi",
maxSvgSize: "Dimensione SVG massima",
maxSplitGrid: "Griglia divisione massima",
maxPdfPages: "Pagine PDF massime",
sessionDuration: "Durata della sessione",
supportBundleButton: "Download Support Bundle",
supportBundleDescription:
"Download a diagnostic zip with redacted config, logs, and job data for troubleshooting.",
supportBundleFailed: "Failed to download support bundle.",
},
security: {
heading: "Sicurezza",
description: "Impostazioni di password e autenticazione.",
changePasswordHeading: "Cambia password",
currentPasswordPlaceholder: "Password attuale",
newPasswordPlaceholder: "Nuova password",
confirmPasswordPlaceholder: "Conferma nuova password",
passwordsMismatch: "Le password non corrispondono",
passwordTooShort: "La password deve contenere almeno 4 caratteri",
changeSuccess: "Password modificata con successo",
changeFailed: "Modifica della password non riuscita",
currentPasswordIncorrect: "La password attuale non e corretta",
changePasswordButton: "Cambia password",
loginAttemptLimitNote:
"I limiti dei tentativi di accesso possono essere configurati nelle Impostazioni di sistema.",
},
people: {
heading: "Persone",
description: "Gestisci i membri dell'area di lavoro e i loro permessi",
userCount: "{count} utente",
userCountPlural: "{count} utenti",
searchPlaceholder: "Cerca membri...",
addMembersButton: "Aggiungi membri",
newMemberHeading: "Nuovo membro",
usernamePlaceholder: "Nome utente",
passwordPlaceholder: "Password",
roleUserOption: "Utente",
roleEditorOption: "Editor",
roleAdminOption: "Admin",
roleUserDescription: "Accesso base agli strumenti",
roleEditorDescription: "Tutti i file e le pipeline",
roleAdminDescription: "Accesso completo",
noDescription: "Nessuna descrizione",
defaultTeamOption: "Predefinito",
createButton: "Crea",
cancelButton: "Annulla",
createSuccess: "Utente creato con successo",
createFailed: "Creazione dell'utente non riuscita",
userLimitReached: "Limite utenti raggiunto ({max} massimo)",
deleteConfirm: 'Eliminare l\'utente "{username}"? Questa azione non puo essere annullata.',
deleteSuccess: 'Utente "{username}" eliminato',
deleteFailed: "Eliminazione dell'utente non riuscita",
editHeading: "Modifica {username}",
updateSuccess: "Utente aggiornato",
updateFailed: "Aggiornamento dell'utente non riuscito",
cannotRemoveOwnAdmin: "Non e possibile rimuovere il proprio ruolo di amministratore",
resetPasswordHeading: "Reimposta password per {username}",
newPasswordLabel: "Nuova password (min. 8 caratteri)",
resetPasswordButton: "Reimposta password",
resetPasswordWarning:
"Questa operazione invalidera tutte le sessioni e le chiavi API di questo utente.",
resetSuccess: "Password reimpostata con successo",
resetFailed: "Reimpostazione della password non riuscita",
tableHeaderUser: "Utente",
tableHeaderRole: "Ruolo",
tableHeaderTeam: "Team",
noSearchResults: "Nessun membro corrisponde alla ricerca.",
noUsersFound: "Nessun utente trovato.",
authBadgeLocalOidc: "Locale + OIDC",
authBadgeOidc: "OIDC",
editRoleTeamAction: "Modifica ruolo / team",
resetPasswordAction: "Reimposta password",
deleteUserAction: "Elimina utente",
saveButton: "Salva",
copyPasswordButton: "Copia password",
passwordCopied: "Copiato!",
copyPasswordWarning:
"Copia questa password adesso. Non potrai vederla dopo aver creato l'utente.",
},
teams: {
heading: "Team",
description: "Organizza i membri in team per una gestione migliore.",
createButton: "Crea nuovo team",
newTeamHeading: "Nuovo team",
teamNamePlaceholder: "Nome del team",
createSubmitButton: "Crea",
cancelButton: "Annulla",
createSuccess: "Team creato con successo",
createFailed: "Creazione del team non riuscita",
duplicateTeamError: "Un team con questo nome esiste gia",
renameSuccess: "Team rinominato",
renameFailed: "Rinomina del team non riuscita",
deleteConfirm: 'Eliminare il team "{name}"? I membri verranno rimossi dall\'assegnazione.',
deleteSuccess: 'Team "{name}" eliminato',
deleteFailed: "Eliminazione del team non riuscita",
cannotDeleteDefault: "Impossibile eliminare il team predefinito o un team con membri",
tableHeaderTeamName: "Nome del team",
tableHeaderMembers: "Membri",
emptyState: "Nessun team trovato.",
renameSaveButton: "Salva",
renameCancelButton: "Annulla",
renameAction: "Rinomina",
deleteAction: "Elimina",
totalMembers: "Totale membri",
nameRequired: "Il nome del team e obbligatorio",
nameTooLong: "Il nome del team deve avere al massimo 50 caratteri",
duplicateName: "Un team con questo nome esiste gia",
},
roles: {
heading: "Ruoli",
description:
"Gestisci i ruoli e i loro permessi. I ruoli predefiniti non possono essere modificati.",
createButton: "Crea ruolo personalizzato",
newRoleHeading: "Nuovo ruolo",
roleNamePlaceholder: "Nome del ruolo",
descriptionPlaceholder: "Descrizione (opzionale)",
permissionsLabel: "Permessi",
createSubmitButton: "Crea",
cancelButton: "Annulla",
createSuccess: "Ruolo creato con successo",
createFailed: "Creazione del ruolo non riuscita",
duplicateRoleError: "Un ruolo con questo nome esiste gia",
editHeading: "Modifica ruolo: {name}",
editSaveButton: "Salva",
editCancelButton: "Annulla",
updateSuccess: "Ruolo aggiornato",
updateFailed: "Aggiornamento del ruolo non riuscito",
deleteConfirm: 'Eliminare il ruolo "{name}"? {count} utente/i dovranno essere riassegnati.',
deleteConfirmSimple: 'Eliminare il ruolo "{name}"?',
deleteSuccess: 'Ruolo "{name}" eliminato',
deleteFailed: "Eliminazione del ruolo non riuscita",
emptyState: "Nessun ruolo trovato.",
builtInBadge: "Predefinito",
userCountBadge: "{count} utente/i",
editRoleTitle: "Modifica ruolo",
deleteRoleTitle: "Elimina ruolo",
permGroup: {
tools: "Strumenti",
files: "File",
apiKeys: "Chiavi API",
pipelines: "Pipeline",
settings: "Impostazioni",
users: "Utenti",
teams: "Team",
system: "Sistema",
},
},
auditLog: {
heading: "Registro di audit",
allActionsFilter: "Tutte le azioni",
emptyState: "Nessuna voce nel registro di audit.",
tableHeaderTime: "Ora",
tableHeaderUser: "Utente",
tableHeaderAction: "Azione",
tableHeaderTarget: "Obiettivo",
paginationInfo: "Pagina {page} di {totalPages} ({total} voci)",
previousButton: "Precedente",
nextButton: "Successivo",
justNow: "adesso",
minutesAgo: "{mins}min fa",
hoursAgo: "{hrs}h fa",
daysAgo: "{days}g fa",
},
usage: {
heading: "Usage",
description: "Local usage statistics from jobs and file storage.",
periodLabel: "Period",
days7: "7 days",
days30: "30 days",
days90: "90 days",
jobsPerDayHeading: "Jobs per day",
topToolsHeading: "Top tools",
perUserHeading: "Per-user volume",
durationsHeading: "Duration percentiles",
noData: "No data for this period.",
dayColumn: "Day",
totalColumn: "Total",
completedColumn: "Completed",
failedColumn: "Failed",
toolColumn: "Tool",
runsColumn: "Runs",
userColumn: "User",
bytesInColumn: "Bytes in",
poolColumn: "Pool",
p50Column: "p50",
p95Column: "p95",
storageHeading: "Library storage",
storageFiles: "{count} files",
unknownUser: "(unknown)",
},
apiKeys: {
heading: "Chiavi API",
description: "Gestisci le chiavi API per l'accesso programmatico a SnapOtter.",
keyNamePlaceholder: "Nome della chiave (opzionale)",
generateButton: "Genera chiave API",
removeScopingLabel: "Rimuovi restrizione dei permessi",
restrictPermissionsLabel: "Limita permessi (opzionale)",
expiresLabel: "Scadenza:",
clearButton: "Cancella",
copyTitle: "Copia",
keyWarning: "Conserva questa chiave in modo sicuro. Non verra piu visualizzata.",
existingKeysHeading: "Chiavi esistenti",
createdPrefix: "Creata il {date}",
scopedPrefix: "Ambito:",
expiresPrefix: "Scade il {date}",
deleteKeyTitle: "Elimina chiave",
deleteConfirm:
"Eliminare questa chiave API? Le integrazioni che la utilizzano smetteranno di funzionare.",
emptyState: "Nessuna chiave API ancora. Generane una per iniziare.",
},
tools: {
heading: "Strumenti",
description:
"Attiva o disattiva i singoli strumenti. Gli strumenti disattivati sono nascosti a tutti gli utenti.",
restartBanner: "E necessario un riavvio per applicare le modifiche.",
searchPlaceholder: "Cerca strumenti...",
noSearchResults: "Nessuno strumento corrisponde alla ricerca.",
loadFailedError:
"Caricamento delle impostazioni degli strumenti non riuscito. Il salvataggio e disattivato per prevenire la perdita di dati.",
saveButton: "Salva impostazioni strumenti",
disabledCount: "{count} strumento/i disattivato/i",
},
experimental: {
label: "Attiva strumenti sperimentali",
description: "Mostra gli strumenti ancora in fase di sviluppo. Potrebbero essere instabili.",
},
fileManagement: {
title: "Gestione file",
maxAge: "Eta massima file (ore)",
maxAgeDescription:
"Per quanto tempo i file elaborati vengono conservati prima della pulizia automatica",
startupCleanup: "Pulizia all'avvio",
startupCleanupDescription: "Pulisce i vecchi file temporanei all'avvio del server",
},
analytics: {
heading: "Analisi del prodotto",
description: "Condividi dati di utilizzo anonimi per contribuire a migliorare SnapOtter.",
privacyNote: "Le tue immagini non lasciano mai il tuo dispositivo.",
disabledByAdmin: "L'analisi del prodotto e stata disattivata dall'amministratore del server.",
enabledLabel: "Analisi attivata",
disabledLabel: "Analisi disattivata",
learnMore: "Scopri di piu",
},
aiFeatures: {
title: "Funzionalità IA",
description:
"Gestisci pacchetti di modelli di IA per l'elaborazione avanzata delle immagini.",
installAll: "Installa tutto",
diskUsage: "Utilizzo del disco:",
installed: "Installato",
notInstalled: "Non installato",
queued: "Code",
install: "Installa",
repair: "Ripara",
uninstall: "Disinstalla",
installing: "Installazione...",
importBundle: "Import Bundle",
importDescription: "Upload a .tar.gz bundle archive exported from another installation.",
importButton: "Import from file",
importing: "Importing...",
importSuccess: "Bundle imported successfully.",
importError: "Bundle import failed: {error}",
},
about: {
heading: "Informazioni",
appName: "SnapOtter",
appDescription:
"Una suite di elaborazione immagini self-hosted e orientata alla privacy, con 70+ strumenti. Ridimensiona, comprimi, converti, aggiungi filigrane e automatizza i tuoi flussi di lavoro senza inviare dati al cloud.",
versionLabel: "Versione:",
linksHeading: "Link",
githubLink: "Repository GitHub",
docsLink: "Documentazione",
apiRefLink: "Riferimento API (Swagger)",
licenseLabel: "License:",
licenseDescription:
"SnapOtter e un software open-source distribuito con licenza GNU Affero General Public License v3 (AGPLv3).",
},
},
auth: {
login: "Accedi",
logout: "Esci",
username: "Nome utente",
password: "Password",
loginButton: "Accedi",
loggingIn: "Accesso in corso...",
invalidCredentials: "Nome utente o password non validi",
connectionError: "Errore di connessione",
signInWith: "Accedi con {provider}",
signInWithSso: "Accedi con SSO",
or: "o",
methodLocal: "Locale",
methodOidc: "OIDC",
methodBoth: "Locale + OIDC",
oidcAuthFailed: "Autenticazione non riuscita. Riprova.",
oidcProviderUnreachable: "Impossibile raggiungere il provider di identita. Riprova piu tardi.",
oidcSessionExpired: "La sessione di accesso e scaduta. Riprova.",
oidcUserNotAuthorized:
"Il tuo account non e autorizzato ad accedere a questa applicazione. Contatta l'amministratore.",
oidcUserLimitReached: "Limite utenti raggiunto. Contatta l'amministratore.",
oidcGenericError: "Errore di autenticazione. Riprova.",
passwordManagedByProvider:
"Le modifiche alla password sono gestite dal tuo provider di identita.",
enterUsername: "Inserisci il nome utente",
enterPassword: "Inserisci la password",
heroTitle: "Le tue immagini. Restano tue.",
heroSubtitle: "Tutti gli strumenti per le immagini di cui hai bisogno.",
rotatingPhrases: [
"Nessuna registrazione. Nessun account.",
"Nessun caricamento sul cloud. Mai.",
"Elaborazione 100% locale.",
"Gratuito. Per sempre.",
"Nessun limite. Nessun tetto nascosto.",
"Funziona completamente offline.",
"Elaborazione in blocco illimitata.",
"70+ strumenti per le immagini.",
"15 modelli IA. Il tuo hardware.",
"Velocissimo. Basato su Sharp.",
"Pronto per reti isolate.",
"Un solo contenitore Docker.",
"Open source. Sempre.",
"Ogni pixel resta sul tuo hardware.",
"Il tuo server. Le tue regole.",
"Si installa con un solo docker pull.",
"L'alternativa self-hosted.",
"Ridimensiona, comprimi, converti. Localmente.",
"Editor di immagini gratuito. Senza filigrane.",
"Elaborazione immagini in blocco. Illimitata.",
"Rimuovi sfondi offline.",
"Alternativa self-hosted a Canva.",
"Nessuna chiave API necessaria.",
"Conforme al GDPR fin dalla progettazione.",
"Funziona senza internet.",
],
},
changePassword: {
title: "Cambia la tua password",
description:
"Devi impostare una nuova password prima di continuare. La password deve contenere almeno 8 caratteri con maiuscole, minuscole e un numero.",
usernameLabel: "Nome utente",
currentPasswordLabel: "Password attuale",
currentPasswordPlaceholder: "Inserisci la password attuale",
newPasswordLabel: "Nuova password",
generateButton: "Genera password sicura",
newPasswordPlaceholder: "Almeno 8 caratteri",
confirmPasswordLabel: "Conferma nuova password",
confirmPasswordPlaceholder: "Ripeti la nuova password",
passwordsMismatch: "Le password non corrispondono",
failedError: "Modifica della password non riuscita",
connectionError: "Errore di connessione",
changingButton: "Modifica in corso...",
changeButton: "Cambia password",
sidebarTitle: "Ci siamo quasi",
sidebarDescription:
"Imposta una password sicura per proteggere il tuo account, poi sarai pronto.",
},
automate: {
title: "Automatizza",
invalidPipelineFile: "Non e un file Pipeline di SnapOtter valido",
newerVersion: "Questo Pipeline e stato creato con una versione piu recente di SnapOtter",
missingName: "Il file Pipeline non ha un nome",
noSteps: "Il file Pipeline non ha passaggi",
importFailed: "Importazione non riuscita",
couldNotRead: "Impossibile leggere il file Pipeline",
fileCount: "{count} file",
fileCountPlural: "{count} file",
importFromLibrary: "Importa dalla libreria",
addButton: "+ Aggiungi",
libraryButton: "Libreria",
clearButton: "Cancella",
processingFailed: "Elaborazione non riuscita per questo file",
processingMultiple: "Elaborazione di {count} file...",
processingPipeline: "Elaborazione Pipeline...",
processButton: "Elabora",
processButtonMultiple: "Elabora ({count})",
processAllButton: "Elabora tutti ({count})",
addTool: "Aggiungi strumento",
toolPalette: "Palette strumenti",
clickToAdd: "Fai clic per aggiungere al Pipeline",
savedLabel: "Salvato",
importButton: "Importa",
noSavedPipelines: "Nessun Pipeline salvato",
stepCount: "({count} passaggio)",
stepCountPlural: "({count} passaggi)",
exportPipeline: "Esporta Pipeline",
deletePipeline: "Elimina Pipeline",
moreCount: "+{count} altri",
pipelineBuilder: "Costruttore di Pipeline",
addToolsPrompt: "Aggiungi strumenti dalla palette per iniziare",
stepsConfigured: "{count} passaggio configurato",
stepsConfiguredPlural: "{count} passaggi configurati",
noFilesLoaded: "Nessun file caricato",
downloadZip: "Scarica ZIP",
saveButton: "Salva",
pipelineNamePlaceholder: "Nome del Pipeline",
descriptionPlaceholder: "Descrizione",
savingIndicator: "...",
cancelButton: "Annulla",
preview: "Anteprima",
previousImage: "Immagine precedente",
nextImage: "Immagine successiva",
imageCounter: "{current} / {total}",
imageArea: "Area immagine",
templateSocialMedia: "Pronto per i social",
templatePrivacyClean: "Pulizia privacy",
templateWebOptimization: "Ottimizzazione web",
templateProfilePicture: "Foto profilo",
templateWatermarkBatch: "Filigrana in blocco",
createNew: "Crea nuova automazione",
savedAutomations: "Automazioni salvate",
templates: "Modelli",
addStep: "Aggiungi passaggio",
removeStep: "Rimuovi",
moveUp: "Sposta su",
moveDown: "Sposta giu",
savePipeline: "Salva Pipeline",
runPipeline: "Elabora",
pipelineName: "Nome del Pipeline",
pipelineDescription: "Descrizione (opzionale)",
noStepsPrompt: "Aggiungi passaggi per costruire la tua automazione",
noStepsHeading: "Nessun passaggio",
searchToolsPlaceholder: "Cerca strumenti...",
step: "Passaggio",
},
nav: {
tools: "Strumenti",
reader: "Lettore",
automate: "Automatizza",
editor: "Editor",
files: "File",
help: "Guida",
settings: "Impostazioni",
grid: "Griglia",
},
files: {
myFiles: "I miei file",
recentTab: "Recenti",
uploadTab: "Carica file",
fileDetailsAriaLabel: "Dettagli file",
fileDetailsHeading: "Dettagli file",
searchPlaceholder: "Cerca file...",
selectedCount: "{count} selezionati",
fileCount: "{count} file",
fileCountSingular: "{count} file",
noFilesFound: "Nessun file trovato",
selectFilePrompt: "Seleziona un file per visualizzare i dettagli",
openFile: "Apri file",
openInPipeline: "Apri nella pipeline",
name: "Nome",
format: "Formato",
size: "Dimensione",
dimensions: "Dimensioni",
version: "Versione",
toolsUsed: "Strumenti utilizzati",
none: "Nessuno",
delete: "Elimina",
pipeline: "Pipeline",
download: "Scarica",
},
dropzone: {
unsupportedFileType: "Questo tipo di file non e supportato da questo strumento",
urlFetchFailed: "Impossibile recuperare l'immagine dall'URL",
ariaLabel: "Area di rilascio file",
dropPrompt: "Trascina le tue immagini qui",
browseOrPaste: "fai clic ovunque per sfogliare, oppure incolla dagli appunti",
uploadButton: "Carica",
defaultFormats: "PNG, JPG, WebP, HEIC, RAW, PSD e oltre 65 formati",
orSeparator: "o",
urlPlaceholder: "Incolla l'URL dell'immagine...",
urlLoadingIndicator: "...",
addUrlButton: "Aggiungi",
importMultipleUrls: "Importa piu URL...",
filesSelected: "{count} file selezionati",
},
reviewPanel: {
processedResultAlt: "Risultato elaborato",
sizeLabel: "Dimensione: {size}",
typeLabel: "Tipo: {type}",
processedLabel: "Elaborato: {time}",
undoButton: "Annulla",
downloadButton: "Scarica",
openInEditor: "Apri nell'editor",
reviewHeading: "Revisione",
continueEditing: "Continua a modificare",
},
features: {
notEnabledTitle: "Funzionalita non attivata",
notEnabledDescription:
"Questa funzionalita non e attivata. Chiedi all'amministratore di attivarla nelle Impostazioni.",
requiresDownload: "Questa funzionalita richiede un download aggiuntivo (~{size})",
retryButton: "Riprova",
queued: "In coda per l'installazione...",
enableButton: "Attiva {name}",
repairRequired: "Repair Required",
repairDescription: "Some model files are missing or corrupted. Repair will re-download them.",
repairButton: "Repair {name}",
lessThanMinute: "Meno di un minuto rimanente",
oneMinuteLeft: "~1 minuto rimanente",
minutesLeft: "~{mins} minuti rimanenti",
progressMessages: [
"Ci siamo quasi... forse...",
"Le cose belle richiedono tempo...",
"Sempre piu veloce che guardare asciugare la vernice...",
"La tua pazienza e davvero ammirevole...",
"Sta lavorando piu di quanto sembri...",
"Questa e la parte entusiasmante, fidati...",
"Operazioni importanti dietro le quinte...",
"Se stai leggendo questo, funziona...",
"Preparando qualcosa di fantastico...",
"Ne vale ogni secondo, promesso...",
"La suspense fa parte dell'esperienza...",
"Insegnando nuovi trucchi al tuo computer...",
"Configurazione dei tuoi superpoteri...",
"Le tue immagini ti ringrazieranno dopo...",
"Caricamento... ma con stile...",
"Ottimo momento per un caffe...",
"Neanche Roma e stata costruita in un giorno...",
"Shhh... genio al lavoro...",
"Le tue foto diventeranno gelose di quello che arriva...",
"Assemblaggio del dream team...",
"Spacchettamento di meraviglie...",
"Quasi finito di pensare di iniziare... scherzo...",
"Colpo di scena: sta davvero facendo qualcosa...",
"Riscaldamento dei motori creativi...",
"Immaginazione in caricamento...",
"Non e un salvaschermo, promesso...",
"La grande arte ha bisogno di tempo per installarsi...",
"Il te stesso del futuro ti ringraziera...",
"Recupero di file molto intelligenti...",
"Tieni duro, il meglio deve ancora venire...",
],
},
help: {
heading: "Guida",
gettingStarted: {
heading: "Per iniziare",
description:
"Seleziona uno strumento dalla barra laterale o cercane uno. Carica un'immagine trascinandola sulla pagina o facendo clic sull'area di caricamento. Regola le impostazioni e scarica il risultato.",
},
keyboardShortcuts: {
heading: "Scorciatoie da tastiera",
focusSearchBar: "Focus sulla barra di ricerca",
goToTools: "Vai agli strumenti",
toggleTheme: "Cambia tema",
goToResize: "Vai a Ridimensiona",
goToCrop: "Vai a Ritaglia",
goToCompress: "Vai a Comprimi",
goToConvert: "Vai a Converti",
goToRemoveBackground: "Vai a Rimuovi sfondo",
goToWatermarkText: "Vai a Filigrana testo",
goToStripMetadata: "Vai a Rimuovi metadati",
goToImageInfo: "Vai a Info immagine",
},
resources: {
heading: "Risorse",
githubLink: "Repository GitHub",
reportIssueLink: "Segnala un problema",
docsLink: "Documentazione",
apiRefLink: "Riferimento API (Swagger)",
},
versionLabel: "SnapOtter v{version}",
},
errors: {
generic: "Si e verificato un errore",
offline: "Sei offline",
reconnecting: "Riconnessione al server...",
connected: "Connesso",
processingFailed: "Elaborazione non riuscita per questo file",
timeout: "Richiesta scaduta. Il server potrebbe essere sovraccarico. Riprova.",
networkError: "Errore di rete. Verifica la tua connessione.",
invalidCredentials: "Nome utente o password non validi",
connectionError: "Errore di connessione",
},
analytics: {
consentTitle: "Aiuta a migliorare SnapOtter",
consentDescription:
"Le statistiche d'uso anonime ci aiutano a correggere bug e creare gli strumenti di cui hai davvero bisogno. Le tue immagini e i tuoi file restano sul tuo dispositivo.",
consentChangeable: "Puoi disattivare questa opzione in qualsiasi momento nelle Impostazioni.",
acceptButton: "Certo, va bene",
declineButton: "Non ora",
settingsTitle: "Analisi del prodotto",
settingsDescription:
"Condividi dati di utilizzo anonimi per contribuire a migliorare SnapOtter.",
settingsPrivacy: "Le tue immagini non lasciano mai il tuo dispositivo.",
settingsDisabledByAdmin:
"L'analisi del prodotto e stata disattivata dall'amministratore del server.",
learnMore: "Scopri di piu",
},
sidebar: {
tools: "Strumenti",
grid: "Griglia",
automate: "Automatizza",
editor: "Editor",
files: "File",
help: "Guida",
settings: "Impostazioni",
},
toolCard: {
addToFavourites: "Aggiungi ai preferiti",
},
appLayout: {
mobileNavTools: "Strumenti",
mobileNavAutomate: "Automatizza",
mobileNavEditor: "Editor",
mobileNavFiles: "File",
mobileNavSettings: "Impostazioni",
},
a11y: {
skipToContent: "Vai al contenuto principale",
openSidebar: "Apri barra laterale",
closeSidebar: "Chiudi barra laterale",
closeSettings: "Chiudi impostazioni",
closeHelp: "Chiudi guida",
closeDialog: "Chiudi finestra di dialogo",
zoomIn: "Ingrandisci",
zoomOut: "Riduci",
fitToView: "Adatta alla vista",
actualSize: "Dimensione reale",
previousImage: "Immagine precedente",
nextImage: "Immagine successiva",
imageArea: "Area immagine",
imageViewer: "Visualizzatore immagini",
fileDropZone: "Zona di rilascio file",
imageDropZone: "Zona di rilascio immagini",
beforeAfterSlider: "Cursore confronto prima/dopo",
imageControls: "Controlli immagine",
zoomControls: "Controlli zoom",
dragToReorder: "Trascina per riordinare",
whiteBackground: "Sfondo bianco",
blackBackground: "Sfondo nero",
expandPanel: "Espandi pannello",
collapsePanel: "Comprimi pannello",
swapDimensions: "Scambia dimensioni",
applyCrop: "Applica ritaglio",
cancelCrop: "Annulla ritaglio",
fontFamily: "Famiglia di caratteri",
textColor: "Colore del testo",
flipHorizontal: "Capovolgi orizzontalmente",
flipVertical: "Capovolgi verticalmente",
hexColorValue: "Valore colore esadecimale",
backgroundColor: "Colore di sfondo",
foregroundColor: "Colore di primo piano",
swapColors: "Scambia colori primo piano e sfondo",
resetColors: "Ripristina bianco e nero predefiniti",
foregroundHex: "Valore esadecimale colore primo piano",
undo: "Annulla",
redo: "Ripeti",
layers: "Livelli",
addLayer: "Aggiungi livello",
deleteLayer: "Elimina livello",
cancelOperation: "Annulla operazione",
fill: "Riempimento",
fileDetails: "Dettagli file",
language: "Lingua",
selected: "Selezionato",
deleteKey: "Tasto Elimina",
editRole: "Modifica ruolo",
deleteRole: "Elimina ruolo",
notInstalled: "Non installato",
queued: "In coda per l'installazione",
installing: "Installazione in corso",
imageNOfTotal: "Immagine {n} di {total}",
processingComplete: "Immagine elaborata con successo",
processingFailed: "Elaborazione non riuscita",
settingsDialog: "Impostazioni",
helpDialog: "Guida",
navigationMenu: "Menu di navigazione",
},
} as const;