diff --git a/sysmodules/rosalina/source/plugin/display.c b/sysmodules/rosalina/source/plugin/display.c index 5b954c69..0a2dc0cd 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 toranre indietro"; 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 6d38dcfe..430c2d88 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 maggiori informazioni.", 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 = "Impossibile ottenere le dimensioni 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." + "Impossibile leggere il file.", + "Plugin non valido\nFormato 3GX non valido!", + "File plugin obsoleto\nControlla per un plugin aggiornato.", + "Caricatore di plugin obsoleto\nControlla per gli aggiornmenti di Luma3DS." }; ctx->error.message = errors[R_MODULE(res) == RM_LDR ? R_DESCRIPTION(res) : 0]; @@ -203,16 +203,16 @@ 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"; // 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 impostsare le dimensioni in blocchi."; } // Ensure memory block is mounted if (!res && R_FAILED((res = MemoryBlock__IsReady()))) - ctx->error.message = "Failed to allocate memory."; + ctx->error.message = "Fallimento nel tentativo di allocarlo alla memoria."; // Plugins will not exceed 5MB so this is fine if (!res) { @@ -222,11 +222,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 = "Payloads di caricamento/salvataggio non valide."; // Save exe checksum if (!res) @@ -237,9 +237,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 richeide 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)) @@ -281,7 +281,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..29f40e97 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 per\nchiudere la memoria estesa dei giochi.\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 trovare blocchi liberi", res); 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: Fallimento nell'apertura del file swap.\n\nLa console verra' riavviata.", res); svcKernelSetState(7); } if (!ctx->isSwapFunctionset) { - PluginLoader__Error("CRITICAL: Swap save function\nis not set.\n\nConsole will now reboot.", res); + PluginLoader__Error("CRITICO: La funzione di salvataggio swap\nnon e' impostata.\n\nLa console verra' riavviata.", 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 il swap nella SD.\n\n La console verra' riavviata.", 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: Fallimento nell'apertura del file swap.\n\nLa console verra' riavviata.", 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 swap dalla SD.\n\nLa console verra' riavviata.", 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 swap e' corrotto.\n\nLa console verra' riavviata.", 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 i blocchi di memoria eseguibili"; 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 i blocchi di memoria riempiti"; error->code = res; } diff --git a/sysmodules/rosalina/source/plugin/plgloader.c b/sysmodules/rosalina/source/plugin/plgloader.c index 9cbed254..19685c39 100644 --- a/sysmodules/rosalina/source/plugin/plgloader.c +++ b/sysmodules/rosalina/source/plugin/plgloader.c @@ -15,7 +15,7 @@ #define THREADVARS_MAGIC 0x21545624 // !TV$ -static const char *g_title = "Plugin loader"; +static const char *g_title = "Caricatore di plugin"; PluginLoaderContext PluginLoaderCtx; extern u32 g_blockMenuOpen; @@ -67,8 +67,8 @@ void PluginLoader__UpdateMenu(void) { static const char *status[2] = { - "Plugin Loader: [Disabled]", - "Plugin Loader: [Enabled]" + "Caricatore di plugin: [Disabilitato]", + "Caricatore di plugin: [Abilitato]" }; rosalinaMenu.items[3].title = status[PluginLoaderCtx.isEnabled]; @@ -78,7 +78,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;