mirror of
https://github.com/J-D-K/JKSV.git
synced 2026-03-21 17:24:37 -05:00
198 lines
8.8 KiB
C++
198 lines
8.8 KiB
C++
#include <string>
|
|
#include <map>
|
|
|
|
#include "file.h"
|
|
#include "cfg.h"
|
|
#include "type.h"
|
|
#include "uistr.h"
|
|
|
|
std::map<std::pair<std::string, int>, std::string> ui::strings;
|
|
|
|
static inline void addUIString(const std::string& _name, int ind, const std::string& _str)
|
|
{
|
|
ui::strings[std::make_pair(_name, ind)] = _str;
|
|
}
|
|
|
|
void ui::initStrings()
|
|
{
|
|
addUIString("author", 0, "NULL");
|
|
addUIString("helpUser", 0, "[A] Select [X] User Options");
|
|
addUIString("helpTitle", 0, "[A] Select [L][R] Jump [Y] Favorite [X] Title Options [B] Back");
|
|
addUIString("helpFolder", 0, "[A] Select [Y] Restore [X] Delete [B] Close");
|
|
addUIString("helpSettings", 0, "[A] Toggle [X] Defaults [B] Back");
|
|
|
|
//Y/N On/Off
|
|
addUIString("dialogYes", 0, "Yes [A]");
|
|
addUIString("dialogNo", 0, "No [B]");
|
|
addUIString("settingsOn", 0, ">On>");
|
|
addUIString("settingsOff", 0, "Off");
|
|
addUIString("holdingText", 0, "(Hold) ");
|
|
addUIString("holdingText", 1, "(Keep Holding) ");
|
|
addUIString("holdingText", 2, "(Almost There!) ");
|
|
|
|
//Confirmation Strings
|
|
addUIString("confirmBlacklist", 0, "Are you sure you want to add #%s# to your blacklist?");
|
|
addUIString("confirmOverwrite", 0, "Are you sure you want to overwrite #%s#?");
|
|
addUIString("confirmRestore", 0, "Are you sure you want to restore #%s#?");
|
|
addUIString("confirmDelete", 0, "Are you sure you want to delete #%s#? *This is permanent*!");
|
|
addUIString("confirmCopy", 0, "Are you sure you want to copy #%s# to #%s#?");
|
|
addUIString("confirmDeleteSaveData", 0, "*WARNING*: This *will* erase the save data for #%s# *from your system*. Are you sure you want to do this?");
|
|
addUIString("confirmResetSaveData", 0, "*WARNING*: This *will* reset the save data for this game as if it was never ran before. Are you sure you want to do this?");
|
|
|
|
//Save Data related strings
|
|
addUIString("saveDataNoneFound", 0, "No saves found for #%s#!");
|
|
addUIString("saveDataCreatedForUser", 0, "Save data created for %s!");
|
|
addUIString("saveDataCreationFailed", 0, "Save data creation failed!");
|
|
addUIString("saveDataResetSuccess", 0, "Save for #%s# reset!");
|
|
addUIString("saveDataDeleteSuccess", 0, "Save data for #%s# deleted!");
|
|
addUIString("saveDataExtendSuccess", 0, "Save data for #%s# extended!");
|
|
addUIString("saveDataExtendFailed", 0, "Failed to extend save data.");
|
|
addUIString("saveDataDeleteAllUser", 0, "*ARE YOU SURE YOU WANT TO DELETE ALL SAVE DATA FOR %s?*");
|
|
addUIString("saveDataBackupDeleted", 0, "#%s# has been deleted.");
|
|
addUIString("saveDataBackupMovedToTrash", 0, "#%s# has been moved to trash.");
|
|
|
|
//Internet Related
|
|
addUIString("onlineErrorConnecting", 0, "Error Connecting!");
|
|
addUIString("onlineNoUpdates", 0, "No Updates Available.");
|
|
|
|
//File mode menu strings
|
|
addUIString("fileModeMenu", 0, "Copy To ");
|
|
addUIString("fileModeMenu", 1, "Delete");
|
|
addUIString("fileModeMenu", 2, "Rename");
|
|
addUIString("fileModeMenu", 3, "Make Dir");
|
|
addUIString("fileModeMenu", 4, "Properties");
|
|
addUIString("fileModeMenu", 5, "Close");
|
|
addUIString("fileModeMenu", 6, "Add to Path Filters");
|
|
|
|
//Settings menu
|
|
addUIString("settingsMenu", 0, "Empty Trash Bin");
|
|
addUIString("settingsMenu", 1, "Check for Updates");
|
|
addUIString("settingsMenu", 2, "Set JKSV Save Output Folder");
|
|
addUIString("settingsMenu", 3, "Include Device Saves With Users: ");
|
|
addUIString("settingsMenu", 4, "Auto Backup On Restore: ");
|
|
addUIString("settingsMenu", 5, "Overclock/CPU Boost: ");
|
|
addUIString("settingsMenu", 6, "Hold To Delete: ");
|
|
addUIString("settingsMenu", 7, "Hold To Restore: ");
|
|
addUIString("settingsMenu", 8, "Hold To Overwrite: ");
|
|
addUIString("settingsMenu", 9, "Force Mount: ");
|
|
addUIString("settingsMenu", 10, "Account System Saves: ");
|
|
addUIString("settingsMenu", 11, "Enable Writing to System Saves: ");
|
|
addUIString("settingsMenu", 12, "Use FS Commands Directly: ");
|
|
addUIString("settingsMenu", 13, "Export Saves to ZIP: ");
|
|
addUIString("settingsMenu", 14, "Force English To Be Used: ");
|
|
addUIString("settingsMenu", 15, "Enable Trash Bin: ");
|
|
addUIString("settingsMenu", 16, "Title Sorting Type: ");
|
|
addUIString("settingsMenu", 17, "Animation Scale: ");
|
|
|
|
//Sort Strings for ^
|
|
addUIString("sortType", 0, "Alphabetical");
|
|
addUIString("sortType", 1, "Time Played");
|
|
addUIString("sortType", 2, "Last Played");
|
|
|
|
//Extras
|
|
addUIString("extrasMenu", 0, "SD to SD Browser");
|
|
addUIString("extrasMenu", 1, "BIS: ProdInfoF");
|
|
addUIString("extrasMenu", 2, "BIS: Safe");
|
|
addUIString("extrasMenu", 3, "BIS: System");
|
|
addUIString("extrasMenu", 4, "BIS: User");
|
|
addUIString("extrasMenu", 5, "Remove Pending Update");
|
|
addUIString("extrasMenu", 6, "Terminate Process");
|
|
addUIString("extrasMenu", 7, "Mount System Save");
|
|
addUIString("extrasMenu", 8, "Rescan Titles");
|
|
addUIString("extrasMenu", 9, "Mount Process RomFS");
|
|
addUIString("extrasMenu", 10, "Backup JKSV Folder");
|
|
addUIString("extrasMenu", 11, "*[DEV]* Output en-US");
|
|
|
|
//User Options
|
|
addUIString("userOptions", 0, "Create Save Data");
|
|
addUIString("userOptions", 1, "Create All Save Data");
|
|
addUIString("userOptions", 2, "Delete All User Saves");
|
|
|
|
//Title Options
|
|
addUIString("titleOptions", 0, "Information");
|
|
addUIString("titleOptions", 1, "Blacklist");
|
|
addUIString("titleOptions", 2, "Change Output Folder");
|
|
addUIString("titleOptions", 3, "Open in File Mode");
|
|
addUIString("titleOptions", 4, "Reset Save Data");
|
|
addUIString("titleOptions", 5, "Delete Save Data");
|
|
addUIString("titleOptions", 6, "Extend Save Data");
|
|
|
|
//Thread Status Strings
|
|
addUIString("threadStatusCreatingSaveData", 0, "Creating save data for #%s#...");
|
|
addUIString("threadStatusCopyingFile", 0, "Copying '#%s#'...");
|
|
addUIString("threadStatusDeletingFile", 0, "Deleting...");
|
|
addUIString("threadStatusOpeningFolder", 0, "Opening '#%s#'...");
|
|
addUIString("threadStatusAddingFileToZip", 0, "Adding '#%s#' to ZIP...");
|
|
addUIString("threadStatusDecompressingFile", 0, "Decompressing '#%s#'...");
|
|
addUIString("threadStatusResettingSaveData", 0, "Resetting Save Data for #%s#...");
|
|
addUIString("threadStatusDeletingSaveData", 0, "Deleting Save Data for #%s#...");
|
|
addUIString("threadStatusExtendingSaveData", 0, "Extending Save Data for #%s#...");
|
|
addUIString("threadStatusCreatingSaveData", 0, "Creating Save Data for #%s#...");
|
|
addUIString("threadStatusResettingSaveData", 0, "Resetting save data...");
|
|
addUIString("threadStatusDeletingUpdate", 0, "Deleting pending update...");
|
|
addUIString("threadStatusCheckingForUpdate", 0, "Checking for updates...");
|
|
addUIString("threadStatusDownloadingUpdate", 0, "Downloading update...");
|
|
|
|
//Random leftover pop-ups
|
|
addUIString("popCPUBoostEnabled", 0, "CPU Boost Enabled for ZIP.");
|
|
addUIString("popErrorCommittingFile", 0, "Error committing file to save!");
|
|
addUIString("popProcessShutdown", 0, "#%s# successfully shutdown.");
|
|
addUIString("popAddedToPathFilter", 0, "'#%s#' added to path filters.");
|
|
|
|
//Keyboard hints
|
|
addUIString("swkbdEnterName", 0, "Enter a new name");
|
|
addUIString("swkbdSaveIndex", 0, "Enter Cache Index");
|
|
addUIString("swkbdSetWorkDir", 0, "Enter a new Output Path");
|
|
addUIString("swkbdProcessID", 0, "Enter Process ID");
|
|
addUIString("swkbdSysSavID", 0, "Enter System Save ID");
|
|
addUIString("swkbdRename", 0, "Enter a new name for item");
|
|
addUIString("swkbdMkDir", 0, "Enter a folder name");
|
|
}
|
|
|
|
void ui::loadTrans()
|
|
{
|
|
bool transFile = fs::fileExists(fs::getWorkDir() + "trans.txt");
|
|
if(!transFile && (data::sysLang == SetLanguage_ENUS || cfg::config["langOverride"]))
|
|
ui::initStrings();
|
|
else
|
|
{
|
|
std::string file;
|
|
if(transFile)
|
|
file = fs::getWorkDir() + "trans.txt";
|
|
else
|
|
{
|
|
file = "romfs:/lang/";
|
|
switch(data::sysLang)
|
|
{
|
|
//I removed these for now. Old translation files are incompatible and will cause crashes.
|
|
default:
|
|
ui::initStrings();
|
|
return;
|
|
break;
|
|
}
|
|
}
|
|
|
|
fs::dataFile lang(file);
|
|
while(lang.readNextLine(true))
|
|
{
|
|
std::string name = lang.getName();
|
|
int ind = lang.getNextValueInt();
|
|
std::string str = lang.getNextValueStr();
|
|
addUIString(name, ind, str);
|
|
}
|
|
}
|
|
}
|
|
|
|
void ui::saveTranslationFile(void *a)
|
|
{
|
|
threadInfo *t = (threadInfo *)a;
|
|
t->status->setStatus("Saving the file master...");
|
|
|
|
std::string out = fs::getWorkDir() + "en-US.txt";
|
|
FILE *enUS = fopen(out.c_str(), "w");
|
|
for(auto& s : ui::strings)
|
|
fprintf(enUS, "%s = %i, \"%s\"\n", s.first.first.c_str(), s.first.second, s.second.c_str());
|
|
fclose(enUS);
|
|
t->finished = true;
|
|
}
|