diff --git a/arm9/source/config.c b/arm9/source/config.c index bcd430df..5104d989 100644 --- a/arm9/source/config.c +++ b/arm9/source/config.c @@ -53,7 +53,7 @@ ConfigurationStatus needConfig; static CfgData oldConfig; static CfgDataMcu configDataMcu; -static_assert(sizeof(CfgDataMcu) > 0, "wrong data size"); +static_assert(sizeof(CfgDataMcu) > 0, "Dimensione dati sbaglaita"); // INI parsing // =========================================================== @@ -856,12 +856,12 @@ void configMenu(bool oldPinStatus, u32 oldPinMode) }; static const char *singleOptionsText[] = { "( ) Avvio automatico EmuNAND", - "( ) Ativ. il caric. di FIRMs e moduli di sis. esterni",//ativ sta per attiva(abilita ma più intuitiva l'abbreviazione) + "( ) Ativ. il caric. di FIRMs e moduli di sis. est.",//ativ sta per attiva(abilita ma più intuitiva l'abbreviazione) "( ) Abilita il patching di giochi", "( ) Reindir. app. syscore threads al core2", - "( ) Mostra NAND o stringa utente nelle imp. di sis.", + "( ) Mostra NAND o str. utente nelle imp. di sis.", "( ) Mostra lo sch. di av. del GBA nel AGB_FIRM patch.", - "( ) Cons. combo Sinistra+Destra / Su+Giu' per DSi", + "( ) Cons. combo Sx+Dx / Su+Giu' per DSi", //Sx e Dx indicano destra e sinistra nel vecchi metodo a mo' di wii "( ) Interr. il WiFi del 3DS in mod. riposo", "( ) Patch schedular cpu in perf mode", //Non so per cosa sta shcedular e cosa intenda con perf in questo caso "( ) Imp. UNITINFO da sviluppatore", diff --git a/sysmodules/rosalina/source/plugin/display.c b/sysmodules/rosalina/source/plugin/display.c index 5b954c69..54679362 100644 --- a/sysmodules/rosalina/source/plugin/display.c +++ b/sysmodules/rosalina/source/plugin/display.c @@ -3,7 +3,7 @@ #include "draw.h" #include -static const char *__press_b_to_close = "Press [B] to close"; +static const char *__press_b_to_close = "Premi [B] per chiudere"; void DispMessage(const char *title, const char *message) { @@ -34,7 +34,7 @@ u32 DispErrMessage(const char *title, const char *message, const Result error { char buf[100]; - sprintf(buf, "Error code: 0x%08lX", error); + sprintf(buf, "Codice errore: 0x%08lX", error); menuEnter(); Draw_Lock(); diff --git a/sysmodules/rosalina/source/plugin/file_loader.c b/sysmodules/rosalina/source/plugin/file_loader.c index 1a21946f..5c97497e 100644 --- a/sysmodules/rosalina/source/plugin/file_loader.c +++ b/sysmodules/rosalina/source/plugin/file_loader.c @@ -134,8 +134,8 @@ static Result CheckPluginCompatibility(_3gx_Header *header, u32 processTitle) return 0; } - sprintf(errorBuf, "The plugin - %s -\nis not compatible with this game.\n" \ - "Contact \"%s\" for more infos.", header->infos.titleMsg, header->infos.authorMsg); + sprintf(errorBuf, "Il plugin - %s -\nnon e' compatibile con questo gioco.\n" \ + "Contatta \"%s\" per piu' info.", header->infos.titleMsg, header->infos.authorMsg); PluginLoaderCtx.error.message = errorBuf; @@ -186,16 +186,16 @@ bool TryToLoadPlugin(Handle process) } if (R_FAILED((res = IFile_GetSize(&plugin, &fileSize)))) - ctx->error.message = "Couldn't get file size"; + ctx->error.message = "Impos. ottere le dim. del file"; if (!res && R_FAILED(res = Check_3gx_Magic(&plugin))) { const char * errors[] = { - "Couldn't read file.", - "Invalid plugin file\nNot a valid 3GX plugin format!", - "Outdated plugin file\nCheck for an updated plugin.", - "Outdated plugin loader\nCheck for Luma3DS updates." + "Impos. leggere il file", + "Plugin file non valido\nIl plugin non e' in un formato 3gx valido!", + "Plugin file obsoleto\nControlla per una ver. aggiornata del plugin.", + "Caricatore plugin obsoleto\nControlla aggiornamenti di Luma3DS" }; ctx->error.message = errors[R_MODULE(res) == RM_LDR ? R_DESCRIPTION(res) : 0]; @@ -203,11 +203,11 @@ bool TryToLoadPlugin(Handle process) // Read header if (!res && R_FAILED((res = Read_3gx_Header(&plugin, &fileHeader)))) - ctx->error.message = "Couldn't read file"; + ctx->error.message = "Impossibile leggere il file"; // Check compatibility if (!res && fileHeader.infos.compatibility == PLG_COMPAT_EMULATOR) { - ctx->error.message = "Plugin is only compatible with emulators"; + ctx->error.message = "Il plugin e' compatibile solo con emulatori"; return false; } @@ -220,12 +220,12 @@ bool TryToLoadPlugin(Handle process) // Set memory region size according to header if (!res && R_FAILED((res = MemoryBlock__SetSize(memRegionSizes[fileHeader.infos.memoryRegionSize])))) { - ctx->error.message = "Couldn't set memblock size."; + ctx->error.message = "Impossibile impostare la dimensione memblock"; } // Ensure memory block is mounted if (!res && R_FAILED((res = MemoryBlock__IsReady()))) - ctx->error.message = "Failed to allocate memory."; + ctx->error.message = "Allocamento a memoria fallito"; // Plugins will not exceed 5MB so this is fine if (!res) { @@ -235,11 +235,11 @@ bool TryToLoadPlugin(Handle process) // Parse rest of header if (!res && R_FAILED((res = Read_3gx_ParseHeader(&plugin, header)))) - ctx->error.message = "Couldn't read file"; + ctx->error.message = "impossibile leggere il file"; // Read embedded save/load functions if (!res && R_FAILED((res = Read_3gx_EmbeddedPayloads(&plugin, header)))) - ctx->error.message = "Invalid save/load payloads."; + ctx->error.message = "Payload di salva./carica. invalida"; // Save exe checksum if (!res) @@ -250,9 +250,9 @@ bool TryToLoadPlugin(Handle process) // Read code if (!res && R_FAILED(res = Read_3gx_LoadSegments(&plugin, header, ctx->memblock.memblock + sizeof(PluginHeader)))) { - if (res == MAKERESULT(RL_PERMANENT, RS_INVALIDARG, RM_LDR, RD_NO_DATA)) ctx->error.message = "This plugin requires a loading function."; - else if (res == MAKERESULT(RL_PERMANENT, RS_INVALIDARG, RM_LDR, RD_INVALID_ADDRESS)) ctx->error.message = "This plugin file is corrupted."; - else ctx->error.message = "Couldn't read plugin's code"; + if (res == MAKERESULT(RL_PERMANENT, RS_INVALIDARG, RM_LDR, RD_NO_DATA)) ctx->error.message = "Questo plugin richiede una funzione di caricamento."; + else if (res == MAKERESULT(RL_PERMANENT, RS_INVALIDARG, RM_LDR, RD_INVALID_ADDRESS)) ctx->error.message = "Questo plugin e' corrotto."; + else ctx->error.message = "Impossibile leggere il codice del plugin."; } if (R_FAILED(res)) @@ -294,7 +294,7 @@ bool TryToLoadPlugin(Handle process) if (R_FAILED((res = svcMapProcessMemoryEx(CUR_PROCESS_HANDLE, procStart, process, procStart, 0x1000)))) { - ctx->error.message = "Couldn't map process"; + ctx->error.message = "Impossibile mappare il processo"; ctx->error.code = res; goto exitFail; } diff --git a/sysmodules/rosalina/source/plugin/memoryblock.c b/sysmodules/rosalina/source/plugin/memoryblock.c index a5022992..c9eee109 100644 --- a/sysmodules/rosalina/source/plugin/memoryblock.c +++ b/sysmodules/rosalina/source/plugin/memoryblock.c @@ -77,9 +77,9 @@ Result MemoryBlock__IsReady(void) if (R_FAILED(res)) { if (isN3DS || (ctx->pluginMemoryStrategy == PLG_STRATEGY_MODE3)) - PluginLoader__Error("Cannot map plugin memory.", res); + PluginLoader__Error("Impossibile mappare la memoria del plugin", res); else - PluginLoader__Error("A console reboot is needed to\nclose extended memory games.\n\nPress [B] to reboot.", res); + PluginLoader__Error("Un riavvio della console e' necessario\nper chiudere giochi di memoria estesa\n\nPremi [B] per riavviare", res); svcKernelSetState(7); } else @@ -118,7 +118,7 @@ Result MemoryBlock__Free(void) memblock->memblock = NULL; if (R_FAILED(res)) - PluginLoader__Error("Couldn't free memblock", res); + PluginLoader__Error("Impossibile liberare i memblock", res); // memblock penso sia blocchi di memoria, ma siccome è più breve così, resterà così, in inglese. return res; } @@ -140,12 +140,12 @@ Result MemoryBlock__ToSwapFile(void) fsMakePath(PATH_ASCII, g_swapFileName), FS_OPEN_RWC); if (R_FAILED(res)) { - PluginLoader__Error("CRITICAL: Failed to open swap file.\n\nConsole will now reboot.", res); + PluginLoader__Error("CRITICO: Apertura file di\n scambio fallita\n\nLa console si riavviera'", res); svcKernelSetState(7); } if (!ctx->isSwapFunctionset) { - PluginLoader__Error("CRITICAL: Swap save function\nis not set.\n\nConsole will now reboot.", res); + PluginLoader__Error("CRITICO: Funzione di\n scambio salvataggio\nnon impostata\n\nLa console si riavviera'", res); svcKernelSetState(7); } ctx->swapLoadChecksum = saveSwapFunc(memblock->memblock, memblock->memblock + g_memBlockSize, g_loadSaveSwapArgs); @@ -153,7 +153,7 @@ Result MemoryBlock__ToSwapFile(void) res = IFile_Write(&file, &written, memblock->memblock, toWrite, FS_WRITE_FLUSH); if (R_FAILED(res) || written != toWrite) { - PluginLoader__Error("CRITICAL: Couldn't write swap to SD.\n\nConsole will now reboot.", res); + PluginLoader__Error("CRITICO: Impossibile scrivere\n lo scambio su SD\n\nLa console si riavviera'", res); svcKernelSetState(7); } @@ -174,14 +174,14 @@ Result MemoryBlock__FromSwapFile(void) fsMakePath(PATH_ASCII, g_swapFileName), FS_OPEN_READ); if (R_FAILED(res)) { - PluginLoader__Error("CRITICAL: Failed to open swap file.\n\nConsole will now reboot.", res); + PluginLoader__Error("CRITICO: Apertura file di\n scambio fallita\n\nLa console si riavviera'", res); svcKernelSetState(7); } res = IFile_Read(&file, &read, memblock->memblock, toRead); if (R_FAILED(res) || read != toRead) { - PluginLoader__Error("CRITICAL: Couldn't read swap from SD.\n\nConsole will now reboot.", res); + PluginLoader__Error("CRITICO: Impossibile leggere lo scambio su SD.\n\nLa console si riavviera'", res); svcKernelSetState(7); } @@ -190,7 +190,7 @@ Result MemoryBlock__FromSwapFile(void) PluginLoaderContext *ctx = &PluginLoaderCtx; if (checksum != ctx->swapLoadChecksum) { res = -1; - PluginLoader__Error("CRITICAL: Swap file is corrupted.\n\nConsole will now reboot.", res); + PluginLoader__Error("CRITICO: Il file di scambio e' corrotto\n\nLa console si riavviera'", res); svcKernelSetState(7); } @@ -211,7 +211,7 @@ Result MemoryBlock__MountInProcess(void) // Executable if (R_FAILED((res = svcMapProcessMemoryEx(target, 0x07000000, CUR_PROCESS_HANDLE, (u32)memblock->memblock, header->exeSize)))) { - error->message = "Couldn't map exe memory block"; + error->message = "Impossibile mappare il blocco di memoria in esecuzione"; error->code = res; return res; } @@ -219,7 +219,7 @@ Result MemoryBlock__MountInProcess(void) // Heap (to be used by the plugin) if (R_FAILED((res = svcMapProcessMemoryEx(target, header->heapVA, CUR_PROCESS_HANDLE, (u32)memblock->memblock + header->exeSize, header->heapSize)))) { - error->message = "Couldn't map heap memory block"; + error->message = "Impossibile mappare vari blocchi di memoria"; error->code = res; } diff --git a/sysmodules/rosalina/source/plugin/plgloader.c b/sysmodules/rosalina/source/plugin/plgloader.c index cf92b4e0..8db835fa 100644 --- a/sysmodules/rosalina/source/plugin/plgloader.c +++ b/sysmodules/rosalina/source/plugin/plgloader.c @@ -20,7 +20,7 @@ #define PERS_USER_FILE_MAGIC 0x53524550 // PERS -static const char *g_title = "Plugin loader"; +static const char *g_title = "Caricatore plugin"; static char menuBuf[64], fileNameBuf[64]; static u64 programId = 0; @@ -105,22 +105,22 @@ void PluginLoader__MenuOption(void) do { Draw_Lock(); - Draw_DrawString(10, 10, COLOR_TITLE, "Per game plugin config"); - Draw_DrawString(10, 30, COLOR_WHITE, "Press Y to manually toggle plugin loader."); + Draw_DrawString(10, 10, COLOR_TITLE, "Config. plugin per gioco"); + Draw_DrawString(10, 30, COLOR_WHITE, "Premi Y per sel. il caricatore plugin manualmente"); if(currentTitleUsesPlugin) { - Draw_DrawString(10, 50, COLOR_GREEN, "Plugin loader auotmatically enabled for this title."); - Draw_DrawString(10, 60, COLOR_WHITE, "Press X to disable auto plugin loader for this title."); + Draw_DrawString(10, 50, COLOR_GREEN, "Caricatore plugin auto. abilitato per questo titolo."); + Draw_DrawString(10, 60, COLOR_WHITE, "Premi X per disabilitare il \ncaricatore plugin auto. \nper questo titolo."); } else { - Draw_DrawString(10, 50, COLOR_RED, "Automatic plugin loader disabled for this title."); - Draw_DrawString(10, 60, COLOR_WHITE, "Press X to enable auto plugin loader for this title."); + Draw_DrawString(10, 50, COLOR_RED, "Caricatore plugin auto. disabilitato per questo titolo."); + Draw_DrawString(10, 60, COLOR_WHITE, "Premi X per abilitare il \ncaricatore plugin auto. \nper questo titolo."); } - Draw_DrawString(10, 80, COLOR_WHITE, "Relaunch current title to apply changes."); - Draw_DrawString(10, 100, COLOR_WHITE, "Press B to go back."); + Draw_DrawString(10, 80, COLOR_WHITE, "Rilancia il titolo corrente per \nsalvare i cambiamenti."); + Draw_DrawString(10, 100, COLOR_WHITE, "Premi B per tornare indietro."); Draw_FlushFramebuffer(); Draw_Unlock(); @@ -165,11 +165,11 @@ void PluginLoader__UpdateMenu(void) { static const char *status[2] = { - "Plugin Loader: [Disabled]%s", - "Plugin Loader: [Enabled]%s" + "Caricatore Plugin: [Disabilitato] %s", + "Caricatore Plugin: [Abilitato] %s" }; - sprintf(menuBuf, status[PluginLoaderCtx.isEnabled], " [Per Game]"); + sprintf(menuBuf, status[PluginLoaderCtx.isEnabled], " [Per Gioco]"); rosalinaMenu.items[3].title = configExtra.perGamePlugin ? menuBuf : status[PluginLoaderCtx.isEnabled]; } @@ -178,7 +178,7 @@ static ControlApplicationMemoryModeOverrideConfig g_memorymodeoverridebackup = { Result PluginLoader__SetMode3AppMode(bool enable) { Handle loaderHandle; - Result res = srvGetServiceHandle(&loaderHandle, "Loader"); + Result res = srvGetServiceHandle(&loaderHandle, "Caricatore"); if (R_FAILED(res)) return res;