diff --git a/soh/soh/Enhancements/randomizer/Plandomizer.cpp b/soh/soh/Enhancements/randomizer/Plandomizer.cpp index 63b65249e..d9de05107 100644 --- a/soh/soh/Enhancements/randomizer/Plandomizer.cpp +++ b/soh/soh/Enhancements/randomizer/Plandomizer.cpp @@ -536,21 +536,21 @@ void PlandomizerSaveSpoilerLog() { spoilerSave["file_hash"] = { plandoHash[0], plandoHash[1], plandoHash[2], plandoHash[3], plandoHash[4] }; for (auto& import : plandoHintData) { - spoilerSave["Gossip Stone Hints"][import.hintName] = { { "type", import.hintType.c_str() }, - { "message", import.hintText.c_str() } }; + spoilerSave["Gossip Stone Hints"][import.hintName] = { { LanguageManager::Instance().GetString("type").c_str(), import.hintType.c_str() }, + { LanguageManager::Instance().GetString("message").c_str(), import.hintText.c_str() } }; } for (auto& import : plandoLogData) { if (import.checkRewardItem.GetRandomizerGet() == RG_ICE_TRAP) { - spoilerSave["locations"][import.checkName] = { { "item", import.checkRewardItem.GetName().english }, - { "model", import.iceTrapModel.GetName().english }, - { "trickName", import.iceTrapName.c_str() } }; + spoilerSave["locations"][import.checkName] = { { LanguageManager::Instance().GetString("item").c_str(), import.checkRewardItem.GetName().english }, + { LanguageManager::Instance().GetString("model").c_str(), import.iceTrapModel.GetName().english }, + { LanguageManager::Instance().GetString("trickName").c_str(), import.iceTrapName.c_str() } }; if (import.shopPrice > -1) { spoilerSave["locations"][import.checkName]["price"] = import.shopPrice; } } else if (import.shopPrice > -1) { - spoilerSave["locations"][import.checkName] = { { "item", import.checkRewardItem.GetName().english }, - { "price", import.shopPrice } }; + spoilerSave["locations"][import.checkName] = { { LanguageManager::Instance().GetString("item").c_str(), import.checkRewardItem.GetName().english }, + { LanguageManager::Instance().GetString("price").c_str(), import.shopPrice } }; } else { spoilerSave["locations"][import.checkName] = import.checkRewardItem.GetName().english; } @@ -687,7 +687,7 @@ void PlandomizerOverlayText(std::pair drawObject) { textPos = ImVec2(imageMin.x + 2, imageMin.y + 2); ImGui::SetCursorScreenPos(textPos); - ImGui::Text("+"); + ImGui::Text(LanguageManager::Instance().GetString("+").c_str()); } if (extractNumberInParentheses(drawObject.first.GetName().english.c_str()) != "" && extractNumberInParentheses(drawObject.first.GetName().english.c_str()) != "WINNER" && @@ -728,7 +728,7 @@ void PlandomizerOverlayText(std::pair drawObject) { } void PlandomizerDrawItemPopup(uint32_t index) { - if (shouldPopup && ImGui::BeginPopup("ItemList")) { + if (shouldPopup && ImGui::BeginPopup(LanguageManager::Instance().GetString("ItemList").c_str())) { PlandoPushImageButtonStyle(); ImGui::SeparatorText(LanguageManager::Instance().GetString("Resources").c_str()); ImGui::BeginTable("Infinite Item Table", 7); @@ -806,7 +806,7 @@ void PlandomizerDrawItemPopup(uint32_t index) { } void PlandomizerDrawIceTrapPopUp(uint32_t index) { - if (shouldTrapPopup && ImGui::BeginPopup("TrapList")) { + if (shouldTrapPopup && ImGui::BeginPopup(LanguageManager::Instance().GetString("TrapList").c_str())) { ImGui::BeginTable("Ice Trap Table", 8); PlandoPushImageButtonStyle(); for (auto& items : itemImageMap) { @@ -864,7 +864,7 @@ void PlandomizerDrawShopSlider(uint32_t index) { UIWidgets::SliderInt("Price:", &plandoLogData[index].shopPrice, UIWidgets::IntSliderOptions() .Color(THEME_COLOR) - .Format("%d Rupees") + .Format(LanguageManager::Instance().GetString("%d Rupees").c_str()) .Min(0) .Max(999) .LabelPosition(UIWidgets::LabelPositions::Near) @@ -996,7 +996,7 @@ void PlandomizerDrawOptions() { if (spoilerLogData.size() > 0) { if (ImGui::BeginTable("HashIcons", 5)) { for (int i = 0; i < 5; i++) { - ImGui::TableSetupColumn("Icon", ImGuiTableColumnFlags_WidthFixed, 34.0f); + ImGui::TableSetupColumn(LanguageManager::Instance().GetString("Icon").c_str(), ImGuiTableColumnFlags_WidthFixed, 34.0f); } ImGui::TableNextColumn(); @@ -1086,7 +1086,7 @@ void PlandomizerDrawOptions() { } ImGui::SameLine(); ImGui::SetNextItemWidth(150); - if (ImGui::InputText("##ItemSearch", itemFilterSearch, sizeof(itemFilterSearch), ImGuiInputTextFlags_EnterReturnsTrue)) { + if (ImGui::InputText(LanguageManager::Instance().GetString("##ItemSearch").c_str(), itemFilterSearch, sizeof(itemFilterSearch), ImGuiInputTextFlags_EnterReturnsTrue)) { if (strlen(itemFilterSearch) > 0) { for (int i = 0; i < (int32_t)itemFilterNames.size(); i++) { std::string lowerSearch = itemFilterSearch; @@ -1108,7 +1108,7 @@ void PlandomizerDrawOptions() { .Color(THEME_COLOR) .Size(UIWidgets::Sizes::Inline) .Padding(ImVec2(8.f, 6.f)) - .Tooltip("Sort items A-Z"))) { + .Tooltip(LanguageManager::Instance().GetString("Sort items A-Z").c_str()))) { std::vector> sorted; for (size_t i = 1; i < itemFilterNames.size(); i++) { sorted.push_back({ itemFilterNames[i], itemFilterList[i] }); @@ -1148,7 +1148,7 @@ void PlandomizerDrawHintsWindow() { uint32_t index = 0; std::string hintInputText; - ImGui::BeginChild("Hints"); + ImGui::BeginChild(LanguageManager::Instance().GetString("Hints").c_str()); if (ImGui::BeginTable("Hints Window", 1, ImGuiTableFlags_BordersInnerV | ImGuiTableFlags_ScrollY)) { ImGui::TableSetupColumn(LanguageManager::Instance().GetString("Hint Entries").c_str()); ImGui::TableSetupScrollFreeze(0, 1); @@ -1171,7 +1171,7 @@ void PlandomizerDrawHintsWindow() { .Color(THEME_COLOR) .Padding(ImVec2(10.f, 6.f)) .Size(UIWidgets::Sizes::Inline) - .Tooltip("Randomize Hint"))) { + .Tooltip(LanguageManager::Instance().GetString("Randomize Hint").c_str()))) { PlandomizerRandomizeHint(HINT_SINGLE, index); } ImGui::SameLine(); @@ -1194,7 +1194,7 @@ void PlandomizerDrawHintsWindow() { void PlandomizerDrawLocationsWindow(RandomizerCheckArea rcArea) { uint32_t index = 0; - ImGui::BeginChild("Locations"); + ImGui::BeginChild(LanguageManager::Instance().GetString("Locations").c_str()); if (ImGui::BeginTable("Locations Window", 4, ImGuiTableFlags_BordersInnerV | ImGuiTableFlags_ScrollY)) { ImGui::TableSetupColumn(LanguageManager::Instance().GetString("Spoiler Log Check Name").c_str(), ImGuiTableColumnFlags_WidthFixed, 250.0f); ImGui::TableSetupColumn(LanguageManager::Instance().GetString("Spoiler Log Reward").c_str(), ImGuiTableColumnFlags_WidthFixed, 190.0f); @@ -1243,7 +1243,7 @@ void PlandomizerDrawLocationsWindow(RandomizerCheckArea rcArea) { } void PlandomizerDrawSpoilerTable() { - ImGui::BeginChild("Main"); + ImGui::BeginChild(LanguageManager::Instance().GetString("Main").c_str()); UIWidgets::PushStyleTabs(THEME_COLOR); if (ImGui::BeginTabBar("Check Tabs")) { if (ImGui::BeginTabItem(LanguageManager::Instance().GetString("Gossip Stones").c_str())) { diff --git a/soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp b/soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp index a10d5962e..2b031808e 100644 --- a/soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp +++ b/soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp @@ -1038,7 +1038,7 @@ void CheckTrackerWindow::DrawElement() { #else float headerHeight = 20.0f; #endif - if (!ImGui::BeginTable("Check Tracker", 1, 0)) { + if (!ImGui::BeginTable(LanguageManager::Instance().GetString("Check Tracker").c_str(), 1, 0)) { Trackers::EndFloatWindows(); return; } @@ -1122,7 +1122,7 @@ void CheckTrackerWindow::DrawElement() { // Checks Section Lead-in ImGui::TableNextRow(); ImGui::TableNextColumn(); - if (!ImGui::BeginTable("CheckTracker##Checks", 1, ImGuiTableFlags_ScrollY)) { + if (!ImGui::BeginTable(LanguageManager::Instance().GetString("CheckTracker##Checks").c_str(), 1, ImGuiTableFlags_ScrollY)) { ImGui::EndTable(); Trackers::EndFloatWindows(); return; @@ -2117,7 +2117,7 @@ void CheckTrackerWindow::Draw() { void CheckTrackerSettingsWindow::DrawElement() { ImGui::PushStyleVar(ImGuiStyleVar_CellPadding, { 8.0f, 8.0f }); - if (ImGui::BeginTable("CheckTrackerSettingsTable", 2, ImGuiTableFlags_BordersH | ImGuiTableFlags_BordersV)) { + if (ImGui::BeginTable(LanguageManager::Instance().GetString("CheckTrackerSettingsTable").c_str(), 2, ImGuiTableFlags_BordersH | ImGuiTableFlags_BordersV)) { ImGui::TableSetupColumn(LanguageManager::Instance().GetString("General settings").c_str(), ImGuiTableColumnFlags_WidthStretch, 200.0f); ImGui::TableSetupColumn(LanguageManager::Instance().GetString("Section settings").c_str(), ImGuiTableColumnFlags_WidthStretch, 200.0f); ImGui::TableHeadersRow(); @@ -2127,9 +2127,9 @@ void CheckTrackerSettingsWindow::DrawElement() { SohGui::GetSohMenu()->MenuDrawItem(windowTypeWidget, ImGui::GetContentRegionAvail().x, THEME_COLOR); - UIWidgets::CVarSliderFloat("Font Size", CVAR_TRACKER_CHECK("FontSize"), + UIWidgets::CVarSliderFloat(LanguageManager::Instance().GetString("Font Size").c_str(), CVAR_TRACKER_CHECK("FontSize"), UIWidgets::FloatSliderOptions() - .Tooltip("Sets the font size used in the check tracker.") + .Tooltip(LanguageManager::Instance().GetString("Sets the font size used in the check tracker.").c_str()) .Format("%.1f") .Step(0.1f) .Min(0.3f) @@ -2138,11 +2138,11 @@ void CheckTrackerSettingsWindow::DrawElement() { .DefaultValue(1.0f)); if (CVarGetInteger(CVAR_TRACKER_CHECK("WindowType"), TRACKER_WINDOW_WINDOW) == TRACKER_WINDOW_FLOATING) { - UIWidgets::CVarCheckbox("Enable Dragging", CVAR_TRACKER_CHECK("Draggable"), + UIWidgets::CVarCheckbox(LanguageManager::Instance().GetString("Enable Dragging").c_str(), CVAR_TRACKER_CHECK("Draggable"), UIWidgets::CheckboxOptions().Color(THEME_COLOR)); - UIWidgets::CVarCheckbox("Only Enable While Paused", CVAR_TRACKER_CHECK("ShowOnlyPaused"), + UIWidgets::CVarCheckbox(LanguageManager::Instance().GetString("Only Enable While Paused").c_str(), CVAR_TRACKER_CHECK("ShowOnlyPaused"), UIWidgets::CheckboxOptions().Color(THEME_COLOR)); - UIWidgets::CVarCombobox("Display Mode", CVAR_TRACKER_CHECK("DisplayType"), showMode, + UIWidgets::CVarCombobox(LanguageManager::Instance().GetString("Display Mode").c_str(), CVAR_TRACKER_CHECK("DisplayType"), showMode, UIWidgets::ComboboxOptions() .LabelPosition(UIWidgets::LabelPositions::Far) .ComponentAlignment(UIWidgets::ComponentAlignments::Right) @@ -2150,13 +2150,13 @@ void CheckTrackerSettingsWindow::DrawElement() { .DefaultIndex(0)); if (CVarGetInteger(CVAR_TRACKER_CHECK("DisplayType"), TRACKER_DISPLAY_ALWAYS) == TRACKER_DISPLAY_COMBO_BUTTON) { - UIWidgets::CVarCombobox("Combo Button 1", CVAR_TRACKER_CHECK("ComboButton1"), buttonStrings, + UIWidgets::CVarCombobox(LanguageManager::Instance().GetString("Combo Button 1").c_str(), CVAR_TRACKER_CHECK("ComboButton1"), buttonStrings, UIWidgets::ComboboxOptions() .LabelPosition(UIWidgets::LabelPositions::Far) .ComponentAlignment(UIWidgets::ComponentAlignments::Right) .Color(THEME_COLOR) .DefaultIndex(TRACKER_COMBO_BUTTON_L)); - UIWidgets::CVarCombobox("Combo Button 2", CVAR_TRACKER_CHECK("ComboButton2"), buttonStrings, + UIWidgets::CVarCombobox(LanguageManager::Instance().GetString("Combo Button 2").c_str(), CVAR_TRACKER_CHECK("ComboButton2"), buttonStrings, UIWidgets::ComboboxOptions() .LabelPosition(UIWidgets::LabelPositions::Far) .ComponentAlignment(UIWidgets::ComponentAlignments::Right) @@ -2182,20 +2182,20 @@ void CheckTrackerSettingsWindow::DrawElement() { UIWidgets::CVarCheckbox( "Filter Empty Areas", CVAR_TRACKER_CHECK("HideFilteredAreas"), UIWidgets::CheckboxOptions() - .Tooltip("If enabled, will hide area headers that have no locations matching filter") + .Tooltip(LanguageManager::Instance().GetString("If enabled, will hide area headers that have no locations matching filter").c_str()) .Color(THEME_COLOR) .DefaultValue(true)); ImGui::SeparatorText(LanguageManager::Instance().GetString("Tracker Header Visibility").c_str()); - UIWidgets::CVarCheckbox("Hidden Items Toggle", CVAR_TRACKER_CHECK("HiddenItemsToggleVisible"), + UIWidgets::CVarCheckbox(LanguageManager::Instance().GetString("Hidden Items Toggle").c_str(), CVAR_TRACKER_CHECK("HiddenItemsToggleVisible"), UIWidgets::CheckboxOptions().Color(THEME_COLOR).DefaultValue(true)); - UIWidgets::CVarCheckbox("Available Checks Toggle", CVAR_TRACKER_CHECK("AvailableChecksToggleVisible"), + UIWidgets::CVarCheckbox(LanguageManager::Instance().GetString("Available Checks Toggle").c_str(), CVAR_TRACKER_CHECK("AvailableChecksToggleVisible"), UIWidgets::CheckboxOptions().Color(THEME_COLOR).DefaultValue(true)); - UIWidgets::CVarCheckbox("Expand/Collapse Buttons", CVAR_TRACKER_CHECK("ExpandCollapseButtonsVisible"), + UIWidgets::CVarCheckbox(LanguageManager::Instance().GetString("Expand/Collapse Buttons").c_str(), CVAR_TRACKER_CHECK("ExpandCollapseButtonsVisible"), UIWidgets::CheckboxOptions().Color(THEME_COLOR).DefaultValue(false)); - UIWidgets::CVarCheckbox("Search Input", CVAR_TRACKER_CHECK("SearchInputVisible"), + UIWidgets::CVarCheckbox(LanguageManager::Instance().GetString("Search Input").c_str(), CVAR_TRACKER_CHECK("SearchInputVisible"), UIWidgets::CheckboxOptions().Color(THEME_COLOR).DefaultValue(true)); - UIWidgets::CVarCheckbox("Check Totals", CVAR_TRACKER_CHECK("CheckTotalsVisible"), + UIWidgets::CVarCheckbox(LanguageManager::Instance().GetString("Check Totals").c_str(), CVAR_TRACKER_CHECK("CheckTotalsVisible"), UIWidgets::CheckboxOptions().Color(THEME_COLOR).DefaultValue(true)); ImGui::TableNextColumn(); @@ -2265,13 +2265,13 @@ void CheckTrackerWindow::UpdateElement() { } void RegisterCheckTrackerWidgets() { - backgroundColorWidget = { .name = "Background Color##CheckTracker", .type = WidgetType::WIDGET_CVAR_COLOR_PICKER }; + backgroundColorWidget = { .name = LanguageManager::Instance().GetString("Background Color##CheckTracker"), .type = WidgetType::WIDGET_CVAR_COLOR_PICKER }; backgroundColorWidget.CVar(CVAR_TRACKER_CHECK("BgColor")) .Options( ColorPickerOptions().Color(THEME_COLOR).DefaultValue(Color_Bg_Default).UseAlpha().ShowReset().ShowRandom()); SohGui::GetSohMenu()->AddSearchWidget({ backgroundColorWidget, "Randomizer", "Check Tracker", "General Settings" }); - windowTypeWidget = { .name = "Window Type##CheckTracker", .type = WidgetType::WIDGET_CVAR_COMBOBOX }; + windowTypeWidget = { .name = LanguageManager::Instance().GetString("Window Type##CheckTracker"), .type = WidgetType::WIDGET_CVAR_COMBOBOX }; windowTypeWidget.CVar(CVAR_TRACKER_CHECK("WindowType")) .Options(ComboboxOptions() .DefaultIndex(TRACKER_WINDOW_WINDOW) @@ -2281,7 +2281,7 @@ void RegisterCheckTrackerWidgets() { .ComboMap(windowType)); SohGui::GetSohMenu()->AddSearchWidget({ windowTypeWidget, "Randomizer", "Check Tracker", "General Settings" }); - dungeonSpoilerWidget = { .name = "Vanilla/MQ Dungeon Spoilers", .type = WidgetType::WIDGET_CVAR_CHECKBOX }; + dungeonSpoilerWidget = { .name = LanguageManager::Instance().GetString("Vanilla/MQ Dungeon Spoilers"), .type = WidgetType::WIDGET_CVAR_CHECKBOX }; dungeonSpoilerWidget.CVar(CVAR_TRACKER_CHECK("MQSpoilers")) .Options(CheckboxOptions() .Color(THEME_COLOR) @@ -2289,12 +2289,12 @@ void RegisterCheckTrackerWidgets() { "Otherwise, Vanilla/MQ dungeon locations must be unlocked.")); SohGui::GetSohMenu()->AddSearchWidget({ dungeonSpoilerWidget, "Randomizer", "Check Tracker", "General Settings" }); - hideUnshuffledShopWidget = { .name = "Hide Unshuffled Shop Item Checks", .type = WidgetType::WIDGET_CVAR_CHECKBOX }; + hideUnshuffledShopWidget = { .name = LanguageManager::Instance().GetString("Hide Unshuffled Shop Item Checks"), .type = WidgetType::WIDGET_CVAR_CHECKBOX }; hideUnshuffledShopWidget.CVar(CVAR_TRACKER_CHECK("HideUnshuffledShopChecks")) .Options( CheckboxOptions() .Color(THEME_COLOR) - .Tooltip("If enabled, will prevent the tracker from displaying slots with non-shop-item shuffles.")) + .Tooltip(LanguageManager::Instance().GetString("If enabled, will prevent the tracker from displaying slots with non-shop-item shuffles.").c_str())) .Callback([&](WidgetInfo& info) { hideShopUnshuffledChecks = CVarGetInteger(CVAR_TRACKER_CHECK("HideUnshuffledShopChecks"), 0); UpdateFilters(); @@ -2302,25 +2302,25 @@ void RegisterCheckTrackerWidgets() { SohGui::GetSohMenu()->AddSearchWidget( { hideUnshuffledShopWidget, "Randomizer", "Check Tracker", "General Settings" }); - showGSWidget = { .name = "Always Show Gold Skulltulas", .type = WidgetType::WIDGET_CVAR_CHECKBOX }; + showGSWidget = { .name = LanguageManager::Instance().GetString("Always Show Gold Skulltulas"), .type = WidgetType::WIDGET_CVAR_CHECKBOX }; showGSWidget.CVar(CVAR_TRACKER_CHECK("AlwaysShowGSLocs")) .Options(CheckboxOptions() .Color(THEME_COLOR) - .Tooltip("If enabled, will show GS locations in the tracker regardless of tokensanity settings.")) + .Tooltip(LanguageManager::Instance().GetString("If enabled, will show GS locations in the tracker regardless of tokensanity settings.").c_str())) .Callback([&](WidgetInfo& info) { alwaysShowGS = !alwaysShowGS; UpdateFilters(); }); SohGui::GetSohMenu()->AddSearchWidget({ showGSWidget, "Randomizer", "Check Tracker", "General Settings" }); - showLogicWidget = { .name = "Show Logic", .type = WidgetType::WIDGET_CVAR_CHECKBOX }; + showLogicWidget = { .name = LanguageManager::Instance().GetString("Show Logic"), .type = WidgetType::WIDGET_CVAR_CHECKBOX }; showLogicWidget.CVar(CVAR_TRACKER_CHECK("ShowLogic")) .Options(CheckboxOptions() .Color(THEME_COLOR) - .Tooltip("If enabled, will show a check's logic when hovering over it.")); + .Tooltip(LanguageManager::Instance().GetString("If enabled, will show a check's logic when hovering over it.").c_str())); SohGui::GetSohMenu()->AddSearchWidget({ showLogicWidget, "Randomizer", "Check Tracker", "General Settings" }); - checkAvailabilityWidget = { .name = "Enable Available Checks", .type = WidgetType::WIDGET_CVAR_CHECKBOX }; + checkAvailabilityWidget = { .name = LanguageManager::Instance().GetString("Enable Available Checks"), .type = WidgetType::WIDGET_CVAR_CHECKBOX }; checkAvailabilityWidget.CVar(CVAR_TRACKER_CHECK("EnableAvailableChecks")) .Options(CheckboxOptions() .Color(THEME_COLOR) diff --git a/soh/soh/Enhancements/randomizer/randomizer_entrance_tracker.cpp b/soh/soh/Enhancements/randomizer/randomizer_entrance_tracker.cpp index c692b7b21..39a6f1b7c 100644 --- a/soh/soh/Enhancements/randomizer/randomizer_entrance_tracker.cpp +++ b/soh/soh/Enhancements/randomizer/randomizer_entrance_tracker.cpp @@ -53,31 +53,31 @@ static ImVec2 presetPos; static ImVec2 presetSize; static std::string spoilerEntranceGroupNames[] = { - "Spawns/Warp Songs/Owls", - "Kokiri Forest", - "Lost Woods", - "Sacred Forest Meadow", - "Kakariko Village", - "Graveyard", - "Death Mountain Trail", - "Death Mountain Crater", - "Goron City", - "Zora's River", - "Zora's Domain", - "Zora's Fountain", - "Hyrule Field", - "Lon Lon Ranch", - "Lake Hylia", - "Gerudo Valley", - "Gerudo Fortress", - "Haunted Wasteland", - "Desert Colossus", - "Market", - "Hyrule Castle", + LanguageManager::Instance().GetString("Spawns/Warp Songs/Owls").c_str(), + LanguageManager::Instance().GetString("Kokiri Forest").c_str(), + LanguageManager::Instance().GetString("Lost Woods").c_str(), + LanguageManager::Instance().GetString("Sacred Forest Meadow").c_str(), + LanguageManager::Instance().GetString("Kakariko Village").c_str(), + LanguageManager::Instance().GetString("Graveyard").c_str(), + LanguageManager::Instance().GetString("Death Mountain Trail").c_str(), + LanguageManager::Instance().GetString("Death Mountain Crater").c_str(), + LanguageManager::Instance().GetString("Goron City").c_str(), + LanguageManager::Instance().GetString("Zora's River").c_str(), + LanguageManager::Instance().GetString("Zora's Domain").c_str(), + LanguageManager::Instance().GetString("Zora's Fountain").c_str(), + LanguageManager::Instance().GetString("Hyrule Field").c_str(), + LanguageManager::Instance().GetString("Lon Lon Ranch").c_str(), + LanguageManager::Instance().GetString("Lake Hylia").c_str(), + LanguageManager::Instance().GetString("Gerudo Valley").c_str(), + LanguageManager::Instance().GetString("Gerudo Fortress").c_str(), + LanguageManager::Instance().GetString("Haunted Wasteland").c_str(), + LanguageManager::Instance().GetString("Desert Colossus").c_str(), + LanguageManager::Instance().GetString("Market").c_str(), + LanguageManager::Instance().GetString("Hyrule Castle").c_str(), }; static std::string groupTypeNames[] = { - "One Way", "Overworld", "Interior", "Fortress", "Grotto", "Dungeon", + LanguageManager::Instance().GetString("One Way").c_str(), LanguageManager::Instance().GetString("Overworld").c_str(), LanguageManager::Instance().GetString("Interior").c_str(), LanguageManager::Instance().GetString("Fortress").c_str(), LanguageManager::Instance().GetString("Grotto").c_str(), LanguageManager::Instance().GetString("Dungeon").c_str(), }; // Entrance data for the tracker taken from the 3ds rando entrance tracker, and supplemented with scene/spawn info and @@ -713,7 +713,7 @@ void InitEntranceTrackingData() { void EntranceTrackerSettingsWindow::DrawElement() { - ImGui::TextWrapped("The entrance tracker will only track shuffled entrances"); + ImGui::TextWrapped(LanguageManager::Instance().GetString("The entrance tracker will only track shuffled entrances").c_str()); Spacer(0); ImGui::TableNextColumn(); @@ -722,10 +722,10 @@ void EntranceTrackerSettingsWindow::DrawElement() { SohGui::GetSohMenu()->MenuDrawItem(windowTypeWidget, ImGui::GetContentRegionAvail().x, THEME_COLOR); if (CVarGetInteger(CVAR_TRACKER_ENTRANCE("WindowType"), TRACKER_WINDOW_WINDOW) == TRACKER_WINDOW_FLOATING) { - CVarCheckbox("Enable Dragging", CVAR_TRACKER_ENTRANCE("Draggable"), CheckboxOptions().Color(THEME_COLOR)); - CVarCheckbox("Only Enable While Paused", CVAR_TRACKER_ENTRANCE("ShowOnlyPaused"), + CVarCheckbox(LanguageManager::Instance().GetString("Enable Dragging").c_str(), CVAR_TRACKER_ENTRANCE("Draggable"), CheckboxOptions().Color(THEME_COLOR)); + CVarCheckbox(LanguageManager::Instance().GetString("Only Enable While Paused").c_str(), CVAR_TRACKER_ENTRANCE("ShowOnlyPaused"), CheckboxOptions().Color(THEME_COLOR)); - CVarCombobox("Display Mode", CVAR_TRACKER_ENTRANCE("DisplayType"), showMode, + CVarCombobox(LanguageManager::Instance().GetString("Display Mode").c_str(), CVAR_TRACKER_ENTRANCE("DisplayType"), showMode, ComboboxOptions() .LabelPosition(LabelPositions::Far) .ComponentAlignment(ComponentAlignments::Right) @@ -733,13 +733,13 @@ void EntranceTrackerSettingsWindow::DrawElement() { .DefaultIndex(0)); if (CVarGetInteger(CVAR_TRACKER_ENTRANCE("DisplayType"), TRACKER_DISPLAY_ALWAYS) == TRACKER_DISPLAY_COMBO_BUTTON) { - CVarCombobox("Combo Button 1", CVAR_TRACKER_ENTRANCE("ComboButton1"), buttonStrings, + CVarCombobox(LanguageManager::Instance().GetString("Combo Button 1").c_str(), CVAR_TRACKER_ENTRANCE("ComboButton1"), buttonStrings, ComboboxOptions() .LabelPosition(LabelPositions::Far) .ComponentAlignment(ComponentAlignments::Right) .Color(THEME_COLOR) .DefaultIndex(TRACKER_COMBO_BUTTON_L)); - CVarCombobox("Combo Button 2", CVAR_TRACKER_ENTRANCE("ComboButton2"), buttonStrings, + CVarCombobox(LanguageManager::Instance().GetString("Combo Button 2").c_str(), CVAR_TRACKER_ENTRANCE("ComboButton2"), buttonStrings, ComboboxOptions() .LabelPosition(LabelPositions::Far) .ComponentAlignment(ComponentAlignments::Right) @@ -920,7 +920,7 @@ void EntranceTrackerWindow::DrawElement() { } // Begin tracker list - ImGui::BeginChild("ChildEntranceTrackerLocations", ImVec2(0, -8)); + ImGui::BeginChild(LanguageManager::Instance().GetString("ChildEntranceTrackerLocations").c_str(), ImVec2(0, -8)); bool showTo = CVarGetInteger(CVAR_TRACKER_ENTRANCE("ShowTo"), 0); bool showFrom = CVarGetInteger(CVAR_TRACKER_ENTRANCE("ShowFrom"), 0); bool collapseUndiscovered = CVarGetInteger(CVAR_TRACKER_ENTRANCE("CollapseUndiscovered"), 0); @@ -1083,7 +1083,7 @@ void EntranceTrackerWindow::InitElement() { } void RegisterCheckTrackerWidgets() { - backgroundColorWidget = { .name = "Background Color##EntranceTracker", + backgroundColorWidget = { .name = LanguageManager::Instance().GetString("Background Color##EntranceTracker"), .type = WidgetType::WIDGET_CVAR_COLOR_PICKER }; backgroundColorWidget.CVar(CVAR_TRACKER_ENTRANCE("BgColor")) .Options( @@ -1091,7 +1091,7 @@ void RegisterCheckTrackerWidgets() { SohGui::GetSohMenu()->AddSearchWidget( { backgroundColorWidget, "Randomizer", "Entrance Tracker", "General Settings" }); - windowTypeWidget = { .name = "Window Type##EntranceTracker", .type = WidgetType::WIDGET_CVAR_COMBOBOX }; + windowTypeWidget = { .name = LanguageManager::Instance().GetString("Window Type##EntranceTracker"), .type = WidgetType::WIDGET_CVAR_COMBOBOX }; windowTypeWidget.CVar(CVAR_TRACKER_ENTRANCE("WindowType")) .Options(ComboboxOptions() .DefaultIndex(TRACKER_WINDOW_WINDOW) diff --git a/soh/soh/Enhancements/randomizer/randomizer_item_tracker.cpp b/soh/soh/Enhancements/randomizer/randomizer_item_tracker.cpp index 7de6c552c..fcda5bcbd 100644 --- a/soh/soh/Enhancements/randomizer/randomizer_item_tracker.cpp +++ b/soh/soh/Enhancements/randomizer/randomizer_item_tracker.cpp @@ -880,7 +880,7 @@ void DrawItem(ItemTrackerItem item) { actualItemId = item.id; hasItem = IS_RANDO && (OTRGlobals::Instance->gRandomizer->GetRandoSettingValue(RSK_TRIFORCE_HUNT) != RO_TRIFORCE_HUNT_OFF); - itemName = "Triforce Piece"; + itemName = LanguageManager::Instance().GetString("Triforce Piece"); break; case ITEM_NAYRUS_LOVE: if (IS_RANDO && OTRGlobals::Instance->gRandomizer->GetRandoSettingValue(RSK_ROCS_FEATHER)) { @@ -890,310 +890,310 @@ void DrawItem(ItemTrackerItem item) { case RG_ROCS_FEATHER: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_OBTAINED_ROCS_FEATHER); - itemName = "Roc's Feather"; + itemName = LanguageManager::Instance().GetString("Roc's Feather"); break; case RG_DEATH_MOUNTAIN_CRATER_BEAN_SOUL: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_DEATH_MOUNTAIN_CRATER_BEAN_SOUL); - itemName = "Death Mountain Crater Bean Soul"; + itemName = LanguageManager::Instance().GetString("Death Mountain Crater Bean Soul"); break; case RG_DEATH_MOUNTAIN_TRAIL_BEAN_SOUL: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_DEATH_MOUNTAIN_TRAIL_BEAN_SOUL); - itemName = "Death Mountain Trail Bean Soul"; + itemName = LanguageManager::Instance().GetString("Death Mountain Trail Bean Soul"); break; case RG_DESERT_COLOSSUS_BEAN_SOUL: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_DESERT_COLOSSUS_BEAN_SOUL); - itemName = "Desert Colossus Bean Soul"; + itemName = LanguageManager::Instance().GetString("Desert Colossus Bean Soul"); break; case RG_GERUDO_VALLEY_BEAN_SOUL: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_GERUDO_VALLEY_BEAN_SOUL); - itemName = "Gerudo Valley Bean Soul"; + itemName = LanguageManager::Instance().GetString("Gerudo Valley Bean Soul"); break; case RG_GRAVEYARD_BEAN_SOUL: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_GRAVEYARD_BEAN_SOUL); - itemName = "Graveyard Bean Soul"; + itemName = LanguageManager::Instance().GetString("Graveyard Bean Soul"); break; case RG_KOKIRI_FOREST_BEAN_SOUL: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_KOKIRI_FOREST_BEAN_SOUL); - itemName = "Kokiri Forest Bean Soul"; + itemName = LanguageManager::Instance().GetString("Kokiri Forest Bean Soul"); break; case RG_LAKE_HYLIA_BEAN_SOUL: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_LAKE_HYLIA_BEAN_SOUL); - itemName = "Lake Hylia Bean Soul"; + itemName = LanguageManager::Instance().GetString("Lake Hylia Bean Soul"); break; case RG_LOST_WOODS_BRIDGE_BEAN_SOUL: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_LOST_WOODS_BRIDGE_BEAN_SOUL); - itemName = "Lost Woods Bridge Bean Soul"; + itemName = LanguageManager::Instance().GetString("Lost Woods Bridge Bean Soul"); break; case RG_LOST_WOODS_BEAN_SOUL: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_LOST_WOODS_BEAN_SOUL); - itemName = "Lost Woods Theatre Bean Soul"; + itemName = LanguageManager::Instance().GetString("Lost Woods Theatre Bean Soul"); break; case RG_ZORAS_RIVER_BEAN_SOUL: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_ZORAS_RIVER_BEAN_SOUL); - itemName = "Zora's River Bean Soul"; + itemName = LanguageManager::Instance().GetString("Zora's River Bean Soul"); break; case RG_GOHMA_SOUL: actualItemId = item.id; hasItem = HasBossSoul(RAND_INF_GOHMA_SOUL); - itemName = "Gohma's Soul"; + itemName = LanguageManager::Instance().GetString("Gohma's Soul"); break; case RG_KING_DODONGO_SOUL: actualItemId = item.id; hasItem = HasBossSoul(RAND_INF_KING_DODONGO_SOUL); - itemName = "King Dodongo's Soul"; + itemName = LanguageManager::Instance().GetString("King Dodongo's Soul"); break; case RG_BARINADE_SOUL: actualItemId = item.id; hasItem = HasBossSoul(RAND_INF_BARINADE_SOUL); - itemName = "Barinade's Soul"; + itemName = LanguageManager::Instance().GetString("Barinade's Soul"); break; case RG_PHANTOM_GANON_SOUL: actualItemId = item.id; hasItem = HasBossSoul(RAND_INF_PHANTOM_GANON_SOUL); - itemName = "Phantom Ganon's Soul"; + itemName = LanguageManager::Instance().GetString("Phantom Ganon's Soul"); break; case RG_VOLVAGIA_SOUL: actualItemId = item.id; hasItem = HasBossSoul(RAND_INF_VOLVAGIA_SOUL); - itemName = "Volvagia's Soul"; + itemName = LanguageManager::Instance().GetString("Volvagia's Soul"); break; case RG_MORPHA_SOUL: actualItemId = item.id; hasItem = HasBossSoul(RAND_INF_MORPHA_SOUL); - itemName = "Morpha's Soul"; + itemName = LanguageManager::Instance().GetString("Morpha's Soul"); break; case RG_BONGO_BONGO_SOUL: actualItemId = item.id; hasItem = HasBossSoul(RAND_INF_BONGO_BONGO_SOUL); - itemName = "Bongo Bongo's Soul"; + itemName = LanguageManager::Instance().GetString("Bongo Bongo's Soul"); break; case RG_TWINROVA_SOUL: actualItemId = item.id; hasItem = HasBossSoul(RAND_INF_TWINROVA_SOUL); - itemName = "Twinrova's Soul"; + itemName = LanguageManager::Instance().GetString("Twinrova's Soul"); break; case RG_GANON_SOUL: actualItemId = item.id; hasItem = HasBossSoul(RAND_INF_GANON_SOUL); - itemName = "Ganon's Soul"; + itemName = LanguageManager::Instance().GetString("Ganon's Soul"); break; case RG_SPEAK_DEKU: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_CAN_SPEAK_DEKU); - itemName = "Deku Jabber Nut"; + itemName = LanguageManager::Instance().GetString("Deku Jabber Nut"); break; case RG_SPEAK_GERUDO: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_CAN_SPEAK_GERUDO); - itemName = "Gerudo Jabber Nut"; + itemName = LanguageManager::Instance().GetString("Gerudo Jabber Nut"); break; case RG_SPEAK_GORON: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_CAN_SPEAK_GORON); - itemName = "Goron Jabber Nut"; + itemName = LanguageManager::Instance().GetString("Goron Jabber Nut"); break; case RG_SPEAK_HYLIAN: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_CAN_SPEAK_HYLIAN); - itemName = "Hylian Jabber Nut"; + itemName = LanguageManager::Instance().GetString("Hylian Jabber Nut"); break; case RG_SPEAK_KOKIRI: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_CAN_SPEAK_KOKIRI); - itemName = "Kokiri Jabber Nut"; + itemName = LanguageManager::Instance().GetString("Kokiri Jabber Nut"); break; case RG_SPEAK_ZORA: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_CAN_SPEAK_ZORA); - itemName = "Zora Jabber Nut"; + itemName = LanguageManager::Instance().GetString("Zora Jabber Nut"); break; case RG_OCARINA_A_BUTTON: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_HAS_OCARINA_A); - itemName = "Ocarina A Button"; + itemName = LanguageManager::Instance().GetString("Ocarina A Button"); break; case RG_OCARINA_C_UP_BUTTON: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_HAS_OCARINA_C_UP); - itemName = "Ocarina C Up Button"; + itemName = LanguageManager::Instance().GetString("Ocarina C Up Button"); break; case RG_OCARINA_C_DOWN_BUTTON: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_HAS_OCARINA_C_DOWN); - itemName = "Ocarina C Down Button"; + itemName = LanguageManager::Instance().GetString("Ocarina C Down Button"); break; case RG_OCARINA_C_LEFT_BUTTON: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_HAS_OCARINA_C_LEFT); - itemName = "Ocarina C Left Button"; + itemName = LanguageManager::Instance().GetString("Ocarina C Left Button"); break; case RG_OCARINA_C_RIGHT_BUTTON: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_HAS_OCARINA_C_RIGHT); - itemName = "Ocarina C Right Button"; + itemName = LanguageManager::Instance().GetString("Ocarina C Right Button"); break; case ITEM_FISHING_POLE: actualItemId = item.id; hasItem = IS_RANDO && Flags_GetRandomizerInf(RAND_INF_FISHING_POLE_FOUND); - itemName = "Fishing Pole"; + itemName = LanguageManager::Instance().GetString("Fishing Pole"); break; case RG_GUARD_HOUSE_KEY: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_GUARD_HOUSE_KEY_OBTAINED); - itemName = "Guard House Key"; + itemName = LanguageManager::Instance().GetString("Guard House Key"); break; case RG_MARKET_BAZAAR_KEY: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_MARKET_BAZAAR_KEY_OBTAINED); - itemName = "Market Bazaar Key"; + itemName = LanguageManager::Instance().GetString("Market Bazaar Key"); break; case RG_MARKET_POTION_SHOP_KEY: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_MARKET_POTION_SHOP_KEY_OBTAINED); - itemName = "Market Potion Shop Key"; + itemName = LanguageManager::Instance().GetString("Market Potion Shop Key"); break; case RG_MASK_SHOP_KEY: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_MASK_SHOP_KEY_OBTAINED); - itemName = "Mask Shop Key"; + itemName = LanguageManager::Instance().GetString("Mask Shop Key"); break; case RG_MARKET_SHOOTING_GALLERY_KEY: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_MARKET_SHOOTING_GALLERY_KEY_OBTAINED); - itemName = "Market Shooting Gallery Key"; + itemName = LanguageManager::Instance().GetString("Market Shooting Gallery Key"); break; case RG_BOMBCHU_BOWLING_KEY: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_BOMBCHU_BOWLING_KEY_OBTAINED); - itemName = "Bombchu Bowling Key"; + itemName = LanguageManager::Instance().GetString("Bombchu Bowling Key"); break; case RG_TREASURE_CHEST_GAME_BUILDING_KEY: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_TREASURE_CHEST_GAME_BUILDING_KEY_OBTAINED); - itemName = "Treasure Chest Game Building Key"; + itemName = LanguageManager::Instance().GetString("Treasure Chest Game Building Key"); break; case RG_BOMBCHU_SHOP_KEY: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_BOMBCHU_SHOP_KEY_OBTAINED); - itemName = "Bombchu Shop Key"; + itemName = LanguageManager::Instance().GetString("Bombchu Shop Key"); break; case RG_RICHARDS_HOUSE_KEY: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_RICHARDS_HOUSE_KEY_OBTAINED); - itemName = "Richards House Key"; + itemName = LanguageManager::Instance().GetString("Richards House Key"); break; case RG_ALLEY_HOUSE_KEY: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_ALLEY_HOUSE_KEY_OBTAINED); - itemName = "Alley House Key"; + itemName = LanguageManager::Instance().GetString("Alley House Key"); break; case RG_KAK_BAZAAR_KEY: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_KAK_BAZAAR_KEY_OBTAINED); - itemName = "Kak Bazaar Key"; + itemName = LanguageManager::Instance().GetString("Kak Bazaar Key"); break; case RG_KAK_POTION_SHOP_KEY: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_KAK_POTION_SHOP_KEY_OBTAINED); - itemName = "Kak Potion Shop Key"; + itemName = LanguageManager::Instance().GetString("Kak Potion Shop Key"); break; case RG_BOSS_HOUSE_KEY: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_BOSS_HOUSE_KEY_OBTAINED); - itemName = "Boss House Key"; + itemName = LanguageManager::Instance().GetString("Boss House Key"); break; case RG_GRANNYS_POTION_SHOP_KEY: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_GRANNYS_POTION_SHOP_KEY_OBTAINED); - itemName = "Granny's Potion Shop Key"; + itemName = LanguageManager::Instance().GetString("Granny's Potion Shop Key"); break; case RG_SKULLTULA_HOUSE_KEY: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_SKULLTULA_HOUSE_KEY_OBTAINED); - itemName = "Skulltula House Key"; + itemName = LanguageManager::Instance().GetString("Skulltula House Key"); break; case RG_IMPAS_HOUSE_KEY: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_IMPAS_HOUSE_KEY_OBTAINED); - itemName = "Impa's House Key"; + itemName = LanguageManager::Instance().GetString("Impa's House Key"); break; case RG_WINDMILL_KEY: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_WINDMILL_KEY_OBTAINED); - itemName = "Windmill Key"; + itemName = LanguageManager::Instance().GetString("Windmill Key"); break; case RG_KAK_SHOOTING_GALLERY_KEY: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_KAK_SHOOTING_GALLERY_KEY_OBTAINED); - itemName = "Kak Shooting Gallery Key"; + itemName = LanguageManager::Instance().GetString("Kak Shooting Gallery Key"); break; case RG_DAMPES_HUT_KEY: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_DAMPES_HUT_KEY_OBTAINED); - itemName = "Dampé's Hut Key"; + itemName = LanguageManager::Instance().GetString("Dampé's Hut Key"); break; case RG_TALONS_HOUSE_KEY: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_TALONS_HOUSE_KEY_OBTAINED); - itemName = "Talon's House Key"; + itemName = LanguageManager::Instance().GetString("Talon's House Key"); break; case RG_STABLES_KEY: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_STABLES_KEY_OBTAINED); - itemName = "Stables Key"; + itemName = LanguageManager::Instance().GetString("Stables Key"); break; case RG_BACK_TOWER_KEY: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_BACK_TOWER_KEY_OBTAINED); - itemName = "Back Tower Key"; + itemName = LanguageManager::Instance().GetString("Back Tower Key"); break; case RG_HYLIA_LAB_KEY: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_HYLIA_LAB_KEY_OBTAINED); - itemName = "Hylia Lab Key"; + itemName = LanguageManager::Instance().GetString("Hylia Lab Key"); break; case RG_FISHING_HOLE_KEY: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_FISHING_HOLE_KEY_OBTAINED); - itemName = "Fishing Hole Key"; + itemName = LanguageManager::Instance().GetString("Fishing Hole Key"); break; case RG_BRONZE_SCALE: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_CAN_SWIM); - itemName = "Swim"; + itemName = LanguageManager::Instance().GetString("Swim"); break; case RG_CRAWL: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_CAN_CRAWL); - itemName = "Crawl"; + itemName = LanguageManager::Instance().GetString("Crawl"); break; case RG_CLIMB: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_CAN_CLIMB); - itemName = "Climb"; + itemName = LanguageManager::Instance().GetString("Climb"); break; case RG_POWER_BRACELET: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_CAN_GRAB); - itemName = "Grab"; + itemName = LanguageManager::Instance().GetString("Grab"); break; case RG_OPEN_CHEST: actualItemId = item.id; hasItem = Flags_GetRandomizerInf(RAND_INF_CAN_OPEN_CHEST); - itemName = "Open"; + itemName = LanguageManager::Instance().GetString("Open"); break; } @@ -2044,14 +2044,14 @@ void ItemTrackerSettingsWindow::DrawElement() { SohGui::mSohMenu->MenuDrawItem(windowTypeWidget, 250, THEME_COLOR); if (CVarGetInteger(CVAR_TRACKER_ITEM("WindowType"), TRACKER_WINDOW_FLOATING) == TRACKER_WINDOW_FLOATING) { - if (CVarCheckbox("Enable Dragging", CVAR_TRACKER_ITEM("Draggable"), CheckboxOptions().Color(THEME_COLOR))) { + if (CVarCheckbox(LanguageManager::Instance().GetString("Enable Dragging").c_str(), CVAR_TRACKER_ITEM("Draggable"), CheckboxOptions().Color(THEME_COLOR))) { shouldUpdateVectors = true; } - if (CVarCheckbox("Only Enable While Paused", CVAR_TRACKER_ITEM("ShowOnlyPaused"), + if (CVarCheckbox(LanguageManager::Instance().GetString("Only Enable While Paused").c_str(), CVAR_TRACKER_ITEM("ShowOnlyPaused"), CheckboxOptions().Color(THEME_COLOR))) { shouldUpdateVectors = true; } - if (CVarCombobox("Display Mode", CVAR_TRACKER_ITEM("DisplayType.Main"), showMode, + if (CVarCombobox(LanguageManager::Instance().GetString("Display Mode").c_str(), CVAR_TRACKER_ITEM("DisplayType.Main"), showMode, ComboboxOptions() .DefaultIndex(TRACKER_DISPLAY_ALWAYS) .ComponentAlignment(ComponentAlignments::Right) @@ -2061,7 +2061,7 @@ void ItemTrackerSettingsWindow::DrawElement() { } if (CVarGetInteger(CVAR_TRACKER_ITEM("DisplayType.Main"), TRACKER_DISPLAY_ALWAYS) == TRACKER_DISPLAY_COMBO_BUTTON) { - if (CVarCombobox("Combo Button 1", CVAR_TRACKER_ITEM("ComboButton1"), buttonStrings, + if (CVarCombobox(LanguageManager::Instance().GetString("Combo Button 1").c_str(), CVAR_TRACKER_ITEM("ComboButton1"), buttonStrings, ComboboxOptions() .DefaultIndex(TRACKER_COMBO_BUTTON_L) .ComponentAlignment(ComponentAlignments::Right) @@ -2069,7 +2069,7 @@ void ItemTrackerSettingsWindow::DrawElement() { .Color(THEME_COLOR))) { shouldUpdateVectors = true; } - if (CVarCombobox("Combo Button 2", CVAR_TRACKER_ITEM("ComboButton2"), buttonStrings, + if (CVarCombobox(LanguageManager::Instance().GetString("Combo Button 2").c_str(), CVAR_TRACKER_ITEM("ComboButton2"), buttonStrings, ComboboxOptions() .DefaultIndex(TRACKER_COMBO_BUTTON_R) .ComponentAlignment(ComponentAlignments::Right) @@ -2080,11 +2080,11 @@ void ItemTrackerSettingsWindow::DrawElement() { } } ImGui::Separator(); - CVarSliderInt("Icon size : %dpx", CVAR_TRACKER_ITEM("IconSize"), + CVarSliderInt(LanguageManager::Instance().GetString("Icon size : %dpx").c_str(), CVAR_TRACKER_ITEM("IconSize"), IntSliderOptions().Min(25).Max(128).DefaultValue(36).Color(THEME_COLOR)); - CVarSliderInt("Icon margins : %dpx", CVAR_TRACKER_ITEM("IconSpacing"), + CVarSliderInt(LanguageManager::Instance().GetString("Icon margins : %dpx").c_str(), CVAR_TRACKER_ITEM("IconSpacing"), IntSliderOptions().Min(-5).Max(50).DefaultValue(12).Color(THEME_COLOR)); - CVarSliderInt("Text size : %dpx", CVAR_TRACKER_ITEM("TextSize"), + CVarSliderInt(LanguageManager::Instance().GetString("Text size : %dpx").c_str(), CVAR_TRACKER_ITEM("TextSize"), IntSliderOptions().Min(1).Max(30).DefaultValue(13).Color(THEME_COLOR)); ImGui::NewLine(); @@ -2093,7 +2093,7 @@ void ItemTrackerSettingsWindow::DrawElement() { ITEM_TRACKER_NUMBER_CURRENT_CAPACITY_ONLY || CVarGetInteger(CVAR_TRACKER_ITEM("ItemCountType"), ITEM_TRACKER_NUMBER_CURRENT_CAPACITY_ONLY) == ITEM_TRACKER_NUMBER_CURRENT_AMMO_ONLY) { - if (CVarCheckbox("Align count to left side", CVAR_TRACKER_ITEM("ItemCountAlignLeft"), + if (CVarCheckbox(LanguageManager::Instance().GetString("Align count to left side").c_str(), CVAR_TRACKER_ITEM("ItemCountAlignLeft"), CheckboxOptions().Color(THEME_COLOR))) { shouldUpdateVectors = true; } @@ -2104,7 +2104,7 @@ void ItemTrackerSettingsWindow::DrawElement() { ImGui::TableNextColumn(); - if (CVarCombobox("Inventory", CVAR_TRACKER_ITEM("DisplayType.Inventory"), displayTypes, + if (CVarCombobox(LanguageManager::Instance().GetString("Inventory").c_str(), CVAR_TRACKER_ITEM("DisplayType.Inventory"), displayTypes, ComboboxOptions() .DefaultIndex(SECTION_DISPLAY_MAIN_WINDOW) .ComponentAlignment(ComponentAlignments::Right) @@ -2112,7 +2112,7 @@ void ItemTrackerSettingsWindow::DrawElement() { .Color(THEME_COLOR))) { shouldUpdateVectors = true; } - if (CVarCombobox("Equipment", CVAR_TRACKER_ITEM("DisplayType.Equipment"), displayTypes, + if (CVarCombobox(LanguageManager::Instance().GetString("Equipment").c_str(), CVAR_TRACKER_ITEM("DisplayType.Equipment"), displayTypes, ComboboxOptions() .DefaultIndex(SECTION_DISPLAY_MAIN_WINDOW) .ComponentAlignment(ComponentAlignments::Right) @@ -2120,7 +2120,7 @@ void ItemTrackerSettingsWindow::DrawElement() { .Color(THEME_COLOR))) { shouldUpdateVectors = true; } - if (CVarCombobox("Misc", CVAR_TRACKER_ITEM("DisplayType.Misc"), displayTypes, + if (CVarCombobox(LanguageManager::Instance().GetString("Misc").c_str(), CVAR_TRACKER_ITEM("DisplayType.Misc"), displayTypes, ComboboxOptions() .DefaultIndex(SECTION_DISPLAY_MAIN_WINDOW) .ComponentAlignment(ComponentAlignments::Right) @@ -2128,7 +2128,7 @@ void ItemTrackerSettingsWindow::DrawElement() { .Color(THEME_COLOR))) { shouldUpdateVectors = true; } - if (CVarCombobox("Dungeon Rewards", CVAR_TRACKER_ITEM("DisplayType.DungeonRewards"), displayTypes, + if (CVarCombobox(LanguageManager::Instance().GetString("Dungeon Rewards").c_str(), CVAR_TRACKER_ITEM("DisplayType.DungeonRewards"), displayTypes, ComboboxOptions() .DefaultIndex(SECTION_DISPLAY_MAIN_WINDOW) .ComponentAlignment(ComponentAlignments::Right) @@ -2138,12 +2138,12 @@ void ItemTrackerSettingsWindow::DrawElement() { } if (CVarGetInteger(CVAR_TRACKER_ITEM("DisplayType.DungeonRewards"), SECTION_DISPLAY_MAIN_WINDOW) == SECTION_DISPLAY_SEPARATE) { - if (CVarCheckbox("Circle display", CVAR_TRACKER_ITEM("DungeonRewardsLayout"), + if (CVarCheckbox(LanguageManager::Instance().GetString("Circle display").c_str(), CVAR_TRACKER_ITEM("DungeonRewardsLayout"), CheckboxOptions().DefaultValue(false).Color(THEME_COLOR))) { shouldUpdateVectors = true; } } - if (CVarCombobox("Songs", CVAR_TRACKER_ITEM("DisplayType.Songs"), displayTypes, + if (CVarCombobox(LanguageManager::Instance().GetString("Songs").c_str(), CVAR_TRACKER_ITEM("DisplayType.Songs"), displayTypes, ComboboxOptions() .DefaultIndex(SECTION_DISPLAY_MAIN_WINDOW) .ComponentAlignment(ComponentAlignments::Right) @@ -2156,12 +2156,12 @@ void ItemTrackerSettingsWindow::DrawElement() { SECTION_DISPLAY_HIDDEN) { if (CVarGetInteger(CVAR_TRACKER_ITEM("DisplayType.DungeonItems"), SECTION_DISPLAY_HIDDEN) == SECTION_DISPLAY_SEPARATE) { - if (CVarCheckbox("Horizontal display", CVAR_TRACKER_ITEM("DungeonItems.Layout"), + if (CVarCheckbox(LanguageManager::Instance().GetString("Horizontal display").c_str(), CVAR_TRACKER_ITEM("DungeonItems.Layout"), CheckboxOptions().DefaultValue(true).Color(THEME_COLOR))) { shouldUpdateVectors = true; } } - if (CVarCheckbox("Maps and compasses", CVAR_TRACKER_ITEM("DungeonItems.DisplayMaps"), + if (CVarCheckbox(LanguageManager::Instance().GetString("Maps and compasses").c_str(), CVAR_TRACKER_ITEM("DungeonItems.DisplayMaps"), CheckboxOptions().DefaultValue(true).Color(THEME_COLOR))) { shouldUpdateVectors = true; } @@ -2175,7 +2175,7 @@ void ItemTrackerSettingsWindow::DrawElement() { SohGui::mSohMenu->MenuDrawItem(overworldKeysTracking, 250, THEME_COLOR); SohGui::mSohMenu->MenuDrawItem(fishingPoleTracking, 250, THEME_COLOR); - if (CVarCombobox("Total Checks", CVAR_TRACKER_ITEM("TotalChecks.DisplayType"), minimalDisplayTypes, + if (CVarCombobox(LanguageManager::Instance().GetString("Total Checks").c_str(), CVAR_TRACKER_ITEM("TotalChecks.DisplayType"), minimalDisplayTypes, ComboboxOptions() .DefaultIndex(SECTION_DISPLAY_MINIMAL_HIDDEN) .ComponentAlignment(ComponentAlignments::Right) @@ -2206,13 +2206,13 @@ void ItemTrackerWindow::InitElement() { } void RegisterItemTrackerWidgets() { - backgroundColor = { .name = "Background Color##ItemTracker", .type = WidgetType::WIDGET_CVAR_COLOR_PICKER }; + backgroundColor = { .name = LanguageManager::Instance().GetString("Background Color##ItemTracker"), .type = WidgetType::WIDGET_CVAR_COLOR_PICKER }; backgroundColor.CVar(CVAR_TRACKER_ITEM("BgColor")) .Options( ColorPickerOptions().Color(THEME_COLOR).DefaultValue({ 0, 0, 0, 0 }).UseAlpha().ShowReset().ShowRandom()); SohGui::mSohMenu->AddSearchWidget({ backgroundColor, "Randomizer", "Item Tracker", "General Settings" }); - windowTypeWidget = { .name = "Window Type##ItemTracker", .type = WidgetType::WIDGET_CVAR_COMBOBOX }; + windowTypeWidget = { .name = LanguageManager::Instance().GetString("Window Type##ItemTracker"), .type = WidgetType::WIDGET_CVAR_COMBOBOX }; windowTypeWidget.CVar(CVAR_TRACKER_ITEM("WindowType")) .Options(ComboboxOptions() .DefaultIndex(TRACKER_WINDOW_FLOATING) @@ -2225,7 +2225,7 @@ void RegisterItemTrackerWidgets() { enableDraggingWidget; onlyPausedWidget; - ammoTracking = { .name = "Ammo/Capacity Tracking", .type = WidgetType::WIDGET_CVAR_COMBOBOX }; + ammoTracking = { .name = LanguageManager::Instance().GetString("Ammo/Capacity Tracking"), .type = WidgetType::WIDGET_CVAR_COMBOBOX }; ammoTracking.CVar(CVAR_TRACKER_ITEM("ItemCountType")) .Options(ComboboxOptions() .DefaultIndex(ITEM_TRACKER_NUMBER_CURRENT_CAPACITY_ONLY) @@ -2237,7 +2237,7 @@ void RegisterItemTrackerWidgets() { "\n\nNote: items without capacity upgrades will track ammo even in capacity mode")); SohGui::mSohMenu->AddSearchWidget({ ammoTracking, "Randomizer", "Item Tracker", "General Settings" }); - keyTracking = { .name = "Key Count Tracking", .type = WidgetType::WIDGET_CVAR_COMBOBOX }; + keyTracking = { .name = LanguageManager::Instance().GetString("Key Count Tracking"), .type = WidgetType::WIDGET_CVAR_COMBOBOX }; keyTracking.CVar(CVAR_TRACKER_ITEM("KeyCounts")) .Options(ComboboxOptions() .DefaultIndex(KEYS_COLLECTED_MAX) @@ -2245,10 +2245,10 @@ void RegisterItemTrackerWidgets() { .LabelPosition(LabelPositions::Far) .Color(THEME_COLOR) .ComboMap(itemTrackerKeyTrackOptions) - .Tooltip("Customize what numbers are shown for key tracking.")); + .Tooltip(LanguageManager::Instance().GetString("Customize what numbers are shown for key tracking.").c_str())); SohGui::mSohMenu->AddSearchWidget({ keyTracking, "Randomizer", "Item Tracker", "General Settings" }); - triforcePieceTracking = { .name = "Triforce Pieces", .type = WidgetType::WIDGET_CVAR_COMBOBOX }; + triforcePieceTracking = { .name = LanguageManager::Instance().GetString("Triforce Pieces"), .type = WidgetType::WIDGET_CVAR_COMBOBOX }; triforcePieceTracking.CVar(CVAR_TRACKER_ITEM("DisplayType.TriforcePieces")) .Options(ComboboxOptions() .DefaultIndex(SECTION_DISPLAY_HIDDEN) @@ -2259,7 +2259,7 @@ void RegisterItemTrackerWidgets() { .Callback([](WidgetInfo& info) { shouldUpdateVectors = true; }); SohGui::mSohMenu->AddSearchWidget({ triforcePieceTracking, "Randomizer", "Item Tracker", "General Settings" }); - dungeonItemTracking = { .name = "Dungeon Items", .type = WidgetType::WIDGET_CVAR_COMBOBOX }; + dungeonItemTracking = { .name = LanguageManager::Instance().GetString("Dungeon Items"), .type = WidgetType::WIDGET_CVAR_COMBOBOX }; dungeonItemTracking.CVar(CVAR_TRACKER_ITEM("DisplayType.DungeonItems")) .Options(ComboboxOptions() .DefaultIndex(SECTION_DISPLAY_HIDDEN) @@ -2272,7 +2272,7 @@ void RegisterItemTrackerWidgets() { SohGui::mSohMenu->AddSearchWidget( { dungeonItemTracking, "Randomizer", "Item Tracker", "General Settings", "keys maps compasses icon" }); - gregTracking = { .name = "Greg", .type = WidgetType::WIDGET_CVAR_COMBOBOX }; + gregTracking = { .name = LanguageManager::Instance().GetString("Greg"), .type = WidgetType::WIDGET_CVAR_COMBOBOX }; gregTracking.CVar(CVAR_TRACKER_ITEM("DisplayType.Greg")) .Options(ComboboxOptions() .DefaultIndex(SECTION_DISPLAY_EXTENDED_HIDDEN) @@ -2284,7 +2284,7 @@ void RegisterItemTrackerWidgets() { ; SohGui::mSohMenu->AddSearchWidget({ gregTracking, "Randomizer", "Item Tracker", "General Settings", "icon" }); - beanSoulsTracking = { .name = "Bean Souls", .type = WidgetType::WIDGET_CVAR_COMBOBOX }; + beanSoulsTracking = { .name = LanguageManager::Instance().GetString("Bean Souls"), .type = WidgetType::WIDGET_CVAR_COMBOBOX }; beanSoulsTracking.CVar(CVAR_TRACKER_ITEM("DisplayType.BeanSouls")) .Options(ComboboxOptions() .DefaultIndex(SECTION_DISPLAY_HIDDEN) @@ -2296,7 +2296,7 @@ void RegisterItemTrackerWidgets() { ; SohGui::mSohMenu->AddSearchWidget({ beanSoulsTracking, "Randomizer", "Item Tracker", "General Settings", "icon" }); - bossSoulsTracking = { .name = "Boss Souls", .type = WidgetType::WIDGET_CVAR_COMBOBOX }; + bossSoulsTracking = { .name = LanguageManager::Instance().GetString("Boss Souls"), .type = WidgetType::WIDGET_CVAR_COMBOBOX }; bossSoulsTracking.CVar(CVAR_TRACKER_ITEM("DisplayType.BossSouls")) .Options(ComboboxOptions() .DefaultIndex(SECTION_DISPLAY_HIDDEN) @@ -2308,7 +2308,7 @@ void RegisterItemTrackerWidgets() { ; SohGui::mSohMenu->AddSearchWidget({ bossSoulsTracking, "Randomizer", "Item Tracker", "General Settings", "icon" }); - jabberNutsTracking = { .name = "Jabber Nuts", .type = WidgetType::WIDGET_CVAR_COMBOBOX }; + jabberNutsTracking = { .name = LanguageManager::Instance().GetString("Jabber Nuts"), .type = WidgetType::WIDGET_CVAR_COMBOBOX }; jabberNutsTracking.CVar(CVAR_TRACKER_ITEM("DisplayType.JabberNuts")) .Options(ComboboxOptions() .DefaultIndex(SECTION_DISPLAY_HIDDEN) @@ -2320,7 +2320,7 @@ void RegisterItemTrackerWidgets() { ; SohGui::mSohMenu->AddSearchWidget({ jabberNutsTracking, "Randomizer", "Item Tracker", "General Settings", "icon" }); - triforcePieceCount = { .name = "Triforce Piece Count Tracking", .type = WidgetType::WIDGET_CVAR_COMBOBOX }; + triforcePieceCount = { .name = LanguageManager::Instance().GetString("Triforce Piece Count Tracking"), .type = WidgetType::WIDGET_CVAR_COMBOBOX }; triforcePieceCount.CVar(CVAR_TRACKER_ITEM("TriforcePieceCounts")) .Options(ComboboxOptions() .DefaultIndex(TRIFORCE_PIECE_COLLECTED_REQUIRED_MAX) @@ -2328,10 +2328,10 @@ void RegisterItemTrackerWidgets() { .LabelPosition(LabelPositions::Far) .Color(THEME_COLOR) .ComboMap(itemTrackerTriforcePieceTrackOptions) - .Tooltip("Customize what numbers are shown for triforce piece tracking.")); + .Tooltip(LanguageManager::Instance().GetString("Customize what numbers are shown for triforce piece tracking.").c_str())); SohGui::mSohMenu->AddSearchWidget({ triforcePieceCount, "Randomizer", "Item Tracker", "General Settings" }); - ocarinaButtonTracking = { .name = "Ocarina Buttons", .type = WidgetType::WIDGET_CVAR_COMBOBOX }; + ocarinaButtonTracking = { .name = LanguageManager::Instance().GetString("Ocarina Buttons"), .type = WidgetType::WIDGET_CVAR_COMBOBOX }; ocarinaButtonTracking.CVar(CVAR_TRACKER_ITEM("DisplayType.OcarinaButtons")) .Options(ComboboxOptions() .DefaultIndex(SECTION_DISPLAY_HIDDEN) @@ -2344,7 +2344,7 @@ void RegisterItemTrackerWidgets() { SohGui::mSohMenu->AddSearchWidget( { ocarinaButtonTracking, "Randomizer", "Item Tracker", "General Settings", "icon" }); - overworldKeysTracking = { .name = "Overworld Keys", .type = WidgetType::WIDGET_CVAR_COMBOBOX }; + overworldKeysTracking = { .name = LanguageManager::Instance().GetString("Overworld Keys"), .type = WidgetType::WIDGET_CVAR_COMBOBOX }; overworldKeysTracking.CVar(CVAR_TRACKER_ITEM("DisplayType.OverworldKeys")) .Options(ComboboxOptions() .DefaultIndex(SECTION_DISPLAY_HIDDEN) @@ -2357,7 +2357,7 @@ void RegisterItemTrackerWidgets() { SohGui::mSohMenu->AddSearchWidget( { overworldKeysTracking, "Randomizer", "Item Tracker", "General Settings", "icon" }); - fishingPoleTracking = { .name = "Fishing Pole", .type = WidgetType::WIDGET_CVAR_COMBOBOX }; + fishingPoleTracking = { .name = LanguageManager::Instance().GetString("Fishing Pole"), .type = WidgetType::WIDGET_CVAR_COMBOBOX }; fishingPoleTracking.CVar(CVAR_TRACKER_ITEM("DisplayType.FishingPole")) .Options(ComboboxOptions() .DefaultIndex(SECTION_DISPLAY_EXTENDED_HIDDEN) @@ -2370,9 +2370,9 @@ void RegisterItemTrackerWidgets() { SohGui::mSohMenu->AddSearchWidget( { fishingPoleTracking, "Randomizer", "Item Tracker", "General Settings", "icon" }); - personalNotesWiget = { .name = "Personal notes", .type = WidgetType::WIDGET_CVAR_COMBOBOX }; + personalNotesWiget = { .name = LanguageManager::Instance().GetString("Personal notes"), .type = WidgetType::WIDGET_CVAR_COMBOBOX }; static const char* notesDisabledTooltip = - "Disabled because tracker is set to floating and display combo is enabled."; + LanguageManager::Instance().GetString("Disabled because tracker is set to floating and display combo is enabled.").c_str(); personalNotesWiget.CVar(CVAR_TRACKER_ITEM("DisplayType.Notes")) .Options(ComboboxOptions() .DefaultIndex(SECTION_DISPLAY_HIDDEN) @@ -2384,11 +2384,11 @@ void RegisterItemTrackerWidgets() { ; SohGui::mSohMenu->AddSearchWidget({ personalNotesWiget, "Randomizer", "Item Tracker", "General Settings" }); - hookshotIdentWidget = { .name = "Show Hookshot Identifiers", .type = WidgetType::WIDGET_CVAR_CHECKBOX }; + hookshotIdentWidget = { .name = LanguageManager::Instance().GetString("Show Hookshot Identifiers"), .type = WidgetType::WIDGET_CVAR_CHECKBOX }; hookshotIdentWidget.CVar(CVAR_TRACKER_ITEM("HookshotIdentifier")) .Options(CheckboxOptions() .Color(THEME_COLOR) - .Tooltip("Shows an 'H' or an 'L' to more easily distinguish between Hookshot and Longshot.")); + .Tooltip(LanguageManager::Instance().GetString("Shows an 'H' or an 'L' to more easily distinguish between Hookshot and Longshot.").c_str())); SohGui::mSohMenu->AddSearchWidget({ hookshotIdentWidget, "Randomizer", "Item Tracker", "General Settings" }); }