mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-04-19 19:14:48 +00:00
parent
7728db0dd3
commit
43191ff426
41 changed files with 47981 additions and 39870 deletions
|
@ -568,7 +568,7 @@ void CheatsPatches::downloadCheats(const QString& source, const QString& gameSer
|
|||
} else {
|
||||
QMessageBox::warning(this, tr("Error"),
|
||||
QString(tr("Failed to download file:") +
|
||||
"%1\n\n" + tr("Error:") + "%2")
|
||||
"%1\n\n" + tr("Error") + ":%2")
|
||||
.arg(fileUrl)
|
||||
.arg(fileReply->errorString()));
|
||||
}
|
||||
|
@ -644,7 +644,7 @@ void CheatsPatches::downloadCheats(const QString& source, const QString& gameSer
|
|||
} else {
|
||||
QMessageBox::warning(this, tr("Error"),
|
||||
QString(tr("Failed to download file:") +
|
||||
"%1\n\n" + tr("Error:") + "%2")
|
||||
"%1\n\n" + tr("Error") + ":%2")
|
||||
.arg(fileUrl)
|
||||
.arg(fileReply->errorString()));
|
||||
}
|
||||
|
@ -843,7 +843,7 @@ void CheatsPatches::compatibleVersionNotice(const QString repository) {
|
|||
foreach (const QString& xmlFile, xmlFiles) {
|
||||
QFile file(dir.filePath(xmlFile));
|
||||
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
|
||||
QMessageBox::warning(this, tr("ERROR"),
|
||||
QMessageBox::warning(this, tr("Error"),
|
||||
QString(tr("Failed to open file:") + "\n%1").arg(xmlFile));
|
||||
continue;
|
||||
}
|
||||
|
@ -871,7 +871,7 @@ void CheatsPatches::compatibleVersionNotice(const QString repository) {
|
|||
}
|
||||
|
||||
if (xmlReader.hasError()) {
|
||||
QMessageBox::warning(this, tr("ERROR"),
|
||||
QMessageBox::warning(this, tr("Error"),
|
||||
QString(tr("XML ERROR:") + "\n%1").arg(xmlReader.errorString()));
|
||||
}
|
||||
|
||||
|
@ -926,7 +926,7 @@ void CheatsPatches::createFilesJson(const QString& repository) {
|
|||
foreach (const QString& xmlFile, xmlFiles) {
|
||||
QFile file(dir.filePath(xmlFile));
|
||||
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
|
||||
QMessageBox::warning(this, tr("ERROR"),
|
||||
QMessageBox::warning(this, tr("Error"),
|
||||
QString(tr("Failed to open file:") + "\n%1").arg(xmlFile));
|
||||
continue;
|
||||
}
|
||||
|
@ -944,7 +944,7 @@ void CheatsPatches::createFilesJson(const QString& repository) {
|
|||
}
|
||||
|
||||
if (xmlReader.hasError()) {
|
||||
QMessageBox::warning(this, tr("ERROR"),
|
||||
QMessageBox::warning(this, tr("Error"),
|
||||
QString(tr("XML ERROR:") + "\n%1").arg(xmlReader.errorString()));
|
||||
}
|
||||
filesObject[xmlFile] = titleIdsArray;
|
||||
|
@ -952,7 +952,7 @@ void CheatsPatches::createFilesJson(const QString& repository) {
|
|||
|
||||
QFile jsonFile(dir.absolutePath() + "/files.json");
|
||||
if (!jsonFile.open(QIODevice::WriteOnly)) {
|
||||
QMessageBox::warning(this, tr("ERROR"), tr("Failed to open files.json for writing"));
|
||||
QMessageBox::warning(this, tr("Error"), tr("Failed to open files.json for writing"));
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1155,7 +1155,7 @@ void CheatsPatches::addPatchesToLayout(const QString& filePath) {
|
|||
QString fullPath = dir.filePath(folderPath);
|
||||
|
||||
if (!dir.exists(fullPath)) {
|
||||
QMessageBox::warning(this, tr("ERROR"),
|
||||
QMessageBox::warning(this, tr("Error"),
|
||||
QString(tr("Directory does not exist:") + "\n%1").arg(fullPath));
|
||||
return;
|
||||
}
|
||||
|
@ -1165,7 +1165,7 @@ void CheatsPatches::addPatchesToLayout(const QString& filePath) {
|
|||
|
||||
QFile jsonFile(filesJsonPath);
|
||||
if (!jsonFile.open(QIODevice::ReadOnly)) {
|
||||
QMessageBox::warning(this, tr("ERROR"), tr("Failed to open files.json for reading."));
|
||||
QMessageBox::warning(this, tr("Error"), tr("Failed to open files.json for reading."));
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1189,7 +1189,7 @@ void CheatsPatches::addPatchesToLayout(const QString& filePath) {
|
|||
|
||||
if (!xmlFile.open(QIODevice::ReadOnly)) {
|
||||
QMessageBox::warning(
|
||||
this, tr("ERROR"),
|
||||
this, tr("Error"),
|
||||
QString(tr("Failed to open file:") + "\n%1").arg(xmlFile.fileName()));
|
||||
continue;
|
||||
}
|
||||
|
|
|
@ -18,17 +18,8 @@ PKGViewer::PKGViewer(std::shared_ptr<GameInfoClass> game_info_get, QWidget* pare
|
|||
treeWidget = new QTreeWidget(this);
|
||||
treeWidget->setColumnCount(9);
|
||||
QStringList headers;
|
||||
headers << "Name"
|
||||
<< "Serial"
|
||||
<< "Installed"
|
||||
<< "Size"
|
||||
<< "Category"
|
||||
<< "Type"
|
||||
<< "App Ver"
|
||||
<< "FW"
|
||||
<< "Region"
|
||||
<< "Flags"
|
||||
<< "Path";
|
||||
headers << tr("Name") << tr("Serial") << tr("Installed") << tr("Size") << tr("Category")
|
||||
<< tr("Type") << tr("App Ver") << tr("FW") << tr("Region") << tr("Flags") << tr("Path");
|
||||
treeWidget->setHeaderLabels(headers);
|
||||
treeWidget->header()->setDefaultAlignment(Qt::AlignCenter);
|
||||
treeWidget->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
|
@ -36,7 +27,7 @@ PKGViewer::PKGViewer(std::shared_ptr<GameInfoClass> game_info_get, QWidget* pare
|
|||
this->setCentralWidget(treeWidget);
|
||||
QMenuBar* menuBar = new QMenuBar(this);
|
||||
menuBar->setContextMenuPolicy(Qt::PreventContextMenu);
|
||||
QMenu* fileMenu = menuBar->addMenu(tr("&File"));
|
||||
QMenu* fileMenu = menuBar->addMenu(tr("File"));
|
||||
QAction* openFolderAct = new QAction(tr("Open Folder"), this);
|
||||
fileMenu->addAction(openFolderAct);
|
||||
this->setMenuBar(menuBar);
|
||||
|
@ -114,15 +105,15 @@ void PKGViewer::ProcessPKGInfo() {
|
|||
return;
|
||||
}
|
||||
psf.Open(package.sfo);
|
||||
QString title_name =
|
||||
QString::fromStdString(std::string{psf.GetString("TITLE").value_or("Unknown")});
|
||||
QString title_id =
|
||||
QString::fromStdString(std::string{psf.GetString("TITLE_ID").value_or("Unknown")});
|
||||
QString title_name = QString::fromStdString(
|
||||
std::string{psf.GetString("TITLE").value_or(std::string{tr("Unknown").toStdString()})});
|
||||
QString title_id = QString::fromStdString(std::string{
|
||||
psf.GetString("TITLE_ID").value_or(std::string{tr("Unknown").toStdString()})});
|
||||
QString app_type = GameListUtils::GetAppType(psf.GetInteger("APP_TYPE").value_or(0));
|
||||
QString app_version =
|
||||
QString::fromStdString(std::string{psf.GetString("APP_VER").value_or("Unknown")});
|
||||
QString title_category =
|
||||
QString::fromStdString(std::string{psf.GetString("CATEGORY").value_or("Unknown")});
|
||||
QString app_version = QString::fromStdString(std::string{
|
||||
psf.GetString("APP_VER").value_or(std::string{tr("Unknown").toStdString()})});
|
||||
QString title_category = QString::fromStdString(std::string{
|
||||
psf.GetString("CATEGORY").value_or(std::string{tr("Unknown").toStdString()})});
|
||||
QString pkg_size = GameListUtils::FormatSize(package.GetPkgHeader().pkg_size);
|
||||
pkg_content_flag = package.GetPkgHeader().pkg_content_flags;
|
||||
QString flagss = "";
|
||||
|
@ -134,7 +125,7 @@ void PKGViewer::ProcessPKGInfo() {
|
|||
}
|
||||
}
|
||||
|
||||
QString fw_ = "Unknown";
|
||||
QString fw_ = tr("Unknown");
|
||||
if (const auto fw_int_opt = psf.GetInteger("SYSTEM_VER"); fw_int_opt.has_value()) {
|
||||
const u32 fw_int = *fw_int_opt;
|
||||
if (fw_int == 0) {
|
||||
|
@ -221,6 +212,6 @@ void PKGViewer::ProcessPKGInfo() {
|
|||
// Update status bar.
|
||||
statusBar->clearMessage();
|
||||
int numPkgs = m_pkg_list.size();
|
||||
QString statusMessage = QString::number(numPkgs) + " Package.";
|
||||
QString statusMessage = QString::number(numPkgs) + " " + tr("Package");
|
||||
statusBar->showMessage(statusMessage);
|
||||
}
|
File diff suppressed because it is too large
Load diff
1790
src/qt_gui/translations/ar_SA.ts
Normal file
1790
src/qt_gui/translations/ar_SA.ts
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
1790
src/qt_gui/translations/de_DE.ts
Normal file
1790
src/qt_gui/translations/de_DE.ts
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
1790
src/qt_gui/translations/el_GR.ts
Normal file
1790
src/qt_gui/translations/el_GR.ts
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
1790
src/qt_gui/translations/en_US.ts
Normal file
1790
src/qt_gui/translations/en_US.ts
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
1790
src/qt_gui/translations/fi_FI.ts
Normal file
1790
src/qt_gui/translations/fi_FI.ts
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
1790
src/qt_gui/translations/fr_FR.ts
Normal file
1790
src/qt_gui/translations/fr_FR.ts
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
1790
src/qt_gui/translations/id_ID.ts
Normal file
1790
src/qt_gui/translations/id_ID.ts
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
1790
src/qt_gui/translations/it_IT.ts
Normal file
1790
src/qt_gui/translations/it_IT.ts
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
1790
src/qt_gui/translations/nl_NL.ts
Normal file
1790
src/qt_gui/translations/nl_NL.ts
Normal file
File diff suppressed because it is too large
Load diff
1790
src/qt_gui/translations/no_NO.ts
Normal file
1790
src/qt_gui/translations/no_NO.ts
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
1790
src/qt_gui/translations/sq_AL.ts
Normal file
1790
src/qt_gui/translations/sq_AL.ts
Normal file
File diff suppressed because it is too large
Load diff
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- SPDX-FileCopyrightText: Copyright 2025 shadPS4 Emulator Project
|
||||
SPDX-License-Identifier: GPL-2.0-or-later -->
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="sv_SE">
|
||||
<!-- SPDX-FileCopyrightText: Copyright 2025 shadPS4 Emulator Project
|
||||
SPDX-License-Identifier: GPL-2.0-or-later -->
|
||||
<context>
|
||||
<name>AboutDialog</name>
|
||||
<message>
|
||||
|
@ -244,14 +244,6 @@
|
|||
<source>Can't apply cheats before the game is started</source>
|
||||
<translation>Kan inte tillämpa fusk innan spelet är startat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error:</source>
|
||||
<translation>Fel:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ERROR</source>
|
||||
<translation>FEL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close</source>
|
||||
<translation>Stäng</translation>
|
||||
|
@ -386,10 +378,6 @@
|
|||
<source>Unable to update compatibility data! Try again later.</source>
|
||||
<translation>Kunde inte uppdatera kompatibilitetsdata! Försök igen senare.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to open compatibility.json for writing.</source>
|
||||
<translation type="vanished">Kunde inte öppna compatibility.json för skrivning.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown</source>
|
||||
<translation>Okänt</translation>
|
||||
|
@ -673,10 +661,6 @@
|
|||
<source>Game can be completed with playable performance and no major glitches</source>
|
||||
<translation>Spelet kan spelas klart med spelbar prestanda och utan större problem</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Click to go to issue</source>
|
||||
<translation type="vanished">Klicka för att gå till problem</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Last updated</source>
|
||||
<translation>Senast uppdaterad</translation>
|
||||
|
@ -1196,14 +1180,66 @@
|
|||
<source>Open Folder</source>
|
||||
<translation>Öppna mapp</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&File</source>
|
||||
<translation>&Arkiv</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PKG ERROR</source>
|
||||
<translation>PKG-FEL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name</source>
|
||||
<translation type="unfinished">Namn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Serial</source>
|
||||
<translation type="unfinished">Serienummer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Installed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Size</source>
|
||||
<translation type="unfinished">Storlek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Category</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Type</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>App Ver</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>FW</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Region</source>
|
||||
<translation type="unfinished">Region</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Flags</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Path</source>
|
||||
<translation type="unfinished">Sökväg</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>File</source>
|
||||
<translation type="unfinished">Arkiv</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown</source>
|
||||
<translation type="unfinished">Okänt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsDialog</name>
|
||||
|
@ -1255,10 +1291,6 @@
|
|||
<source>Show Splash</source>
|
||||
<translation>Visa startskärm</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ps4proCheckBox</source>
|
||||
<translation type="vanished">Är PS4 Pro:\nGör att emulatorn agerar som en PS4 PRO, vilket kan aktivera speciella funktioner i spel som har stöd för det</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable Discord Rich Presence</source>
|
||||
<translation>Aktivera Discord Rich Presence</translation>
|
||||
|
@ -1323,10 +1355,6 @@
|
|||
<source>Graphics</source>
|
||||
<translation>Grafik</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Gui</source>
|
||||
<translation type="vanished">Gränssnitt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>User</source>
|
||||
<translation>Användare</translation>
|
||||
|
@ -1743,6 +1771,14 @@
|
|||
<source>GUIBackgroundImageGroupBox</source>
|
||||
<translation>Bakgrundsbild:\nKontrollerar opaciteten för spelets bakgrundsbild</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable HDR</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>enableHDRCheckBox</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>TrophyViewer</name>
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue