feat(i18n): add Italian (it) locale

Add full Italian translation across all 8 namespaces (common, launch,
editor, timeline, settings, dialogs, shortcuts, extensions). Register
'it' in SUPPORTED_LOCALES, wire bundle in I18nContext, and add
"Italiano" label to MorePopover and SettingsPanel language selectors.

i18n:check reports no missing/extra keys for the new locale.
This commit is contained in:
miticojo
2026-05-10 11:47:39 +02:00
parent f6a40d7324
commit c85af1e5b5
12 changed files with 667 additions and 1 deletions
@@ -25,6 +25,7 @@ const LOCALE_LABELS: Record<string, string> = {
en: "English",
es: "Español",
fr: "Français",
it: "Italiano",
nl: "Nederlands",
ko: "한국어",
"pt-BR": "Português",
@@ -642,6 +642,7 @@ const APP_LANGUAGE_LABELS: Record<AppLocale, string> = {
en: "English",
es: "Español",
fr: "Français",
it: "Italiano",
nl: "Nederlands",
ko: "한국어",
"pt-BR": "Português",
+18
View File
@@ -38,6 +38,14 @@ import frLaunch from "@/i18n/locales/fr/launch.json";
import frSettings from "@/i18n/locales/fr/settings.json";
import frShortcuts from "@/i18n/locales/fr/shortcuts.json";
import frTimeline from "@/i18n/locales/fr/timeline.json";
import itCommon from "@/i18n/locales/it/common.json";
import itDialogs from "@/i18n/locales/it/dialogs.json";
import itEditor from "@/i18n/locales/it/editor.json";
import itExtensions from "@/i18n/locales/it/extensions.json";
import itLaunch from "@/i18n/locales/it/launch.json";
import itSettings from "@/i18n/locales/it/settings.json";
import itShortcuts from "@/i18n/locales/it/shortcuts.json";
import itTimeline from "@/i18n/locales/it/timeline.json";
import koCommon from "@/i18n/locales/ko/common.json";
import koDialogs from "@/i18n/locales/ko/dialogs.json";
import koEditor from "@/i18n/locales/ko/editor.json";
@@ -114,6 +122,16 @@ const messages: Record<AppLocale, LocaleBundle> = {
shortcuts: frShortcuts,
extensions: frExtensions,
},
it: {
common: itCommon,
launch: itLaunch,
editor: itEditor,
timeline: itTimeline,
settings: itSettings,
dialogs: itDialogs,
shortcuts: itShortcuts,
extensions: itExtensions,
},
nl: {
common: nlCommon,
launch: nlLaunch,
+1 -1
View File
@@ -1,6 +1,6 @@
export const DEFAULT_LOCALE = "en" as const;
export const SUPPORTED_LOCALES = ["en", "es", "fr", "nl", "ko", "pt-BR", "zh-CN", "zh-TW"] as const;
export const SUPPORTED_LOCALES = ["en", "es", "fr", "it", "nl", "ko", "pt-BR", "zh-CN", "zh-TW"] as const;
export const I18N_NAMESPACES = [
"common",
+26
View File
@@ -0,0 +1,26 @@
{
"app": {
"name": "Recordly",
"editorTitle": "Editor Recordly",
"subtitle": "Registrazione e modifica dello schermo",
"language": "Lingua",
"manageRecordings": "Apri cartella registrazioni"
},
"actions": {
"cancel": "Annulla",
"close": "Chiudi",
"export": "Esporta",
"load": "Carica",
"redo": "Ripeti",
"reset": "Ripristina",
"save": "Salva",
"undo": "Annulla",
"delete": "Elimina",
"done": "Fatto"
},
"errors": {
"invalidFileType": "Tipo di file non valido",
"failedToUploadImage": "Caricamento immagine non riuscito",
"fileReadError": "Si è verificato un errore durante la lettura del file."
}
}
+62
View File
@@ -0,0 +1,62 @@
{
"export": {
"pleaseTryAgain": "Riprova",
"compilingGifProgress": "Compilazione GIF... {{progress}}%",
"compilingGifWait": "Compilazione GIF... Potrebbe richiedere del tempo",
"takeMoment": "Potrebbe richiedere un momento...",
"exportFailed": "Esportazione non riuscita",
"compilingGifTitle": "Compilazione GIF",
"exportingFormat": "Esportazione {{format}}",
"exportComplete": "Esportazione completata",
"formatReady": "Il tuo {{format}} è pronto",
"showInFolder": "Mostra nella cartella",
"compiling": "Compilazione",
"renderingFrames": "Rendering frame",
"processing": "Elaborazione...",
"status": "Stato",
"format": "Formato",
"compilingStatus": "Compilazione in corso...",
"frames": "Frame",
"cancelExport": "Annulla esportazione",
"reopenSaveDialog": "Riapri finestra di salvataggio",
"savedSuccess": "{{format}} salvato con successo!"
},
"addFont": {
"title": "Aggiungi Google Font",
"heading": "Aggiungi Google Font",
"description": "Aggiungi un font personalizzato da Google Fonts da usare nelle annotazioni.",
"urlLabel": "URL di importazione Google Fonts",
"urlPlaceholder": "https://fonts.googleapis.com/css2?family=Roboto&display=swap",
"urlHelp": "Recupera l'URL da Google Fonts: seleziona un font → clicca \"Get font\" → copia l'URL @import",
"nameLabel": "Nome visualizzato",
"namePlaceholder": "Il mio font personalizzato",
"nameHelp": "Questo è il nome con cui il font apparirà nel selettore",
"adding": "Aggiunta in corso...",
"addFont": "Aggiungi font",
"enterUrl": "Inserisci un URL di importazione Google Fonts",
"invalidUrl": "Inserisci un URL Google Fonts valido",
"enterName": "Inserisci un nome per il font",
"extractFailed": "Impossibile estrarre la famiglia di font dall'URL",
"addSuccess": "Font \"{{name}}\" aggiunto con successo",
"addFailed": "Aggiunta del font non riuscita",
"loadTimeout": "Il caricamento del font ha richiesto troppo tempo. Verifica l'URL e riprova.",
"loadFailed": "Impossibile caricare il font. Verifica che l'URL Google Fonts sia corretto."
},
"shortcutsConfig": {
"title": "Scorciatoie da tastiera",
"configurable": "Configurabile",
"fixed": "Fisso",
"pressEscToCancel": "Premi Esc per annullare",
"clickToChange": "Clicca per modificare",
"pressAKey": "Premi un tasto…",
"alreadyUsedBy": "Già utilizzato da <strong>{{action}}</strong>",
"swap": "Scambia",
"reserved": "Questa scorciatoia è riservata a \"{{label}}\" e non può essere riassegnata.",
"saved": "Scorciatoie da tastiera salvate",
"resetNotice": "Ripristinate le scorciatoie predefinite — clicca Salva per applicare",
"instructions": "Clicca su una scorciatoia, poi premi la nuova combinazione di tasti. Premi Esc per annullare.",
"resetToDefaults": "Ripristina predefinite",
"cancel": "Annulla",
"save": "Salva"
}
}
+142
View File
@@ -0,0 +1,142 @@
{
"playback": {
"play": "Riproduci",
"pause": "Pausa",
"skipBack": "Indietro",
"skipForward": "Avanti",
"muteUnmute": "Disattiva/Attiva audio"
},
"annotations": {
"settings": "Impostazioni annotazione",
"active": "Attiva",
"text": "Testo",
"image": "Immagine",
"arrow": "Freccia",
"blur": "Sfocatura",
"textContent": "Contenuto del testo",
"textPlaceholder": "Inserisci il tuo testo...",
"fontStyle": "Stile font",
"selectStyle": "Seleziona stile",
"size": "Dimensione",
"toggleBold": "Attiva grassetto",
"toggleItalic": "Attiva corsivo",
"toggleUnderline": "Attiva sottolineato",
"alignLeft": "Allinea a sinistra",
"alignCenter": "Allinea al centro",
"alignRight": "Allinea a destra",
"textColor": "Colore testo",
"background": "Sfondo",
"none": "Nessuno",
"clearBackground": "Rimuovi sfondo",
"uploadImage": "Carica immagine",
"supportedFormats": "Formati supportati: JPG, PNG, GIF, WebP",
"arrowDirection": "Direzione freccia",
"strokeWidth": "Spessore tratto: {{width}}px",
"arrowColor": "Colore freccia",
"deleteAnnotation": "Elimina annotazione",
"shortcutsAndTips": "Scorciatoie e consigli",
"tipSelectAnnotation": "Sposta il cursore sulla sezione dell'annotazione sovrapposta e seleziona un elemento.",
"tipCycleForward": "Usa Tab per scorrere tra gli elementi sovrapposti.",
"tipCycleBackward": "Usa Shift+Tab per scorrere indietro.",
"imageUploadSuccess": "Immagine caricata con successo!",
"imageUploadError": "Carica un file immagine JPG, PNG, GIF o WebP.",
"blurStrength": "Intensità sfocatura: {{strength}}",
"solidColor": "Colore pieno (Censura)",
"borderRadius": "Raggio bordo"
},
"fontStyles": {
"classic": "Classico",
"editor": "Editor",
"strong": "Grassetto",
"typewriter": "Macchina da scrivere",
"deco": "Deco",
"simple": "Semplice",
"modern": "Moderno",
"clean": "Pulito"
},
"format": {
"mp4Video": "Video MP4",
"mp4Description": "File video di alta qualità",
"gifAnimation": "Animazione GIF",
"gifDescription": "Immagine animata da condividere"
},
"gifOptions": {
"frameRate": "Frequenza fotogrammi",
"outputSize": "Dimensione output",
"outputDimensions": "Output: {{width}} × {{height}}px",
"loopAnimation": "Riproduci in loop",
"loopDescription": "La GIF verrà riprodotta continuamente"
},
"tutorial": {
"howTrimmingWorks": "Come funziona il taglio",
"title": "Come funziona il taglio",
"understanding": "Capire come tagliare le parti indesiderate del tuo video.",
"descriptionP1": "Lo strumento Taglia funziona definendo i segmenti che vuoi",
"descriptionRemove": "rimuovere",
"descriptionP2": "dal tuo video.",
"descriptionP3": "Qualsiasi parte della timeline coperta da un segmento di taglio rosso verrà rimossa durante l'esportazione.",
"visualExample": "Esempio visivo",
"removed": "RIMOSSO",
"kept": "Mantenuto",
"finalVideo": "Video finale",
"part": "Parte {{number}}",
"addTrimStep": "1. Aggiungi taglio",
"addTrimDesc": "Premi T o clicca sull'icona delle forbici per contrassegnare una sezione da rimuovere.",
"adjustStep": "2. Regola",
"adjustDesc": "Trascina i bordi della regione rossa per coprire esattamente ciò che vuoi tagliare."
},
"feedback": {
"trigger": "Feedback",
"title": "Feedback e contatti",
"description": "Contattaci direttamente o apri una segnalazione se qualcosa non funziona o manca.",
"emailLabel": "Email",
"xLabel": "X",
"reportIssue": "Segnala problema / invia feedback",
"openFailed": "Apertura del link non riuscita."
},
"keyboardShortcuts": {
"trigger": "Scorciatoie",
"title": "Scorciatoie da tastiera",
"description": "Riferimento rapido per i controlli della timeline e dell'editor.",
"customizeTooltip": "Personalizza scorciatoie",
"customize": "Personalizza",
"panTimeline": "Sposta timeline",
"zoomTimeline": "Zoom timeline",
"cycleAnnotations": "Scorri annotazioni",
"tab": "Tab"
},
"actions": {
"saveAgain": "Salva di nuovo",
"showInFolder": "Mostra nella cartella"
},
"project": {
"untitled": "Senza titolo"
},
"nativeCaptureUnavailable": {
"title": "Niente è rotto, ma non sarà possibile renderizzare un overlay del cursore animato.",
"description": "Il tuo dispositivo non supporta la cattura nativa. Le cause possono essere varie e non ancora identificate. Recordly funziona comunque, ma non è possibile applicare lo smoothing del cursore.",
"confirm": "Ok"
},
"exportStatus": {
"exporting": "Esportazione in corso",
"renderingFile": "Rendering del file in corso.",
"preparing": "Preparazione esportazione...",
"completePercent": "{{percent}}% completato",
"issue": "Problema di esportazione",
"complete": "Esportazione completata",
"savedSuccessfully": "Il tuo file è stato salvato con successo."
},
"export": {
"processingAudioEdits": "Elaborazione audio con modifiche di velocità/overlay"
},
"toolbar": {
"addLayer": "Aggiungi livello",
"splitClip": "Dividi clip (C)"
},
"timeline": {
"expand": "Espandi timeline",
"collapse": "Comprimi timeline"
},
"openRecordingsFolder": "Apri cartella registrazioni"
}
+60
View File
@@ -0,0 +1,60 @@
{
"title": "Estensioni",
"tabs": {
"browse": "Esplora",
"installed": "Installate"
},
"actions": {
"submit": "Invia un'estensione",
"docs": "Documentazione estensioni",
"refresh": "Aggiorna",
"openFolder": "Apri cartella estensioni",
"uninstall": "Disinstalla",
"install": "Installa",
"installing": "Installazione in corso",
"add": "Aggiungi",
"retry": "Riprova",
"close": "Chiudi",
"folder": "Cartella"
},
"status": {
"enabled": "Abilitata",
"disabled": "Disabilitata",
"installed": "Installata"
},
"detail": {
"by": "Di {{author}}",
"unknownAuthor": "Autore sconosciuto",
"noDescription": "Nessuna descrizione",
"downloads": "{{count}} download",
"preview": "Anteprima",
"screenshotAlt": "Schermata {{number}}",
"description": "Descrizione",
"tags": "Tag",
"permissions": "Autorizzazioni",
"location": "Posizione",
"error": "Errore: {{message}}"
},
"empty": {
"title": "Nessuna estensione",
"description": "Installa estensioni per aggiungere cornici, effetti del cursore e strumenti per l'editor."
},
"search": {
"placeholder": "Cerca estensioni...",
"noResults": "Nessuna estensione trovata",
"noMarketplace": "Nessuna estensione del marketplace ancora disponibile",
"count": "{{count}} estensione",
"countPlural": "{{count}} estensioni"
},
"toast": {
"installedAndEnabled": "Estensione installata e abilitata",
"uninstalled": "{{name}} disinstallata",
"uninstallFailed": "Disinstallazione di {{name}} non riuscita",
"searchFailed": "Ricerca nel marketplace non riuscita",
"refreshed": "Estensioni aggiornate",
"refreshFailed": "Aggiornamento delle estensioni non riuscito",
"marketplaceInstalled": "{{name}} installata e abilitata",
"marketplaceInstallFailed": "Installazione di {{name}} non riuscita",
"enableFailed": "Abilitazione dell'estensione non riuscita"
}
}
+80
View File
@@ -0,0 +1,80 @@
{
"recording": {
"disableSystemAudio": "Disabilita audio di sistema",
"enableSystemAudio": "Abilita audio di sistema",
"disableMicrophone": "Disabilita microfono",
"enableMicrophone": "Abilita microfono",
"micToggleDisabledTip": "Il microfono non può essere attivato/disattivato durante la registrazione",
"disableWebcam": "Disabilita overlay webcam",
"enableWebcam": "Abilita overlay webcam",
"countdownDelay": "Ritardo conto alla rovescia",
"noDelay": "Nessun ritardo",
"record": "Registra",
"recordingFolder": "Percorso registrazioni: {{path}}",
"chooseRecordingsFolder": "Scegli percorso registrazioni",
"folderPath": "Percorso: /{{name}}/",
"openVideoFile": "Apri file video",
"openProject": "Apri progetto",
"hideHudFromVideo": "Nascondi HUD dalla registrazione",
"showHudInVideo": "Mostra HUD nella registrazione",
"hideHud": "Nascondi HUD",
"closeApp": "Chiudi app",
"screens": "Schermi",
"windows": "Finestre",
"screen": "Schermo",
"window": "Finestra",
"noSourcesFound": "Nessuna sorgente trovata",
"microphone": "Microfono",
"turnOffMicrophone": "Spegni microfono",
"selectMicToEnable": "Seleziona un microfono da abilitare",
"noMicrophonesFound": "Nessun microfono trovato",
"webcam": "Webcam",
"turnOffWebcam": "Spegni webcam",
"hideFloatingWebcamPreview": "Nascondi anteprima fluttuante",
"showFloatingWebcamPreview": "Mostra anteprima fluttuante",
"selectWebcamToEnable": "Seleziona una webcam da abilitare",
"noWebcamsFound": "Nessuna webcam trovata",
"recordingsFolder": "Percorso registrazioni",
"language": "Lingua",
"paused": "IN PAUSA",
"rec": "REC",
"resume": "Riprendi",
"pause": "Pausa",
"stop": "Stop",
"cancel": "Annulla",
"more": "Altro",
"update": {
"update": "Aggiorna",
"updated": "Aggiornato",
"idleTitle": "Verifica aggiornamenti.",
"checkingTitle": "Verifica aggiornamenti in corso...",
"downloadingTitle": "Download dell'aggiornamento in corso...",
"errorTitle": "Verifica aggiornamenti non riuscita. Clicca per riprovare.",
"upToDateTitle": "Recordly {{version}} è aggiornato.",
"availableTitle": "Recordly {{version}} è disponibile.",
"availableGenericTitle": "È disponibile un aggiornamento."
}
},
"sourceSelector": {
"loadingSources": "Caricamento sorgenti...",
"screens": "Schermi",
"windows": "Finestre",
"noScreensAvailable": "Nessuno schermo disponibile",
"noWindowsAvailable": "Nessuna finestra disponibile",
"windowsNote": "Solo le finestre visibili (non ridotte a icona) possono essere registrate.",
"windowPlaceholder": "Finestra",
"cancel": "Annulla",
"share": "Condividi"
},
"permissions": {
"screenRecordingNeeded": "Recordly necessita del permesso di Registrazione schermo prima di iniziare. Sono state aperte le Impostazioni di sistema. Dopo averlo abilitato, esci e riapri Recordly.",
"screenRecordingMissing": "Manca ancora il permesso di Registrazione schermo. Le Impostazioni di sistema sono state riaperte. Abilitalo, poi esci e riapri Recordly prima di registrare.",
"accessibilityNeeded": "Recordly necessita anche del permesso di Accessibilità per il tracciamento del cursore. Sono state aperte le Impostazioni di sistema. Dopo averlo abilitato, esci e riapri Recordly.",
"accessibilityMissing": "Manca ancora il permesso di Accessibilità. Le Impostazioni di sistema sono state riaperte. Abilitalo, poi esci e riapri Recordly prima di registrare.",
"selectSource": "Seleziona una sorgente da registrare",
"systemAudioUnavailable": "L'audio di sistema non è disponibile per questa sorgente. La registrazione continuerà senza audio di sistema.",
"microphoneDenied": "L'accesso al microfono è stato negato. La registrazione continuerà senza audio del microfono.",
"failedToStart": "Avvio della registrazione non riuscito: {{error}}",
"failedToStartGeneric": "Avvio della registrazione non riuscito"
}
}
+219
View File
@@ -0,0 +1,219 @@
{
"zoom": {
"level": "Livello di zoom",
"selectRegion": "Seleziona una regione di zoom da modificare",
"deleteZoom": "Elimina zoom",
"modeAuto": "Auto",
"modeManual": "Manuale",
"modeManualDescription": "Imposta un punto focale fisso per questo zoom",
"modeAutoDescription": "La camera si ricentra quando il cursore si avvicina al bordo della vista zoomata"
},
"trim": {
"deleteRegion": "Elimina regione di taglio"
},
"speed": {
"playbackSpeed": "Velocità di riproduzione",
"selectRegion": "Seleziona una regione di velocità da modificare",
"deleteRegion": "Elimina regione di velocità",
"label": "Velocità"
},
"clip": {
"title": "Clip",
"mute": "Disattiva audio",
"mutedState": "Audio disattivato",
"unmutedState": "Audio in riproduzione",
"separateClipFromAudio": "Separa clip dall'audio",
"delete": "Elimina clip"
},
"effects": {
"title": "Effetti video",
"show": "Mostra",
"showCursor": "Mostra cursore",
"loopCursor": "Cursore in loop",
"cursorStyle": "Stile cursore",
"cursorStyleOptions": {
"macos": "macOS",
"tahoe": "Tahoe",
"tahoe-inverted": "Tahoe invertito",
"dot": "Punto",
"figma": "Minimal",
"lavender": "Lavanda",
"parched": "Parched",
"chooper": "Chooper",
"amongus": "Among Us",
"turtle": "Tartaruga"
},
"backgroundBlur": "Sfocatura sfondo",
"zoomMotionBlur": "Motion blur dello zoom",
"temporalZoomMotionBlur": "Sfocatura zoom temporale",
"temporalZoomMotionBlurDescription": "Controlla la finestra dell'otturatore e i campioni di frame usati dal nuovo passaggio di sfocatura zoom.",
"zoomMotionBlurSamples": "Campioni di sfocatura",
"zoomMotionBlurShutter": "Otturatore",
"auto": "Auto",
"connectZooms": "Connetti zoom",
"connectZoomsDescription": "Unisce regioni di zoom consecutive in un movimento di camera continuo.",
"autoApplyFreshRecordingZooms": "Applica automaticamente zoom alle nuove registrazioni",
"autoApplyFreshRecordingZoomsDescription": "Suggerisci automaticamente zoom con ricentratura ai bordi quando apri una nuova registrazione.",
"zoomGeneralTitle": "Generale",
"zoomGeneralDescription": "Impostazioni di movimento globali per ogni transizione di zoom.",
"zoomInTitle": "Zoom in",
"zoomInDescription": "Controlla come la camera entra in una regione di zoom.",
"zoomOutTitle": "Zoom out",
"zoomOutDescription": "Controlla come la camera esce da una regione di zoom.",
"connectedZoomTitle": "Tra zoom",
"connectedZoomDescription": "Regola lo scorrimento tra regioni di zoom consecutive quando la connessione è abilitata.",
"motionPresetsTitle": "Preset di movimento",
"motionPresetsZoomHint": "I preset di movimento dello zoom sono disponibili nelle Impostazioni.",
"animationPresets": "Preset di animazione",
"cursorMotionPresets": "Preset di movimento del cursore",
"motionPresets": {
"focused": {
"label": "Focalizzato",
"description": "Movimento più rapido per demo, walkthrough e registrazioni quotidiane."
},
"smooth": {
"label": "Fluido",
"description": "Movimento più delicato per presentazioni, video in stile keynote e reveal raffinati."
}
},
"zoomInDuration": "Durata zoom in",
"zoomInOverlap": "Sovrapposizione zoom in",
"zoomOutDuration": "Durata zoom out",
"zoomInEasing": "Curva zoom in",
"zoomOutEasing": "Curva zoom out",
"connectedZoomGap": "Distanza zoom connessi",
"connectedZoomDuration": "Durata zoom connessi",
"connectedZoomEasing": "Curva pan connesso",
"zoomEasingOptions": {
"recordly": "Recordly",
"glide": "Glide",
"smooth": "Fluido",
"snappy": "Rapido",
"linear": "Lineare"
},
"cursorSize": "Dimensione cursore",
"cursorSmoothing": "Smoothing cursore",
"cursorSpringStiffness": "Rigidezza molla cursore",
"cursorSpringDamping": "Smorzamento molla cursore",
"cursorSpringMass": "Massa molla cursore",
"off": "Off",
"cursorMotionBlur": "Motion blur del cursore",
"cursorClickBounce": "Rimbalzo al clic del cursore",
"cursorClickBounceDuration": "Velocità rimbalzo",
"cursorSway": "Oscillazione cursore",
"webcam": "Overlay webcam",
"webcamFootage": "Filmato webcam",
"webcamFootageDescription": "Nessun filmato webcam collegato a questo video",
"uploadWebcamFootage": "Carica filmato",
"replaceWebcamFootage": "Sostituisci filmato",
"removeWebcamFootage": "Rimuovi filmato",
"webcamFootageAdded": "Filmato webcam collegato",
"webcamFootageRemoved": "Filmato webcam rimosso",
"webcamSize": "Dimensione webcam",
"webcamCrop": "Ritaglio webcam",
"webcamReactToZoom": "La webcam reagisce allo zoom",
"webcamMirror": "Specchia webcam",
"webcamRoundness": "Arrotondamento webcam",
"webcamShadow": "Ombra webcam",
"shadow": "Ombra",
"radius": "Raggio",
"roundness": "Arrotondamento",
"padding": "Padding",
"paddingLinked": "Collegato (uniforme)",
"paddingUnlinked": "Scollegato (asimmetrico)",
"paddingTop": "Alto",
"paddingBottom": "Basso",
"paddingLeft": "Sinistra",
"paddingRight": "Destra",
"removeBackground": "Rimuovi sfondo"
},
"sections": {
"scene": "Scena",
"captions": "Sottotitoli",
"zoom": "Zoom",
"cursor": "Cursore",
"webcam": "Webcam",
"frame": "Cornice",
"crop": "Ritaglio"
},
"captions": {
"enabled": "Mostra",
"language": "Lingua",
"downloading": "Download in corso...",
"deleteModel": "Elimina modello",
"clearModel": "Cancella modello",
"downloadModel": "Scarica modello",
"generating": "Generazione in corso...",
"generateFull": "Genera sottotitoli",
"regenerateFull": "Rigenera sottotitoli",
"clearFull": "Cancella sottotitoli",
"fontSettings": "Impostazioni font",
"defaultFont": "Predefinito",
"fontFamily": "Font",
"fontSize": "Dimensione font",
"rowCount": "Righe",
"animation": "Animazione",
"animationOff": "Off",
"animationFade": "Dissolvenza",
"animationRise": "Salita",
"animationPop": "Pop",
"bottomOffset": "Margine inferiore",
"maxWidth": "Larghezza massima",
"boxRadius": "Raggio riquadro",
"backgroundOpacity": "Opacità sfondo",
"textColor": "Colore testo"
},
"crop": {
"title": "Ritaglia video",
"instruction": "Trascina su ogni lato per regolare l'area di ritaglio",
"top": "Alto",
"bottom": "Basso",
"left": "Sinistra",
"right": "Destra",
"openEditor": "Apri editor di ritaglio"
},
"background": {
"title": "Sfondo",
"image": "Immagine",
"color": "Colore",
"gradient": "Gradiente",
"wallpaperPreview": "Anteprima sfondo",
"uploadCustom": "Carica personalizzato",
"uploadSuccess": "Immagine personalizzata caricata con successo!",
"uploadError": "Carica un file immagine JPG o JPEG.",
"uploadErrorDescription": "Sono supportate solo immagini JPG e JPEG."
},
"export": {
"title": "Esporta",
"mp4": "MP4",
"gif": "GIF",
"quality": {
"low": "Bassa",
"medium": "Media",
"high": "Alta",
"original": "Originale"
},
"fpsTitle": "FPS",
"loop": "Loop",
"outputDimensions": "Output: {{dimensions}}px",
"sizePresetOriginalShort": "Orig",
"sizePresetMediumShort": "Med",
"sizePresetLargeShort": "Gr",
"loadProject": "Carica progetto",
"saveProject": "Salva progetto",
"exportVideo": "Esporta {{format}}",
"reportBug": "Segnala bug",
"starOnGithub": "Metti una stella su GitHub"
},
"audio": {
"title": "Audio",
"volumeTitle": "Audio",
"volume": "Volume",
"normalize": "Normalizza",
"sourceTracksTitle": "Audio sorgente clip",
"systemLabel": "Sorgente sistema",
"micLabel": "Sorgente microfono",
"mixedLabel": "Sorgente",
"deleteRegion": "Elimina audio"
}
}
+16
View File
@@ -0,0 +1,16 @@
{
"actions": {
"addZoom": "Aggiungi zoom",
"addTrim": "Aggiungi taglio",
"addSpeed": "Aggiungi velocità",
"addAnnotation": "Aggiungi annotazione",
"addKeyframe": "Aggiungi keyframe",
"deleteSelected": "Elimina selezionato",
"playPause": "Riproduci / Pausa",
"cycleForward": "Scorri annotazioni avanti",
"cycleBackward": "Scorri annotazioni indietro",
"deleteSelectedAlt": "Elimina selezionato (alt)",
"panTimeline": "Sposta timeline",
"zoomTimeline": "Zoom timeline"
}
}
+41
View File
@@ -0,0 +1,41 @@
{
"zoom": {
"cannotPlace": "Impossibile posizionare lo zoom qui",
"existsOrNoSpace": "Uno zoom esiste già in questa posizione o non c'è abbastanza spazio disponibile.",
"suggestHandlerUnavailable": "Gestore dei suggerimenti zoom non disponibile",
"noTelemetry": "Telemetria del cursore non disponibile",
"recordFirst": "Registra prima uno screencast per generare suggerimenti basati sul cursore.",
"noUsableTelemetry": "Telemetria del cursore non utilizzabile",
"notEnoughMovement": "La registrazione non include abbastanza dati di movimento del cursore.",
"noInteractionMoments": "Nessun momento di interazione chiaro trovato",
"tryRecording": "Prova una registrazione con pause o clic attorno alle azioni importanti.",
"noAutoZoomSlots": "Nessuno slot di auto-zoom disponibile",
"dwellPointsOverlap": "I punti di permanenza rilevati si sovrappongono a regioni di zoom esistenti.",
"addedSuggestions": "Aggiunti {{count}} suggerimenti di zoom basati sull'interazione",
"label": "Zoom {{index}}",
"addZoom": "Aggiungi zoom (Z)",
"suggestZooms": "Suggerisci zoom dal cursore"
},
"trim": {
"cannotPlace": "Impossibile posizionare il taglio qui",
"existsOrNoSpace": "Un taglio esiste già in questa posizione o non c'è abbastanza spazio disponibile.",
"label": "Taglio {{index}}",
"addTrim": "Aggiungi taglio (T)"
},
"speed": {
"cannotPlace": "Impossibile posizionare la velocità qui",
"existsOrNoSpace": "Una regione di velocità esiste già in questa posizione o non c'è abbastanza spazio disponibile.",
"label": "Velocità"
},
"annotation": {
"label": "Annotazione",
"image": "Immagine",
"addAnnotation": "Aggiungi annotazione (A)"
},
"audio": {
"label": "Audio"
},
"addSpeed": "Aggiungi velocità (S)",
"resizeLeft": "Ridimensiona a sinistra",
"resizeRight": "Ridimensiona a destra"
}