Skip to content

Commit

Permalink
Merge pull request #7 from Simo3ds/update
Browse files Browse the repository at this point in the history
Aggiunta traduzioni mancanti
  • Loading branch information
Simo3ds authored Nov 26, 2024
2 parents 1c8c640 + 84eed47 commit 7ce7fce
Show file tree
Hide file tree
Showing 5 changed files with 47 additions and 47 deletions.
8 changes: 4 additions & 4 deletions arm9/source/config.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
// ===========================================================
Expand Down Expand Up @@ -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",
Expand Down
4 changes: 2 additions & 2 deletions sysmodules/rosalina/source/plugin/display.c
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#include "draw.h"
#include <stdio.h>

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)
{
Expand Down Expand Up @@ -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();
Expand Down
34 changes: 17 additions & 17 deletions sysmodules/rosalina/source/plugin/file_loader.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down Expand Up @@ -186,28 +186,28 @@ 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];
}

// 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;
}

Expand All @@ -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) {
Expand All @@ -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)
Expand All @@ -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))
Expand Down Expand Up @@ -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;
}
Expand Down
22 changes: 11 additions & 11 deletions sysmodules/rosalina/source/plugin/memoryblock.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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;
}
Expand All @@ -140,20 +140,20 @@ 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);

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);
}

Expand All @@ -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);
}

Expand All @@ -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);
}

Expand All @@ -211,15 +211,15 @@ 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;
}

// 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;
}

Expand Down
26 changes: 13 additions & 13 deletions sysmodules/rosalina/source/plugin/plgloader.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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();

Expand Down Expand Up @@ -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];
}
Expand All @@ -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;

Expand Down

0 comments on commit 7ce7fce

Please sign in to comment.