diff --git a/.reuse/dep5 b/.reuse/dep5 index 30a9065b77..0609248137 100644 --- a/.reuse/dep5 +++ b/.reuse/dep5 @@ -7,8 +7,6 @@ Files: CMakeSettings.json .github/shadps4.png .gitmodules documents/changelog.txt - documents/readme.txt - documents/Quickstart/1.png documents/Quickstart/2.png documents/Screenshots/Bloodborne.png documents/Screenshots/Sonic Mania.png @@ -17,6 +15,7 @@ Files: CMakeSettings.json scripts/ps4_names.txt src/images/about_icon.png src/images/controller_icon.png + src/images/dump_icon.png src/images/exit_icon.png src/images/file_icon.png src/images/flag_china.png @@ -38,6 +37,7 @@ Files: CMakeSettings.json src/images/shadPS4.icns src/images/shadps4.ico src/images/themes_icon.png + src/images/update_icon.png src/shadps4.qrc src/shadps4.rc Copyright: shadPS4 Emulator Project diff --git a/CMakeLists.txt b/CMakeLists.txt index e0408ae19b..c03cc3bcca 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -95,6 +95,7 @@ include(GetGitRevisionDescription) get_git_head_revision(GIT_REF_SPEC GIT_REV) git_describe(GIT_DESC --always --long --dirty) git_branch_name(GIT_BRANCH) +string(TIMESTAMP BUILD_DATE "%Y-%m-%d %H:%M:%S") configure_file("${CMAKE_CURRENT_SOURCE_DIR}/src/common/scm_rev.cpp.in" "${CMAKE_CURRENT_SOURCE_DIR}/src/common/scm_rev.cpp" @ONLY) @@ -654,6 +655,8 @@ set(QT_GUI src/qt_gui/about_dialog.cpp src/qt_gui/about_dialog.ui src/qt_gui/cheats_patches.cpp src/qt_gui/cheats_patches.h + src/qt_gui/check_update.cpp + src/qt_gui/check_update.h src/qt_gui/main_window_ui.h src/qt_gui/main_window.cpp src/qt_gui/main_window.h @@ -833,4 +836,4 @@ if (UNIX AND NOT APPLE) find_package(OpenSSL REQUIRED) target_link_libraries(shadps4 PRIVATE ${OPENSSL_LIBRARIES}) endif() -endif() +endif() \ No newline at end of file diff --git a/src/common/config.cpp b/src/common/config.cpp index fb6ee120a1..b5248c89a0 100644 --- a/src/common/config.cpp +++ b/src/common/config.cpp @@ -17,10 +17,12 @@ static s32 gpuId = -1; // Vulkan physical device index. Set to negative for auto static std::string logFilter; static std::string logType = "async"; static std::string userName = "shadPS4"; +static std::string updateChannel = "stable"; static bool useSpecialPad = false; static int specialPadClass = 1; static bool isDebugDump = false; static bool isShowSplash = false; +static bool isAutoUpdate = false; static bool isNullGpu = false; static bool shouldCopyGPUBuffers = false; static bool shouldDumpShaders = false; @@ -86,6 +88,10 @@ std::string getUserName() { return userName; } +std::string getUpdateChannel() { + return updateChannel; +} + bool getUseSpecialPad() { return useSpecialPad; } @@ -102,6 +108,10 @@ bool showSplash() { return isShowSplash; } +bool autoUpdate() { + return isAutoUpdate; +} + bool nullGpu() { return isNullGpu; } @@ -170,6 +180,10 @@ void setShowSplash(bool enable) { isShowSplash = enable; } +void setAutoUpdate(bool enable) { + isAutoUpdate = enable; +} + void setNullGpu(bool enable) { isNullGpu = enable; } @@ -226,6 +240,10 @@ void setUserName(const std::string& type) { userName = type; } +void setUpdateChannel(const std::string& type) { + updateChannel = type; +} + void setUseSpecialPad(bool use) { useSpecialPad = use; } @@ -364,7 +382,9 @@ void load(const std::filesystem::path& path) { logFilter = toml::find_or(general, "logFilter", ""); logType = toml::find_or(general, "logType", "sync"); userName = toml::find_or(general, "userName", "shadPS4"); + updateChannel = toml::find_or(general, "updateChannel", "stable"); isShowSplash = toml::find_or(general, "showSplash", true); + isAutoUpdate = toml::find_or(general, "autoUpdate", false); } if (data.contains("Input")) { @@ -456,7 +476,9 @@ void save(const std::filesystem::path& path) { data["General"]["logFilter"] = logFilter; data["General"]["logType"] = logType; data["General"]["userName"] = userName; + data["General"]["updateChannel"] = updateChannel; data["General"]["showSplash"] = isShowSplash; + data["General"]["autoUpdate"] = isAutoUpdate; data["Input"]["useSpecialPad"] = useSpecialPad; data["Input"]["specialPadClass"] = specialPadClass; data["GPU"]["screenWidth"] = screenWidth; @@ -507,10 +529,12 @@ void setDefaultValues() { logFilter = ""; logType = "async"; userName = "shadPS4"; + updateChannel = "stable"; useSpecialPad = false; specialPadClass = 1; isDebugDump = false; isShowSplash = false; + isAutoUpdate = false; isNullGpu = false; shouldDumpShaders = false; shouldDumpPM4 = false; @@ -526,4 +550,4 @@ void setDefaultValues() { gpuId = -1; } -} // namespace Config +} // namespace Config \ No newline at end of file diff --git a/src/common/config.h b/src/common/config.h index 7e717fe71b..63dca08d74 100644 --- a/src/common/config.h +++ b/src/common/config.h @@ -16,6 +16,7 @@ bool isFullscreenMode(); std::string getLogFilter(); std::string getLogType(); std::string getUserName(); +std::string getUpdateChannel(); bool getUseSpecialPad(); int getSpecialPadClass(); @@ -26,6 +27,7 @@ s32 getGpuId(); bool debugDump(); bool showSplash(); +bool autoUpdate(); bool nullGpu(); bool copyGPUCmdBuffers(); bool dumpShaders(); @@ -35,6 +37,7 @@ u32 vblankDiv(); void setDebugDump(bool enable); void setShowSplash(bool enable); +void setAutoUpdate(bool enable); void setNullGpu(bool enable); void setCopyGPUCmdBuffers(bool enable); void setDumpShaders(bool enable); @@ -47,6 +50,7 @@ void setFullscreenMode(bool enable); void setLanguage(u32 language); void setNeoMode(bool enable); void setUserName(const std::string& type); +void setUpdateChannel(const std::string& type); void setUseSpecialPad(bool use); void setSpecialPadClass(int type); diff --git a/src/common/scm_rev.cpp.in b/src/common/scm_rev.cpp.in index 7f6fba9ed2..642e6373df 100644 --- a/src/common/scm_rev.cpp.in +++ b/src/common/scm_rev.cpp.in @@ -6,12 +6,14 @@ #define GIT_REV "@GIT_REV@" #define GIT_BRANCH "@GIT_BRANCH@" #define GIT_DESC "@GIT_DESC@" +#define BUILD_DATE "@BUILD_DATE@" namespace Common { const char g_scm_rev[] = GIT_REV; const char g_scm_branch[] = GIT_BRANCH; const char g_scm_desc[] = GIT_DESC; +const char g_scm_date[] = BUILD_DATE; } // namespace diff --git a/src/common/scm_rev.h b/src/common/scm_rev.h index 877a01272d..005099d2da 100644 --- a/src/common/scm_rev.h +++ b/src/common/scm_rev.h @@ -8,5 +8,6 @@ namespace Common { extern const char g_scm_rev[]; extern const char g_scm_branch[]; extern const char g_scm_desc[]; +extern const char g_scm_date[]; } // namespace Common diff --git a/src/images/dump_icon.png b/src/images/dump_icon.png new file mode 100644 index 0000000000..e267181f7d Binary files /dev/null and b/src/images/dump_icon.png differ diff --git a/src/images/update_icon.png b/src/images/update_icon.png new file mode 100644 index 0000000000..517f91fa65 Binary files /dev/null and b/src/images/update_icon.png differ diff --git a/src/qt_gui/check_update.cpp b/src/qt_gui/check_update.cpp new file mode 100644 index 0000000000..571ae6f929 --- /dev/null +++ b/src/qt_gui/check_update.cpp @@ -0,0 +1,499 @@ +// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project +// SPDX-License-Identifier: GPL-2.0-or-later + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "check_update.h" + +using namespace Common::FS; +namespace fs = std::filesystem; + +CheckUpdate::CheckUpdate(const bool showMessage, QWidget* parent) + : QDialog(parent), networkManager(new QNetworkAccessManager(this)) { + setWindowTitle(tr("Auto Updater")); + setFixedSize(0, 0); + CheckForUpdates(showMessage); +} + +CheckUpdate::~CheckUpdate() {} + +void CheckUpdate::CheckForUpdates(const bool showMessage) { + QString updateChannel = QString::fromStdString(Config::getUpdateChannel()); + QUrl url; + + if (updateChannel == "unstable") { + url = QUrl("https://api.github.com/repos/shadps4-emu/shadPS4/releases"); + } else if (updateChannel == "stable") { + url = QUrl("https://api.github.com/repos/shadps4-emu/shadPS4/releases/latest"); + } else { + QMessageBox::warning( + this, tr("Error"), + QString(tr("Invalid update channel: ") + updateChannel + "\n" + + tr("In updateChannel in config.tml file must contain 'stable' or 'unstable'") + .arg(updateChannel))); + return; + } + + QNetworkRequest request(url); + QNetworkReply* reply = networkManager->get(request); + + connect(reply, &QNetworkReply::finished, this, [this, reply, showMessage, updateChannel]() { + if (reply->error() != QNetworkReply::NoError) { + QMessageBox::warning(this, tr("Error"), + QString(tr("Network error:") + "\n" + reply->errorString())); + reply->deleteLater(); + return; + } + + QByteArray response = reply->readAll(); + QJsonDocument jsonDoc(QJsonDocument::fromJson(response)); + + if (jsonDoc.isNull()) { + QMessageBox::warning(this, tr("Error"), tr("Failed to parse update information.")); + reply->deleteLater(); + return; + } + + QString downloadUrl; + QString latestVersion; + QString latestRev; + QString latestDate; + QString platformString; + +#ifdef Q_OS_WIN + platformString = "win64-qt"; +#elif defined(Q_OS_LINUX) + platformString = "linux-qt"; +#elif defined(Q_OS_MAC) + platformString = "macos-qt"; +#endif + + QJsonObject jsonObj; + if (updateChannel == "unstable") { + QJsonArray jsonArray = jsonDoc.array(); + for (const QJsonValue& value : jsonArray) { + jsonObj = value.toObject(); + if (jsonObj.contains("prerelease") && jsonObj["prerelease"].toBool()) { + break; + } + } + if (!jsonObj.isEmpty()) { + latestVersion = jsonObj["tag_name"].toString(); + } else { + QMessageBox::warning(this, tr("Error"), tr("No pre-releases found.")); + reply->deleteLater(); + return; + } + } else { + jsonObj = jsonDoc.object(); + if (jsonObj.contains("tag_name")) { + latestVersion = jsonObj["tag_name"].toString(); + } else { + QMessageBox::warning(this, tr("Error"), tr("Invalid release data.")); + reply->deleteLater(); + return; + } + } + + latestRev = latestVersion.right(7); + latestDate = jsonObj["published_at"].toString(); + + QJsonArray assets = jsonObj["assets"].toArray(); + bool found = false; + + for (const QJsonValue& assetValue : assets) { + QJsonObject assetObj = assetValue.toObject(); + if (assetObj["name"].toString().contains(platformString)) { + downloadUrl = assetObj["browser_download_url"].toString(); + found = true; + break; + } + } + + if (!found) { + QMessageBox::warning(this, tr("Error"), + tr("No download URL found for the specified asset.")); + reply->deleteLater(); + return; + } + + QString currentRev = QString::fromStdString(Common::g_scm_rev).left(7); + QString currentDate = Common::g_scm_date; + + QDateTime dateTime = QDateTime::fromString(latestDate, Qt::ISODate); + latestDate = dateTime.isValid() ? dateTime.toString("yyyy-MM-dd HH:mm:ss") : "Unknown date"; + + if (latestRev == currentRev) { + if (showMessage) { + QMessageBox::information(this, tr("Auto Updater"), + tr("Your version is already up to date!")); + } + close(); + return; + } else { + setupUI(downloadUrl, latestDate, latestRev, currentDate, currentRev); + } + reply->deleteLater(); + }); +} + +void CheckUpdate::setupUI(const QString& downloadUrl, const QString& latestDate, + const QString& latestRev, const QString& currentDate, + const QString& currentRev) { + QVBoxLayout* layout = new QVBoxLayout(this); + QHBoxLayout* titleLayout = new QHBoxLayout(); + + QLabel* imageLabel = new QLabel(this); + QPixmap pixmap(":/images/shadps4.ico"); + imageLabel->setPixmap(pixmap); + imageLabel->setScaledContents(true); + imageLabel->setFixedSize(50, 50); + + QLabel* titleLabel = new QLabel("

" + tr("Update Available") + "

", this); + titleLayout->addWidget(imageLabel); + titleLayout->addWidget(titleLabel); + layout->addLayout(titleLayout); + + QString updateText = QString("


" + tr("Current Version") + ":
%1 (%2)
" + + tr("Latest Version") + ": %3 (%4)

" + + tr("Do you want to update?") + "

") + .arg(currentRev, currentDate, latestRev, latestDate); + QLabel* updateLabel = new QLabel(updateText, this); + layout->addWidget(updateLabel); + + // Setup bottom layout with action buttons + QHBoxLayout* bottomLayout = new QHBoxLayout(); + autoUpdateCheckBox = new QCheckBox(tr("Check for Updates at Startup"), this); + yesButton = new QPushButton(tr("Update"), this); + noButton = new QPushButton(tr("No"), this); + yesButton->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Preferred); + noButton->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Preferred); + bottomLayout->addWidget(autoUpdateCheckBox); + + QSpacerItem* spacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); + bottomLayout->addItem(spacer); + + bottomLayout->addWidget(yesButton); + bottomLayout->addWidget(noButton); + layout->addLayout(bottomLayout); + + QString updateChannel = QString::fromStdString(Config::getUpdateChannel()); + + // Don't show changelog button if: + // The current version is a pre-release and the version to be downloaded is a release. + bool current_isRelease = currentRev.startsWith('v', Qt::CaseInsensitive); + bool latest_isRelease = latestRev.startsWith('v', Qt::CaseInsensitive); + if (!current_isRelease && latest_isRelease) { + } else { + QTextEdit* textField = new QTextEdit(this); + textField->setReadOnly(true); + textField->setFixedWidth(500); + textField->setFixedHeight(200); + textField->setVisible(false); + layout->addWidget(textField); + + QPushButton* toggleButton = new QPushButton(tr("Show Changelog"), this); + layout->addWidget(toggleButton); + + connect(toggleButton, &QPushButton::clicked, + [this, textField, toggleButton, currentRev, latestRev, downloadUrl, latestDate, + currentDate]() { + QString updateChannel = QString::fromStdString(Config::getUpdateChannel()); + if (!textField->isVisible()) { + requestChangelog(currentRev, latestRev, downloadUrl, latestDate, + currentDate); + textField->setVisible(true); + toggleButton->setText(tr("Hide Changelog")); + adjustSize(); + } else { + textField->setVisible(false); + toggleButton->setText(tr("Show Changelog")); + adjustSize(); + } + }); + } + + connect(yesButton, &QPushButton::clicked, this, [this, downloadUrl]() { + yesButton->setEnabled(false); + noButton->setEnabled(false); + DownloadUpdate(downloadUrl); + }); + + connect(noButton, &QPushButton::clicked, this, [this]() { close(); }); + + autoUpdateCheckBox->setChecked(Config::autoUpdate()); + connect(autoUpdateCheckBox, &QCheckBox::stateChanged, this, [](int state) { + const auto user_dir = Common::FS::GetUserPath(Common::FS::PathType::UserDir); + Config::setAutoUpdate(state == Qt::Checked); + Config::save(user_dir / "config.toml"); + }); + + setLayout(layout); +} + +void CheckUpdate::requestChangelog(const QString& currentRev, const QString& latestRev, + const QString& downloadUrl, const QString& latestDate, + const QString& currentDate) { + QString compareUrlString = + QString("https://api.github.com/repos/shadps4-emu/shadPS4/compare/%1...%2") + .arg(currentRev) + .arg(latestRev); + + QUrl compareUrl(compareUrlString); + QNetworkRequest compareRequest(compareUrl); + QNetworkReply* compareReply = networkManager->get(compareRequest); + + connect(compareReply, &QNetworkReply::finished, this, + [this, compareReply, downloadUrl, latestDate, latestRev, currentDate, currentRev]() { + if (compareReply->error() != QNetworkReply::NoError) { + QMessageBox::warning( + this, tr("Error"), + QString(tr("Network error:") + "\n%1").arg(compareReply->errorString())); + compareReply->deleteLater(); + return; + } + + QByteArray compareResponse = compareReply->readAll(); + QJsonDocument compareJsonDoc(QJsonDocument::fromJson(compareResponse)); + QJsonObject compareJsonObj = compareJsonDoc.object(); + QJsonArray commits = compareJsonObj["commits"].toArray(); + + QString changes; + for (const QJsonValue& commitValue : commits) { + QJsonObject commitObj = commitValue.toObject(); + QString message = commitObj["commit"].toObject()["message"].toString(); + + // Remove texts after first line break, if any, to make it cleaner + int newlineIndex = message.indexOf('\n'); + if (newlineIndex != -1) { + message = message.left(newlineIndex); + } + if (!changes.isEmpty()) { + changes += "
"; + } + changes += "    • " + message; + } + + // Update the text field with the changelog + QTextEdit* textField = findChild(); + if (textField) { + textField->setHtml("

" + tr("Changes") + ":

" + changes); + } + + compareReply->deleteLater(); + }); +} + +void CheckUpdate::DownloadUpdate(const QString& url) { + QNetworkRequest request(url); + QNetworkReply* reply = networkManager->get(request); + + connect(reply, &QNetworkReply::finished, this, [this, reply, url]() { + if (reply->error() != QNetworkReply::NoError) { + QMessageBox::warning(this, tr("Error"), + tr("Network error occurred while trying to access the URL") + + ":\n" + url + "\n" + reply->errorString()); + reply->deleteLater(); + return; + } + + QString userPath = + QString::fromStdString(Common::FS::GetUserPath(Common::FS::PathType::UserDir).string()); + QString tempDownloadPath = userPath + "/temp_download_update"; + QDir dir(tempDownloadPath); + if (!dir.exists()) { + dir.mkpath("."); + } + + QString downloadPath = tempDownloadPath + "/temp_download_update.zip"; + QFile file(downloadPath); + if (file.open(QIODevice::WriteOnly)) { + file.write(reply->readAll()); + file.close(); + QMessageBox::information(this, tr("Download Complete"), + tr("The update has been downloaded, press OK to install.")); + Install(); + } else { + QMessageBox::warning( + this, tr("Error"), + QString(tr("Failed to save the update file at") + ":\n" + downloadPath)); + } + + reply->deleteLater(); + }); +} + +void CheckUpdate::Install() { + QString userPath = + QString::fromStdString(Common::FS::GetUserPath(Common::FS::PathType::UserDir).string()); + + QString startingUpdate = tr("Starting Update..."); + QString tempDirPath = userPath + "/temp_download_update"; + QString rootPath = QString::fromStdString(std::filesystem::current_path().string()); + + QString scriptContent; + QString scriptFileName; + QStringList arguments; + QString processCommand; + +#ifdef Q_OS_WIN + // Windows Batch Script + scriptFileName = tempDirPath + "/update.ps1"; + scriptContent = QStringLiteral( + "Set-ExecutionPolicy Bypass -Scope Process -Force\n" + "Write-Output '%1'\n" + "Expand-Archive -Path '%2\\temp_download_update.zip' -DestinationPath '%2' -Force\n" + "Start-Sleep -Seconds 3\n" + "Copy-Item -Recurse -Force '%2\\*' '%3\\'\n" + "Start-Sleep -Seconds 2\n" + "Remove-Item -Force '%3\\update.ps1'\n" + "Remove-Item -Force '%3\\temp_download_update.zip'\n" + "Start-Process '%3\\shadps4.exe'\n" + "Remove-Item -Recurse -Force '%2'\n"); + arguments << "-ExecutionPolicy" + << "Bypass" + << "-File" << scriptFileName; + processCommand = "powershell.exe"; + +#elif defined(Q_OS_LINUX) + // Linux Shell Script + scriptFileName = tempDirPath + "/update.sh"; + scriptContent = QStringLiteral( + "#!/bin/bash\n" + "check_unzip() {\n" + " if ! command -v unzip &> /dev/null && ! command -v 7z &> /dev/null; then\n" + " echo \"Neither 'unzip' nor '7z' is installed.\"\n" + " read -p \"Would you like to install 'unzip'? (y/n): \" response\n" + " if [[ \"$response\" == \"y\" || \"$response\" == \"Y\" ]]; then\n" + " if [[ -f /etc/os-release ]]; then\n" + " . /etc/os-release\n" + " case \"$ID\" in\n" + " ubuntu|debian)\n" + " sudo apt-get install unzip -y\n" + " ;;\n" + " fedora|redhat)\n" + " sudo dnf install unzip -y\n" + " ;;\n" + " *)\n" + " echo \"Unsupported distribution for automatic installation.\"\n" + " exit 1\n" + " ;;\n" + " esac\n" + " else\n" + " echo \"Could not identify the distribution.\"\n" + " exit 1\n" + " fi\n" + " else\n" + " echo \"At least one of 'unzip' or '7z' is required to continue. The process " + "will be terminated.\"\n" + " exit 1\n" + " fi\n" + " fi\n" + "}\n" + "extract_file() {\n" + " if command -v unzip &> /dev/null; then\n" + " unzip -o \"%2/temp_download_update.zip\" -d \"%2/\"\n" + " elif command -v 7z &> /dev/null; then\n" + " 7z x \"%2/temp_download_update.zip\" -o\"%2/\" -y\n" + " else\n" + " echo \"No suitable extraction tool found.\"\n" + " exit 1\n" + " fi\n" + "}\n" + "main() {\n" + " check_unzip\n" + " echo \"%1\"\n" + " sleep 2\n" + " extract_file\n" + " sleep 2\n" + " cp -r \"%2/\"* \"%3/\"\n" + " sleep 2\n" + " rm \"%3/update.sh\"\n" + " rm \"%3/temp_download_update.zip\"\n" + " chmod +x \"%3/Shadps4-qt.AppImage\"\n" + " rm -r \"%2\"\n" + " cd \"%3\" && ./Shadps4-qt.AppImage\n" + "}\n" + "main\n"); + arguments << scriptFileName; + processCommand = "bash"; + +#elif defined(Q_OS_MAC) + // macOS Shell Script + scriptFileName = tempDirPath + "/update.sh"; + scriptContent = QStringLiteral( + "#!/bin/bash\n" + "check_tools() {\n" + " if ! command -v unzip &> /dev/null && ! command -v tar &> /dev/null; then\n" + " echo \"Neither 'unzip' nor 'tar' is installed.\"\n" + " read -p \"Would you like to install 'unzip'? (y/n): \" response\n" + " if [[ \"$response\" == \"y\" || \"$response\" == \"Y\" ]]; then\n" + " echo \"Please install 'unzip' using Homebrew or another package manager.\"\n" + " exit 1\n" + " else\n" + " echo \"At least one of 'unzip' or 'tar' is required to continue. The process " + "will be terminated.\"\n" + " exit 1\n" + " fi\n" + " fi\n" + "}\n" + "check_tools\n" + "echo \"%1\"\n" + "sleep 2\n" + "unzip -o \"%2/temp_download_update.zip\" -d \"%2/\"\n" + "sleep 2\n" + "tar -xzf \"%2/shadps4-macos-qt.tar.gz\" -C \"%3\"\n" + "sleep 2\n" + "rm \"%3/update.sh\"\n" + "chmod +x \"%3/shadps4.app/Contents/MacOS/shadps4\"\n" + "open \"%3/shadps4.app\"\n" + "rm -r \"%2\"\n"); + + arguments << scriptFileName; + processCommand = "bash"; + +#else + QMessageBox::warning(this, tr("Error"), "Unsupported operating system."); + return; +#endif + + QFile scriptFile(scriptFileName); + if (scriptFile.open(QIODevice::WriteOnly | QIODevice::Text)) { + QTextStream out(&scriptFile); + out << scriptContent.arg(startingUpdate).arg(tempDirPath).arg(rootPath); + scriptFile.close(); + +// Make the script executable on Unix-like systems +#if defined(Q_OS_LINUX) || defined(Q_OS_MAC) + scriptFile.setPermissions(QFileDevice::ExeOwner | QFileDevice::ReadOwner | + QFileDevice::WriteOwner); +#endif + + QProcess::startDetached(processCommand, arguments); + + exit(EXIT_SUCCESS); + } else { + QMessageBox::warning( + this, tr("Error"), + QString(tr("Failed to create the update script file") + ":\n" + scriptFileName)); + } +} \ No newline at end of file diff --git a/src/qt_gui/check_update.h b/src/qt_gui/check_update.h new file mode 100644 index 0000000000..dfeb95e737 --- /dev/null +++ b/src/qt_gui/check_update.h @@ -0,0 +1,40 @@ +// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project +// SPDX-License-Identifier: GPL-2.0-or-later + +#ifndef CHECKUPDATE_H +#define CHECKUPDATE_H + +#include +#include +#include +#include + +class CheckUpdate : public QDialog { + Q_OBJECT + +public: + explicit CheckUpdate(const bool showMessage, QWidget* parent = nullptr); + ~CheckUpdate(); + +private slots: + void CheckForUpdates(const bool showMessage); + void DownloadUpdate(const QString& url); + void Install(); + +private: + void setupUI(const QString& downloadUrl, const QString& latestDate, const QString& latestRev, + const QString& currentDate, const QString& currentRev); + + void requestChangelog(const QString& currentRev, const QString& latestRev, + const QString& downloadUrl, const QString& latestDate, + const QString& currentDate); + + QCheckBox* autoUpdateCheckBox; + QPushButton* yesButton; + QPushButton* noButton; + QString updateDownloadUrl; + + QNetworkAccessManager* networkManager; +}; + +#endif // CHECKUPDATE_H diff --git a/src/qt_gui/main_window.cpp b/src/qt_gui/main_window.cpp index c603606650..535e470f85 100644 --- a/src/qt_gui/main_window.cpp +++ b/src/qt_gui/main_window.cpp @@ -6,6 +6,7 @@ #include "about_dialog.h" #include "cheats_patches.h" +#include "check_update.h" #include "common/io_file.h" #include "common/string_util.h" #include "common/version.h" @@ -46,6 +47,7 @@ bool MainWindow::Init() { this->show(); // load game list LoadGameLists(); + CheckUpdateMain(true); auto end = std::chrono::steady_clock::now(); auto duration = std::chrono::duration_cast(end - start); @@ -160,6 +162,16 @@ void MainWindow::LoadGameLists() { } } +void MainWindow::CheckUpdateMain(bool checkSave) { + if (checkSave) { + if (!Config::autoUpdate()) { + return; + } + } + auto checkUpdate = new CheckUpdate(false); + checkUpdate->exec(); +} + void MainWindow::GetPhysicalDevices() { Vulkan::Instance instance(false, false); auto physical_devices = instance.GetPhysicalDevices(); @@ -221,6 +233,11 @@ void MainWindow::CreateConnects() { settingsDialog->exec(); }); + connect(ui->updaterAct, &QAction::triggered, this, [this]() { + auto checkUpdate = new CheckUpdate(true); + checkUpdate->exec(); + }); + connect(ui->aboutAct, &QAction::triggered, this, [this]() { auto aboutDialog = new AboutDialog(this); aboutDialog->exec(); @@ -876,6 +893,10 @@ void MainWindow::SetUiIcons(bool isWhite) { ui->bootInstallPkgAct->setIcon(RecolorIcon(ui->bootInstallPkgAct->icon(), isWhite)); ui->bootGameAct->setIcon(RecolorIcon(ui->bootGameAct->icon(), isWhite)); ui->exitAct->setIcon(RecolorIcon(ui->exitAct->icon(), isWhite)); + ui->updaterAct->setIcon(RecolorIcon(ui->updaterAct->icon(), isWhite)); + ui->downloadCheatsPatchesAct->setIcon( + RecolorIcon(ui->downloadCheatsPatchesAct->icon(), isWhite)); + ui->dumpGameListAct->setIcon(RecolorIcon(ui->dumpGameListAct->icon(), isWhite)); ui->aboutAct->setIcon(RecolorIcon(ui->aboutAct->icon(), isWhite)); ui->setlistModeListAct->setIcon(RecolorIcon(ui->setlistModeListAct->icon(), isWhite)); ui->setlistModeGridAct->setIcon(RecolorIcon(ui->setlistModeGridAct->icon(), isWhite)); @@ -984,4 +1005,4 @@ void MainWindow::OnLanguageChanged(const std::string& locale) { Config::setEmulatorLanguage(locale); LoadTranslation(); -} +} \ No newline at end of file diff --git a/src/qt_gui/main_window.h b/src/qt_gui/main_window.h index d3b83e619f..6da94de12b 100644 --- a/src/qt_gui/main_window.h +++ b/src/qt_gui/main_window.h @@ -54,6 +54,7 @@ private Q_SLOTS: void CreateDockWindows(); void GetPhysicalDevices(); void LoadGameLists(); + void CheckUpdateMain(bool checkSave); void CreateConnects(); void SetLastUsedTheme(); void SetLastIconSizeBullet(); diff --git a/src/qt_gui/main_window_ui.h b/src/qt_gui/main_window_ui.h index 6ddc4155e9..45b2ab4e01 100644 --- a/src/qt_gui/main_window_ui.h +++ b/src/qt_gui/main_window_ui.h @@ -26,6 +26,7 @@ class Ui_MainWindow { QAction* downloadCheatsPatchesAct; QAction* dumpGameListAct; QAction* pkgViewerAct; + QAction* updaterAct; QAction* aboutAct; QAction* configureAct; QAction* setThemeDark; @@ -54,7 +55,7 @@ class Ui_MainWindow { QMenu* menuSettings; QMenu* menuUtils; QMenu* menuThemes; - QMenu* menuAbout; + QMenu* menuHelp; QToolBar* toolBar; void setupUi(QMainWindow* MainWindow) { @@ -122,11 +123,16 @@ class Ui_MainWindow { gameInstallPathAct->setIcon(QIcon(":images/folder_icon.png")); downloadCheatsPatchesAct = new QAction(MainWindow); downloadCheatsPatchesAct->setObjectName("downloadCheatsPatchesAct"); + downloadCheatsPatchesAct->setIcon(QIcon(":images/update_icon.png")); dumpGameListAct = new QAction(MainWindow); dumpGameListAct->setObjectName("dumpGameList"); + dumpGameListAct->setIcon(QIcon(":images/dump_icon.png")); pkgViewerAct = new QAction(MainWindow); pkgViewerAct->setObjectName("pkgViewer"); pkgViewerAct->setIcon(QIcon(":images/file_icon.png")); + updaterAct = new QAction(MainWindow); + updaterAct->setObjectName("updaterAct"); + updaterAct->setIcon(QIcon(":images/update_icon.png")); aboutAct = new QAction(MainWindow); aboutAct->setObjectName("aboutAct"); aboutAct->setIcon(QIcon(":images/about_icon.png")); @@ -243,8 +249,8 @@ class Ui_MainWindow { menuThemes = new QMenu(menuView); menuThemes->setObjectName("menuThemes"); menuThemes->setIcon(QIcon(":images/themes_icon.png")); - menuAbout = new QMenu(menuBar); - menuAbout->setObjectName("menuAbout"); + menuHelp = new QMenu(menuBar); + menuHelp->setObjectName("menuHelp"); MainWindow->setMenuBar(menuBar); toolBar = new QToolBar(MainWindow); toolBar->setObjectName("toolBar"); @@ -253,7 +259,7 @@ class Ui_MainWindow { menuBar->addAction(menuFile->menuAction()); menuBar->addAction(menuView->menuAction()); menuBar->addAction(menuSettings->menuAction()); - menuBar->addAction(menuAbout->menuAction()); + menuBar->addAction(menuHelp->menuAction()); menuFile->addAction(bootInstallPkgAct); menuFile->addAction(bootGameAct); menuFile->addAction(addElfFolderAct); @@ -285,7 +291,8 @@ class Ui_MainWindow { menuUtils->addAction(downloadCheatsPatchesAct); menuUtils->addAction(dumpGameListAct); menuUtils->addAction(pkgViewerAct); - menuAbout->addAction(aboutAct); + menuHelp->addAction(updaterAct); + menuHelp->addAction(aboutAct); retranslateUi(MainWindow); @@ -299,6 +306,8 @@ class Ui_MainWindow { bootInstallPkgAct->setText( QCoreApplication::translate("MainWindow", "Install Packages (PKG)", nullptr)); bootGameAct->setText(QCoreApplication::translate("MainWindow", "Boot Game", nullptr)); + updaterAct->setText( + QCoreApplication::translate("MainWindow", "Check for Updates", nullptr)); aboutAct->setText(QCoreApplication::translate("MainWindow", "About shadPS4", nullptr)); configureAct->setText(QCoreApplication::translate("MainWindow", "Configure...", nullptr)); #if QT_CONFIG(tooltip) @@ -345,7 +354,7 @@ class Ui_MainWindow { menuSettings->setTitle(QCoreApplication::translate("MainWindow", "Settings", nullptr)); menuUtils->setTitle(QCoreApplication::translate("MainWindow", "Utils", nullptr)); menuThemes->setTitle(QCoreApplication::translate("MainWindow", "Themes", nullptr)); - menuAbout->setTitle(QCoreApplication::translate("MainWindow", "About", nullptr)); + menuHelp->setTitle(QCoreApplication::translate("MainWindow", "Help", nullptr)); setThemeDark->setText(QCoreApplication::translate("MainWindow", "Dark", nullptr)); setThemeLight->setText(QCoreApplication::translate("MainWindow", "Light", nullptr)); setThemeGreen->setText(QCoreApplication::translate("MainWindow", "Green", nullptr)); diff --git a/src/qt_gui/settings_dialog.cpp b/src/qt_gui/settings_dialog.cpp index 720c68b78e..1986be5b7d 100644 --- a/src/qt_gui/settings_dialog.cpp +++ b/src/qt_gui/settings_dialog.cpp @@ -4,6 +4,7 @@ #include #include +#include "check_update.h" #include "common/logging/backend.h" #include "common/logging/filter.h" #include "main_window.h" @@ -122,6 +123,17 @@ SettingsDialog::SettingsDialog(std::span physical_devices, QWidge connect(ui->logFilterLineEdit, &QLineEdit::textChanged, this, [](const QString& text) { Config::setLogFilter(text.toStdString()); }); + + connect(ui->updateCheckBox, &QCheckBox::stateChanged, this, + [](int state) { Config::setAutoUpdate(state == Qt::Checked); }); + + connect(ui->updateComboBox, &QComboBox::currentTextChanged, this, + [](const QString& channel) { Config::setUpdateChannel(channel.toStdString()); }); + + connect(ui->checkUpdateButton, &QPushButton::clicked, this, []() { + auto checkUpdate = new CheckUpdate(true); + checkUpdate->exec(); + }); } // GPU TAB @@ -192,6 +204,9 @@ void SettingsDialog::LoadValuesFromConfig() { ui->vkValidationCheckBox->setChecked(Config::vkValidationEnabled()); ui->vkSyncValidationCheckBox->setChecked(Config::vkValidationSyncEnabled()); ui->rdocCheckBox->setChecked(Config::isRdocEnabled()); + + ui->updateCheckBox->setChecked(Config::autoUpdate()); + ui->updateComboBox->setCurrentText(QString::fromStdString(Config::getUpdateChannel())); } void SettingsDialog::InitializeEmulatorLanguages() { diff --git a/src/qt_gui/settings_dialog.ui b/src/qt_gui/settings_dialog.ui index 1ecd124956..5184aa0a7d 100644 --- a/src/qt_gui/settings_dialog.ui +++ b/src/qt_gui/settings_dialog.ui @@ -255,17 +255,108 @@ - - - Qt::Orientation::Vertical - - - - 20 - 40 - - - + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 0 + 0 + + + + + 265 + 0 + + + + Update + + + + + 12 + 115 + 251 + 22 + + + + Check for Updates at Startup + + + + + + 12 + 35 + 241 + 28 + + + + stable + + + + stable + + + + + unstable + + + + + + + 12 + 70 + 241 + 24 + + + + Check for Updates + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 500 + 20 + + + + + diff --git a/src/qt_gui/translations/ar.ts b/src/qt_gui/translations/ar.ts index 12b1e7ba6a..ceb1f49b99 100644 --- a/src/qt_gui/translations/ar.ts +++ b/src/qt_gui/translations/ar.ts @@ -1,6 +1,4 @@ - - - + @@ -170,6 +168,11 @@ Boot Game تشغيل اللعبة + + + Check for Updates + تحقق من التحديثات + About shadPS4 @@ -310,10 +313,10 @@ Themes السمات - + - About - حول + Help + مساعدة @@ -499,14 +502,29 @@ Enable RenderDoc Debugging RenderDoc تمكين تصحيح أخطاء + + + Update + تحديث + + + + Check for Updates at Startup + تحقق من التحديثات عند بدء التشغيل + + + + Check for Updates + التحقق من التحديثات + MainWindow - - - Game List - ققائمة الألعاب - + + + Game List + ققائمة الألعاب + * Unsupported Vulkan Version @@ -663,17 +681,7 @@ defaultTextEdit_MSG - الغش والتصحيحات هي ميزات تجريبية. - استخدمها بحذر. - - قم بتنزيل الغش بشكل فردي عن طريق اختيار المستودع والنقر على زر التنزيل. - في علامة تبويب التصحيحات، يمكنك تنزيل جميع التصحيحات دفعة واحدة، واختيار ما تريد استخدامه، وحفظ اختياراتك. - - نظرًا لأننا لا نقوم بتطوير الغش/التصحيحات، - يرجى الإبلاغ عن أي مشاكل إلى مؤلف الغش. - - هل قمت بإنشاء غش جديد؟ قم بزيارة: - https://github.com/shadps4-emu/ps4_cheats + الغش والتصحيحات هي ميزات تجريبية.\nاستخدمها بحذر.\n\nقم بتنزيل الغش بشكل فردي عن طريق اختيار المستودع والنقر على زر التنزيل.\nفي علامة تبويب التصحيحات، يمكنك تنزيل جميع التصحيحات دفعة واحدة، واختيار ما تريد استخدامه، وحفظ اختياراتك.\n\nنظرًا لأننا لا نقوم بتطوير الغش/التصحيحات،\nيرجى الإبلاغ عن أي مشاكل إلى مؤلف الغش.\n\nهل قمت بإنشاء غش جديد؟ قم بزيارة:\nhttps://github.com/shadps4-emu/ps4_cheats @@ -728,8 +736,7 @@ Do you want to delete the selected file?\n%1 - هل تريد حذف الملف المحدد؟ - %1 + هل تريد حذف الملف المحدد؟\n%1 @@ -988,4 +995,177 @@ مسار - + + CheckUpdate + + + Auto Updater + محدث تلقائي + + + + Error + خطأ + + + + Invalid update channel: + قناة تحديث غير صالحة: + + + + In updateChannel in config.tml file must contain 'stable' or 'unstable' + يجب أن يحتوي updateChannel في ملف config.tml على 'stable' أو 'unstable' + + + + Network error: + خطأ في الشبكة: + + + + Failed to parse update information. + فشل في تحليل معلومات التحديث. + + + + No pre-releases found. + لم يتم العثور على أي إصدارات مسبقة. + + + + Invalid release data. + بيانات الإصدار غير صالحة. + + + + No download URL found for the specified asset. + لم يتم العثور على عنوان URL للتنزيل للأصل المحدد. + + + + Your version is already up to date! + نسختك محدثة بالفعل! + + + + Update Available + تحديث متاح + + + + Current Version + الإصدار الحالي + + + + Latest Version + آخر إصدار + + + + Do you want to update? + هل تريد التحديث؟ + + + + Show Changelog + عرض سجل التغييرات + + + + Check for Updates at Startup + تحقق من التحديثات عند بدء التشغيل + + + + Update + تحديث + + + + No + لا + + + + Hide Changelog + إخفاء سجل التغييرات + + + + Changes + تغييرات + + + + Network error occurred while trying to access the URL + حدث خطأ في الشبكة أثناء محاولة الوصول إلى عنوان URL + + + + Download Complete + اكتمل التنزيل + + + + The update has been downloaded, press OK to install. + تم تنزيل التحديث، اضغط على OK للتثبيت. + + + + Failed to save the update file at + فشل في حفظ ملف التحديث في + + + + Failed to open the ZIP file + فشل في فتح ملف ZIP + + + + File name is empty. Possibly corrupted ZIP. + اسم الملف فارغ. قد يكون ZIP تالفًا. + + + + Failed to create directory + فشل في إنشاء الدليل + + + + Error decompressing file + خطأ أثناء فك ضغط الملف + + + + Failed to open output file + فشل في فتح ملف الإخراج + + + + Unsupported compression method for file: + طريقة الضغط غير مدعومة للملف: + + + + Failed to create TAR extraction directory + فشل في إنشاء دليل استخراج TAR + + + + Failed to extract the TAR file + فشل في استخراج ملف TAR + + + + Starting Update... + بدء التحديث... + + + + Failed to create the update script file + فشل في إنشاء ملف سكريبت التحديث + + + \ No newline at end of file diff --git a/src/qt_gui/translations/da_DK.ts b/src/qt_gui/translations/da_DK.ts index bb405ec0ae..264af88d34 100644 --- a/src/qt_gui/translations/da_DK.ts +++ b/src/qt_gui/translations/da_DK.ts @@ -168,6 +168,11 @@ Boot Game Boot Game + + + Check for Updates + Tjek for opdateringer + About shadPS4 @@ -308,11 +313,11 @@ Themes Themes - - - About - About - + + + Help + Hjælp + Dark @@ -497,6 +502,21 @@ Enable RenderDoc Debugging Enable RenderDoc Debugging + + + Update + Opdatering + + + + Check for Updates at Startup + Tjek for opdateringer ved start + + + + Check for Updates + Tjek for opdateringer + MainWindow @@ -975,4 +995,177 @@ Sti + + CheckUpdate + + + Auto Updater + Automatisk opdatering + + + + Error + Fejl + + + + Invalid update channel: + Ugyldig opdateringskanal: + + + + In updateChannel in config.tml file must contain 'stable' or 'unstable' + I updateChannel i config.tml filen skal der være 'stable' eller 'unstable' + + + + Network error: + Netsværksfejl: + + + + Failed to parse update information. + Kunne ikke analysere opdateringsoplysninger. + + + + No pre-releases found. + Ingen forhåndsudgivelser fundet. + + + + Invalid release data. + Ugyldige udgivelsesdata. + + + + No download URL found for the specified asset. + Ingen download-URL fundet for den specificerede aktiver. + + + + Your version is already up to date! + Din version er allerede opdateret! + + + + Update Available + Opdatering tilgængelig + + + + Current Version + Nuværende version + + + + Latest Version + Nyeste version + + + + Do you want to update? + Vil du opdatere? + + + + Show Changelog + Vis ændringslog + + + + Check for Updates at Startup + Tjek for opdateringer ved start + + + + Update + Opdater + + + + No + Nej + + + + Hide Changelog + Skjul ændringslog + + + + Changes + Ændringer + + + + Network error occurred while trying to access the URL + Netsværksfejl opstod, mens der blev forsøgt at få adgang til URL'en + + + + Download Complete + Download fuldført + + + + The update has been downloaded, press OK to install. + Opdateringen er blevet downloadet, tryk på OK for at installere. + + + + Failed to save the update file at + Kunne ikke gemme opdateringsfilen på + + + + Failed to open the ZIP file + Kunne ikke åbne ZIP-filen + + + + File name is empty. Possibly corrupted ZIP. + Filnavnet er tomt. Måske er ZIP'en beskadiget. + + + + Failed to create directory + Kunne ikke oprette biblioteket + + + + Error decompressing file + Fejl under dekomprimering af filen + + + + Failed to open output file + Kunne ikke åbne outputfilen + + + + Unsupported compression method for file: + Ikke understøttet komprimeringsmetode for filen: + + + + Failed to create TAR extraction directory + Kunne ikke oprette TAR-udtrækningsbibliotek + + + + Failed to extract the TAR file + Kunne ikke udtrække TAR-filen + + + + Starting Update... + Starter opdatering... + + + + Failed to create the update script file + Kunne ikke oprette opdateringsscriptfilen + + \ No newline at end of file diff --git a/src/qt_gui/translations/de.ts b/src/qt_gui/translations/de.ts index 1482686cec..2f7598821f 100644 --- a/src/qt_gui/translations/de.ts +++ b/src/qt_gui/translations/de.ts @@ -168,6 +168,11 @@ Boot Game Spiel starten + + + Check for Updates + Nach Updates suchen + About shadPS4 @@ -308,11 +313,11 @@ Themes Stile - - - About - Über - + + + Help + Hilfe + Dark @@ -497,6 +502,21 @@ Enable RenderDoc Debugging RenderDoc-Debugging aktivieren + + + Update + Aktualisieren + + + + Check for Updates at Startup + Beim Start nach Updates suchen + + + + Check for Updates + Nach Updates suchen + MainWindow @@ -975,4 +995,177 @@ Pfad + + CheckUpdate + + + Auto Updater + Automatischer Aktualisierer + + + + Error + Fehler + + + + Invalid update channel: + Ungültiger Aktualisierungskanal: + + + + In updateChannel in config.tml file must contain 'stable' or 'unstable' + Im updateChannel in der config.tml-Datei muss 'stable' oder 'unstable' enthalten sein + + + + Network error: + Netzwerkfehler: + + + + Failed to parse update information. + Fehler beim Parsen der Aktualisierungsinformationen. + + + + No pre-releases found. + Keine Vorabveröffentlichungen gefunden. + + + + Invalid release data. + Ungültige Versionsdaten. + + + + No download URL found for the specified asset. + Keine Download-URL für das angegebene Asset gefunden. + + + + Your version is already up to date! + Ihre Version ist bereits aktuell! + + + + Update Available + Aktualisierung verfügbar + + + + Current Version + Aktuelle Version + + + + Latest Version + Neueste Version + + + + Do you want to update? + Möchten Sie aktualisieren? + + + + Show Changelog + Änderungsprotokoll anzeigen + + + + Check for Updates at Startup + Beim Start nach Updates suchen + + + + Update + Aktualisieren + + + + No + Nein + + + + Hide Changelog + Änderungsprotokoll ausblenden + + + + Changes + Änderungen + + + + Network error occurred while trying to access the URL + Beim Zugriff auf die URL ist ein Netzwerkfehler aufgetreten + + + + Download Complete + Download abgeschlossen + + + + The update has been downloaded, press OK to install. + Die Aktualisierung wurde heruntergeladen, drücken Sie OK, um zu installieren. + + + + Failed to save the update file at + Fehler beim Speichern der Aktualisierungsdatei in + + + + Failed to open the ZIP file + Fehler beim Öffnen der ZIP-Datei + + + + File name is empty. Possibly corrupted ZIP. + Dateiname ist leer. Möglicherweise beschädigte ZIP. + + + + Failed to create directory + Fehler beim Erstellen des Verzeichnisses + + + + Error decompressing file + Fehler beim Dekomprimieren der Datei + + + + Failed to open output file + Fehler beim Öffnen der Ausgabedatei + + + + Unsupported compression method for file: + Nicht unterstützte Komprimierungsmethode für die Datei: + + + + Failed to create TAR extraction directory + Fehler beim Erstellen des TAR-Extraktionsverzeichnisses + + + + Failed to extract the TAR file + Fehler beim Extrahieren der TAR-Datei + + + + Starting Update... + Aktualisierung wird gestartet... + + + + Failed to create the update script file + Fehler beim Erstellen der Aktualisierungs-Skriptdatei + + \ No newline at end of file diff --git a/src/qt_gui/translations/el.ts b/src/qt_gui/translations/el.ts index 4a3aa54ff6..762b1bd87f 100644 --- a/src/qt_gui/translations/el.ts +++ b/src/qt_gui/translations/el.ts @@ -168,6 +168,11 @@ Boot Game Boot Game + + + Check for Updates + Έλεγχος για ενημερώσεις + About shadPS4 @@ -308,11 +313,11 @@ Themes Themes - - - About - About - + + + Help + Βοήθεια + Dark @@ -497,6 +502,21 @@ Enable RenderDoc Debugging Enable RenderDoc Debugging + + + Update + Ενημέρωση + + + + Check for Updates at Startup + Έλεγχος για ενημερώσεις κατά την εκκίνηση + + + + Check for Updates + Έλεγχος για ενημερώσεις + MainWindow @@ -975,4 +995,177 @@ Διαδρομή + + CheckUpdate + + + Auto Updater + Αυτόματος Ενημερωτής + + + + Error + Σφάλμα + + + + Invalid update channel: + Μη έγκυρο κανάλι ενημέρωσης: + + + + In updateChannel in config.tml file must contain 'stable' or 'unstable' + Στο updateChannel του αρχείου config.tml πρέπει να περιέχει 'stable' ή 'unstable' + + + + Network error: + Σφάλμα δικτύου: + + + + Failed to parse update information. + Αποτυχία ανάλυσης πληροφοριών ενημέρωσης. + + + + No pre-releases found. + Δεν βρέθηκαν προ-κυκλοφορίες. + + + + Invalid release data. + Μη έγκυρα δεδομένα έκδοσης. + + + + No download URL found for the specified asset. + Δεν βρέθηκε URL λήψης για το συγκεκριμένο στοιχείο. + + + + Your version is already up to date! + Η έκδοσή σας είναι ήδη ενημερωμένη! + + + + Update Available + Διαθέσιμη Ενημέρωση + + + + Current Version + Τρέχουσα Έκδοση + + + + Latest Version + Τελευταία Έκδοση + + + + Do you want to update? + Θέλετε να ενημερώσετε; + + + + Show Changelog + Εμφάνιση Ιστορικού Αλλαγών + + + + Check for Updates at Startup + Έλεγχος για ενημερώσεις κατά την εκκίνηση + + + + Update + Ενημέρωση + + + + No + Όχι + + + + Hide Changelog + Απόκρυψη Ιστορικού Αλλαγών + + + + Changes + Αλλαγές + + + + Network error occurred while trying to access the URL + Σφάλμα δικτύου κατά την προσπάθεια πρόσβασης στη διεύθυνση URL + + + + Download Complete + Λήψη ολοκληρώθηκε + + + + The update has been downloaded, press OK to install. + Η ενημέρωση έχει ληφθεί, πατήστε OK για να εγκαταστήσετε. + + + + Failed to save the update file at + Αποτυχία αποθήκευσης του αρχείου ενημέρωσης στο + + + + Failed to open the ZIP file + Αποτυχία ανοίγματος του αρχείου ZIP + + + + File name is empty. Possibly corrupted ZIP. + Το όνομα αρχείου είναι κενό. Ενδεχομένως κατεστραμμένο ZIP. + + + + Failed to create directory + Αποτυχία δημιουργίας καταλόγου + + + + Error decompressing file + Σφάλμα κατά την αποσυμπίεση του αρχείου + + + + Failed to open output file + Αποτυχία ανοίγματος του αρχείου εξόδου + + + + Unsupported compression method for file: + Μη υποστηριζόμενη μέθοδος συμπίεσης για το αρχείο: + + + + Failed to create TAR extraction directory + Αποτυχία δημιουργίας καταλόγου εξαγωγής TAR + + + + Failed to extract the TAR file + Αποτυχία εξαγωγής του αρχείου TAR + + + + Starting Update... + Εκκίνηση Ενημέρωσης... + + + + Failed to create the update script file + Αποτυχία δημιουργίας του αρχείου σεναρίου ενημέρωσης + + \ No newline at end of file diff --git a/src/qt_gui/translations/en.ts b/src/qt_gui/translations/en.ts index 9696610bca..961621b1ab 100644 --- a/src/qt_gui/translations/en.ts +++ b/src/qt_gui/translations/en.ts @@ -168,6 +168,11 @@ Boot Game Boot Game + + + Check for Updates + Check for Updates + About shadPS4 @@ -310,8 +315,8 @@ - About - About + Help + Help @@ -497,6 +502,21 @@ Enable RenderDoc Debugging Enable RenderDoc Debugging + + + Update + Update + + + + Check for Updates at Startup + Check for Updates at Startup + + + + Check for Updates + Check for Updates + MainWindow @@ -975,4 +995,177 @@ Path + + CheckUpdate + + + Auto Updater + Auto Updater + + + + Error + Error + + + + Invalid update channel: + Invalid update channel: + + + + In updateChannel in config.tml file must contain 'stable' or 'unstable' + In updateChannel in config.tml file must contain 'stable' or 'unstable' + + + + Network error: + Network error: + + + + Failed to parse update information. + Failed to parse update information. + + + + No pre-releases found. + No pre-releases found. + + + + Invalid release data. + Invalid release data. + + + + No download URL found for the specified asset. + No download URL found for the specified asset. + + + + Your version is already up to date! + Your version is already up to date! + + + + Update Available + Update Available + + + + Current Version + Current Version + + + + Latest Version + Latest Version + + + + Do you want to update? + Do you want to update? + + + + Show Changelog + Show Changelog + + + + Check for Updates at Startup + Check for Updates at Startup + + + + Update + Update + + + + No + No + + + + Hide Changelog + Hide Changelog + + + + Changes + Changes + + + + Network error occurred while trying to access the URL + Network error occurred while trying to access the URL + + + + Download Complete + Download Complete + + + + The update has been downloaded, press OK to install. + The update has been downloaded, press OK to install. + + + + Failed to save the update file at + Failed to save the update file at + + + + Failed to open the ZIP file + Failed to open the ZIP file + + + + File name is empty. Possibly corrupted ZIP. + File name is empty. Possibly corrupted ZIP. + + + + Failed to create directory + Failed to create directory + + + + Error decompressing file + Error decompressing file + + + + Failed to open output file + Failed to open output file + + + + Unsupported compression method for file: + Unsupported compression method for file: + + + + Failed to create TAR extraction directory + Failed to create TAR extraction directory + + + + Failed to extract the TAR file + Failed to extract the TAR file + + + + Starting Update... + Starting Update... + + + + Failed to create the update script file + Failed to create the update script file + + \ No newline at end of file diff --git a/src/qt_gui/translations/es_ES.ts b/src/qt_gui/translations/es_ES.ts index 8690b2e883..9ac7cae18f 100644 --- a/src/qt_gui/translations/es_ES.ts +++ b/src/qt_gui/translations/es_ES.ts @@ -168,6 +168,11 @@ Boot Game Iniciar juego + + + Check for Updates + Buscar actualizaciones + About shadPS4 @@ -308,11 +313,11 @@ Themes Temas - - - About - Ayuda - + + + Help + Ayuda + Dark @@ -497,6 +502,21 @@ Enable RenderDoc Debugging Habilitar depuración de RenderDoc + + + Update + Actualización + + + + Check for Updates at Startup + Buscar actualizaciones al iniciar + + + + Check for Updates + Verificar actualizaciones + MainWindow @@ -975,4 +995,177 @@ Ruta + + CheckUpdate + + + Auto Updater + Actualizador Automático + + + + Error + Error + + + + Invalid update channel: + Canal de actualización no válido: + + + + In updateChannel in config.tml file must contain 'stable' or 'unstable' + En updateChannel en el archivo config.tml debe contener 'stable' o 'unstable' + + + + Network error: + Error de red: + + + + Failed to parse update information. + Error al analizar la información de actualización. + + + + No pre-releases found. + No se encontraron prelanzamientos. + + + + Invalid release data. + Datos de versión no válidos. + + + + No download URL found for the specified asset. + No se encontró URL de descarga para el activo especificado. + + + + Your version is already up to date! + ¡Su versión ya está actualizada! + + + + Update Available + Actualización disponible + + + + Current Version + Versión actual + + + + Latest Version + Última versión + + + + Do you want to update? + ¿Quieres actualizar? + + + + Show Changelog + Mostrar registro de cambios + + + + Check for Updates at Startup + Buscar actualizaciones al iniciar + + + + Update + Actualizar + + + + No + No + + + + Hide Changelog + Ocultar registro de cambios + + + + Changes + Cambios + + + + Network error occurred while trying to access the URL + Se produjo un error de red al intentar acceder a la URL + + + + Download Complete + Descarga completa + + + + The update has been downloaded, press OK to install. + La actualización se ha descargado, presione Aceptar para instalar. + + + + Failed to save the update file at + No se pudo guardar el archivo de actualización en + + + + Failed to open the ZIP file + No se pudo abrir el archivo ZIP + + + + File name is empty. Possibly corrupted ZIP. + El nombre del archivo está vacío. Posiblemente ZIP dañado. + + + + Failed to create directory + No se pudo crear el directorio + + + + Error decompressing file + Error al descomprimir el archivo + + + + Failed to open output file + No se pudo abrir el archivo de salida + + + + Unsupported compression method for file: + Método de compresión no soportado para el archivo: + + + + Failed to create TAR extraction directory + No se pudo crear el directorio de extracción TAR + + + + Failed to extract the TAR file + No se pudo extraer el archivo TAR + + + + Starting Update... + Iniciando actualización... + + + + Failed to create the update script file + No se pudo crear el archivo del script de actualización + + \ No newline at end of file diff --git a/src/qt_gui/translations/fa_IR.ts b/src/qt_gui/translations/fa_IR.ts index 0896530696..9a370c8cc0 100644 --- a/src/qt_gui/translations/fa_IR.ts +++ b/src/qt_gui/translations/fa_IR.ts @@ -168,6 +168,11 @@ Boot Game اجرای بازی + + + Check for Updates + به روز رسانی را بررسی کنید + About shadPS4 @@ -308,10 +313,10 @@ Themes تم ها - + - About - درباره ما + Help + کمک @@ -497,6 +502,21 @@ Enable RenderDoc Debugging RenderDoc Debugging + + + Update + بروزرسانی + + + + Check for Updates at Startup + بررسی بروزرسانی هنگام شروع + + + + Check for Updates + به روز رسانی را بررسی کنید + MainWindow @@ -975,4 +995,177 @@ مسیر + + CheckUpdate + + + Auto Updater + به روز رسانی خودکار + + + + Error + خطا + + + + Invalid update channel: + کانال به روز رسانی نامعتبر: + + + + In updateChannel in config.tml file must contain 'stable' or 'unstable' + در فایل config.tml، updateChannel باید فقط شامل 'stable' یا 'unstable' باشد + + + + Network error: + خطای شبکه: + + + + Failed to parse update information. + خطا در تجزیه اطلاعات بهروزرسانی. + + + + No pre-releases found. + هیچ پیش انتشاری یافت نشد. + + + + Invalid release data. + داده های نسخه نامعتبر است. + + + + No download URL found for the specified asset. + هیچ URL دانلودی برای دارایی مشخص شده پیدا نشد. + + + + Your version is already up to date! + نسخه شما اکنون به روز شده است! + + + + Update Available + به روز رسانی موجود است + + + + Current Version + نسخه فعلی + + + + Latest Version + جدیدترین نسخه + + + + Do you want to update? + آیا می خواهید به روز رسانی کنید؟ + + + + Show Changelog + نمایش تغییرات + + + + Check for Updates at Startup + بررسی بروزرسانی هنگام شروع + + + + Update + به روز رسانی + + + + No + خیر + + + + Hide Changelog + مخفی کردن تغییرات + + + + Changes + تغییرات + + + + Network error occurred while trying to access the URL + در حین تلاش برای دسترسی به URL خطای شبکه رخ داد + + + + Download Complete + دانلود کامل شد + + + + The update has been downloaded, press OK to install. + به روز رسانی دانلود شده است، برای نصب OK را فشار دهید. + + + + Failed to save the update file at + فایل به روز رسانی ذخیره نشد + + + + Failed to open the ZIP file + خطا در باز کردن فایل ZIP + + + + File name is empty. Possibly corrupted ZIP. + نام فایل خالی است. ممکن است ZIP خراب باشد. + + + + Failed to create directory + خطا در ایجاد دایرکتوری + + + + Error decompressing file + خطا در استخراج فایل + + + + Failed to open output file + خطا در باز کردن فایل خروجی + + + + Unsupported compression method for file: + روش فشرده سازی پشتیبانی نشده برای فایل: + + + + Failed to create TAR extraction directory + خطا در ایجاد دایرکتوری استخراج TAR + + + + Failed to extract the TAR file + خطا در استخراج فایل TAR + + + + Starting Update... + شروع به روز رسانی... + + + + Failed to create the update script file + فایل اسکریپت به روز رسانی ایجاد نشد + + \ No newline at end of file diff --git a/src/qt_gui/translations/fi.ts b/src/qt_gui/translations/fi.ts index 50e24fce69..3905bbfd41 100644 --- a/src/qt_gui/translations/fi.ts +++ b/src/qt_gui/translations/fi.ts @@ -168,6 +168,11 @@ Boot Game Boot Game + + + Check for Updates + Tarkista päivitykset + About shadPS4 @@ -308,11 +313,11 @@ Themes Themes - - - About - About - + + + Help + Apua + Dark @@ -497,6 +502,21 @@ Enable RenderDoc Debugging Enable RenderDoc Debugging + + + Update + Päivitys + + + + Check for Updates at Startup + Tarkista päivitykset alussa + + + + Check for Updates + Tarkista päivitykset + MainWindow @@ -975,4 +995,177 @@ Polku + + CheckUpdate + + + Auto Updater + Automaattinen päivitys + + + + Error + Virhe + + + + Invalid update channel: + Virheellinen päivityskanava: + + + + In updateChannel in config.tml file must contain 'stable' or 'unstable' + config.tml-tiedoston updateChannelin on sisällettävä 'stable' tai 'unstable' + + + + Network error: + Verkkovirhe: + + + + Failed to parse update information. + Päivitysinformaation jäsentäminen epäonnistui. + + + + No pre-releases found. + Ennakkojulkaisuja ei löytynyt. + + + + Invalid release data. + Virheelliset julkaisutiedot. + + + + No download URL found for the specified asset. + Ei lataus-URL:ia löytynyt määritetylle omaisuudelle. + + + + Your version is already up to date! + Versiosi on jo ajan tasalla! + + + + Update Available + Päivitys saatavilla + + + + Current Version + Nykyinen versio + + + + Latest Version + Uusin versio + + + + Do you want to update? + Haluatko päivittää? + + + + Show Changelog + Näytä muutospäiväkirja + + + + Check for Updates at Startup + Tarkista päivitykset alussa + + + + Update + Päivitä + + + + No + Ei + + + + Hide Changelog + Piilota muutospäiväkirja + + + + Changes + Muutos + + + + Network error occurred while trying to access the URL + Verkkovirhe tapahtui yrittäessäsi päästä URL-osoitteeseen + + + + Download Complete + Download valmis + + + + The update has been downloaded, press OK to install. + Päivitys on ladattu, paina OK asentaaksesi. + + + + Failed to save the update file at + Päivitystiedoston tallentaminen epäonnistui osoitteeseen + + + + Failed to open the ZIP file + ZIP-tiedoston avaaminen epäonnistui + + + + File name is empty. Possibly corrupted ZIP. + Tiedostonimi on tyhjö. Mahdollisesti rikkinäinen ZIP. + + + + Failed to create directory + Kansion luominen epäonnistui + + + + Error decompressing file + Virhe tiedoston purkamisessa + + + + Failed to open output file + Uloskirjoitustiedoston avaaminen epäonnistui + + + + Unsupported compression method for file: + Tiedostolle tuettamaton pakkausmenetelmä: + + + + Failed to create TAR extraction directory + TAR-purkuhakemiston luominen epäonnistui + + + + Failed to extract the TAR file + TAR-tiedoston purkaminen epäonnistui + + + + Starting Update... + Aloitetaan päivitys... + + + + Failed to create the update script file + Päivitysskripttitiedoston luominen epäonnistui + + \ No newline at end of file diff --git a/src/qt_gui/translations/fr.ts b/src/qt_gui/translations/fr.ts index 5ba5e7e2e1..a71087c654 100644 --- a/src/qt_gui/translations/fr.ts +++ b/src/qt_gui/translations/fr.ts @@ -168,6 +168,11 @@ Boot Game Démarrer un jeu + + + Check for Updates + Vérifier les mises à jour + About shadPS4 @@ -308,11 +313,11 @@ Themes Thèmes - - - About - À propos - + + + Help + Aide + Dark @@ -497,6 +502,21 @@ Enable RenderDoc Debugging Activer le débogage RenderDoc + + + Update + Mise à jour + + + + Check for Updates at Startup + Vérif. maj au démarrage + + + + Check for Updates + Vérifier les mises à jour + MainWindow @@ -975,4 +995,177 @@ Répertoire + + CheckUpdate + + + Auto Updater + Mise à jour automatique + + + + Error + Erreur + + + + Invalid update channel: + Canal de mise à jour invalide : + + + + In updateChannel in config.tml file must contain 'stable' or 'unstable' + Dans le fichier config.tml, updateChannel doit contenir 'stable' ou 'unstable' + + + + Network error: + Erreur réseau : + + + + Failed to parse update information. + Échec de l'analyse des informations de mise à jour. + + + + No pre-releases found. + Aucune pré-version trouvée. + + + + Invalid release data. + Données de version invalides. + + + + No download URL found for the specified asset. + Aucune URL de téléchargement trouvée pour l'élément spécifié. + + + + Your version is already up to date! + Votre version est déjà à jour ! + + + + Update Available + Mise à jour disponible + + + + Current Version + Version actuelle + + + + Latest Version + Dernière version + + + + Do you want to update? + Voulez-vous mettre à jour ? + + + + Show Changelog + Afficher le journal des modifications + + + + Check for Updates at Startup + Vérif. maj au démarrage + + + + Update + Mettre à jour + + + + No + Non + + + + Hide Changelog + Cacher le journal des modifications + + + + Changes + Modifications + + + + Network error occurred while trying to access the URL + Une erreur réseau s'est produite en essayant d'accéder à l'URL + + + + Download Complete + Téléchargement terminé + + + + The update has been downloaded, press OK to install. + La mise à jour a été téléchargée, appuyez sur OK pour l'installer. + + + + Failed to save the update file at + Échec de la sauvegarde du fichier de mise à jour à + + + + Failed to open the ZIP file + Échec de l'ouverture du fichier ZIP + + + + File name is empty. Possibly corrupted ZIP. + Le nom du fichier est vide. ZIP potentiellement corrompu. + + + + Failed to create directory + Échec de la création du répertoire + + + + Error decompressing file + Erreur lors de la décompression du fichier + + + + Failed to open output file + Échec de l'ouverture du fichier de sortie + + + + Unsupported compression method for file: + Méthode de compression non prise en charge pour le fichier : + + + + Failed to create TAR extraction directory + Échec de la création du répertoire d'extraction TAR + + + + Failed to extract the TAR file + Échec de l'extraction du fichier TAR + + + + Starting Update... + Démarrage de la mise à jour... + + + + Failed to create the update script file + Échec de la création du fichier de script de mise à jour + + \ No newline at end of file diff --git a/src/qt_gui/translations/hu_HU.ts b/src/qt_gui/translations/hu_HU.ts index 0f69822e79..23b40a93aa 100644 --- a/src/qt_gui/translations/hu_HU.ts +++ b/src/qt_gui/translations/hu_HU.ts @@ -168,6 +168,11 @@ Boot Game Játék Bootolása + + + Check for Updates + Frissítések keresése + About shadPS4 @@ -308,11 +313,11 @@ Themes Témák - - - About - Segítség - + + + Help + Segítség + Dark @@ -497,6 +502,21 @@ Enable RenderDoc Debugging RenderDoc Debugolás Engedélyezése + + + Update + Frissítés + + + + Check for Updates at Startup + Frissítések keresése indításkor + + + + Check for Updates + Frissítések keresése + MainWindow @@ -975,4 +995,177 @@ Útvonal - + + CheckUpdate + + + Auto Updater + Automatikus frissítő + + + + Error + Hiba + + + + Invalid update channel: + Érvénytelen frissítési csatorna: + + + + In updateChannel in config.tml file must contain 'stable' or 'unstable' + A config.tml fájlban az updateChannel-nek 'stable' vagy 'unstable' értéket kell tartalmaznia + + + + Network error: + Hálózati hiba: + + + + Failed to parse update information. + A frissítési információk elemzése sikertelen. + + + + No pre-releases found. + Nem található előzetes kiadás. + + + + Invalid release data. + Érvénytelen kiadási adatok. + + + + No download URL found for the specified asset. + Nincs letöltési URL a megadott eszközhöz. + + + + Your version is already up to date! + A verziód már naprakész! + + + + Update Available + Frissítés elérhető + + + + Current Version + Jelenlegi verzió + + + + Latest Version + Legújabb verzió + + + + Do you want to update? + Szeretnéd frissíteni? + + + + Show Changelog + Módosítások megjelenítése + + + + Check for Updates at Startup + Frissítések keresése indításkor + + + + Update + Frissítés + + + + No + Nem + + + + Hide Changelog + Módosítások elrejtése + + + + Changes + Módosítások + + + + Network error occurred while trying to access the URL + Hálózati hiba történt az URL elérésekor + + + + Download Complete + Letöltés kész + + + + The update has been downloaded, press OK to install. + A frissítés letöltődött, nyomja meg az OK gombot az telepítéshez. + + + + Failed to save the update file at + A frissítési fájl mentése nem sikerült a következő helyre + + + + Failed to open the ZIP file + A ZIP fájl megnyitása nem sikerült + + + + File name is empty. Possibly corrupted ZIP. + A fájlnév üres. Lehetséges, hogy a ZIP sérült. + + + + Failed to create directory + A mappa létrehozása nem sikerült + + + + Error decompressing file + Hiba a fájl kicsomagolásakor + + + + Failed to open output file + A kimeneti fájl megnyitása nem sikerült + + + + Unsupported compression method for file: + Támogatott tömörítési módszer a fájlhoz: + + + + Failed to create TAR extraction directory + A TAR kicsomagolási mappa létrehozása nem sikerült + + + + Failed to extract the TAR file + A TAR fájl kicsomagolása nem sikerült + + + + Starting Update... + Frissítés indítása... + + + + Failed to create the update script file + A frissítési szkript fájl létrehozása nem sikerült + + + \ No newline at end of file diff --git a/src/qt_gui/translations/id.ts b/src/qt_gui/translations/id.ts index 6108ffa20b..c80185e61c 100644 --- a/src/qt_gui/translations/id.ts +++ b/src/qt_gui/translations/id.ts @@ -168,6 +168,11 @@ Boot Game Boot Game + + + Check for Updates + Periksa pembaruan + About shadPS4 @@ -308,11 +313,11 @@ Themes Themes - - - About - About - + + + Help + Bantuan + Dark @@ -497,6 +502,21 @@ Enable RenderDoc Debugging Enable RenderDoc Debugging + + + Update + Pembaruan + + + + Check for Updates at Startup + Periksa pembaruan saat mulai + + + + Check for Updates + Periksa pembaruan + MainWindow @@ -975,4 +995,177 @@ Jalur + + CheckUpdate + + + Auto Updater + Pembaruan Otomatis + + + + Error + Kesalahan + + + + Invalid update channel: + Saluran pembaruan tidak valid: + + + + In updateChannel in config.tml file must contain 'stable' or 'unstable' + Di updateChannel dalam file config.tml harus berisi 'stable' atau 'unstable' + + + + Network error: + Kesalahan jaringan: + + + + Failed to parse update information. + Gagal memparse informasi pembaruan. + + + + No pre-releases found. + Tidak ada pra-rilis yang ditemukan. + + + + Invalid release data. + Data rilis tidak valid. + + + + No download URL found for the specified asset. + Tidak ada URL unduhan ditemukan untuk aset yang ditentukan. + + + + Your version is already up to date! + Versi Anda sudah terbaru! + + + + Update Available + Pembaruan Tersedia + + + + Current Version + Versi Saat Ini + + + + Latest Version + Versi Terbaru + + + + Do you want to update? + Apakah Anda ingin memperbarui? + + + + Show Changelog + Tampilkan Catatan Perubahan + + + + Check for Updates at Startup + Periksa pembaruan saat mulai + + + + Update + Perbarui + + + + No + Tidak + + + + Hide Changelog + Sembunyikan Catatan Perubahan + + + + Changes + Perubahan + + + + Network error occurred while trying to access the URL + Kesalahan jaringan terjadi saat mencoba mengakses URL + + + + Download Complete + Unduhan Selesai + + + + The update has been downloaded, press OK to install. + Pembaruan telah diunduh, tekan OK untuk menginstal. + + + + Failed to save the update file at + Gagal menyimpan file pembaruan di + + + + Failed to open the ZIP file + Gagal membuka file ZIP + + + + File name is empty. Possibly corrupted ZIP. + Nama file kosong. ZIP mungkin korup. + + + + Failed to create directory + Gagal membuat direktori + + + + Error decompressing file + Kesalahan saat mengekstrak file + + + + Failed to open output file + Gagal membuka file keluaran + + + + Unsupported compression method for file: + Metode kompresi tidak didukung untuk file: + + + + Failed to create TAR extraction directory + Gagal membuat direktori ekstraksi TAR + + + + Failed to extract the TAR file + Gagal mengekstrak file TAR + + + + Starting Update... + Memulai Pembaruan... + + + + Failed to create the update script file + Gagal membuat file skrip pembaruan + + \ No newline at end of file diff --git a/src/qt_gui/translations/it.ts b/src/qt_gui/translations/it.ts index 39cb35dd3f..29c2340320 100644 --- a/src/qt_gui/translations/it.ts +++ b/src/qt_gui/translations/it.ts @@ -168,6 +168,11 @@ Boot Game Avvia Gioco + + + Check for Updates + Controlla aggiornamenti + About shadPS4 @@ -308,11 +313,11 @@ Themes Temi - - - About - Info su - + + + Help + Aiuto + Dark @@ -497,6 +502,21 @@ Enable RenderDoc Debugging Abilita Debugging RenderDoc + + + Update + Aggiornamento + + + + Check for Updates at Startup + Verifica aggiornamenti all’avvio + + + + Check for Updates + Controlla aggiornamenti + MainWindow @@ -975,4 +995,177 @@ Percorso - + + CheckUpdate + + + Auto Updater + Aggiornamento automatico + + + + Error + Errore + + + + Invalid update channel: + Canale di aggiornamento non valido: + + + + In updateChannel in config.tml file must contain 'stable' or 'unstable' + Nel file config.tml, l'updateChannel deve contenere 'stable' o 'unstable' + + + + Network error: + Errore di rete: + + + + Failed to parse update information. + Impossibile analizzare le informazioni di aggiornamento. + + + + No pre-releases found. + Nessuna anteprima trovata. + + + + Invalid release data. + Dati della release non validi. + + + + No download URL found for the specified asset. + Nessun URL di download trovato per l'asset specificato. + + + + Your version is already up to date! + La tua versione è già aggiornata! + + + + Update Available + Aggiornamento disponibile + + + + Current Version + Versione attuale + + + + Latest Version + Ultima versione + + + + Do you want to update? + Vuoi aggiornare? + + + + Show Changelog + Mostra il Changelog + + + + Check for Updates at Startup + Verifica aggiornamenti all’avvio + + + + Update + Aggiorna + + + + No + No + + + + Hide Changelog + Nascondi il Changelog + + + + Changes + Modifiche + + + + Network error occurred while trying to access the URL + Si è verificato un errore di rete durante il tentativo di accesso all'URL + + + + Download Complete + Download completato + + + + The update has been downloaded, press OK to install. + L'aggiornamento è stato scaricato, premi OK per installare. + + + + Failed to save the update file at + Impossibile salvare il file di aggiornamento in + + + + Failed to open the ZIP file + Impossibile aprire il file ZIP + + + + File name is empty. Possibly corrupted ZIP. + Il nome del file è vuoto. ZIP potrebbe essere danneggiato. + + + + Failed to create directory + Impossibile creare la directory + + + + Error decompressing file + Errore durante la decompressione del file + + + + Failed to open output file + Impossibile aprire il file di output + + + + Unsupported compression method for file: + Metodo di compressione non supportato per il file: + + + + Failed to create TAR extraction directory + Impossibile creare la directory di estrazione TAR + + + + Failed to extract the TAR file + Impossibile estrarre il file TAR + + + + Starting Update... + Inizio aggiornamento... + + + + Failed to create the update script file + Impossibile creare il file di script di aggiornamento + + + \ No newline at end of file diff --git a/src/qt_gui/translations/ja_JP.ts b/src/qt_gui/translations/ja_JP.ts index 680d4ebd57..6a8074da04 100644 --- a/src/qt_gui/translations/ja_JP.ts +++ b/src/qt_gui/translations/ja_JP.ts @@ -168,6 +168,11 @@ Boot Game ゲームを起動 + + + Check for Updates + 更新を確認する + About shadPS4 @@ -308,11 +313,11 @@ Themes テーマ - - - About - 情報 - + + + Help + ヘルプ + Dark @@ -497,6 +502,21 @@ Enable RenderDoc Debugging RenderDocデバッグを有効にする + + + Update + 更新 + + + + Check for Updates at Startup + 起動時に更新確認 + + + + Check for Updates + 更新を確認 + MainWindow @@ -975,4 +995,177 @@ パス + + CheckUpdate + + + Auto Updater + 自動アップデーター + + + + Error + エラー + + + + Invalid update channel: + 無効なアップデートチャネル: + + + + In updateChannel in config.tml file must contain 'stable' or 'unstable' + config.tmlファイルのupdateChannelには「stable」または「unstable」を含める必要があります + + + + Network error: + ネットワークエラー: + + + + Failed to parse update information. + アップデート情報の解析に失敗しました。 + + + + No pre-releases found. + プレリリースは見つかりませんでした。 + + + + Invalid release data. + リリースデータが無効です。 + + + + No download URL found for the specified asset. + 指定されたアセットのダウンロードURLが見つかりませんでした。 + + + + Your version is already up to date! + あなたのバージョンはすでに最新です! + + + + Update Available + アップデートがあります + + + + Current Version + 現在のバージョン + + + + Latest Version + 最新バージョン + + + + Do you want to update? + アップデートしますか? + + + + Show Changelog + 変更ログを表示 + + + + Check for Updates at Startup + 起動時に更新確認 + + + + Update + アップデート + + + + No + いいえ + + + + Hide Changelog + 変更ログを隠す + + + + Changes + 変更点 + + + + Network error occurred while trying to access the URL + URLにアクセス中にネットワークエラーが発生しました + + + + Download Complete + ダウンロード完了 + + + + The update has been downloaded, press OK to install. + アップデートがダウンロードされました。インストールするにはOKを押してください。 + + + + Failed to save the update file at + 更新ファイルの保存に失敗しました + + + + Failed to open the ZIP file + ZIPファイルを開くことに失敗しました + + + + File name is empty. Possibly corrupted ZIP. + ファイル名が空です。ZIPが壊れている可能性があります。 + + + + Failed to create directory + ディレクトリの作成に失敗しました + + + + Error decompressing file + ファイルの解凍中にエラーが発生しました + + + + Failed to open output file + 出力ファイルを開くことに失敗しました + + + + Unsupported compression method for file: + ファイルのためのサポートされていない圧縮メソッド: + + + + Failed to create TAR extraction directory + TAR抽出ディレクトリの作成に失敗しました + + + + Failed to extract the TAR file + TARファイルの抽出に失敗しました + + + + Starting Update... + アップデートを開始しています... + + + + Failed to create the update script file + アップデートスクリプトファイルの作成に失敗しました + + \ No newline at end of file diff --git a/src/qt_gui/translations/ko_KR.ts b/src/qt_gui/translations/ko_KR.ts index a167311b90..43d45f2689 100644 --- a/src/qt_gui/translations/ko_KR.ts +++ b/src/qt_gui/translations/ko_KR.ts @@ -168,6 +168,11 @@ Boot Game Boot Game + + + Check for Updates + Check for Updates + About shadPS4 @@ -310,8 +315,8 @@ - About - About + Help + Help @@ -497,6 +502,21 @@ Enable RenderDoc Debugging Enable RenderDoc Debugging + + + Update + Update + + + + Check for Updates at Startup + Check for Updates at Startup + + + + Check for Updates + Check for Updates + MainWindow @@ -975,4 +995,177 @@ Path + + CheckUpdate + + + Auto Updater + Auto Updater + + + + Error + Error + + + + Invalid update channel: + Invalid update channel: + + + + In updateChannel in config.tml file must contain 'stable' or 'unstable' + In updateChannel in config.tml file must contain 'stable' or 'unstable' + + + + Network error: + Network error: + + + + Failed to parse update information. + Failed to parse update information. + + + + No pre-releases found. + No pre-releases found. + + + + Invalid release data. + Invalid release data. + + + + No download URL found for the specified asset. + No download URL found for the specified asset. + + + + Your version is already up to date! + Your version is already up to date! + + + + Update Available + Update Available + + + + Current Version + Current Version + + + + Latest Version + Latest Version + + + + Do you want to update? + Do you want to update? + + + + Show Changelog + Show Changelog + + + + Check for Updates at Startup + Check for Updates at Startup + + + + Update + Update + + + + No + No + + + + Hide Changelog + Hide Changelog + + + + Changes + Changes + + + + Network error occurred while trying to access the URL + Network error occurred while trying to access the URL + + + + Download Complete + Download Complete + + + + The update has been downloaded, press OK to install. + The update has been downloaded, press OK to install. + + + + Failed to save the update file at + Failed to save the update file at + + + + Failed to open the ZIP file + Failed to open the ZIP file + + + + File name is empty. Possibly corrupted ZIP. + File name is empty. Possibly corrupted ZIP. + + + + Failed to create directory + Failed to create directory + + + + Error decompressing file + Error decompressing file + + + + Failed to open output file + Failed to open output file + + + + Unsupported compression method for file: + Unsupported compression method for file: + + + + Failed to create TAR extraction directory + Failed to create TAR extraction directory + + + + Failed to extract the TAR file + Failed to extract the TAR file + + + + Starting Update... + Starting Update... + + + + Failed to create the update script file + Failed to create the update script file + + \ No newline at end of file diff --git a/src/qt_gui/translations/lt_LT.ts b/src/qt_gui/translations/lt_LT.ts index 2c86ec0a00..789fd2c0d4 100644 --- a/src/qt_gui/translations/lt_LT.ts +++ b/src/qt_gui/translations/lt_LT.ts @@ -168,6 +168,11 @@ Boot Game Boot Game + + + Check for Updates + Patikrinti atnaujinimus + About shadPS4 @@ -308,11 +313,11 @@ Themes Themes - - - About - About - + + + Help + Pagalba + Dark @@ -497,6 +502,21 @@ Enable RenderDoc Debugging Enable RenderDoc Debugging + + + Update + Atnaujinimas + + + + Check for Updates at Startup + Tikrinti naujinimus paleidus + + + + Check for Updates + Patikrinkite atnaujinimus + MainWindow @@ -975,4 +995,177 @@ Kelias + + CheckUpdate + + + Auto Updater + Automatinis atnaujinimas + + + + Error + Klaida + + + + Invalid update channel: + Neteisingas atnaujinimo kanalas: + + + + In updateChannel in config.tml file must contain 'stable' or 'unstable' + config.tml faile updateChannel turi būti 'stable' arba 'unstable' + + + + Network error: + Tinklo klaida: + + + + Failed to parse update information. + Nepavyko išanalizuoti atnaujinimo informacijos. + + + + No pre-releases found. + Išankstinių leidimų nerasta. + + + + Invalid release data. + Neteisingi leidimo duomenys. + + + + No download URL found for the specified asset. + Nerasta atsisiuntimo URL nurodytam turtui. + + + + Your version is already up to date! + Jūsų versija jau atnaujinta! + + + + Update Available + Prieinama atnaujinimas + + + + Current Version + Esama versija + + + + Latest Version + Paskutinė versija + + + + Do you want to update? + Ar norite atnaujinti? + + + + Show Changelog + Rodyti pakeitimų sąrašą + + + + Check for Updates at Startup + Tikrinti naujinimus paleidus + + + + Update + Atnaujinti + + + + No + Ne + + + + Hide Changelog + Slėpti pakeitimų sąrašą + + + + Changes + Pokyčiai + + + + Network error occurred while trying to access the URL + Tinklo klaida bandant pasiekti URL + + + + Download Complete + Atsisiuntimas baigtas + + + + The update has been downloaded, press OK to install. + Atnaujinimas buvo atsisiųstas, paspauskite OK, kad įdiegtumėte. + + + + Failed to save the update file at + Nepavyko išsaugoti atnaujinimo failo + + + + Failed to open the ZIP file + Nepavyko atidaryti ZIP failo + + + + File name is empty. Possibly corrupted ZIP. + Failo pavadinimas tuščias. Galbūt ZIP sugadintas. + + + + Failed to create directory + Nepavyko sukurti katalogo + + + + Error decompressing file + Klaida išpakuojant failą + + + + Failed to open output file + Nepavyko atidaryti išvesties failo + + + + Unsupported compression method for file: + Nepalaikomas failo suspaudimo metodas: + + + + Failed to create TAR extraction directory + Nepavyko sukurti TAR ištraukimų katalogo + + + + Failed to extract the TAR file + Nepavyko ištraukti TAR failo + + + + Starting Update... + Pradedama atnaujinimas... + + + + Failed to create the update script file + Nepavyko sukurti atnaujinimo scenarijaus failo + + \ No newline at end of file diff --git a/src/qt_gui/translations/nb.ts b/src/qt_gui/translations/nb.ts index b62791e05e..65c9c7cf43 100644 --- a/src/qt_gui/translations/nb.ts +++ b/src/qt_gui/translations/nb.ts @@ -168,6 +168,11 @@ Boot Game Boot Game + + + Check for Updates + Sjekk etter oppdateringer + About shadPS4 @@ -308,11 +313,11 @@ Themes Themes - - - About - About - + + + Help + Hjelp + Dark @@ -497,6 +502,21 @@ Enable RenderDoc Debugging Enable RenderDoc Debugging + + + Update + Oppdatering + + + + Check for Updates at Startup + Sjekk etter oppdateringer ved oppstart + + + + Check for Updates + Sjekk for oppdateringer + MainWindow @@ -975,4 +995,177 @@ Sti + + CheckUpdate + + + Auto Updater + Automatisk oppdaterer + + + + Error + Feil + + + + Invalid update channel: + Ugyldig oppdateringskanal: + + + + In updateChannel in config.tml file must contain 'stable' or 'unstable' + I updateChannel i config.tml-filen må inneholde 'stable' eller 'unstable' + + + + Network error: + Nettverksfeil: + + + + Failed to parse update information. + Kunne ikke analysere oppdateringsinformasjonen. + + + + No pre-releases found. + Fant ingen forhåndsutgivelser. + + + + Invalid release data. + Ugyldige utgivelsesdata. + + + + No download URL found for the specified asset. + Ingen nedlastings-URL funnet for den spesifiserte ressursen. + + + + Your version is already up to date! + Din versjon er allerede oppdatert! + + + + Update Available + Oppdatering tilgjengelig + + + + Current Version + Gjeldende versjon + + + + Latest Version + Nyeste versjon + + + + Do you want to update? + Vil du oppdatere? + + + + Show Changelog + Vis endringslogg + + + + Check for Updates at Startup + Sjekk etter oppdateringer ved oppstart + + + + Update + Oppdater + + + + No + Nei + + + + Hide Changelog + Skjul endringslogg + + + + Changes + Endringer + + + + Network error occurred while trying to access the URL + Nettverksfeil oppstod mens du prøvde å få tilgang til URL + + + + Download Complete + Nedlasting fullført + + + + The update has been downloaded, press OK to install. + Oppdateringen har blitt lastet ned, trykk OK for å installere. + + + + Failed to save the update file at + Kunne ikke lagre oppdateringsfilen på + + + + Failed to open the ZIP file + Kunne ikke åpne ZIP-filen + + + + File name is empty. Possibly corrupted ZIP. + Filnavnet er tomt. Muligens ødelagt ZIP. + + + + Failed to create directory + Kunne ikke opprette katalog + + + + Error decompressing file + Feil ved dekomprimering av fil + + + + Failed to open output file + Kunne ikke åpne utdatafil + + + + Unsupported compression method for file: + Ikke støttet kompresjonsmetode for fil: + + + + Failed to create TAR extraction directory + Kunne ikke opprette TAR-uttrekkskatalog + + + + Failed to extract the TAR file + Kunne ikke trekke ut TAR-filen + + + + Starting Update... + Starter oppdatering... + + + + Failed to create the update script file + Kunne ikke opprette oppdateringsskriptfilen + + \ No newline at end of file diff --git a/src/qt_gui/translations/nl.ts b/src/qt_gui/translations/nl.ts index 3d5edfc5d3..04cc8424fe 100644 --- a/src/qt_gui/translations/nl.ts +++ b/src/qt_gui/translations/nl.ts @@ -168,6 +168,11 @@ Boot Game Boot Game + + + Check for Updates + Controleren op updates + About shadPS4 @@ -308,11 +313,11 @@ Themes Themes - - - About - About - + + + Help + Help + Dark @@ -497,6 +502,21 @@ Enable RenderDoc Debugging Enable RenderDoc Debugging + + + Update + Bijwerken + + + + Check for Updates at Startup + Bij opstart op updates controleren + + + + Check for Updates + Controleren op updates + MainWindow @@ -975,4 +995,177 @@ Pad + + CheckUpdate + + + Auto Updater + Automatische updater + + + + Error + Fout + + + + Invalid update channel: + Ongeldig updatekanaal: + + + + In updateChannel in config.tml file must contain 'stable' or 'unstable' + In updateChannel in het config.tml-bestand moet 'stable' of 'unstable' staan + + + + Network error: + Netwerkfout: + + + + Failed to parse update information. + Kon update-informatie niet parseren. + + + + No pre-releases found. + Geen pre-releases gevonden. + + + + Invalid release data. + Ongeldige releasegegevens. + + + + No download URL found for the specified asset. + Geen download-URL gevonden voor het opgegeven bestand. + + + + Your version is already up to date! + Uw versie is al up-to-date! + + + + Update Available + Update beschikbaar + + + + Current Version + Huidige versie + + + + Latest Version + Laatste versie + + + + Do you want to update? + Wilt u updaten? + + + + Show Changelog + Toon changelog + + + + Check for Updates at Startup + Bij opstart op updates controleren + + + + Update + Bijwerken + + + + No + Nee + + + + Hide Changelog + Verberg changelog + + + + Changes + Wijzigingen + + + + Network error occurred while trying to access the URL + Netwerkfout opgetreden tijdens toegang tot de URL + + + + Download Complete + Download compleet + + + + The update has been downloaded, press OK to install. + De update is gedownload, druk op OK om te installeren. + + + + Failed to save the update file at + Kon het updatebestand niet opslaan op + + + + Failed to open the ZIP file + Kon het ZIP-bestand niet openen + + + + File name is empty. Possibly corrupted ZIP. + Bestandsnaam is leeg. Mogelijk beschadigde ZIP. + + + + Failed to create directory + Kon de directory niet maken + + + + Error decompressing file + Fout bij het decomprimeren van het bestand + + + + Failed to open output file + Kon het uitvoerbestand niet openen + + + + Unsupported compression method for file: + Ongesteunde compressiemethode voor bestand: + + + + Failed to create TAR extraction directory + Kon de TAR-uitpakdirectory niet maken + + + + Failed to extract the TAR file + Kon het TAR-bestand niet uitpakken + + + + Starting Update... + Starten van update... + + + + Failed to create the update script file + Kon het update-scriptbestand niet maken + + \ No newline at end of file diff --git a/src/qt_gui/translations/pl_PL.ts b/src/qt_gui/translations/pl_PL.ts index af8330bbdd..49e81d7134 100644 --- a/src/qt_gui/translations/pl_PL.ts +++ b/src/qt_gui/translations/pl_PL.ts @@ -168,6 +168,11 @@ Boot Game Uruchom grę + + + Check for Updates + Sprawdź aktualizacje + About shadPS4 @@ -308,11 +313,11 @@ Themes Motywy - - - About - O programie - + + + Help + Pomoc + Dark @@ -497,6 +502,21 @@ Enable RenderDoc Debugging Włącz debugowanie RenderDoc + + + Update + Aktualizacja + + + + Check for Updates at Startup + Sprawdź aktualizacje przy starcie + + + + Check for Updates + Sprawdź aktualizacje + MainWindow @@ -975,4 +995,177 @@ Ścieżka - + + CheckUpdate + + + Auto Updater + Automatyczne aktualizacje + + + + Error + Błąd + + + + Invalid update channel: + Nieprawidłowy kanał aktualizacji: + + + + In updateChannel in config.tml file must contain 'stable' or 'unstable' + W pliku config.tml, updateChannel musi zawierać 'stable' lub 'unstable' + + + + Network error: + Błąd sieci: + + + + Failed to parse update information. + Nie udało się sparsować informacji o aktualizacji. + + + + No pre-releases found. + Nie znaleziono wersji przedpremierowych. + + + + Invalid release data. + Nieprawidłowe dane wydania. + + + + No download URL found for the specified asset. + Nie znaleziono adresu URL do pobrania dla określonego zasobu. + + + + Your version is already up to date! + Twoja wersja jest już aktualna! + + + + Update Available + Dostępna aktualizacja + + + + Current Version + Aktualna wersja + + + + Latest Version + Ostatnia wersja + + + + Do you want to update? + Czy chcesz zaktualizować? + + + + Show Changelog + Pokaż zmiany + + + + Check for Updates at Startup + Sprawdź aktualizacje przy starcie + + + + Update + Aktualizuj + + + + No + Nie + + + + Hide Changelog + Ukryj zmiany + + + + Changes + Zmiany + + + + Network error occurred while trying to access the URL + Błąd sieci wystąpił podczas próby uzyskania dostępu do URL + + + + Download Complete + Pobieranie zakończone + + + + The update has been downloaded, press OK to install. + Aktualizacja została pobrana, naciśnij OK, aby zainstalować. + + + + Failed to save the update file at + Nie udało się zapisać pliku aktualizacji w + + + + Failed to open the ZIP file + Nie udało się otworzyć pliku ZIP + + + + File name is empty. Possibly corrupted ZIP. + Nazwa pliku jest pusta. Możliwe, że ZIP jest uszkodzony. + + + + Failed to create directory + Nie udało się utworzyć katalogu + + + + Error decompressing file + Błąd podczas dekompresji pliku + + + + Failed to open output file + Nie udało się otworzyć pliku wyjściowego + + + + Unsupported compression method for file: + Nieobsługiwana metoda kompresji dla pliku: + + + + Failed to create TAR extraction directory + Nie udało się utworzyć katalogu do rozpakowania TAR + + + + Failed to extract the TAR file + Nie udało się wyodrębnić pliku TAR + + + + Starting Update... + Rozpoczynanie aktualizacji... + + + + Failed to create the update script file + Nie udało się utworzyć pliku skryptu aktualizacji + + + \ No newline at end of file diff --git a/src/qt_gui/translations/pt_BR.ts b/src/qt_gui/translations/pt_BR.ts index e774a30b4a..61cd7d6010 100644 --- a/src/qt_gui/translations/pt_BR.ts +++ b/src/qt_gui/translations/pt_BR.ts @@ -168,6 +168,11 @@ Boot Game Iniciar Jogo + + + Check for Updates + Verificar atualizações + About shadPS4 @@ -310,8 +315,8 @@ - About - Sobre + Help + Ajuda @@ -497,6 +502,21 @@ Enable RenderDoc Debugging Ativar Depuração por RenderDoc + + + Update + Atualização + + + + Check for Updates at Startup + Verificar Atualizações ao Iniciar + + + + Check for Updates + Verificar atualizações + MainWindow @@ -975,4 +995,177 @@ Diretório + + CheckUpdate + + + Auto Updater + Atualizador automático + + + + Error + Erro + + + + Invalid update channel: + Canal de atualização inválido: + + + + In updateChannel in config.tml file must contain 'stable' or 'unstable' + No arquivo config.tml, updateChannel deve conter apenas 'stable' ou 'unstable' + + + + Network error: + Erro de rede: + + + + Failed to parse update information. + Falha ao analisar as informações de atualização. + + + + No pre-releases found. + Nenhuma pre-release encontrada. + + + + Invalid release data. + Dados da release inválidos. + + + + No download URL found for the specified asset. + Nenhuma URL de download encontrada para o asset especificado. + + + + Your version is already up to date! + Sua versão já está atualizada! + + + + Update Available + Atualização disponível + + + + Current Version + Versão atual + + + + Latest Version + Última versão + + + + Do you want to update? + Você quer atualizar? + + + + Show Changelog + Mostrar Changelog + + + + Check for Updates at Startup + Verificar Atualizações ao Iniciar + + + + Update + Atualizar + + + + No + Não + + + + Hide Changelog + Ocultar Changelog + + + + Changes + Alterações + + + + Network error occurred while trying to access the URL + Ocorreu um erro de rede ao tentar acessar o URL + + + + Download Complete + Download Completo + + + + The update has been downloaded, press OK to install. + A atualização foi baixada, pressione OK para instalar. + + + + Failed to save the update file at + Falha ao salvar o arquivo de atualização em + + + + Failed to open the ZIP file + Falha ao abrir o arquivo ZIP + + + + File name is empty. Possibly corrupted ZIP. + O nome do arquivo está vazio. Possivelmente ZIP corrompido. + + + + Failed to create directory + Falha ao criar o diretório + + + + Error decompressing file + Erro ao descompactar arquivo + + + + Failed to open output file + Falha ao abrir o arquivo de saída + + + + Unsupported compression method for file: + Método de compactação não suportado para arquivo: + + + + Failed to create TAR extraction directory + Falha ao criar diretório de extração TAR + + + + Failed to extract the TAR file + Falha ao extrair o arquivo TAR + + + + Starting Update... + Iniciando atualização... + + + + Failed to create the update script file + Falha ao criar o arquivo de script de atualização + + \ No newline at end of file diff --git a/src/qt_gui/translations/ro_RO.ts b/src/qt_gui/translations/ro_RO.ts index 56df113f56..c890a575d7 100644 --- a/src/qt_gui/translations/ro_RO.ts +++ b/src/qt_gui/translations/ro_RO.ts @@ -168,6 +168,11 @@ Boot Game Boot Game + + + Check for Updates + Verifică actualizările + About shadPS4 @@ -308,11 +313,11 @@ Themes Themes - - - About - About - + + + Help + Ajutor + Dark @@ -497,14 +502,29 @@ Enable RenderDoc Debugging Enable RenderDoc Debugging + + + Update + Actualizare + + + + Check for Updates at Startup + Verifică actualizări la pornire + + + + Check for Updates + Verifică actualizări + + MainWindow Game List Lista jocurilor - MainWindow * Unsupported Vulkan Version @@ -975,4 +995,177 @@ Drum + + CheckUpdate + + + Auto Updater + Actualizator automat + + + + Error + Eroare + + + + Invalid update channel: + Canal de actualizare invalid: + + + + In updateChannel in config.tml file must contain 'stable' or 'unstable' + În fișierul config.tml, updateChannel trebuie să conțină 'stable' sau 'unstable' + + + + Network error: + Eroare de rețea: + + + + Failed to parse update information. + Nu s-au putut analiza informațiile de actualizare. + + + + No pre-releases found. + Nu au fost găsite pre-lansări. + + + + Invalid release data. + Datele versiunii sunt invalide. + + + + No download URL found for the specified asset. + Nu s-a găsit URL de descărcare pentru resursa specificată. + + + + Your version is already up to date! + Versiunea ta este deja actualizată! + + + + Update Available + Actualizare disponibilă + + + + Current Version + Versiunea curentă + + + + Latest Version + Ultima versiune + + + + Do you want to update? + Doriți să actualizați? + + + + Show Changelog + Afișați jurnalul de modificări + + + + Check for Updates at Startup + Verifică actualizări la pornire + + + + Update + Actualizare + + + + No + Nu + + + + Hide Changelog + Ascunde jurnalul de modificări + + + + Changes + Modificări + + + + Network error occurred while trying to access the URL + A apărut o eroare de rețea în timpul încercării de a accesa URL-ul + + + + Download Complete + Descărcare completă + + + + The update has been downloaded, press OK to install. + Actualizarea a fost descărcată, apăsați OK pentru a instala. + + + + Failed to save the update file at + Nu s-a putut salva fișierul de actualizare la + + + + Failed to open the ZIP file + Nu s-a putut deschide fișierul ZIP + + + + File name is empty. Possibly corrupted ZIP. + Numele fișierului este gol. Posibil ZIP corupt. + + + + Failed to create directory + Nu s-a putut crea directorul + + + + Error decompressing file + Eroare la decompresarea fișierului + + + + Failed to open output file + Nu s-a putut deschide fișierul de ieșire + + + + Unsupported compression method for file: + Metodă de compresie nesuportată pentru fișier: + + + + Failed to create TAR extraction directory + Nu s-a putut crea directorul de extragere TAR + + + + Failed to extract the TAR file + Nu s-a putut extrage fișierul TAR + + + + Starting Update... + Încep actualizarea... + + + + Failed to create the update script file + Nu s-a putut crea fișierul script de actualizare + + \ No newline at end of file diff --git a/src/qt_gui/translations/ru_RU.ts b/src/qt_gui/translations/ru_RU.ts index 1eac3e515f..a1779bd0df 100644 --- a/src/qt_gui/translations/ru_RU.ts +++ b/src/qt_gui/translations/ru_RU.ts @@ -168,6 +168,11 @@ Boot Game Запустить игру + + + Check for Updates + Проверить обновления + About shadPS4 @@ -308,11 +313,11 @@ Themes Темы - - - About - Справка - + + + Help + Помощь + Dark @@ -497,6 +502,21 @@ Enable RenderDoc Debugging Включить отладку RenderDoc + + + Update + Обновление + + + + Check for Updates at Startup + Проверка обновлений при запуске + + + + Check for Updates + Проверить обновления + MainWindow @@ -975,4 +995,177 @@ Путь + + CheckUpdate + + + Auto Updater + Автообновление + + + + Error + Ошибка + + + + Invalid update channel: + Недопустимый канал обновления: + + + + In updateChannel in config.tml file must contain 'stable' or 'unstable' + В файле config.tml параметр updateChannel должен содержать 'stable' или 'unstable' + + + + Network error: + Ошибка сети: + + + + Failed to parse update information. + Не удалось разобрать информацию об обновлении. + + + + No pre-releases found. + Предварительных версий не найдено. + + + + Invalid release data. + Недопустимые данные релиза. + + + + No download URL found for the specified asset. + Не найден URL для загрузки указанного ресурса. + + + + Your version is already up to date! + Ваша версия уже обновлена! + + + + Update Available + Доступно обновление + + + + Current Version + Текущая версия + + + + Latest Version + Последняя версия + + + + Do you want to update? + Вы хотите обновить? + + + + Show Changelog + Показать изменения + + + + Check for Updates at Startup + Проверка обновлений при запуске + + + + Update + Обновить + + + + No + Нет + + + + Hide Changelog + Скрыть изменения + + + + Changes + Изменения + + + + Network error occurred while trying to access the URL + Произошла ошибка сети при попытке доступа к URL + + + + Download Complete + Скачивание завершено + + + + The update has been downloaded, press OK to install. + Обновление загружено, нажмите OK для установки. + + + + Failed to save the update file at + Не удалось сохранить файл обновления в + + + + Failed to open the ZIP file + Не удалось открыть ZIP файл + + + + File name is empty. Possibly corrupted ZIP. + Имя файла пустое. Возможно, ZIP поврежден. + + + + Failed to create directory + Не удалось создать директорию + + + + Error decompressing file + Ошибка при разархивировании файла + + + + Failed to open output file + Не удалось открыть выходной файл + + + + Unsupported compression method for file: + Неподдерживаемый метод сжатия для файла: + + + + Failed to create TAR extraction directory + Не удалось создать каталог для извлечения TAR + + + + Failed to extract the TAR file + Не удалось извлечь TAR файл + + + + Starting Update... + Начало обновления... + + + + Failed to create the update script file + Не удалось создать файл скрипта обновления + + \ No newline at end of file diff --git a/src/qt_gui/translations/sq.ts b/src/qt_gui/translations/sq.ts index 85110c6ae5..3ffe20ff88 100644 --- a/src/qt_gui/translations/sq.ts +++ b/src/qt_gui/translations/sq.ts @@ -168,6 +168,11 @@ Boot Game Nis Lojën + + + Check for Updates + Kontrolloni për përditësime + About shadPS4 @@ -308,11 +313,11 @@ Themes Motivet - - - About - Rreth - + + + Help + Ndihmë + Dark @@ -497,6 +502,21 @@ Enable RenderDoc Debugging Aktivizo Korrigjimin RenderDoc + + + Update + Përditëso + + + + Check for Updates at Startup + Kontrollo për përditësime në fillim + + + + Check for Updates + Kontrollo për përditësime + MainWindow @@ -975,4 +995,177 @@ Shtegu - + + CheckUpdate + + + Auto Updater + Përditësues automatik + + + + Error + Gabim + + + + Invalid update channel: + Kanal përditësimi i pavlefshëm: + + + + In updateChannel in config.tml file must contain 'stable' or 'unstable' + Në skedarin config.tml, updateChannel duhet të përmbajë 'stable' ose 'unstable' + + + + Network error: + Gabim rrjeti: + + + + Failed to parse update information. + Deshtoi të analizojë informacionin e përditësimit. + + + + No pre-releases found. + Nuk u gjetën publikime paraprake. + + + + Invalid release data. + të dhënat e lëshimit janë të pavlefshme. + + + + No download URL found for the specified asset. + Nuk u gjet URL për shkarkim për burimin e specifikuar. + + + + Your version is already up to date! + Versioni juaj është tashmë i përditësuar! + + + + Update Available + Përditësim i disponueshëm + + + + Current Version + Versioni aktual + + + + Latest Version + Versioni më i fundit + + + + Do you want to update? + Donëi të përditësoni? + + + + Show Changelog + Trego ndryshimet + + + + Check for Updates at Startup + Kontrollo për përditësime në fillim + + + + Update + Përditëso + + + + No + Jo + + + + Hide Changelog + Fshih ndryshimet + + + + Changes + Ndryshimet + + + + Network error occurred while trying to access the URL + Ka ndodhur një gabim rrjeti gjatë përpjekjes për të aksesuar URL-në + + + + Download Complete + Shkarkimi i përfunduar + + + + The update has been downloaded, press OK to install. + Përditësimi është shkarkuar, shtypni OK për ta instaluar. + + + + Failed to save the update file at + Deshtoi të ruajë skedarin e përditësimit në + + + + Failed to open the ZIP file + Deshtoi të hapë skedarin ZIP + + + + File name is empty. Possibly corrupted ZIP. + Emri i skedarit është bosh. Mund të jetë ZIP i korruptuar. + + + + Failed to create directory + Deshtoi të krijojë direktorinë + + + + Error decompressing file + Gabim gjatë dekompresimit të skedarit + + + + Failed to open output file + Deshtoi të hapë skedarin e daljes + + + + Unsupported compression method for file: + Metodë kompresimi e mbështetur për skedarin: + + + + Failed to create TAR extraction directory + Deshtoi të krijojë direktorinë e ekstraktimit TAR + + + + Failed to extract the TAR file + Deshtoi të nxjerrë skedarin TAR + + + + Starting Update... + Po fillon përditësimi... + + + + Failed to create the update script file + Deshtoi të krijojë skedarin e skriptit të përditësimit + + + \ No newline at end of file diff --git a/src/qt_gui/translations/tr_TR.ts b/src/qt_gui/translations/tr_TR.ts index 83f62c85e3..7ede9ef247 100644 --- a/src/qt_gui/translations/tr_TR.ts +++ b/src/qt_gui/translations/tr_TR.ts @@ -168,6 +168,11 @@ Boot Game Oyunu Başlat + + + Check for Updates + Güncellemeleri kontrol et + About shadPS4 @@ -308,11 +313,11 @@ Themes Temalar - - - About - Hakkında - + + + Help + Yardım + Dark @@ -497,6 +502,21 @@ Enable RenderDoc Debugging RenderDoc Hata Ayıklamayı Etkinleştir + + + Update + Güncelle + + + + Check for Updates at Startup + Başlangıçta güncellemeleri kontrol et + + + + Check for Updates + Güncellemeleri kontrol et + MainWindow @@ -700,13 +720,13 @@ - Confirm Delete - Silme Onayı + Delete File + Dosyayı Sil - - Are you sure you want to delete the selected cheat?\n%1 - Seçilen hileyi silmek istediğinizden emin misiniz?\n%1 + + No files selected. + Hiçbir dosya seçilmedi. @@ -902,86 +922,15 @@ Name: İsim: - - - - Version: - Sürüm: - - - - Size: - Boyut: - - - - LangDialog - - - Language Settings - Dil Ayarları - - - - Select Language: - Dil Seçin: - - - - Restart Required - Yeniden Başlatma Gerekiyor - - - - Changes will take effect after restarting the application. - Değişiklikler uygulama yeniden başlatıldığında geçerli olacaktır. - - - - SettingsDialog - - - Settings - Ayarlar - - - - General - Genel - - - - Cheats - Hileler - - - - Update - Güncelleme - - - - Save - Kaydet - - - - Reset to Default - Varsayılana Sıfırla - - - - Apply Changes - Değişiklikleri Uygula Can't apply cheats before the game is started Hileleri oyuna başlamadan önce uygulayamazsınız. - + - SettingsDialog + SettingsDialog Save @@ -1046,4 +995,177 @@ Yol + + CheckUpdate + + + Auto Updater + Otomatik Güncelleyici + + + + Error + Hata + + + + Invalid update channel: + Geçersiz güncelleme kanalı: + + + + In updateChannel in config.tml file must contain 'stable' or 'unstable' + config.tml dosyasındaki updateChannel 'stable' veya 'unstable' içermelidir + + + + Network error: + Ağ hatası: + + + + Failed to parse update information. + Güncelleme bilgilerini ayrıştırma başarısız oldu. + + + + No pre-releases found. + Ön sürüm bulunamadı. + + + + Invalid release data. + Geçersiz sürüm verisi. + + + + No download URL found for the specified asset. + Belirtilen varlık için hiçbir indirme URL'si bulunamadı. + + + + Your version is already up to date! + Versiyonunuz zaten güncel! + + + + Update Available + Güncelleme Mevcut + + + + Current Version + Mevcut Versiyon + + + + Latest Version + Son Versiyon + + + + Do you want to update? + Güncellemek istiyor musunuz? + + + + Show Changelog + Değişiklik Günlüğünü Göster + + + + Check for Updates at Startup + Başlangıçta güncellemeleri kontrol et + + + + Update + Güncelle + + + + No + Hayır + + + + Hide Changelog + Değişiklik Günlüğünü Gizle + + + + Changes + Değişiklikler + + + + Network error occurred while trying to access the URL + URL'ye erişmeye çalışırken bir ağ hatası oluştu + + + + Download Complete + İndirme Tamamlandı + + + + The update has been downloaded, press OK to install. + Güncelleme indirildi, yüklemek için Tamam'a basın. + + + + Failed to save the update file at + Güncelleme dosyası kaydedilemedi + + + + Failed to open the ZIP file + ZIP dosyası açılamadı + + + + File name is empty. Possibly corrupted ZIP. + Dosya adı boş. Muhtemelen ZIP bozuk. + + + + Failed to create directory + Direktör oluşturulamadı + + + + Error decompressing file + Dosyayı açarken hata + + + + Failed to open output file + Çıktı dosyası açılamadı + + + + Unsupported compression method for file: + Dosya için desteklenmeyen sıkıştırma yöntemi: + + + + Failed to create TAR extraction directory + TAR çıkartma dizini oluşturulamadı + + + + Failed to extract the TAR file + TAR dosyası çıkarılamadı + + + + Starting Update... + Güncelleme Başlatılıyor... + + + + Failed to create the update script file + Güncelleme betiği dosyası oluşturulamadı + + \ No newline at end of file diff --git a/src/qt_gui/translations/vi_VN.ts b/src/qt_gui/translations/vi_VN.ts index 017e61af52..47e3f96df3 100644 --- a/src/qt_gui/translations/vi_VN.ts +++ b/src/qt_gui/translations/vi_VN.ts @@ -168,6 +168,11 @@ Boot Game Boot Game + + + Check for Updates + Kiểm tra bản cập nhật + About shadPS4 @@ -308,11 +313,11 @@ Themes Themes - - - About - About - + + + Help + Giúp đỡ + Dark @@ -497,6 +502,21 @@ Enable RenderDoc Debugging Enable RenderDoc Debugging + + + Update + Cập nhật + + + + Check for Updates at Startup + Kiểm tra cập nhật khi khởi động + + + + Check for Updates + Kiểm tra cập nhật + MainWindow @@ -975,4 +995,177 @@ Đường dẫn + + CheckUpdate + + + Auto Updater + Trình cập nhật tự động + + + + Error + Lỗi + + + + Invalid update channel: + Kênh cập nhật không hợp lệ: + + + + In updateChannel in config.tml file must contain 'stable' or 'unstable' + Trong updateChannel trong tệp config.tml phải chứa 'stable' hoặc 'unstable' + + + + Network error: + Lỗi mạng: + + + + Failed to parse update information. + Không thể phân tích thông tin cập nhật. + + + + No pre-releases found. + Không tìm thấy bản phát hành trước. + + + + Invalid release data. + Dữ liệu bản phát hành không hợp lệ. + + + + No download URL found for the specified asset. + Không tìm thấy URL tải xuống cho tài sản đã chỉ định. + + + + Your version is already up to date! + Phiên bản của bạn đã được cập nhật! + + + + Update Available + Có bản cập nhật + + + + Current Version + Phiên bản hiện tại + + + + Latest Version + Phiên bản mới nhất + + + + Do you want to update? + Bạn có muốn cập nhật không? + + + + Show Changelog + Hiện nhật ký thay đổi + + + + Check for Updates at Startup + Kiểm tra cập nhật khi khởi động + + + + Update + Cập nhật + + + + No + Không + + + + Hide Changelog + Ẩn nhật ký thay đổi + + + + Changes + Thay đổi + + + + Network error occurred while trying to access the URL + Xảy ra lỗi mạng khi cố gắng truy cập URL + + + + Download Complete + Tải xuống hoàn tất + + + + The update has been downloaded, press OK to install. + Bản cập nhật đã được tải xuống, nhấn OK để cài đặt. + + + + Failed to save the update file at + Không thể lưu tệp cập nhật tại + + + + Failed to open the ZIP file + Không thể mở tệp ZIP + + + + File name is empty. Possibly corrupted ZIP. + Tên tệp trống. Có thể ZIP bị hỏng. + + + + Failed to create directory + Không thể tạo thư mục + + + + Error decompressing file + Lỗi khi giải nén tệp + + + + Failed to open output file + Không thể mở tệp đầu ra + + + + Unsupported compression method for file: + Phương pháp nén không được hỗ trợ cho tệp: + + + + Failed to create TAR extraction directory + Không thể tạo thư mục giải nén TAR + + + + Failed to extract the TAR file + Không thể giải nén tệp TAR + + + + Starting Update... + Đang bắt đầu cập nhật... + + + + Failed to create the update script file + Không thể tạo tệp kịch bản cập nhật + + \ No newline at end of file diff --git a/src/qt_gui/translations/zh_CN.ts b/src/qt_gui/translations/zh_CN.ts index f8675ed01d..82af3be8a7 100644 --- a/src/qt_gui/translations/zh_CN.ts +++ b/src/qt_gui/translations/zh_CN.ts @@ -168,6 +168,11 @@ Boot Game 启动游戏 + + + Check for Updates + 检查更新 + About shadPS4 @@ -308,11 +313,11 @@ Themes 主题 - - - About - 关于 - + + + Help + 帮助 + Dark @@ -497,6 +502,21 @@ Enable RenderDoc Debugging 启用 RenderDoc 调试 + + + Update + 更新 + + + + Check for Updates at Startup + 启动时检查更新 + + + + Check for Updates + 检查更新 + MainWindow @@ -975,4 +995,177 @@ 路径 + + CheckUpdate + + + Auto Updater + 自动更新程序 + + + + Error + 错误 + + + + Invalid update channel: + 无效的更新通道: + + + + In updateChannel in config.tml file must contain 'stable' or 'unstable' + config.tml 文件中的 updateChannel 必须包含 'stable' 或 'unstable' + + + + Network error: + 网络错误: + + + + Failed to parse update information. + 无法解析更新信息。 + + + + No pre-releases found. + 未找到预发布版本。 + + + + Invalid release data. + 无效的发布数据。 + + + + No download URL found for the specified asset. + 未找到指定资产的下载 URL。 + + + + Your version is already up to date! + 您的版本已经是最新的! + + + + Update Available + 可用更新 + + + + Current Version + 当前版本 + + + + Latest Version + 最新版本 + + + + Do you want to update? + 您想要更新吗? + + + + Show Changelog + 显示变更日志 + + + + Check for Updates at Startup + 启动时检查更新 + + + + Update + 更新 + + + + No + + + + + Hide Changelog + 隐藏变更日志 + + + + Changes + 变更 + + + + Network error occurred while trying to access the URL + 尝试访问 URL 时发生网络错误 + + + + Download Complete + 下载完成 + + + + The update has been downloaded, press OK to install. + 更新已下载,请按 OK 安装。 + + + + Failed to save the update file at + 无法保存更新文件到 + + + + Failed to open the ZIP file + 无法打开 ZIP 文件 + + + + File name is empty. Possibly corrupted ZIP. + 文件名为空。可能是损坏的 ZIP。 + + + + Failed to create directory + 无法创建目录 + + + + Error decompressing file + 解压缩文件时出错 + + + + Failed to open output file + 无法打开输出文件 + + + + Unsupported compression method for file: + 文件的压缩方法不受支持: + + + + Failed to create TAR extraction directory + 无法创建 TAR 解压缩目录 + + + + Failed to extract the TAR file + 无法提取 TAR 文件 + + + + Starting Update... + 正在开始更新... + + + + Failed to create the update script file + 无法创建更新脚本文件 + + \ No newline at end of file diff --git a/src/qt_gui/translations/zh_TW.ts b/src/qt_gui/translations/zh_TW.ts index 77fe691fe9..2b274e38eb 100644 --- a/src/qt_gui/translations/zh_TW.ts +++ b/src/qt_gui/translations/zh_TW.ts @@ -168,6 +168,11 @@ Boot Game Boot Game + + + Check for Updates + 檢查更新 + About shadPS4 @@ -308,11 +313,11 @@ Themes Themes - - - About - About - + + + Help + 幫助 + Dark @@ -497,6 +502,21 @@ Enable RenderDoc Debugging Enable RenderDoc Debugging + + + Update + 更新 + + + + Check for Updates at Startup + 啟動時檢查更新 + + + + Check for Updates + 檢查更新 + MainWindow @@ -975,4 +995,177 @@ 路徑 + + CheckUpdate + + + Auto Updater + 自動更新程式 + + + + Error + 錯誤 + + + + Invalid update channel: + 無效的更新通道: + + + + In updateChannel in config.tml file must contain 'stable' or 'unstable' + 在 config.tml 文件的 updateChannel 中必須包含 'stable' 或 'unstable' + + + + Network error: + 網路錯誤: + + + + Failed to parse update information. + 無法解析更新資訊。 + + + + No pre-releases found. + 未找到預發布版本。 + + + + Invalid release data. + 無效的發行數據。 + + + + No download URL found for the specified asset. + 未找到指定資產的下載 URL。 + + + + Your version is already up to date! + 您的版本已經是最新的! + + + + Update Available + 可用更新 + + + + Current Version + 當前版本 + + + + Latest Version + 最新版本 + + + + Do you want to update? + 您想要更新嗎? + + + + Show Changelog + 顯示變更日誌 + + + + Check for Updates at Startup + 啟動時檢查更新 + + + + Update + 更新 + + + + No + + + + + Hide Changelog + 隱藏變更日誌 + + + + Changes + 變更 + + + + Network error occurred while trying to access the URL + 嘗試訪問 URL 時發生網路錯誤 + + + + Download Complete + 下載完成 + + + + The update has been downloaded, press OK to install. + 更新已下載,按 OK 安裝。 + + + + Failed to save the update file at + 無法將更新文件保存到 + + + + Failed to open the ZIP file + 無法打開 ZIP 文件 + + + + File name is empty. Possibly corrupted ZIP. + 文件名為空。可能是損壞的 ZIP。 + + + + Failed to create directory + 無法創建目錄 + + + + Error decompressing file + 解壓文件時出錯 + + + + Failed to open output file + 無法打開輸出文件 + + + + Unsupported compression method for file: + 不支持的文件壓縮方法: + + + + Failed to create TAR extraction directory + 無法創建 TAR 解壓縮目錄 + + + + Failed to extract the TAR file + 無法提取 TAR 文件 + + + + Starting Update... + 正在開始更新... + + + + Failed to create the update script file + 無法創建更新腳本文件 + + \ No newline at end of file diff --git a/src/shadps4.qrc b/src/shadps4.qrc index c22b837bda..a59cb0621f 100644 --- a/src/shadps4.qrc +++ b/src/shadps4.qrc @@ -2,6 +2,7 @@ images/shadps4.ico images/about_icon.png + images/dump_icon.png images/play_icon.png images/pause_icon.png images/stop_icon.png @@ -15,6 +16,7 @@ images/settings_icon.png images/controller_icon.png images/refresh_icon.png + images/update_icon.png images/list_mode_icon.png images/flag_jp.png images/flag_eu.png