Merge branch 'shadps4-emu:main' into main

This commit is contained in:
DanielSvoboda 2025-03-04 10:43:53 -03:00 committed by GitHub
commit 4487f96db7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
41 changed files with 3450 additions and 107 deletions

View File

@ -917,6 +917,9 @@ set(QT_GUI src/qt_gui/about_dialog.cpp
src/qt_gui/control_settings.cpp
src/qt_gui/control_settings.h
src/qt_gui/control_settings.ui
src/qt_gui/kbm_gui.cpp
src/qt_gui/kbm_gui.h
src/qt_gui/kbm_gui.ui
src/qt_gui/main_window_ui.h
src/qt_gui/main_window.cpp
src/qt_gui/main_window.h

View File

@ -41,6 +41,7 @@ path = [
"src/images/grid_icon.png",
"src/images/keyboard_icon.png",
"src/images/iconsize_icon.png",
"src/images/KBM.png",
"src/images/ko-fi.png",
"src/images/list_icon.png",
"src/images/list_mode_icon.png",

View File

@ -17,6 +17,8 @@
#ifdef _WIN32
// This is the maximum number of UTF-16 code units permissible in Windows file paths
#define MAX_PATH 260
#include <Shlobj.h>
#include <windows.h>
#else
// This is the maximum number of UTF-8 code units permissible in all other OSes' file paths
#define MAX_PATH 1024
@ -106,6 +108,10 @@ static auto UserPaths = [] {
} else {
user_dir = std::filesystem::path(getenv("HOME")) / ".local" / "share" / "shadPS4";
}
#elif _WIN32
TCHAR appdata[MAX_PATH] = {0};
SHGetFolderPath(NULL, CSIDL_APPDATA, NULL, 0, appdata);
user_dir = std::filesystem::path(appdata) / "shadPS4";
#endif
}

View File

@ -180,28 +180,44 @@ static void RestoreStack(Xbyak::CodeGenerator& c) {
c.mov(rsp, qword[reinterpret_cast<void*>(stack_pointer_slot * sizeof(void*))]);
}
/// Validates that the dst register is supported given the SaveStack/RestoreStack implementation.
static void ValidateDst(const Xbyak::Reg& dst) {
// No restrictions.
}
#else
// These utilities are not implemented as we can't save anything to thread local storage without
// temporary registers.
void InitializeThreadPatchStack() {
// No-op
}
// NOTE: Since stack pointer here is subtracted through safe zone and not saved anywhere,
// it must not be modified during the instruction. Otherwise, we will not be able to find
// and load registers back from where they were saved. Thus, a limitation is placed on
// instructions, that they must not use the stack pointer register as a destination.
/// Saves the stack pointer to thread local storage and loads the patch stack.
static void SaveStack(Xbyak::CodeGenerator& c) {
UNIMPLEMENTED();
c.lea(rsp, ptr[rsp - 128]); // red zone
}
/// Restores the stack pointer from thread local storage.
static void RestoreStack(Xbyak::CodeGenerator& c) {
UNIMPLEMENTED();
c.lea(rsp, ptr[rsp + 128]); // red zone
}
/// Validates that the dst register is supported given the SaveStack/RestoreStack implementation.
static void ValidateDst(const Xbyak::Reg& dst) {
// Stack pointer is not preserved, so it can't be used as a dst.
ASSERT_MSG(dst.getIdx() != rsp.getIdx(), "Stack pointer not supported as destination.");
}
#endif
/// Switches to the patch stack, saves registers, and restores the original stack.
static void SaveRegisters(Xbyak::CodeGenerator& c, const std::initializer_list<Xbyak::Reg> regs) {
// Uses a more robust solution for saving registers on MacOS to avoid potential stack corruption
// if games decide to not follow the ABI and use the red zone.
SaveStack(c);
for (const auto& reg : regs) {
c.push(reg.cvt64());
@ -257,12 +273,11 @@ static void RestoreContext(Xbyak::CodeGenerator& c, const Xbyak::Operand& dst,
RestoreStack(c);
}
#ifdef __APPLE__
static void GenerateANDN(const ZydisDecodedOperand* operands, Xbyak::CodeGenerator& c) {
const auto dst = ZydisToXbyakRegisterOperand(operands[0]);
const auto src1 = ZydisToXbyakRegisterOperand(operands[1]);
const auto src2 = ZydisToXbyakOperand(operands[2]);
ValidateDst(dst);
// Check if src2 is a memory operand or a register different to dst.
// In those cases, we don't need to use a temporary register and are free to modify dst.
@ -301,6 +316,7 @@ static void GenerateBEXTR(const ZydisDecodedOperand* operands, Xbyak::CodeGenera
const auto dst = ZydisToXbyakRegisterOperand(operands[0]);
const auto src = ZydisToXbyakOperand(operands[1]);
const auto start_len = ZydisToXbyakRegisterOperand(operands[2]);
ValidateDst(dst);
const Xbyak::Reg32e shift(Xbyak::Operand::RCX, static_cast<int>(start_len.getBit()));
const auto scratch1 =
@ -338,6 +354,7 @@ static void GenerateBEXTR(const ZydisDecodedOperand* operands, Xbyak::CodeGenera
static void GenerateBLSI(const ZydisDecodedOperand* operands, Xbyak::CodeGenerator& c) {
const auto dst = ZydisToXbyakRegisterOperand(operands[0]);
const auto src = ZydisToXbyakOperand(operands[1]);
ValidateDst(dst);
const auto scratch = AllocateScratchRegister({&dst, src.get()}, dst.getBit());
@ -367,6 +384,7 @@ static void GenerateBLSI(const ZydisDecodedOperand* operands, Xbyak::CodeGenerat
static void GenerateBLSMSK(const ZydisDecodedOperand* operands, Xbyak::CodeGenerator& c) {
const auto dst = ZydisToXbyakRegisterOperand(operands[0]);
const auto src = ZydisToXbyakOperand(operands[1]);
ValidateDst(dst);
const auto scratch = AllocateScratchRegister({&dst, src.get()}, dst.getBit());
@ -395,9 +413,37 @@ static void GenerateBLSMSK(const ZydisDecodedOperand* operands, Xbyak::CodeGener
RestoreRegisters(c, {scratch});
}
static void GenerateTZCNT(const ZydisDecodedOperand* operands, Xbyak::CodeGenerator& c) {
const auto dst = ZydisToXbyakRegisterOperand(operands[0]);
const auto src = ZydisToXbyakOperand(operands[1]);
ValidateDst(dst);
Xbyak::Label src_zero, end;
c.cmp(*src, 0);
c.je(src_zero);
// If src is not zero, functions like a BSF, but also clears the CF
c.bsf(dst, *src);
c.clc();
c.jmp(end);
c.L(src_zero);
c.mov(dst, operands[0].size);
// Since dst is not zero, also set ZF to zero. Testing dst with itself when we know
// it isn't zero is a good way to do this.
// Use cvt32 to avoid REX/Operand size prefixes.
c.test(dst.cvt32(), dst.cvt32());
// When source is zero, TZCNT also sets CF.
c.stc();
c.L(end);
}
static void GenerateBLSR(const ZydisDecodedOperand* operands, Xbyak::CodeGenerator& c) {
const auto dst = ZydisToXbyakRegisterOperand(operands[0]);
const auto src = ZydisToXbyakOperand(operands[1]);
ValidateDst(dst);
const auto scratch = AllocateScratchRegister({&dst, src.get()}, dst.getBit());
@ -426,6 +472,8 @@ static void GenerateBLSR(const ZydisDecodedOperand* operands, Xbyak::CodeGenerat
RestoreRegisters(c, {scratch});
}
#ifdef __APPLE__
static __attribute__((sysv_abi)) void PerformVCVTPH2PS(float* out, const half_float::half* in,
const u32 count) {
for (u32 i = 0; i < count; i++) {
@ -616,6 +664,11 @@ static bool FilterNoSSE4a(const ZydisDecodedOperand*) {
return !cpu.has(Cpu::tSSE4a);
}
static bool FilterNoBMI1(const ZydisDecodedOperand*) {
Cpu cpu;
return !cpu.has(Cpu::tBMI1);
}
static void GenerateEXTRQ(const ZydisDecodedOperand* operands, Xbyak::CodeGenerator& c) {
bool immediateForm = operands[1].type == ZYDIS_OPERAND_TYPE_IMMEDIATE &&
operands[2].type == ZYDIS_OPERAND_TYPE_IMMEDIATE;
@ -897,14 +950,16 @@ static const std::unordered_map<ZydisMnemonic, PatchInfo> Patches = {
{ZYDIS_MNEMONIC_EXTRQ, {FilterNoSSE4a, GenerateEXTRQ, true}},
{ZYDIS_MNEMONIC_INSERTQ, {FilterNoSSE4a, GenerateINSERTQ, true}},
// BMI1
{ZYDIS_MNEMONIC_ANDN, {FilterNoBMI1, GenerateANDN, true}},
{ZYDIS_MNEMONIC_BEXTR, {FilterNoBMI1, GenerateBEXTR, true}},
{ZYDIS_MNEMONIC_BLSI, {FilterNoBMI1, GenerateBLSI, true}},
{ZYDIS_MNEMONIC_BLSMSK, {FilterNoBMI1, GenerateBLSMSK, true}},
{ZYDIS_MNEMONIC_BLSR, {FilterNoBMI1, GenerateBLSR, true}},
{ZYDIS_MNEMONIC_TZCNT, {FilterNoBMI1, GenerateTZCNT, true}},
#ifdef __APPLE__
// Patches for instruction sets not supported by Rosetta 2.
// BMI1
{ZYDIS_MNEMONIC_ANDN, {FilterRosetta2Only, GenerateANDN, true}},
{ZYDIS_MNEMONIC_BEXTR, {FilterRosetta2Only, GenerateBEXTR, true}},
{ZYDIS_MNEMONIC_BLSI, {FilterRosetta2Only, GenerateBLSI, true}},
{ZYDIS_MNEMONIC_BLSMSK, {FilterRosetta2Only, GenerateBLSMSK, true}},
{ZYDIS_MNEMONIC_BLSR, {FilterRosetta2Only, GenerateBLSR, true}},
// F16C
{ZYDIS_MNEMONIC_VCVTPH2PS, {FilterRosetta2Only, GenerateVCVTPH2PS, true}},
{ZYDIS_MNEMONIC_VCVTPS2PH, {FilterRosetta2Only, GenerateVCVTPS2PH, true}},

BIN
src/images/KBM.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 KiB

1047
src/qt_gui/kbm_gui.cpp Normal file

File diff suppressed because it is too large Load Diff

56
src/qt_gui/kbm_gui.h Normal file
View File

@ -0,0 +1,56 @@
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include <QDialog>
#include "game_info.h"
namespace Ui {
class KBMSettings;
}
class KBMSettings : public QDialog {
Q_OBJECT
public:
explicit KBMSettings(std::shared_ptr<GameInfoClass> game_info_get, QWidget* parent = nullptr);
~KBMSettings();
private Q_SLOTS:
void SaveKBMConfig(bool CloseOnSave);
void SetDefault();
void CheckMapping(QPushButton*& button);
void StartTimer(QPushButton*& button);
void onHelpClicked();
private:
std::unique_ptr<Ui::KBMSettings> ui;
std::shared_ptr<GameInfoClass> m_game_info;
bool eventFilter(QObject* obj, QEvent* event) override;
void ButtonConnects();
void SetUIValuestoMappings(std::string config_id);
void GetGameTitle();
void DisableMappingButtons();
void EnableMappingButtons();
void SetMapping(QString input);
bool EnableMapping = false;
bool MappingCompleted = false;
bool HelpWindowOpen = false;
QString mapping;
QString modifier;
int MappingTimer;
QTimer* timer;
QPushButton* MappingButton;
QList<QPushButton*> ButtonsList;
const std::vector<std::string> ControllerInputs = {
"cross", "circle", "square", "triangle", "l1",
"r1", "l2", "r2", "l3",
"r3", "options", "pad_up",
"pad_down",
"pad_left", "pad_right", "axis_left_x", "axis_left_y", "axis_right_x",
"axis_right_y", "back"};
};

1708
src/qt_gui/kbm_gui.ui Normal file

File diff suppressed because it is too large Load Diff

View File

@ -21,11 +21,10 @@
#include "core/loader.h"
#include "game_install_dialog.h"
#include "install_dir_select.h"
#include "kbm_gui.h"
#include "main_window.h"
#include "settings_dialog.h"
#include "kbm_config_dialog.h"
#include "video_core/renderer_vulkan/vk_instance.h"
#ifdef ENABLE_DISCORD_RPC
#include "common/discord_rpc_handler.h"
@ -348,14 +347,13 @@ void MainWindow::CreateConnects() {
settingsDialog->exec();
});
// this is the editor for kbm keybinds
connect(ui->controllerButton, &QPushButton::clicked, this, [this]() {
auto configWindow = new ControlSettings(m_game_info, this);
configWindow->exec();
});
connect(ui->keyboardButton, &QPushButton::clicked, this, [this]() {
auto kbmWindow = new EditorDialog(this);
auto kbmWindow = new KBMSettings(m_game_info, this);
kbmWindow->exec();
});

View File

@ -5,6 +5,7 @@
#include <QDirIterator>
#include <QFileDialog>
#include <QHoverEvent>
#include <QMessageBox>
#include <fmt/format.h>
#include "common/config.h"
@ -234,6 +235,21 @@ SettingsDialog::SettingsDialog(std::span<const QString> physical_devices,
Common::FS::GetUserPath(Common::FS::PathType::CustomTrophy));
QDesktopServices::openUrl(QUrl::fromLocalFile(userPath));
});
connect(ui->PortableUserButton, &QPushButton::clicked, this, []() {
QString userDir;
Common::FS::PathToQString(userDir, std::filesystem::current_path() / "user");
if (std::filesystem::exists(std::filesystem::current_path() / "user")) {
QMessageBox::information(NULL, "Cannot create portable user folder",
userDir + " already exists");
} else {
std::filesystem::copy(Common::FS::GetUserPath(Common::FS::PathType::UserDir),
std::filesystem::current_path() / "user",
std::filesystem::copy_options::recursive);
QMessageBox::information(NULL, "Portable user folder created",
userDir + " successfully created");
}
});
}
// Input TAB
@ -344,6 +360,7 @@ SettingsDialog::SettingsDialog(std::span<const QString> physical_devices,
ui->saveDataGroupBox->installEventFilter(this);
ui->currentSaveDataPath->installEventFilter(this);
ui->browseButton->installEventFilter(this);
ui->PortableUserFolderGroupBox->installEventFilter(this);
// Debug
ui->debugDump->installEventFilter(this);
@ -650,6 +667,8 @@ void SettingsDialog::updateNoteTextEdit(const QString& elementName) {
text = tr("Add:\\nAdd a folder to the list.");
} else if (elementName == "removeFolderButton") {
text = tr("Remove:\\nRemove a folder from the list.");
} else if (elementName == "PortableUserFolderGroupBox") {
text = tr("Portable user folder:\\nStores shadPS4 settings and data that will be applied only to the shadPS4 build located in the current folder. Restart the app after creating the portable user folder to begin using it.");
}
// Save Data

View File

@ -31,7 +31,7 @@
<string>Settings</string>
</property>
<property name="windowIcon">
<iconset>
<iconset resource="../shadps4.qrc">
<normaloff>:/images/shadps4.ico</normaloff>:/images/shadps4.ico</iconset>
</property>
<property name="sizeGripEnabled">
@ -59,7 +59,7 @@
</size>
</property>
<property name="currentIndex">
<number>0</number>
<number>5</number>
</property>
<widget class="QScrollArea" name="generalTab">
<property name="widgetResizable">
@ -74,7 +74,7 @@
<x>0</x>
<y>0</y>
<width>946</width>
<height>545</height>
<height>536</height>
</rect>
</property>
<layout class="QVBoxLayout" name="generalTabVLayout" stretch="0">
@ -130,9 +130,6 @@
<property name="bottomMargin">
<number>9</number>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
</property>
<item>
<layout class="QVBoxLayout" name="emulatorverticalLayout">
<property name="spacing">
@ -455,7 +452,7 @@
<x>0</x>
<y>0</y>
<width>946</width>
<height>545</height>
<height>536</height>
</rect>
</property>
<layout class="QVBoxLayout" name="guiTabVLayout" stretch="0">
@ -904,7 +901,7 @@
<x>0</x>
<y>0</y>
<width>946</width>
<height>545</height>
<height>536</height>
</rect>
</property>
<layout class="QVBoxLayout" name="graphicsTabVLayout" stretch="0,0">
@ -1199,7 +1196,7 @@
<x>0</x>
<y>0</y>
<width>946</width>
<height>545</height>
<height>536</height>
</rect>
</property>
<layout class="QVBoxLayout" name="userTabVLayout" stretch="0,0,1">
@ -1335,8 +1332,7 @@
</widget>
</item>
<item>
<widget class="QDoubleSpinBox" name="popUpDurationSpinBox">
</widget>
<widget class="QDoubleSpinBox" name="popUpDurationSpinBox"/>
</item>
<item>
<spacer name="horizontalSpacer_4">
@ -1442,7 +1438,7 @@
<x>0</x>
<y>0</y>
<width>946</width>
<height>545</height>
<height>536</height>
</rect>
</property>
<layout class="QVBoxLayout" name="inputTabVLayout" stretch="0,0">
@ -1726,7 +1722,7 @@
<x>0</x>
<y>0</y>
<width>946</width>
<height>545</height>
<height>536</height>
</rect>
</property>
<layout class="QVBoxLayout" name="pathsTabLayout">
@ -1800,6 +1796,58 @@
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="PortableUserFolderGroupBox">
<property name="title">
<string>Portable User Folder</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_9">
<item>
<spacer name="horizontalSpacer_6">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="PortableUserButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Create Portable User Folder from Common User Folder</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_5">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</widget>
@ -1816,7 +1864,7 @@
<x>0</x>
<y>0</y>
<width>946</width>
<height>545</height>
<height>536</height>
</rect>
</property>
<layout class="QVBoxLayout" name="debugTabVLayout" stretch="0,0">
@ -2068,6 +2116,8 @@
</item>
</layout>
</widget>
<resources/>
<resources>
<include location="../shadps4.qrc"/>
</resources>
<connections/>
</ui>

View File

@ -1632,8 +1632,8 @@
<translation type="unfinished">Update Compatibility Database:\nImmediately update the compatibility database.</translation>
</message>
<message>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</translation>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</translation>
</message>
<message>
<source>Never</source>
@ -1839,6 +1839,14 @@
<source>Right</source>
<translation type="unfinished">Right</translation>
</message>
<message>
<source>Top</source>
<translation type="unfinished">Top</translation>
</message>
<message>
<source>Bottom</source>
<translation type="unfinished">Bottom</translation>
</message>
<message>
<source>Notification Duration</source>
<translation type="unfinished">Notification Duration</translation>

View File

@ -1632,8 +1632,8 @@
<translation type="unfinished">Update Compatibility Database:\nImmediately update the compatibility database.</translation>
</message>
<message>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</translation>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</translation>
</message>
<message>
<source>Never</source>
@ -1839,6 +1839,14 @@
<source>Right</source>
<translation type="unfinished">Right</translation>
</message>
<message>
<source>Top</source>
<translation type="unfinished">Top</translation>
</message>
<message>
<source>Bottom</source>
<translation type="unfinished">Bottom</translation>
</message>
<message>
<source>Notification Duration</source>
<translation type="unfinished">Notification Duration</translation>

View File

@ -1632,8 +1632,8 @@
<translation>Aktualisiere Kompatibilitätsdatenbank:\nAktualisiere sofort die Kompatibilitätsdatenbank.</translation>
</message>
<message>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</translation>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</translation>
</message>
<message>
<source>Never</source>
@ -1839,6 +1839,14 @@
<source>Right</source>
<translation type="unfinished">Right</translation>
</message>
<message>
<source>Top</source>
<translation type="unfinished">Top</translation>
</message>
<message>
<source>Bottom</source>
<translation type="unfinished">Bottom</translation>
</message>
<message>
<source>Notification Duration</source>
<translation type="unfinished">Notification Duration</translation>

View File

@ -1632,8 +1632,8 @@
<translation type="unfinished">Update Compatibility Database:\nImmediately update the compatibility database.</translation>
</message>
<message>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</translation>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</translation>
</message>
<message>
<source>Never</source>
@ -1839,6 +1839,14 @@
<source>Right</source>
<translation type="unfinished">Right</translation>
</message>
<message>
<source>Top</source>
<translation type="unfinished">Top</translation>
</message>
<message>
<source>Bottom</source>
<translation type="unfinished">Bottom</translation>
</message>
<message>
<source>Notification Duration</source>
<translation type="unfinished">Notification Duration</translation>

View File

@ -903,6 +903,169 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>KBMSettings</name>
<message>
<source>Configure Controls</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>D-Pad</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Up</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>unmapped</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Left</source>
<translation type="unfinished">Left</translation>
</message>
<message>
<source>Right</source>
<translation type="unfinished">Right</translation>
</message>
<message>
<source>Down</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Left Analog Halfmode</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>hold to move left stick at half-speed</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Left Stick</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Config Selection</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Common Config</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Use per-game configs</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Copy from Common Config</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>L1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>L2</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Text Editor</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Help</source>
<translation type="unfinished">Help</translation>
</message>
<message>
<source>R1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>R2</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>L3</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Touchpad Click</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mouse to Joystick</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>*press F7 ingame to activate</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>R3</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mouse Movement Parameters</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>note: click Help Button/Special Keybindings for more information</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Face Buttons</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Triangle</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Square</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Circle</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cross</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Right Analog Halfmode</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>hold to move right stick at half-speed</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Right Stick</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Deadzone Offset (def 0.50): </source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Speed Multiplier (def 1.0): </source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Speed Offset (def 0.125):</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Speed Offset (def 0.125): </source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
@ -1851,6 +2014,18 @@
<source>Notification Duration</source>
<translation>Notification Duration</translation>
</message>
<message>
<source>Portable User Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Create Portable User Folder from Common User Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Portable user folder:\nStores shadPS4 settings and data that will be applied only to the shadPS4 build located in the current folder. Restart the app after creating the portable user folder to begin using it.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TrophyViewer</name>

View File

@ -1632,8 +1632,8 @@
<translation type="unfinished">Update Compatibility Database:\nImmediately update the compatibility database.</translation>
</message>
<message>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</translation>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</translation>
</message>
<message>
<source>Never</source>
@ -1839,6 +1839,14 @@
<source>Right</source>
<translation type="unfinished">Right</translation>
</message>
<message>
<source>Top</source>
<translation type="unfinished">Top</translation>
</message>
<message>
<source>Bottom</source>
<translation type="unfinished">Bottom</translation>
</message>
<message>
<source>Notification Duration</source>
<translation type="unfinished">Notification Duration</translation>

View File

@ -1632,8 +1632,8 @@
<translation>بهروزرسانی پایگاه داده سازگاری:\ایگاه داده سازگاری را بلافاصله بهروزرسانی میکند.</translation>
</message>
<message>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</translation>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</translation>
</message>
<message>
<source>Never</source>
@ -1839,6 +1839,14 @@
<source>Right</source>
<translation type="unfinished">Right</translation>
</message>
<message>
<source>Top</source>
<translation type="unfinished">Top</translation>
</message>
<message>
<source>Bottom</source>
<translation type="unfinished">Bottom</translation>
</message>
<message>
<source>Notification Duration</source>
<translation type="unfinished">Notification Duration</translation>

View File

@ -1632,8 +1632,8 @@
<translation>Päivitä Yhteensopivuustietokanta:\nPäivitää yhteensopivuustietokannan heti.</translation>
</message>
<message>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</translation>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</translation>
</message>
<message>
<source>Never</source>
@ -1839,6 +1839,14 @@
<source>Right</source>
<translation type="unfinished">Right</translation>
</message>
<message>
<source>Top</source>
<translation type="unfinished">Top</translation>
</message>
<message>
<source>Bottom</source>
<translation type="unfinished">Bottom</translation>
</message>
<message>
<source>Notification Duration</source>
<translation type="unfinished">Notification Duration</translation>

View File

@ -1632,8 +1632,8 @@
<translation>Mettre à jour la compatibilité au démarrage:\nMet à jour immédiatement la base de données de compatibilité.</translation>
</message>
<message>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</translation>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</translation>
</message>
<message>
<source>Never</source>
@ -1839,6 +1839,14 @@
<source>Right</source>
<translation type="unfinished">Right</translation>
</message>
<message>
<source>Top</source>
<translation type="unfinished">Top</translation>
</message>
<message>
<source>Bottom</source>
<translation type="unfinished">Bottom</translation>
</message>
<message>
<source>Notification Duration</source>
<translation type="unfinished">Notification Duration</translation>

View File

@ -1632,8 +1632,8 @@
<translation type="unfinished">Update Compatibility Database:\nImmediately update the compatibility database.</translation>
</message>
<message>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</translation>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</translation>
</message>
<message>
<source>Never</source>
@ -1839,6 +1839,14 @@
<source>Right</source>
<translation type="unfinished">Right</translation>
</message>
<message>
<source>Top</source>
<translation type="unfinished">Top</translation>
</message>
<message>
<source>Bottom</source>
<translation type="unfinished">Bottom</translation>
</message>
<message>
<source>Notification Duration</source>
<translation type="unfinished">Notification Duration</translation>

View File

@ -1632,8 +1632,8 @@
<translation type="unfinished">Update Compatibility Database:\nImmediately update the compatibility database.</translation>
</message>
<message>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</translation>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</translation>
</message>
<message>
<source>Never</source>
@ -1839,6 +1839,14 @@
<source>Right</source>
<translation type="unfinished">Right</translation>
</message>
<message>
<source>Top</source>
<translation type="unfinished">Top</translation>
</message>
<message>
<source>Bottom</source>
<translation type="unfinished">Bottom</translation>
</message>
<message>
<source>Notification Duration</source>
<translation type="unfinished">Notification Duration</translation>

View File

@ -1632,8 +1632,8 @@
<translation>Aggiorna Database Compatibilità:\nAggiorna immediatamente il database di compatibilità.</translation>
</message>
<message>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</source>
<translation>Apri la cartella personalizzata delle immagini/suoni dei trofei:\nPuoi aggiungere immagini e audio personalizzato ai trofei.\nAggiungi i file in custom_trophy con i seguenti nomi:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</translation>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</translation>
</message>
<message>
<source>Never</source>
@ -1839,6 +1839,14 @@
<source>Right</source>
<translation>Destra</translation>
</message>
<message>
<source>Top</source>
<translation>In alto</translation>
</message>
<message>
<source>Bottom</source>
<translation>In basso</translation>
</message>
<message>
<source>Notification Duration</source>
<translation>Durata Notifica</translation>

View File

@ -1632,8 +1632,8 @@
<translation>:\n今すぐ互換性データベースを更新します</translation>
</message>
<message>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</translation>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</translation>
</message>
<message>
<source>Never</source>
@ -1839,6 +1839,14 @@
<source>Right</source>
<translation type="unfinished">Right</translation>
</message>
<message>
<source>Top</source>
<translation type="unfinished">Top</translation>
</message>
<message>
<source>Bottom</source>
<translation type="unfinished">Bottom</translation>
</message>
<message>
<source>Notification Duration</source>
<translation type="unfinished">Notification Duration</translation>

View File

@ -1632,8 +1632,8 @@
<translation type="unfinished">Update Compatibility Database:\nImmediately update the compatibility database.</translation>
</message>
<message>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</translation>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</translation>
</message>
<message>
<source>Never</source>
@ -1839,6 +1839,14 @@
<source>Right</source>
<translation type="unfinished">Right</translation>
</message>
<message>
<source>Top</source>
<translation type="unfinished">Top</translation>
</message>
<message>
<source>Bottom</source>
<translation type="unfinished">Bottom</translation>
</message>
<message>
<source>Notification Duration</source>
<translation type="unfinished">Notification Duration</translation>

View File

@ -1632,8 +1632,8 @@
<translation type="unfinished">Update Compatibility Database:\nImmediately update the compatibility database.</translation>
</message>
<message>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</translation>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</translation>
</message>
<message>
<source>Never</source>
@ -1839,6 +1839,14 @@
<source>Right</source>
<translation type="unfinished">Right</translation>
</message>
<message>
<source>Top</source>
<translation type="unfinished">Top</translation>
</message>
<message>
<source>Bottom</source>
<translation type="unfinished">Bottom</translation>
</message>
<message>
<source>Notification Duration</source>
<translation type="unfinished">Notification Duration</translation>

View File

@ -1632,8 +1632,8 @@
<translation>Oppdater kompatibilitets-database:\nOppdater kompatibilitets-databasen .</translation>
</message>
<message>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</source>
<translation>Åpne mappa med tilpassede bilder og lyder for trofé:\nDu kan legge til tilpassede bilder til trofeene og en lyd.\nLegg filene til custom_trophy med følgende navn:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</translation>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</source>
<translation>Åpne mappa med tilpassede bilder og lyder for trofé:\nDu kan legge til tilpassede bilder til trofeer med en lyd.\nLegg filene til custom_trophy med følgende navn:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nMerk: Avspilling av lyden vil bare fungere med Qt versjonen.</translation>
</message>
<message>
<source>Never</source>
@ -1839,6 +1839,14 @@
<source>Right</source>
<translation>Høyre</translation>
</message>
<message>
<source>Top</source>
<translation>Øverst</translation>
</message>
<message>
<source>Bottom</source>
<translation>Nederst</translation>
</message>
<message>
<source>Notification Duration</source>
<translation>Varslingsvarighet</translation>

View File

@ -1632,8 +1632,8 @@
<translation type="unfinished">Update Compatibility Database:\nImmediately update the compatibility database.</translation>
</message>
<message>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</translation>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</translation>
</message>
<message>
<source>Never</source>
@ -1839,6 +1839,14 @@
<source>Right</source>
<translation type="unfinished">Right</translation>
</message>
<message>
<source>Top</source>
<translation type="unfinished">Top</translation>
</message>
<message>
<source>Bottom</source>
<translation type="unfinished">Bottom</translation>
</message>
<message>
<source>Notification Duration</source>
<translation type="unfinished">Notification Duration</translation>

View File

@ -1632,8 +1632,8 @@
<translation>Zaktualizuj bazę danych zgodności:\nNatychmiast zaktualizuj bazę danych zgodności.</translation>
</message>
<message>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</source>
<translation>Otwórz niestandardowy folder obrazów/dźwięków:\nMożesz dodać własne obrazy do trofeów i dźwięku.\nDodaj pliki do custom_trophy o następujących nazwach:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</translation>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</translation>
</message>
<message>
<source>Never</source>
@ -1839,6 +1839,14 @@
<source>Right</source>
<translation>Z prawej</translation>
</message>
<message>
<source>Top</source>
<translation>Z góry</translation>
</message>
<message>
<source>Bottom</source>
<translation>Z dołu</translation>
</message>
<message>
<source>Notification Duration</source>
<translation>Czas trwania powiadomienia</translation>

View File

@ -733,7 +733,7 @@
</message>
<message>
<source>Open Log Folder</source>
<translation>Abrir Pasta de Registros</translation>
<translation>Abrir Pasta de Log</translation>
</message>
<message>
<source>Copy info...</source>
@ -1517,7 +1517,7 @@
</message>
<message>
<source>Update Compatibility Database On Startup</source>
<translation>Atualizar Base de Dados de Compatibilidade ao Inicializar</translation>
<translation>Atualizar Banco de Dados de Compatibilidade ao Inicializar</translation>
</message>
<message>
<source>Game Compatibility</source>
@ -1589,7 +1589,7 @@
</message>
<message>
<source>Log Filter:\nFilters the log to only print specific information.\nExamples: &quot;Core:Trace&quot; &quot;Lib.Pad:Debug Common.Filesystem:Error&quot; &quot;*:Critical&quot;\nLevels: Trace, Debug, Info, Warning, Error, Critical - in this order, a specific level silences all levels preceding it in the list and logs every level after it.</source>
<translation>Filtro de Registro:\nFiltra o registro para exibir apenas informações específicas.\nExemplos: &quot;Core:Trace&quot; &quot;Lib.Pad:Debug Common.Filesystem:Error&quot; &quot;*:Critical&quot;\nNíveis: Trace, Debug, Info, Warning, Error, Critical - nesta ordem, um nível específico silencia todos os níveis anteriores na lista e registra todos os níveis após ele.</translation>
<translation>Filtro do Registro:\nFiltra o registro para exibir apenas informações específicas.\nExemplos: &quot;Core:Trace&quot; &quot;Lib.Pad:Debug Common.Filesystem:Error&quot; &quot;*:Critical&quot;\nNíveis: Trace, Debug, Info, Warning, Error, Critical - nesta ordem, um nível específico silencia todos os níveis anteriores na lista e registra todos os níveis após este.</translation>
</message>
<message>
<source>Update:\nRelease: Official versions released every month that may be very outdated, but are more reliable and tested.\nNightly: Development versions that have all the latest features and fixes, but may contain bugs and are less stable.</source>
@ -1632,8 +1632,8 @@
<translation>Atualizar Lista de Compatibilidade:\nAtualiza imediatamente o banco de dados de compatibilidade.</translation>
</message>
<message>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</source>
<translation>Abrir a pasta de imagens/sons de troféus personalizados:\nVocê pode adicionar imagens e sons personalizados aos troféus.\nAdicione os arquivos em custom_trophy com os seguintes nomes:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</translation>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</source>
<translation>Abrir a pasta de imagens/sons de troféus personalizados:\nVocê pode adicionar imagens personalizadas aos troféus e um áudio.\nAdicione os arquivos na pasta custom_trophy com os seguintes nomes:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nObservação: O som funcionará apenas em versões Qt.</translation>
</message>
<message>
<source>Never</source>
@ -1839,6 +1839,14 @@
<source>Right</source>
<translation>Direita</translation>
</message>
<message>
<source>Top</source>
<translation>Acima</translation>
</message>
<message>
<source>Bottom</source>
<translation>Abaixo</translation>
</message>
<message>
<source>Notification Duration</source>
<translation>Duração da Notificação</translation>

View File

@ -777,7 +777,7 @@
</message>
<message>
<source>Delete Trophy</source>
<translation type="unfinished">Delete Trophy</translation>
<translation>Eliminar Troféu</translation>
</message>
<message>
<source>Compatibility...</source>
@ -857,7 +857,7 @@
</message>
<message>
<source>No log file found for this game!</source>
<translation type="unfinished">No log file found for this game!</translation>
<translation>Não foi encontrado nenhum ficheiro de registo para este jogo!</translation>
</message>
<message>
<source>Failed to convert icon.</source>
@ -869,7 +869,7 @@
</message>
<message>
<source>This game has no saved trophies to delete!</source>
<translation type="unfinished">This game has no saved trophies to delete!</translation>
<translation>Este jogo não tem troféus guardados para eliminar!</translation>
</message>
<message>
<source>Save Data</source>
@ -877,7 +877,7 @@
</message>
<message>
<source>Trophy</source>
<translation type="unfinished">Trophy</translation>
<translation>Troféus</translation>
</message>
<message>
<source>SFO Viewer for </source>
@ -1329,7 +1329,7 @@
</message>
<message>
<source>Open the custom trophy images/sounds folder</source>
<translation type="unfinished">Open the custom trophy images/sounds folder</translation>
<translation>Abrir a pasta de imagens/sons de troféus personalizados</translation>
</message>
<message>
<source>Logger</source>
@ -1497,7 +1497,7 @@
</message>
<message>
<source>Disable Trophy Notification</source>
<translation type="unfinished">Disable Trophy Notification</translation>
<translation>Desativar Notificações de Troféus</translation>
</message>
<message>
<source>Background Image</source>
@ -1632,8 +1632,8 @@
<translation>Atualizar Base de Dados de Compatibilidade:\nAtualiza imediatamente a base de dados de compatibilidade.</translation>
</message>
<message>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</translation>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</source>
<translation>Abrir a pasta de imagens/sons de troféus personalizados:\nPoderá adicionar imagens personalizadas aos troféus e um áudio.\nAdicione os ficheiros na pasta custom_trophy com os seguintes nomes:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nObservação: O som funcionará apenas nas versões Qt.</translation>
</message>
<message>
<source>Never</source>
@ -1829,19 +1829,27 @@
</message>
<message>
<source>Trophy Notification Position</source>
<translation type="unfinished">Trophy Notification Position</translation>
<translation>Posição da Notificação do Troféu</translation>
</message>
<message>
<source>Left</source>
<translation type="unfinished">Left</translation>
<translation>Esquerda</translation>
</message>
<message>
<source>Right</source>
<translation type="unfinished">Right</translation>
<translation>Direita</translation>
</message>
<message>
<source>Top</source>
<translation>Acima</translation>
</message>
<message>
<source>Bottom</source>
<translation>Abaixo</translation>
</message>
<message>
<source>Notification Duration</source>
<translation type="unfinished">Notification Duration</translation>
<translation>Duração da Notificação</translation>
</message>
</context>
<context>
@ -1852,19 +1860,19 @@
</message>
<message>
<source>Progress</source>
<translation type="unfinished">Progress</translation>
<translation>Progresso</translation>
</message>
<message>
<source>Show Earned Trophies</source>
<translation type="unfinished">Show Earned Trophies</translation>
<translation>Mostrar Troféus Conquistados</translation>
</message>
<message>
<source>Show Not Earned Trophies</source>
<translation type="unfinished">Show Not Earned Trophies</translation>
<translation>Mostrar Troféus Não Conquistados</translation>
</message>
<message>
<source>Show Hidden Trophies</source>
<translation type="unfinished">Show Hidden Trophies</translation>
<translation>Mostrar Troféus Ocultos</translation>
</message>
</context>
</TS>

View File

@ -1632,8 +1632,8 @@
<translation type="unfinished">Update Compatibility Database:\nImmediately update the compatibility database.</translation>
</message>
<message>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</translation>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</translation>
</message>
<message>
<source>Never</source>
@ -1839,6 +1839,14 @@
<source>Right</source>
<translation type="unfinished">Right</translation>
</message>
<message>
<source>Top</source>
<translation type="unfinished">Top</translation>
</message>
<message>
<source>Bottom</source>
<translation type="unfinished">Bottom</translation>
</message>
<message>
<source>Notification Duration</source>
<translation type="unfinished">Notification Duration</translation>

View File

@ -1632,8 +1632,8 @@
<translation>Обновить базу совместимости:\nНемедленно обновить базу данных совместимости.</translation>
</message>
<message>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</source>
<translation>Открыть пользовательскую папку с трофеями изображений/звуков:\nВы можете добавить пользовательские изображения к трофеям и аудио.\обавьте файлы в custom_trophy со следующими именами:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</translation>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</source>
<translation>Открыть папку с пользовательскими изображениями/звуками трофеев:\nВы можете добавить пользовательские изображения к трофеям и аудио.\обавьте файлы в custom_trophy со следующими именами:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\римечание: звук будет работать только в QT-версии.</translation>
</message>
<message>
<source>Never</source>
@ -1839,6 +1839,14 @@
<source>Right</source>
<translation>Вправо</translation>
</message>
<message>
<source>Top</source>
<translation>Сверху</translation>
</message>
<message>
<source>Bottom</source>
<translation>Снизу</translation>
</message>
<message>
<source>Notification Duration</source>
<translation>Продолжительность уведомления</translation>

View File

@ -1632,8 +1632,8 @@
<translation>Përditëso bazën e dhënave përputhshmërisë:\nPërditëso menjëherë bazën e dhënave përputhshmërisë.</translation>
</message>
<message>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</source>
<translation>Hap dosjen e imazheve/tingujve trofeve personalizuar:\nMund shtosh imazhe personalizuara për trofetë dhe një skedar audio.\nShto skedarët dosjen custom_trophy me emrat vijojnë:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png</translation>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</source>
<translation>Hap dosjen e imazheve/tingujve trofeve personalizuar:\nMund shtosh imazhe personalizuara për trofetë dhe një audio.\nShto skedarët dosjen custom_trophy me emrat vijojnë:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nShënim: Tingulli do punojë vetëm versionet QT.</translation>
</message>
<message>
<source>Never</source>
@ -1839,6 +1839,14 @@
<source>Right</source>
<translation>Djathtas</translation>
</message>
<message>
<source>Top</source>
<translation>Sipër</translation>
</message>
<message>
<source>Bottom</source>
<translation>Poshtë</translation>
</message>
<message>
<source>Notification Duration</source>
<translation>Kohëzgjatja e Njoftimit</translation>

View File

@ -1329,7 +1329,7 @@
</message>
<message>
<source>Open the custom trophy images/sounds folder</source>
<translation>Öppna mapp för anpassade trofébilder/ljud</translation>
<translation>Öppna mappen för anpassade trofébilder/ljud</translation>
</message>
<message>
<source>Logger</source>
@ -1632,8 +1632,8 @@
<translation>Uppdatera kompatibilitetsdatabasen:\nUppdaterar kompatibilitetsdatabasen direkt</translation>
</message>
<message>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</source>
<translation>Öppna mappen med anpassade trofébilder/ljud:\nDu kan lägga till anpassade bilder till troféerna och ett ljud.\nLägg till filerna i custom_trophy med följande namn:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</translation>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</source>
<translation>Öppna mappen för anpassade trofébilder/ljud:\nDu kan lägga till anpassade bilder till troféerna och ett ljud.\nLägg till filerna i custom_trophy med följande namn:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nObservera: Ljudet fungerar endast i QT-versioner.</translation>
</message>
<message>
<source>Never</source>
@ -1839,6 +1839,14 @@
<source>Right</source>
<translation>Höger</translation>
</message>
<message>
<source>Top</source>
<translation>Överst</translation>
</message>
<message>
<source>Bottom</source>
<translation>Nederst</translation>
</message>
<message>
<source>Notification Duration</source>
<translation>Varaktighet för avisering</translation>

View File

@ -1632,8 +1632,8 @@
<translation>Uyumluluk Veritabanını Güncelle:\nUyumluluk veri tabanını hemen güncelleyin.</translation>
</message>
<message>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</translation>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</translation>
</message>
<message>
<source>Never</source>
@ -1839,6 +1839,14 @@
<source>Right</source>
<translation>Sağ</translation>
</message>
<message>
<source>Top</source>
<translation type="unfinished">Top</translation>
</message>
<message>
<source>Bottom</source>
<translation type="unfinished">Bottom</translation>
</message>
<message>
<source>Notification Duration</source>
<translation>Bildirim Süresi</translation>

View File

@ -1632,8 +1632,8 @@
<translation>Оновити данні ігрової сумістності:\nНегайно оновить базу даних ігрової сумісності.</translation>
</message>
<message>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</translation>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</translation>
</message>
<message>
<source>Never</source>
@ -1839,6 +1839,14 @@
<source>Right</source>
<translation type="unfinished">Right</translation>
</message>
<message>
<source>Top</source>
<translation type="unfinished">Top</translation>
</message>
<message>
<source>Bottom</source>
<translation type="unfinished">Bottom</translation>
</message>
<message>
<source>Notification Duration</source>
<translation type="unfinished">Notification Duration</translation>

View File

@ -1632,8 +1632,8 @@
<translation type="unfinished">Update Compatibility Database:\nImmediately update the compatibility database.</translation>
</message>
<message>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</translation>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</translation>
</message>
<message>
<source>Never</source>
@ -1839,6 +1839,14 @@
<source>Right</source>
<translation type="unfinished">Right</translation>
</message>
<message>
<source>Top</source>
<translation type="unfinished">Top</translation>
</message>
<message>
<source>Bottom</source>
<translation type="unfinished">Bottom</translation>
</message>
<message>
<source>Notification Duration</source>
<translation type="unfinished">Notification Duration</translation>

View File

@ -1632,8 +1632,8 @@
<translation>\n立即更新兼容性数据库</translation>
</message>
<message>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</source>
<translation>/\n您可以自定义奖杯图像和声音\n将文件添加到 custom_trophy \nthophy.mp3bronze.pnggold.pngplatinum.pngsilver.png</translation>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</translation>
</message>
<message>
<source>Never</source>
@ -1839,6 +1839,14 @@
<source>Right</source>
<translation></translation>
</message>
<message>
<source>Top</source>
<translation type="unfinished">Top</translation>
</message>
<message>
<source>Bottom</source>
<translation type="unfinished">Bottom</translation>
</message>
<message>
<source>Notification Duration</source>
<translation></translation>

View File

@ -1632,8 +1632,8 @@
<translation type="unfinished">Update Compatibility Database:\nImmediately update the compatibility database.</translation>
</message>
<message>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\nthophy.mp3, bronze.png, gold.png, platinum.png, silver.png</translation>
<source>Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</source>
<translation type="unfinished">Open the custom trophy images/sounds folder:\nYou can add custom images to the trophies and an audio.\nAdd the files to custom_trophy with the following names:\ntrophy.mp3, bronze.png, gold.png, platinum.png, silver.png\nNote: The sound will only work in QT versions.</translation>
</message>
<message>
<source>Never</source>
@ -1839,6 +1839,14 @@
<source>Right</source>
<translation type="unfinished">Right</translation>
</message>
<message>
<source>Top</source>
<translation type="unfinished">Top</translation>
</message>
<message>
<source>Bottom</source>
<translation type="unfinished">Bottom</translation>
</message>
<message>
<source>Notification Duration</source>
<translation type="unfinished">Notification Duration</translation>

View File

@ -32,5 +32,6 @@
<file>images/website.png</file>
<file>images/ps4_controller.png</file>
<file>images/keyboard_icon.png</file>
<file>images/KBM.png</file>
</qresource>
</RCC>