From 6e587f50f3e6c63a98ad8cab3d30e88eb861cd9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Mon, 22 Jan 2024 21:52:39 +0100 Subject: [PATCH] Rework memstick moves between devices to copy, verify and then delete --- Core/Util/MemStick.cpp | 160 +++++++++++++++++++++++------------ Core/Util/MemStick.h | 12 +-- UI/MemStickScreen.cpp | 10 +-- assets/lang/ar_AE.ini | 2 + assets/lang/az_AZ.ini | 2 + assets/lang/bg_BG.ini | 2 + assets/lang/ca_ES.ini | 2 + assets/lang/cz_CZ.ini | 2 + assets/lang/da_DK.ini | 2 + assets/lang/de_DE.ini | 2 + assets/lang/dr_ID.ini | 2 + assets/lang/en_US.ini | 2 + assets/lang/es_ES.ini | 2 + assets/lang/es_LA.ini | 2 + assets/lang/fa_IR.ini | 2 + assets/lang/fi_FI.ini | 2 + assets/lang/fr_FR.ini | 2 + assets/lang/gl_ES.ini | 2 + assets/lang/gr_EL.ini | 2 + assets/lang/he_IL.ini | 2 + assets/lang/he_IL_invert.ini | 2 + assets/lang/hr_HR.ini | 2 + assets/lang/hu_HU.ini | 2 + assets/lang/id_ID.ini | 2 + assets/lang/it_IT.ini | 2 + assets/lang/ja_JP.ini | 2 + assets/lang/jv_ID.ini | 2 + assets/lang/ko_KR.ini | 2 + assets/lang/lo_LA.ini | 2 + assets/lang/lt-LT.ini | 2 + assets/lang/ms_MY.ini | 2 + assets/lang/nl_NL.ini | 2 + assets/lang/no_NO.ini | 2 + assets/lang/pl_PL.ini | 2 + assets/lang/pt_BR.ini | 2 + assets/lang/pt_PT.ini | 2 + assets/lang/ro_RO.ini | 2 + assets/lang/ru_RU.ini | 2 + assets/lang/sv_SE.ini | 2 + assets/lang/tg_PH.ini | 2 + assets/lang/th_TH.ini | 2 + assets/lang/tr_TR.ini | 2 + assets/lang/uk_UA.ini | 2 + assets/lang/vi_VN.ini | 2 + assets/lang/zh_CN.ini | 2 + assets/lang/zh_TW.ini | 2 + 46 files changed, 205 insertions(+), 63 deletions(-) diff --git a/Core/Util/MemStick.cpp b/Core/Util/MemStick.cpp index fd9b181a00..78192f8648 100644 --- a/Core/Util/MemStick.cpp +++ b/Core/Util/MemStick.cpp @@ -69,7 +69,7 @@ struct FileSuffix { u64 fileSize; }; -static bool ListFileSuffixesRecursively(const Path &root, const Path &folder, std::vector &dirSuffixes, std::vector &fileSuffixes) { +static bool ListFileSuffixesRecursively(const Path &root, const Path &folder, std::vector &dirSuffixes, std::vector &fileSuffixes, MoveProgressReporter &progressReporter) { std::vector files; if (!File::GetFilesInDir(folder, &files)) { return false; @@ -81,7 +81,8 @@ static bool ListFileSuffixesRecursively(const Path &root, const Path &folder, st if (root.ComputePathTo(file.fullName, dirSuffix)) { if (!dirSuffix.empty()) { dirSuffixes.push_back(dirSuffix); - ListFileSuffixesRecursively(root, folder / file.name, dirSuffixes, fileSuffixes); + ListFileSuffixesRecursively(root, folder / file.name, dirSuffixes, fileSuffixes, progressReporter); + progressReporter.SetProgress(file.name, fileSuffixes.size(), (size_t)-1); } } else { ERROR_LOG_REPORT(SYSTEM, "Failed to compute PathTo from '%s' to '%s'", root.c_str(), folder.c_str()); @@ -101,16 +102,16 @@ static bool ListFileSuffixesRecursively(const Path &root, const Path &folder, st bool MoveChildrenFast(const Path &moveSrc, const Path &moveDest, MoveProgressReporter &progressReporter) { std::vector files; - progressReporter.SetStatus("Starting move..."); if (!File::GetFilesInDir(moveSrc, &files)) { return false; } - for (auto file : files) { + for (size_t i = 0; i < files.size(); i++) { + auto &file = files[i]; // Construct destination path Path fileSrc = file.fullName; Path fileDest = moveDest / file.name; - progressReporter.SetStatus(file.name); + progressReporter.SetProgress(file.name, i, files.size()); INFO_LOG(SYSTEM, "About to move PSP data from '%s' to '%s'", fileSrc.c_str(), fileDest.c_str()); bool result = File::MoveIfFast(fileSrc, fileDest); if (!result) { @@ -121,6 +122,21 @@ bool MoveChildrenFast(const Path &moveSrc, const Path &moveDest, MoveProgressRep return true; } +std::string MoveProgressReporter::Format() { + std::string str; + { + std::lock_guard guard(mutex_); + if (max_ > 0) { + str = StringFromFormat("(%d/%d) ", count_, max_); + } else if (max_ < 0) { + str = StringFromFormat("(%d) ", count_); + } + str += progress_; + } + return str; +} + + MoveResult *MoveDirectoryContentsSafe(Path moveSrc, Path moveDest, MoveProgressReporter &progressReporter) { auto ms = GetI18NCategory(I18NCat::MEMSTICK); if (moveSrc.GetFilename() != "PSP") { @@ -137,7 +153,7 @@ MoveResult *MoveDirectoryContentsSafe(Path moveSrc, Path moveDest, MoveProgressR // We loop through the files/dirs in the source directory and just try to move them, it should work. if (MoveChildrenFast(moveSrc, moveDest, progressReporter)) { INFO_LOG(SYSTEM, "Quick-move succeeded"); - progressReporter.SetStatus(ms->T("Done!")); + progressReporter.SetProgress(ms->T("Done!")); return new MoveResult{ true, "" }; @@ -152,75 +168,113 @@ MoveResult *MoveDirectoryContentsSafe(Path moveSrc, Path moveDest, MoveProgressR std::vector directorySuffixesToCreate; // NOTE: It's correct to pass moveSrc twice here, it's to keep the root in the recursion. - if (!ListFileSuffixesRecursively(moveSrc, moveSrc, directorySuffixesToCreate, fileSuffixesToMove)) { + if (!ListFileSuffixesRecursively(moveSrc, moveSrc, directorySuffixesToCreate, fileSuffixesToMove, progressReporter)) { // TODO: Handle failure listing files. std::string error = "Failed to read old directory"; INFO_LOG(SYSTEM, "%s", error.c_str()); - progressReporter.SetStatus(ms->T(error.c_str())); + progressReporter.SetProgress(ms->T(error.c_str())); return new MoveResult{ false, error }; } bool dryRun = false; // Useful for debugging. size_t failedFiles = 0; - size_t skippedFiles = 0; // We're not moving huge files like ISOs during this process, unless // they can be directly moved, without rewriting the file. const uint64_t BIG_FILE_THRESHOLD = 24 * 1024 * 1024; - if (!moveSrc.empty()) { - // Better not interrupt the app while this is happening! + if (moveSrc.empty()) { + // Shouldn't happen. + return new MoveResult{ true, "", }; + } - // Create all the necessary directories. - for (auto &dirSuffix : directorySuffixesToCreate) { - Path dir = moveDest / dirSuffix; - if (dryRun) { - INFO_LOG(SYSTEM, "dry run: Would have created dir '%s'", dir.c_str()); - } else { - INFO_LOG(SYSTEM, "Creating dir '%s'", dir.c_str()); - progressReporter.SetStatus(dirSuffix); - // Just ignore already-exists errors. - File::CreateDir(dir); - } + // Better not interrupt the app while this is happening! + + // Create all the necessary directories. + for (size_t i = 0; i < directorySuffixesToCreate.size(); i++) { + const auto &dirSuffix = directorySuffixesToCreate[i]; + Path dir = moveDest / dirSuffix; + if (dryRun) { + INFO_LOG(SYSTEM, "dry run: Would have created dir '%s'", dir.c_str()); + } else { + INFO_LOG(SYSTEM, "Creating dir '%s'", dir.c_str()); + progressReporter.SetProgress(dirSuffix); + // Just ignore already-exists errors. + File::CreateDir(dir); } + } - for (auto &fileSuffix : fileSuffixesToMove) { - progressReporter.SetStatus(StringFromFormat("%s (%s)", fileSuffix.suffix.c_str(), NiceSizeFormat(fileSuffix.fileSize).c_str())); + for (size_t i = 0; i < fileSuffixesToMove.size(); i++) { + const auto &fileSuffix = fileSuffixesToMove[i]; + progressReporter.SetProgress(StringFromFormat("%s (%s)", fileSuffix.suffix.c_str(), NiceSizeFormat(fileSuffix.fileSize).c_str()), + (int)i, (int)fileSuffixesToMove.size()); - Path from = moveSrc / fileSuffix.suffix; - Path to = moveDest / fileSuffix.suffix; + Path from = moveSrc / fileSuffix.suffix; + Path to = moveDest / fileSuffix.suffix; - if (dryRun) { - INFO_LOG(SYSTEM, "dry run: Would have moved '%s' to '%s' (%d bytes)", from.c_str(), to.c_str(), (int)fileSuffix.fileSize); + if (dryRun) { + INFO_LOG(SYSTEM, "dry run: Would have moved '%s' to '%s' (%d bytes)", from.c_str(), to.c_str(), (int)fileSuffix.fileSize); + } else { + // Remove the "from" prefix from the path. + // We have to drop down to string operations for this. + if (!File::Copy(from, to)) { + ERROR_LOG(SYSTEM, "Failed to copy file '%s' to '%s'", from.c_str(), to.c_str()); + failedFiles++; + // Should probably just bail? } else { - // Remove the "from" prefix from the path. - // We have to drop down to string operations for this. - if (!File::Copy(from, to)) { - ERROR_LOG(SYSTEM, "Failed to copy file '%s' to '%s'", from.c_str(), to.c_str()); - failedFiles++; - // Should probably just bail? - } else { - INFO_LOG(SYSTEM, "Copied file '%s' to '%s'", from.c_str(), to.c_str()); - } - } - } - - // Delete all the old, now hopefully empty, directories. - // Hopefully DeleteDir actually fails if it contains a file... - for (auto &dirSuffix : directorySuffixesToCreate) { - Path dir = moveSrc / dirSuffix; - if (dryRun) { - INFO_LOG(SYSTEM, "dry run: Would have deleted dir '%s'", dir.c_str()); - } else { - INFO_LOG(SYSTEM, "Deleting dir '%s'", dir.c_str()); - progressReporter.SetStatus(dirSuffix); - if (File::Exists(dir)) { - File::DeleteDir(dir); - } + INFO_LOG(SYSTEM, "Copied file '%s' to '%s'", from.c_str(), to.c_str()); } } } - return new MoveResult{ true, "", failedFiles }; + if (failedFiles) { + return new MoveResult{ false, "", failedFiles }; + } + + // After the whole move, verify that all the files arrived correctly. + // If there's a single error, we do not delete the source data. + bool ok = true; + for (size_t i = 0; i < fileSuffixesToMove.size(); i++) { + const auto &fileSuffix = fileSuffixesToMove[i]; + progressReporter.SetProgress(ms->T("Checking..."), (int)i, (int)fileSuffixesToMove.size()); + + Path to = moveDest / fileSuffix.suffix; + + File::FileInfo info; + if (!File::GetFileInfo(to, &info)) { + ok = false; + break; + } + + if (fileSuffix.fileSize != info.size) { + ERROR_LOG(SYSTEM, "Mismatched size in target file %s. Verification failed.", fileSuffix.suffix.c_str()); + ok = false; + failedFiles++; + break; + } + } + + if (!ok) { + return new MoveResult{ false, "", failedFiles }; + } + + INFO_LOG(SYSTEM, "Verification complete"); + + // Delete all the old, now hopefully empty, directories. + // Hopefully DeleteDir actually fails if it contains a file... + for (size_t i = 0; i < directorySuffixesToCreate.size(); i++) { + const auto &dirSuffix = directorySuffixesToCreate[i]; + Path dir = moveSrc / dirSuffix; + if (dryRun) { + INFO_LOG(SYSTEM, "dry run: Would have deleted dir '%s'", dir.c_str()); + } else { + INFO_LOG(SYSTEM, "Deleting dir '%s'", dir.c_str()); + progressReporter.SetProgress(dirSuffix, i, directorySuffixesToCreate.size()); + if (File::Exists(dir)) { + File::DeleteDir(dir); + } + } + } + return new MoveResult{ true, "", 0 }; } diff --git a/Core/Util/MemStick.h b/Core/Util/MemStick.h index cf71d806ce..65c7384726 100644 --- a/Core/Util/MemStick.h +++ b/Core/Util/MemStick.h @@ -3,24 +3,26 @@ #include "Common/File/Path.h" #include +#include // Utility functions moved out from MemstickScreen. class MoveProgressReporter { public: - void SetStatus(const std::string &value) { + void SetProgress(std::string_view value, size_t count = 0, size_t maxVal = 0) { std::lock_guard guard(mutex_); progress_ = value; + count_ = (int)count; + max_ = (int)maxVal; } - std::string Get() { - std::lock_guard guard(mutex_); - return progress_; - } + std::string Format(); private: std::string progress_; std::mutex mutex_; + int count_; + int max_; }; struct MoveResult { diff --git a/UI/MemStickScreen.cpp b/UI/MemStickScreen.cpp index b528db0b70..c59f968bcb 100644 --- a/UI/MemStickScreen.cpp +++ b/UI/MemStickScreen.cpp @@ -518,7 +518,7 @@ void ConfirmMemstickMoveScreen::CreateViews() { } if (moveDataTask_) { - progressView_ = leftColumn->Add(new TextView(progressReporter_.Get())); + progressView_ = leftColumn->Add(new TextView(progressReporter_.Format())); } else { progressView_ = nullptr; } @@ -545,19 +545,19 @@ void ConfirmMemstickMoveScreen::update() { if (moveDataTask_) { if (progressView_) { - progressView_->SetText(progressReporter_.Get()); + progressView_->SetText(progressReporter_.Format()); } MoveResult *result = moveDataTask_->Poll(); if (result) { if (result->success) { - progressReporter_.SetStatus(iz->T("Done!")); + progressReporter_.SetProgress(iz->T("Done!")); INFO_LOG(SYSTEM, "Move data task finished successfully!"); // Succeeded! FinishFolderMove(); } else { - progressReporter_.SetStatus(iz->T("Failed to move some files!")); + progressReporter_.SetProgress(iz->T("Failed to move some files!")); INFO_LOG(SYSTEM, "Move data task failed!"); // What do we do here? We might be in the middle of a move... Bad. RecreateViews(); @@ -575,7 +575,7 @@ UI::EventReturn ConfirmMemstickMoveScreen::OnConfirm(UI::EventParams ¶ms) { // If the directory itself is called PSP, don't go below. if (moveData_) { - progressReporter_.SetStatus(T(I18NCat::MEMSTICK, "Starting move...")); + progressReporter_.SetProgress(T(I18NCat::MEMSTICK, "Starting move...")); moveDataTask_ = Promise::Spawn(&g_threadManager, [&]() -> MoveResult * { Path moveSrc = g_Config.memStickDirectory; diff --git a/assets/lang/ar_AE.ini b/assets/lang/ar_AE.ini index 418942d4e2..062a8dba9b 100644 --- a/assets/lang/ar_AE.ini +++ b/assets/lang/ar_AE.ini @@ -848,12 +848,14 @@ Wlan = ‎الواي فاي [MemStick] Already contains PSP data = Already contains PSP data Cancelled - try again = Cancelled - try again +Checking... = Checking... Create or Choose a PSP folder = Create or Choose a PSP folder Current = Current DataCanBeShared = Data can be shared between PPSSPP regular/Gold DataCannotBeShared = Data CANNOT be shared between PPSSPP regular/Gold! DataWillBeLostOnUninstall = Warning! Data will be lost when you uninstall PPSSPP! DataWillStay = Data will stay even if you uninstall PPSSPP. +Deleting... = Deleting... Done! = Done! EasyUSBAccess = Easy USB access Failed to move some files! = Failed to move some files! diff --git a/assets/lang/az_AZ.ini b/assets/lang/az_AZ.ini index e87439489d..77fde651fc 100644 --- a/assets/lang/az_AZ.ini +++ b/assets/lang/az_AZ.ini @@ -840,12 +840,14 @@ Wlan = WLAN [MemStick] Already contains PSP data = Already contains PSP data Cancelled - try again = Cancelled - try again +Checking... = Checking... Create or Choose a PSP folder = Create or Choose a PSP folder Current = Current DataCanBeShared = Data can be shared between PPSSPP regular/Gold DataCannotBeShared = Data CANNOT be shared between PPSSPP regular/Gold! DataWillBeLostOnUninstall = Warning! Data will be lost when you uninstall PPSSPP! DataWillStay = Data will stay even if you uninstall PPSSPP. +Deleting... = Deleting... Done! = Done! EasyUSBAccess = Easy USB access Failed to move some files! = Failed to move some files! diff --git a/assets/lang/bg_BG.ini b/assets/lang/bg_BG.ini index e65c3e8bfd..3496bd8f19 100644 --- a/assets/lang/bg_BG.ini +++ b/assets/lang/bg_BG.ini @@ -840,12 +840,14 @@ Wlan = WLAN [MemStick] Already contains PSP data = Already contains PSP data Cancelled - try again = Cancelled - try again +Checking... = Checking... Create or Choose a PSP folder = Create or Choose a PSP folder Current = Current DataCanBeShared = Data can be shared between PPSSPP regular/Gold DataCannotBeShared = Data CANNOT be shared between PPSSPP regular/Gold! DataWillBeLostOnUninstall = Warning! Data will be lost when you uninstall PPSSPP! DataWillStay = Data will stay even if you uninstall PPSSPP. +Deleting... = Deleting... Done! = Done! EasyUSBAccess = Easy USB access Failed to move some files! = Failed to move some files! diff --git a/assets/lang/ca_ES.ini b/assets/lang/ca_ES.ini index 95ba9714b8..00619648c1 100644 --- a/assets/lang/ca_ES.ini +++ b/assets/lang/ca_ES.ini @@ -840,12 +840,14 @@ Wlan = WLAN [MemStick] Already contains PSP data = Already contains PSP data Cancelled - try again = Cancelled - try again +Checking... = Checking... Create or Choose a PSP folder = Create or Choose a PSP folder Current = Current DataCanBeShared = Data can be shared between PPSSPP regular/Gold DataCannotBeShared = Data CANNOT be shared between PPSSPP regular/Gold! DataWillBeLostOnUninstall = Warning! Data will be lost when you uninstall PPSSPP! DataWillStay = Data will stay even if you uninstall PPSSPP. +Deleting... = Deleting... Done! = Done! EasyUSBAccess = Easy USB access Failed to move some files! = Failed to move some files! diff --git a/assets/lang/cz_CZ.ini b/assets/lang/cz_CZ.ini index 1a27b71cf9..f1b45b47bd 100644 --- a/assets/lang/cz_CZ.ini +++ b/assets/lang/cz_CZ.ini @@ -840,12 +840,14 @@ Wlan = WLAN [MemStick] Already contains PSP data = Already contains PSP data Cancelled - try again = Cancelled - try again +Checking... = Checking... Create or Choose a PSP folder = Create or Choose a PSP folder Current = Current DataCanBeShared = Data can be shared between PPSSPP regular/Gold DataCannotBeShared = Data CANNOT be shared between PPSSPP regular/Gold! DataWillBeLostOnUninstall = Warning! Data will be lost when you uninstall PPSSPP! DataWillStay = Data will stay even if you uninstall PPSSPP. +Deleting... = Deleting... Done! = Done! EasyUSBAccess = Easy USB access Failed to move some files! = Failed to move some files! diff --git a/assets/lang/da_DK.ini b/assets/lang/da_DK.ini index b67506712f..9b9a7c3f29 100644 --- a/assets/lang/da_DK.ini +++ b/assets/lang/da_DK.ini @@ -840,12 +840,14 @@ Wlan = WLAN [MemStick] Already contains PSP data = Already contains PSP data Cancelled - try again = Cancelled - try again +Checking... = Checking... Create or Choose a PSP folder = Create or Choose a PSP folder Current = Current DataCanBeShared = Data can be shared between PPSSPP regular/Gold DataCannotBeShared = Data CANNOT be shared between PPSSPP regular/Gold! DataWillBeLostOnUninstall = Warning! Data will be lost when you uninstall PPSSPP! DataWillStay = Data will stay even if you uninstall PPSSPP. +Deleting... = Deleting... Done! = Done! EasyUSBAccess = Easy USB access Failed to move some files! = Failed to move some files! diff --git a/assets/lang/de_DE.ini b/assets/lang/de_DE.ini index 2111830f4e..310d5dc005 100644 --- a/assets/lang/de_DE.ini +++ b/assets/lang/de_DE.ini @@ -840,12 +840,14 @@ Wlan = WLAN [MemStick] Already contains PSP data = Enthält bereits PSP Daten Cancelled - try again = Cancelled - try again +Checking... = Checking... Create or Choose a PSP folder = Create or Choose a PSP folder Current = Current DataCanBeShared = Daten können mit PPSSPP Regulär/Gold geteilt werden! DataCannotBeShared = Daten können NICHT mit Regulär/Gold geteilt werden! DataWillBeLostOnUninstall = Warnung! Dateien gehen verloren beim deinstallieren von PPSSPP. DataWillStay = Dateien gehen NICHT verloren beim deinstallieren von PPSSPP. +Deleting... = Deleting... Done! = Done! EasyUSBAccess = Easy USB access Failed to move some files! = Konnte ein paar Dateien nicht bewegen! diff --git a/assets/lang/dr_ID.ini b/assets/lang/dr_ID.ini index 5bb82510b2..e46eca5916 100644 --- a/assets/lang/dr_ID.ini +++ b/assets/lang/dr_ID.ini @@ -840,12 +840,14 @@ Wlan = WLAN [MemStick] Already contains PSP data = Already contains PSP data Cancelled - try again = Cancelled - try again +Checking... = Checking... Create or Choose a PSP folder = Create or Choose a PSP folder Current = Current DataCanBeShared = Data can be shared between PPSSPP regular/Gold DataCannotBeShared = Data CANNOT be shared between PPSSPP regular/Gold! DataWillBeLostOnUninstall = Warning! Data will be lost when you uninstall PPSSPP! DataWillStay = Data will stay even if you uninstall PPSSPP. +Deleting... = Deleting... Done! = Done! EasyUSBAccess = Easy USB access Failed to move some files! = Failed to move some files! diff --git a/assets/lang/en_US.ini b/assets/lang/en_US.ini index edcecaa6b3..f103c05676 100644 --- a/assets/lang/en_US.ini +++ b/assets/lang/en_US.ini @@ -1025,12 +1025,14 @@ written = Written in C++ for speed and portability [MemStick] Already contains PSP data = Already contains PSP data Cancelled - try again = Cancelled - try again +Checking... = Checking... Create or Choose a PSP folder = Create or Choose a PSP folder Current = Current DataCanBeShared = Data can be shared between PPSSPP regular/Gold DataCannotBeShared = Data CANNOT be shared between PPSSPP regular/Gold! DataWillBeLostOnUninstall = Warning! Data will be lost when you uninstall PPSSPP! DataWillStay = Data will stay even if you uninstall PPSSPP +Deleting... = Deleting... Done! = Done! EasyUSBAccess = Easy USB access Failed to move some files! = Failed to move some files! diff --git a/assets/lang/es_ES.ini b/assets/lang/es_ES.ini index 6f326a9f64..385e3d9c42 100644 --- a/assets/lang/es_ES.ini +++ b/assets/lang/es_ES.ini @@ -841,12 +841,14 @@ Wlan = WLAN [MemStick] Already contains PSP data = Ya contiene datos de PSP Cancelled - try again = Cancelled - try again +Checking... = Checking... Create or Choose a PSP folder = Crear o elegir la carpeta PSP Current = Actual DataCanBeShared = Los datos se pueden compartir entre PPSSPP regular/Gold DataCannotBeShared = ¡Los datos NO se pueden compartir entre PPSSPP regular/Gold! DataWillBeLostOnUninstall = ¡AVISO: los datos se perderán una vez desinstales PPSSPP! DataWillStay = Los datos se mantendrán aunque desinstales PPSSPP. +Deleting... = Deleting... Done! = ¡Hecho! EasyUSBAccess = Acceso fácil USB Failed to move some files! = ¡Error al mover algunos archivos! diff --git a/assets/lang/es_LA.ini b/assets/lang/es_LA.ini index fcaae9efff..9d391c3955 100644 --- a/assets/lang/es_LA.ini +++ b/assets/lang/es_LA.ini @@ -840,12 +840,14 @@ Wlan = WLAN [MemStick] Already contains PSP data = Actualmente contiene datos de PSP Cancelled - try again = Cancelled - try again +Checking... = Checking... Create or Choose a PSP folder = Seleccionar o crear carpeta PSP Current = Actual DataCanBeShared = Datos pueden moverse entre PPSSPP regular/Gold DataCannotBeShared = ¡Datos NO pueden moverse entre PPSSPP regular/Gold! DataWillBeLostOnUninstall = ADVERTENCIA: ¡Datos pueden borrarse al desinstalar PPSSPP! DataWillStay = Datos pueden mantenerse incluso si desinstalas PPSSPP. +Deleting... = Deleting... Done! = ¡Hecho! EasyUSBAccess = Acceso USB fácil Failed to move some files! = ¡Falló al mover algunos archivos! diff --git a/assets/lang/fa_IR.ini b/assets/lang/fa_IR.ini index 61000a670a..5e33afd8a0 100644 --- a/assets/lang/fa_IR.ini +++ b/assets/lang/fa_IR.ini @@ -840,12 +840,14 @@ Wlan = WLAN [MemStick] Already contains PSP data = Already contains PSP data Cancelled - try again = Cancelled - try again +Checking... = Checking... Create or Choose a PSP folder = Create or Choose a PSP folder Current = Current DataCanBeShared = Data can be shared between PPSSPP regular/Gold DataCannotBeShared = Data CANNOT be shared between PPSSPP regular/Gold! DataWillBeLostOnUninstall = Warning! Data will be lost when you uninstall PPSSPP! DataWillStay = Data will stay even if you uninstall PPSSPP. +Deleting... = Deleting... Done! = Done! EasyUSBAccess = Easy USB access Failed to move some files! = Failed to move some files! diff --git a/assets/lang/fi_FI.ini b/assets/lang/fi_FI.ini index 33e8678d6d..1e7555abac 100644 --- a/assets/lang/fi_FI.ini +++ b/assets/lang/fi_FI.ini @@ -840,12 +840,14 @@ Wlan = WLAN [MemStick] Already contains PSP data = Sisältää jo PSP-tiedot Cancelled - try again = Cancelled - try again +Checking... = Checking... Create or Choose a PSP folder = Luo tai valitse PSP-kansio Current = Nykyinen DataCanBeShared = Tiedot voidaan jakaa PPSSPP:n tavallisen / Gold-version välillä DataCannotBeShared = Tietoja EI VOIDA jakaan PPSSPP:n tavallisen / Gold-version välillä! DataWillBeLostOnUninstall = Varoitus! Tiedot häviävät, kun poistat PPSSPP:n! DataWillStay = Tiedot säilyvät jopa jos poistat PPSSPP:n. +Deleting... = Deleting... Done! = Valmis! EasyUSBAccess = Helppo USB-pääsy Failed to move some files! = Joitain tiedostoja ei voitu siirtää! diff --git a/assets/lang/fr_FR.ini b/assets/lang/fr_FR.ini index 48c608ed7e..43d6029a87 100644 --- a/assets/lang/fr_FR.ini +++ b/assets/lang/fr_FR.ini @@ -840,12 +840,14 @@ Wlan = WLAN [MemStick] Already contains PSP data = Contient déjà des données PSP Cancelled - try again = Annulé - réessayer +Checking... = Checking... Create or Choose a PSP folder = Créer ou choisir un dossier PSP Current = Current DataCanBeShared = Les données peuvent être partagées entre PPSSPP régulier/Gold DataCannotBeShared = Les données NE PEUVENT PAS être partagées entre PPSSPP régulier/Gold! DataWillBeLostOnUninstall = Avertissement! Les données seront perdues lorsque vous désinstallez PPSSPP! DataWillStay = Les données resteront même si vous désinstallez PPSSPP. +Deleting... = Deleting... Done! = Terminé! EasyUSBAccess = Easy USB access Failed to move some files! = Impossible de déplacer certains fichiers! diff --git a/assets/lang/gl_ES.ini b/assets/lang/gl_ES.ini index f26d948157..670c8fe263 100644 --- a/assets/lang/gl_ES.ini +++ b/assets/lang/gl_ES.ini @@ -840,12 +840,14 @@ Wlan = WLAN [MemStick] Already contains PSP data = Already contains PSP data Cancelled - try again = Cancelled - try again +Checking... = Checking... Create or Choose a PSP folder = Create or Choose a PSP folder Current = Current DataCanBeShared = Data can be shared between PPSSPP regular/Gold DataCannotBeShared = Data CANNOT be shared between PPSSPP regular/Gold! DataWillBeLostOnUninstall = Warning! Data will be lost when you uninstall PPSSPP! DataWillStay = Data will stay even if you uninstall PPSSPP. +Deleting... = Deleting... Done! = Done! EasyUSBAccess = Easy USB access Failed to move some files! = Failed to move some files! diff --git a/assets/lang/gr_EL.ini b/assets/lang/gr_EL.ini index 06c5203fd6..2482d98b58 100644 --- a/assets/lang/gr_EL.ini +++ b/assets/lang/gr_EL.ini @@ -840,12 +840,14 @@ Wlan = WLAN [MemStick] Already contains PSP data = Already contains PSP data Cancelled - try again = Cancelled - try again +Checking... = Checking... Create or Choose a PSP folder = Create or Choose a PSP folder Current = Current DataCanBeShared = Data can be shared between PPSSPP regular/Gold DataCannotBeShared = Data CANNOT be shared between PPSSPP regular/Gold! DataWillBeLostOnUninstall = Warning! Data will be lost when you uninstall PPSSPP! DataWillStay = Data will stay even if you uninstall PPSSPP. +Deleting... = Deleting... Done! = Done! EasyUSBAccess = Easy USB access Failed to move some files! = Failed to move some files! diff --git a/assets/lang/he_IL.ini b/assets/lang/he_IL.ini index ec5c928648..b010e614fe 100644 --- a/assets/lang/he_IL.ini +++ b/assets/lang/he_IL.ini @@ -840,12 +840,14 @@ Wlan = WLAN [MemStick] Already contains PSP data = Already contains PSP data Cancelled - try again = Cancelled - try again +Checking... = Checking... Create or Choose a PSP folder = Create or Choose a PSP folder Current = Current DataCanBeShared = Data can be shared between PPSSPP regular/Gold DataCannotBeShared = Data CANNOT be shared between PPSSPP regular/Gold! DataWillBeLostOnUninstall = Warning! Data will be lost when you uninstall PPSSPP! DataWillStay = Data will stay even if you uninstall PPSSPP. +Deleting... = Deleting... Done! = Done! EasyUSBAccess = Easy USB access Failed to move some files! = Failed to move some files! diff --git a/assets/lang/he_IL_invert.ini b/assets/lang/he_IL_invert.ini index 653b2a0100..06f28f5087 100644 --- a/assets/lang/he_IL_invert.ini +++ b/assets/lang/he_IL_invert.ini @@ -840,12 +840,14 @@ Wlan = WLAN [MemStick] Already contains PSP data = Already contains PSP data Cancelled - try again = Cancelled - try again +Checking... = Checking... Create or Choose a PSP folder = Create or Choose a PSP folder Current = Current DataCanBeShared = Data can be shared between PPSSPP regular/Gold DataCannotBeShared = Data CANNOT be shared between PPSSPP regular/Gold! DataWillBeLostOnUninstall = Warning! Data will be lost when you uninstall PPSSPP! DataWillStay = Data will stay even if you uninstall PPSSPP. +Deleting... = Deleting... Done! = Done! EasyUSBAccess = Easy USB access Failed to move some files! = Failed to move some files! diff --git a/assets/lang/hr_HR.ini b/assets/lang/hr_HR.ini index 6d53c5a169..e0648472c3 100644 --- a/assets/lang/hr_HR.ini +++ b/assets/lang/hr_HR.ini @@ -840,12 +840,14 @@ Wlan = WLAN [MemStick] Already contains PSP data = Already contains PSP data Cancelled - try again = Cancelled - try again +Checking... = Checking... Create or Choose a PSP folder = Create or Choose a PSP folder Current = Current DataCanBeShared = Data can be shared between PPSSPP regular/Gold DataCannotBeShared = Data CANNOT be shared between PPSSPP regular/Gold! DataWillBeLostOnUninstall = Warning! Data will be lost when you uninstall PPSSPP! DataWillStay = Data will stay even if you uninstall PPSSPP. +Deleting... = Deleting... Done! = Done! EasyUSBAccess = Easy USB access Failed to move some files! = Failed to move some files! diff --git a/assets/lang/hu_HU.ini b/assets/lang/hu_HU.ini index ab57703a2b..4c65e31941 100644 --- a/assets/lang/hu_HU.ini +++ b/assets/lang/hu_HU.ini @@ -840,12 +840,14 @@ Wlan = WLAN [MemStick] Already contains PSP data = Already contains PSP data Cancelled - try again = Cancelled - try again +Checking... = Checking... Create or Choose a PSP folder = Create or Choose a PSP folder Current = Current DataCanBeShared = Data can be shared between PPSSPP regular/Gold DataCannotBeShared = Data CANNOT be shared between PPSSPP regular/Gold! DataWillBeLostOnUninstall = Warning! Data will be lost when you uninstall PPSSPP! DataWillStay = Data will stay even if you uninstall PPSSPP. +Deleting... = Deleting... Done! = Done! EasyUSBAccess = Easy USB access Failed to move some files! = Failed to move some files! diff --git a/assets/lang/id_ID.ini b/assets/lang/id_ID.ini index 98877be8cd..3ad464cf1e 100644 --- a/assets/lang/id_ID.ini +++ b/assets/lang/id_ID.ini @@ -840,12 +840,14 @@ Wlan = WLAN [MemStick] Already contains PSP data = Sudah berisi data PSP Cancelled - try again = Cancelled - try again +Checking... = Checking... Create or Choose a PSP folder = Buat atau Pilih berkas PSP Current = Saat ini DataCanBeShared = Data bisa dibagikan antar PPSSPP reguler/emas DataCannotBeShared = Data tidak bisa dibagi antar PPSSPP reguler/emas! DataWillBeLostOnUninstall = Peringatan! Data akan hilang ketika Anda menghapus PPSSPP! DataWillStay = Data akan tetap ada meskipun Anda menghapus PPSSPP. +Deleting... = Deleting... Done! = Selesai! EasyUSBAccess = Akses mudah USB Failed to move some files! = Gagal memindahkan beberapa berkas! diff --git a/assets/lang/it_IT.ini b/assets/lang/it_IT.ini index 1de4af2b8b..49dd398065 100644 --- a/assets/lang/it_IT.ini +++ b/assets/lang/it_IT.ini @@ -1019,12 +1019,14 @@ written = Scritto in C++ per velocità e portabilità [MemStick] Already contains PSP data = Contiene già dati PSP Cancelled - try again = Annullato - prova di nuovo +Checking... = Checking... Create or Choose a PSP folder = Scegli o crea una cartella PSP Current = Corrente DataCanBeShared = I dati possono essere condivisi tra PPSSPP normale/Gold DataCannotBeShared = I dati NON possono essere condivisi tra PPSSPP normale/Gold! DataWillBeLostOnUninstall = Attenzione! I dati andranno persi quando disinstalli PPSSPP! DataWillStay = I dati rimarranno anche se disinstalli PPSSPP. +Deleting... = Deleting... Done! = Fatto! EasyUSBAccess = Facile accesso tramite USB Failed to move some files! = Il trasferimento di alcuni file è fallito! diff --git a/assets/lang/ja_JP.ini b/assets/lang/ja_JP.ini index 66a2a5afdd..f216c10499 100644 --- a/assets/lang/ja_JP.ini +++ b/assets/lang/ja_JP.ini @@ -1018,10 +1018,12 @@ written = 速度と移植性を保つためにC++で書かれています [MemStick] Already contains PSP data = 既にPSPデータが存在しています。 Cancelled - try again = Cancelled - try again +Checking... = Checking... Current = 現在の DataWillStay = データはPPSSPPをアンインストールしても残ります。 DataCanBeShared = 通常版/ゴールド間でのデータの共有が可能です。 DataCannotBeShared = 通常版/ゴールド間でのデータの共有は「できません」。 +Deleting... = Deleting... Done! = 完了! EasyUSBAccess = PCとのUSB接続でフォルダにアクセスが簡単にできます。 Failed to move some files! = いくつかのファイルの移動に失敗しました! diff --git a/assets/lang/jv_ID.ini b/assets/lang/jv_ID.ini index b8971adcfc..6328228cf3 100644 --- a/assets/lang/jv_ID.ini +++ b/assets/lang/jv_ID.ini @@ -840,12 +840,14 @@ Wlan = WLAN [MemStick] Already contains PSP data = Already contains PSP data Cancelled - try again = Cancelled - try again +Checking... = Checking... Create or Choose a PSP folder = Create or Choose a PSP folder Current = Current DataCanBeShared = Data can be shared between PPSSPP regular/Gold DataCannotBeShared = Data CANNOT be shared between PPSSPP regular/Gold! DataWillBeLostOnUninstall = Warning! Data will be lost when you uninstall PPSSPP! DataWillStay = Data will stay even if you uninstall PPSSPP. +Deleting... = Deleting... Done! = Done! EasyUSBAccess = Easy USB access Failed to move some files! = Failed to move some files! diff --git a/assets/lang/ko_KR.ini b/assets/lang/ko_KR.ini index e6088c3289..c34c54f7c9 100644 --- a/assets/lang/ko_KR.ini +++ b/assets/lang/ko_KR.ini @@ -1001,12 +1001,14 @@ written = 속도와 이식성을 위해 C++로 작성되었습니다. [MemStick] Already contains PSP data = 이미 PSP 데이터가 포함되어 있습니다. Cancelled - try again = 취소됨 - 다시 시도 +Checking... = Checking... Create or Choose a PSP folder = PSP 폴더 생성 또는 선택 Current = 현재 DataCanBeShared = PPSSPP 레귤러/골드 간에 데이터 공유 가능 DataCannotBeShared = PPSSPP 레귤러/골드 간에 데이터를 공유할 수 없습니다! DataWillBeLostOnUninstall = 경고! PPSSPP를 제거하면 데이터가 손실됩니다! DataWillStay = PPSSPP를 제거해도 데이터는 유지됩니다. +Deleting... = Deleting... Done! = 완료! EasyUSBAccess = 쉬운 USB 접속 Failed to move some files! = 일부 파일을 이동하지 못했습니다! diff --git a/assets/lang/lo_LA.ini b/assets/lang/lo_LA.ini index b530fcb3c9..18483abc7d 100644 --- a/assets/lang/lo_LA.ini +++ b/assets/lang/lo_LA.ini @@ -840,12 +840,14 @@ Wlan = WLAN [MemStick] Already contains PSP data = Already contains PSP data Cancelled - try again = Cancelled - try again +Checking... = Checking... Create or Choose a PSP folder = Create or Choose a PSP folder Current = Current DataCanBeShared = Data can be shared between PPSSPP regular/Gold DataCannotBeShared = Data CANNOT be shared between PPSSPP regular/Gold! DataWillBeLostOnUninstall = Warning! Data will be lost when you uninstall PPSSPP! DataWillStay = Data will stay even if you uninstall PPSSPP. +Deleting... = Deleting... Done! = Done! EasyUSBAccess = Easy USB access Failed to move some files! = Failed to move some files! diff --git a/assets/lang/lt-LT.ini b/assets/lang/lt-LT.ini index 691196de95..aa9cf42f69 100644 --- a/assets/lang/lt-LT.ini +++ b/assets/lang/lt-LT.ini @@ -840,12 +840,14 @@ Wlan = WLAN [MemStick] Already contains PSP data = Already contains PSP data Cancelled - try again = Cancelled - try again +Checking... = Checking... Create or Choose a PSP folder = Create or Choose a PSP folder Current = Current DataCanBeShared = Data can be shared between PPSSPP regular/Gold DataCannotBeShared = Data CANNOT be shared between PPSSPP regular/Gold! DataWillBeLostOnUninstall = Warning! Data will be lost when you uninstall PPSSPP! DataWillStay = Data will stay even if you uninstall PPSSPP. +Deleting... = Deleting... Done! = Done! EasyUSBAccess = Easy USB access Failed to move some files! = Failed to move some files! diff --git a/assets/lang/ms_MY.ini b/assets/lang/ms_MY.ini index c594d0d816..305ed22889 100644 --- a/assets/lang/ms_MY.ini +++ b/assets/lang/ms_MY.ini @@ -840,12 +840,14 @@ Wlan = WLAN [MemStick] Already contains PSP data = Already contains PSP data Cancelled - try again = Cancelled - try again +Checking... = Checking... Create or Choose a PSP folder = Create or Choose a PSP folder Current = Current DataCanBeShared = Data can be shared between PPSSPP regular/Gold DataCannotBeShared = Data CANNOT be shared between PPSSPP regular/Gold! DataWillBeLostOnUninstall = Warning! Data will be lost when you uninstall PPSSPP! DataWillStay = Data will stay even if you uninstall PPSSPP. +Deleting... = Deleting... Done! = Done! EasyUSBAccess = Easy USB access Failed to move some files! = Failed to move some files! diff --git a/assets/lang/nl_NL.ini b/assets/lang/nl_NL.ini index 47bfd52101..dc5ac13581 100644 --- a/assets/lang/nl_NL.ini +++ b/assets/lang/nl_NL.ini @@ -840,12 +840,14 @@ Wlan = WLAN [MemStick] Already contains PSP data = Already contains PSP data Cancelled - try again = Cancelled - try again +Checking... = Checking... Create or Choose a PSP folder = Create or Choose a PSP folder Current = Current DataCanBeShared = Data can be shared between PPSSPP regular/Gold DataCannotBeShared = Data CANNOT be shared between PPSSPP regular/Gold! DataWillBeLostOnUninstall = Warning! Data will be lost when you uninstall PPSSPP! DataWillStay = Data will stay even if you uninstall PPSSPP. +Deleting... = Deleting... Done! = Done! EasyUSBAccess = Easy USB access Failed to move some files! = Failed to move some files! diff --git a/assets/lang/no_NO.ini b/assets/lang/no_NO.ini index 87c206100a..955586c93b 100644 --- a/assets/lang/no_NO.ini +++ b/assets/lang/no_NO.ini @@ -840,12 +840,14 @@ Wlan = WLAN [MemStick] Already contains PSP data = Already contains PSP data Cancelled - try again = Cancelled - try again +Checking... = Checking... Create or Choose a PSP folder = Create or Choose a PSP folder Current = Current DataCanBeShared = Data can be shared between PPSSPP regular/Gold DataCannotBeShared = Data CANNOT be shared between PPSSPP regular/Gold! DataWillBeLostOnUninstall = Warning! Data will be lost when you uninstall PPSSPP! DataWillStay = Data will stay even if you uninstall PPSSPP. +Deleting... = Deleting... Done! = Done! EasyUSBAccess = Easy USB access Failed to move some files! = Failed to move some files! diff --git a/assets/lang/pl_PL.ini b/assets/lang/pl_PL.ini index 8ad730935f..840341653c 100644 --- a/assets/lang/pl_PL.ini +++ b/assets/lang/pl_PL.ini @@ -845,12 +845,14 @@ Wlan = WLAN [MemStick] Already contains PSP data = Już zawiera dane PSP Cancelled - try again = Anulowano - spróbuj ponownie +Checking... = Checking... Create or Choose a PSP folder = Utwórz lub Wybierz folder PSP Current = Obecny DataCanBeShared = Dane mogą być udostępniane pomiędzy zwykłą wersją PPSSPP, a wersją Gold DataCannotBeShared = Dane NIE mogą być udostępniane pomiędzy zwykłą wersją PPSSPP, a wersją Gold! DataWillBeLostOnUninstall = Uwaga! Utracisz wszystkie dane po odinstalowaniu PPSSPP! DataWillStay = Dane zostaną na urządzeniu, nawet po odinstalowaniu PPSSPP. +Deleting... = Deleting... Done! = Ukończono! EasyUSBAccess = Łatwy dostęþ do USB Failed to move some files! = Nie udało się przenieść niektórych plików! diff --git a/assets/lang/pt_BR.ini b/assets/lang/pt_BR.ini index 31b09979bb..bcb630d446 100644 --- a/assets/lang/pt_BR.ini +++ b/assets/lang/pt_BR.ini @@ -1025,12 +1025,14 @@ written = Escrito em C++ pela velocidade e portabilidade [MemStick] Already contains PSP data = Já contém dados do PSP Cancelled - try again = Cancelado - tente de novo +Checking... = Checking... Create or Choose a PSP folder = Criar ou escolher uma pasta do PSP Current = Atual DataCanBeShared = Os dados podem ser compartilhados entre o PPSSPP regular/Gold DataCannotBeShared = Os dados NÃO PODEM ser compartilhados entre o PPSSPP regular/Gold! DataWillBeLostOnUninstall = Aviso! Os dados serão perdidos quando você desinstalar o PPSSPP! DataWillStay = Os dados permanecerão mesmo se você desinstalar o PPSSPP. +Deleting... = Deleting... Done! = Concluído! EasyUSBAccess = Acesso fácil ao USB Failed to move some files! = Falhou em mover alguns arquivos! diff --git a/assets/lang/pt_PT.ini b/assets/lang/pt_PT.ini index e1ab88caf8..6eedb8dc4c 100644 --- a/assets/lang/pt_PT.ini +++ b/assets/lang/pt_PT.ini @@ -1044,12 +1044,14 @@ written = PPSSPP foi escrito em C++ pela sua velocidade e portabilidade [MemStick] Already contains PSP data = Já contém dados da PSP Cancelled - try again = Cancelado - tenta de novo +Checking... = Checking... Create or Choose a PSP folder = Criar ou escolher uma pasta da PSP Current = Atual DataCanBeShared = Os dados podem ser partilhados entre o PPSSPP Regular/Gold DataCannotBeShared = Os dados não podem ser partilhados entre o PPSSPP Regular/Gold DataWillBeLostOnUninstall = Aviso! Os dados serão perdidos quando desinstalares o PPSSPP! DataWillStay = Os dados permanecerão intactos mesmo se desinstalares o PPSSPP. +Deleting... = Deleting... Done! = Concluído! EasyUSBAccess = Acesso fácil ao USB Failed to move some files! = Erro ao mover alguns ficheiros! diff --git a/assets/lang/ro_RO.ini b/assets/lang/ro_RO.ini index 1fef8f0eb2..b0218da350 100644 --- a/assets/lang/ro_RO.ini +++ b/assets/lang/ro_RO.ini @@ -841,12 +841,14 @@ Wlan = WLAN [MemStick] Already contains PSP data = Already contains PSP data Cancelled - try again = Cancelled - try again +Checking... = Checking... Create or Choose a PSP folder = Create or Choose a PSP folder Current = Current DataCanBeShared = Data can be shared between PPSSPP regular/Gold DataCannotBeShared = Data CANNOT be shared between PPSSPP regular/Gold! DataWillBeLostOnUninstall = Warning! Data will be lost when you uninstall PPSSPP! DataWillStay = Data will stay even if you uninstall PPSSPP. +Deleting... = Deleting... Done! = Done! EasyUSBAccess = Easy USB access Failed to move some files! = Failed to move some files! diff --git a/assets/lang/ru_RU.ini b/assets/lang/ru_RU.ini index 63a3150059..486dadbf45 100644 --- a/assets/lang/ru_RU.ini +++ b/assets/lang/ru_RU.ini @@ -1018,12 +1018,14 @@ written = Написан на C++ для скорости и портируем [MemStick] Already contains PSP data = Уже содержит данные PSP Cancelled - try again = Отменено - попробуйте еще раз +Checking... = Checking... Create or Choose a PSP folder = Создайте или выберите папку PSP Current = Текущая DataCanBeShared = Данные могут передаваться между обычным PPSSPP и Gold DataCannotBeShared = Данные НЕ МОГУТ передаваться между обычным PPSSPP и Gold! DataWillBeLostOnUninstall = Внимание! Данные будут утеряны, если вы удалите PPSSPP! DataWillStay = Данные останутся, даже если вы удалите PPSSPP +Deleting... = Deleting... Done! = Завершено! EasyUSBAccess = Простой доступ к USB Failed to move some files! = Не получилось переместить некоторые файлы! diff --git a/assets/lang/sv_SE.ini b/assets/lang/sv_SE.ini index fdf95a9425..f836763b6f 100644 --- a/assets/lang/sv_SE.ini +++ b/assets/lang/sv_SE.ini @@ -1019,12 +1019,14 @@ Spanish = Spanska [MemStick] Already contains PSP data = Innehåller redan PSP-data Cancelled - try again = Cancelled - try again +Checking... = Checking... Create or Choose a PSP folder = Skapa eller välj en PSP-mapp Current = Nuvarande DataCanBeShared = Data kan delas mellan PPSSPP vanlig/Gold DataCannotBeShared = Data KAN INTE delas mellan PPSSPP vanlig/Gold! DataWillBeLostOnUninstall = Varning! Data kommer förloras om du avinstallerar PPSSPP! DataWillStay = Data stannar kvar även om du avinstallerar PPSSPP. +Deleting... = Deleting... Done! = Klar! EasyUSBAccess = Lätt åtkomst via USB Failed to move some files! = Misslyckades att flytta några filer! diff --git a/assets/lang/tg_PH.ini b/assets/lang/tg_PH.ini index 040a221f7b..bee703afb4 100644 --- a/assets/lang/tg_PH.ini +++ b/assets/lang/tg_PH.ini @@ -840,12 +840,14 @@ Wlan = WLAN [MemStick] Already contains PSP data = Already contains PSP data Cancelled - try again = Cancelled - try again +Checking... = Checking... Create or Choose a PSP folder = Create or Choose a PSP folder Current = Current DataCanBeShared = Data can be shared between PPSSPP regular/Gold DataCannotBeShared = Data CANNOT be shared between PPSSPP regular/Gold! DataWillBeLostOnUninstall = Warning! Data will be lost when you uninstall PPSSPP! DataWillStay = Data will stay even if you uninstall PPSSPP. +Deleting... = Deleting... Done! = Done! EasyUSBAccess = Easy USB access Failed to move some files! = Failed to move some files! diff --git a/assets/lang/th_TH.ini b/assets/lang/th_TH.ini index 8dc7a2874f..d816d0ca7c 100644 --- a/assets/lang/th_TH.ini +++ b/assets/lang/th_TH.ini @@ -840,12 +840,14 @@ Wlan = เครือข่าย [MemStick] Already contains PSP data = มีข้อมูลอยู่ข้างในนั้น Cancelled - try again = ถูกยกเลิกแล้ว - ลองอีกครั้ง +Checking... = Checking... Create or Choose a PSP folder = สร้างหรือเลือกโฟลเดอร์เก็บข้อมูล PSP Current = ที่ใช้อยู่ DataCanBeShared = ข้อมูลสามารถใช้งานร่วมกันได้ ทั้งใน PPSSPP ตัวสีฟ้า/สีทอง DataCannotBeShared = ข้อมูลไม่สามารถใช้งานร่วมกันได้ ทั้งใน PPSSPP ตัวสีฟ้า/สีทอง! DataWillBeLostOnUninstall = คำเตือน! ข้อมูลอาจจะสูญหาย เมื่อคุณถอนการติดตั้ง PPSSPP! DataWillStay = ข้อมูลจะยังคงอยู่ ถึงแม้ว่าจะถอนการติดตั้ง PPSSPP ออกไปแล้ว +Deleting... = Deleting... Done! = เรียบร้อย! EasyUSBAccess = การเข้าถึงข้อมูลทำได้ง่าย Failed to move some files! = ล้มเหลวในการย้ายบางไฟล์! diff --git a/assets/lang/tr_TR.ini b/assets/lang/tr_TR.ini index c868f0fdaa..55894458a3 100644 --- a/assets/lang/tr_TR.ini +++ b/assets/lang/tr_TR.ini @@ -842,12 +842,14 @@ Wlan = WLAN [MemStick] Already contains PSP data = Zaten PSP verisi içeriyor Cancelled - try again = Cancelled - try again +Checking... = Checking... Create or Choose a PSP folder = Bir PSP klasörü oluştur veya seç Current = Current DataCanBeShared = Veri PPSSPP normal/Gold arasında paylaşılabilir DataCannotBeShared = Veri PPSSPP normal/Gold arasında PAYLAŞILAMAZ! DataWillBeLostOnUninstall = Uyarı! PPSSPP'yi kaldırdığınızda veriler kaybolacak! DataWillStay = Data will stay even if you uninstall PPSSPP. +Deleting... = Deleting... Done! = Tamamlandı! EasyUSBAccess = Kolay USB erişimi Failed to move some files! = Bazı dosyalar taşınamadı! diff --git a/assets/lang/uk_UA.ini b/assets/lang/uk_UA.ini index 6eb68d07c0..7012e5d507 100644 --- a/assets/lang/uk_UA.ini +++ b/assets/lang/uk_UA.ini @@ -840,12 +840,14 @@ Wlan = WLAN [MemStick] Already contains PSP data = Already contains PSP data Cancelled - try again = Cancelled - try again +Checking... = Checking... Create or Choose a PSP folder = Create or Choose a PSP folder Current = Current DataCanBeShared = Data can be shared between PPSSPP regular/Gold DataCannotBeShared = Data CANNOT be shared between PPSSPP regular/Gold! DataWillBeLostOnUninstall = Warning! Data will be lost when you uninstall PPSSPP! DataWillStay = Data will stay even if you uninstall PPSSPP. +Deleting... = Deleting... Done! = Done! EasyUSBAccess = Easy USB access Failed to move some files! = Failed to move some files! diff --git a/assets/lang/vi_VN.ini b/assets/lang/vi_VN.ini index f758892803..b69ca49182 100644 --- a/assets/lang/vi_VN.ini +++ b/assets/lang/vi_VN.ini @@ -840,12 +840,14 @@ Wlan = WLAN [MemStick] Already contains PSP data = Already contains PSP data Cancelled - try again = Cancelled - try again +Checking... = Checking... Create or Choose a PSP folder = Create or Choose a PSP folder Current = Current DataCanBeShared = Data can be shared between PPSSPP regular/Gold DataCannotBeShared = Data CANNOT be shared between PPSSPP regular/Gold! DataWillBeLostOnUninstall = Warning! Data will be lost when you uninstall PPSSPP! DataWillStay = Data will stay even if you uninstall PPSSPP. +Deleting... = Deleting... Done! = Done! EasyUSBAccess = Easy USB access Failed to move some files! = Failed to move some files! diff --git a/assets/lang/zh_CN.ini b/assets/lang/zh_CN.ini index 6f77d8b5cb..4571e7c63d 100644 --- a/assets/lang/zh_CN.ini +++ b/assets/lang/zh_CN.ini @@ -840,12 +840,14 @@ Wlan = WLAN键 [MemStick] Already contains PSP data = 已含有PSP数据 Cancelled - try again = 已取消 - 请再次重试 +Checking... = Checking... Create or Choose a PSP folder = 创建或者选择PSP文件夹 Current = 目前 DataCanBeShared = 数据可以在普通版/黄金版之间共用 DataCannotBeShared = 数据无法在普通版/黄金版之间共用! DataWillBeLostOnUninstall = 警告!卸载PPSSPP后全部数据将丢失! DataWillStay = 卸载PPSSPP时数据能保留。 +Deleting... = Deleting... Done! = 完成! EasyUSBAccess = USB连接更简单 Failed to move some files! = 无法移动部分文件! diff --git a/assets/lang/zh_TW.ini b/assets/lang/zh_TW.ini index 216b2dcb7f..9308b5764e 100644 --- a/assets/lang/zh_TW.ini +++ b/assets/lang/zh_TW.ini @@ -1018,12 +1018,14 @@ written = 使用 C++ 編寫,以保證建置速度和相容性 [MemStick] Already contains PSP data = 已包含 PSP 資料 Cancelled - try again = 已取消 - 再試一次 +Checking... = Checking... Create or Choose a PSP folder = 建立或選擇 PSP 資料夾 Current = 目前 DataCanBeShared = 資料可在 PPSSPP 標準版/黃金版之間共用 DataCannotBeShared = 資料無法在 PPSSPP 標準版/黃金版之間共用! DataWillBeLostOnUninstall = 警告!資料會在解除安裝 PPSSPP 後遺失! DataWillStay = 資料會在解除安裝 PPSSPP 後保留 +Deleting... = Deleting... Done! = 完成! EasyUSBAccess = USB 輕鬆存取 Failed to move some files! = 無法移動部分檔案!