From 1e90f4594105c5e14f3d9099572dc765ab0e8d7a Mon Sep 17 00:00:00 2001
From: SaynedBread <114937220+CyntexMore@users.noreply.github.com>
Date: Sun, 25 Aug 2024 02:53:13 +0200
Subject: [PATCH 01/12] docs: Added some fancy Markdown formating to the README
---
README.md | 26 ++++++++++++++++----------
1 file changed, 16 insertions(+), 10 deletions(-)
diff --git a/README.md b/README.md
index 542acca9..ba94b64b 100644
--- a/README.md
+++ b/README.md
@@ -32,25 +32,28 @@ SPDX-License-Identifier: GPL-2.0-or-later
-# shadPS4
+# General information
-shadPS4 is an early **PlayStation 4** emulator for **Windows**, **Linux** and **macOS** written in C++
+shadPS4 is an early **PlayStation 4** emulator for **Windows**, **Linux** and **macOS** written in C++.
If you encounter problems or have doubts, do not hesitate to look at the [**Quickstart**](https://github.com/shadps4-emu/shadPS4/blob/main/documents/Quickstart/Quickstart.md).
To verify that a game works, you can look at [**shadPS4 Game Compatibility**](https://github.com/shadps4-emu/shadps4-game-compatibility).
-To discuss shadPS4 development or suggest ideas, join the [**Discord server**](https://discord.gg/MyZRaBngxA).
+To discuss shadPS4 development, suggest ideas or to ask for help, join our [**Discord server**](https://discord.gg/MyZRaBngxA).
-To get the latest news, go to our [**X (twitter)**](https://x.com/shadps4) or our [**website**](https://shadps4.net/).
+To get the latest news, go to our [**X (Twitter)**](https://x.com/shadps4) or our [**website**](https://shadps4.net/).
# Status
-In development, small games are working like [**Sonic Mania**](https://www.youtube.com/watch?v=AAHoNzhHyCU), [**Undertale**](https://youtu.be/5zIvdy65Ro4), [**Dysmantle**](https://youtu.be/b9xzhLBdESE) and others...
+> [!IMPORTANT]
+> shadPS4 is early in developement, don't expect a flawless experience.
+
+Currently, the emulator successfully runs small games like [**Sonic Mania**](https://www.youtube.com/watch?v=AAHoNzhHyCU), [**Undertale**](https://youtu.be/5zIvdy65Ro4), [**Dysmantle**](https://youtu.be/b9xzhLBdESE), and a few others. Most importantly shadPS4 can *somewhat* run Bloodborne.
# Why
-The project started as a fun project. Due to limited free time, it will probably take a while before shadPS4 is able to run anything decent, but we're trying to make small, regular commits.
+This project began as a fun project. Given our limited free time, it may take some time before shadPS4 can run more complex games, but we're committed to making small, regular updates.
# Build
@@ -62,7 +65,7 @@ Check the build instructions for [**Windows**](https://github.com/shadps4-emu/sh
Check the build instructions for [**Linux**](https://github.com/shadps4-emu/shadPS4/blob/main/documents/building-linux.md).
-## Build status
+## Building status
Windows
@@ -95,9 +98,12 @@ Check the build instructions for [**Linux**](https://github.com/shadps4-emu/shad
For more information on how to test, debug and report issues with the emulator or games, read the [Debugging documentation](https://github.com/shadps4-emu/shadPS4/blob/main/documents/Debugging/Debugging.md).
-# Keyboard Mapping
+# Keyboard mapping
-| Controller button | Keyboard |
+> [!NOTE]
+> Keyboard mappings can be changed from the Qt interface of shadPS4. Xbox and DualShock controllers work out of the box.
+
+| Controller button | Keyboard equivelant |
|-------------|-------------|
LEFT AXIS UP | W |
LEFT AXIS DOWN | S |
@@ -154,4 +160,4 @@ Open a PR and we'll check it :)
# License
-- [**GPL-2.0 license**](https://github.com/shadps4-emu/shadPS4/blob/main/LICENSE)
\ No newline at end of file
+- [**GPL-2.0 license**](https://github.com/shadps4-emu/shadPS4/blob/main/LICENSE)
From 41a93dcae41d4c977d430978ba5b01a4ed03e108 Mon Sep 17 00:00:00 2001
From: SaynedBread <114937220+CyntexMore@users.noreply.github.com>
Date: Sun, 25 Aug 2024 02:54:46 +0200
Subject: [PATCH 02/12] docs: Added some fancy Markdown formating to the
README
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index ba94b64b..25dbbccc 100644
--- a/README.md
+++ b/README.md
@@ -55,7 +55,7 @@ Currently, the emulator successfully runs small games like [**Sonic Mania**](htt
This project began as a fun project. Given our limited free time, it may take some time before shadPS4 can run more complex games, but we're committed to making small, regular updates.
-# Build
+# Building
## Windows
From 3f445eca407984a3808a1be9efd12ccfcb8299fa Mon Sep 17 00:00:00 2001
From: Dzmitry Dubrova
Date: Sun, 25 Aug 2024 11:45:26 +0300
Subject: [PATCH 03/12] gui: Implement gui translations
---
CMakeLists.txt | 19 +-
src/common/config.cpp | 12 +
src/common/config.h | 2 +
src/qt_gui/game_info.cpp | 4 +-
src/qt_gui/game_install_dialog.cpp | 10 +-
src/qt_gui/gui_context_menus.h | 39 +--
src/qt_gui/main_window.cpp | 41 +++
src/qt_gui/main_window.h | 5 +
src/qt_gui/settings_dialog.cpp | 33 ++
src/qt_gui/settings_dialog.h | 7 +
src/qt_gui/settings_dialog.ui | 69 ++--
src/qt_gui/translations/da_DK.ts | 491 +++++++++++++++++++++++++++++
src/qt_gui/translations/de.ts | 491 +++++++++++++++++++++++++++++
src/qt_gui/translations/el.ts | 491 +++++++++++++++++++++++++++++
src/qt_gui/translations/en.ts | 491 +++++++++++++++++++++++++++++
src/qt_gui/translations/es_ES.ts | 491 +++++++++++++++++++++++++++++
src/qt_gui/translations/fi.ts | 491 +++++++++++++++++++++++++++++
src/qt_gui/translations/fr.ts | 491 +++++++++++++++++++++++++++++
src/qt_gui/translations/hu_HU.ts | 491 +++++++++++++++++++++++++++++
src/qt_gui/translations/id.ts | 491 +++++++++++++++++++++++++++++
src/qt_gui/translations/it.ts | 491 +++++++++++++++++++++++++++++
src/qt_gui/translations/ja_JP.ts | 491 +++++++++++++++++++++++++++++
src/qt_gui/translations/ko_KR.ts | 491 +++++++++++++++++++++++++++++
src/qt_gui/translations/lt_LT.ts | 491 +++++++++++++++++++++++++++++
src/qt_gui/translations/nb.ts | 491 +++++++++++++++++++++++++++++
src/qt_gui/translations/nl.ts | 491 +++++++++++++++++++++++++++++
src/qt_gui/translations/pl_PL.ts | 491 +++++++++++++++++++++++++++++
src/qt_gui/translations/pt_BR.ts | 491 +++++++++++++++++++++++++++++
src/qt_gui/translations/ro_RO.ts | 491 +++++++++++++++++++++++++++++
src/qt_gui/translations/ru_RU.ts | 491 +++++++++++++++++++++++++++++
src/qt_gui/translations/tr_TR.ts | 491 +++++++++++++++++++++++++++++
src/qt_gui/translations/vi_VN.ts | 491 +++++++++++++++++++++++++++++
src/qt_gui/translations/zh_CN.ts | 491 +++++++++++++++++++++++++++++
src/qt_gui/translations/zh_TW.ts | 491 +++++++++++++++++++++++++++++
src/qt_gui/trophy_viewer.cpp | 2 +-
35 files changed, 11473 insertions(+), 63 deletions(-)
create mode 100644 src/qt_gui/translations/da_DK.ts
create mode 100644 src/qt_gui/translations/de.ts
create mode 100644 src/qt_gui/translations/el.ts
create mode 100644 src/qt_gui/translations/en.ts
create mode 100644 src/qt_gui/translations/es_ES.ts
create mode 100644 src/qt_gui/translations/fi.ts
create mode 100644 src/qt_gui/translations/fr.ts
create mode 100644 src/qt_gui/translations/hu_HU.ts
create mode 100644 src/qt_gui/translations/id.ts
create mode 100644 src/qt_gui/translations/it.ts
create mode 100644 src/qt_gui/translations/ja_JP.ts
create mode 100644 src/qt_gui/translations/ko_KR.ts
create mode 100644 src/qt_gui/translations/lt_LT.ts
create mode 100644 src/qt_gui/translations/nb.ts
create mode 100644 src/qt_gui/translations/nl.ts
create mode 100644 src/qt_gui/translations/pl_PL.ts
create mode 100644 src/qt_gui/translations/pt_BR.ts
create mode 100644 src/qt_gui/translations/ro_RO.ts
create mode 100644 src/qt_gui/translations/ru_RU.ts
create mode 100644 src/qt_gui/translations/tr_TR.ts
create mode 100644 src/qt_gui/translations/vi_VN.ts
create mode 100644 src/qt_gui/translations/zh_CN.ts
create mode 100644 src/qt_gui/translations/zh_TW.ts
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0ff00d6f..721f1128 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -113,11 +113,27 @@ add_subdirectory(externals)
include_directories(src)
if(ENABLE_QT_GUI)
- find_package(Qt6 REQUIRED COMPONENTS Widgets Concurrent)
+ find_package(Qt6 REQUIRED COMPONENTS Widgets Concurrent LinguistTools)
qt_standard_project_setup()
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
+
+ set(QT_TRANSLATIONS "${PROJECT_SOURCE_DIR}/src/qt_gui/translations")
+ file(GLOB_RECURSE TRANSLATIONS_TS ${QT_TRANSLATIONS}/*.ts)
+
+ set_source_files_properties(${TRANSLATIONS_TS} PROPERTIES OUTPUT_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/translations")
+ qt_add_translation(TRANSLATIONS_QM ${TRANSLATIONS_TS})
+
+ set(TRANSLATIONS_QRC ${CMAKE_CURRENT_BINARY_DIR}/translations/translations.qrc)
+ file(WRITE ${TRANSLATIONS_QRC} "\n")
+ foreach (QM ${TRANSLATIONS_QM})
+ get_filename_component(QM_FILE ${QM} NAME)
+ file(APPEND ${TRANSLATIONS_QRC} "${QM_FILE}\n")
+ endforeach (QM)
+ file(APPEND ${TRANSLATIONS_QRC} "")
+
+ qt_add_resources(TRANSLATIONS ${TRANSLATIONS_QRC})
endif()
set(AUDIO_CORE src/audio_core/sdl_audio.cpp
@@ -574,6 +590,7 @@ set(QT_GUI src/qt_gui/about_dialog.cpp
src/qt_gui/main.cpp
${EMULATOR}
${RESOURCE_FILES}
+ ${TRANSLATIONS}
)
endif()
diff --git a/src/common/config.cpp b/src/common/config.cpp
index ddd1d325..0659a987 100644
--- a/src/common/config.cpp
+++ b/src/common/config.cpp
@@ -45,6 +45,7 @@ u32 m_window_size_H = 720;
std::vector m_pkg_viewer;
std::vector m_elf_viewer;
std::vector m_recent_files;
+std::string emulator_language = "en";
// Settings
u32 m_language = 1; // english
@@ -242,6 +243,10 @@ void setRecentFiles(const std::vector& recentFiles) {
m_recent_files = recentFiles;
}
+void setEmulatorLanguage(std::string language) {
+ emulator_language = language;
+}
+
u32 getMainWindowGeometryX() {
return main_window_geometry_x;
}
@@ -291,6 +296,10 @@ std::vector getRecentFiles() {
return m_recent_files;
}
+std::string getEmulatorLanguage() {
+ return emulator_language;
+}
+
u32 GetLanguage() {
return m_language;
}
@@ -368,6 +377,7 @@ void load(const std::filesystem::path& path) {
m_elf_viewer = toml::find_or>(gui, "elfDirs", {});
m_recent_files = toml::find_or>(gui, "recentFiles", {});
m_table_mode = toml::find_or(gui, "gameTableMode", 0);
+ emulator_language = toml::find_or(gui, "emulatorLanguage", "en");
}
if (data.contains("Settings")) {
@@ -430,6 +440,7 @@ void save(const std::filesystem::path& path) {
data["GUI"]["pkgDirs"] = m_pkg_viewer;
data["GUI"]["elfDirs"] = m_elf_viewer;
data["GUI"]["recentFiles"] = m_recent_files;
+ data["GUI"]["emulatorLanguage"] = emulator_language;
data["Settings"]["consoleLanguage"] = m_language;
@@ -454,6 +465,7 @@ void setDefaultValues() {
vblankDivider = 1;
vkValidation = false;
rdocEnable = false;
+ emulator_language = "en";
m_language = 1;
gpuId = -1;
}
diff --git a/src/common/config.h b/src/common/config.h
index 9bf91e69..458fa88c 100644
--- a/src/common/config.h
+++ b/src/common/config.h
@@ -69,6 +69,7 @@ void setMainWindowHeight(u32 height);
void setPkgViewer(const std::vector& pkgList);
void setElfViewer(const std::vector& elfList);
void setRecentFiles(const std::vector& recentFiles);
+void setEmulatorLanguage(std::string language);
u32 getMainWindowGeometryX();
u32 getMainWindowGeometryY();
@@ -86,6 +87,7 @@ u32 getMainWindowHeight();
std::vector getPkgViewer();
std::vector getElfViewer();
std::vector getRecentFiles();
+std::string getEmulatorLanguage();
void setDefaultValues();
diff --git a/src/qt_gui/game_info.cpp b/src/qt_gui/game_info.cpp
index d2bf3bb2..2821a032 100644
--- a/src/qt_gui/game_info.cpp
+++ b/src/qt_gui/game_info.cpp
@@ -23,8 +23,8 @@ void GameInfoClass::GetGameInfo(QWidget* parent) {
}).results();
// Progress bar, please be patient :)
- QProgressDialog dialog("Loading game list, please wait :3", "Cancel", 0, 0, parent);
- dialog.setWindowTitle("Loading...");
+ QProgressDialog dialog(tr("Loading game list, please wait :3"), tr("Cancel"), 0, 0, parent);
+ dialog.setWindowTitle(tr("Loading..."));
QFutureWatcher futureWatcher;
GameListUtils game_util;
diff --git a/src/qt_gui/game_install_dialog.cpp b/src/qt_gui/game_install_dialog.cpp
index 4b2b8528..5f031bde 100644
--- a/src/qt_gui/game_install_dialog.cpp
+++ b/src/qt_gui/game_install_dialog.cpp
@@ -21,14 +21,14 @@ GameInstallDialog::GameInstallDialog() : m_gamesDirectory(nullptr) {
layout->addStretch();
layout->addWidget(SetupDialogActions());
- setWindowTitle("shadPS4 - Choose directory");
+ setWindowTitle(tr("shadPS4 - Choose directory"));
setWindowIcon(QIcon(":images/shadps4.ico"));
}
GameInstallDialog::~GameInstallDialog() {}
void GameInstallDialog::Browse() {
- auto path = QFileDialog::getExistingDirectory(this, "Directory to install games");
+ auto path = QFileDialog::getExistingDirectory(this, tr("Directory to install games"));
if (!path.isEmpty()) {
m_gamesDirectory->setText(QDir::toNativeSeparators(path));
@@ -36,7 +36,7 @@ void GameInstallDialog::Browse() {
}
QWidget* GameInstallDialog::SetupGamesDirectory() {
- auto group = new QGroupBox("Directory to install games");
+ auto group = new QGroupBox(tr("Directory to install games"));
auto layout = new QHBoxLayout(group);
// Input.
@@ -47,7 +47,7 @@ QWidget* GameInstallDialog::SetupGamesDirectory() {
layout->addWidget(m_gamesDirectory);
// Browse button.
- auto browse = new QPushButton("Browse");
+ auto browse = new QPushButton(tr("Browse"));
connect(browse, &QPushButton::clicked, this, &GameInstallDialog::Browse);
@@ -71,7 +71,7 @@ void GameInstallDialog::Save() {
if (gamesDirectory.isEmpty() || !QDir(gamesDirectory).exists() ||
!QDir::isAbsolutePath(gamesDirectory)) {
- QMessageBox::critical(this, "Error",
+ QMessageBox::critical(this, tr("Error"),
"The value for location to install games is not valid.");
return;
}
diff --git a/src/qt_gui/gui_context_menus.h b/src/qt_gui/gui_context_menus.h
index 16afdb18..f4bc519a 100644
--- a/src/qt_gui/gui_context_menus.h
+++ b/src/qt_gui/gui_context_menus.h
@@ -36,10 +36,10 @@ public:
// Setup menu.
QMenu menu(widget);
- QAction createShortcut("Create Shortcut", widget);
- QAction openFolder("Open Game Folder", widget);
- QAction openSfoViewer("SFO Viewer", widget);
- QAction openTrophyViewer("Trophy Viewer", widget);
+ QAction createShortcut(tr("Create Shortcut"), widget);
+ QAction openFolder(tr("Open Game Folder"), widget);
+ QAction openSfoViewer(tr("SFO Viewer"), widget);
+ QAction openTrophyViewer(tr("Trophy Viewer"), widget);
menu.addAction(&openFolder);
menu.addAction(&createShortcut);
@@ -47,10 +47,10 @@ public:
menu.addAction(&openTrophyViewer);
// "Copy" submenu.
- QMenu* copyMenu = new QMenu("Copy info", widget);
- QAction* copyName = new QAction("Copy Name", widget);
- QAction* copySerial = new QAction("Copy Serial", widget);
- QAction* copyNameAll = new QAction("Copy All", widget);
+ QMenu* copyMenu = new QMenu(tr("Copy info"), widget);
+ QAction* copyName = new QAction(tr("Copy Name"), widget);
+ QAction* copySerial = new QAction(tr("Copy Serial"), widget);
+ QAction* copyNameAll = new QAction(tr("Copy All"), widget);
copyMenu->addAction(copyName);
copyMenu->addAction(copySerial);
@@ -116,7 +116,7 @@ public:
tableWidget->horizontalHeader()->setVisible(false);
tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Fixed);
- tableWidget->setWindowTitle("SFO Viewer");
+ tableWidget->setWindowTitle(tr("SFO Viewer"));
tableWidget->show();
}
}
@@ -170,15 +170,15 @@ public:
if (createShortcutLinux(linkPath, ebootPath, iconPath)) {
#endif
QMessageBox::information(
- nullptr, "Shortcut creation",
- QString("Shortcut created successfully!\n %1").arg(linkPath));
+ nullptr, tr("Shortcut creation"),
+ QString(tr("Shortcut created successfully!\n %1")).arg(linkPath));
} else {
QMessageBox::critical(
- nullptr, "Error",
- QString("Error creating shortcut!\n %1").arg(linkPath));
+ nullptr, tr("Error"),
+ QString(tr("Error creating shortcut!\n %1")).arg(linkPath));
}
} else {
- QMessageBox::critical(nullptr, "Error", "Failed to convert icon.");
+ QMessageBox::critical(nullptr, tr("Error"), tr("Failed to convert icon."));
}
} else {
// If the icon is already in ICO format, we just create the shortcut
@@ -188,11 +188,12 @@ public:
if (createShortcutLinux(linkPath, ebootPath, iconPath)) {
#endif
QMessageBox::information(
- nullptr, "Shortcut creation",
- QString("Shortcut created successfully!\n %1").arg(linkPath));
+ nullptr, tr("Shortcut creation"),
+ QString(tr("Shortcut created successfully!\n %1")).arg(linkPath));
} else {
- QMessageBox::critical(nullptr, "Error",
- QString("Error creating shortcut!\n %1").arg(linkPath));
+ QMessageBox::critical(
+ nullptr, tr("Error"),
+ QString(tr("Error creating shortcut!\n %1")).arg(linkPath));
}
}
}
@@ -249,7 +250,7 @@ public:
int itemIndex = GetRowIndex(treeWidget, currentItem); // row
QMenu menu(treeWidget);
- QAction installPackage("Install PKG", treeWidget);
+ QAction installPackage(tr("Install PKG"), treeWidget);
menu.addAction(&installPackage);
diff --git a/src/qt_gui/main_window.cpp b/src/qt_gui/main_window.cpp
index b6711d71..64a89c6a 100644
--- a/src/qt_gui/main_window.cpp
+++ b/src/qt_gui/main_window.cpp
@@ -37,6 +37,7 @@ bool MainWindow::Init() {
SetLastUsedTheme();
SetLastIconSizeBullet();
GetPhysicalDevices();
+ LoadTranslation();
// show ui
setMinimumSize(350, minimumSizeHint().height());
setWindowTitle(QString::fromStdString("shadPS4 v" + std::string(Common::VERSION)));
@@ -200,11 +201,19 @@ void MainWindow::CreateConnects() {
connect(ui->configureAct, &QAction::triggered, this, [this]() {
auto settingsDialog = new SettingsDialog(m_physical_devices, this);
+
+ connect(settingsDialog, &SettingsDialog::LanguageChanged, this,
+ &MainWindow::OnLanguageChanged);
+
settingsDialog->exec();
});
connect(ui->settingsButton, &QPushButton::clicked, this, [this]() {
auto settingsDialog = new SettingsDialog(m_physical_devices, this);
+
+ connect(settingsDialog, &SettingsDialog::LanguageChanged, this,
+ &MainWindow::OnLanguageChanged);
+
settingsDialog->exec();
});
@@ -781,3 +790,35 @@ void MainWindow::CreateRecentGameActions() {
emulator.Run(gamePath.toUtf8().constData());
});
}
+
+void MainWindow::LoadTranslation() {
+ auto language = QString::fromStdString(Config::getEmulatorLanguage());
+
+ const QString base_dir = QStringLiteral(":/translations");
+ QString base_path = QStringLiteral("%1/%2.qm").arg(base_dir).arg(language);
+
+ if (QFile::exists(base_path)) {
+ if (translator != nullptr) {
+ qApp->removeTranslator(translator);
+ }
+
+ translator = new QTranslator(qApp);
+ if (!translator->load(base_path)) {
+ QMessageBox::warning(
+ nullptr, QStringLiteral("Translation Error"),
+ QStringLiteral("Failed to find load translation file for '%1':\n%2")
+ .arg(language)
+ .arg(base_path));
+ delete translator;
+ } else {
+ qApp->installTranslator(translator);
+ ui->retranslateUi(this);
+ }
+ }
+}
+
+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 1abe1762..d3b83e61 100644
--- a/src/qt_gui/main_window.h
+++ b/src/qt_gui/main_window.h
@@ -5,6 +5,7 @@
#include
#include
+#include
#include "common/config.h"
#include "common/path_util.h"
@@ -43,6 +44,7 @@ private Q_SLOTS:
void ShowGameList();
void RefreshGameTable();
void HandleResize(QResizeEvent* event);
+ void OnLanguageChanged(const std::string& locale);
private:
Ui_MainWindow* ui;
@@ -59,6 +61,7 @@ private:
void InstallPkg();
void BootGame();
void AddRecentFiles(QString filePath);
+ void LoadTranslation();
QIcon RecolorIcon(const QIcon& icon, bool isWhite);
bool isIconBlack = false;
bool isTableList = true;
@@ -84,6 +87,8 @@ private:
std::shared_ptr m_game_info = std::make_shared();
+ QTranslator* translator;
+
protected:
void dragEnterEvent(QDragEnterEvent* event1) override {
if (event1->mimeData()->hasUrls()) {
diff --git a/src/qt_gui/settings_dialog.cpp b/src/qt_gui/settings_dialog.cpp
index 09247951..d572915c 100644
--- a/src/qt_gui/settings_dialog.cpp
+++ b/src/qt_gui/settings_dialog.cpp
@@ -2,7 +2,9 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#include
+#include
+#include "main_window.h"
#include "settings_dialog.h"
#include "ui_settings_dialog.h"
@@ -60,6 +62,7 @@ SettingsDialog::SettingsDialog(std::span physical_devices, QWidge
completer->setCaseSensitivity(Qt::CaseInsensitive);
ui->consoleLanguageComboBox->setCompleter(completer);
+ InitializeEmulatorLanguages();
LoadValuesFromConfig();
connect(ui->buttonBox, &QDialogButtonBox::rejected, this, &QWidget::close);
@@ -158,6 +161,7 @@ void SettingsDialog::LoadValuesFromConfig() {
languageIndexes.begin(),
std::find(languageIndexes.begin(), languageIndexes.end(), Config::GetLanguage())) %
languageIndexes.size());
+ ui->emulatorLanguageComboBox->setCurrentIndex(languages[Config::getEmulatorLanguage()]);
ui->graphicsAdapterBox->setCurrentIndex(Config::getGpuId() + 1);
ui->widthSpinBox->setValue(Config::getScreenWidth());
ui->heightSpinBox->setValue(Config::getScreenHeight());
@@ -179,6 +183,35 @@ void SettingsDialog::LoadValuesFromConfig() {
ui->rdocCheckBox->setChecked(Config::isRdocEnabled());
}
+void SettingsDialog::InitializeEmulatorLanguages() {
+ QDirIterator it(QStringLiteral(":/translations"), QDirIterator::NoIteratorFlags);
+
+ int idx = 0;
+ while (it.hasNext()) {
+ QString locale = it.next();
+ locale.truncate(locale.lastIndexOf(QLatin1Char{'.'}));
+ locale.remove(0, locale.lastIndexOf(QLatin1Char{'/'}) + 1);
+ const QString lang = QLocale::languageToString(QLocale(locale).language());
+ const QString country = QLocale::territoryToString(QLocale(locale).territory());
+ ui->emulatorLanguageComboBox->addItem(QStringLiteral("%1 (%2)").arg(lang, country), locale);
+
+ languages[locale.toStdString()] = idx;
+ idx++;
+ }
+
+ connect(ui->emulatorLanguageComboBox, qOverload(&QComboBox::currentIndexChanged), this,
+ &SettingsDialog::OnLanguageChanged);
+}
+
+void SettingsDialog::OnLanguageChanged(int index) {
+ if (index == -1)
+ return;
+
+ ui->retranslateUi(this);
+
+ emit LanguageChanged(ui->emulatorLanguageComboBox->itemData(index).toString().toStdString());
+}
+
int SettingsDialog::exec() {
return QDialog::exec();
}
diff --git a/src/qt_gui/settings_dialog.h b/src/qt_gui/settings_dialog.h
index 7d870109..ddae7daa 100644
--- a/src/qt_gui/settings_dialog.h
+++ b/src/qt_gui/settings_dialog.h
@@ -22,8 +22,15 @@ public:
int exec() override;
+signals:
+ void LanguageChanged(const std::string& locale);
+
private:
void LoadValuesFromConfig();
+ void InitializeEmulatorLanguages();
+ void OnLanguageChanged(int index);
std::unique_ptr ui;
+
+ std::map languages;
};
diff --git a/src/qt_gui/settings_dialog.ui b/src/qt_gui/settings_dialog.ui
index d11f177d..1ecd1249 100644
--- a/src/qt_gui/settings_dialog.ui
+++ b/src/qt_gui/settings_dialog.ui
@@ -79,32 +79,6 @@
System
- -
-
-
- 6
-
-
- 0
-
-
-
-
-
-
-
-
- Username
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -117,6 +91,18 @@
+ -
+
+
+ Emulator Language
+
+
+
-
+
+
+
+
+
@@ -156,17 +142,30 @@
-
-
-
- Qt::Orientation::Horizontal
+
+
+ 6
-
-
- 40
- 20
-
+
+ 0
-
+
-
+
+
-
+
+
+ Username
+
+
+
-
+
+
+
+
+
+
+
+
diff --git a/src/qt_gui/translations/da_DK.ts b/src/qt_gui/translations/da_DK.ts
new file mode 100644
index 00000000..0f4489ee
--- /dev/null
+++ b/src/qt_gui/translations/da_DK.ts
@@ -0,0 +1,491 @@
+
+
+
+ AboutDialog
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ shadPS4
+ shadPS4
+
+
+
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+
+
+
+ This software should not be used to play games you have not legally obtained.
+ This software should not be used to play games you have not legally obtained.
+
+
+
+ ElfViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ GameInfoClass
+
+
+ Loading game list, please wait :3
+ Loading game list, please wait :3
+
+
+
+ Cancel
+ Cancel
+
+
+
+ Loading...
+ Loading...
+
+
+
+ GameInstallDialog
+
+
+ shadPS4 - Choose directory
+ shadPS4 - Choose directory
+
+
+
+ Directory to install games
+ Directory to install games
+
+
+
+ Browse
+ Browse
+
+
+
+ Error
+ Error
+
+
+
+ The value for location to install games is not valid.
+ The value for location to install games is not valid.
+
+
+
+ GuiContextMenus
+
+
+ Create Shortcut
+ Create Shortcut
+
+
+
+ Open Game Folder
+ Open Game Folder
+
+
+
+ SFO Viewer
+ SFO Viewer
+
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ Copy info
+ Copy info
+
+
+
+ Copy Name
+ Copy Name
+
+
+
+ Copy Serial
+ Copy Serial
+
+
+
+ Copy All
+ Copy All
+
+
+
+ Shortcut creation
+ Shortcut creation
+
+
+
+ Shortcut created successfully!\n %1
+ Shortcut created successfully!\n %1
+
+
+
+ Error
+ Error
+
+
+
+ Error creating shortcut!\n %1
+ Error creating shortcut!\n %1
+
+
+
+ Install PKG
+ Install PKG
+
+
+
+ MainWindow
+
+
+ Open/Add Elf Folder
+ Open/Add Elf Folder
+
+
+
+ Install Packages (PKG)
+ Install Packages (PKG)
+
+
+
+ Boot Game
+ Boot Game
+
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ Configure...
+ Configure...
+
+
+
+ Install application from a .pkg file
+ Install application from a .pkg file
+
+
+
+ Recent Games
+ Recent Games
+
+
+
+ Exit
+ Exit
+
+
+
+ Exit shadPS4
+ Exit shadPS4
+
+
+
+ Exit the application.
+ Exit the application.
+
+
+
+ Show Game List
+ Show Game List
+
+
+
+ Game List Refresh
+ Game List Refresh
+
+
+
+ Tiny
+ Tiny
+
+
+
+ Small
+ Small
+
+
+
+ Medium
+ Medium
+
+
+
+ Large
+ Large
+
+
+
+ List View
+ List View
+
+
+
+ Grid View
+ Grid View
+
+
+
+ Elf Viewer
+ Elf Viewer
+
+
+
+ Game Install Directory
+ Game Install Directory
+
+
+
+ Dump Game List
+ Dump Game List
+
+
+
+ PKG Viewer
+ PKG Viewer
+
+
+
+ Search...
+ Search...
+
+
+
+ File
+ File
+
+
+
+ View
+ View
+
+
+
+ Game List Icons
+ Game List Icons
+
+
+
+ Game List Mode
+ Game List Mode
+
+
+
+ Settings
+ Settings
+
+
+
+ Utils
+ Utils
+
+
+
+ Themes
+ Themes
+
+
+
+ About
+ About
+
+
+
+ Dark
+ Dark
+
+
+
+ Light
+ Light
+
+
+
+ Green
+ Green
+
+
+
+ Blue
+ Blue
+
+
+
+ Violet
+ Violet
+
+
+
+ toolBar
+ toolBar
+
+
+
+ PKGViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ TrophyViewer
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ SettingsDialog
+
+
+ Settings
+ Settings
+
+
+
+ General
+ General
+
+
+
+ System
+ System
+
+
+
+ Console Language
+ Console Language
+
+
+
+ Emulator Language
+ Emulator Language
+
+
+
+ Emulator
+ Emulator
+
+
+
+ Enable Fullscreen
+ Enable Fullscreen
+
+
+
+ Show Splash
+ Show Splash
+
+
+
+ Is PS4 Pro
+ Is PS4 Pro
+
+
+
+ Username
+ Username
+
+
+
+ Logger
+ Logger
+
+
+
+ Log Type
+ Log Type
+
+
+
+ Log Filter
+ Log Filter
+
+
+
+ Graphics
+ Graphics
+
+
+
+ Graphics Device
+ Graphics Device
+
+
+
+ Width
+ Width
+
+
+
+ Height
+ Height
+
+
+
+ Vblank Divider
+ Vblank Divider
+
+
+
+ Advanced
+ Advanced
+
+
+
+ Enable Shaders Dumping
+ Enable Shaders Dumping
+
+
+
+ Enable NULL GPU
+ Enable NULL GPU
+
+
+
+ Enable PM4 Dumping
+ Enable PM4 Dumping
+
+
+
+ Debug
+ Debug
+
+
+
+ Enable Debug Dumping
+ Enable Debug Dumping
+
+
+
+ Enable Vulkan Validation Layers
+ Enable Vulkan Validation Layers
+
+
+
+ Enable Vulkan Synchronization Validation
+ Enable Vulkan Synchronization Validation
+
+
+
+ Enable RenderDoc Debugging
+ Enable RenderDoc Debugging
+
+
+
\ No newline at end of file
diff --git a/src/qt_gui/translations/de.ts b/src/qt_gui/translations/de.ts
new file mode 100644
index 00000000..1ff204df
--- /dev/null
+++ b/src/qt_gui/translations/de.ts
@@ -0,0 +1,491 @@
+
+
+
+ AboutDialog
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ shadPS4
+ shadPS4
+
+
+
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+
+
+
+ This software should not be used to play games you have not legally obtained.
+ This software should not be used to play games you have not legally obtained.
+
+
+
+ ElfViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ GameInfoClass
+
+
+ Loading game list, please wait :3
+ Loading game list, please wait :3
+
+
+
+ Cancel
+ Cancel
+
+
+
+ Loading...
+ Loading...
+
+
+
+ GameInstallDialog
+
+
+ shadPS4 - Choose directory
+ shadPS4 - Choose directory
+
+
+
+ Directory to install games
+ Directory to install games
+
+
+
+ Browse
+ Browse
+
+
+
+ Error
+ Error
+
+
+
+ The value for location to install games is not valid.
+ The value for location to install games is not valid.
+
+
+
+ GuiContextMenus
+
+
+ Create Shortcut
+ Create Shortcut
+
+
+
+ Open Game Folder
+ Open Game Folder
+
+
+
+ SFO Viewer
+ SFO Viewer
+
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ Copy info
+ Copy info
+
+
+
+ Copy Name
+ Copy Name
+
+
+
+ Copy Serial
+ Copy Serial
+
+
+
+ Copy All
+ Copy All
+
+
+
+ Shortcut creation
+ Shortcut creation
+
+
+
+ Shortcut created successfully!\n %1
+ Shortcut created successfully!\n %1
+
+
+
+ Error
+ Error
+
+
+
+ Error creating shortcut!\n %1
+ Error creating shortcut!\n %1
+
+
+
+ Install PKG
+ Install PKG
+
+
+
+ MainWindow
+
+
+ Open/Add Elf Folder
+ Open/Add Elf Folder
+
+
+
+ Install Packages (PKG)
+ Install Packages (PKG)
+
+
+
+ Boot Game
+ Boot Game
+
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ Configure...
+ Configure...
+
+
+
+ Install application from a .pkg file
+ Install application from a .pkg file
+
+
+
+ Recent Games
+ Recent Games
+
+
+
+ Exit
+ Exit
+
+
+
+ Exit shadPS4
+ Exit shadPS4
+
+
+
+ Exit the application.
+ Exit the application.
+
+
+
+ Show Game List
+ Show Game List
+
+
+
+ Game List Refresh
+ Game List Refresh
+
+
+
+ Tiny
+ Tiny
+
+
+
+ Small
+ Small
+
+
+
+ Medium
+ Medium
+
+
+
+ Large
+ Large
+
+
+
+ List View
+ List View
+
+
+
+ Grid View
+ Grid View
+
+
+
+ Elf Viewer
+ Elf Viewer
+
+
+
+ Game Install Directory
+ Game Install Directory
+
+
+
+ Dump Game List
+ Dump Game List
+
+
+
+ PKG Viewer
+ PKG Viewer
+
+
+
+ Search...
+ Search...
+
+
+
+ File
+ File
+
+
+
+ View
+ View
+
+
+
+ Game List Icons
+ Game List Icons
+
+
+
+ Game List Mode
+ Game List Mode
+
+
+
+ Settings
+ Settings
+
+
+
+ Utils
+ Utils
+
+
+
+ Themes
+ Themes
+
+
+
+ About
+ About
+
+
+
+ Dark
+ Dark
+
+
+
+ Light
+ Light
+
+
+
+ Green
+ Green
+
+
+
+ Blue
+ Blue
+
+
+
+ Violet
+ Violet
+
+
+
+ toolBar
+ toolBar
+
+
+
+ PKGViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ TrophyViewer
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ SettingsDialog
+
+
+ Settings
+ Settings
+
+
+
+ General
+ General
+
+
+
+ System
+ System
+
+
+
+ Console Language
+ Console Language
+
+
+
+ Emulator Language
+ Emulator Language
+
+
+
+ Emulator
+ Emulator
+
+
+
+ Enable Fullscreen
+ Enable Fullscreen
+
+
+
+ Show Splash
+ Show Splash
+
+
+
+ Is PS4 Pro
+ Is PS4 Pro
+
+
+
+ Username
+ Username
+
+
+
+ Logger
+ Logger
+
+
+
+ Log Type
+ Log Type
+
+
+
+ Log Filter
+ Log Filter
+
+
+
+ Graphics
+ Graphics
+
+
+
+ Graphics Device
+ Graphics Device
+
+
+
+ Width
+ Width
+
+
+
+ Height
+ Height
+
+
+
+ Vblank Divider
+ Vblank Divider
+
+
+
+ Advanced
+ Advanced
+
+
+
+ Enable Shaders Dumping
+ Enable Shaders Dumping
+
+
+
+ Enable NULL GPU
+ Enable NULL GPU
+
+
+
+ Enable PM4 Dumping
+ Enable PM4 Dumping
+
+
+
+ Debug
+ Debug
+
+
+
+ Enable Debug Dumping
+ Enable Debug Dumping
+
+
+
+ Enable Vulkan Validation Layers
+ Enable Vulkan Validation Layers
+
+
+
+ Enable Vulkan Synchronization Validation
+ Enable Vulkan Synchronization Validation
+
+
+
+ Enable RenderDoc Debugging
+ Enable RenderDoc Debugging
+
+
+
\ No newline at end of file
diff --git a/src/qt_gui/translations/el.ts b/src/qt_gui/translations/el.ts
new file mode 100644
index 00000000..b015954e
--- /dev/null
+++ b/src/qt_gui/translations/el.ts
@@ -0,0 +1,491 @@
+
+
+
+ AboutDialog
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ shadPS4
+ shadPS4
+
+
+
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+
+
+
+ This software should not be used to play games you have not legally obtained.
+ This software should not be used to play games you have not legally obtained.
+
+
+
+ ElfViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ GameInfoClass
+
+
+ Loading game list, please wait :3
+ Loading game list, please wait :3
+
+
+
+ Cancel
+ Cancel
+
+
+
+ Loading...
+ Loading...
+
+
+
+ GameInstallDialog
+
+
+ shadPS4 - Choose directory
+ shadPS4 - Choose directory
+
+
+
+ Directory to install games
+ Directory to install games
+
+
+
+ Browse
+ Browse
+
+
+
+ Error
+ Error
+
+
+
+ The value for location to install games is not valid.
+ The value for location to install games is not valid.
+
+
+
+ GuiContextMenus
+
+
+ Create Shortcut
+ Create Shortcut
+
+
+
+ Open Game Folder
+ Open Game Folder
+
+
+
+ SFO Viewer
+ SFO Viewer
+
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ Copy info
+ Copy info
+
+
+
+ Copy Name
+ Copy Name
+
+
+
+ Copy Serial
+ Copy Serial
+
+
+
+ Copy All
+ Copy All
+
+
+
+ Shortcut creation
+ Shortcut creation
+
+
+
+ Shortcut created successfully!\n %1
+ Shortcut created successfully!\n %1
+
+
+
+ Error
+ Error
+
+
+
+ Error creating shortcut!\n %1
+ Error creating shortcut!\n %1
+
+
+
+ Install PKG
+ Install PKG
+
+
+
+ MainWindow
+
+
+ Open/Add Elf Folder
+ Open/Add Elf Folder
+
+
+
+ Install Packages (PKG)
+ Install Packages (PKG)
+
+
+
+ Boot Game
+ Boot Game
+
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ Configure...
+ Configure...
+
+
+
+ Install application from a .pkg file
+ Install application from a .pkg file
+
+
+
+ Recent Games
+ Recent Games
+
+
+
+ Exit
+ Exit
+
+
+
+ Exit shadPS4
+ Exit shadPS4
+
+
+
+ Exit the application.
+ Exit the application.
+
+
+
+ Show Game List
+ Show Game List
+
+
+
+ Game List Refresh
+ Game List Refresh
+
+
+
+ Tiny
+ Tiny
+
+
+
+ Small
+ Small
+
+
+
+ Medium
+ Medium
+
+
+
+ Large
+ Large
+
+
+
+ List View
+ List View
+
+
+
+ Grid View
+ Grid View
+
+
+
+ Elf Viewer
+ Elf Viewer
+
+
+
+ Game Install Directory
+ Game Install Directory
+
+
+
+ Dump Game List
+ Dump Game List
+
+
+
+ PKG Viewer
+ PKG Viewer
+
+
+
+ Search...
+ Search...
+
+
+
+ File
+ File
+
+
+
+ View
+ View
+
+
+
+ Game List Icons
+ Game List Icons
+
+
+
+ Game List Mode
+ Game List Mode
+
+
+
+ Settings
+ Settings
+
+
+
+ Utils
+ Utils
+
+
+
+ Themes
+ Themes
+
+
+
+ About
+ About
+
+
+
+ Dark
+ Dark
+
+
+
+ Light
+ Light
+
+
+
+ Green
+ Green
+
+
+
+ Blue
+ Blue
+
+
+
+ Violet
+ Violet
+
+
+
+ toolBar
+ toolBar
+
+
+
+ PKGViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ TrophyViewer
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ SettingsDialog
+
+
+ Settings
+ Settings
+
+
+
+ General
+ General
+
+
+
+ System
+ System
+
+
+
+ Console Language
+ Console Language
+
+
+
+ Emulator Language
+ Emulator Language
+
+
+
+ Emulator
+ Emulator
+
+
+
+ Enable Fullscreen
+ Enable Fullscreen
+
+
+
+ Show Splash
+ Show Splash
+
+
+
+ Is PS4 Pro
+ Is PS4 Pro
+
+
+
+ Username
+ Username
+
+
+
+ Logger
+ Logger
+
+
+
+ Log Type
+ Log Type
+
+
+
+ Log Filter
+ Log Filter
+
+
+
+ Graphics
+ Graphics
+
+
+
+ Graphics Device
+ Graphics Device
+
+
+
+ Width
+ Width
+
+
+
+ Height
+ Height
+
+
+
+ Vblank Divider
+ Vblank Divider
+
+
+
+ Advanced
+ Advanced
+
+
+
+ Enable Shaders Dumping
+ Enable Shaders Dumping
+
+
+
+ Enable NULL GPU
+ Enable NULL GPU
+
+
+
+ Enable PM4 Dumping
+ Enable PM4 Dumping
+
+
+
+ Debug
+ Debug
+
+
+
+ Enable Debug Dumping
+ Enable Debug Dumping
+
+
+
+ Enable Vulkan Validation Layers
+ Enable Vulkan Validation Layers
+
+
+
+ Enable Vulkan Synchronization Validation
+ Enable Vulkan Synchronization Validation
+
+
+
+ Enable RenderDoc Debugging
+ Enable RenderDoc Debugging
+
+
+
\ No newline at end of file
diff --git a/src/qt_gui/translations/en.ts b/src/qt_gui/translations/en.ts
new file mode 100644
index 00000000..5ceb1188
--- /dev/null
+++ b/src/qt_gui/translations/en.ts
@@ -0,0 +1,491 @@
+
+
+
+ AboutDialog
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ shadPS4
+ shadPS4
+
+
+
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+
+
+
+ This software should not be used to play games you have not legally obtained.
+ This software should not be used to play games you have not legally obtained.
+
+
+
+ ElfViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ GameInfoClass
+
+
+ Loading game list, please wait :3
+ Loading game list, please wait :3
+
+
+
+ Cancel
+ Cancel
+
+
+
+ Loading...
+ Loading...
+
+
+
+ GameInstallDialog
+
+
+ shadPS4 - Choose directory
+ shadPS4 - Choose directory
+
+
+
+ Directory to install games
+ Directory to install games
+
+
+
+ Browse
+ Browse
+
+
+
+ Error
+ Error
+
+
+
+ The value for location to install games is not valid.
+ The value for location to install games is not valid.
+
+
+
+ GuiContextMenus
+
+
+ Create Shortcut
+ Create Shortcut
+
+
+
+ Open Game Folder
+ Open Game Folder
+
+
+
+ SFO Viewer
+ SFO Viewer
+
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ Copy info
+ Copy info
+
+
+
+ Copy Name
+ Copy Name
+
+
+
+ Copy Serial
+ Copy Serial
+
+
+
+ Copy All
+ Copy All
+
+
+
+ Shortcut creation
+ Shortcut creation
+
+
+
+ Shortcut created successfully!\n %1
+ Shortcut created successfully!\n %1
+
+
+
+ Error
+ Error
+
+
+
+ Error creating shortcut!\n %1
+ Error creating shortcut!\n %1
+
+
+
+ Install PKG
+ Install PKG
+
+
+
+ MainWindow
+
+
+ Open/Add Elf Folder
+ Open/Add Elf Folder
+
+
+
+ Install Packages (PKG)
+ Install Packages (PKG)
+
+
+
+ Boot Game
+ Boot Game
+
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ Configure...
+ Configure...
+
+
+
+ Install application from a .pkg file
+ Install application from a .pkg file
+
+
+
+ Recent Games
+ Recent Games
+
+
+
+ Exit
+ Exit
+
+
+
+ Exit shadPS4
+ Exit shadPS4
+
+
+
+ Exit the application.
+ Exit the application.
+
+
+
+ Show Game List
+ Show Game List
+
+
+
+ Game List Refresh
+ Game List Refresh
+
+
+
+ Tiny
+ Tiny
+
+
+
+ Small
+ Small
+
+
+
+ Medium
+ Medium
+
+
+
+ Large
+ Large
+
+
+
+ List View
+ List View
+
+
+
+ Grid View
+ Grid View
+
+
+
+ Elf Viewer
+ Elf Viewer
+
+
+
+ Game Install Directory
+ Game Install Directory
+
+
+
+ Dump Game List
+ Dump Game List
+
+
+
+ PKG Viewer
+ PKG Viewer
+
+
+
+ Search...
+ Search...
+
+
+
+ File
+ File
+
+
+
+ View
+ View
+
+
+
+ Game List Icons
+ Game List Icons
+
+
+
+ Game List Mode
+ Game List Mode
+
+
+
+ Settings
+ Settings
+
+
+
+ Utils
+ Utils
+
+
+
+ Themes
+ Themes
+
+
+
+ About
+ About
+
+
+
+ Dark
+ Dark
+
+
+
+ Light
+ Light
+
+
+
+ Green
+ Green
+
+
+
+ Blue
+ Blue
+
+
+
+ Violet
+ Violet
+
+
+
+ toolBar
+ toolBar
+
+
+
+ PKGViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ TrophyViewer
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ SettingsDialog
+
+
+ Settings
+ Settings
+
+
+
+ General
+ General
+
+
+
+ System
+ System
+
+
+
+ Console Language
+ Console Language
+
+
+
+ Emulator Language
+ Emulator Language
+
+
+
+ Emulator
+ Emulator
+
+
+
+ Enable Fullscreen
+ Enable Fullscreen
+
+
+
+ Show Splash
+ Show Splash
+
+
+
+ Is PS4 Pro
+ Is PS4 Pro
+
+
+
+ Username
+ Username
+
+
+
+ Logger
+ Logger
+
+
+
+ Log Type
+ Log Type
+
+
+
+ Log Filter
+ Log Filter
+
+
+
+ Graphics
+ Graphics
+
+
+
+ Graphics Device
+ Graphics Device
+
+
+
+ Width
+ Width
+
+
+
+ Height
+ Height
+
+
+
+ Vblank Divider
+ Vblank Divider
+
+
+
+ Advanced
+ Advanced
+
+
+
+ Enable Shaders Dumping
+ Enable Shaders Dumping
+
+
+
+ Enable NULL GPU
+ Enable NULL GPU
+
+
+
+ Enable PM4 Dumping
+ Enable PM4 Dumping
+
+
+
+ Debug
+ Debug
+
+
+
+ Enable Debug Dumping
+ Enable Debug Dumping
+
+
+
+ Enable Vulkan Validation Layers
+ Enable Vulkan Validation Layers
+
+
+
+ Enable Vulkan Synchronization Validation
+ Enable Vulkan Synchronization Validation
+
+
+
+ Enable RenderDoc Debugging
+ Enable RenderDoc Debugging
+
+
+
\ No newline at end of file
diff --git a/src/qt_gui/translations/es_ES.ts b/src/qt_gui/translations/es_ES.ts
new file mode 100644
index 00000000..eedd4f6d
--- /dev/null
+++ b/src/qt_gui/translations/es_ES.ts
@@ -0,0 +1,491 @@
+
+
+
+ AboutDialog
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ shadPS4
+ shadPS4
+
+
+
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+
+
+
+ This software should not be used to play games you have not legally obtained.
+ This software should not be used to play games you have not legally obtained.
+
+
+
+ ElfViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ GameInfoClass
+
+
+ Loading game list, please wait :3
+ Loading game list, please wait :3
+
+
+
+ Cancel
+ Cancel
+
+
+
+ Loading...
+ Loading...
+
+
+
+ GameInstallDialog
+
+
+ shadPS4 - Choose directory
+ shadPS4 - Choose directory
+
+
+
+ Directory to install games
+ Directory to install games
+
+
+
+ Browse
+ Browse
+
+
+
+ Error
+ Error
+
+
+
+ The value for location to install games is not valid.
+ The value for location to install games is not valid.
+
+
+
+ GuiContextMenus
+
+
+ Create Shortcut
+ Create Shortcut
+
+
+
+ Open Game Folder
+ Open Game Folder
+
+
+
+ SFO Viewer
+ SFO Viewer
+
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ Copy info
+ Copy info
+
+
+
+ Copy Name
+ Copy Name
+
+
+
+ Copy Serial
+ Copy Serial
+
+
+
+ Copy All
+ Copy All
+
+
+
+ Shortcut creation
+ Shortcut creation
+
+
+
+ Shortcut created successfully!\n %1
+ Shortcut created successfully!\n %1
+
+
+
+ Error
+ Error
+
+
+
+ Error creating shortcut!\n %1
+ Error creating shortcut!\n %1
+
+
+
+ Install PKG
+ Install PKG
+
+
+
+ MainWindow
+
+
+ Open/Add Elf Folder
+ Open/Add Elf Folder
+
+
+
+ Install Packages (PKG)
+ Install Packages (PKG)
+
+
+
+ Boot Game
+ Boot Game
+
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ Configure...
+ Configure...
+
+
+
+ Install application from a .pkg file
+ Install application from a .pkg file
+
+
+
+ Recent Games
+ Recent Games
+
+
+
+ Exit
+ Exit
+
+
+
+ Exit shadPS4
+ Exit shadPS4
+
+
+
+ Exit the application.
+ Exit the application.
+
+
+
+ Show Game List
+ Show Game List
+
+
+
+ Game List Refresh
+ Game List Refresh
+
+
+
+ Tiny
+ Tiny
+
+
+
+ Small
+ Small
+
+
+
+ Medium
+ Medium
+
+
+
+ Large
+ Large
+
+
+
+ List View
+ List View
+
+
+
+ Grid View
+ Grid View
+
+
+
+ Elf Viewer
+ Elf Viewer
+
+
+
+ Game Install Directory
+ Game Install Directory
+
+
+
+ Dump Game List
+ Dump Game List
+
+
+
+ PKG Viewer
+ PKG Viewer
+
+
+
+ Search...
+ Search...
+
+
+
+ File
+ File
+
+
+
+ View
+ View
+
+
+
+ Game List Icons
+ Game List Icons
+
+
+
+ Game List Mode
+ Game List Mode
+
+
+
+ Settings
+ Settings
+
+
+
+ Utils
+ Utils
+
+
+
+ Themes
+ Themes
+
+
+
+ About
+ About
+
+
+
+ Dark
+ Dark
+
+
+
+ Light
+ Light
+
+
+
+ Green
+ Green
+
+
+
+ Blue
+ Blue
+
+
+
+ Violet
+ Violet
+
+
+
+ toolBar
+ toolBar
+
+
+
+ PKGViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ TrophyViewer
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ SettingsDialog
+
+
+ Settings
+ Settings
+
+
+
+ General
+ General
+
+
+
+ System
+ System
+
+
+
+ Console Language
+ Console Language
+
+
+
+ Emulator Language
+ Emulator Language
+
+
+
+ Emulator
+ Emulator
+
+
+
+ Enable Fullscreen
+ Enable Fullscreen
+
+
+
+ Show Splash
+ Show Splash
+
+
+
+ Is PS4 Pro
+ Is PS4 Pro
+
+
+
+ Username
+ Username
+
+
+
+ Logger
+ Logger
+
+
+
+ Log Type
+ Log Type
+
+
+
+ Log Filter
+ Log Filter
+
+
+
+ Graphics
+ Graphics
+
+
+
+ Graphics Device
+ Graphics Device
+
+
+
+ Width
+ Width
+
+
+
+ Height
+ Height
+
+
+
+ Vblank Divider
+ Vblank Divider
+
+
+
+ Advanced
+ Advanced
+
+
+
+ Enable Shaders Dumping
+ Enable Shaders Dumping
+
+
+
+ Enable NULL GPU
+ Enable NULL GPU
+
+
+
+ Enable PM4 Dumping
+ Enable PM4 Dumping
+
+
+
+ Debug
+ Debug
+
+
+
+ Enable Debug Dumping
+ Enable Debug Dumping
+
+
+
+ Enable Vulkan Validation Layers
+ Enable Vulkan Validation Layers
+
+
+
+ Enable Vulkan Synchronization Validation
+ Enable Vulkan Synchronization Validation
+
+
+
+ Enable RenderDoc Debugging
+ Enable RenderDoc Debugging
+
+
+
\ No newline at end of file
diff --git a/src/qt_gui/translations/fi.ts b/src/qt_gui/translations/fi.ts
new file mode 100644
index 00000000..af605d64
--- /dev/null
+++ b/src/qt_gui/translations/fi.ts
@@ -0,0 +1,491 @@
+
+
+
+ AboutDialog
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ shadPS4
+ shadPS4
+
+
+
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+
+
+
+ This software should not be used to play games you have not legally obtained.
+ This software should not be used to play games you have not legally obtained.
+
+
+
+ ElfViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ GameInfoClass
+
+
+ Loading game list, please wait :3
+ Loading game list, please wait :3
+
+
+
+ Cancel
+ Cancel
+
+
+
+ Loading...
+ Loading...
+
+
+
+ GameInstallDialog
+
+
+ shadPS4 - Choose directory
+ shadPS4 - Choose directory
+
+
+
+ Directory to install games
+ Directory to install games
+
+
+
+ Browse
+ Browse
+
+
+
+ Error
+ Error
+
+
+
+ The value for location to install games is not valid.
+ The value for location to install games is not valid.
+
+
+
+ GuiContextMenus
+
+
+ Create Shortcut
+ Create Shortcut
+
+
+
+ Open Game Folder
+ Open Game Folder
+
+
+
+ SFO Viewer
+ SFO Viewer
+
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ Copy info
+ Copy info
+
+
+
+ Copy Name
+ Copy Name
+
+
+
+ Copy Serial
+ Copy Serial
+
+
+
+ Copy All
+ Copy All
+
+
+
+ Shortcut creation
+ Shortcut creation
+
+
+
+ Shortcut created successfully!\n %1
+ Shortcut created successfully!\n %1
+
+
+
+ Error
+ Error
+
+
+
+ Error creating shortcut!\n %1
+ Error creating shortcut!\n %1
+
+
+
+ Install PKG
+ Install PKG
+
+
+
+ MainWindow
+
+
+ Open/Add Elf Folder
+ Open/Add Elf Folder
+
+
+
+ Install Packages (PKG)
+ Install Packages (PKG)
+
+
+
+ Boot Game
+ Boot Game
+
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ Configure...
+ Configure...
+
+
+
+ Install application from a .pkg file
+ Install application from a .pkg file
+
+
+
+ Recent Games
+ Recent Games
+
+
+
+ Exit
+ Exit
+
+
+
+ Exit shadPS4
+ Exit shadPS4
+
+
+
+ Exit the application.
+ Exit the application.
+
+
+
+ Show Game List
+ Show Game List
+
+
+
+ Game List Refresh
+ Game List Refresh
+
+
+
+ Tiny
+ Tiny
+
+
+
+ Small
+ Small
+
+
+
+ Medium
+ Medium
+
+
+
+ Large
+ Large
+
+
+
+ List View
+ List View
+
+
+
+ Grid View
+ Grid View
+
+
+
+ Elf Viewer
+ Elf Viewer
+
+
+
+ Game Install Directory
+ Game Install Directory
+
+
+
+ Dump Game List
+ Dump Game List
+
+
+
+ PKG Viewer
+ PKG Viewer
+
+
+
+ Search...
+ Search...
+
+
+
+ File
+ File
+
+
+
+ View
+ View
+
+
+
+ Game List Icons
+ Game List Icons
+
+
+
+ Game List Mode
+ Game List Mode
+
+
+
+ Settings
+ Settings
+
+
+
+ Utils
+ Utils
+
+
+
+ Themes
+ Themes
+
+
+
+ About
+ About
+
+
+
+ Dark
+ Dark
+
+
+
+ Light
+ Light
+
+
+
+ Green
+ Green
+
+
+
+ Blue
+ Blue
+
+
+
+ Violet
+ Violet
+
+
+
+ toolBar
+ toolBar
+
+
+
+ PKGViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ TrophyViewer
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ SettingsDialog
+
+
+ Settings
+ Settings
+
+
+
+ General
+ General
+
+
+
+ System
+ System
+
+
+
+ Console Language
+ Console Language
+
+
+
+ Emulator Language
+ Emulator Language
+
+
+
+ Emulator
+ Emulator
+
+
+
+ Enable Fullscreen
+ Enable Fullscreen
+
+
+
+ Show Splash
+ Show Splash
+
+
+
+ Is PS4 Pro
+ Is PS4 Pro
+
+
+
+ Username
+ Username
+
+
+
+ Logger
+ Logger
+
+
+
+ Log Type
+ Log Type
+
+
+
+ Log Filter
+ Log Filter
+
+
+
+ Graphics
+ Graphics
+
+
+
+ Graphics Device
+ Graphics Device
+
+
+
+ Width
+ Width
+
+
+
+ Height
+ Height
+
+
+
+ Vblank Divider
+ Vblank Divider
+
+
+
+ Advanced
+ Advanced
+
+
+
+ Enable Shaders Dumping
+ Enable Shaders Dumping
+
+
+
+ Enable NULL GPU
+ Enable NULL GPU
+
+
+
+ Enable PM4 Dumping
+ Enable PM4 Dumping
+
+
+
+ Debug
+ Debug
+
+
+
+ Enable Debug Dumping
+ Enable Debug Dumping
+
+
+
+ Enable Vulkan Validation Layers
+ Enable Vulkan Validation Layers
+
+
+
+ Enable Vulkan Synchronization Validation
+ Enable Vulkan Synchronization Validation
+
+
+
+ Enable RenderDoc Debugging
+ Enable RenderDoc Debugging
+
+
+
\ No newline at end of file
diff --git a/src/qt_gui/translations/fr.ts b/src/qt_gui/translations/fr.ts
new file mode 100644
index 00000000..d56f6e42
--- /dev/null
+++ b/src/qt_gui/translations/fr.ts
@@ -0,0 +1,491 @@
+
+
+
+ AboutDialog
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ shadPS4
+ shadPS4
+
+
+
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+
+
+
+ This software should not be used to play games you have not legally obtained.
+ This software should not be used to play games you have not legally obtained.
+
+
+
+ ElfViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ GameInfoClass
+
+
+ Loading game list, please wait :3
+ Loading game list, please wait :3
+
+
+
+ Cancel
+ Cancel
+
+
+
+ Loading...
+ Loading...
+
+
+
+ GameInstallDialog
+
+
+ shadPS4 - Choose directory
+ shadPS4 - Choose directory
+
+
+
+ Directory to install games
+ Directory to install games
+
+
+
+ Browse
+ Browse
+
+
+
+ Error
+ Error
+
+
+
+ The value for location to install games is not valid.
+ The value for location to install games is not valid.
+
+
+
+ GuiContextMenus
+
+
+ Create Shortcut
+ Create Shortcut
+
+
+
+ Open Game Folder
+ Open Game Folder
+
+
+
+ SFO Viewer
+ SFO Viewer
+
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ Copy info
+ Copy info
+
+
+
+ Copy Name
+ Copy Name
+
+
+
+ Copy Serial
+ Copy Serial
+
+
+
+ Copy All
+ Copy All
+
+
+
+ Shortcut creation
+ Shortcut creation
+
+
+
+ Shortcut created successfully!\n %1
+ Shortcut created successfully!\n %1
+
+
+
+ Error
+ Error
+
+
+
+ Error creating shortcut!\n %1
+ Error creating shortcut!\n %1
+
+
+
+ Install PKG
+ Install PKG
+
+
+
+ MainWindow
+
+
+ Open/Add Elf Folder
+ Open/Add Elf Folder
+
+
+
+ Install Packages (PKG)
+ Install Packages (PKG)
+
+
+
+ Boot Game
+ Boot Game
+
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ Configure...
+ Configure...
+
+
+
+ Install application from a .pkg file
+ Install application from a .pkg file
+
+
+
+ Recent Games
+ Recent Games
+
+
+
+ Exit
+ Exit
+
+
+
+ Exit shadPS4
+ Exit shadPS4
+
+
+
+ Exit the application.
+ Exit the application.
+
+
+
+ Show Game List
+ Show Game List
+
+
+
+ Game List Refresh
+ Game List Refresh
+
+
+
+ Tiny
+ Tiny
+
+
+
+ Small
+ Small
+
+
+
+ Medium
+ Medium
+
+
+
+ Large
+ Large
+
+
+
+ List View
+ List View
+
+
+
+ Grid View
+ Grid View
+
+
+
+ Elf Viewer
+ Elf Viewer
+
+
+
+ Game Install Directory
+ Game Install Directory
+
+
+
+ Dump Game List
+ Dump Game List
+
+
+
+ PKG Viewer
+ PKG Viewer
+
+
+
+ Search...
+ Search...
+
+
+
+ File
+ File
+
+
+
+ View
+ View
+
+
+
+ Game List Icons
+ Game List Icons
+
+
+
+ Game List Mode
+ Game List Mode
+
+
+
+ Settings
+ Settings
+
+
+
+ Utils
+ Utils
+
+
+
+ Themes
+ Themes
+
+
+
+ About
+ About
+
+
+
+ Dark
+ Dark
+
+
+
+ Light
+ Light
+
+
+
+ Green
+ Green
+
+
+
+ Blue
+ Blue
+
+
+
+ Violet
+ Violet
+
+
+
+ toolBar
+ toolBar
+
+
+
+ PKGViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ TrophyViewer
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ SettingsDialog
+
+
+ Settings
+ Settings
+
+
+
+ General
+ General
+
+
+
+ System
+ System
+
+
+
+ Console Language
+ Console Language
+
+
+
+ Emulator Language
+ Emulator Language
+
+
+
+ Emulator
+ Emulator
+
+
+
+ Enable Fullscreen
+ Enable Fullscreen
+
+
+
+ Show Splash
+ Show Splash
+
+
+
+ Is PS4 Pro
+ Is PS4 Pro
+
+
+
+ Username
+ Username
+
+
+
+ Logger
+ Logger
+
+
+
+ Log Type
+ Log Type
+
+
+
+ Log Filter
+ Log Filter
+
+
+
+ Graphics
+ Graphics
+
+
+
+ Graphics Device
+ Graphics Device
+
+
+
+ Width
+ Width
+
+
+
+ Height
+ Height
+
+
+
+ Vblank Divider
+ Vblank Divider
+
+
+
+ Advanced
+ Advanced
+
+
+
+ Enable Shaders Dumping
+ Enable Shaders Dumping
+
+
+
+ Enable NULL GPU
+ Enable NULL GPU
+
+
+
+ Enable PM4 Dumping
+ Enable PM4 Dumping
+
+
+
+ Debug
+ Debug
+
+
+
+ Enable Debug Dumping
+ Enable Debug Dumping
+
+
+
+ Enable Vulkan Validation Layers
+ Enable Vulkan Validation Layers
+
+
+
+ Enable Vulkan Synchronization Validation
+ Enable Vulkan Synchronization Validation
+
+
+
+ Enable RenderDoc Debugging
+ Enable RenderDoc Debugging
+
+
+
\ No newline at end of file
diff --git a/src/qt_gui/translations/hu_HU.ts b/src/qt_gui/translations/hu_HU.ts
new file mode 100644
index 00000000..a32b2d2a
--- /dev/null
+++ b/src/qt_gui/translations/hu_HU.ts
@@ -0,0 +1,491 @@
+
+
+
+ AboutDialog
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ shadPS4
+ shadPS4
+
+
+
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+
+
+
+ This software should not be used to play games you have not legally obtained.
+ This software should not be used to play games you have not legally obtained.
+
+
+
+ ElfViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ GameInfoClass
+
+
+ Loading game list, please wait :3
+ Loading game list, please wait :3
+
+
+
+ Cancel
+ Cancel
+
+
+
+ Loading...
+ Loading...
+
+
+
+ GameInstallDialog
+
+
+ shadPS4 - Choose directory
+ shadPS4 - Choose directory
+
+
+
+ Directory to install games
+ Directory to install games
+
+
+
+ Browse
+ Browse
+
+
+
+ Error
+ Error
+
+
+
+ The value for location to install games is not valid.
+ The value for location to install games is not valid.
+
+
+
+ GuiContextMenus
+
+
+ Create Shortcut
+ Create Shortcut
+
+
+
+ Open Game Folder
+ Open Game Folder
+
+
+
+ SFO Viewer
+ SFO Viewer
+
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ Copy info
+ Copy info
+
+
+
+ Copy Name
+ Copy Name
+
+
+
+ Copy Serial
+ Copy Serial
+
+
+
+ Copy All
+ Copy All
+
+
+
+ Shortcut creation
+ Shortcut creation
+
+
+
+ Shortcut created successfully!\n %1
+ Shortcut created successfully!\n %1
+
+
+
+ Error
+ Error
+
+
+
+ Error creating shortcut!\n %1
+ Error creating shortcut!\n %1
+
+
+
+ Install PKG
+ Install PKG
+
+
+
+ MainWindow
+
+
+ Open/Add Elf Folder
+ Open/Add Elf Folder
+
+
+
+ Install Packages (PKG)
+ Install Packages (PKG)
+
+
+
+ Boot Game
+ Boot Game
+
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ Configure...
+ Configure...
+
+
+
+ Install application from a .pkg file
+ Install application from a .pkg file
+
+
+
+ Recent Games
+ Recent Games
+
+
+
+ Exit
+ Exit
+
+
+
+ Exit shadPS4
+ Exit shadPS4
+
+
+
+ Exit the application.
+ Exit the application.
+
+
+
+ Show Game List
+ Show Game List
+
+
+
+ Game List Refresh
+ Game List Refresh
+
+
+
+ Tiny
+ Tiny
+
+
+
+ Small
+ Small
+
+
+
+ Medium
+ Medium
+
+
+
+ Large
+ Large
+
+
+
+ List View
+ List View
+
+
+
+ Grid View
+ Grid View
+
+
+
+ Elf Viewer
+ Elf Viewer
+
+
+
+ Game Install Directory
+ Game Install Directory
+
+
+
+ Dump Game List
+ Dump Game List
+
+
+
+ PKG Viewer
+ PKG Viewer
+
+
+
+ Search...
+ Search...
+
+
+
+ File
+ File
+
+
+
+ View
+ View
+
+
+
+ Game List Icons
+ Game List Icons
+
+
+
+ Game List Mode
+ Game List Mode
+
+
+
+ Settings
+ Settings
+
+
+
+ Utils
+ Utils
+
+
+
+ Themes
+ Themes
+
+
+
+ About
+ About
+
+
+
+ Dark
+ Dark
+
+
+
+ Light
+ Light
+
+
+
+ Green
+ Green
+
+
+
+ Blue
+ Blue
+
+
+
+ Violet
+ Violet
+
+
+
+ toolBar
+ toolBar
+
+
+
+ PKGViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ TrophyViewer
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ SettingsDialog
+
+
+ Settings
+ Settings
+
+
+
+ General
+ General
+
+
+
+ System
+ System
+
+
+
+ Console Language
+ Console Language
+
+
+
+ Emulator Language
+ Emulator Language
+
+
+
+ Emulator
+ Emulator
+
+
+
+ Enable Fullscreen
+ Enable Fullscreen
+
+
+
+ Show Splash
+ Show Splash
+
+
+
+ Is PS4 Pro
+ Is PS4 Pro
+
+
+
+ Username
+ Username
+
+
+
+ Logger
+ Logger
+
+
+
+ Log Type
+ Log Type
+
+
+
+ Log Filter
+ Log Filter
+
+
+
+ Graphics
+ Graphics
+
+
+
+ Graphics Device
+ Graphics Device
+
+
+
+ Width
+ Width
+
+
+
+ Height
+ Height
+
+
+
+ Vblank Divider
+ Vblank Divider
+
+
+
+ Advanced
+ Advanced
+
+
+
+ Enable Shaders Dumping
+ Enable Shaders Dumping
+
+
+
+ Enable NULL GPU
+ Enable NULL GPU
+
+
+
+ Enable PM4 Dumping
+ Enable PM4 Dumping
+
+
+
+ Debug
+ Debug
+
+
+
+ Enable Debug Dumping
+ Enable Debug Dumping
+
+
+
+ Enable Vulkan Validation Layers
+ Enable Vulkan Validation Layers
+
+
+
+ Enable Vulkan Synchronization Validation
+ Enable Vulkan Synchronization Validation
+
+
+
+ Enable RenderDoc Debugging
+ Enable RenderDoc Debugging
+
+
+
\ No newline at end of file
diff --git a/src/qt_gui/translations/id.ts b/src/qt_gui/translations/id.ts
new file mode 100644
index 00000000..502be21e
--- /dev/null
+++ b/src/qt_gui/translations/id.ts
@@ -0,0 +1,491 @@
+
+
+
+ AboutDialog
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ shadPS4
+ shadPS4
+
+
+
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+
+
+
+ This software should not be used to play games you have not legally obtained.
+ This software should not be used to play games you have not legally obtained.
+
+
+
+ ElfViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ GameInfoClass
+
+
+ Loading game list, please wait :3
+ Loading game list, please wait :3
+
+
+
+ Cancel
+ Cancel
+
+
+
+ Loading...
+ Loading...
+
+
+
+ GameInstallDialog
+
+
+ shadPS4 - Choose directory
+ shadPS4 - Choose directory
+
+
+
+ Directory to install games
+ Directory to install games
+
+
+
+ Browse
+ Browse
+
+
+
+ Error
+ Error
+
+
+
+ The value for location to install games is not valid.
+ The value for location to install games is not valid.
+
+
+
+ GuiContextMenus
+
+
+ Create Shortcut
+ Create Shortcut
+
+
+
+ Open Game Folder
+ Open Game Folder
+
+
+
+ SFO Viewer
+ SFO Viewer
+
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ Copy info
+ Copy info
+
+
+
+ Copy Name
+ Copy Name
+
+
+
+ Copy Serial
+ Copy Serial
+
+
+
+ Copy All
+ Copy All
+
+
+
+ Shortcut creation
+ Shortcut creation
+
+
+
+ Shortcut created successfully!\n %1
+ Shortcut created successfully!\n %1
+
+
+
+ Error
+ Error
+
+
+
+ Error creating shortcut!\n %1
+ Error creating shortcut!\n %1
+
+
+
+ Install PKG
+ Install PKG
+
+
+
+ MainWindow
+
+
+ Open/Add Elf Folder
+ Open/Add Elf Folder
+
+
+
+ Install Packages (PKG)
+ Install Packages (PKG)
+
+
+
+ Boot Game
+ Boot Game
+
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ Configure...
+ Configure...
+
+
+
+ Install application from a .pkg file
+ Install application from a .pkg file
+
+
+
+ Recent Games
+ Recent Games
+
+
+
+ Exit
+ Exit
+
+
+
+ Exit shadPS4
+ Exit shadPS4
+
+
+
+ Exit the application.
+ Exit the application.
+
+
+
+ Show Game List
+ Show Game List
+
+
+
+ Game List Refresh
+ Game List Refresh
+
+
+
+ Tiny
+ Tiny
+
+
+
+ Small
+ Small
+
+
+
+ Medium
+ Medium
+
+
+
+ Large
+ Large
+
+
+
+ List View
+ List View
+
+
+
+ Grid View
+ Grid View
+
+
+
+ Elf Viewer
+ Elf Viewer
+
+
+
+ Game Install Directory
+ Game Install Directory
+
+
+
+ Dump Game List
+ Dump Game List
+
+
+
+ PKG Viewer
+ PKG Viewer
+
+
+
+ Search...
+ Search...
+
+
+
+ File
+ File
+
+
+
+ View
+ View
+
+
+
+ Game List Icons
+ Game List Icons
+
+
+
+ Game List Mode
+ Game List Mode
+
+
+
+ Settings
+ Settings
+
+
+
+ Utils
+ Utils
+
+
+
+ Themes
+ Themes
+
+
+
+ About
+ About
+
+
+
+ Dark
+ Dark
+
+
+
+ Light
+ Light
+
+
+
+ Green
+ Green
+
+
+
+ Blue
+ Blue
+
+
+
+ Violet
+ Violet
+
+
+
+ toolBar
+ toolBar
+
+
+
+ PKGViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ TrophyViewer
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ SettingsDialog
+
+
+ Settings
+ Settings
+
+
+
+ General
+ General
+
+
+
+ System
+ System
+
+
+
+ Console Language
+ Console Language
+
+
+
+ Emulator Language
+ Emulator Language
+
+
+
+ Emulator
+ Emulator
+
+
+
+ Enable Fullscreen
+ Enable Fullscreen
+
+
+
+ Show Splash
+ Show Splash
+
+
+
+ Is PS4 Pro
+ Is PS4 Pro
+
+
+
+ Username
+ Username
+
+
+
+ Logger
+ Logger
+
+
+
+ Log Type
+ Log Type
+
+
+
+ Log Filter
+ Log Filter
+
+
+
+ Graphics
+ Graphics
+
+
+
+ Graphics Device
+ Graphics Device
+
+
+
+ Width
+ Width
+
+
+
+ Height
+ Height
+
+
+
+ Vblank Divider
+ Vblank Divider
+
+
+
+ Advanced
+ Advanced
+
+
+
+ Enable Shaders Dumping
+ Enable Shaders Dumping
+
+
+
+ Enable NULL GPU
+ Enable NULL GPU
+
+
+
+ Enable PM4 Dumping
+ Enable PM4 Dumping
+
+
+
+ Debug
+ Debug
+
+
+
+ Enable Debug Dumping
+ Enable Debug Dumping
+
+
+
+ Enable Vulkan Validation Layers
+ Enable Vulkan Validation Layers
+
+
+
+ Enable Vulkan Synchronization Validation
+ Enable Vulkan Synchronization Validation
+
+
+
+ Enable RenderDoc Debugging
+ Enable RenderDoc Debugging
+
+
+
\ No newline at end of file
diff --git a/src/qt_gui/translations/it.ts b/src/qt_gui/translations/it.ts
new file mode 100644
index 00000000..64d123f2
--- /dev/null
+++ b/src/qt_gui/translations/it.ts
@@ -0,0 +1,491 @@
+
+
+
+ AboutDialog
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ shadPS4
+ shadPS4
+
+
+
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+
+
+
+ This software should not be used to play games you have not legally obtained.
+ This software should not be used to play games you have not legally obtained.
+
+
+
+ ElfViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ GameInfoClass
+
+
+ Loading game list, please wait :3
+ Loading game list, please wait :3
+
+
+
+ Cancel
+ Cancel
+
+
+
+ Loading...
+ Loading...
+
+
+
+ GameInstallDialog
+
+
+ shadPS4 - Choose directory
+ shadPS4 - Choose directory
+
+
+
+ Directory to install games
+ Directory to install games
+
+
+
+ Browse
+ Browse
+
+
+
+ Error
+ Error
+
+
+
+ The value for location to install games is not valid.
+ The value for location to install games is not valid.
+
+
+
+ GuiContextMenus
+
+
+ Create Shortcut
+ Create Shortcut
+
+
+
+ Open Game Folder
+ Open Game Folder
+
+
+
+ SFO Viewer
+ SFO Viewer
+
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ Copy info
+ Copy info
+
+
+
+ Copy Name
+ Copy Name
+
+
+
+ Copy Serial
+ Copy Serial
+
+
+
+ Copy All
+ Copy All
+
+
+
+ Shortcut creation
+ Shortcut creation
+
+
+
+ Shortcut created successfully!\n %1
+ Shortcut created successfully!\n %1
+
+
+
+ Error
+ Error
+
+
+
+ Error creating shortcut!\n %1
+ Error creating shortcut!\n %1
+
+
+
+ Install PKG
+ Install PKG
+
+
+
+ MainWindow
+
+
+ Open/Add Elf Folder
+ Open/Add Elf Folder
+
+
+
+ Install Packages (PKG)
+ Install Packages (PKG)
+
+
+
+ Boot Game
+ Boot Game
+
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ Configure...
+ Configure...
+
+
+
+ Install application from a .pkg file
+ Install application from a .pkg file
+
+
+
+ Recent Games
+ Recent Games
+
+
+
+ Exit
+ Exit
+
+
+
+ Exit shadPS4
+ Exit shadPS4
+
+
+
+ Exit the application.
+ Exit the application.
+
+
+
+ Show Game List
+ Show Game List
+
+
+
+ Game List Refresh
+ Game List Refresh
+
+
+
+ Tiny
+ Tiny
+
+
+
+ Small
+ Small
+
+
+
+ Medium
+ Medium
+
+
+
+ Large
+ Large
+
+
+
+ List View
+ List View
+
+
+
+ Grid View
+ Grid View
+
+
+
+ Elf Viewer
+ Elf Viewer
+
+
+
+ Game Install Directory
+ Game Install Directory
+
+
+
+ Dump Game List
+ Dump Game List
+
+
+
+ PKG Viewer
+ PKG Viewer
+
+
+
+ Search...
+ Search...
+
+
+
+ File
+ File
+
+
+
+ View
+ View
+
+
+
+ Game List Icons
+ Game List Icons
+
+
+
+ Game List Mode
+ Game List Mode
+
+
+
+ Settings
+ Settings
+
+
+
+ Utils
+ Utils
+
+
+
+ Themes
+ Themes
+
+
+
+ About
+ About
+
+
+
+ Dark
+ Dark
+
+
+
+ Light
+ Light
+
+
+
+ Green
+ Green
+
+
+
+ Blue
+ Blue
+
+
+
+ Violet
+ Violet
+
+
+
+ toolBar
+ toolBar
+
+
+
+ PKGViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ TrophyViewer
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ SettingsDialog
+
+
+ Settings
+ Settings
+
+
+
+ General
+ General
+
+
+
+ System
+ System
+
+
+
+ Console Language
+ Console Language
+
+
+
+ Emulator Language
+ Emulator Language
+
+
+
+ Emulator
+ Emulator
+
+
+
+ Enable Fullscreen
+ Enable Fullscreen
+
+
+
+ Show Splash
+ Show Splash
+
+
+
+ Is PS4 Pro
+ Is PS4 Pro
+
+
+
+ Username
+ Username
+
+
+
+ Logger
+ Logger
+
+
+
+ Log Type
+ Log Type
+
+
+
+ Log Filter
+ Log Filter
+
+
+
+ Graphics
+ Graphics
+
+
+
+ Graphics Device
+ Graphics Device
+
+
+
+ Width
+ Width
+
+
+
+ Height
+ Height
+
+
+
+ Vblank Divider
+ Vblank Divider
+
+
+
+ Advanced
+ Advanced
+
+
+
+ Enable Shaders Dumping
+ Enable Shaders Dumping
+
+
+
+ Enable NULL GPU
+ Enable NULL GPU
+
+
+
+ Enable PM4 Dumping
+ Enable PM4 Dumping
+
+
+
+ Debug
+ Debug
+
+
+
+ Enable Debug Dumping
+ Enable Debug Dumping
+
+
+
+ Enable Vulkan Validation Layers
+ Enable Vulkan Validation Layers
+
+
+
+ Enable Vulkan Synchronization Validation
+ Enable Vulkan Synchronization Validation
+
+
+
+ Enable RenderDoc Debugging
+ Enable RenderDoc Debugging
+
+
+
\ No newline at end of file
diff --git a/src/qt_gui/translations/ja_JP.ts b/src/qt_gui/translations/ja_JP.ts
new file mode 100644
index 00000000..c6735256
--- /dev/null
+++ b/src/qt_gui/translations/ja_JP.ts
@@ -0,0 +1,491 @@
+
+
+
+ AboutDialog
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ shadPS4
+ shadPS4
+
+
+
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+
+
+
+ This software should not be used to play games you have not legally obtained.
+ This software should not be used to play games you have not legally obtained.
+
+
+
+ ElfViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ GameInfoClass
+
+
+ Loading game list, please wait :3
+ Loading game list, please wait :3
+
+
+
+ Cancel
+ Cancel
+
+
+
+ Loading...
+ Loading...
+
+
+
+ GameInstallDialog
+
+
+ shadPS4 - Choose directory
+ shadPS4 - Choose directory
+
+
+
+ Directory to install games
+ Directory to install games
+
+
+
+ Browse
+ Browse
+
+
+
+ Error
+ Error
+
+
+
+ The value for location to install games is not valid.
+ The value for location to install games is not valid.
+
+
+
+ GuiContextMenus
+
+
+ Create Shortcut
+ Create Shortcut
+
+
+
+ Open Game Folder
+ Open Game Folder
+
+
+
+ SFO Viewer
+ SFO Viewer
+
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ Copy info
+ Copy info
+
+
+
+ Copy Name
+ Copy Name
+
+
+
+ Copy Serial
+ Copy Serial
+
+
+
+ Copy All
+ Copy All
+
+
+
+ Shortcut creation
+ Shortcut creation
+
+
+
+ Shortcut created successfully!\n %1
+ Shortcut created successfully!\n %1
+
+
+
+ Error
+ Error
+
+
+
+ Error creating shortcut!\n %1
+ Error creating shortcut!\n %1
+
+
+
+ Install PKG
+ Install PKG
+
+
+
+ MainWindow
+
+
+ Open/Add Elf Folder
+ Open/Add Elf Folder
+
+
+
+ Install Packages (PKG)
+ Install Packages (PKG)
+
+
+
+ Boot Game
+ Boot Game
+
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ Configure...
+ Configure...
+
+
+
+ Install application from a .pkg file
+ Install application from a .pkg file
+
+
+
+ Recent Games
+ Recent Games
+
+
+
+ Exit
+ Exit
+
+
+
+ Exit shadPS4
+ Exit shadPS4
+
+
+
+ Exit the application.
+ Exit the application.
+
+
+
+ Show Game List
+ Show Game List
+
+
+
+ Game List Refresh
+ Game List Refresh
+
+
+
+ Tiny
+ Tiny
+
+
+
+ Small
+ Small
+
+
+
+ Medium
+ Medium
+
+
+
+ Large
+ Large
+
+
+
+ List View
+ List View
+
+
+
+ Grid View
+ Grid View
+
+
+
+ Elf Viewer
+ Elf Viewer
+
+
+
+ Game Install Directory
+ Game Install Directory
+
+
+
+ Dump Game List
+ Dump Game List
+
+
+
+ PKG Viewer
+ PKG Viewer
+
+
+
+ Search...
+ Search...
+
+
+
+ File
+ File
+
+
+
+ View
+ View
+
+
+
+ Game List Icons
+ Game List Icons
+
+
+
+ Game List Mode
+ Game List Mode
+
+
+
+ Settings
+ Settings
+
+
+
+ Utils
+ Utils
+
+
+
+ Themes
+ Themes
+
+
+
+ About
+ About
+
+
+
+ Dark
+ Dark
+
+
+
+ Light
+ Light
+
+
+
+ Green
+ Green
+
+
+
+ Blue
+ Blue
+
+
+
+ Violet
+ Violet
+
+
+
+ toolBar
+ toolBar
+
+
+
+ PKGViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ TrophyViewer
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ SettingsDialog
+
+
+ Settings
+ Settings
+
+
+
+ General
+ General
+
+
+
+ System
+ System
+
+
+
+ Console Language
+ Console Language
+
+
+
+ Emulator Language
+ Emulator Language
+
+
+
+ Emulator
+ Emulator
+
+
+
+ Enable Fullscreen
+ Enable Fullscreen
+
+
+
+ Show Splash
+ Show Splash
+
+
+
+ Is PS4 Pro
+ Is PS4 Pro
+
+
+
+ Username
+ Username
+
+
+
+ Logger
+ Logger
+
+
+
+ Log Type
+ Log Type
+
+
+
+ Log Filter
+ Log Filter
+
+
+
+ Graphics
+ Graphics
+
+
+
+ Graphics Device
+ Graphics Device
+
+
+
+ Width
+ Width
+
+
+
+ Height
+ Height
+
+
+
+ Vblank Divider
+ Vblank Divider
+
+
+
+ Advanced
+ Advanced
+
+
+
+ Enable Shaders Dumping
+ Enable Shaders Dumping
+
+
+
+ Enable NULL GPU
+ Enable NULL GPU
+
+
+
+ Enable PM4 Dumping
+ Enable PM4 Dumping
+
+
+
+ Debug
+ Debug
+
+
+
+ Enable Debug Dumping
+ Enable Debug Dumping
+
+
+
+ Enable Vulkan Validation Layers
+ Enable Vulkan Validation Layers
+
+
+
+ Enable Vulkan Synchronization Validation
+ Enable Vulkan Synchronization Validation
+
+
+
+ Enable RenderDoc Debugging
+ Enable RenderDoc Debugging
+
+
+
\ No newline at end of file
diff --git a/src/qt_gui/translations/ko_KR.ts b/src/qt_gui/translations/ko_KR.ts
new file mode 100644
index 00000000..b33b5d92
--- /dev/null
+++ b/src/qt_gui/translations/ko_KR.ts
@@ -0,0 +1,491 @@
+
+
+
+ AboutDialog
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ shadPS4
+ shadPS4
+
+
+
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+
+
+
+ This software should not be used to play games you have not legally obtained.
+ This software should not be used to play games you have not legally obtained.
+
+
+
+ ElfViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ GameInfoClass
+
+
+ Loading game list, please wait :3
+ Loading game list, please wait :3
+
+
+
+ Cancel
+ Cancel
+
+
+
+ Loading...
+ Loading...
+
+
+
+ GameInstallDialog
+
+
+ shadPS4 - Choose directory
+ shadPS4 - Choose directory
+
+
+
+ Directory to install games
+ Directory to install games
+
+
+
+ Browse
+ Browse
+
+
+
+ Error
+ Error
+
+
+
+ The value for location to install games is not valid.
+ The value for location to install games is not valid.
+
+
+
+ GuiContextMenus
+
+
+ Create Shortcut
+ Create Shortcut
+
+
+
+ Open Game Folder
+ Open Game Folder
+
+
+
+ SFO Viewer
+ SFO Viewer
+
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ Copy info
+ Copy info
+
+
+
+ Copy Name
+ Copy Name
+
+
+
+ Copy Serial
+ Copy Serial
+
+
+
+ Copy All
+ Copy All
+
+
+
+ Shortcut creation
+ Shortcut creation
+
+
+
+ Shortcut created successfully!\n %1
+ Shortcut created successfully!\n %1
+
+
+
+ Error
+ Error
+
+
+
+ Error creating shortcut!\n %1
+ Error creating shortcut!\n %1
+
+
+
+ Install PKG
+ Install PKG
+
+
+
+ MainWindow
+
+
+ Open/Add Elf Folder
+ Open/Add Elf Folder
+
+
+
+ Install Packages (PKG)
+ Install Packages (PKG)
+
+
+
+ Boot Game
+ Boot Game
+
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ Configure...
+ Configure...
+
+
+
+ Install application from a .pkg file
+ Install application from a .pkg file
+
+
+
+ Recent Games
+ Recent Games
+
+
+
+ Exit
+ Exit
+
+
+
+ Exit shadPS4
+ Exit shadPS4
+
+
+
+ Exit the application.
+ Exit the application.
+
+
+
+ Show Game List
+ Show Game List
+
+
+
+ Game List Refresh
+ Game List Refresh
+
+
+
+ Tiny
+ Tiny
+
+
+
+ Small
+ Small
+
+
+
+ Medium
+ Medium
+
+
+
+ Large
+ Large
+
+
+
+ List View
+ List View
+
+
+
+ Grid View
+ Grid View
+
+
+
+ Elf Viewer
+ Elf Viewer
+
+
+
+ Game Install Directory
+ Game Install Directory
+
+
+
+ Dump Game List
+ Dump Game List
+
+
+
+ PKG Viewer
+ PKG Viewer
+
+
+
+ Search...
+ Search...
+
+
+
+ File
+ File
+
+
+
+ View
+ View
+
+
+
+ Game List Icons
+ Game List Icons
+
+
+
+ Game List Mode
+ Game List Mode
+
+
+
+ Settings
+ Settings
+
+
+
+ Utils
+ Utils
+
+
+
+ Themes
+ Themes
+
+
+
+ About
+ About
+
+
+
+ Dark
+ Dark
+
+
+
+ Light
+ Light
+
+
+
+ Green
+ Green
+
+
+
+ Blue
+ Blue
+
+
+
+ Violet
+ Violet
+
+
+
+ toolBar
+ toolBar
+
+
+
+ PKGViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ TrophyViewer
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ SettingsDialog
+
+
+ Settings
+ Settings
+
+
+
+ General
+ General
+
+
+
+ System
+ System
+
+
+
+ Console Language
+ Console Language
+
+
+
+ Emulator Language
+ Emulator Language
+
+
+
+ Emulator
+ Emulator
+
+
+
+ Enable Fullscreen
+ Enable Fullscreen
+
+
+
+ Show Splash
+ Show Splash
+
+
+
+ Is PS4 Pro
+ Is PS4 Pro
+
+
+
+ Username
+ Username
+
+
+
+ Logger
+ Logger
+
+
+
+ Log Type
+ Log Type
+
+
+
+ Log Filter
+ Log Filter
+
+
+
+ Graphics
+ Graphics
+
+
+
+ Graphics Device
+ Graphics Device
+
+
+
+ Width
+ Width
+
+
+
+ Height
+ Height
+
+
+
+ Vblank Divider
+ Vblank Divider
+
+
+
+ Advanced
+ Advanced
+
+
+
+ Enable Shaders Dumping
+ Enable Shaders Dumping
+
+
+
+ Enable NULL GPU
+ Enable NULL GPU
+
+
+
+ Enable PM4 Dumping
+ Enable PM4 Dumping
+
+
+
+ Debug
+ Debug
+
+
+
+ Enable Debug Dumping
+ Enable Debug Dumping
+
+
+
+ Enable Vulkan Validation Layers
+ Enable Vulkan Validation Layers
+
+
+
+ Enable Vulkan Synchronization Validation
+ Enable Vulkan Synchronization Validation
+
+
+
+ Enable RenderDoc Debugging
+ Enable RenderDoc Debugging
+
+
+
\ No newline at end of file
diff --git a/src/qt_gui/translations/lt_LT.ts b/src/qt_gui/translations/lt_LT.ts
new file mode 100644
index 00000000..286ec3f4
--- /dev/null
+++ b/src/qt_gui/translations/lt_LT.ts
@@ -0,0 +1,491 @@
+
+
+
+ AboutDialog
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ shadPS4
+ shadPS4
+
+
+
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+
+
+
+ This software should not be used to play games you have not legally obtained.
+ This software should not be used to play games you have not legally obtained.
+
+
+
+ ElfViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ GameInfoClass
+
+
+ Loading game list, please wait :3
+ Loading game list, please wait :3
+
+
+
+ Cancel
+ Cancel
+
+
+
+ Loading...
+ Loading...
+
+
+
+ GameInstallDialog
+
+
+ shadPS4 - Choose directory
+ shadPS4 - Choose directory
+
+
+
+ Directory to install games
+ Directory to install games
+
+
+
+ Browse
+ Browse
+
+
+
+ Error
+ Error
+
+
+
+ The value for location to install games is not valid.
+ The value for location to install games is not valid.
+
+
+
+ GuiContextMenus
+
+
+ Create Shortcut
+ Create Shortcut
+
+
+
+ Open Game Folder
+ Open Game Folder
+
+
+
+ SFO Viewer
+ SFO Viewer
+
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ Copy info
+ Copy info
+
+
+
+ Copy Name
+ Copy Name
+
+
+
+ Copy Serial
+ Copy Serial
+
+
+
+ Copy All
+ Copy All
+
+
+
+ Shortcut creation
+ Shortcut creation
+
+
+
+ Shortcut created successfully!\n %1
+ Shortcut created successfully!\n %1
+
+
+
+ Error
+ Error
+
+
+
+ Error creating shortcut!\n %1
+ Error creating shortcut!\n %1
+
+
+
+ Install PKG
+ Install PKG
+
+
+
+ MainWindow
+
+
+ Open/Add Elf Folder
+ Open/Add Elf Folder
+
+
+
+ Install Packages (PKG)
+ Install Packages (PKG)
+
+
+
+ Boot Game
+ Boot Game
+
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ Configure...
+ Configure...
+
+
+
+ Install application from a .pkg file
+ Install application from a .pkg file
+
+
+
+ Recent Games
+ Recent Games
+
+
+
+ Exit
+ Exit
+
+
+
+ Exit shadPS4
+ Exit shadPS4
+
+
+
+ Exit the application.
+ Exit the application.
+
+
+
+ Show Game List
+ Show Game List
+
+
+
+ Game List Refresh
+ Game List Refresh
+
+
+
+ Tiny
+ Tiny
+
+
+
+ Small
+ Small
+
+
+
+ Medium
+ Medium
+
+
+
+ Large
+ Large
+
+
+
+ List View
+ List View
+
+
+
+ Grid View
+ Grid View
+
+
+
+ Elf Viewer
+ Elf Viewer
+
+
+
+ Game Install Directory
+ Game Install Directory
+
+
+
+ Dump Game List
+ Dump Game List
+
+
+
+ PKG Viewer
+ PKG Viewer
+
+
+
+ Search...
+ Search...
+
+
+
+ File
+ File
+
+
+
+ View
+ View
+
+
+
+ Game List Icons
+ Game List Icons
+
+
+
+ Game List Mode
+ Game List Mode
+
+
+
+ Settings
+ Settings
+
+
+
+ Utils
+ Utils
+
+
+
+ Themes
+ Themes
+
+
+
+ About
+ About
+
+
+
+ Dark
+ Dark
+
+
+
+ Light
+ Light
+
+
+
+ Green
+ Green
+
+
+
+ Blue
+ Blue
+
+
+
+ Violet
+ Violet
+
+
+
+ toolBar
+ toolBar
+
+
+
+ PKGViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ TrophyViewer
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ SettingsDialog
+
+
+ Settings
+ Settings
+
+
+
+ General
+ General
+
+
+
+ System
+ System
+
+
+
+ Console Language
+ Console Language
+
+
+
+ Emulator Language
+ Emulator Language
+
+
+
+ Emulator
+ Emulator
+
+
+
+ Enable Fullscreen
+ Enable Fullscreen
+
+
+
+ Show Splash
+ Show Splash
+
+
+
+ Is PS4 Pro
+ Is PS4 Pro
+
+
+
+ Username
+ Username
+
+
+
+ Logger
+ Logger
+
+
+
+ Log Type
+ Log Type
+
+
+
+ Log Filter
+ Log Filter
+
+
+
+ Graphics
+ Graphics
+
+
+
+ Graphics Device
+ Graphics Device
+
+
+
+ Width
+ Width
+
+
+
+ Height
+ Height
+
+
+
+ Vblank Divider
+ Vblank Divider
+
+
+
+ Advanced
+ Advanced
+
+
+
+ Enable Shaders Dumping
+ Enable Shaders Dumping
+
+
+
+ Enable NULL GPU
+ Enable NULL GPU
+
+
+
+ Enable PM4 Dumping
+ Enable PM4 Dumping
+
+
+
+ Debug
+ Debug
+
+
+
+ Enable Debug Dumping
+ Enable Debug Dumping
+
+
+
+ Enable Vulkan Validation Layers
+ Enable Vulkan Validation Layers
+
+
+
+ Enable Vulkan Synchronization Validation
+ Enable Vulkan Synchronization Validation
+
+
+
+ Enable RenderDoc Debugging
+ Enable RenderDoc Debugging
+
+
+
\ No newline at end of file
diff --git a/src/qt_gui/translations/nb.ts b/src/qt_gui/translations/nb.ts
new file mode 100644
index 00000000..27fc540c
--- /dev/null
+++ b/src/qt_gui/translations/nb.ts
@@ -0,0 +1,491 @@
+
+
+
+ AboutDialog
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ shadPS4
+ shadPS4
+
+
+
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+
+
+
+ This software should not be used to play games you have not legally obtained.
+ This software should not be used to play games you have not legally obtained.
+
+
+
+ ElfViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ GameInfoClass
+
+
+ Loading game list, please wait :3
+ Loading game list, please wait :3
+
+
+
+ Cancel
+ Cancel
+
+
+
+ Loading...
+ Loading...
+
+
+
+ GameInstallDialog
+
+
+ shadPS4 - Choose directory
+ shadPS4 - Choose directory
+
+
+
+ Directory to install games
+ Directory to install games
+
+
+
+ Browse
+ Browse
+
+
+
+ Error
+ Error
+
+
+
+ The value for location to install games is not valid.
+ The value for location to install games is not valid.
+
+
+
+ GuiContextMenus
+
+
+ Create Shortcut
+ Create Shortcut
+
+
+
+ Open Game Folder
+ Open Game Folder
+
+
+
+ SFO Viewer
+ SFO Viewer
+
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ Copy info
+ Copy info
+
+
+
+ Copy Name
+ Copy Name
+
+
+
+ Copy Serial
+ Copy Serial
+
+
+
+ Copy All
+ Copy All
+
+
+
+ Shortcut creation
+ Shortcut creation
+
+
+
+ Shortcut created successfully!\n %1
+ Shortcut created successfully!\n %1
+
+
+
+ Error
+ Error
+
+
+
+ Error creating shortcut!\n %1
+ Error creating shortcut!\n %1
+
+
+
+ Install PKG
+ Install PKG
+
+
+
+ MainWindow
+
+
+ Open/Add Elf Folder
+ Open/Add Elf Folder
+
+
+
+ Install Packages (PKG)
+ Install Packages (PKG)
+
+
+
+ Boot Game
+ Boot Game
+
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ Configure...
+ Configure...
+
+
+
+ Install application from a .pkg file
+ Install application from a .pkg file
+
+
+
+ Recent Games
+ Recent Games
+
+
+
+ Exit
+ Exit
+
+
+
+ Exit shadPS4
+ Exit shadPS4
+
+
+
+ Exit the application.
+ Exit the application.
+
+
+
+ Show Game List
+ Show Game List
+
+
+
+ Game List Refresh
+ Game List Refresh
+
+
+
+ Tiny
+ Tiny
+
+
+
+ Small
+ Small
+
+
+
+ Medium
+ Medium
+
+
+
+ Large
+ Large
+
+
+
+ List View
+ List View
+
+
+
+ Grid View
+ Grid View
+
+
+
+ Elf Viewer
+ Elf Viewer
+
+
+
+ Game Install Directory
+ Game Install Directory
+
+
+
+ Dump Game List
+ Dump Game List
+
+
+
+ PKG Viewer
+ PKG Viewer
+
+
+
+ Search...
+ Search...
+
+
+
+ File
+ File
+
+
+
+ View
+ View
+
+
+
+ Game List Icons
+ Game List Icons
+
+
+
+ Game List Mode
+ Game List Mode
+
+
+
+ Settings
+ Settings
+
+
+
+ Utils
+ Utils
+
+
+
+ Themes
+ Themes
+
+
+
+ About
+ About
+
+
+
+ Dark
+ Dark
+
+
+
+ Light
+ Light
+
+
+
+ Green
+ Green
+
+
+
+ Blue
+ Blue
+
+
+
+ Violet
+ Violet
+
+
+
+ toolBar
+ toolBar
+
+
+
+ PKGViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ TrophyViewer
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ SettingsDialog
+
+
+ Settings
+ Settings
+
+
+
+ General
+ General
+
+
+
+ System
+ System
+
+
+
+ Console Language
+ Console Language
+
+
+
+ Emulator Language
+ Emulator Language
+
+
+
+ Emulator
+ Emulator
+
+
+
+ Enable Fullscreen
+ Enable Fullscreen
+
+
+
+ Show Splash
+ Show Splash
+
+
+
+ Is PS4 Pro
+ Is PS4 Pro
+
+
+
+ Username
+ Username
+
+
+
+ Logger
+ Logger
+
+
+
+ Log Type
+ Log Type
+
+
+
+ Log Filter
+ Log Filter
+
+
+
+ Graphics
+ Graphics
+
+
+
+ Graphics Device
+ Graphics Device
+
+
+
+ Width
+ Width
+
+
+
+ Height
+ Height
+
+
+
+ Vblank Divider
+ Vblank Divider
+
+
+
+ Advanced
+ Advanced
+
+
+
+ Enable Shaders Dumping
+ Enable Shaders Dumping
+
+
+
+ Enable NULL GPU
+ Enable NULL GPU
+
+
+
+ Enable PM4 Dumping
+ Enable PM4 Dumping
+
+
+
+ Debug
+ Debug
+
+
+
+ Enable Debug Dumping
+ Enable Debug Dumping
+
+
+
+ Enable Vulkan Validation Layers
+ Enable Vulkan Validation Layers
+
+
+
+ Enable Vulkan Synchronization Validation
+ Enable Vulkan Synchronization Validation
+
+
+
+ Enable RenderDoc Debugging
+ Enable RenderDoc Debugging
+
+
+
\ No newline at end of file
diff --git a/src/qt_gui/translations/nl.ts b/src/qt_gui/translations/nl.ts
new file mode 100644
index 00000000..2f4f5f9b
--- /dev/null
+++ b/src/qt_gui/translations/nl.ts
@@ -0,0 +1,491 @@
+
+
+
+ AboutDialog
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ shadPS4
+ shadPS4
+
+
+
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+
+
+
+ This software should not be used to play games you have not legally obtained.
+ This software should not be used to play games you have not legally obtained.
+
+
+
+ ElfViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ GameInfoClass
+
+
+ Loading game list, please wait :3
+ Loading game list, please wait :3
+
+
+
+ Cancel
+ Cancel
+
+
+
+ Loading...
+ Loading...
+
+
+
+ GameInstallDialog
+
+
+ shadPS4 - Choose directory
+ shadPS4 - Choose directory
+
+
+
+ Directory to install games
+ Directory to install games
+
+
+
+ Browse
+ Browse
+
+
+
+ Error
+ Error
+
+
+
+ The value for location to install games is not valid.
+ The value for location to install games is not valid.
+
+
+
+ GuiContextMenus
+
+
+ Create Shortcut
+ Create Shortcut
+
+
+
+ Open Game Folder
+ Open Game Folder
+
+
+
+ SFO Viewer
+ SFO Viewer
+
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ Copy info
+ Copy info
+
+
+
+ Copy Name
+ Copy Name
+
+
+
+ Copy Serial
+ Copy Serial
+
+
+
+ Copy All
+ Copy All
+
+
+
+ Shortcut creation
+ Shortcut creation
+
+
+
+ Shortcut created successfully!\n %1
+ Shortcut created successfully!\n %1
+
+
+
+ Error
+ Error
+
+
+
+ Error creating shortcut!\n %1
+ Error creating shortcut!\n %1
+
+
+
+ Install PKG
+ Install PKG
+
+
+
+ MainWindow
+
+
+ Open/Add Elf Folder
+ Open/Add Elf Folder
+
+
+
+ Install Packages (PKG)
+ Install Packages (PKG)
+
+
+
+ Boot Game
+ Boot Game
+
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ Configure...
+ Configure...
+
+
+
+ Install application from a .pkg file
+ Install application from a .pkg file
+
+
+
+ Recent Games
+ Recent Games
+
+
+
+ Exit
+ Exit
+
+
+
+ Exit shadPS4
+ Exit shadPS4
+
+
+
+ Exit the application.
+ Exit the application.
+
+
+
+ Show Game List
+ Show Game List
+
+
+
+ Game List Refresh
+ Game List Refresh
+
+
+
+ Tiny
+ Tiny
+
+
+
+ Small
+ Small
+
+
+
+ Medium
+ Medium
+
+
+
+ Large
+ Large
+
+
+
+ List View
+ List View
+
+
+
+ Grid View
+ Grid View
+
+
+
+ Elf Viewer
+ Elf Viewer
+
+
+
+ Game Install Directory
+ Game Install Directory
+
+
+
+ Dump Game List
+ Dump Game List
+
+
+
+ PKG Viewer
+ PKG Viewer
+
+
+
+ Search...
+ Search...
+
+
+
+ File
+ File
+
+
+
+ View
+ View
+
+
+
+ Game List Icons
+ Game List Icons
+
+
+
+ Game List Mode
+ Game List Mode
+
+
+
+ Settings
+ Settings
+
+
+
+ Utils
+ Utils
+
+
+
+ Themes
+ Themes
+
+
+
+ About
+ About
+
+
+
+ Dark
+ Dark
+
+
+
+ Light
+ Light
+
+
+
+ Green
+ Green
+
+
+
+ Blue
+ Blue
+
+
+
+ Violet
+ Violet
+
+
+
+ toolBar
+ toolBar
+
+
+
+ PKGViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ TrophyViewer
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ SettingsDialog
+
+
+ Settings
+ Settings
+
+
+
+ General
+ General
+
+
+
+ System
+ System
+
+
+
+ Console Language
+ Console Language
+
+
+
+ Emulator Language
+ Emulator Language
+
+
+
+ Emulator
+ Emulator
+
+
+
+ Enable Fullscreen
+ Enable Fullscreen
+
+
+
+ Show Splash
+ Show Splash
+
+
+
+ Is PS4 Pro
+ Is PS4 Pro
+
+
+
+ Username
+ Username
+
+
+
+ Logger
+ Logger
+
+
+
+ Log Type
+ Log Type
+
+
+
+ Log Filter
+ Log Filter
+
+
+
+ Graphics
+ Graphics
+
+
+
+ Graphics Device
+ Graphics Device
+
+
+
+ Width
+ Width
+
+
+
+ Height
+ Height
+
+
+
+ Vblank Divider
+ Vblank Divider
+
+
+
+ Advanced
+ Advanced
+
+
+
+ Enable Shaders Dumping
+ Enable Shaders Dumping
+
+
+
+ Enable NULL GPU
+ Enable NULL GPU
+
+
+
+ Enable PM4 Dumping
+ Enable PM4 Dumping
+
+
+
+ Debug
+ Debug
+
+
+
+ Enable Debug Dumping
+ Enable Debug Dumping
+
+
+
+ Enable Vulkan Validation Layers
+ Enable Vulkan Validation Layers
+
+
+
+ Enable Vulkan Synchronization Validation
+ Enable Vulkan Synchronization Validation
+
+
+
+ Enable RenderDoc Debugging
+ Enable RenderDoc Debugging
+
+
+
\ No newline at end of file
diff --git a/src/qt_gui/translations/pl_PL.ts b/src/qt_gui/translations/pl_PL.ts
new file mode 100644
index 00000000..cad5c582
--- /dev/null
+++ b/src/qt_gui/translations/pl_PL.ts
@@ -0,0 +1,491 @@
+
+
+
+ AboutDialog
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ shadPS4
+ shadPS4
+
+
+
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+
+
+
+ This software should not be used to play games you have not legally obtained.
+ This software should not be used to play games you have not legally obtained.
+
+
+
+ ElfViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ GameInfoClass
+
+
+ Loading game list, please wait :3
+ Loading game list, please wait :3
+
+
+
+ Cancel
+ Cancel
+
+
+
+ Loading...
+ Loading...
+
+
+
+ GameInstallDialog
+
+
+ shadPS4 - Choose directory
+ shadPS4 - Choose directory
+
+
+
+ Directory to install games
+ Directory to install games
+
+
+
+ Browse
+ Browse
+
+
+
+ Error
+ Error
+
+
+
+ The value for location to install games is not valid.
+ The value for location to install games is not valid.
+
+
+
+ GuiContextMenus
+
+
+ Create Shortcut
+ Create Shortcut
+
+
+
+ Open Game Folder
+ Open Game Folder
+
+
+
+ SFO Viewer
+ SFO Viewer
+
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ Copy info
+ Copy info
+
+
+
+ Copy Name
+ Copy Name
+
+
+
+ Copy Serial
+ Copy Serial
+
+
+
+ Copy All
+ Copy All
+
+
+
+ Shortcut creation
+ Shortcut creation
+
+
+
+ Shortcut created successfully!\n %1
+ Shortcut created successfully!\n %1
+
+
+
+ Error
+ Error
+
+
+
+ Error creating shortcut!\n %1
+ Error creating shortcut!\n %1
+
+
+
+ Install PKG
+ Install PKG
+
+
+
+ MainWindow
+
+
+ Open/Add Elf Folder
+ Open/Add Elf Folder
+
+
+
+ Install Packages (PKG)
+ Install Packages (PKG)
+
+
+
+ Boot Game
+ Boot Game
+
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ Configure...
+ Configure...
+
+
+
+ Install application from a .pkg file
+ Install application from a .pkg file
+
+
+
+ Recent Games
+ Recent Games
+
+
+
+ Exit
+ Exit
+
+
+
+ Exit shadPS4
+ Exit shadPS4
+
+
+
+ Exit the application.
+ Exit the application.
+
+
+
+ Show Game List
+ Show Game List
+
+
+
+ Game List Refresh
+ Game List Refresh
+
+
+
+ Tiny
+ Tiny
+
+
+
+ Small
+ Small
+
+
+
+ Medium
+ Medium
+
+
+
+ Large
+ Large
+
+
+
+ List View
+ List View
+
+
+
+ Grid View
+ Grid View
+
+
+
+ Elf Viewer
+ Elf Viewer
+
+
+
+ Game Install Directory
+ Game Install Directory
+
+
+
+ Dump Game List
+ Dump Game List
+
+
+
+ PKG Viewer
+ PKG Viewer
+
+
+
+ Search...
+ Search...
+
+
+
+ File
+ File
+
+
+
+ View
+ View
+
+
+
+ Game List Icons
+ Game List Icons
+
+
+
+ Game List Mode
+ Game List Mode
+
+
+
+ Settings
+ Settings
+
+
+
+ Utils
+ Utils
+
+
+
+ Themes
+ Themes
+
+
+
+ About
+ About
+
+
+
+ Dark
+ Dark
+
+
+
+ Light
+ Light
+
+
+
+ Green
+ Green
+
+
+
+ Blue
+ Blue
+
+
+
+ Violet
+ Violet
+
+
+
+ toolBar
+ toolBar
+
+
+
+ PKGViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ TrophyViewer
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ SettingsDialog
+
+
+ Settings
+ Settings
+
+
+
+ General
+ General
+
+
+
+ System
+ System
+
+
+
+ Console Language
+ Console Language
+
+
+
+ Emulator Language
+ Emulator Language
+
+
+
+ Emulator
+ Emulator
+
+
+
+ Enable Fullscreen
+ Enable Fullscreen
+
+
+
+ Show Splash
+ Show Splash
+
+
+
+ Is PS4 Pro
+ Is PS4 Pro
+
+
+
+ Username
+ Username
+
+
+
+ Logger
+ Logger
+
+
+
+ Log Type
+ Log Type
+
+
+
+ Log Filter
+ Log Filter
+
+
+
+ Graphics
+ Graphics
+
+
+
+ Graphics Device
+ Graphics Device
+
+
+
+ Width
+ Width
+
+
+
+ Height
+ Height
+
+
+
+ Vblank Divider
+ Vblank Divider
+
+
+
+ Advanced
+ Advanced
+
+
+
+ Enable Shaders Dumping
+ Enable Shaders Dumping
+
+
+
+ Enable NULL GPU
+ Enable NULL GPU
+
+
+
+ Enable PM4 Dumping
+ Enable PM4 Dumping
+
+
+
+ Debug
+ Debug
+
+
+
+ Enable Debug Dumping
+ Enable Debug Dumping
+
+
+
+ Enable Vulkan Validation Layers
+ Enable Vulkan Validation Layers
+
+
+
+ Enable Vulkan Synchronization Validation
+ Enable Vulkan Synchronization Validation
+
+
+
+ Enable RenderDoc Debugging
+ Enable RenderDoc Debugging
+
+
+
\ No newline at end of file
diff --git a/src/qt_gui/translations/pt_BR.ts b/src/qt_gui/translations/pt_BR.ts
new file mode 100644
index 00000000..a35f9b1d
--- /dev/null
+++ b/src/qt_gui/translations/pt_BR.ts
@@ -0,0 +1,491 @@
+
+
+
+ AboutDialog
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ shadPS4
+ shadPS4
+
+
+
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+
+
+
+ This software should not be used to play games you have not legally obtained.
+ This software should not be used to play games you have not legally obtained.
+
+
+
+ ElfViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ GameInfoClass
+
+
+ Loading game list, please wait :3
+ Loading game list, please wait :3
+
+
+
+ Cancel
+ Cancel
+
+
+
+ Loading...
+ Loading...
+
+
+
+ GameInstallDialog
+
+
+ shadPS4 - Choose directory
+ shadPS4 - Choose directory
+
+
+
+ Directory to install games
+ Directory to install games
+
+
+
+ Browse
+ Browse
+
+
+
+ Error
+ Error
+
+
+
+ The value for location to install games is not valid.
+ The value for location to install games is not valid.
+
+
+
+ GuiContextMenus
+
+
+ Create Shortcut
+ Create Shortcut
+
+
+
+ Open Game Folder
+ Open Game Folder
+
+
+
+ SFO Viewer
+ SFO Viewer
+
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ Copy info
+ Copy info
+
+
+
+ Copy Name
+ Copy Name
+
+
+
+ Copy Serial
+ Copy Serial
+
+
+
+ Copy All
+ Copy All
+
+
+
+ Shortcut creation
+ Shortcut creation
+
+
+
+ Shortcut created successfully!\n %1
+ Shortcut created successfully!\n %1
+
+
+
+ Error
+ Error
+
+
+
+ Error creating shortcut!\n %1
+ Error creating shortcut!\n %1
+
+
+
+ Install PKG
+ Install PKG
+
+
+
+ MainWindow
+
+
+ Open/Add Elf Folder
+ Open/Add Elf Folder
+
+
+
+ Install Packages (PKG)
+ Install Packages (PKG)
+
+
+
+ Boot Game
+ Boot Game
+
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ Configure...
+ Configure...
+
+
+
+ Install application from a .pkg file
+ Install application from a .pkg file
+
+
+
+ Recent Games
+ Recent Games
+
+
+
+ Exit
+ Exit
+
+
+
+ Exit shadPS4
+ Exit shadPS4
+
+
+
+ Exit the application.
+ Exit the application.
+
+
+
+ Show Game List
+ Show Game List
+
+
+
+ Game List Refresh
+ Game List Refresh
+
+
+
+ Tiny
+ Tiny
+
+
+
+ Small
+ Small
+
+
+
+ Medium
+ Medium
+
+
+
+ Large
+ Large
+
+
+
+ List View
+ List View
+
+
+
+ Grid View
+ Grid View
+
+
+
+ Elf Viewer
+ Elf Viewer
+
+
+
+ Game Install Directory
+ Game Install Directory
+
+
+
+ Dump Game List
+ Dump Game List
+
+
+
+ PKG Viewer
+ PKG Viewer
+
+
+
+ Search...
+ Search...
+
+
+
+ File
+ File
+
+
+
+ View
+ View
+
+
+
+ Game List Icons
+ Game List Icons
+
+
+
+ Game List Mode
+ Game List Mode
+
+
+
+ Settings
+ Settings
+
+
+
+ Utils
+ Utils
+
+
+
+ Themes
+ Themes
+
+
+
+ About
+ About
+
+
+
+ Dark
+ Dark
+
+
+
+ Light
+ Light
+
+
+
+ Green
+ Green
+
+
+
+ Blue
+ Blue
+
+
+
+ Violet
+ Violet
+
+
+
+ toolBar
+ toolBar
+
+
+
+ PKGViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ TrophyViewer
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ SettingsDialog
+
+
+ Settings
+ Settings
+
+
+
+ General
+ General
+
+
+
+ System
+ System
+
+
+
+ Console Language
+ Console Language
+
+
+
+ Emulator Language
+ Emulator Language
+
+
+
+ Emulator
+ Emulator
+
+
+
+ Enable Fullscreen
+ Enable Fullscreen
+
+
+
+ Show Splash
+ Show Splash
+
+
+
+ Is PS4 Pro
+ Is PS4 Pro
+
+
+
+ Username
+ Username
+
+
+
+ Logger
+ Logger
+
+
+
+ Log Type
+ Log Type
+
+
+
+ Log Filter
+ Log Filter
+
+
+
+ Graphics
+ Graphics
+
+
+
+ Graphics Device
+ Graphics Device
+
+
+
+ Width
+ Width
+
+
+
+ Height
+ Height
+
+
+
+ Vblank Divider
+ Vblank Divider
+
+
+
+ Advanced
+ Advanced
+
+
+
+ Enable Shaders Dumping
+ Enable Shaders Dumping
+
+
+
+ Enable NULL GPU
+ Enable NULL GPU
+
+
+
+ Enable PM4 Dumping
+ Enable PM4 Dumping
+
+
+
+ Debug
+ Debug
+
+
+
+ Enable Debug Dumping
+ Enable Debug Dumping
+
+
+
+ Enable Vulkan Validation Layers
+ Enable Vulkan Validation Layers
+
+
+
+ Enable Vulkan Synchronization Validation
+ Enable Vulkan Synchronization Validation
+
+
+
+ Enable RenderDoc Debugging
+ Enable RenderDoc Debugging
+
+
+
\ No newline at end of file
diff --git a/src/qt_gui/translations/ro_RO.ts b/src/qt_gui/translations/ro_RO.ts
new file mode 100644
index 00000000..c7dfae1b
--- /dev/null
+++ b/src/qt_gui/translations/ro_RO.ts
@@ -0,0 +1,491 @@
+
+
+
+ AboutDialog
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ shadPS4
+ shadPS4
+
+
+
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+
+
+
+ This software should not be used to play games you have not legally obtained.
+ This software should not be used to play games you have not legally obtained.
+
+
+
+ ElfViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ GameInfoClass
+
+
+ Loading game list, please wait :3
+ Loading game list, please wait :3
+
+
+
+ Cancel
+ Cancel
+
+
+
+ Loading...
+ Loading...
+
+
+
+ GameInstallDialog
+
+
+ shadPS4 - Choose directory
+ shadPS4 - Choose directory
+
+
+
+ Directory to install games
+ Directory to install games
+
+
+
+ Browse
+ Browse
+
+
+
+ Error
+ Error
+
+
+
+ The value for location to install games is not valid.
+ The value for location to install games is not valid.
+
+
+
+ GuiContextMenus
+
+
+ Create Shortcut
+ Create Shortcut
+
+
+
+ Open Game Folder
+ Open Game Folder
+
+
+
+ SFO Viewer
+ SFO Viewer
+
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ Copy info
+ Copy info
+
+
+
+ Copy Name
+ Copy Name
+
+
+
+ Copy Serial
+ Copy Serial
+
+
+
+ Copy All
+ Copy All
+
+
+
+ Shortcut creation
+ Shortcut creation
+
+
+
+ Shortcut created successfully!\n %1
+ Shortcut created successfully!\n %1
+
+
+
+ Error
+ Error
+
+
+
+ Error creating shortcut!\n %1
+ Error creating shortcut!\n %1
+
+
+
+ Install PKG
+ Install PKG
+
+
+
+ MainWindow
+
+
+ Open/Add Elf Folder
+ Open/Add Elf Folder
+
+
+
+ Install Packages (PKG)
+ Install Packages (PKG)
+
+
+
+ Boot Game
+ Boot Game
+
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ Configure...
+ Configure...
+
+
+
+ Install application from a .pkg file
+ Install application from a .pkg file
+
+
+
+ Recent Games
+ Recent Games
+
+
+
+ Exit
+ Exit
+
+
+
+ Exit shadPS4
+ Exit shadPS4
+
+
+
+ Exit the application.
+ Exit the application.
+
+
+
+ Show Game List
+ Show Game List
+
+
+
+ Game List Refresh
+ Game List Refresh
+
+
+
+ Tiny
+ Tiny
+
+
+
+ Small
+ Small
+
+
+
+ Medium
+ Medium
+
+
+
+ Large
+ Large
+
+
+
+ List View
+ List View
+
+
+
+ Grid View
+ Grid View
+
+
+
+ Elf Viewer
+ Elf Viewer
+
+
+
+ Game Install Directory
+ Game Install Directory
+
+
+
+ Dump Game List
+ Dump Game List
+
+
+
+ PKG Viewer
+ PKG Viewer
+
+
+
+ Search...
+ Search...
+
+
+
+ File
+ File
+
+
+
+ View
+ View
+
+
+
+ Game List Icons
+ Game List Icons
+
+
+
+ Game List Mode
+ Game List Mode
+
+
+
+ Settings
+ Settings
+
+
+
+ Utils
+ Utils
+
+
+
+ Themes
+ Themes
+
+
+
+ About
+ About
+
+
+
+ Dark
+ Dark
+
+
+
+ Light
+ Light
+
+
+
+ Green
+ Green
+
+
+
+ Blue
+ Blue
+
+
+
+ Violet
+ Violet
+
+
+
+ toolBar
+ toolBar
+
+
+
+ PKGViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ TrophyViewer
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ SettingsDialog
+
+
+ Settings
+ Settings
+
+
+
+ General
+ General
+
+
+
+ System
+ System
+
+
+
+ Console Language
+ Console Language
+
+
+
+ Emulator Language
+ Emulator Language
+
+
+
+ Emulator
+ Emulator
+
+
+
+ Enable Fullscreen
+ Enable Fullscreen
+
+
+
+ Show Splash
+ Show Splash
+
+
+
+ Is PS4 Pro
+ Is PS4 Pro
+
+
+
+ Username
+ Username
+
+
+
+ Logger
+ Logger
+
+
+
+ Log Type
+ Log Type
+
+
+
+ Log Filter
+ Log Filter
+
+
+
+ Graphics
+ Graphics
+
+
+
+ Graphics Device
+ Graphics Device
+
+
+
+ Width
+ Width
+
+
+
+ Height
+ Height
+
+
+
+ Vblank Divider
+ Vblank Divider
+
+
+
+ Advanced
+ Advanced
+
+
+
+ Enable Shaders Dumping
+ Enable Shaders Dumping
+
+
+
+ Enable NULL GPU
+ Enable NULL GPU
+
+
+
+ Enable PM4 Dumping
+ Enable PM4 Dumping
+
+
+
+ Debug
+ Debug
+
+
+
+ Enable Debug Dumping
+ Enable Debug Dumping
+
+
+
+ Enable Vulkan Validation Layers
+ Enable Vulkan Validation Layers
+
+
+
+ Enable Vulkan Synchronization Validation
+ Enable Vulkan Synchronization Validation
+
+
+
+ Enable RenderDoc Debugging
+ Enable RenderDoc Debugging
+
+
+
\ No newline at end of file
diff --git a/src/qt_gui/translations/ru_RU.ts b/src/qt_gui/translations/ru_RU.ts
new file mode 100644
index 00000000..556875e1
--- /dev/null
+++ b/src/qt_gui/translations/ru_RU.ts
@@ -0,0 +1,491 @@
+
+
+
+ AboutDialog
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ shadPS4
+ shadPS4
+
+
+
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+
+
+
+ This software should not be used to play games you have not legally obtained.
+ This software should not be used to play games you have not legally obtained.
+
+
+
+ ElfViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ GameInfoClass
+
+
+ Loading game list, please wait :3
+ Loading game list, please wait :3
+
+
+
+ Cancel
+ Cancel
+
+
+
+ Loading...
+ Loading...
+
+
+
+ GameInstallDialog
+
+
+ shadPS4 - Choose directory
+ shadPS4 - Choose directory
+
+
+
+ Directory to install games
+ Directory to install games
+
+
+
+ Browse
+ Browse
+
+
+
+ Error
+ Error
+
+
+
+ The value for location to install games is not valid.
+ The value for location to install games is not valid.
+
+
+
+ GuiContextMenus
+
+
+ Create Shortcut
+ Create Shortcut
+
+
+
+ Open Game Folder
+ Open Game Folder
+
+
+
+ SFO Viewer
+ SFO Viewer
+
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ Copy info
+ Copy info
+
+
+
+ Copy Name
+ Copy Name
+
+
+
+ Copy Serial
+ Copy Serial
+
+
+
+ Copy All
+ Copy All
+
+
+
+ Shortcut creation
+ Shortcut creation
+
+
+
+ Shortcut created successfully!\n %1
+ Shortcut created successfully!\n %1
+
+
+
+ Error
+ Error
+
+
+
+ Error creating shortcut!\n %1
+ Error creating shortcut!\n %1
+
+
+
+ Install PKG
+ Install PKG
+
+
+
+ MainWindow
+
+
+ Open/Add Elf Folder
+ Open/Add Elf Folder
+
+
+
+ Install Packages (PKG)
+ Install Packages (PKG)
+
+
+
+ Boot Game
+ Boot Game
+
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ Configure...
+ Configure...
+
+
+
+ Install application from a .pkg file
+ Install application from a .pkg file
+
+
+
+ Recent Games
+ Recent Games
+
+
+
+ Exit
+ Exit
+
+
+
+ Exit shadPS4
+ Exit shadPS4
+
+
+
+ Exit the application.
+ Exit the application.
+
+
+
+ Show Game List
+ Show Game List
+
+
+
+ Game List Refresh
+ Game List Refresh
+
+
+
+ Tiny
+ Tiny
+
+
+
+ Small
+ Small
+
+
+
+ Medium
+ Medium
+
+
+
+ Large
+ Large
+
+
+
+ List View
+ List View
+
+
+
+ Grid View
+ Grid View
+
+
+
+ Elf Viewer
+ Elf Viewer
+
+
+
+ Game Install Directory
+ Game Install Directory
+
+
+
+ Dump Game List
+ Dump Game List
+
+
+
+ PKG Viewer
+ PKG Viewer
+
+
+
+ Search...
+ Search...
+
+
+
+ File
+ File
+
+
+
+ View
+ View
+
+
+
+ Game List Icons
+ Game List Icons
+
+
+
+ Game List Mode
+ Game List Mode
+
+
+
+ Settings
+ Settings
+
+
+
+ Utils
+ Utils
+
+
+
+ Themes
+ Themes
+
+
+
+ About
+ About
+
+
+
+ Dark
+ Dark
+
+
+
+ Light
+ Light
+
+
+
+ Green
+ Green
+
+
+
+ Blue
+ Blue
+
+
+
+ Violet
+ Violet
+
+
+
+ toolBar
+ toolBar
+
+
+
+ PKGViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ TrophyViewer
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ SettingsDialog
+
+
+ Settings
+ Settings
+
+
+
+ General
+ General
+
+
+
+ System
+ System
+
+
+
+ Console Language
+ Console Language
+
+
+
+ Emulator Language
+ Emulator Language
+
+
+
+ Emulator
+ Emulator
+
+
+
+ Enable Fullscreen
+ Enable Fullscreen
+
+
+
+ Show Splash
+ Show Splash
+
+
+
+ Is PS4 Pro
+ Is PS4 Pro
+
+
+
+ Username
+ Username
+
+
+
+ Logger
+ Logger
+
+
+
+ Log Type
+ Log Type
+
+
+
+ Log Filter
+ Log Filter
+
+
+
+ Graphics
+ Graphics
+
+
+
+ Graphics Device
+ Graphics Device
+
+
+
+ Width
+ Width
+
+
+
+ Height
+ Height
+
+
+
+ Vblank Divider
+ Vblank Divider
+
+
+
+ Advanced
+ Advanced
+
+
+
+ Enable Shaders Dumping
+ Enable Shaders Dumping
+
+
+
+ Enable NULL GPU
+ Enable NULL GPU
+
+
+
+ Enable PM4 Dumping
+ Enable PM4 Dumping
+
+
+
+ Debug
+ Debug
+
+
+
+ Enable Debug Dumping
+ Enable Debug Dumping
+
+
+
+ Enable Vulkan Validation Layers
+ Enable Vulkan Validation Layers
+
+
+
+ Enable Vulkan Synchronization Validation
+ Enable Vulkan Synchronization Validation
+
+
+
+ Enable RenderDoc Debugging
+ Enable RenderDoc Debugging
+
+
+
\ No newline at end of file
diff --git a/src/qt_gui/translations/tr_TR.ts b/src/qt_gui/translations/tr_TR.ts
new file mode 100644
index 00000000..ebb8b9b7
--- /dev/null
+++ b/src/qt_gui/translations/tr_TR.ts
@@ -0,0 +1,491 @@
+
+
+
+ AboutDialog
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ shadPS4
+ shadPS4
+
+
+
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+
+
+
+ This software should not be used to play games you have not legally obtained.
+ This software should not be used to play games you have not legally obtained.
+
+
+
+ ElfViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ GameInfoClass
+
+
+ Loading game list, please wait :3
+ Loading game list, please wait :3
+
+
+
+ Cancel
+ Cancel
+
+
+
+ Loading...
+ Loading...
+
+
+
+ GameInstallDialog
+
+
+ shadPS4 - Choose directory
+ shadPS4 - Choose directory
+
+
+
+ Directory to install games
+ Directory to install games
+
+
+
+ Browse
+ Browse
+
+
+
+ Error
+ Error
+
+
+
+ The value for location to install games is not valid.
+ The value for location to install games is not valid.
+
+
+
+ GuiContextMenus
+
+
+ Create Shortcut
+ Create Shortcut
+
+
+
+ Open Game Folder
+ Open Game Folder
+
+
+
+ SFO Viewer
+ SFO Viewer
+
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ Copy info
+ Copy info
+
+
+
+ Copy Name
+ Copy Name
+
+
+
+ Copy Serial
+ Copy Serial
+
+
+
+ Copy All
+ Copy All
+
+
+
+ Shortcut creation
+ Shortcut creation
+
+
+
+ Shortcut created successfully!\n %1
+ Shortcut created successfully!\n %1
+
+
+
+ Error
+ Error
+
+
+
+ Error creating shortcut!\n %1
+ Error creating shortcut!\n %1
+
+
+
+ Install PKG
+ Install PKG
+
+
+
+ MainWindow
+
+
+ Open/Add Elf Folder
+ Open/Add Elf Folder
+
+
+
+ Install Packages (PKG)
+ Install Packages (PKG)
+
+
+
+ Boot Game
+ Boot Game
+
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ Configure...
+ Configure...
+
+
+
+ Install application from a .pkg file
+ Install application from a .pkg file
+
+
+
+ Recent Games
+ Recent Games
+
+
+
+ Exit
+ Exit
+
+
+
+ Exit shadPS4
+ Exit shadPS4
+
+
+
+ Exit the application.
+ Exit the application.
+
+
+
+ Show Game List
+ Show Game List
+
+
+
+ Game List Refresh
+ Game List Refresh
+
+
+
+ Tiny
+ Tiny
+
+
+
+ Small
+ Small
+
+
+
+ Medium
+ Medium
+
+
+
+ Large
+ Large
+
+
+
+ List View
+ List View
+
+
+
+ Grid View
+ Grid View
+
+
+
+ Elf Viewer
+ Elf Viewer
+
+
+
+ Game Install Directory
+ Game Install Directory
+
+
+
+ Dump Game List
+ Dump Game List
+
+
+
+ PKG Viewer
+ PKG Viewer
+
+
+
+ Search...
+ Search...
+
+
+
+ File
+ File
+
+
+
+ View
+ View
+
+
+
+ Game List Icons
+ Game List Icons
+
+
+
+ Game List Mode
+ Game List Mode
+
+
+
+ Settings
+ Settings
+
+
+
+ Utils
+ Utils
+
+
+
+ Themes
+ Themes
+
+
+
+ About
+ About
+
+
+
+ Dark
+ Dark
+
+
+
+ Light
+ Light
+
+
+
+ Green
+ Green
+
+
+
+ Blue
+ Blue
+
+
+
+ Violet
+ Violet
+
+
+
+ toolBar
+ toolBar
+
+
+
+ PKGViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ TrophyViewer
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ SettingsDialog
+
+
+ Settings
+ Settings
+
+
+
+ General
+ General
+
+
+
+ System
+ System
+
+
+
+ Console Language
+ Console Language
+
+
+
+ Emulator Language
+ Emulator Language
+
+
+
+ Emulator
+ Emulator
+
+
+
+ Enable Fullscreen
+ Enable Fullscreen
+
+
+
+ Show Splash
+ Show Splash
+
+
+
+ Is PS4 Pro
+ Is PS4 Pro
+
+
+
+ Username
+ Username
+
+
+
+ Logger
+ Logger
+
+
+
+ Log Type
+ Log Type
+
+
+
+ Log Filter
+ Log Filter
+
+
+
+ Graphics
+ Graphics
+
+
+
+ Graphics Device
+ Graphics Device
+
+
+
+ Width
+ Width
+
+
+
+ Height
+ Height
+
+
+
+ Vblank Divider
+ Vblank Divider
+
+
+
+ Advanced
+ Advanced
+
+
+
+ Enable Shaders Dumping
+ Enable Shaders Dumping
+
+
+
+ Enable NULL GPU
+ Enable NULL GPU
+
+
+
+ Enable PM4 Dumping
+ Enable PM4 Dumping
+
+
+
+ Debug
+ Debug
+
+
+
+ Enable Debug Dumping
+ Enable Debug Dumping
+
+
+
+ Enable Vulkan Validation Layers
+ Enable Vulkan Validation Layers
+
+
+
+ Enable Vulkan Synchronization Validation
+ Enable Vulkan Synchronization Validation
+
+
+
+ Enable RenderDoc Debugging
+ Enable RenderDoc Debugging
+
+
+
\ No newline at end of file
diff --git a/src/qt_gui/translations/vi_VN.ts b/src/qt_gui/translations/vi_VN.ts
new file mode 100644
index 00000000..08af9b35
--- /dev/null
+++ b/src/qt_gui/translations/vi_VN.ts
@@ -0,0 +1,491 @@
+
+
+
+ AboutDialog
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ shadPS4
+ shadPS4
+
+
+
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+
+
+
+ This software should not be used to play games you have not legally obtained.
+ This software should not be used to play games you have not legally obtained.
+
+
+
+ ElfViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ GameInfoClass
+
+
+ Loading game list, please wait :3
+ Loading game list, please wait :3
+
+
+
+ Cancel
+ Cancel
+
+
+
+ Loading...
+ Loading...
+
+
+
+ GameInstallDialog
+
+
+ shadPS4 - Choose directory
+ shadPS4 - Choose directory
+
+
+
+ Directory to install games
+ Directory to install games
+
+
+
+ Browse
+ Browse
+
+
+
+ Error
+ Error
+
+
+
+ The value for location to install games is not valid.
+ The value for location to install games is not valid.
+
+
+
+ GuiContextMenus
+
+
+ Create Shortcut
+ Create Shortcut
+
+
+
+ Open Game Folder
+ Open Game Folder
+
+
+
+ SFO Viewer
+ SFO Viewer
+
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ Copy info
+ Copy info
+
+
+
+ Copy Name
+ Copy Name
+
+
+
+ Copy Serial
+ Copy Serial
+
+
+
+ Copy All
+ Copy All
+
+
+
+ Shortcut creation
+ Shortcut creation
+
+
+
+ Shortcut created successfully!\n %1
+ Shortcut created successfully!\n %1
+
+
+
+ Error
+ Error
+
+
+
+ Error creating shortcut!\n %1
+ Error creating shortcut!\n %1
+
+
+
+ Install PKG
+ Install PKG
+
+
+
+ MainWindow
+
+
+ Open/Add Elf Folder
+ Open/Add Elf Folder
+
+
+
+ Install Packages (PKG)
+ Install Packages (PKG)
+
+
+
+ Boot Game
+ Boot Game
+
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ Configure...
+ Configure...
+
+
+
+ Install application from a .pkg file
+ Install application from a .pkg file
+
+
+
+ Recent Games
+ Recent Games
+
+
+
+ Exit
+ Exit
+
+
+
+ Exit shadPS4
+ Exit shadPS4
+
+
+
+ Exit the application.
+ Exit the application.
+
+
+
+ Show Game List
+ Show Game List
+
+
+
+ Game List Refresh
+ Game List Refresh
+
+
+
+ Tiny
+ Tiny
+
+
+
+ Small
+ Small
+
+
+
+ Medium
+ Medium
+
+
+
+ Large
+ Large
+
+
+
+ List View
+ List View
+
+
+
+ Grid View
+ Grid View
+
+
+
+ Elf Viewer
+ Elf Viewer
+
+
+
+ Game Install Directory
+ Game Install Directory
+
+
+
+ Dump Game List
+ Dump Game List
+
+
+
+ PKG Viewer
+ PKG Viewer
+
+
+
+ Search...
+ Search...
+
+
+
+ File
+ File
+
+
+
+ View
+ View
+
+
+
+ Game List Icons
+ Game List Icons
+
+
+
+ Game List Mode
+ Game List Mode
+
+
+
+ Settings
+ Settings
+
+
+
+ Utils
+ Utils
+
+
+
+ Themes
+ Themes
+
+
+
+ About
+ About
+
+
+
+ Dark
+ Dark
+
+
+
+ Light
+ Light
+
+
+
+ Green
+ Green
+
+
+
+ Blue
+ Blue
+
+
+
+ Violet
+ Violet
+
+
+
+ toolBar
+ toolBar
+
+
+
+ PKGViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ TrophyViewer
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ SettingsDialog
+
+
+ Settings
+ Settings
+
+
+
+ General
+ General
+
+
+
+ System
+ System
+
+
+
+ Console Language
+ Console Language
+
+
+
+ Emulator Language
+ Emulator Language
+
+
+
+ Emulator
+ Emulator
+
+
+
+ Enable Fullscreen
+ Enable Fullscreen
+
+
+
+ Show Splash
+ Show Splash
+
+
+
+ Is PS4 Pro
+ Is PS4 Pro
+
+
+
+ Username
+ Username
+
+
+
+ Logger
+ Logger
+
+
+
+ Log Type
+ Log Type
+
+
+
+ Log Filter
+ Log Filter
+
+
+
+ Graphics
+ Graphics
+
+
+
+ Graphics Device
+ Graphics Device
+
+
+
+ Width
+ Width
+
+
+
+ Height
+ Height
+
+
+
+ Vblank Divider
+ Vblank Divider
+
+
+
+ Advanced
+ Advanced
+
+
+
+ Enable Shaders Dumping
+ Enable Shaders Dumping
+
+
+
+ Enable NULL GPU
+ Enable NULL GPU
+
+
+
+ Enable PM4 Dumping
+ Enable PM4 Dumping
+
+
+
+ Debug
+ Debug
+
+
+
+ Enable Debug Dumping
+ Enable Debug Dumping
+
+
+
+ Enable Vulkan Validation Layers
+ Enable Vulkan Validation Layers
+
+
+
+ Enable Vulkan Synchronization Validation
+ Enable Vulkan Synchronization Validation
+
+
+
+ Enable RenderDoc Debugging
+ Enable RenderDoc Debugging
+
+
+
\ No newline at end of file
diff --git a/src/qt_gui/translations/zh_CN.ts b/src/qt_gui/translations/zh_CN.ts
new file mode 100644
index 00000000..6f639223
--- /dev/null
+++ b/src/qt_gui/translations/zh_CN.ts
@@ -0,0 +1,491 @@
+
+
+
+ AboutDialog
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ shadPS4
+ shadPS4
+
+
+
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+
+
+
+ This software should not be used to play games you have not legally obtained.
+ This software should not be used to play games you have not legally obtained.
+
+
+
+ ElfViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ GameInfoClass
+
+
+ Loading game list, please wait :3
+ Loading game list, please wait :3
+
+
+
+ Cancel
+ Cancel
+
+
+
+ Loading...
+ Loading...
+
+
+
+ GameInstallDialog
+
+
+ shadPS4 - Choose directory
+ shadPS4 - Choose directory
+
+
+
+ Directory to install games
+ Directory to install games
+
+
+
+ Browse
+ Browse
+
+
+
+ Error
+ Error
+
+
+
+ The value for location to install games is not valid.
+ The value for location to install games is not valid.
+
+
+
+ GuiContextMenus
+
+
+ Create Shortcut
+ Create Shortcut
+
+
+
+ Open Game Folder
+ Open Game Folder
+
+
+
+ SFO Viewer
+ SFO Viewer
+
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ Copy info
+ Copy info
+
+
+
+ Copy Name
+ Copy Name
+
+
+
+ Copy Serial
+ Copy Serial
+
+
+
+ Copy All
+ Copy All
+
+
+
+ Shortcut creation
+ Shortcut creation
+
+
+
+ Shortcut created successfully!\n %1
+ Shortcut created successfully!\n %1
+
+
+
+ Error
+ Error
+
+
+
+ Error creating shortcut!\n %1
+ Error creating shortcut!\n %1
+
+
+
+ Install PKG
+ Install PKG
+
+
+
+ MainWindow
+
+
+ Open/Add Elf Folder
+ Open/Add Elf Folder
+
+
+
+ Install Packages (PKG)
+ Install Packages (PKG)
+
+
+
+ Boot Game
+ Boot Game
+
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ Configure...
+ Configure...
+
+
+
+ Install application from a .pkg file
+ Install application from a .pkg file
+
+
+
+ Recent Games
+ Recent Games
+
+
+
+ Exit
+ Exit
+
+
+
+ Exit shadPS4
+ Exit shadPS4
+
+
+
+ Exit the application.
+ Exit the application.
+
+
+
+ Show Game List
+ Show Game List
+
+
+
+ Game List Refresh
+ Game List Refresh
+
+
+
+ Tiny
+ Tiny
+
+
+
+ Small
+ Small
+
+
+
+ Medium
+ Medium
+
+
+
+ Large
+ Large
+
+
+
+ List View
+ List View
+
+
+
+ Grid View
+ Grid View
+
+
+
+ Elf Viewer
+ Elf Viewer
+
+
+
+ Game Install Directory
+ Game Install Directory
+
+
+
+ Dump Game List
+ Dump Game List
+
+
+
+ PKG Viewer
+ PKG Viewer
+
+
+
+ Search...
+ Search...
+
+
+
+ File
+ File
+
+
+
+ View
+ View
+
+
+
+ Game List Icons
+ Game List Icons
+
+
+
+ Game List Mode
+ Game List Mode
+
+
+
+ Settings
+ Settings
+
+
+
+ Utils
+ Utils
+
+
+
+ Themes
+ Themes
+
+
+
+ About
+ About
+
+
+
+ Dark
+ Dark
+
+
+
+ Light
+ Light
+
+
+
+ Green
+ Green
+
+
+
+ Blue
+ Blue
+
+
+
+ Violet
+ Violet
+
+
+
+ toolBar
+ toolBar
+
+
+
+ PKGViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ TrophyViewer
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ SettingsDialog
+
+
+ Settings
+ Settings
+
+
+
+ General
+ General
+
+
+
+ System
+ System
+
+
+
+ Console Language
+ Console Language
+
+
+
+ Emulator Language
+ Emulator Language
+
+
+
+ Emulator
+ Emulator
+
+
+
+ Enable Fullscreen
+ Enable Fullscreen
+
+
+
+ Show Splash
+ Show Splash
+
+
+
+ Is PS4 Pro
+ Is PS4 Pro
+
+
+
+ Username
+ Username
+
+
+
+ Logger
+ Logger
+
+
+
+ Log Type
+ Log Type
+
+
+
+ Log Filter
+ Log Filter
+
+
+
+ Graphics
+ Graphics
+
+
+
+ Graphics Device
+ Graphics Device
+
+
+
+ Width
+ Width
+
+
+
+ Height
+ Height
+
+
+
+ Vblank Divider
+ Vblank Divider
+
+
+
+ Advanced
+ Advanced
+
+
+
+ Enable Shaders Dumping
+ Enable Shaders Dumping
+
+
+
+ Enable NULL GPU
+ Enable NULL GPU
+
+
+
+ Enable PM4 Dumping
+ Enable PM4 Dumping
+
+
+
+ Debug
+ Debug
+
+
+
+ Enable Debug Dumping
+ Enable Debug Dumping
+
+
+
+ Enable Vulkan Validation Layers
+ Enable Vulkan Validation Layers
+
+
+
+ Enable Vulkan Synchronization Validation
+ Enable Vulkan Synchronization Validation
+
+
+
+ Enable RenderDoc Debugging
+ Enable RenderDoc Debugging
+
+
+
\ No newline at end of file
diff --git a/src/qt_gui/translations/zh_TW.ts b/src/qt_gui/translations/zh_TW.ts
new file mode 100644
index 00000000..1ddeaa43
--- /dev/null
+++ b/src/qt_gui/translations/zh_TW.ts
@@ -0,0 +1,491 @@
+
+
+
+ AboutDialog
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ shadPS4
+ shadPS4
+
+
+
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+ shadPS4 is an experimental open-source emulator for the PlayStation 4.
+
+
+
+ This software should not be used to play games you have not legally obtained.
+ This software should not be used to play games you have not legally obtained.
+
+
+
+ ElfViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ GameInfoClass
+
+
+ Loading game list, please wait :3
+ Loading game list, please wait :3
+
+
+
+ Cancel
+ Cancel
+
+
+
+ Loading...
+ Loading...
+
+
+
+ GameInstallDialog
+
+
+ shadPS4 - Choose directory
+ shadPS4 - Choose directory
+
+
+
+ Directory to install games
+ Directory to install games
+
+
+
+ Browse
+ Browse
+
+
+
+ Error
+ Error
+
+
+
+ The value for location to install games is not valid.
+ The value for location to install games is not valid.
+
+
+
+ GuiContextMenus
+
+
+ Create Shortcut
+ Create Shortcut
+
+
+
+ Open Game Folder
+ Open Game Folder
+
+
+
+ SFO Viewer
+ SFO Viewer
+
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ Copy info
+ Copy info
+
+
+
+ Copy Name
+ Copy Name
+
+
+
+ Copy Serial
+ Copy Serial
+
+
+
+ Copy All
+ Copy All
+
+
+
+ Shortcut creation
+ Shortcut creation
+
+
+
+ Shortcut created successfully!\n %1
+ Shortcut created successfully!\n %1
+
+
+
+ Error
+ Error
+
+
+
+ Error creating shortcut!\n %1
+ Error creating shortcut!\n %1
+
+
+
+ Install PKG
+ Install PKG
+
+
+
+ MainWindow
+
+
+ Open/Add Elf Folder
+ Open/Add Elf Folder
+
+
+
+ Install Packages (PKG)
+ Install Packages (PKG)
+
+
+
+ Boot Game
+ Boot Game
+
+
+
+ About shadPS4
+ About shadPS4
+
+
+
+ Configure...
+ Configure...
+
+
+
+ Install application from a .pkg file
+ Install application from a .pkg file
+
+
+
+ Recent Games
+ Recent Games
+
+
+
+ Exit
+ Exit
+
+
+
+ Exit shadPS4
+ Exit shadPS4
+
+
+
+ Exit the application.
+ Exit the application.
+
+
+
+ Show Game List
+ Show Game List
+
+
+
+ Game List Refresh
+ Game List Refresh
+
+
+
+ Tiny
+ Tiny
+
+
+
+ Small
+ Small
+
+
+
+ Medium
+ Medium
+
+
+
+ Large
+ Large
+
+
+
+ List View
+ List View
+
+
+
+ Grid View
+ Grid View
+
+
+
+ Elf Viewer
+ Elf Viewer
+
+
+
+ Game Install Directory
+ Game Install Directory
+
+
+
+ Dump Game List
+ Dump Game List
+
+
+
+ PKG Viewer
+ PKG Viewer
+
+
+
+ Search...
+ Search...
+
+
+
+ File
+ File
+
+
+
+ View
+ View
+
+
+
+ Game List Icons
+ Game List Icons
+
+
+
+ Game List Mode
+ Game List Mode
+
+
+
+ Settings
+ Settings
+
+
+
+ Utils
+ Utils
+
+
+
+ Themes
+ Themes
+
+
+
+ About
+ About
+
+
+
+ Dark
+ Dark
+
+
+
+ Light
+ Light
+
+
+
+ Green
+ Green
+
+
+
+ Blue
+ Blue
+
+
+
+ Violet
+ Violet
+
+
+
+ toolBar
+ toolBar
+
+
+
+ PKGViewer
+
+
+ Open Folder
+ Open Folder
+
+
+
+ TrophyViewer
+
+
+ Trophy Viewer
+ Trophy Viewer
+
+
+
+ SettingsDialog
+
+
+ Settings
+ Settings
+
+
+
+ General
+ General
+
+
+
+ System
+ System
+
+
+
+ Console Language
+ Console Language
+
+
+
+ Emulator Language
+ Emulator Language
+
+
+
+ Emulator
+ Emulator
+
+
+
+ Enable Fullscreen
+ Enable Fullscreen
+
+
+
+ Show Splash
+ Show Splash
+
+
+
+ Is PS4 Pro
+ Is PS4 Pro
+
+
+
+ Username
+ Username
+
+
+
+ Logger
+ Logger
+
+
+
+ Log Type
+ Log Type
+
+
+
+ Log Filter
+ Log Filter
+
+
+
+ Graphics
+ Graphics
+
+
+
+ Graphics Device
+ Graphics Device
+
+
+
+ Width
+ Width
+
+
+
+ Height
+ Height
+
+
+
+ Vblank Divider
+ Vblank Divider
+
+
+
+ Advanced
+ Advanced
+
+
+
+ Enable Shaders Dumping
+ Enable Shaders Dumping
+
+
+
+ Enable NULL GPU
+ Enable NULL GPU
+
+
+
+ Enable PM4 Dumping
+ Enable PM4 Dumping
+
+
+
+ Debug
+ Debug
+
+
+
+ Enable Debug Dumping
+ Enable Debug Dumping
+
+
+
+ Enable Vulkan Validation Layers
+ Enable Vulkan Validation Layers
+
+
+
+ Enable Vulkan Synchronization Validation
+ Enable Vulkan Synchronization Validation
+
+
+
+ Enable RenderDoc Debugging
+ Enable RenderDoc Debugging
+
+
+
\ No newline at end of file
diff --git a/src/qt_gui/trophy_viewer.cpp b/src/qt_gui/trophy_viewer.cpp
index bb17dfc3..57dce6b4 100644
--- a/src/qt_gui/trophy_viewer.cpp
+++ b/src/qt_gui/trophy_viewer.cpp
@@ -5,7 +5,7 @@
#include "trophy_viewer.h"
TrophyViewer::TrophyViewer(QString trophyPath, QString gameTrpPath) : QMainWindow() {
- this->setWindowTitle("Trophy Viewer");
+ this->setWindowTitle(tr("Trophy Viewer"));
this->setAttribute(Qt::WA_DeleteOnClose);
tabWidget = new QTabWidget(this);
gameTrpPath_ = gameTrpPath;
From 7766a653d572dd0ead49d9a8fb2894961f23a555 Mon Sep 17 00:00:00 2001
From: Dzmitry Dubrova
Date: Sun, 25 Aug 2024 12:30:05 +0300
Subject: [PATCH 04/12] ci: Add LinguistTools to CIs
---
.github/workflows/macos-qt.yml | 3 ++-
.github/workflows/windows-qt.yml | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/macos-qt.yml b/.github/workflows/macos-qt.yml
index 4b3672df..24c71af4 100644
--- a/.github/workflows/macos-qt.yml
+++ b/.github/workflows/macos-qt.yml
@@ -38,7 +38,7 @@ jobs:
host: mac
target: desktop
arch: clang_64
- archives: qtbase
+ archives: qtbase qttools
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_OSX_ARCHITECTURES=x86_64 -DENABLE_QT_GUI=ON
@@ -50,6 +50,7 @@ jobs:
run: |
mkdir upload
mv ${{github.workspace}}/build/shadps4.app upload
+ mv ${{github.workspace}}/build/translations/* upload
macdeployqt upload/shadps4.app
tar cf shadps4-macos-qt.tar.gz -C upload .
diff --git a/.github/workflows/windows-qt.yml b/.github/workflows/windows-qt.yml
index 06a16eb5..a3adfa90 100644
--- a/.github/workflows/windows-qt.yml
+++ b/.github/workflows/windows-qt.yml
@@ -28,7 +28,7 @@ jobs:
host: windows
target: desktop
arch: win64_msvc2019_64
- archives: qtbase
+ archives: qtbase qttools
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -T ClangCL -DENABLE_QT_GUI=ON
@@ -40,6 +40,7 @@ jobs:
run: |
mkdir upload
move build/Release/shadPS4.exe upload
+ move build/Release/translations/* upload
windeployqt --dir upload upload/shadPS4.exe
- name: Upload executable
From e603165e2b7a71bdfa38e0c74f2d344f19f933e9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C2=A5IGA?= <164882787+Xphalnos@users.noreply.github.com>
Date: Sun, 25 Aug 2024 12:31:45 +0200
Subject: [PATCH 05/12] Implement French translation
---
src/qt_gui/translations/fr.ts | 182 +++++++++++++++++-----------------
1 file changed, 91 insertions(+), 91 deletions(-)
diff --git a/src/qt_gui/translations/fr.ts b/src/qt_gui/translations/fr.ts
index d56f6e42..54100f17 100644
--- a/src/qt_gui/translations/fr.ts
+++ b/src/qt_gui/translations/fr.ts
@@ -6,7 +6,7 @@
About shadPS4
- About shadPS4
+ À propos de shadPS4
@@ -16,12 +16,12 @@
shadPS4 is an experimental open-source emulator for the PlayStation 4.
- shadPS4 is an experimental open-source emulator for the PlayStation 4.
+ shadPS4 est un émulateur expérimental de la PlayStation 4.
This software should not be used to play games you have not legally obtained.
- This software should not be used to play games you have not legally obtained.
+ Ce logiciel ne doit pas être utilisé pour jouer à des jeux que vous n'avez pas obtenus légalement.
@@ -29,7 +29,7 @@
Open Folder
- Open Folder
+ Ouvrir un dossier
@@ -37,17 +37,17 @@
Loading game list, please wait :3
- Loading game list, please wait :3
+ Chargement de la liste de jeu, veuillez attendre...
Cancel
- Cancel
+ Annuler
Loading...
- Loading...
+ Chargement...
@@ -55,27 +55,27 @@
shadPS4 - Choose directory
- shadPS4 - Choose directory
+ shadPS4 - Choisir un répertoire
Directory to install games
- Directory to install games
+ Répertoire pour installer les jeux
Browse
- Browse
+ Parcourir
Error
- Error
+ Erreur
The value for location to install games is not valid.
- The value for location to install games is not valid.
+ Le répertoire d'installation des jeux n'est pas valide.
@@ -83,67 +83,67 @@
Create Shortcut
- Create Shortcut
+ Créer un raccourci
Open Game Folder
- Open Game Folder
+ Ouvrir le dossier du jeu
SFO Viewer
- SFO Viewer
+ Visionneur SFO
Trophy Viewer
- Trophy Viewer
+ Visionneur de trophés
Copy info
- Copy info
+ Copier les informations
Copy Name
- Copy Name
+ Copier le nom
Copy Serial
- Copy Serial
+ Copier le numéro de série
Copy All
- Copy All
+ Copier tout
Shortcut creation
- Shortcut creation
+ Création du raccourci
Shortcut created successfully!\n %1
- Shortcut created successfully!\n %1
+ Raccourci créé avec succès!\n %1
Error
- Error
+ Erreur
Error creating shortcut!\n %1
- Error creating shortcut!\n %1
+ Erreur lors de la création du raccourci!\n %1
Install PKG
- Install PKG
+ Installer un PKG
@@ -151,177 +151,177 @@
Open/Add Elf Folder
- Open/Add Elf Folder
+ Ouvrir/Ajouter un dossier Elf
Install Packages (PKG)
- Install Packages (PKG)
+ Installer des packages (PKG)
Boot Game
- Boot Game
+ Démarrer un jeu
About shadPS4
- About shadPS4
+ À propos de shadPS4
Configure...
- Configure...
+ Configurer...
Install application from a .pkg file
- Install application from a .pkg file
+ Installer une application depuis un fichier .pkg
Recent Games
- Recent Games
+ Jeux récents
Exit
- Exit
+ Fermer
Exit shadPS4
- Exit shadPS4
+ Fermer shadPS4
Exit the application.
- Exit the application.
+ Fermer l'application.
Show Game List
- Show Game List
+ Afficher la liste de jeux
Game List Refresh
- Game List Refresh
+ Rafraîchir la liste de jeux
Tiny
- Tiny
+ Très Petit
Small
- Small
+ Petit
Medium
- Medium
+ Moyen
Large
- Large
+ Grand
List View
- List View
+ Mode liste
Grid View
- Grid View
+ Mode grille
Elf Viewer
- Elf Viewer
+ Visionneur Elf
Game Install Directory
- Game Install Directory
+ Répertoire des jeux
Dump Game List
- Dump Game List
+ Dumper la liste des jeux
PKG Viewer
- PKG Viewer
+ Visionneur PKG
Search...
- Search...
+ Chercher...
File
- File
+ Fichier
View
- View
+ Affichage
Game List Icons
- Game List Icons
+ Icones des jeux
Game List Mode
- Game List Mode
+ Mode liste
Settings
- Settings
+ Paramètres
Utils
- Utils
+ Utilitaire
Themes
- Themes
+ Thèmes
About
- About
+ À propos
Dark
- Dark
+ Noir
Light
- Light
+ Blanc
Green
- Green
+ Vert
Blue
- Blue
+ Bleu
@@ -331,7 +331,7 @@
toolBar
- toolBar
+ Bare d'outils
@@ -339,7 +339,7 @@
Open Folder
- Open Folder
+ Ouvrir un dossier
@@ -347,7 +347,7 @@
Trophy Viewer
- Trophy Viewer
+ Visionneur de trophés
@@ -355,137 +355,137 @@
Settings
- Settings
+ Paramètres
General
- General
+ Général
System
- System
+ Système
Console Language
- Console Language
+ Langage de la console
Emulator Language
- Emulator Language
+ Langage de l'émulateur
Emulator
- Emulator
+ Émulateur
Enable Fullscreen
- Enable Fullscreen
+ Plein écran
Show Splash
- Show Splash
+ Afficher l'image du jeu
Is PS4 Pro
- Is PS4 Pro
+ Mode PS4 Pro
Username
- Username
+ Nom d'utilisateur
Logger
- Logger
+ Journalisation
Log Type
- Log Type
+ Type
Log Filter
- Log Filter
+ Filtre
Graphics
- Graphics
+ Graphismes
Graphics Device
- Graphics Device
+ Carte graphique
Width
- Width
+ Largeur
Height
- Height
+ Hauteur
Vblank Divider
- Vblank Divider
+ Vblank
Advanced
- Advanced
+ Avancé
Enable Shaders Dumping
- Enable Shaders Dumping
+ Dumper les shaders
Enable NULL GPU
- Enable NULL GPU
+ NULL GPU
Enable PM4 Dumping
- Enable PM4 Dumping
+ Dumper le PM4
Debug
- Debug
+ Débogage
Enable Debug Dumping
- Enable Debug Dumping
+ Activer le débogage
Enable Vulkan Validation Layers
- Enable Vulkan Validation Layers
+ Couche de validation Vulkan
Enable Vulkan Synchronization Validation
- Enable Vulkan Synchronization Validation
+ Synchroniser la validation Vulkan
Enable RenderDoc Debugging
- Enable RenderDoc Debugging
+ Activer le débogage RenderDoc
-
\ No newline at end of file
+
From 83b43363fa7e63b68dd60bc3039e78ceabe3df18 Mon Sep 17 00:00:00 2001
From: Dzmitry Dubrova
Date: Sun, 25 Aug 2024 13:59:22 +0300
Subject: [PATCH 06/12] ci: Fix CI
---
.github/workflows/macos-qt.yml | 2 +-
.github/workflows/windows-qt.yml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/macos-qt.yml b/.github/workflows/macos-qt.yml
index 24c71af4..def98ea3 100644
--- a/.github/workflows/macos-qt.yml
+++ b/.github/workflows/macos-qt.yml
@@ -50,7 +50,7 @@ jobs:
run: |
mkdir upload
mv ${{github.workspace}}/build/shadps4.app upload
- mv ${{github.workspace}}/build/translations/* upload
+ mv ${{github.workspace}}/build/translations upload
macdeployqt upload/shadps4.app
tar cf shadps4-macos-qt.tar.gz -C upload .
diff --git a/.github/workflows/windows-qt.yml b/.github/workflows/windows-qt.yml
index a3adfa90..70c33ebe 100644
--- a/.github/workflows/windows-qt.yml
+++ b/.github/workflows/windows-qt.yml
@@ -40,7 +40,7 @@ jobs:
run: |
mkdir upload
move build/Release/shadPS4.exe upload
- move build/Release/translations/* upload
+ move build/translations upload
windeployqt --dir upload upload/shadPS4.exe
- name: Upload executable
From 5664d45305b310d8716d9eee598964ad53ec0cf2 Mon Sep 17 00:00:00 2001
From: SaynedBread <114937220+CyntexMore@users.noreply.github.com>
Date: Sun, 25 Aug 2024 14:12:16 +0200
Subject: [PATCH 07/12] docs: Updated Status
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 25dbbccc..4e9e6fb9 100644
--- a/README.md
+++ b/README.md
@@ -49,7 +49,7 @@ To get the latest news, go to our [**X (Twitter)**](https://x.com/shadps4) or ou
> [!IMPORTANT]
> shadPS4 is early in developement, don't expect a flawless experience.
-Currently, the emulator successfully runs small games like [**Sonic Mania**](https://www.youtube.com/watch?v=AAHoNzhHyCU), [**Undertale**](https://youtu.be/5zIvdy65Ro4), [**Dysmantle**](https://youtu.be/b9xzhLBdESE), and a few others. Most importantly shadPS4 can *somewhat* run Bloodborne.
+Currently, the emulator successfully runs small games like [**Sonic Mania**](https://www.youtube.com/watch?v=AAHoNzhHyCU), [**Undertale**](https://youtu.be/5zIvdy65Ro4) and it can even *somewhat* run [**Bloodborne**](https://www.youtube.com/watch?v=wC6s0avpQRE).
# Why
From 6a87c37aeb8d49a750696608f187820faeed471b Mon Sep 17 00:00:00 2001
From: SaynedBread <114937220+CyntexMore@users.noreply.github.com>
Date: Sun, 25 Aug 2024 14:37:17 +0200
Subject: [PATCH 08/12] docs: Removed misinformation
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 4e9e6fb9..c99142c7 100644
--- a/README.md
+++ b/README.md
@@ -101,7 +101,7 @@ For more information on how to test, debug and report issues with the emulator o
# Keyboard mapping
> [!NOTE]
-> Keyboard mappings can be changed from the Qt interface of shadPS4. Xbox and DualShock controllers work out of the box.
+> Xbox and DualShock controllers work out of the box.
| Controller button | Keyboard equivelant |
|-------------|-------------|
From 26b5661dea64da7b1f6dc62d2746b5e5468b21a9 Mon Sep 17 00:00:00 2001
From: Dzmitry Dubrova
Date: Sun, 25 Aug 2024 15:19:24 +0300
Subject: [PATCH 09/12] ci: Fix linux-qt CI
---
.github/linux-appimage-qt.sh | 4 ++++
.github/workflows/linux-qt.yml | 2 +-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/.github/linux-appimage-qt.sh b/.github/linux-appimage-qt.sh
index 87017245..203d214e 100755
--- a/.github/linux-appimage-qt.sh
+++ b/.github/linux-appimage-qt.sh
@@ -19,8 +19,12 @@ chmod a+x linuxdeploy-x86_64.AppImage
chmod a+x linuxdeploy-plugin-qt-x86_64.AppImage
chmod a+x linuxdeploy-plugin-checkrt-x86_64.sh
+
# Build AppImage
./linuxdeploy-x86_64.AppImage --appdir AppDir
./linuxdeploy-plugin-checkrt-x86_64.sh --appdir AppDir
+
+cp -a "$GITHUB_WORKSPACE/build/translations" AppDir/usr/bin
+
./linuxdeploy-x86_64.AppImage --appdir AppDir -d "$GITHUB_WORKSPACE"/.github/shadps4.desktop -e "$GITHUB_WORKSPACE"/build/shadps4 -i "$GITHUB_WORKSPACE"/.github/shadps4.png --plugin qt --output appimage
mv Shadps4-x86_64.AppImage Shadps4-qt.AppImage
diff --git a/.github/workflows/linux-qt.yml b/.github/workflows/linux-qt.yml
index 5611ae50..26b80d68 100644
--- a/.github/workflows/linux-qt.yml
+++ b/.github/workflows/linux-qt.yml
@@ -23,7 +23,7 @@ jobs:
- name: Install misc packages
run: >
- sudo apt-get update && sudo apt install libx11-dev libxext-dev libwayland-dev libfuse2 clang build-essential qt6-base-dev
+ sudo apt-get update && sudo apt install libx11-dev libxext-dev libwayland-dev libfuse2 clang build-essential qt6-base-dev qt6-tools-dev
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DENABLE_QT_GUI=ON
From b687ae5e3474ae4f124a730e4e59b810768c19d7 Mon Sep 17 00:00:00 2001
From: psucien <168137814+psucien@users.noreply.github.com>
Date: Sun, 25 Aug 2024 22:01:05 +0200
Subject: [PATCH 10/12] GnmDriver: Clear context support (#567)
* gnmdriver: added support for gpu context reset
* shader_recompiler: minor validation fixes
* shader_recompiler: added `V_CMPX_GT_I32`
* shader_recompiler: fix for crash on inline sampler access
* compilation warnings and dead code elimination
* amdgpu: fix for registers addressing
* libraries: videoout: reduce logging pressure
* shader_recompiler: fix for devergence scope detection
---
CMakeLists.txt | 1 +
src/core/libraries/gnmdriver/gnmdriver.cpp | 50 +++++++++++------
src/core/libraries/videoout/video_out.cpp | 16 +++---
.../backend/spirv/emit_spirv.cpp | 1 +
.../backend/spirv/spirv_emit_context.cpp | 4 ++
.../frontend/control_flow_graph.cpp | 18 ++++--
.../frontend/instruction.cpp | 14 +++++
src/shader_recompiler/frontend/instruction.h | 1 +
.../frontend/translate/vector_alu.cpp | 2 +
.../ir/passes/resource_tracking_pass.cpp | 5 +-
src/video_core/amdgpu/default_context.cpp | 55 +++++++++++++++++++
src/video_core/amdgpu/liverpool.cpp | 1 +
src/video_core/amdgpu/liverpool.h | 2 +
src/video_core/buffer_cache/buffer.h | 6 +-
.../renderer_vulkan/vk_instance.cpp | 1 +
.../renderer_vulkan/vk_rasterizer.cpp | 4 +-
src/video_core/texture_cache/image.h | 6 +-
src/video_core/texture_cache/image_view.cpp | 3 +-
src/video_core/texture_cache/tile_manager.cpp | 7 ---
19 files changed, 147 insertions(+), 50 deletions(-)
create mode 100644 src/video_core/amdgpu/default_context.cpp
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 721f1128..43ad23e9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -488,6 +488,7 @@ set(VIDEO_CORE src/video_core/amdgpu/liverpool.cpp
src/video_core/amdgpu/pm4_cmds.h
src/video_core/amdgpu/pm4_opcodes.h
src/video_core/amdgpu/resource.h
+ src/video_core/amdgpu/default_context.cpp
src/video_core/buffer_cache/buffer.cpp
src/video_core/buffer_cache/buffer.h
src/video_core/buffer_cache/buffer_cache.cpp
diff --git a/src/core/libraries/gnmdriver/gnmdriver.cpp b/src/core/libraries/gnmdriver/gnmdriver.cpp
index c2ee6d59..95821a03 100644
--- a/src/core/libraries/gnmdriver/gnmdriver.cpp
+++ b/src/core/libraries/gnmdriver/gnmdriver.cpp
@@ -55,6 +55,10 @@ static constexpr auto HwInitPacketSize = 0x100u;
// clang-format off
static constexpr std::array InitSequence{
+ // A fake preamble to mimic context reset sent by FW
+ 0xc0001200u, 0u, // IT_CLEAR_STATE
+
+ // Actual init state sequence
0xc0017600u, 0x216u, 0xffffffffu,
0xc0017600u, 0x217u, 0xffffffffu,
0xc0017600u, 0x215u, 0u,
@@ -94,9 +98,13 @@ static constexpr std::array InitSequence{
0xc0036900u, 0x295u, 0x100u, 0x100u, 4u,
0xc0017900u, 0x200u, 0xe0000000u,
};
-static_assert(InitSequence.size() == 0x73);
+static_assert(InitSequence.size() == 0x73 + 2);
static constexpr std::array InitSequence175{
+ // A fake preamble to mimic context reset sent by FW
+ 0xc0001200u, 0u, // IT_CLEAR_STATE
+
+ // Actual init state sequence
0xc0017600u, 0x216u, 0xffffffffu,
0xc0017600u, 0x217u, 0xffffffffu,
0xc0017600u, 0x215u, 0u,
@@ -136,9 +144,13 @@ static constexpr std::array InitSequence175{
0xc0036900u, 0x295u, 0x100u, 0x100u, 4u,
0xc0017900u, 0x200u, 0xe0000000u,
};
-static_assert(InitSequence175.size() == 0x73);
+static_assert(InitSequence175.size() == 0x73 + 2);
static constexpr std::array InitSequence200{
+ // A fake preamble to mimic context reset sent by FW
+ 0xc0001200u, 0u, // IT_CLEAR_STATE
+
+ // Actual init state sequence
0xc0017600u, 0x216u, 0xffffffffu,
0xc0017600u, 0x217u, 0xffffffffu,
0xc0017600u, 0x215u, 0u,
@@ -179,9 +191,13 @@ static constexpr std::array InitSequence200{
0xc0036900u, 0x295u, 0x100u, 0x100u, 4u,
0xc0017900u, 0x200u, 0xe0000000u,
};
-static_assert(InitSequence200.size() == 0x76);
+static_assert(InitSequence200.size() == 0x76 + 2);
static constexpr std::array InitSequence350{
+ // A fake preamble to mimic context reset sent by FW
+ 0xc0001200u, 0u, // IT_CLEAR_STATE
+
+ // Actual init state sequence
0xc0017600u, 0x216u, 0xffffffffu,
0xc0017600u, 0x217u, 0xffffffffu,
0xc0017600u, 0x215u, 0u,
@@ -224,7 +240,7 @@ static constexpr std::array InitSequence350{
0xc0017900u, 0x200u, 0xe0000000u,
0xc0016900u, 0x2aau, 0xffu,
};
-static_assert(InitSequence350.size() == 0x7c);
+static_assert(InitSequence350.size() == 0x7c + 2);
static constexpr std::array CtxInitSequence{
0xc0012800u, 0x80000000u, 0x80000000u,
@@ -735,11 +751,11 @@ u32 PS4_SYSV_ABI sceGnmDrawInitDefaultHardwareState(u32* cmdbuf, u32 size) {
cmdbuf = ClearContextState(cmdbuf);
}
- std::memcpy(cmdbuf, InitSequence.data(), InitSequence.size() * 4);
- cmdbuf += InitSequence.size();
+ std::memcpy(cmdbuf, &InitSequence[2], (InitSequence.size() - 2) * 4);
+ cmdbuf += InitSequence.size() - 2;
const auto cmdbuf_left =
- HwInitPacketSize - InitSequence.size() - (clear_state ? 0xc : 0) - 1;
+ HwInitPacketSize - (InitSequence.size() - 2) - (clear_state ? 0xc : 0) - 1;
cmdbuf = WriteHeader(cmdbuf, cmdbuf_left);
cmdbuf = WriteBody(cmdbuf, 0u);
@@ -757,10 +773,10 @@ u32 PS4_SYSV_ABI sceGnmDrawInitDefaultHardwareState175(u32* cmdbuf, u32 size) {
}
cmdbuf = ClearContextState(cmdbuf);
- std::memcpy(cmdbuf, InitSequence175.data(), InitSequence175.size() * 4);
- cmdbuf += InitSequence175.size();
+ std::memcpy(cmdbuf, &InitSequence175[2], (InitSequence175.size() - 2) * 4);
+ cmdbuf += InitSequence175.size() - 2;
- constexpr auto cmdbuf_left = HwInitPacketSize - InitSequence175.size() - 0xc - 1;
+ constexpr auto cmdbuf_left = HwInitPacketSize - (InitSequence175.size() - 2) - 0xc - 1;
WriteTrailingNop(cmdbuf);
return HwInitPacketSize;
@@ -778,11 +794,11 @@ u32 PS4_SYSV_ABI sceGnmDrawInitDefaultHardwareState200(u32* cmdbuf, u32 size) {
cmdbuf = ClearContextState(cmdbuf);
}
- std::memcpy(cmdbuf, InitSequence200.data(), InitSequence200.size() * 4);
- cmdbuf += InitSequence200.size();
+ std::memcpy(cmdbuf, &InitSequence200[2], (InitSequence200.size() - 2) * 4);
+ cmdbuf += InitSequence200.size() - 2;
const auto cmdbuf_left =
- HwInitPacketSize - InitSequence200.size() - (clear_state ? 0xc : 0) - 1;
+ HwInitPacketSize - (InitSequence200.size() - 2) - (clear_state ? 0xc : 0) - 1;
cmdbuf = WriteHeader(cmdbuf, cmdbuf_left);
cmdbuf = WriteBody(cmdbuf, 0u);
@@ -804,11 +820,11 @@ u32 PS4_SYSV_ABI sceGnmDrawInitDefaultHardwareState350(u32* cmdbuf, u32 size) {
cmdbuf = ClearContextState(cmdbuf);
}
- std::memcpy(cmdbuf, InitSequence350.data(), InitSequence350.size() * 4);
- cmdbuf += InitSequence350.size();
+ std::memcpy(cmdbuf, &InitSequence350[2], (InitSequence350.size() - 2) * 4);
+ cmdbuf += InitSequence350.size() - 2;
const auto cmdbuf_left =
- HwInitPacketSize - InitSequence350.size() - (clear_state ? 0xc : 0) - 1;
+ HwInitPacketSize - (InitSequence350.size() - 2) - (clear_state ? 0xc : 0) - 1;
cmdbuf = WriteHeader(cmdbuf, cmdbuf_left);
cmdbuf = WriteBody(cmdbuf, 0u);
@@ -1743,7 +1759,7 @@ s32 PS4_SYSV_ABI sceGnmSetVsShader(u32* cmdbuf, u32 size, const u32* vs_regs, u3
return -1;
}
- const u32 var = shader_modifier == 0 ? vs_regs[2] : (vs_regs[2] & 0xfcfffc3f | shader_modifier);
+ const u32 var = shader_modifier == 0 ? vs_regs[2] : (vs_regs[2] & 0xfcfffc3f) | shader_modifier;
cmdbuf = PM4CmdSetData::SetShReg(cmdbuf, 0x48u, vs_regs[0], 0u); // SPI_SHADER_PGM_LO_VS
cmdbuf = PM4CmdSetData::SetShReg(cmdbuf, 0x4au, var, vs_regs[3]); // SPI_SHADER_PGM_RSRC1_VS
cmdbuf = PM4CmdSetData::SetContextReg(cmdbuf, 0x207u, vs_regs[6]); // PA_CL_VS_OUT_CNTL
diff --git a/src/core/libraries/videoout/video_out.cpp b/src/core/libraries/videoout/video_out.cpp
index d13062cd..a6c1a762 100644
--- a/src/core/libraries/videoout/video_out.cpp
+++ b/src/core/libraries/videoout/video_out.cpp
@@ -185,14 +185,16 @@ s32 PS4_SYSV_ABI sceVideoOutGetFlipStatus(s32 handle, FlipStatus* status) {
return ORBIS_VIDEO_OUT_ERROR_INVALID_HANDLE;
}
- std::unique_lock lock{port->port_mutex};
- *status = port->flip_status;
+ {
+ std::unique_lock lock{port->port_mutex};
+ *status = port->flip_status;
+ }
- LOG_INFO(Lib_VideoOut,
- "count = {}, processTime = {}, tsc = {}, submitTsc = {}, flipArg = {}, gcQueueNum = "
- "{}, flipPendingNum = {}, currentBuffer = {}",
- status->count, status->processTime, status->tsc, status->submitTsc, status->flipArg,
- status->gcQueueNum, status->flipPendingNum, status->currentBuffer);
+ LOG_TRACE(Lib_VideoOut,
+ "count = {}, processTime = {}, tsc = {}, submitTsc = {}, flipArg = {}, gcQueueNum = "
+ "{}, flipPendingNum = {}, currentBuffer = {}",
+ status->count, status->processTime, status->tsc, status->submitTsc, status->flipArg,
+ status->gcQueueNum, status->flipPendingNum, status->currentBuffer);
return ORBIS_OK;
}
diff --git a/src/shader_recompiler/backend/spirv/emit_spirv.cpp b/src/shader_recompiler/backend/spirv/emit_spirv.cpp
index c7042763..09a9fd62 100644
--- a/src/shader_recompiler/backend/spirv/emit_spirv.cpp
+++ b/src/shader_recompiler/backend/spirv/emit_spirv.cpp
@@ -179,6 +179,7 @@ void DefineEntryPoint(const IR::Program& program, EmitContext& ctx, Id main) {
spv::ExecutionModel execution_model{};
ctx.AddCapability(spv::Capability::Image1D);
ctx.AddCapability(spv::Capability::Sampled1D);
+ ctx.AddCapability(spv::Capability::ImageQuery);
if (info.uses_fp16) {
ctx.AddCapability(spv::Capability::Float16);
ctx.AddCapability(spv::Capability::Int16);
diff --git a/src/shader_recompiler/backend/spirv/spirv_emit_context.cpp b/src/shader_recompiler/backend/spirv/spirv_emit_context.cpp
index e48b89f4..994c2847 100644
--- a/src/shader_recompiler/backend/spirv/spirv_emit_context.cpp
+++ b/src/shader_recompiler/backend/spirv/spirv_emit_context.cpp
@@ -405,6 +405,10 @@ spv::ImageFormat GetFormat(const AmdGpu::Image& image) {
image.GetNumberFmt() == AmdGpu::NumberFormat::Float) {
return spv::ImageFormat::Rg16f;
}
+ if (image.GetDataFmt() == AmdGpu::DataFormat::Format16_16 &&
+ image.GetNumberFmt() == AmdGpu::NumberFormat::Snorm) {
+ return spv::ImageFormat::Rg16Snorm;
+ }
if (image.GetDataFmt() == AmdGpu::DataFormat::Format8_8 &&
image.GetNumberFmt() == AmdGpu::NumberFormat::Unorm) {
return spv::ImageFormat::Rg8;
diff --git a/src/shader_recompiler/frontend/control_flow_graph.cpp b/src/shader_recompiler/frontend/control_flow_graph.cpp
index 3faf8665..276bd9db 100644
--- a/src/shader_recompiler/frontend/control_flow_graph.cpp
+++ b/src/shader_recompiler/frontend/control_flow_graph.cpp
@@ -21,8 +21,13 @@ struct Compare {
}
};
-static IR::Condition MakeCondition(Opcode opcode) {
- switch (opcode) {
+static IR::Condition MakeCondition(const GcnInst& inst) {
+ if (inst.IsCmpx()) {
+ ASSERT(inst.opcode == Opcode::V_CMPX_NE_U32);
+ return IR::Condition::Execnz;
+ }
+
+ switch (inst.opcode) {
case Opcode::S_CBRANCH_SCC0:
return IR::Condition::Scc0;
case Opcode::S_CBRANCH_SCC1:
@@ -37,7 +42,6 @@ static IR::Condition MakeCondition(Opcode opcode) {
return IR::Condition::Execnz;
case Opcode::S_AND_SAVEEXEC_B64:
case Opcode::S_ANDN2_B64:
- case Opcode::V_CMPX_NE_U32:
return IR::Condition::Execnz;
default:
return IR::Condition::True;
@@ -94,7 +98,8 @@ void CFG::EmitDivergenceLabels() {
// While this instruction does not save EXEC it is often used paired
// with SAVEEXEC to mask the threads that didn't pass the condition
// of initial branch.
- inst.opcode == Opcode::S_ANDN2_B64 || inst.opcode == Opcode::V_CMPX_NE_U32;
+ (inst.opcode == Opcode::S_ANDN2_B64 && inst.dst[0].field == OperandField::ExecLo) ||
+ inst.opcode == Opcode::V_CMPX_NE_U32;
};
const auto is_close_scope = [](const GcnInst& inst) {
// Closing an EXEC scope can be either a branch instruction
@@ -104,7 +109,8 @@ void CFG::EmitDivergenceLabels() {
// Sometimes compiler might insert instructions between the SAVEEXEC and the branch.
// Those instructions need to be wrapped in the condition as well so allow branch
// as end scope instruction.
- inst.opcode == Opcode::S_CBRANCH_EXECZ || inst.opcode == Opcode::S_ANDN2_B64;
+ inst.opcode == Opcode::S_CBRANCH_EXECZ ||
+ (inst.opcode == Opcode::S_ANDN2_B64 && inst.dst[0].field == OperandField::ExecLo);
};
// Since we will be adding new labels, avoid iterating those as well.
@@ -171,7 +177,7 @@ void CFG::EmitBlocks() {
block->begin_index = GetIndex(start);
block->end_index = end_index;
block->end_inst = end_inst;
- block->cond = MakeCondition(end_inst.opcode);
+ block->cond = MakeCondition(end_inst);
blocks.insert(*block);
}
}
diff --git a/src/shader_recompiler/frontend/instruction.cpp b/src/shader_recompiler/frontend/instruction.cpp
index 756d3b4e..a0c13205 100644
--- a/src/shader_recompiler/frontend/instruction.cpp
+++ b/src/shader_recompiler/frontend/instruction.cpp
@@ -47,4 +47,18 @@ bool GcnInst::IsConditionalBranch() const {
return false;
}
+bool GcnInst::IsCmpx() const {
+ if ((opcode >= Opcode::V_CMPX_F_F32 && opcode <= Opcode::V_CMPX_T_F32) ||
+ (opcode >= Opcode::V_CMPX_F_F64 && opcode <= Opcode::V_CMPX_T_F64) ||
+ (opcode >= Opcode::V_CMPSX_F_F32 && opcode <= Opcode::V_CMPSX_T_F32) ||
+ (opcode >= Opcode::V_CMPSX_F_F64 && opcode <= Opcode::V_CMPSX_T_F64) ||
+ (opcode >= Opcode::V_CMPX_F_I32 && opcode <= Opcode::V_CMPX_CLASS_F32) ||
+ (opcode >= Opcode::V_CMPX_F_I64 && opcode <= Opcode::V_CMPX_CLASS_F64) ||
+ (opcode >= Opcode::V_CMPX_F_U32 && opcode <= Opcode::V_CMPX_T_U32) ||
+ (opcode >= Opcode::V_CMPX_F_U64 && opcode <= Opcode::V_CMPX_T_U64)) {
+ return true;
+ }
+ return false;
+}
+
} // namespace Shader::Gcn
diff --git a/src/shader_recompiler/frontend/instruction.h b/src/shader_recompiler/frontend/instruction.h
index f83f43db..7c2e0bd1 100644
--- a/src/shader_recompiler/frontend/instruction.h
+++ b/src/shader_recompiler/frontend/instruction.h
@@ -203,6 +203,7 @@ struct GcnInst {
bool IsUnconditionalBranch() const;
bool IsConditionalBranch() const;
bool IsFork() const;
+ bool IsCmpx() const;
};
} // namespace Shader::Gcn
diff --git a/src/shader_recompiler/frontend/translate/vector_alu.cpp b/src/shader_recompiler/frontend/translate/vector_alu.cpp
index 1bbc3c16..0216238a 100644
--- a/src/shader_recompiler/frontend/translate/vector_alu.cpp
+++ b/src/shader_recompiler/frontend/translate/vector_alu.cpp
@@ -280,6 +280,8 @@ void Translator::EmitVectorAlu(const GcnInst& inst) {
return V_CMP_U32(ConditionOp::GT, true, false, inst);
case Opcode::V_CMP_LT_I32:
return V_CMP_U32(ConditionOp::LT, true, false, inst);
+ case Opcode::V_CMPX_GT_I32:
+ return V_CMP_U32(ConditionOp::GT, true, true, inst);
case Opcode::V_CMPX_LT_I32:
return V_CMP_U32(ConditionOp::LT, true, true, inst);
case Opcode::V_CMPX_F_U32:
diff --git a/src/shader_recompiler/ir/passes/resource_tracking_pass.cpp b/src/shader_recompiler/ir/passes/resource_tracking_pass.cpp
index efee710d..016ba366 100644
--- a/src/shader_recompiler/ir/passes/resource_tracking_pass.cpp
+++ b/src/shader_recompiler/ir/passes/resource_tracking_pass.cpp
@@ -246,10 +246,7 @@ public:
return true;
}
// Samplers with different bindings might still be the same.
- const auto old_sharp =
- info.ReadUd(existing.sgpr_base, existing.dword_offset);
- const auto new_sharp = info.ReadUd(desc.sgpr_base, desc.dword_offset);
- return old_sharp == new_sharp;
+ return existing.GetSsharp(info) == desc.GetSsharp(info);
})};
return index;
}
diff --git a/src/video_core/amdgpu/default_context.cpp b/src/video_core/amdgpu/default_context.cpp
new file mode 100644
index 00000000..01229e7b
--- /dev/null
+++ b/src/video_core/amdgpu/default_context.cpp
@@ -0,0 +1,55 @@
+// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "common/types.h"
+#include "video_core/amdgpu/liverpool.h"
+
+#include
+
+namespace AmdGpu {
+
+// The following values are taken from fpPS4:
+// https://github.com/red-prig/fpPS4/blob/436b43064be4c78229500f3d3c054fc76639247d/chip/pm4_pfp.pas#L410
+//
+static constexpr std::array reg_array_default{
+ 0x00000000u, 0x80000000u, 0x40004000u, 0xdeadbeefu, 0x00000000u, 0x40004000u, 0x00000000u,
+ 0x40004000u, 0x00000000u, 0x40004000u, 0x00000000u, 0x40004000u, 0xaa99aaaau, 0x00000000u,
+ 0xdeadbeefu, 0xdeadbeefu, 0x80000000u, 0x40004000u, 0x00000000u, 0x00000000u, 0x80000000u,
+ 0x40004000u, 0x80000000u, 0x40004000u, 0x80000000u, 0x40004000u, 0x80000000u, 0x40004000u,
+ 0x80000000u, 0x40004000u, 0x80000000u, 0x40004000u, 0x80000000u, 0x40004000u, 0x80000000u,
+ 0x40004000u, 0x80000000u, 0x40004000u, 0x80000000u, 0x40004000u, 0x80000000u, 0x40004000u,
+ 0x80000000u, 0x40004000u, 0x80000000u, 0x40004000u, 0x80000000u, 0x40004000u, 0x80000000u,
+ 0x40004000u, 0x80000000u, 0x40004000u, 0x00000000u, 0x3f800000u, 0x00000000u, 0x3f800000u,
+ 0x00000000u, 0x3f800000u, 0x00000000u, 0x3f800000u, 0x00000000u, 0x3f800000u, 0x00000000u,
+ 0x3f800000u, 0x00000000u, 0x3f800000u, 0x00000000u, 0x3f800000u, 0x00000000u, 0x3f800000u,
+ 0x00000000u, 0x3f800000u, 0x00000000u, 0x3f800000u, 0x00000000u, 0x3f800000u, 0x00000000u,
+ 0x3f800000u, 0x00000000u, 0x3f800000u, 0x00000000u, 0x3f800000u, 0x00000000u, 0x3f800000u,
+ 0x2a00161au,
+};
+
+void Liverpool::Regs::SetDefaults() {
+ std::memset(reg_array.data(), 0, reg_array.size() * sizeof(u32));
+
+ std::memcpy(®_array[ContextRegWordOffset + 0x80], reg_array_default.data(),
+ reg_array_default.size() * sizeof(u32));
+
+ // Individual context regs values
+ reg_array[ContextRegWordOffset + 0x000d] = 0x40004000u;
+ reg_array[ContextRegWordOffset + 0x01b6] = 0x00000002u;
+ reg_array[ContextRegWordOffset + 0x0204] = 0x00090000u;
+ reg_array[ContextRegWordOffset + 0x0205] = 0x00000004u;
+ reg_array[ContextRegWordOffset + 0x0295] = 0x00000100u;
+ reg_array[ContextRegWordOffset + 0x0296] = 0x00000080u;
+ reg_array[ContextRegWordOffset + 0x0297] = 0x00000002u;
+ reg_array[ContextRegWordOffset + 0x02aa] = 0x00001000u;
+ reg_array[ContextRegWordOffset + 0x02f7] = 0x00001000u;
+ reg_array[ContextRegWordOffset + 0x02f9] = 0x00000005u;
+ reg_array[ContextRegWordOffset + 0x02fa] = 0x3f800000u;
+ reg_array[ContextRegWordOffset + 0x02fb] = 0x3f800000u;
+ reg_array[ContextRegWordOffset + 0x02fc] = 0x3f800000u;
+ reg_array[ContextRegWordOffset + 0x02fd] = 0x3f800000u;
+ reg_array[ContextRegWordOffset + 0x0316] = 0x0000000eu;
+ reg_array[ContextRegWordOffset + 0x0317] = 0x00000010u;
+}
+
+} // namespace AmdGpu
diff --git a/src/video_core/amdgpu/liverpool.cpp b/src/video_core/amdgpu/liverpool.cpp
index dce2d4b4..89ab7fe4 100644
--- a/src/video_core/amdgpu/liverpool.cpp
+++ b/src/video_core/amdgpu/liverpool.cpp
@@ -216,6 +216,7 @@ Liverpool::Task Liverpool::ProcessGraphics(std::span dcb, std::span usage_override /*= {}*/)
- : info{info_}, image_id{image_id_} {
+ : image_id{image_id_}, info{info_} {
vk::ImageViewUsageCreateInfo usage_ci{};
if (usage_override) {
usage_ci.usage = usage_override.value();
diff --git a/src/video_core/texture_cache/tile_manager.cpp b/src/video_core/texture_cache/tile_manager.cpp
index 6bb104a6..0bed5adc 100644
--- a/src/video_core/texture_cache/tile_manager.cpp
+++ b/src/video_core/texture_cache/tile_manager.cpp
@@ -342,12 +342,6 @@ TileManager::ScratchBuffer TileManager::AllocBuffer(u32 size, bool is_storage /*
.usage = usage,
};
-#ifdef __APPLE__
- // Fix for detiler artifacts on macOS
- const bool is_large_buffer = true;
-#else
- const bool is_large_buffer = size > 128_MB;
-#endif
VmaAllocationCreateInfo alloc_info{
.flags = !is_storage ? VMA_ALLOCATION_CREATE_HOST_ACCESS_ALLOW_TRANSFER_INSTEAD_BIT |
VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT
@@ -462,7 +456,6 @@ std::optional TileManager::TryDetile(Image& image) {
(m > 0 ? params.sizes[m - 1] : 0);
}
- auto pitch = image.info.pitch;
cmdbuf.pushConstants(*detiler->pl_layout, vk::ShaderStageFlagBits::eCompute, 0u, sizeof(params),
¶ms);
From 2a737d08004e9429720226ed2069397d643bc802 Mon Sep 17 00:00:00 2001
From: DanielSvoboda
Date: Sun, 25 Aug 2024 17:07:46 -0300
Subject: [PATCH 11/12] V_NOP | PfpSyncMe | S_CMPK_EQ_U32 (#426)
* V_NOP
V_NOP = Do nothing
* PfpSyncMe
PfpSyncMe ensures that all previous commands are completed before continuing.
'break' should be enough for now
* S_CMPK_EQ_U32
S_CMPK_EQ_U32
SCC = (D.u == SIMM16)
* S_CMPK_EQ_U32
* OperandField::Undefined:
* Update translate.cpp
remove OperandField::Undefined:
* Update image_view.cpp
[Render.Vulkan] image_view.cpp:ImageViewInfo:109: Storage image (num_comps = 4) requires swizzling [BGRA]
format 43 dst_sel 3886
* Update liverpool_to_vk.cpp
* S_CMPK_EQ_U32
* S_CMPK_EQ_U32
---
src/shader_recompiler/frontend/translate/scalar_alu.cpp | 9 +++++++++
src/shader_recompiler/frontend/translate/translate.h | 1 +
src/shader_recompiler/frontend/translate/vector_alu.cpp | 2 ++
src/video_core/amdgpu/liverpool.cpp | 3 +++
src/video_core/renderer_vulkan/liverpool_to_vk.cpp | 1 +
src/video_core/texture_cache/image_view.cpp | 3 +++
6 files changed, 19 insertions(+)
diff --git a/src/shader_recompiler/frontend/translate/scalar_alu.cpp b/src/shader_recompiler/frontend/translate/scalar_alu.cpp
index 7f7c9d7e..50a550d4 100644
--- a/src/shader_recompiler/frontend/translate/scalar_alu.cpp
+++ b/src/shader_recompiler/frontend/translate/scalar_alu.cpp
@@ -96,6 +96,8 @@ void Translator::EmitScalarAlu(const GcnInst& inst) {
return S_MAX_U32(inst);
case Opcode::S_WQM_B64:
break;
+ case Opcode::S_CMPK_EQ_U32:
+ return S_CMPK_EQ_U32(inst);
default:
LogMissingOpcode(inst);
}
@@ -468,4 +470,11 @@ void Translator::S_MIN_U32(const GcnInst& inst) {
ir.SetScc(ir.IEqual(result, src0));
}
+void Translator::S_CMPK_EQ_U32(const GcnInst& inst) {
+ const s32 simm16 = inst.control.sopk.simm;
+ const IR::U32 src0{GetSrc(inst.src[0])};
+ const IR::U32 src1{ir.Imm32(simm16)};
+ ir.SetScc(ir.IEqual(src0, src1));
+}
+
} // namespace Shader::Gcn
diff --git a/src/shader_recompiler/frontend/translate/translate.h b/src/shader_recompiler/frontend/translate/translate.h
index 009acabd..6de5e367 100644
--- a/src/shader_recompiler/frontend/translate/translate.h
+++ b/src/shader_recompiler/frontend/translate/translate.h
@@ -98,6 +98,7 @@ public:
void S_ADDK_I32(const GcnInst& inst);
void S_MAX_U32(const GcnInst& inst);
void S_MIN_U32(const GcnInst& inst);
+ void S_CMPK_EQ_U32(const GcnInst& inst);
// Scalar Memory
void S_LOAD_DWORD(int num_dwords, const GcnInst& inst);
diff --git a/src/shader_recompiler/frontend/translate/vector_alu.cpp b/src/shader_recompiler/frontend/translate/vector_alu.cpp
index 0216238a..99543a20 100644
--- a/src/shader_recompiler/frontend/translate/vector_alu.cpp
+++ b/src/shader_recompiler/frontend/translate/vector_alu.cpp
@@ -307,6 +307,8 @@ void Translator::EmitVectorAlu(const GcnInst& inst) {
return V_MBCNT_U32_B32(true, inst);
case Opcode::V_MBCNT_HI_U32_B32:
return V_MBCNT_U32_B32(false, inst);
+ case Opcode::V_NOP:
+ return;
default:
LogMissingOpcode(inst);
}
diff --git a/src/video_core/amdgpu/liverpool.cpp b/src/video_core/amdgpu/liverpool.cpp
index 89ab7fe4..5b3db603 100644
--- a/src/video_core/amdgpu/liverpool.cpp
+++ b/src/video_core/amdgpu/liverpool.cpp
@@ -455,6 +455,9 @@ Liverpool::Task Liverpool::ProcessGraphics(std::span dcb, std::span(opcode), count);
diff --git a/src/video_core/renderer_vulkan/liverpool_to_vk.cpp b/src/video_core/renderer_vulkan/liverpool_to_vk.cpp
index c42e4f60..025f311d 100644
--- a/src/video_core/renderer_vulkan/liverpool_to_vk.cpp
+++ b/src/video_core/renderer_vulkan/liverpool_to_vk.cpp
@@ -320,6 +320,7 @@ std::span GetAllFormats() {
vk::Format::eR8G8Uint,
vk::Format::eR8G8Unorm,
vk::Format::eR8Sint,
+ vk::Format::eR8Snorm,
vk::Format::eR8Uint,
vk::Format::eR8Unorm,
vk::Format::eR8Srgb,
diff --git a/src/video_core/texture_cache/image_view.cpp b/src/video_core/texture_cache/image_view.cpp
index 9f6ec5c4..08be6bdc 100644
--- a/src/video_core/texture_cache/image_view.cpp
+++ b/src/video_core/texture_cache/image_view.cpp
@@ -59,6 +59,9 @@ vk::Format TrySwizzleFormat(vk::Format format, u32 dst_sel) {
if (format == vk::Format::eR8G8B8A8Unorm && dst_sel == 0b111100101110) {
return vk::Format::eB8G8R8A8Unorm;
}
+ if (format == vk::Format::eR8G8B8A8Srgb && dst_sel == 0b111100101110) {
+ return vk::Format::eB8G8R8A8Srgb;
+ }
return format;
}
From 6fd4264b5d9784ea9cf327841bff043c74ca37df Mon Sep 17 00:00:00 2001
From: psucien
Date: Sun, 25 Aug 2024 22:24:10 +0200
Subject: [PATCH 12/12] video_core: vk_rasterizer: fix for crash on markers
with nullGpu
---
src/video_core/renderer_vulkan/vk_rasterizer.cpp | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
index b26c36ce..f22f19ea 100644
--- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp
+++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
@@ -243,7 +243,7 @@ void Rasterizer::UpdateDepthStencilState() {
}
void Rasterizer::ScopeMarkerBegin(const std::string_view& str) {
- if (!Config::isMarkersEnabled()) {
+ if (Config::nullGpu() || !Config::isMarkersEnabled()) {
return;
}
@@ -254,7 +254,7 @@ void Rasterizer::ScopeMarkerBegin(const std::string_view& str) {
}
void Rasterizer::ScopeMarkerEnd() {
- if (!Config::isMarkersEnabled()) {
+ if (Config::nullGpu() || !Config::isMarkersEnabled()) {
return;
}
@@ -263,7 +263,7 @@ void Rasterizer::ScopeMarkerEnd() {
}
void Rasterizer::ScopedMarkerInsert(const std::string_view& str) {
- if (!Config::isMarkersEnabled()) {
+ if (Config::nullGpu() || !Config::isMarkersEnabled()) {
return;
}
@@ -274,7 +274,7 @@ void Rasterizer::ScopedMarkerInsert(const std::string_view& str) {
}
void Rasterizer::Breadcrumb(u64 id) {
- if (!instance.HasNvCheckpoints()) {
+ if (Config::nullGpu() || !instance.HasNvCheckpoints()) {
return;
}
scheduler.CommandBuffer().setCheckpointNV(id);