fixed language issue with savedata (it was saving based on gui language and not on console language)

This commit is contained in:
georgemoralis 2025-06-19 20:22:26 +03:00
parent dd5a138da9
commit 57504483e8

View File

@ -22,25 +22,25 @@ static Core::FileSys::MntPoints* g_mnt = Common::Singleton<Core::FileSys::MntPoi
namespace fs = std::filesystem; namespace fs = std::filesystem;
// clang-format off // clang-format off
static const std::unordered_map<std::string, std::string> default_title = { static const std::unordered_map<int, std::string> default_title = {
{"ja_JP", "セーブデータ"}, {0/*"ja_JP"*/, "セーブデータ"},
{"en_US", "Saved Data"}, {1/*"en_US"*/, "Saved Data"},
{"fr_FR", "Données sauvegardées"}, {2/*"fr_FR"*/, "Données sauvegardées"},
{"es_ES", "Datos guardados"}, {3/*"es_ES"*/, "Datos guardados"},
{"de_DE", "Gespeicherte Daten"}, {4/*"de_DE"*/, "Gespeicherte Daten"},
{"it_IT", "Dati salvati"}, {5/*"it_IT"*/, "Dati salvati"},
{"nl_NL", "Opgeslagen data"}, {6/*"nl_NL"*/, "Opgeslagen data"},
{"pt_PT", "Dados guardados"}, {7/*"pt_PT"*/, "Dados guardados"},
{"ru_RU", "Сохраненные данные"}, {8/*"ru_RU"*/, "Сохраненные данные"},
{"ko_KR", "저장 데이터"}, {9/*"ko_KR"*/, "저장 데이터"},
{"zh_CN", "保存数据"}, {10/*"zh_CN"*/, "保存数据"},
{"fi_FI", "Tallennetut tiedot"}, {12/*"fi_FI"*/, "Tallennetut tiedot"},
{"sv_SE", "Sparade data"}, {13/*"sv_SE"*/, "Sparade data"},
{"da_DK", "Gemte data"}, {14/*"da_DK"*/, "Gemte data"},
{"no_NO", "Lagrede data"}, {15/*"no_NO"*/, "Lagrede data"},
{"pl_PL", "Zapisane dane"}, {16/*"pl_PL"*/, "Zapisane dane"},
{"pt_BR", "Dados salvos"}, {17/*"pt_BR"*/, "Dados salvos"},
{"tr_TR", "Kayıtlı Veriler"}, {19/*"tr_TR"*/, "Kayıtlı Veriler"},
}; };
// clang-format on // clang-format on
@ -71,9 +71,9 @@ fs::path SaveInstance::GetParamSFOPath(const fs::path& dir_path) {
void SaveInstance::SetupDefaultParamSFO(PSF& param_sfo, std::string dir_name, void SaveInstance::SetupDefaultParamSFO(PSF& param_sfo, std::string dir_name,
std::string game_serial) { std::string game_serial) {
std::string locale = Config::GetLanguage(); int locale = Config::GetLanguage();
if (!default_title.contains(locale)) { if (!default_title.contains(locale)) {
locale = "en_US"; locale = 1; // default to en_US if not found
} }
#define P(type, key, ...) param_sfo.Add##type(std::string{key}, __VA_ARGS__) #define P(type, key, ...) param_sfo.Add##type(std::string{key}, __VA_ARGS__)