#include <hex/plugin.hpp>

namespace hex::plugin::builtin {

    void registerLanguageItIT() {
        ContentRegistry::Language::registerLanguage("Italian", "it-IT");

        ContentRegistry::Language::addLocalizations("it-IT", {
            /* ImHex default functionality */
                { "hex.menu.file", "File" },
                { "hex.menu.edit", "Modifica" },
                { "hex.menu.view", "Vista" },
                    { "hex.menu.view.fps", "Mostra FPS" },
                    { "hex.menu.view.demo", "Mostra la demo di ImGui" },
                { "hex.menu.help", "Aiuto" },

                { "hex.welcome.header.main", "Benvenuto in ImHex" },
                { "hex.welcome.header.start", "Inizia" },
                    { "hex.welcome.start.open_file", "Apri un File" },
                    { "hex.welcome.start.open_project", "Apri un Progetto" },
                    { "hex.welcome.start.recent", "File recenti" },
                { "hex.welcome.header.help", "Aiuto" },
                    { "hex.welcome.help.repo", "Repo GitHub" },
                        { "hex.welcome.help.repo.link", "https://github.com/WerWolv/ImHex" },
                    { "hex.welcome.help.gethelp", "Chiedi aiuto" },
                        { "hex.welcome.help.gethelp.link", "https://github.com/WerWolv/ImHex/discussions/categories/get-help" },
                { "hex.welcome.header.plugins", "Plugins caricati" },
                    { "hex.welcome.plugins.plugin", "Plugin" },
                    { "hex.welcome.plugins.author", "Autore" },
                    { "hex.welcome.plugins.desc", "Descrizione" },
                { "hex.welcome.header.customize", "Personalizza" },
                    { "hex.welcome.customize.settings.title", "Impostazioni" },
                    { "hex.welcome.customize.settings.desc", "Cambia le preferenze di ImHex" },
                { "hex.welcome.header.update", "Aggiornamenti" },
                    { "hex.welcome.update.title", "Nuovo aggiornamento disponibile!" },
                    { "hex.welcome.update.desc", "ImHex {0} è appena stato rilasciato! Scaricalo qua" },
                    { "hex.welcome.update.link", "https://github.com/WerWolv/ImHex/releases/latest" },
                { "hex.welcome.header.learn", "Scopri" },
                    { "hex.welcome.learn.latest.title", "Ultima Versione" },
                    { "hex.welcome.learn.latest.desc", "Leggi il nuovo changelog di ImHex'" },
                    { "hex.welcome.learn.latest.link", "https://github.com/WerWolv/ImHex/releases/latest" },
                    { "hex.welcome.learn.pattern.title", "Documentazione dei Pattern" },
                    { "hex.welcome.learn.pattern.desc", "Scopri come scrivere pattern per ImHex con la nostra dettagliata documentazione" },
                    { "hex.welcome.learn.pattern.link", "https://github.com/WerWolv/ImHex/wiki/Pattern-Language-Guide" },
                    { "hex.welcome.learn.plugins.title", "Plugins API" },
                    { "hex.welcome.learn.plugins.desc", "Espandi l'utilizzo di ImHex con i Plugin" },
                    { "hex.welcome.learn.plugins.link", "https://github.com/WerWolv/ImHex/wiki/Plugins-Development-Guide" },
                { "hex.welcome.header.various", "Varie" },

                { "hex.common.little_endian", "Little Endian" },
                { "hex.common.big_endian", "Big Endian" },
                { "hex.common.decimal", "Decimale" },
                { "hex.common.hexadecimal", "Esadecimale" },
                { "hex.common.octal", "Ottale" },
                { "hex.common.error", "Errore" },
                { "hex.common.fatal", "Errore Fatale" },
                { "hex.common.address", "Indirizzo" },
                { "hex.common.size", "Dimensione" },
                { "hex.common.region", "Regione" },
                { "hex.common.match_selection", "Seleziona abbinamento" },
                { "hex.common.yes", "Sì" },
                { "hex.common.no", "No" },
                { "hex.common.okay", "Okay" },
                { "hex.common.load", "Carica" },
                { "hex.common.cancel", "Cancella" },
                { "hex.common.set", "Imposta" },

                { "hex.view.bookmarks.name", "Segnalibri" },
                    { "hex.view.bookmarks.default_title", "Segnalibro [0x{0:X} - 0x{1:X}]" },
                    { "hex.view.bookmarks.no_bookmarks", "Non è stato creato alcun segnalibro. Aggiungine uno andando su Modifica -> Aggiungi Segnalibro" },
                    { "hex.view.bookmarks.title.info", "Informazioni" },
                    { "hex.view.bookmarks.address", "0x{0:X} : 0x{1:X} ({2} bytes)" },
                    { "hex.view.bookmarks.button.jump", "Vai a" },
                    { "hex.view.bookmarks.button.remove", "Rimuovi" },
                    { "hex.view.bookmarks.header.name", "Nome" },
                    { "hex.view.bookmarks.header.color", "Colore" },
                    { "hex.view.bookmarks.header.comment", "Commento" },

                { "hex.view.command_palette.name", "Tavola dei Comandi" },

                { "hex.view.data_inspector.name", "Ispezione Dati" },
                    { "hex.view.data_inspector.table.name", "Nome" },
                    { "hex.view.data_inspector.table.value", "Valore" },

                { "hex.view.data_processor.name", "Processa Dati"  },
                    { "hex.view.data_processor.menu.remove_selection", "Rimuovi i selezionati" },
                    { "hex.view.data_processor.menu.remove_node", "Rimuovi Nodo" },
                    { "hex.view.data_processor.menu.remove_link", "Rimuovi Link" },

                  { "hex.view.disassembler.name", "Disassembla" },
                    { "hex.view.disassembler.position", "Posiziona" },
                    { "hex.view.disassembler.base", "Indirizzo di base" },
                    { "hex.view.disassembler.region", "Regione del Codice" },
                    { "hex.view.disassembler.settings.header", "Impostazioni" },
                    { "hex.view.disassembler.arch", "Architettura" },
                        { "hex.view.disassembler.arm.arm", "Modalità ARM" },
                        { "hex.view.disassembler.arm.thumb", "Modalità Thumb" },
                        { "hex.view.disassembler.arm.default", "Modalità di Default" },
                        { "hex.view.disassembler.arm.cortex_m", "Modalità Cortex-M" },
                        { "hex.view.disassembler.arm.armv8", "Modalità ARMv8" },

                        { "hex.view.disassembler.mips.mips32", "Modalità MIPS32" },
                        { "hex.view.disassembler.mips.mips64", "Modalità MIPS64" },
                        { "hex.view.disassembler.mips.mips32R6", "Modalità MIPS32R6" },
                        { "hex.view.disassembler.mips.micro", "Modalità Micro" },

                        { "hex.view.disassembler.x86.16bit", "Modalità 16-bit" },
                        { "hex.view.disassembler.x86.32bit", "Modalità 32-bit" },
                        { "hex.view.disassembler.x86.64bit", "Modalità 64-bit" },

                        { "hex.view.disassembler.ppc.32bit", "Modalità 32-bit" },
                        { "hex.view.disassembler.ppc.64bit", "Modalità 64-bit" },

                        { "hex.view.disassembler.sparc.v9", "Modalità Sparc V9" },

                    { "hex.view.disassembler.disassemble", "Disassembla" },
                    { "hex.view.disassembler.disassembling", "Disassemblaggio..." },
                    { "hex.view.disassembler.disassembly.title", "Disassembla" },
                        { "hex.view.disassembler.disassembly.address", "Indirizzo" },
                        { "hex.view.disassembler.disassembly.offset", "Offset" },
                        { "hex.view.disassembler.disassembly.bytes", "Byte" },

                { "hex.view.hashes.name", "Hash" },
                    { "hex.view.hashes.settings", "Impostazioni" },
                    { "hex.view.hashes.function", "Funzioni di Hash" },
                    { "hex.view.hashes.iv", "Valore Iniziale" },
                    { "hex.view.hashes.poly", "Polinomio" },
                    { "hex.view.hashes.result", "Risultato" },

                { "hex.view.help.name", "Aiuto" },
                    { "hex.view.help.about.name", "Riguardo ImHex" },
                        { "hex.view.help.about.translator", "Tradotto da CrustySeanPro" },
                        { "hex.view.help.about.source", "Codice Sorgente disponibile su GitHub:" },
                        { "hex.view.help.about.donations", "Donazioni" },
                        { "hex.view.help.about.thanks", "Se ti piace il mio lavoro, per favore considera di fare una donazione. Grazie mille <3" },
                        { "hex.view.help.about.libs", "Librerie usate" },
                    { "hex.view.help.pattern_cheat_sheet", "Pattern Language Cheat Sheet"},
                    { "hex.view.help.calc_cheat_sheet", "Calcolatrice Cheat Sheet" },

                { "hex.view.hexeditor.name", "Hex editor" },
                    { "hex.view.hexeditor.open_file", "Apri File" },
                    { "hex.view.hexeditor.menu.file.open_recent", "File recenti" },
                    { "hex.view.hexeditor.open_project", "Apri i Progetti" },
                    { "hex.view.hexeditor.save_project", "Salva i Progetti" },
                    { "hex.view.hexeditor.save_data", "Salva i Dati" },
                    { "hex.view.hexeditor.open_base64", "Apri Base64 File" },
                    { "hex.view.hexeditor.load_enconding_file", "Carica un File di codfica personalizzato" },
                    { "hex.view.hexeditor.page", "Pagina {0} / {1}" },
                    { "hex.view.hexeditor.save_as", "Salva come" },
                    { "hex.view.hexeditor.exit_application.title", "Uscire dall'applicazione?" },
                    { "hex.view.hexeditor.exit_application.desc", "Hai delle modifiche non salvate nel tuo progetto.\nSei sicuro di voler uscire?" },
                    { "hex.view.hexeditor.script.title", "Carica un File tramite il Caricatore di Script" },
                    { "hex.view.hexeditor.script.desc", "Carica un file tramite il Caricatore di Script di Python." },
                    { "hex.view.hexeditor.script.script", "Script" },
                        { "hex.view.hexeditor.script.script.title", "Caricatore Script: Apri Script" },
                    { "hex.view.hexeditor.script.file", "File" },
                    { "hex.view.hexeditor.script.file.title", "Caricatore Script: Apri File" },

                    { "hex.view.hexeditor.menu.file.open_file", "Apri File..." },
                    { "hex.view.hexeditor.menu.file.save", "Salva" },
                    { "hex.view.hexeditor.menu.file.save_as", "Salva come..." },
                    { "hex.view.hexeditor.menu.file.close", "Chiudi" },
                    { "hex.view.hexeditor.menu.file.open_project", "Apri un Progetto..." },
                    { "hex.view.hexeditor.menu.file.save_project", "Salva Progetto..." },
                    { "hex.view.hexeditor.menu.file.load_encoding_file", "Carica una codifica personalizzata..." },
                    { "hex.view.hexeditor.menu.file.import", "Importa..." },
                        { "hex.view.hexeditor.menu.file.import.base64", "Base64 File" },
                        { "hex.view.hexeditor.base64.import_error", "Il file non è in un formato bas64 corretto!" },
                        { "hex.view.hexeditor.file_open_error", "Impossibile aprire il File!" },
                        { "hex.view.hexeditor.menu.file.import.ips", "IPS Patch" },
                        { "hex.view.hexeditor.menu.file.import.ips32", "IPS32 Patch" },
                        { "hex.view.hexeditor.menu.file.import.script", "File con il Caricatore di Script" },

                    { "hex.view.hexeditor.menu.file.export", "Esporta..." },
                        { "hex.view.hexeditor.menu.file.export.title", "Esporta File" },
                        { "hex.view.hexeditor.menu.file.export.ips", "IPS Patch" },
                        { "hex.view.hexeditor.menu.file.export.ips32", "IPS32 Patch" },
                    { "hex.view.hexeditor.menu.file.search", "Cerca" },
                        { "hex.view.hexeditor.search.string", "Stringa" },
                        { "hex.view.hexeditor.search.hex", "Hex" },
                        { "hex.view.hexeditor.search.find", "Cerca" },
                        { "hex.view.hexeditor.search.find_next", "Cerca il prossimo" },
                        { "hex.view.hexeditor.search.find_prev", "Cerca il precedente" },
                    { "hex.view.hexeditor.menu.file.goto", "Vai a" },
                        { "hex.view.hexeditor.goto.offset.absolute", "Assoluto" },
                        { "hex.view.hexeditor.goto.offset.current", "Corrente" },
                        { "hex.view.hexeditor.goto.offset.begin", "Inizo" },
                        { "hex.view.hexeditor.goto.offset.end", "Fine" },
                    { "hex.view.hexeditor.error.read_only", "Impossibile scrivere sul File. File aperto solo in modalità lettura" },
                    { "hex.view.hexeditor.error.open", "Impossibile aprire il File!" },
                    { "hex.view.hexeditor.menu.edit.undo", "Annulla" },
                    { "hex.view.hexeditor.menu.edit.redo", "Ripeti" },
                    { "hex.view.hexeditor.menu.edit.copy", "Copia" },
                    { "hex.view.hexeditor.menu.edit.copy_as", "Copia come..." },
                        { "hex.view.hexeditor.copy.hex", "Stringa" },
                        { "hex.view.hexeditor.copy.c", "C Array" },
                        { "hex.view.hexeditor.copy.cpp", "C++ Array" },
                        { "hex.view.hexeditor.copy.csharp", "C# Array" },
                        { "hex.view.hexeditor.copy.rust", "Rust Array" },
                        { "hex.view.hexeditor.copy.python", "Python Array" },
                        { "hex.view.hexeditor.copy.java", "Java Array" },
                        { "hex.view.hexeditor.copy.js", "JavaScript Array" },
                        { "hex.view.hexeditor.copy.ascii", "ASCII Art" },
                        { "hex.view.hexeditor.copy.html", "HTML" },
                    { "hex.view.hexeditor.menu.edit.paste", "Incolla" },
                    { "hex.view.hexeditor.menu.edit.bookmark", "Crea segnalibro" },
                    { "hex.view.hexeditor.menu.edit.set_base", "Imposta indirizzo di base" },

                { "hex.view.information.name", "Informazione sui Dati" },
                    { "hex.view.information.control", "Controllo" },
                    { "hex.view.information.analyze", "Analizza Pagina" },
                    { "hex.view.information.analyzing", "Sto analizzando..." },
                    { "hex.view.information.region", "Regione Analizzata" },
                    { "hex.view.information.magic", "Informazione Magica" },
                    { "hex.view.information.description", "Descrizione:" },
                    { "hex.view.information.mime", "Tipo di MIME:" },
                    { "hex.view.information.info_analysis", "Informazioni dell'analisi" },
                    { "hex.view.information.distribution", "Distribuzione dei Byte" },
                    { "hex.view.information.entropy", "Entropia" },
                    { "hex.view.information.block_size", "Dimensione del Blocco" },
                    { "hex.view.information.block_size.desc", "{0} blocchi di {1} bytes" },
                    { "hex.view.information.file_entropy", "Entropia dei File" },
                    { "hex.view.information.highest_entropy", "Highest entropy block" },
                    { "hex.view.information.encrypted", "Questi dati sono probabilmente codificati o compressi!" },

                { "hex.view.patches.name", "Patches" },
                    { "hex.view.patches.offset", "Offset" },
                    { "hex.view.patches.orig", "Valore Originale" },
                    { "hex.view.patches.patch", "Valore patchato"},
                    { "hex.view.patches.remove", "Rimuovi patch" },

                { "hex.view.pattern.name", "Editor dei Pattern" },
                { "hex.view.pattern.accept_pattern", "Accetta pattern" },
                    { "hex.view.pattern.accept_pattern.desc", "Uno o più pattern compatibili con questo tipo di dati sono stati trovati!" },
                    { "hex.view.pattern.accept_pattern.patterns", "Pattern" },
                    { "hex.view.pattern.accept_pattern.question", "Vuoi applicare i patter selezionati" },
                { "hex.view.pattern.menu.file.load_pattern", "Caricamento dei pattern..." },
                { "hex.view.pattern.open_pattern", "Apri pattern" },
                { "hex.view.pattern.evaluating", "Valutazione..." },
                { "hex.view.pattern.auto", "Auto valutazione" },

                { "hex.view.pattern_data.name", "Dati dei Pattern" },
                    { "hex.view.pattern_data.name", "Nome" },
                    { "hex.view.pattern_data.color", "Colore" },
                    { "hex.view.pattern_data.offset", "Offset" },
                    { "hex.view.pattern_data.size", "Dimensione" },
                    { "hex.view.pattern_data.type", "Tipo" },
                    { "hex.view.pattern_data.value", "Valore" },

                { "hex.view.settings.name", "Impostazioni" },

                { "hex.view.strings.name", "Stringhe" },
                    { "hex.view.strings.copy", "Copia stringa" },
                    { "hex.view.strings.demangle", "Demangle" },
                    { "hex.view.strings.min_length", "Lunghezza minima" },
                    { "hex.view.strings.filter", "Filtro" },
                    { "hex.view.strings.extract", "Estrai" },
                    { "hex.view.strings.searching", "Sto cercando..." },
                    { "hex.view.strings.offset", "Offset" },
                    { "hex.view.strings.size", "Dimensione" },
                    { "hex.view.strings.string", "Stringa" },
                    { "hex.view.strings.demangle.title", "Nome Demangled" },
                    { "hex.view.strings.demangle.copy", "Copia" },

                { "hex.view.tools.name", "Strumenti" },

                { "hex.view.yara.name", "Regole di Yara" },
                    { "hex.view.yara.header.rules", "Regola" },
                        { "hex.view.yara.reload", "Ricarica" },
                        { "hex.view.yara.match", "Abbina Regole" },
                        { "hex.view.yara.matching", "Abbinamento..." },
                        { "hex.view.yara.error", "Errore compilazione Yara: " },
                    { "hex.view.yara.header.matches", "Abbinamenti" },
                        { "hex.view.yara.matches.identifier", "Identificatore" },
                        { "hex.view.yara.whole_data", "Tutti i file combaciano!" },
                        { "hex.view.yara.no_rules", "Nessuna regola di YARA. Aggiungile in nella cartella 'yara' di 'ImHex'" },

            /* Builtin plugin features */

                { "hex.builtin.command.calc.desc", "Calcolatrice" },
                { "hex.builtin.command.web.desc", "Consulta il Web" },
                { "hex.builtin.command.web.result", "Naviga a '{0}'"},

                { "hex.builtin.inspector.binary", "Binary (8 bit)" },
                { "hex.builtin.inspector.u8", "uint8_t" },
                { "hex.builtin.inspector.s8", "int8_t" },
                { "hex.builtin.inspector.u16", "uint16_t" },
                { "hex.builtin.inspector.s16", "int16_t" },
                { "hex.builtin.inspector.u32", "uint32_t" },
                { "hex.builtin.inspector.s32", "int32_t" },
                { "hex.builtin.inspector.u64", "uint64_t" },
                { "hex.builtin.inspector.s64", "int64_t" },
                { "hex.builtin.inspector.float", "float (32 bit)" },
                { "hex.builtin.inspector.double", "double (64 bit)" },
                { "hex.builtin.inspector.ascii", "ASCII Character" },
                { "hex.builtin.inspector.wide", "Wide Character" },
                { "hex.builtin.inspector.utf8", "UTF-8 code point" },
                { "hex.builtin.inspector.time32", "__time32_t" },
                { "hex.builtin.inspector.time64", "__time64_t" },
                { "hex.builtin.inspector.time", "time_t" },
                { "hex.builtin.inspector.guid", "GUID" },
                { "hex.builtin.inspector.rgba8", "Colori RGBA8" },

                { "hex.builtin.nodes.constants", "Costanti" },
                    { "hex.builtin.nodes.constants.int", "Intero" },
                        { "hex.builtin.nodes.constants.int.header", "Intero" },
                        { "hex.builtin.nodes.constants.int.output", "" },
                    { "hex.builtin.nodes.constants.float", "Float" },
                        { "hex.builtin.nodes.constants.float.header", "Float" },
                        { "hex.builtin.nodes.constants.float.output", "" },
                    { "hex.builtin.nodes.constants.nullptr", "Nullptr" },
                        { "hex.builtin.nodes.constants.nullptr.header", "Nullptr" },
                        { "hex.builtin.nodes.constants.nullptr.output", "" },
                    { "hex.builtin.nodes.constants.buffer", "Buffer" },
                        { "hex.builtin.nodes.constants.buffer.header", "Buffer" },
                        { "hex.builtin.nodes.constants.buffer.size", "Dimensione" },
                        { "hex.builtin.nodes.constants.buffer.output", "" },
                    { "hex.builtin.nodes.constants.string", "Stringa" },
                        { "hex.builtin.nodes.constants.string.header", "Stringa" },
                        { "hex.builtin.nodes.constants.string.output", "" },
                    { "hex.builtin.nodes.constants.rgba8", "Colore RGBA8" },
                        { "hex.builtin.nodes.constants.rgba8.header", "Colore RGBA8" },
                        { "hex.builtin.nodes.constants.rgba8.output.r", "Rosso" },
                        { "hex.builtin.nodes.constants.rgba8.output.g", "Verde" },
                        { "hex.builtin.nodes.constants.rgba8.output.b", "Blu" },
                        { "hex.builtin.nodes.constants.rgba8.output.a", "Alpha" },
                    { "hex.builtin.nodes.constants.comment", "Comment" },
                        { "hex.builtin.nodes.constants.comment.header", "Commento" },

                { "hex.builtin.nodes.display", "Mostra" },
                    { "hex.builtin.nodes.display.int", "Intero" },
                        { "hex.builtin.nodes.display.int.header", "Mostra Intero" },
                        { "hex.builtin.nodes.display.int.input", "Valore" },
                    { "hex.builtin.nodes.display.float", "Float" },
                        { "hex.builtin.nodes.display.float.header", "Mostra Float" },
                        { "hex.builtin.nodes.display.float.input", "Valore" },

                { "hex.builtin.nodes.data_access", "Accesso ai Dati" },
                    { "hex.builtin.nodes.data_access.read", "Leggi" },
                        { "hex.builtin.nodes.data_access.read.header", "Leggi" },
                        { "hex.builtin.nodes.data_access.read.address", "Indirizzo" },
                        { "hex.builtin.nodes.data_access.read.size", "Dimensione" },
                        { "hex.builtin.nodes.data_access.read.data", "Dati" },
                    { "hex.builtin.nodes.data_access.write", "Scrivi" },
                        { "hex.builtin.nodes.data_access.write.header", "Scrivi" },
                        { "hex.builtin.nodes.data_access.write.address", "Indirizzo" },
                        { "hex.builtin.nodes.data_access.write.data", "Dati" },
                    { "hex.builtin.nodes.data_access.size", "Dati Dimensione"},
                        { "hex.builtin.nodes.data_access.size.header", "Dati Dimensione"},
                        { "hex.builtin.nodes.data_access.size.size", "Dimensione"},

                { "hex.builtin.nodes.casting", "Conversione Dati" },
                    { "hex.builtin.nodes.casting.int_to_buffer", "Da Intero a Buffer" },
                        { "hex.builtin.nodes.casting.int_to_buffer.header", "Da Intero a Buffer" },
                        { "hex.builtin.nodes.casting.int_to_buffer.input", "Entrata" },
                        { "hex.builtin.nodes.casting.int_to_buffer.output", "Uscita" },
                { "hex.builtin.nodes.casting.buffer_to_int", "Da Buffer a Intero" },
                        { "hex.builtin.nodes.casting.buffer_to_int.header", "Da Buffer a Integer" },
                        { "hex.builtin.nodes.casting.buffer_to_int.input", "Entrata" },
                        { "hex.builtin.nodes.casting.buffer_to_int.output", "Uscita" },

                { "hex.builtin.nodes.arithmetic", "Aritmetica" },
                    { "hex.builtin.nodes.arithmetic.add", "Addizione" },
                        { "hex.builtin.nodes.arithmetic.add.header", "Aggiungi" },
                        { "hex.builtin.nodes.arithmetic.add.input.a", "Input A" },
                        { "hex.builtin.nodes.arithmetic.add.input.b", "Input B" },
                        { "hex.builtin.nodes.arithmetic.add.output", "Output" },
                    { "hex.builtin.nodes.arithmetic.sub", "Sottrazione" },
                        { "hex.builtin.nodes.arithmetic.sub.header", "Sottrai" },
						{ "hex.builtin.nodes.arithmetic.sub.input.a", "Input A" },
						{ "hex.builtin.nodes.arithmetic.sub.input.b", "Input B" },
                        { "hex.builtin.nodes.arithmetic.sub.output", "Output" },
						{ "hex.builtin.nodes.arithmetic.mul", "Moltiplicazione" },
						{ "hex.builtin.nodes.arithmetic.mul.header", "Moltiplica" },
                        { "hex.builtin.nodes.arithmetic.mul.input.a", "Input A" },
                        { "hex.builtin.nodes.arithmetic.mul.input.b", "Input B" },
                        { "hex.builtin.nodes.arithmetic.mul.output", "Output" },
					{ "hex.builtin.nodes.arithmetic.div", "Divisione" },
                        { "hex.builtin.nodes.arithmetic.div.header", "Dividi" },
						{ "hex.builtin.nodes.arithmetic.div.input.a", "Input A" },
						{ "hex.builtin.nodes.arithmetic.div.input.b", "Input B" },
						{ "hex.builtin.nodes.arithmetic.div.output", "Output" },
					{ "hex.builtin.nodes.arithmetic.mod", "Modulo" },
						{ "hex.builtin.nodes.arithmetic.mod.header", "Modulo" },
						{ "hex.builtin.nodes.arithmetic.mod.input.a", "Input A" },
						{ "hex.builtin.nodes.arithmetic.mod.input.b", "Input B" },
						{ "hex.builtin.nodes.arithmetic.mod.output", "Output" },

                { "hex.builtin.nodes.buffer", "Buffer" },
					{ "hex.builtin.nodes.buffer.combine", "Combina" },
                        { "hex.builtin.nodes.buffer.combine.header", "Combina buffer" },
						{ "hex.builtin.nodes.buffer.combine.input.a", "Input A" },
						{ "hex.builtin.nodes.buffer.combine.input.b", "Input B" },
						{ "hex.builtin.nodes.buffer.combine.output", "Output" },
					{ "hex.builtin.nodes.buffer.slice", "Affetta" },
						{ "hex.builtin.nodes.buffer.slice.header", "Affetta buffer" },
						{ "hex.builtin.nodes.buffer.slice.input.buffer", "Input" },
						{ "hex.builtin.nodes.buffer.slice.input.from", "Inizio" },
						{ "hex.builtin.nodes.buffer.slice.input.to", "Fine" },
						{ "hex.builtin.nodes.buffer.slice.output", "Output" },
					{ "hex.builtin.nodes.buffer.repeat", "Ripeti" },
						{ "hex.builtin.nodes.buffer.repeat.header", "Ripeti buffer" },
							{ "hex.builtin.nodes.buffer.repeat.input.buffer", "Input" },
							{ "hex.builtin.nodes.buffer.repeat.input.count", "Conta" },
							{ "hex.builtin.nodes.buffer.repeat.output", "Output" },

                { "hex.builtin.nodes.control_flow", "Controlla Flusso" },
                    { "hex.builtin.nodes.control_flow.if", "Se" },
                        { "hex.builtin.nodes.control_flow.if.header", "Se" },
                        { "hex.builtin.nodes.control_flow.if.condition", "Condizione" },
                        { "hex.builtin.nodes.control_flow.if.true", "Vero" },
                        { "hex.builtin.nodes.control_flow.if.false", "Falso" },
                        { "hex.builtin.nodes.control_flow.if.output", "Output" },
                    { "hex.builtin.nodes.control_flow.equals", "Uguale a" },
                        { "hex.builtin.nodes.control_flow.equals.header", "Uguale a" },
                        { "hex.builtin.nodes.control_flow.equals.input.a", "Input A" },
                        { "hex.builtin.nodes.control_flow.equals.input.b", "Input B" },
                        { "hex.builtin.nodes.control_flow.equals.output", "Output" },
                    { "hex.builtin.nodes.control_flow.not", "Non" },
                        { "hex.builtin.nodes.control_flow.not.header", "Non" },
                        { "hex.builtin.nodes.control_flow.not.input", "Input" },
                        { "hex.builtin.nodes.control_flow.not.output", "Output" },
                    { "hex.builtin.nodes.control_flow.gt", "Maggiore di" },
                        { "hex.builtin.nodes.control_flow.gt.header", "Maggiore di" },
                        { "hex.builtin.nodes.control_flow.gt.input.a", "Input A" },
                        { "hex.builtin.nodes.control_flow.gt.input.b", "Input B" },
                        { "hex.builtin.nodes.control_flow.gt.output", "Output" },
                    { "hex.builtin.nodes.control_flow.lt", "Minore di" },
                        { "hex.builtin.nodes.control_flow.lt.header", "Minore di" },
                        { "hex.builtin.nodes.control_flow.lt.input.a", "Input A" },
                        { "hex.builtin.nodes.control_flow.lt.input.b", "Input B" },
                        { "hex.builtin.nodes.control_flow.lt.output", "Output" },
                    { "hex.builtin.nodes.control_flow.and", "E" },
                        { "hex.builtin.nodes.control_flow.and.header", "Boolean E" },
                        { "hex.builtin.nodes.control_flow.and.input.a", "Input A" },
                        { "hex.builtin.nodes.control_flow.and.input.b", "Input B" },
                        { "hex.builtin.nodes.control_flow.and.output", "Output" },
                    { "hex.builtin.nodes.control_flow.or", "O" },
                        { "hex.builtin.nodes.control_flow.or.header", "Boolean O" },
                        { "hex.builtin.nodes.control_flow.or.input.a", "Input A" },
                        { "hex.builtin.nodes.control_flow.or.input.b", "Input B" },
                        { "hex.builtin.nodes.control_flow.or.output", "Output" },

                { "hex.builtin.nodes.bitwise", "Operazioni di Bitwise" },
                    { "hex.builtin.nodes.bitwise.and", "E" },
                        { "hex.builtin.nodes.bitwise.and.header", "Bitwise E" },
                        { "hex.builtin.nodes.bitwise.and.input.a", "Input A" },
                        { "hex.builtin.nodes.bitwise.and.input.b", "Input B" },
                        { "hex.builtin.nodes.bitwise.and.output", "Output" },
                    { "hex.builtin.nodes.bitwise.or", "O" },
                        { "hex.builtin.nodes.bitwise.or.header", "Bitwise O" },
                        { "hex.builtin.nodes.bitwise.or.input.a", "Input A" },
                        { "hex.builtin.nodes.bitwise.or.input.b", "Input B" },
                        { "hex.builtin.nodes.bitwise.or.output", "Output" },
                    { "hex.builtin.nodes.bitwise.xor", "XOR" },
                        { "hex.builtin.nodes.bitwise.xor.header", "Bitwise XOR" },
                        { "hex.builtin.nodes.bitwise.xor.input.a", "Input A" },
                        { "hex.builtin.nodes.bitwise.xor.input.b", "Input B" },
                        { "hex.builtin.nodes.bitwise.xor.output", "Output" },
                    { "hex.builtin.nodes.bitwise.not", "NON" },
                        { "hex.builtin.nodes.bitwise.not.header", "Bitwise NON" },
                        { "hex.builtin.nodes.bitwise.not.input", "Input" },
                        { "hex.builtin.nodes.bitwise.not.output", "Output" },

                { "hex.builtin.nodes.decoding", "Decodifica" },
                    { "hex.builtin.nodes.decoding.base64", "Base64" },
                        { "hex.builtin.nodes.decoding.base64.header", "Decodificatore Base64" },
                        { "hex.builtin.nodes.decoding.base64.input", "In" },
                        { "hex.builtin.nodes.decoding.base64.output", "Out" },
                    { "hex.builtin.nodes.decoding.hex", "Esadecimale" },
                        { "hex.builtin.nodes.decoding.hex.header", "Decodificatore Esadecimale" },
                        { "hex.builtin.nodes.decoding.hex.input", "In" },
                        { "hex.builtin.nodes.decoding.hex.output", "Out" },

                { "hex.builtin.nodes.crypto", "Cryptografia" },
                    { "hex.builtin.nodes.crypto.aes", "Decriptatore AES" },
                        { "hex.builtin.nodes.crypto.aes.header", "Decriptatore AES" },
                        { "hex.builtin.nodes.crypto.aes.key", "Chiave" },
                        { "hex.builtin.nodes.crypto.aes.iv", "IV" },
                        { "hex.builtin.nodes.crypto.aes.nonce", "Nonce" },
                        { "hex.builtin.nodes.crypto.aes.input", "Input" },
                        { "hex.builtin.nodes.crypto.aes.output", "Output" },
                        { "hex.builtin.nodes.crypto.aes.mode", "Modalità" },
                        { "hex.builtin.nodes.crypto.aes.key_length", "Lunghezza Chiave" },



                { "hex.builtin.tools.demangler", "Itanium/MSVC demangler" },
                    { "hex.builtin.tools.demangler.mangled", "Nome Mangled" },
                    { "hex.builtin.tools.demangler.demangled", "Nome Demangled" },
                { "hex.builtin.tools.ascii_table", "Tavola ASCII" },
                    { "hex.builtin.tools.ascii_table.octal", "Mostra ottale" },
                { "hex.builtin.tools.regex_replacer", "Sostituzione Regex" },
                    { "hex.builtin.tools.regex_replacer.pattern", "Regex pattern" },
                    { "hex.builtin.tools.regex_replacer.replace", "Replace pattern" },
                    { "hex.builtin.tools.regex_replacer.input", "Input" },
                    { "hex.builtin.tools.regex_replacer.output", "Output" },
                { "hex.builtin.tools.color", "Selettore di Colore" },
                { "hex.builtin.tools.calc", "Calcolatrice" },
                    { "hex.builtin.tools.input", "Input" },
                    { "hex.builtin.tools.format.standard", "Standard" },
                    { "hex.builtin.tools.format.scientific", "Scientifica" },
                    { "hex.builtin.tools.format.engineering", "Ingegnere" },
                    { "hex.builtin.tools.format.programmer", "Programmatore" },
                    { "hex.builtin.tools.error", "Ultimo Errore: '{0}'" },
                    { "hex.builtin.tools.history", "Storia" },
                    { "hex.builtin.tools.name", "Nome" },
                    { "hex.builtin.tools.value", "Valore" },
                { "hex.builtin.tools.base_converter", "Convertitore di Base" },
                    { "hex.builtin.tools.base_converter.dec", "DEC" },
                    { "hex.builtin.tools.base_converter.hex", "HEX" },
                    { "hex.builtin.tools.base_converter.oct", "OCT" },
                    { "hex.builtin.tools.base_converter.bin", "BIN" },

                { "hex.builtin.setting.imhex", "ImHex" },
                    { "hex.builtin.setting.imhex.recent_files", "File recenti" },
                { "hex.builtin.setting.interface", "Interfaccia" },
                    { "hex.builtin.setting.interface.color", "Colore del Tema" },
                        { "hex.builtin.setting.interface.color.dark", "Scuro" },
                        { "hex.builtin.setting.interface.color.light", "Chiaro" },
                        { "hex.builtin.setting.interface.color.classic", "Classico" },
                    { "hex.builtin.setting.interface.language", "Lingua" },
                { "hex.builtin.setting.interface.fps", "Limite FPS" },
                { "hex.builtin.setting.interface.highlight_alpha", "Evidenziazione dell'opacità" },

                { "hex.builtin.provider.file.path", "Percorso del File" },
                { "hex.builtin.provider.file.size", "Dimensione" },
                { "hex.builtin.provider.file.creation", "Data di creazione" },
                { "hex.builtin.provider.file.access", "Data dell'ultimo accesso" },
                { "hex.builtin.provider.file.modification", "Data dell'ultima modifica" },
        });
    }

}
