Merge branch 'main' into Cheats_Patches

This commit is contained in:
DanielSvoboda 2024-08-26 12:07:41 -03:00 committed by GitHub
commit 9ab4a1f349
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
136 changed files with 12123 additions and 491 deletions

View File

@ -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

View File

@ -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

View File

@ -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 .

View File

@ -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/translations upload
windeployqt --dir upload upload/shadPS4.exe
- name: Upload executable

View File

@ -66,9 +66,8 @@ git_branch_name(GIT_BRANCH)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/src/common/scm_rev.cpp.in" "${CMAKE_CURRENT_SOURCE_DIR}/src/common/scm_rev.cpp" @ONLY)
find_package(Boost 1.84.0 CONFIG)
find_package(cryptopp 8.9.0 MODULE)
find_package(FFmpeg 5.1.2 MODULE)
find_package(fmt 10.2.1 CONFIG)
find_package(fmt 10.2.0 CONFIG)
find_package(glslang 14.2.0 CONFIG)
find_package(magic_enum 0.9.6 CONFIG)
find_package(RenderDoc 1.6.0 MODULE)
@ -79,8 +78,12 @@ find_package(VulkanHeaders 1.3.289 CONFIG)
find_package(VulkanMemoryAllocator 3.1.0 CONFIG)
find_package(xbyak 7.07 CONFIG)
find_package(xxHash 0.8.2 MODULE)
find_package(zlib-ng 2.2.0 MODULE)
find_package(Zydis 4.1.0 CONFIG)
find_package(zlib-ng 2.1.7 MODULE)
find_package(Zydis 5.0.0 CONFIG)
if (NOT CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR NOT MSVC)
find_package(cryptopp 8.9.0 MODULE)
endif()
if (APPLE)
find_package(date 3.0.1 CONFIG)
@ -110,11 +113,27 @@ add_subdirectory(externals)
include_directories(src)
if(ENABLE_QT_GUI)
find_package(Qt6 REQUIRED COMPONENTS Widgets Concurrent Network)
find_package(Qt6 REQUIRED COMPONENTS Widgets Concurrent LinguistTools Network)
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} "<RCC><qresource prefix=\"translations\">\n")
foreach (QM ${TRANSLATIONS_QM})
get_filename_component(QM_FILE ${QM} NAME)
file(APPEND ${TRANSLATIONS_QRC} "<file>${QM_FILE}</file>\n")
endforeach (QM)
file(APPEND ${TRANSLATIONS_QRC} "</qresource></RCC>")
qt_add_resources(TRANSLATIONS ${TRANSLATIONS_QRC})
endif()
set(AUDIO_CORE src/audio_core/sdl_audio.cpp
@ -433,7 +452,7 @@ set(SHADER_RECOMPILER src/shader_recompiler/exception.h
src/shader_recompiler/frontend/opcodes.h
src/shader_recompiler/frontend/structured_control_flow.cpp
src/shader_recompiler/frontend/structured_control_flow.h
src/shader_recompiler/ir/passes/constant_propogation_pass.cpp
src/shader_recompiler/ir/passes/constant_propagation_pass.cpp
src/shader_recompiler/ir/passes/dead_code_elimination_pass.cpp
src/shader_recompiler/ir/passes/identity_removal_pass.cpp
src/shader_recompiler/ir/passes/ir_passes.h
@ -471,6 +490,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
@ -577,6 +597,7 @@ set(QT_GUI src/qt_gui/about_dialog.cpp
src/qt_gui/main.cpp
${EMULATOR}
${RESOURCE_FILES}
${TRANSLATIONS}
)
endif()

View File

@ -69,7 +69,7 @@ enum class SomeEnum {
* Note that the asterisks are indented by one space to align to the first line.
*/
struct Position {
// Always intitialize member variables!
// Always initialize member variables!
int x{};
int y{};
};

View File

@ -32,27 +32,30 @@ SPDX-License-Identifier: GPL-2.0-or-later
<img src="https://github.com/shadps4-emu/shadPS4/blob/main/documents/Screenshots/We are DOOMED.png" width="400">
</p>
# 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) and it can even *somewhat* run [**Bloodborne**](https://www.youtube.com/watch?v=wC6s0avpQRE).
# 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
# Building
## Windows
@ -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
<details>
<summary><b>Windows</b></summary>
@ -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]
> Xbox and DualShock controllers work out of the box.
| Controller button | Keyboard equivelant |
|-------------|-------------|
LEFT AXIS UP | W |
LEFT AXIS DOWN | S |

View File

@ -114108,7 +114108,7 @@ STUB(
_ZN3sce2Np9CppWebApi6Common12IntrusivePtrINS1_7Matches2V124RequestCompetitiveResultEE7add_refEv)
STUB("efPahl2FufA",
_ZN3sce2Np9CppWebApi30CommunicationRestrictionStatus2V35Error8fromJsonERKNS_4Json5ValueE)
STUB("efX3lrPwdKA", sceAppContentAddcontMountByEntitlemetId)
STUB("efX3lrPwdKA", sceAppContentAddcontMountByEntitlementId)
STUB("efXnxYFN5oE", _ZNSt11range_errorD0Ev)
STUB("efcwuDLsAM0", _ZThn120_NK7WebCore16HTMLMediaElement5mutedEv)
STUB("efhGArzWdxE", _ZN7bmalloc6IsoTLS15s_didInitializeE)
@ -129493,7 +129493,7 @@ STUB(
STUB("kJlYH5uMAWI", sceNetResolverDestroy)
STUB("kJmdxo4uM+8",
_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE5_InitERKSt8_Locinfo)
STUB("kJmjt81mXKQ", sceAppContentAddcontEnqueueDownloadByEntitlemetId)
STUB("kJmjt81mXKQ", sceAppContentAddcontEnqueueDownloadByEntitlementId)
STUB(
"kJoY9lMIFzY",
_ZN3sce2Np9CppWebApi6Common8IteratorINS2_12IntrusivePtrINS1_21AdvancedPlayerProfile2V138MatchCompletionRateDisconnectedMetricsEEEEmmEi)

View File

@ -80897,10 +80897,10 @@ sceAppCheckerExecute
sceAppCheckerExecuteEx
sceAppContentAddcontDelete
sceAppContentAddcontEnqueueDownload
sceAppContentAddcontEnqueueDownloadByEntitlemetId
sceAppContentAddcontEnqueueDownloadByEntitlementId
sceAppContentAddcontEnqueueDownloadSp
sceAppContentAddcontMount
sceAppContentAddcontMountByEntitlemetId
sceAppContentAddcontMountByEntitlementId
sceAppContentAddcontShrink
sceAppContentAddcontUnmount
sceAppContentAppParamGetInt

View File

@ -22,15 +22,15 @@ public:
private:
struct PortOut {
bool isOpen = false;
int type = 0;
SDL_AudioStream* stream = nullptr;
u32 samples_num = 0;
u8 sample_size = 0;
u32 freq = 0;
u32 format = -1;
int type = 0;
int channels_num = 0;
int volume[8] = {};
SDL_AudioStream* stream = nullptr;
u8 sample_size = 0;
bool isOpen = false;
};
std::shared_mutex m_mutex;
std::array<PortOut, 22> portsOut; // main up to 8 ports , BGM 1 port , voice up to 4 ports ,

View File

@ -45,6 +45,7 @@ u32 m_window_size_H = 720;
std::vector<std::string> m_pkg_viewer;
std::vector<std::string> m_elf_viewer;
std::vector<std::string> m_recent_files;
std::string emulator_language = "en";
// Settings
u32 m_language = 1; // english
@ -214,10 +215,10 @@ void setIconSize(u32 size) {
void setIconSizeGrid(u32 size) {
m_icon_size_grid = size;
}
void setSliderPositon(u32 pos) {
void setSliderPosition(u32 pos) {
m_slider_pos = pos;
}
void setSliderPositonGrid(u32 pos) {
void setSliderPositionGrid(u32 pos) {
m_slider_pos_grid = pos;
}
void setTableMode(u32 mode) {
@ -242,6 +243,10 @@ void setRecentFiles(const std::vector<std::string>& recentFiles) {
m_recent_files = recentFiles;
}
void setEmulatorLanguage(std::string language) {
emulator_language = language;
}
u32 getMainWindowGeometryX() {
return main_window_geometry_x;
}
@ -266,10 +271,10 @@ u32 getIconSize() {
u32 getIconSizeGrid() {
return m_icon_size_grid;
}
u32 getSliderPositon() {
u32 getSliderPosition() {
return m_slider_pos;
}
u32 getSliderPositonGrid() {
u32 getSliderPositionGrid() {
return m_slider_pos_grid;
}
u32 getTableMode() {
@ -291,6 +296,10 @@ std::vector<std::string> 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<std::vector<std::string>>(gui, "elfDirs", {});
m_recent_files = toml::find_or<std::vector<std::string>>(gui, "recentFiles", {});
m_table_mode = toml::find_or<int>(gui, "gameTableMode", 0);
emulator_language = toml::find_or<std::string>(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;
}

View File

@ -61,14 +61,15 @@ void setGameInstallDir(const std::string& dir);
void setMainWindowTheme(u32 theme);
void setIconSize(u32 size);
void setIconSizeGrid(u32 size);
void setSliderPositon(u32 pos);
void setSliderPositonGrid(u32 pos);
void setSliderPosition(u32 pos);
void setSliderPositionGrid(u32 pos);
void setTableMode(u32 mode);
void setMainWindowWidth(u32 width);
void setMainWindowHeight(u32 height);
void setPkgViewer(const std::vector<std::string>& pkgList);
void setElfViewer(const std::vector<std::string>& elfList);
void setRecentFiles(const std::vector<std::string>& recentFiles);
void setEmulatorLanguage(std::string language);
u32 getMainWindowGeometryX();
u32 getMainWindowGeometryY();
@ -78,14 +79,15 @@ std::string getGameInstallDir();
u32 getMainWindowTheme();
u32 getIconSize();
u32 getIconSizeGrid();
u32 getSliderPositon();
u32 getSliderPositonGrid();
u32 getSliderPosition();
u32 getSliderPositionGrid();
u32 getTableMode();
u32 getMainWindowWidth();
u32 getMainWindowHeight();
std::vector<std::string> getPkgViewer();
std::vector<std::string> getElfViewer();
std::vector<std::string> getRecentFiles();
std::string getEmulatorLanguage();
void setDefaultValues();

View File

@ -29,7 +29,7 @@ static inline bool IsProfilerConnected() {
#define TRACK_ALLOC(ptr, size, pool) TracyAllocN(std::bit_cast<void*>(ptr), (size), (pool))
#define TRACK_FREE(ptr, pool) TracyFreeN(std::bit_cast<void*>(ptr), (pool))
enum MarkersPallete : int {
enum MarkersPalette : int {
EmulatorMarkerColor = 0x264653,
RendererMarkerColor = 0x2a9d8f,
HleMarkerColor = 0xe9c46a,

View File

@ -18,16 +18,16 @@ NativeClock::NativeClock()
us_rdtsc_factor{GetFixedPoint64Factor(std::micro::den, rdtsc_frequency)},
ms_rdtsc_factor{GetFixedPoint64Factor(std::milli::den, rdtsc_frequency)} {}
u64 NativeClock::GetTimeNS() const {
return MultiplyHigh(GetUptime(), ns_rdtsc_factor);
u64 NativeClock::GetTimeNS(u64 base_ptc /*= 0*/) const {
return MultiplyHigh(GetUptime() - base_ptc, ns_rdtsc_factor);
}
u64 NativeClock::GetTimeUS() const {
return MultiplyHigh(GetUptime(), us_rdtsc_factor);
u64 NativeClock::GetTimeUS(u64 base_ptc /*= 0*/) const {
return MultiplyHigh(GetUptime() - base_ptc, us_rdtsc_factor);
}
u64 NativeClock::GetTimeMS() const {
return MultiplyHigh(GetUptime(), ms_rdtsc_factor);
u64 NativeClock::GetTimeMS(u64 base_ptc /*= 0*/) const {
return MultiplyHigh(GetUptime() - base_ptc, ms_rdtsc_factor);
}
u64 NativeClock::GetUptime() const {

View File

@ -16,9 +16,9 @@ public:
return rdtsc_frequency;
}
u64 GetTimeNS() const;
u64 GetTimeUS() const;
u64 GetTimeMS() const;
u64 GetTimeNS(u64 base_ptc = 0) const;
u64 GetTimeUS(u64 base_ptc = 0) const;
u64 GetTimeMS(u64 base_ptc = 0) const;
u64 GetUptime() const;
u64 GetProcessTimeUS() const;

View File

@ -28,9 +28,13 @@ struct SlotId {
template <class T>
class SlotVector {
constexpr static std::size_t InitialCapacity = 1024;
constexpr static std::size_t InitialCapacity = 2048;
public:
SlotVector() {
Reserve(InitialCapacity);
}
~SlotVector() noexcept {
std::size_t index = 0;
for (u64 bits : stored_bitset) {
@ -67,19 +71,6 @@ public:
return SlotId{index};
}
template <typename... Args>
[[nodiscard]] SlotId swap_and_insert(SlotId existing_id, Args&&... args) noexcept {
const u32 index = FreeValueIndex();
T& existing_value = values[existing_id.index].object;
new (&values[index].object) T(std::move(existing_value));
existing_value.~T();
new (&values[existing_id.index].object) T(std::forward<Args>(args)...);
SetStorageBit(index);
return SlotId{index};
}
void erase(SlotId id) noexcept {
values[id.index].object.~T();
free_list.push_back(id.index);
@ -151,7 +142,8 @@ private:
const std::size_t old_free_size = free_list.size();
free_list.resize(old_free_size + (new_capacity - values_capacity));
std::iota(free_list.begin() + old_free_size, free_list.end(),
const std::size_t new_free_size = free_list.size();
std::iota(free_list.rbegin(), free_list.rbegin() + new_free_size - old_free_size,
static_cast<u32>(values_capacity));
delete[] values;

View File

@ -114108,7 +114108,7 @@ STUB(
_ZN3sce2Np9CppWebApi6Common12IntrusivePtrINS1_7Matches2V124RequestCompetitiveResultEE7add_refEv)
STUB("efPahl2FufA",
_ZN3sce2Np9CppWebApi30CommunicationRestrictionStatus2V35Error8fromJsonERKNS_4Json5ValueE)
STUB("efX3lrPwdKA", sceAppContentAddcontMountByEntitlemetId)
STUB("efX3lrPwdKA", sceAppContentAddcontMountByEntitlementId)
STUB("efXnxYFN5oE", _ZNSt11range_errorD0Ev)
STUB("efcwuDLsAM0", _ZThn120_NK7WebCore16HTMLMediaElement5mutedEv)
STUB("efhGArzWdxE", _ZN7bmalloc6IsoTLS15s_didInitializeE)
@ -129493,7 +129493,7 @@ STUB(
STUB("kJlYH5uMAWI", sceNetResolverDestroy)
STUB("kJmdxo4uM+8",
_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE5_InitERKSt8_Locinfo)
STUB("kJmjt81mXKQ", sceAppContentAddcontEnqueueDownloadByEntitlemetId)
STUB("kJmjt81mXKQ", sceAppContentAddcontEnqueueDownloadByEntitlementId)
STUB(
"kJoY9lMIFzY",
_ZN3sce2Np9CppWebApi6Common8IteratorINS2_12IntrusivePtrINS1_21AdvancedPlayerProfile2V138MatchCompletionRateDisconnectedMetricsEEEEmmEi)

View File

@ -13,7 +13,7 @@ namespace Core::AeroLib {
// on lookup, setting up the nid_entry they are matched with
//
// If it runs out of stubs with name information, it will return
// a default implemetnation without function name details
// a default implementation without function name details
// Up to 512, larger values lead to more resolve stub slots
// and to longer compile / CI times

View File

@ -51,8 +51,8 @@ CryptoPP::RSA::PrivateKey Crypto::DebugRifKeyset_init() {
params.SetPrime2(
CryptoPP::Integer(DebugRifKeyset_keyset.Prime2, sizeof(DebugRifKeyset_keyset.Prime2)));
params.SetPublicExponent(CryptoPP::Integer(DebugRifKeyset_keyset.PrivateExponent,
sizeof(DebugRifKeyset_keyset.PrivateExponent)));
params.SetPublicExponent(CryptoPP::Integer(DebugRifKeyset_keyset.PublicExponent,
sizeof(DebugRifKeyset_keyset.PublicExponent)));
params.SetPrivateExponent(CryptoPP::Integer(DebugRifKeyset_keyset.PrivateExponent,
sizeof(DebugRifKeyset_keyset.PrivateExponent)));

View File

@ -279,8 +279,8 @@ bool PKG::Extract(const std::filesystem::path& filepath, const std::filesystem::
}
}
// let's deal with the root/uroot enteries here.
// Sometimes it's more than 2 enteries (Tomb Raider Remastered)
// let's deal with the root/uroot entries here.
// Sometimes it's more than 2 entries (Tomb Raider Remastered)
const std::string_view flat_path_table(&decompressedData[0x10], 15);
if (flat_path_table == "flat_path_table") {
uroot_reached = true;

View File

@ -48,7 +48,7 @@ std::filesystem::path MntPoints::GetHostPath(std::string_view guest_directory) {
pos = mount->mount.size() + 1;
const auto rel_path = std::string_view(corrected_path).substr(pos);
const auto host_path = mount->host_path / rel_path;
if (!NeedsCaseInsensiveSearch) {
if (!NeedsCaseInsensitiveSearch) {
return host_path;
}

View File

@ -14,9 +14,9 @@ namespace Core::FileSys {
class MntPoints {
#ifdef _WIN64
static constexpr bool NeedsCaseInsensiveSearch = false;
static constexpr bool NeedsCaseInsensitiveSearch = false;
#else
static constexpr bool NeedsCaseInsensiveSearch = true;
static constexpr bool NeedsCaseInsensitiveSearch = true;
#endif
public:
struct MntPair {

View File

@ -221,12 +221,12 @@ int PS4_SYSV_ABI Func_C59A36FF8D7C59DA() {
return ORBIS_OK;
}
int PS4_SYSV_ABI sceAppContentAddcontEnqueueDownloadByEntitlemetId() {
int PS4_SYSV_ABI sceAppContentAddcontEnqueueDownloadByEntitlementId() {
LOG_ERROR(Lib_AppContent, "(STUBBED) called");
return ORBIS_OK;
}
int PS4_SYSV_ABI sceAppContentAddcontMountByEntitlemetId() {
int PS4_SYSV_ABI sceAppContentAddcontMountByEntitlementId() {
LOG_ERROR(Lib_AppContent, "(STUBBED) called");
return ORBIS_OK;
}
@ -313,9 +313,9 @@ void RegisterlibSceAppContent(Core::Loader::SymbolsResolver* sym) {
LIB_FUNCTION("xZo2-418Wdo", "libSceAppContentBundle", 1, "libSceAppContent", 1, 1,
Func_C59A36FF8D7C59DA);
LIB_FUNCTION("kJmjt81mXKQ", "libSceAppContentIro", 1, "libSceAppContent", 1, 1,
sceAppContentAddcontEnqueueDownloadByEntitlemetId);
sceAppContentAddcontEnqueueDownloadByEntitlementId);
LIB_FUNCTION("efX3lrPwdKA", "libSceAppContentIro", 1, "libSceAppContent", 1, 1,
sceAppContentAddcontMountByEntitlemetId);
sceAppContentAddcontMountByEntitlementId);
LIB_FUNCTION("z9hgjLd1SGA", "libSceAppContentIro", 1, "libSceAppContent", 1, 1,
sceAppContentGetAddcontInfoByEntitlementId);
LIB_FUNCTION("3wUaDTGmjcQ", "libSceAppContentIro", 1, "libSceAppContent", 1, 1,

View File

@ -92,8 +92,8 @@ int PS4_SYSV_ABI sceAppContentTemporaryDataMount2(OrbisAppContentTemporaryDataOp
int PS4_SYSV_ABI sceAppContentTemporaryDataUnmount();
int PS4_SYSV_ABI sceAppContentGetPftFlag();
int PS4_SYSV_ABI Func_C59A36FF8D7C59DA();
int PS4_SYSV_ABI sceAppContentAddcontEnqueueDownloadByEntitlemetId();
int PS4_SYSV_ABI sceAppContentAddcontMountByEntitlemetId();
int PS4_SYSV_ABI sceAppContentAddcontEnqueueDownloadByEntitlementId();
int PS4_SYSV_ABI sceAppContentAddcontMountByEntitlementId();
int PS4_SYSV_ABI sceAppContentGetAddcontInfoByEntitlementId();
int PS4_SYSV_ABI sceAppContentGetAddcontInfoListByIroTag();
int PS4_SYSV_ABI sceAppContentGetDownloadedStoreCountry();

View File

@ -40,9 +40,11 @@ int PS4_SYSV_ABI sceAvPlayerChangeStream() {
s32 PS4_SYSV_ABI sceAvPlayerClose(SceAvPlayerHandle handle) {
LOG_TRACE(Lib_AvPlayer, "called");
if (handle == nullptr) {
LOG_TRACE(Lib_AvPlayer, "returning ORBIS_AVPLAYER_ERROR_INVALID_PARAMS");
return ORBIS_AVPLAYER_ERROR_INVALID_PARAMS;
}
delete handle;
LOG_TRACE(Lib_AvPlayer, "returning ORBIS_OK");
return ORBIS_OK;
}
@ -257,6 +259,7 @@ s32 PS4_SYSV_ABI sceAvPlayerStart(SceAvPlayerHandle handle) {
s32 PS4_SYSV_ABI sceAvPlayerStop(SceAvPlayerHandle handle) {
LOG_TRACE(Lib_AvPlayer, "called");
if (handle == nullptr) {
LOG_TRACE(Lib_AvPlayer, "returning ORBIS_AVPLAYER_ERROR_INVALID_PARAMS");
return ORBIS_AVPLAYER_ERROR_INVALID_PARAMS;
}
const auto res = handle->Stop();

View File

@ -5,6 +5,7 @@
#include "avplayer_file_streamer.h"
#include "common/alignment.h"
#include "common/singleton.h"
#include "core/file_sys/fs.h"
#include "core/libraries/kernel/time_management.h"
@ -111,8 +112,8 @@ s32 AvPlayerSource::GetStreamInfo(u32 stream_index, SceAvPlayerStreamInfo& info)
LOG_INFO(Lib_AvPlayer, "Stream {} is a video stream.", stream_index);
info.details.video.aspect_ratio =
f32(p_stream->codecpar->width) / p_stream->codecpar->height;
info.details.video.width = p_stream->codecpar->width;
info.details.video.height = p_stream->codecpar->height;
info.details.video.width = Common::AlignUp(u32(p_stream->codecpar->width), 16);
info.details.video.height = Common::AlignUp(u32(p_stream->codecpar->height), 16);
if (p_lang_node != nullptr) {
std::memcpy(info.details.video.language_code, p_lang_node->value,
std::min(strlen(p_lang_node->value), size_t(3)));
@ -167,8 +168,9 @@ bool AvPlayerSource::EnableStream(u32 stream_index) {
LOG_ERROR(Lib_AvPlayer, "Could not open avcodec for video stream {}.", stream_index);
return false;
}
const auto width = m_video_codec_context->width;
const auto size = (width * m_video_codec_context->height * 3) / 2;
const auto width = Common::AlignUp(u32(m_video_codec_context->width), 16);
const auto height = Common::AlignUp(u32(m_video_codec_context->height), 16);
const auto size = (width * height * 3) / 2;
for (u64 index = 0; index < m_num_output_video_framebuffers; ++index) {
m_video_buffers.Push(FrameBuffer(m_memory_replacement, 0x100, size));
}
@ -284,11 +286,6 @@ bool AvPlayerSource::GetVideoData(SceAvPlayerFrameInfo& video_info) {
return true;
}
static void CopyNV12Data(u8* dst, const AVFrame& src) {
std::memcpy(dst, src.data[0], src.width * src.height);
std::memcpy(dst + src.width * src.height, src.data[1], (src.width * src.height) / 2);
}
bool AvPlayerSource::GetVideoData(SceAvPlayerFrameInfoEx& video_info) {
if (!IsActive()) {
return false;
@ -493,13 +490,17 @@ AvPlayerSource::AVFramePtr AvPlayerSource::ConvertVideoFrame(const AVFrame& fram
nv12_frame->width = frame.width;
nv12_frame->height = frame.height;
nv12_frame->sample_aspect_ratio = frame.sample_aspect_ratio;
nv12_frame->crop_top = frame.crop_top;
nv12_frame->crop_bottom = frame.crop_bottom;
nv12_frame->crop_left = frame.crop_left;
nv12_frame->crop_right = frame.crop_right;
av_frame_get_buffer(nv12_frame.get(), 0);
if (m_sws_context == nullptr) {
m_sws_context =
SWSContextPtr(sws_getContext(frame.width, frame.height, AVPixelFormat(frame.format),
frame.width, frame.height, AV_PIX_FMT_NV12,
nv12_frame->width, nv12_frame->height, AV_PIX_FMT_NV12,
SWS_FAST_BILINEAR, nullptr, nullptr, nullptr),
&ReleaseSWSContext);
}
@ -512,6 +513,26 @@ AvPlayerSource::AVFramePtr AvPlayerSource::ConvertVideoFrame(const AVFrame& fram
return nv12_frame;
}
static void CopyNV12Data(u8* dst, const AVFrame& src) {
const auto width = Common::AlignUp(u32(src.width), 16);
const auto height = Common::AlignUp(u32(src.height), 16);
if (src.width == width) {
std::memcpy(dst, src.data[0], src.width * src.height);
std::memcpy(dst + src.width * height, src.data[1], (src.width * src.height) / 2);
} else {
const auto luma_dst = dst;
for (u32 y = 0; y < src.height; ++y) {
std::memcpy(luma_dst + y * width, src.data[0] + y * src.width, src.width);
}
const auto chroma_dst = dst + width * height;
for (u32 y = 0; y < src.height / 2; ++y) {
std::memcpy(chroma_dst + y * (width / 2), src.data[0] + y * (src.width / 2),
src.width / 2);
}
}
}
Frame AvPlayerSource::PrepareVideoFrame(FrameBuffer buffer, const AVFrame& frame) {
ASSERT(frame.format == AV_PIX_FMT_NV12);
@ -525,6 +546,9 @@ Frame AvPlayerSource::PrepareVideoFrame(FrameBuffer buffer, const AVFrame& frame
const auto num = time_base.num;
const auto timestamp = (num != 0 && den > 1) ? (pkt_dts * num) / den : pkt_dts;
const auto width = Common::AlignUp(u32(frame.width), 16);
const auto height = Common::AlignUp(u32(frame.height), 16);
return Frame{
.buffer = std::move(buffer),
.info =
@ -535,9 +559,14 @@ Frame AvPlayerSource::PrepareVideoFrame(FrameBuffer buffer, const AVFrame& frame
{
.video =
{
.width = u32(frame.width),
.height = u32(frame.height),
.width = u32(width),
.height = u32(height),
.aspect_ratio = AVRationalToF32(frame.sample_aspect_ratio),
.crop_left_offset = u32(frame.crop_left),
.crop_right_offset = u32(frame.crop_right + (width - frame.width)),
.crop_top_offset = u32(frame.crop_top),
.crop_bottom_offset =
u32(frame.crop_bottom + (height - frame.height)),
.pitch = u32(frame.linesize[0]),
.luma_bit_depth = 8,
.chroma_bit_depth = 8,

View File

@ -222,8 +222,11 @@ bool AvPlayerState::Stop() {
if (!SetState(AvState::Stop)) {
return false;
}
if (!m_up_source->Stop()) {
return false;
}
OnPlaybackStateChanged(AvState::Stop);
return m_up_source->Stop();
return true;
}
bool AvPlayerState::GetVideoData(SceAvPlayerFrameInfo& video_info) {

View File

@ -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<PM4ItOpcode::Nop>(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_left>(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<PM4ItOpcode::Nop>(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<PM4ItOpcode::Nop>(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

View File

@ -538,7 +538,7 @@ void fileSystemSymbolsRegister(Core::Loader::SymbolsResolver* sym) {
// openOrbis (to check if it is valid out of OpenOrbis
LIB_FUNCTION("6c3rCVE-fTU", "libkernel", 1, "libkernel", 1, 1,
posix_open); // _open shoudld be equal to open function
posix_open); // _open should be equal to open function
}
} // namespace Libraries::Kernel

View File

@ -75,19 +75,28 @@ s32 PS4_SYSV_ABI sceKernelAvailableDirectMemorySize(u64 searchStart, u64 searchE
LOG_WARNING(Kernel_Vmm, "called searchStart = {:#x}, searchEnd = {:#x}, alignment = {:#x}",
searchStart, searchEnd, alignment);
if (searchEnd <= searchStart) {
if (physAddrOut == nullptr || sizeOut == nullptr) {
return ORBIS_KERNEL_ERROR_EINVAL;
}
if (searchEnd > SCE_KERNEL_MAIN_DMEM_SIZE) {
return ORBIS_KERNEL_ERROR_EINVAL;
}
if (searchEnd <= searchStart) {
return ORBIS_KERNEL_ERROR_ENOMEM;
}
auto* memory = Core::Memory::Instance();
PAddr physAddr;
s32 result =
memory->DirectQueryAvailable(searchStart, searchEnd, alignment, &physAddr, sizeOut);
PAddr physAddr{};
size_t size{};
s32 result = memory->DirectQueryAvailable(searchStart, searchEnd, alignment, &physAddr, &size);
if (size == 0) {
return ORBIS_KERNEL_ERROR_ENOMEM;
}
*physAddrOut = static_cast<u64>(physAddr);
*sizeOut = size;
return result;
}

View File

@ -6,7 +6,7 @@
#include "common/bit_field.h"
#include "common/types.h"
constexpr u64 SCE_KERNEL_MAIN_DMEM_SIZE = 6_GB; // ~ 6GB
constexpr u64 SCE_KERNEL_MAIN_DMEM_SIZE = 4608_MB; // ~ 4.5GB
namespace Libraries::Kernel {

View File

@ -1123,7 +1123,6 @@ int PS4_SYSV_ABI posix_pthread_join(ScePthread thread, void** res) {
}
int PS4_SYSV_ABI scePthreadDetach(ScePthread thread) {
LOG_INFO(Kernel_Pthread, "thread create name = {}", thread->name);
thread->is_detached = true;
return ORBIS_OK;
}

View File

@ -3,6 +3,7 @@
#include <thread>
#include "common/assert.h"
#include "common/debug.h"
#include "common/native_clock.h"
#include "core/libraries/error_codes.h"
#include "core/libraries/kernel/time_management.h"
@ -30,7 +31,8 @@ u64 PS4_SYSV_ABI sceKernelGetTscFrequency() {
}
u64 PS4_SYSV_ABI sceKernelGetProcessTime() {
return clock->GetProcessTimeUS();
// TODO: this timer should support suspends, so initial ptc needs to be updated on wake up
return clock->GetTimeUS(initial_ptc);
}
u64 PS4_SYSV_ABI sceKernelGetProcessTimeCounter() {

View File

@ -516,9 +516,12 @@ s32 saveDataMount(u32 user_id, char* dir_name, u32 mount_mode,
mount_result->mount_status = 1;
}
} break;
case ORBIS_SAVE_DATA_MOUNT_MODE_CREATE2:
case ORBIS_SAVE_DATA_MOUNT_MODE_CREATE2 | ORBIS_SAVE_DATA_MOUNT_MODE_RDWR:
case ORBIS_SAVE_DATA_MOUNT_MODE_CREATE2 | ORBIS_SAVE_DATA_MOUNT_MODE_RDWR |
ORBIS_SAVE_DATA_MOUNT_MODE_COPY_ICON: {
ORBIS_SAVE_DATA_MOUNT_MODE_COPY_ICON:
case ORBIS_SAVE_DATA_MOUNT_MODE_CREATE2 | ORBIS_SAVE_DATA_MOUNT_MODE_RDWR |
ORBIS_SAVE_DATA_MOUNT_MODE_DESTRUCT_OFF | ORBIS_SAVE_DATA_MOUNT_MODE_COPY_ICON: {
if (!std::filesystem::exists(mount_dir)) {
std::filesystem::create_directories(mount_dir);
}

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include <pthread.h>
@ -96,7 +96,7 @@ int VideoOutDriver::RegisterBuffers(VideoOutPort* port, s32 startIndex, void* co
}
if (attribute->reserved0 != 0 || attribute->reserved1 != 0) {
LOG_ERROR(Lib_VideoOut, "Invalid reserved memebers");
LOG_ERROR(Lib_VideoOut, "Invalid reserved members");
return ORBIS_VIDEO_OUT_ERROR_INVALID_VALUE;
}
if (attribute->aspect_ratio != 0) {
@ -252,8 +252,8 @@ void VideoOutDriver::SubmitFlipInternal(VideoOutPort* port, s32 index, s64 flip_
requests.push({
.frame = frame,
.port = port,
.index = index,
.flip_arg = flip_arg,
.index = index,
.eop = is_eop,
});
}

View File

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
@ -92,8 +92,8 @@ private:
struct Request {
Vulkan::Frame* frame;
VideoOutPort* port;
s32 index;
s64 flip_arg;
s32 index;
bool eop;
operator bool() const noexcept {

View File

@ -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;
}

View File

@ -168,7 +168,7 @@ void Linker::Relocate(Module* module) {
auto sym_bind = sym.GetBind();
auto sym_type = sym.GetType();
auto sym_visibility = sym.GetVisibility();
u64 symbol_vitrual_addr = 0;
u64 symbol_virtual_addr = 0;
Loader::SymbolRecord symrec{};
switch (sym_type) {
case STT_FUN:
@ -185,12 +185,12 @@ void Linker::Relocate(Module* module) {
}
if (sym_visibility != 0) {
LOG_INFO(Core_Linker, "symbol visilibity !=0");
LOG_INFO(Core_Linker, "symbol visibility !=0");
}
switch (sym_bind) {
case STB_LOCAL:
symbol_vitrual_addr = rel_base_virtual_addr + sym.st_value;
symbol_virtual_addr = rel_base_virtual_addr + sym.st_value;
module->SetRelaBit(bit_idx);
break;
case STB_GLOBAL:
@ -200,14 +200,14 @@ void Linker::Relocate(Module* module) {
// Only set the rela bit if the symbol was actually resolved and not stubbed.
module->SetRelaBit(bit_idx);
}
symbol_vitrual_addr = symrec.virtual_address;
symbol_virtual_addr = symrec.virtual_address;
break;
}
default:
ASSERT_MSG(0, "unknown bind type {}", sym_bind);
}
rel_is_resolved = (symbol_vitrual_addr != 0);
rel_value = (rel_is_resolved ? symbol_vitrual_addr + addend : 0);
rel_is_resolved = (symbol_virtual_addr != 0);
rel_value = (rel_is_resolved ? symbol_virtual_addr + addend : 0);
rel_name = symrec.name;
break;
}

View File

@ -328,6 +328,11 @@ int MemoryManager::DirectQueryAvailable(PAddr search_start, PAddr search_end, si
PAddr paddr{};
size_t max_size{};
while (dmem_area != dmem_map.end() && dmem_area->second.GetEnd() <= search_end) {
if (!dmem_area->second.is_free) {
dmem_area++;
continue;
}
if (dmem_area->second.size > max_size) {
paddr = dmem_area->second.base;
max_size = dmem_area->second.size;
@ -344,7 +349,7 @@ void MemoryManager::NameVirtualRange(VAddr virtual_addr, size_t size, std::strin
auto it = FindVMA(virtual_addr);
ASSERT_MSG(it->second.Contains(virtual_addr, size),
"Range provided is not fully containted in vma");
"Range provided is not fully contained in vma");
it->second.name = name;
}
VAddr MemoryManager::SearchFree(VAddr virtual_addr, size_t size, u32 alignment) {

View File

@ -1,8 +1,6 @@
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include <QHeaderView>
#include "elf_viewer.h"
ElfViewer::ElfViewer(QWidget* parent) : QTableWidget(parent) {

View File

@ -3,17 +3,7 @@
#pragma once
#include <ranges>
#include <QApplication>
#include <QFileDialog>
#include <QMainWindow>
#include <QMenuBar>
#include <QScrollBar>
#include <QTableWidget>
#include <QTextEdit>
#include <QTreeView>
#include <QVBoxLayout>
#include <QWidget>
#include "core/loader/elf.h"
#include "game_list_frame.h"

View File

@ -3,17 +3,7 @@
#pragma once
#include <QFutureWatcher>
#include <QGraphicsBlurEffect>
#include <QHeaderView>
#include <QLabel>
#include <QPixmap>
#include <QScrollBar>
#include <QStyleOptionViewItem>
#include <QTableWidget>
#include <QVBoxLayout>
#include <QWidget>
#include <QtConcurrent/QtConcurrent>
#include "common/config.h"
#include "game_info.h"

View File

@ -1,10 +1,7 @@
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include <future>
#include <thread>
#include <QProgressDialog>
#include <QtConcurrent/QtConcurrent>
#include "game_info.h"
@ -26,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<void> futureWatcher;
GameListUtils game_util;

View File

@ -3,10 +3,8 @@
#pragma once
#include <QFuture>
#include <QObject>
#include <QPixmap>
#include <QtConcurrent/QtConcurrent>
#include <QFutureWatcher>
#include <QtConcurrent>
#include "common/config.h"
#include "core/file_format/psf.h"

View File

@ -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;
}

View File

@ -3,19 +3,7 @@
#pragma once
#include <QFutureWatcher>
#include <QGraphicsBlurEffect>
#include <QHeaderView>
#include <QLabel>
#include <QMainWindow>
#include <QPixmap>
#include <QScrollBar>
#include <QStyleOptionViewItem>
#include <QTableWidget>
#include <QTableWidgetItem>
#include <QVBoxLayout>
#include <QWidget>
#include <QtConcurrent/QtConcurrent>
#include "game_info.h"
#include "game_list_utils.h"

View File

@ -3,13 +3,8 @@
#pragma once
#include <QDir>
#include <QDirIterator>
#include <QImage>
#include <QString>
struct GameInfo {
std::string path; // root path of game directory (normaly directory that contains eboot.bin)
std::string path; // root path of game directory (normally directory that contains eboot.bin)
std::string icon_path; // path of icon0.png
std::string pic_path; // path of pic1.png
QImage icon;

View File

@ -4,17 +4,9 @@
#pragma once
#include <QClipboard>
#include <QCoreApplication>
#include <QDesktopServices>
#include <QFile>
#include <QHeaderView>
#include <QImage>
#include <QMenu>
#include <QMessageBox>
#include <QPixmap>
#include <QStandardPaths>
#include <QTableWidget>
#include <QTextStream>
#include <QTreeWidget>
#include <QTreeWidgetItem>
@ -51,11 +43,11 @@ public:
// Setup menu.
QMenu menu(widget);
QAction createShortcut("Create Shortcut", widget);
QAction openFolder("Open Game Folder", widget);
QAction openCheats("Cheats/Patches", 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 openCheats(tr("Cheats/Patches"), widget);
QAction openSfoViewer(tr("SFO Viewer"), widget);
QAction openTrophyViewer(tr("Trophy Viewer"), widget);
menu.addAction(&openFolder);
menu.addAction(&createShortcut);
@ -64,10 +56,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);
@ -93,7 +85,7 @@ public:
QTableWidget* tableWidget = new QTableWidget(rows, 2);
tableWidget->setAttribute(Qt::WA_DeleteOnClose);
connect(widget->parent(), &QWidget::destroyed, tableWidget,
[widget, tableWidget]() { tableWidget->deleteLater(); });
[tableWidget]() { tableWidget->deleteLater(); });
tableWidget->verticalHeader()->setVisible(false); // Hide vertical header
int row = 0;
@ -133,7 +125,7 @@ public:
tableWidget->horizontalHeader()->setVisible(false);
tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Fixed);
tableWidget->setWindowTitle("SFO Viewer");
tableWidget->setWindowTitle(tr("SFO Viewer"));
tableWidget->show();
}
}
@ -157,7 +149,7 @@ public:
TrophyViewer* trophyViewer = new TrophyViewer(trophyPath, gameTrpPath);
trophyViewer->show();
connect(widget->parent(), &QWidget::destroyed, trophyViewer,
[widget, trophyViewer]() { trophyViewer->deleteLater(); });
[trophyViewer]() { trophyViewer->deleteLater(); });
}
if (selected == &createShortcut) {
@ -200,15 +192,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
@ -218,11 +210,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));
}
}
}
@ -279,7 +272,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);

View File

@ -1,14 +1,11 @@
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include <QtWidgets/QApplication>
#include <fmt/core.h>
#include "common/config.h"
#include "core/file_sys/fs.h"
#include "emulator.h"
#include "qt_gui/game_install_dialog.h"
#include "qt_gui/main_window.h"
#include "game_install_dialog.h"
#include "main_window.h"
// Custom message handler to ignore Qt logs
void customMessageHandler(QtMsgType, const QMessageLogContext&, const QString&) {}

View File

@ -1,13 +1,8 @@
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include <QDir>
#include <QDockWidget>
#include <QFileDialog>
#include <QMessageBox>
#include <QProgressDialog>
#include <QStatusBar>
#include <QtConcurrent>
#include "about_dialog.h"
#include "cheats_patches.h"
@ -43,6 +38,7 @@ bool MainWindow::Init() {
SetLastUsedTheme();
SetLastIconSizeBullet();
GetPhysicalDevices();
LoadTranslation();
// show ui
setMinimumSize(350, minimumSizeHint().height());
setWindowTitle(QString::fromStdString("shadPS4 v" + std::string(Common::VERSION)));
@ -121,7 +117,7 @@ void MainWindow::CreateDockWindows() {
m_elf_viewer->hide();
m_game_list_frame->show();
m_dock_widget->setWidget(m_game_list_frame.data());
slider_pos = Config::getSliderPositon();
slider_pos = Config::getSliderPosition();
ui->sizeSlider->setSliderPosition(slider_pos); // set slider pos at start;
isTableList = true;
} else if (table_mode == 1) { // Grid
@ -129,7 +125,7 @@ void MainWindow::CreateDockWindows() {
m_elf_viewer->hide();
m_game_grid_frame->show();
m_dock_widget->setWidget(m_game_grid_frame.data());
slider_pos = Config::getSliderPositonGrid();
slider_pos = Config::getSliderPositionGrid();
ui->sizeSlider->setSliderPosition(slider_pos); // set slider pos at start;
isTableList = false;
} else {
@ -189,12 +185,12 @@ void MainWindow::CreateConnects() {
36 + value; // 36 is the minimum icon size to use due to text disappearing.
m_game_list_frame->ResizeIcons(36 + value);
Config::setIconSize(36 + value);
Config::setSliderPositon(value);
Config::setSliderPosition(value);
} else {
m_game_grid_frame->icon_size = 69 + value;
m_game_grid_frame->PopulateGameGrid(m_game_info->m_games, false);
Config::setIconSizeGrid(69 + value);
Config::setSliderPositonGrid(value);
Config::setSliderPositionGrid(value);
}
});
@ -206,11 +202,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();
});
@ -225,11 +229,11 @@ void MainWindow::CreateConnects() {
36; // 36 is the minimum icon size to use due to text disappearing.
ui->sizeSlider->setValue(0); // icone_size - 36
Config::setIconSize(36);
Config::setSliderPositon(0);
Config::setSliderPosition(0);
} else {
ui->sizeSlider->setValue(0); // icone_size - 36
Config::setIconSizeGrid(69);
Config::setSliderPositonGrid(0);
Config::setSliderPositionGrid(0);
}
});
@ -238,11 +242,11 @@ void MainWindow::CreateConnects() {
m_game_list_frame->icon_size = 64;
ui->sizeSlider->setValue(28);
Config::setIconSize(64);
Config::setSliderPositon(28);
Config::setSliderPosition(28);
} else {
ui->sizeSlider->setValue(28);
Config::setIconSizeGrid(97);
Config::setSliderPositonGrid(28);
Config::setSliderPositionGrid(28);
}
});
@ -251,11 +255,11 @@ void MainWindow::CreateConnects() {
m_game_list_frame->icon_size = 128;
ui->sizeSlider->setValue(92);
Config::setIconSize(128);
Config::setSliderPositon(92);
Config::setSliderPosition(92);
} else {
ui->sizeSlider->setValue(92);
Config::setIconSizeGrid(160);
Config::setSliderPositonGrid(91);
Config::setSliderPositionGrid(91);
}
});
@ -264,11 +268,11 @@ void MainWindow::CreateConnects() {
m_game_list_frame->icon_size = 256;
ui->sizeSlider->setValue(220);
Config::setIconSize(256);
Config::setSliderPositon(220);
Config::setSliderPosition(220);
} else {
ui->sizeSlider->setValue(220);
Config::setIconSizeGrid(256);
Config::setSliderPositonGrid(220);
Config::setSliderPositionGrid(220);
}
});
// List
@ -283,7 +287,7 @@ void MainWindow::CreateConnects() {
}
isTableList = true;
Config::setTableMode(0);
int slider_pos = Config::getSliderPositon();
int slider_pos = Config::getSliderPosition();
ui->sizeSlider->setEnabled(true);
ui->sizeSlider->setSliderPosition(slider_pos);
});
@ -299,7 +303,7 @@ void MainWindow::CreateConnects() {
}
isTableList = false;
Config::setTableMode(1);
int slider_pos_grid = Config::getSliderPositonGrid();
int slider_pos_grid = Config::getSliderPositionGrid();
ui->sizeSlider->setEnabled(true);
ui->sizeSlider->setSliderPosition(slider_pos_grid);
});
@ -802,3 +806,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();
}

View File

@ -3,13 +3,9 @@
#pragma once
#include <QAbstractButton>
#include <QActionGroup>
#include <QDragEnterEvent>
#include <QMainWindow>
#include <QMimeData>
#include <QScopedPointer>
#include <fmt/core.h>
#include <QTranslator>
#include "cheats_patches_management.h"
#include "common/config.h"
@ -49,6 +45,7 @@ private Q_SLOTS:
void ShowGameList();
void RefreshGameTable();
void HandleResize(QResizeEvent* event);
void OnLanguageChanged(const std::string& locale);
private:
Ui_MainWindow* ui;
@ -65,6 +62,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;
@ -92,6 +90,8 @@ private:
// Cheats/Patches Management.
QVBoxLayout* patchesRightLayout;
QTranslator* translator;
protected:
void dragEnterEvent(QDragEnterEvent* event1) override {
if (event1->mimeData()->hasUrls()) {

View File

@ -1,29 +1,11 @@
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
/********************************************************************************
** Form generated from reading UI file 'main_window.ui'
**
** Created by: Qt User Interface Compiler version 6.6.1
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
#pragma once
#ifndef MAIN_WINDOW_UI_H
#define MAIN_WINDOW_UI_H
#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtWidgets/QApplication>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QLineEdit>
#include <QtWidgets/QMainWindow>
#include <QtWidgets/QMenu>
#include <QtWidgets/QMenuBar>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QSlider>
#include <QtWidgets/QToolBar>
#include <QtWidgets/QWidget>
#include <QMenuBar>
#include <QPushButton>
#include <QToolBar>
QT_BEGIN_NAMESPACE
@ -375,5 +357,3 @@ class MainWindow : public Ui_MainWindow {};
} // namespace Ui
QT_END_NAMESPACE
#endif // MAIN_WINDOW_UI_H

View File

@ -1,9 +1,6 @@
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include <QHeaderView>
#include <QWidget>
#include "pkg_viewer.h"
PKGViewer::PKGViewer(std::shared_ptr<GameInfoClass> game_info_get, QWidget* parent,
@ -54,7 +51,7 @@ PKGViewer::PKGViewer(std::shared_ptr<GameInfoClass> game_info_get, QWidget* pare
InstallDragDropPkg);
});
connect(parent, &QWidget::destroyed, this, [parent, this]() { this->deleteLater(); });
connect(parent, &QWidget::destroyed, this, [this]() { this->deleteLater(); });
}
PKGViewer::~PKGViewer() {}

View File

@ -3,18 +3,9 @@
#pragma once
#include <filesystem>
#include <string>
#include <unordered_map>
#include <vector>
#include <QFileDialog>
#include <QMainWindow>
#include <QMenu>
#include <QMenuBar>
#include <QStatusBar>
#include <QTreeWidget>
#include <QTreeWidgetItem>
#include <QtConcurrent/QtConcurrent>
#include "common/io_file.h"
#include "core/file_format/pkg.h"

View File

@ -2,6 +2,9 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#include <QCompleter>
#include <QDirIterator>
#include "main_window.h"
#include "settings_dialog.h"
#include "ui_settings_dialog.h"
@ -59,6 +62,7 @@ SettingsDialog::SettingsDialog(std::span<const QString> physical_devices, QWidge
completer->setCaseSensitivity(Qt::CaseInsensitive);
ui->consoleLanguageComboBox->setCompleter(completer);
InitializeEmulatorLanguages();
LoadValuesFromConfig();
connect(ui->buttonBox, &QDialogButtonBox::rejected, this, &QWidget::close);
@ -86,7 +90,7 @@ SettingsDialog::SettingsDialog(std::span<const QString> physical_devices, QWidge
[](const QString& text) { Config::setUserName(text.toStdString()); });
connect(ui->consoleLanguageComboBox, QOverload<int>::of(&QComboBox::currentIndexChanged),
this, [this](int index) {
this, [](int index) {
if (index >= 0 && index < languageIndexes.size()) {
int languageCode = languageIndexes[index];
Config::setLanguage(languageCode);
@ -157,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());
@ -178,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<int>(&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();
}

View File

@ -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::SettingsDialog> ui;
std::map<std::string, int> languages;
};

View File

@ -79,32 +79,6 @@
<string>System</string>
</property>
<layout class="QVBoxLayout" name="emuSettingsLayout">
<item>
<layout class="QVBoxLayout" name="vLayoutUserName">
<property name="spacing">
<number>6</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<item>
<layout class="QHBoxLayout" name="hLayoutUserName">
<item>
<widget class="QGroupBox" name="userName">
<property name="title">
<string>Username</string>
</property>
<layout class="QVBoxLayout" name="userNameLayout">
<item>
<widget class="QLineEdit" name="userNameLineEdit"/>
</item>
</layout>
</widget>
</item>
</layout>
</item>
</layout>
</item>
<item>
<widget class="QGroupBox" name="consoleLanguageGroupBox">
<property name="title">
@ -117,6 +91,18 @@
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="emulatorLanguageGroupBox">
<property name="title">
<string>Emulator Language</string>
</property>
<layout class="QVBoxLayout" name="langSettingsLayout">
<item>
<widget class="QComboBox" name="emulatorLanguageComboBox"/>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
@ -156,17 +142,30 @@
</layout>
</item>
<item>
<spacer name="emulatorSpacer">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
<layout class="QVBoxLayout" name="vLayoutUserName">
<property name="spacing">
<number>6</number>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
<property name="leftMargin">
<number>0</number>
</property>
</spacer>
<item>
<layout class="QHBoxLayout" name="hLayoutUserName">
<item>
<widget class="QGroupBox" name="userName">
<property name="title">
<string>Username</string>
</property>
<layout class="QVBoxLayout" name="userNameLayout">
<item>
<widget class="QLineEdit" name="userNameLineEdit"/>
</item>
</layout>
</widget>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</widget>

View File

@ -0,0 +1,491 @@
<?xml version="1.0" ?><!DOCTYPE TS><TS version="2.1" language="da_DK">
<!-- SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
SPDX-License-Identifier: GPL-2.0-or-later -->
<context>
<name>AboutDialog</name>
<message>
<location filename="../about_dialog.ui" line="16"/>
<source>About shadPS4</source>
<translation>About shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="60"/>
<source>shadPS4</source>
<translation>shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="78"/>
<source>shadPS4 is an experimental open-source emulator for the PlayStation 4.</source>
<translation>shadPS4 is an experimental open-source emulator for the PlayStation 4.</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="99"/>
<source>This software should not be used to play games you have not legally obtained.</source>
<translation>This software should not be used to play games you have not legally obtained.</translation>
</message>
</context>
<context>
<name>ElfViewer</name>
<message>
<location filename="../elf_viewer.cpp" line="45"/>
<source>Open Folder</source>
<translation>Open Folder</translation>
</message>
</context>
<context>
<name>GameInfoClass</name>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Loading game list, please wait :3</source>
<translation>Loading game list, please wait :3</translation>
</message>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Cancel</source>
<translation>Cancel</translation>
</message>
<message>
<location filename="../game_info.cpp" line="27"/>
<source>Loading...</source>
<translation>Loading...</translation>
</message>
</context>
<context>
<name>GameInstallDialog</name>
<message>
<location filename="../game_install_dialog.cpp" line="24"/>
<source>shadPS4 - Choose directory</source>
<translation>shadPS4 - Choose directory</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="31"/>
<source>Directory to install games</source>
<translation>Directory to install games</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="50"/>
<source>Browse</source>
<translation>Browse</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="74"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="75"/>
<source>The value for location to install games is not valid.</source>
<translation>The value for location to install games is not valid.</translation>
</message>
</context>
<context>
<name>GuiContextMenus</name>
<message>
<location filename="../gui_context_menus.h" line="39"/>
<source>Create Shortcut</source>
<translation>Create Shortcut</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="40"/>
<source>Open Game Folder</source>
<translation>Open Game Folder</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="41"/>
<source>SFO Viewer</source>
<translation>SFO Viewer</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="42"/>
<source>Trophy Viewer</source>
<translation>Trophy Viewer</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="50"/>
<source>Copy info</source>
<translation>Copy info</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="51"/>
<source>Copy Name</source>
<translation>Copy Name</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="52"/>
<source>Copy Serial</source>
<translation>Copy Serial</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="53"/>
<source>Copy All</source>
<translation>Copy All</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="173"/>
<source>Shortcut creation</source>
<translation>Shortcut creation</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="174"/>
<source>Shortcut created successfully!\n %1</source>
<translation>Shortcut created successfully!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="177"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="178"/>
<source>Error creating shortcut!\n %1</source>
<translation>Error creating shortcut!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="253"/>
<source>Install PKG</source>
<translation>Install PKG</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../main_window_ui.h" line="310"/>
<source>Open/Add Elf Folder</source>
<translation>Open/Add Elf Folder</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="312"/>
<source>Install Packages (PKG)</source>
<translation>Install Packages (PKG)</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="313"/>
<source>Boot Game</source>
<translation>Boot Game</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="314"/>
<source>About shadPS4</source>
<translation>About shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="315"/>
<source>Configure...</source>
<translation>Configure...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="318"/>
<source>Install application from a .pkg file</source>
<translation>Install application from a .pkg file</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="320"/>
<source>Recent Games</source>
<translation>Recent Games</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="321"/>
<source>Exit</source>
<translation>Exit</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="323"/>
<source>Exit shadPS4</source>
<translation>Exit shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="327"/>
<source>Exit the application.</source>
<translation>Exit the application.</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="330"/>
<source>Show Game List</source>
<translation>Show Game List</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="332"/>
<source>Game List Refresh</source>
<translation>Game List Refresh</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="333"/>
<source>Tiny</source>
<translation>Tiny</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="334"/>
<source>Small</source>
<translation>Small</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="335"/>
<source>Medium</source>
<translation>Medium</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="336"/>
<source>Large</source>
<translation>Large</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="338"/>
<source>List View</source>
<translation>List View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="340"/>
<source>Grid View</source>
<translation>Grid View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="341"/>
<source>Elf Viewer</source>
<translation>Elf Viewer</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="343"/>
<source>Game Install Directory</source>
<translation>Game Install Directory</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="345"/>
<source>Dump Game List</source>
<translation>Dump Game List</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="346"/>
<source>PKG Viewer</source>
<translation>PKG Viewer</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="348"/>
<source>Search...</source>
<translation>Search...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="349"/>
<source>File</source>
<translation>File</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="350"/>
<source>View</source>
<translation>View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="352"/>
<source>Game List Icons</source>
<translation>Game List Icons</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="354"/>
<source>Game List Mode</source>
<translation>Game List Mode</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="355"/>
<source>Settings</source>
<translation>Settings</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="356"/>
<source>Utils</source>
<translation>Utils</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="357"/>
<source>Themes</source>
<translation>Themes</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="358"/>
<source>About</source>
<translation>About</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="359"/>
<source>Dark</source>
<translation>Dark</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="360"/>
<source>Light</source>
<translation>Light</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="361"/>
<source>Green</source>
<translation>Green</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="362"/>
<source>Blue</source>
<translation>Blue</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="363"/>
<source>Violet</source>
<translation>Violet</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="364"/>
<source>toolBar</source>
<translation>toolBar</translation>
</message>
</context>
<context>
<name>PKGViewer</name>
<message>
<location filename="../pkg_viewer.cpp" line="32"/>
<source>Open Folder</source>
<translation>Open Folder</translation>
</message>
</context>
<context>
<name>TrophyViewer</name>
<message>
<location filename="../trophy_viewer.cpp" line="8"/>
<source>Trophy Viewer</source>
<translation>Trophy Viewer</translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<location filename="../settings_dialog.ui" line="29"/>
<source>Settings</source>
<translation>Settings</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="67"/>
<source>General</source>
<translation>General</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="77"/>
<source>System</source>
<translation>System</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="83"/>
<source>Console Language</source>
<translation>Console Language</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="95"/>
<source>Emulator Language</source>
<translation>Emulator Language</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="114"/>
<source>Emulator</source>
<translation>Emulator</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="122"/>
<source>Enable Fullscreen</source>
<translation>Enable Fullscreen</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="129"/>
<source>Show Splash</source>
<translation>Show Splash</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="136"/>
<source>Is PS4 Pro</source>
<translation>Is PS4 Pro</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="155"/>
<source>Username</source>
<translation>Username</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="178"/>
<source>Logger</source>
<translation>Logger</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="199"/>
<source>Log Type</source>
<translation>Log Type</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="235"/>
<source>Log Filter</source>
<translation>Log Filter</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="272"/>
<source>Graphics</source>
<translation>Graphics</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="282"/>
<source>Graphics Device</source>
<translation>Graphics Device</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="326"/>
<source>Width</source>
<translation>Width</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="357"/>
<source>Height</source>
<translation>Height</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="405"/>
<source>Vblank Divider</source>
<translation>Vblank Divider</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="453"/>
<source>Advanced</source>
<translation>Advanced</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="462"/>
<source>Enable Shaders Dumping</source>
<translation>Enable Shaders Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="469"/>
<source>Enable NULL GPU</source>
<translation>Enable NULL GPU</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="476"/>
<source>Enable PM4 Dumping</source>
<translation>Enable PM4 Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="517"/>
<source>Debug</source>
<translation>Debug</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="537"/>
<source>Enable Debug Dumping</source>
<translation>Enable Debug Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="560"/>
<source>Enable Vulkan Validation Layers</source>
<translation>Enable Vulkan Validation Layers</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="567"/>
<source>Enable Vulkan Synchronization Validation</source>
<translation>Enable Vulkan Synchronization Validation</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="574"/>
<source>Enable RenderDoc Debugging</source>
<translation>Enable RenderDoc Debugging</translation>
</message>
</context>
</TS>

View File

@ -0,0 +1,491 @@
<?xml version="1.0" ?><!DOCTYPE TS><TS version="2.1" language="de">
<!-- SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
SPDX-License-Identifier: GPL-2.0-or-later -->
<context>
<name>AboutDialog</name>
<message>
<location filename="../about_dialog.ui" line="16"/>
<source>About shadPS4</source>
<translation>About shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="60"/>
<source>shadPS4</source>
<translation>shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="78"/>
<source>shadPS4 is an experimental open-source emulator for the PlayStation 4.</source>
<translation>shadPS4 is an experimental open-source emulator for the PlayStation 4.</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="99"/>
<source>This software should not be used to play games you have not legally obtained.</source>
<translation>This software should not be used to play games you have not legally obtained.</translation>
</message>
</context>
<context>
<name>ElfViewer</name>
<message>
<location filename="../elf_viewer.cpp" line="45"/>
<source>Open Folder</source>
<translation>Open Folder</translation>
</message>
</context>
<context>
<name>GameInfoClass</name>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Loading game list, please wait :3</source>
<translation>Loading game list, please wait :3</translation>
</message>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Cancel</source>
<translation>Cancel</translation>
</message>
<message>
<location filename="../game_info.cpp" line="27"/>
<source>Loading...</source>
<translation>Loading...</translation>
</message>
</context>
<context>
<name>GameInstallDialog</name>
<message>
<location filename="../game_install_dialog.cpp" line="24"/>
<source>shadPS4 - Choose directory</source>
<translation>shadPS4 - Choose directory</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="31"/>
<source>Directory to install games</source>
<translation>Directory to install games</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="50"/>
<source>Browse</source>
<translation>Browse</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="74"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="75"/>
<source>The value for location to install games is not valid.</source>
<translation>The value for location to install games is not valid.</translation>
</message>
</context>
<context>
<name>GuiContextMenus</name>
<message>
<location filename="../gui_context_menus.h" line="39"/>
<source>Create Shortcut</source>
<translation>Create Shortcut</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="40"/>
<source>Open Game Folder</source>
<translation>Open Game Folder</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="41"/>
<source>SFO Viewer</source>
<translation>SFO Viewer</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="42"/>
<source>Trophy Viewer</source>
<translation>Trophy Viewer</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="50"/>
<source>Copy info</source>
<translation>Copy info</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="51"/>
<source>Copy Name</source>
<translation>Copy Name</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="52"/>
<source>Copy Serial</source>
<translation>Copy Serial</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="53"/>
<source>Copy All</source>
<translation>Copy All</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="173"/>
<source>Shortcut creation</source>
<translation>Shortcut creation</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="174"/>
<source>Shortcut created successfully!\n %1</source>
<translation>Shortcut created successfully!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="177"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="178"/>
<source>Error creating shortcut!\n %1</source>
<translation>Error creating shortcut!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="253"/>
<source>Install PKG</source>
<translation>Install PKG</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../main_window_ui.h" line="310"/>
<source>Open/Add Elf Folder</source>
<translation>Open/Add Elf Folder</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="312"/>
<source>Install Packages (PKG)</source>
<translation>Install Packages (PKG)</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="313"/>
<source>Boot Game</source>
<translation>Boot Game</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="314"/>
<source>About shadPS4</source>
<translation>About shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="315"/>
<source>Configure...</source>
<translation>Configure...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="318"/>
<source>Install application from a .pkg file</source>
<translation>Install application from a .pkg file</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="320"/>
<source>Recent Games</source>
<translation>Recent Games</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="321"/>
<source>Exit</source>
<translation>Exit</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="323"/>
<source>Exit shadPS4</source>
<translation>Exit shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="327"/>
<source>Exit the application.</source>
<translation>Exit the application.</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="330"/>
<source>Show Game List</source>
<translation>Show Game List</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="332"/>
<source>Game List Refresh</source>
<translation>Game List Refresh</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="333"/>
<source>Tiny</source>
<translation>Tiny</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="334"/>
<source>Small</source>
<translation>Small</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="335"/>
<source>Medium</source>
<translation>Medium</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="336"/>
<source>Large</source>
<translation>Large</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="338"/>
<source>List View</source>
<translation>List View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="340"/>
<source>Grid View</source>
<translation>Grid View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="341"/>
<source>Elf Viewer</source>
<translation>Elf Viewer</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="343"/>
<source>Game Install Directory</source>
<translation>Game Install Directory</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="345"/>
<source>Dump Game List</source>
<translation>Dump Game List</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="346"/>
<source>PKG Viewer</source>
<translation>PKG Viewer</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="348"/>
<source>Search...</source>
<translation>Search...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="349"/>
<source>File</source>
<translation>File</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="350"/>
<source>View</source>
<translation>View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="352"/>
<source>Game List Icons</source>
<translation>Game List Icons</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="354"/>
<source>Game List Mode</source>
<translation>Game List Mode</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="355"/>
<source>Settings</source>
<translation>Settings</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="356"/>
<source>Utils</source>
<translation>Utils</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="357"/>
<source>Themes</source>
<translation>Themes</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="358"/>
<source>About</source>
<translation>About</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="359"/>
<source>Dark</source>
<translation>Dark</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="360"/>
<source>Light</source>
<translation>Light</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="361"/>
<source>Green</source>
<translation>Green</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="362"/>
<source>Blue</source>
<translation>Blue</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="363"/>
<source>Violet</source>
<translation>Violet</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="364"/>
<source>toolBar</source>
<translation>toolBar</translation>
</message>
</context>
<context>
<name>PKGViewer</name>
<message>
<location filename="../pkg_viewer.cpp" line="32"/>
<source>Open Folder</source>
<translation>Open Folder</translation>
</message>
</context>
<context>
<name>TrophyViewer</name>
<message>
<location filename="../trophy_viewer.cpp" line="8"/>
<source>Trophy Viewer</source>
<translation>Trophy Viewer</translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<location filename="../settings_dialog.ui" line="29"/>
<source>Settings</source>
<translation>Settings</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="67"/>
<source>General</source>
<translation>General</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="77"/>
<source>System</source>
<translation>System</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="83"/>
<source>Console Language</source>
<translation>Console Language</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="95"/>
<source>Emulator Language</source>
<translation>Emulator Language</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="114"/>
<source>Emulator</source>
<translation>Emulator</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="122"/>
<source>Enable Fullscreen</source>
<translation>Enable Fullscreen</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="129"/>
<source>Show Splash</source>
<translation>Show Splash</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="136"/>
<source>Is PS4 Pro</source>
<translation>Is PS4 Pro</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="155"/>
<source>Username</source>
<translation>Username</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="178"/>
<source>Logger</source>
<translation>Logger</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="199"/>
<source>Log Type</source>
<translation>Log Type</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="235"/>
<source>Log Filter</source>
<translation>Log Filter</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="272"/>
<source>Graphics</source>
<translation>Graphics</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="282"/>
<source>Graphics Device</source>
<translation>Graphics Device</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="326"/>
<source>Width</source>
<translation>Width</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="357"/>
<source>Height</source>
<translation>Height</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="405"/>
<source>Vblank Divider</source>
<translation>Vblank Divider</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="453"/>
<source>Advanced</source>
<translation>Advanced</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="462"/>
<source>Enable Shaders Dumping</source>
<translation>Enable Shaders Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="469"/>
<source>Enable NULL GPU</source>
<translation>Enable NULL GPU</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="476"/>
<source>Enable PM4 Dumping</source>
<translation>Enable PM4 Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="517"/>
<source>Debug</source>
<translation>Debug</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="537"/>
<source>Enable Debug Dumping</source>
<translation>Enable Debug Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="560"/>
<source>Enable Vulkan Validation Layers</source>
<translation>Enable Vulkan Validation Layers</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="567"/>
<source>Enable Vulkan Synchronization Validation</source>
<translation>Enable Vulkan Synchronization Validation</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="574"/>
<source>Enable RenderDoc Debugging</source>
<translation>Enable RenderDoc Debugging</translation>
</message>
</context>
</TS>

View File

@ -0,0 +1,491 @@
<?xml version="1.0" ?><!DOCTYPE TS><TS version="2.1" language="el">
<!-- SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
SPDX-License-Identifier: GPL-2.0-or-later -->
<context>
<name>AboutDialog</name>
<message>
<location filename="../about_dialog.ui" line="16"/>
<source>About shadPS4</source>
<translation>About shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="60"/>
<source>shadPS4</source>
<translation>shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="78"/>
<source>shadPS4 is an experimental open-source emulator for the PlayStation 4.</source>
<translation>shadPS4 is an experimental open-source emulator for the PlayStation 4.</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="99"/>
<source>This software should not be used to play games you have not legally obtained.</source>
<translation>This software should not be used to play games you have not legally obtained.</translation>
</message>
</context>
<context>
<name>ElfViewer</name>
<message>
<location filename="../elf_viewer.cpp" line="45"/>
<source>Open Folder</source>
<translation>Open Folder</translation>
</message>
</context>
<context>
<name>GameInfoClass</name>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Loading game list, please wait :3</source>
<translation>Loading game list, please wait :3</translation>
</message>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Cancel</source>
<translation>Cancel</translation>
</message>
<message>
<location filename="../game_info.cpp" line="27"/>
<source>Loading...</source>
<translation>Loading...</translation>
</message>
</context>
<context>
<name>GameInstallDialog</name>
<message>
<location filename="../game_install_dialog.cpp" line="24"/>
<source>shadPS4 - Choose directory</source>
<translation>shadPS4 - Choose directory</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="31"/>
<source>Directory to install games</source>
<translation>Directory to install games</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="50"/>
<source>Browse</source>
<translation>Browse</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="74"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="75"/>
<source>The value for location to install games is not valid.</source>
<translation>The value for location to install games is not valid.</translation>
</message>
</context>
<context>
<name>GuiContextMenus</name>
<message>
<location filename="../gui_context_menus.h" line="39"/>
<source>Create Shortcut</source>
<translation>Create Shortcut</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="40"/>
<source>Open Game Folder</source>
<translation>Open Game Folder</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="41"/>
<source>SFO Viewer</source>
<translation>SFO Viewer</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="42"/>
<source>Trophy Viewer</source>
<translation>Trophy Viewer</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="50"/>
<source>Copy info</source>
<translation>Copy info</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="51"/>
<source>Copy Name</source>
<translation>Copy Name</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="52"/>
<source>Copy Serial</source>
<translation>Copy Serial</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="53"/>
<source>Copy All</source>
<translation>Copy All</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="173"/>
<source>Shortcut creation</source>
<translation>Shortcut creation</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="174"/>
<source>Shortcut created successfully!\n %1</source>
<translation>Shortcut created successfully!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="177"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="178"/>
<source>Error creating shortcut!\n %1</source>
<translation>Error creating shortcut!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="253"/>
<source>Install PKG</source>
<translation>Install PKG</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../main_window_ui.h" line="310"/>
<source>Open/Add Elf Folder</source>
<translation>Open/Add Elf Folder</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="312"/>
<source>Install Packages (PKG)</source>
<translation>Install Packages (PKG)</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="313"/>
<source>Boot Game</source>
<translation>Boot Game</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="314"/>
<source>About shadPS4</source>
<translation>About shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="315"/>
<source>Configure...</source>
<translation>Configure...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="318"/>
<source>Install application from a .pkg file</source>
<translation>Install application from a .pkg file</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="320"/>
<source>Recent Games</source>
<translation>Recent Games</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="321"/>
<source>Exit</source>
<translation>Exit</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="323"/>
<source>Exit shadPS4</source>
<translation>Exit shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="327"/>
<source>Exit the application.</source>
<translation>Exit the application.</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="330"/>
<source>Show Game List</source>
<translation>Show Game List</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="332"/>
<source>Game List Refresh</source>
<translation>Game List Refresh</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="333"/>
<source>Tiny</source>
<translation>Tiny</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="334"/>
<source>Small</source>
<translation>Small</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="335"/>
<source>Medium</source>
<translation>Medium</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="336"/>
<source>Large</source>
<translation>Large</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="338"/>
<source>List View</source>
<translation>List View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="340"/>
<source>Grid View</source>
<translation>Grid View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="341"/>
<source>Elf Viewer</source>
<translation>Elf Viewer</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="343"/>
<source>Game Install Directory</source>
<translation>Game Install Directory</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="345"/>
<source>Dump Game List</source>
<translation>Dump Game List</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="346"/>
<source>PKG Viewer</source>
<translation>PKG Viewer</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="348"/>
<source>Search...</source>
<translation>Search...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="349"/>
<source>File</source>
<translation>File</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="350"/>
<source>View</source>
<translation>View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="352"/>
<source>Game List Icons</source>
<translation>Game List Icons</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="354"/>
<source>Game List Mode</source>
<translation>Game List Mode</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="355"/>
<source>Settings</source>
<translation>Settings</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="356"/>
<source>Utils</source>
<translation>Utils</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="357"/>
<source>Themes</source>
<translation>Themes</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="358"/>
<source>About</source>
<translation>About</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="359"/>
<source>Dark</source>
<translation>Dark</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="360"/>
<source>Light</source>
<translation>Light</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="361"/>
<source>Green</source>
<translation>Green</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="362"/>
<source>Blue</source>
<translation>Blue</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="363"/>
<source>Violet</source>
<translation>Violet</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="364"/>
<source>toolBar</source>
<translation>toolBar</translation>
</message>
</context>
<context>
<name>PKGViewer</name>
<message>
<location filename="../pkg_viewer.cpp" line="32"/>
<source>Open Folder</source>
<translation>Open Folder</translation>
</message>
</context>
<context>
<name>TrophyViewer</name>
<message>
<location filename="../trophy_viewer.cpp" line="8"/>
<source>Trophy Viewer</source>
<translation>Trophy Viewer</translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<location filename="../settings_dialog.ui" line="29"/>
<source>Settings</source>
<translation>Settings</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="67"/>
<source>General</source>
<translation>General</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="77"/>
<source>System</source>
<translation>System</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="83"/>
<source>Console Language</source>
<translation>Console Language</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="95"/>
<source>Emulator Language</source>
<translation>Emulator Language</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="114"/>
<source>Emulator</source>
<translation>Emulator</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="122"/>
<source>Enable Fullscreen</source>
<translation>Enable Fullscreen</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="129"/>
<source>Show Splash</source>
<translation>Show Splash</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="136"/>
<source>Is PS4 Pro</source>
<translation>Is PS4 Pro</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="155"/>
<source>Username</source>
<translation>Username</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="178"/>
<source>Logger</source>
<translation>Logger</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="199"/>
<source>Log Type</source>
<translation>Log Type</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="235"/>
<source>Log Filter</source>
<translation>Log Filter</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="272"/>
<source>Graphics</source>
<translation>Graphics</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="282"/>
<source>Graphics Device</source>
<translation>Graphics Device</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="326"/>
<source>Width</source>
<translation>Width</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="357"/>
<source>Height</source>
<translation>Height</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="405"/>
<source>Vblank Divider</source>
<translation>Vblank Divider</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="453"/>
<source>Advanced</source>
<translation>Advanced</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="462"/>
<source>Enable Shaders Dumping</source>
<translation>Enable Shaders Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="469"/>
<source>Enable NULL GPU</source>
<translation>Enable NULL GPU</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="476"/>
<source>Enable PM4 Dumping</source>
<translation>Enable PM4 Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="517"/>
<source>Debug</source>
<translation>Debug</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="537"/>
<source>Enable Debug Dumping</source>
<translation>Enable Debug Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="560"/>
<source>Enable Vulkan Validation Layers</source>
<translation>Enable Vulkan Validation Layers</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="567"/>
<source>Enable Vulkan Synchronization Validation</source>
<translation>Enable Vulkan Synchronization Validation</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="574"/>
<source>Enable RenderDoc Debugging</source>
<translation>Enable RenderDoc Debugging</translation>
</message>
</context>
</TS>

View File

@ -0,0 +1,491 @@
<?xml version="1.0" ?><!DOCTYPE TS><TS version="2.1" language="en_US">
<!-- SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
SPDX-License-Identifier: GPL-2.0-or-later -->
<context>
<name>AboutDialog</name>
<message>
<location filename="../about_dialog.ui" line="16"/>
<source>About shadPS4</source>
<translation>About shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="60"/>
<source>shadPS4</source>
<translation>shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="78"/>
<source>shadPS4 is an experimental open-source emulator for the PlayStation 4.</source>
<translation>shadPS4 is an experimental open-source emulator for the PlayStation 4.</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="99"/>
<source>This software should not be used to play games you have not legally obtained.</source>
<translation>This software should not be used to play games you have not legally obtained.</translation>
</message>
</context>
<context>
<name>ElfViewer</name>
<message>
<location filename="../elf_viewer.cpp" line="45"/>
<source>Open Folder</source>
<translation>Open Folder</translation>
</message>
</context>
<context>
<name>GameInfoClass</name>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Loading game list, please wait :3</source>
<translation>Loading game list, please wait :3</translation>
</message>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Cancel</source>
<translation>Cancel</translation>
</message>
<message>
<location filename="../game_info.cpp" line="27"/>
<source>Loading...</source>
<translation>Loading...</translation>
</message>
</context>
<context>
<name>GameInstallDialog</name>
<message>
<location filename="../game_install_dialog.cpp" line="24"/>
<source>shadPS4 - Choose directory</source>
<translation>shadPS4 - Choose directory</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="31"/>
<source>Directory to install games</source>
<translation>Directory to install games</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="50"/>
<source>Browse</source>
<translation>Browse</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="74"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="75"/>
<source>The value for location to install games is not valid.</source>
<translation>The value for location to install games is not valid.</translation>
</message>
</context>
<context>
<name>GuiContextMenus</name>
<message>
<location filename="../gui_context_menus.h" line="39"/>
<source>Create Shortcut</source>
<translation>Create Shortcut</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="40"/>
<source>Open Game Folder</source>
<translation>Open Game Folder</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="41"/>
<source>SFO Viewer</source>
<translation>SFO Viewer</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="42"/>
<source>Trophy Viewer</source>
<translation>Trophy Viewer</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="50"/>
<source>Copy info</source>
<translation>Copy info</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="51"/>
<source>Copy Name</source>
<translation>Copy Name</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="52"/>
<source>Copy Serial</source>
<translation>Copy Serial</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="53"/>
<source>Copy All</source>
<translation>Copy All</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="173"/>
<source>Shortcut creation</source>
<translation>Shortcut creation</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="174"/>
<source>Shortcut created successfully!\n %1</source>
<translation>Shortcut created successfully!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="177"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="178"/>
<source>Error creating shortcut!\n %1</source>
<translation>Error creating shortcut!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="253"/>
<source>Install PKG</source>
<translation>Install PKG</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../main_window_ui.h" line="310"/>
<source>Open/Add Elf Folder</source>
<translation>Open/Add Elf Folder</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="312"/>
<source>Install Packages (PKG)</source>
<translation>Install Packages (PKG)</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="313"/>
<source>Boot Game</source>
<translation>Boot Game</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="314"/>
<source>About shadPS4</source>
<translation>About shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="315"/>
<source>Configure...</source>
<translation>Configure...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="318"/>
<source>Install application from a .pkg file</source>
<translation>Install application from a .pkg file</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="320"/>
<source>Recent Games</source>
<translation>Recent Games</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="321"/>
<source>Exit</source>
<translation>Exit</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="323"/>
<source>Exit shadPS4</source>
<translation>Exit shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="327"/>
<source>Exit the application.</source>
<translation>Exit the application.</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="330"/>
<source>Show Game List</source>
<translation>Show Game List</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="332"/>
<source>Game List Refresh</source>
<translation>Game List Refresh</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="333"/>
<source>Tiny</source>
<translation>Tiny</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="334"/>
<source>Small</source>
<translation>Small</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="335"/>
<source>Medium</source>
<translation>Medium</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="336"/>
<source>Large</source>
<translation>Large</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="338"/>
<source>List View</source>
<translation>List View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="340"/>
<source>Grid View</source>
<translation>Grid View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="341"/>
<source>Elf Viewer</source>
<translation>Elf Viewer</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="343"/>
<source>Game Install Directory</source>
<translation>Game Install Directory</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="345"/>
<source>Dump Game List</source>
<translation>Dump Game List</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="346"/>
<source>PKG Viewer</source>
<translation>PKG Viewer</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="348"/>
<source>Search...</source>
<translation>Search...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="349"/>
<source>File</source>
<translation>File</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="350"/>
<source>View</source>
<translation>View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="352"/>
<source>Game List Icons</source>
<translation>Game List Icons</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="354"/>
<source>Game List Mode</source>
<translation>Game List Mode</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="355"/>
<source>Settings</source>
<translation>Settings</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="356"/>
<source>Utils</source>
<translation>Utils</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="357"/>
<source>Themes</source>
<translation>Themes</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="358"/>
<source>About</source>
<translation>About</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="359"/>
<source>Dark</source>
<translation>Dark</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="360"/>
<source>Light</source>
<translation>Light</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="361"/>
<source>Green</source>
<translation>Green</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="362"/>
<source>Blue</source>
<translation>Blue</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="363"/>
<source>Violet</source>
<translation>Violet</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="364"/>
<source>toolBar</source>
<translation>toolBar</translation>
</message>
</context>
<context>
<name>PKGViewer</name>
<message>
<location filename="../pkg_viewer.cpp" line="32"/>
<source>Open Folder</source>
<translation>Open Folder</translation>
</message>
</context>
<context>
<name>TrophyViewer</name>
<message>
<location filename="../trophy_viewer.cpp" line="8"/>
<source>Trophy Viewer</source>
<translation>Trophy Viewer</translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<location filename="../settings_dialog.ui" line="29"/>
<source>Settings</source>
<translation>Settings</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="67"/>
<source>General</source>
<translation>General</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="77"/>
<source>System</source>
<translation>System</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="83"/>
<source>Console Language</source>
<translation>Console Language</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="95"/>
<source>Emulator Language</source>
<translation>Emulator Language</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="114"/>
<source>Emulator</source>
<translation>Emulator</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="122"/>
<source>Enable Fullscreen</source>
<translation>Enable Fullscreen</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="129"/>
<source>Show Splash</source>
<translation>Show Splash</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="136"/>
<source>Is PS4 Pro</source>
<translation>Is PS4 Pro</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="155"/>
<source>Username</source>
<translation>Username</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="178"/>
<source>Logger</source>
<translation>Logger</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="199"/>
<source>Log Type</source>
<translation>Log Type</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="235"/>
<source>Log Filter</source>
<translation>Log Filter</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="272"/>
<source>Graphics</source>
<translation>Graphics</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="282"/>
<source>Graphics Device</source>
<translation>Graphics Device</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="326"/>
<source>Width</source>
<translation>Width</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="357"/>
<source>Height</source>
<translation>Height</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="405"/>
<source>Vblank Divider</source>
<translation>Vblank Divider</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="453"/>
<source>Advanced</source>
<translation>Advanced</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="462"/>
<source>Enable Shaders Dumping</source>
<translation>Enable Shaders Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="469"/>
<source>Enable NULL GPU</source>
<translation>Enable NULL GPU</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="476"/>
<source>Enable PM4 Dumping</source>
<translation>Enable PM4 Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="517"/>
<source>Debug</source>
<translation>Debug</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="537"/>
<source>Enable Debug Dumping</source>
<translation>Enable Debug Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="560"/>
<source>Enable Vulkan Validation Layers</source>
<translation>Enable Vulkan Validation Layers</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="567"/>
<source>Enable Vulkan Synchronization Validation</source>
<translation>Enable Vulkan Synchronization Validation</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="574"/>
<source>Enable RenderDoc Debugging</source>
<translation>Enable RenderDoc Debugging</translation>
</message>
</context>
</TS>

View File

@ -0,0 +1,491 @@
<?xml version="1.0" ?><!DOCTYPE TS><TS version="2.1" language="es_ES">
<!-- SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
SPDX-License-Identifier: GPL-2.0-or-later -->
<context>
<name>AboutDialog</name>
<message>
<location filename="../about_dialog.ui" line="16"/>
<source>About shadPS4</source>
<translation>Acerca de shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="60"/>
<source>shadPS4</source>
<translation>shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="78"/>
<source>shadPS4 is an experimental open-source emulator for the PlayStation 4.</source>
<translation>shadPS4 es un emulador experimental de código abierto para la PlayStation 4.</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="99"/>
<source>This software should not be used to play games you have not legally obtained.</source>
<translation>Este software no debe utilizarse para jugar juegos que no hayas obtenido legalmente.</translation>
</message>
</context>
<context>
<name>ElfViewer</name>
<message>
<location filename="../elf_viewer.cpp" line="45"/>
<source>Open Folder</source>
<translation>Abrir carpeta</translation>
</message>
</context>
<context>
<name>GameInfoClass</name>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Loading game list, please wait :3</source>
<translation>Cargando lista de juegos, por favor espera :3</translation>
</message>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Cancel</source>
<translation>Cancelar</translation>
</message>
<message>
<location filename="../game_info.cpp" line="27"/>
<source>Loading...</source>
<translation>Cargando...</translation>
</message>
</context>
<context>
<name>GameInstallDialog</name>
<message>
<location filename="../game_install_dialog.cpp" line="24"/>
<source>shadPS4 - Choose directory</source>
<translation>shadPS4 - Elegir carpeta</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="31"/>
<source>Directory to install games</source>
<translation>Carpeta para instalar juegos</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="50"/>
<source>Browse</source>
<translation>Buscar</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="74"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="75"/>
<source>The value for location to install games is not valid.</source>
<translation>El valor para la ubicación de instalación de los juegos no es válido.</translation>
</message>
</context>
<context>
<name>GuiContextMenus</name>
<message>
<location filename="../gui_context_menus.h" line="39"/>
<source>Create Shortcut</source>
<translation>Crear acceso directo</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="40"/>
<source>Open Game Folder</source>
<translation>Abrir carpeta del juego</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="41"/>
<source>SFO Viewer</source>
<translation>Vista SFO</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="42"/>
<source>Trophy Viewer</source>
<translation>Ver trofeos</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="50"/>
<source>Copy info</source>
<translation>Copiar información</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="51"/>
<source>Copy Name</source>
<translation>Copiar nombre</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="52"/>
<source>Copy Serial</source>
<translation>Copiar serial</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="53"/>
<source>Copy All</source>
<translation>Copiar todo</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="173"/>
<source>Shortcut creation</source>
<translation>Acceso directo creado</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="174"/>
<source>Shortcut created successfully!\n %1</source>
<translation>¡Acceso directo creado con éxito!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="177"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="178"/>
<source>Error creating shortcut!\n %1</source>
<translation>¡Error al crear el acceso directo!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="253"/>
<source>Install PKG</source>
<translation>Instalar PKG</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../main_window_ui.h" line="310"/>
<source>Open/Add Elf Folder</source>
<translation>Abrir/Agregar carpeta Elf</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="312"/>
<source>Install Packages (PKG)</source>
<translation>Instalar paquetes (PKG)</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="313"/>
<source>Boot Game</source>
<translation>Iniciar juego</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="314"/>
<source>About shadPS4</source>
<translation>Acerca de shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="315"/>
<source>Configure...</source>
<translation>Configurar...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="318"/>
<source>Install application from a .pkg file</source>
<translation>Instalar aplicación desde un archivo .pkg</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="320"/>
<source>Recent Games</source>
<translation>Juegos recientes</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="321"/>
<source>Exit</source>
<translation>Salir</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="323"/>
<source>Exit shadPS4</source>
<translation>Salir de shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="327"/>
<source>Exit the application.</source>
<translation>Salir de la aplicación.</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="330"/>
<source>Show Game List</source>
<translation>Mostrar lista de juegos</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="332"/>
<source>Game List Refresh</source>
<translation>Actualizar lista de juegos</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="333"/>
<source>Tiny</source>
<translation>Muy pequeño</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="334"/>
<source>Small</source>
<translation>Pequeño</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="335"/>
<source>Medium</source>
<translation>Mediano</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="336"/>
<source>Large</source>
<translation>Grande</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="338"/>
<source>List View</source>
<translation>Vista de lista</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="340"/>
<source>Grid View</source>
<translation>Vista de cuadrícula</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="341"/>
<source>Elf Viewer</source>
<translation>Vista Elf</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="343"/>
<source>Game Install Directory</source>
<translation>Carpeta de instalación de los juegos</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="345"/>
<source>Dump Game List</source>
<translation>Volcar lista de juegos</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="346"/>
<source>PKG Viewer</source>
<translation>Vista PKG</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="348"/>
<source>Search...</source>
<translation>Buscar...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="349"/>
<source>File</source>
<translation>Archivo</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="350"/>
<source>View</source>
<translation>Vista</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="352"/>
<source>Game List Icons</source>
<translation>Iconos de los juegos</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="354"/>
<source>Game List Mode</source>
<translation>Tipo de lista</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="355"/>
<source>Settings</source>
<translation>Configuraciones</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="356"/>
<source>Utils</source>
<translation>Utilidades</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="357"/>
<source>Themes</source>
<translation>Temas</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="358"/>
<source>About</source>
<translation>Ayuda</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="359"/>
<source>Dark</source>
<translation>Oscuro</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="360"/>
<source>Light</source>
<translation>Claro</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="361"/>
<source>Green</source>
<translation>Verde</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="362"/>
<source>Blue</source>
<translation>Azul</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="363"/>
<source>Violet</source>
<translation>Violeta</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="364"/>
<source>toolBar</source>
<translation>barra de herramientas</translation>
</message>
</context>
<context>
<name>PKGViewer</name>
<message>
<location filename="../pkg_viewer.cpp" line="32"/>
<source>Open Folder</source>
<translation>Abrir carpeta</translation>
</message>
</context>
<context>
<name>TrophyViewer</name>
<message>
<location filename="../trophy_viewer.cpp" line="8"/>
<source>Trophy Viewer</source>
<translation>Vista de trofeos</translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<location filename="../settings_dialog.ui" line="29"/>
<source>Settings</source>
<translation>Configuraciones</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="67"/>
<source>General</source>
<translation>General</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="77"/>
<source>System</source>
<translation>Sistema</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="83"/>
<source>Console Language</source>
<translation>Idioma de la consola</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="95"/>
<source>Emulator Language</source>
<translation>Idioma del emulador</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="114"/>
<source>Emulator</source>
<translation>Emulador</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="122"/>
<source>Enable Fullscreen</source>
<translation>Habilitar pantalla completa</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="129"/>
<source>Show Splash</source>
<translation>Mostrar splash</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="136"/>
<source>Is PS4 Pro</source>
<translation>Modo PS4 Pro</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="155"/>
<source>Username</source>
<translation>Nombre de usuario</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="178"/>
<source>Logger</source>
<translation>Registro</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="199"/>
<source>Log Type</source>
<translation>Tipo de registro</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="235"/>
<source>Log Filter</source>
<translation>Filtro de registro</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="272"/>
<source>Graphics</source>
<translation>Gráficos</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="282"/>
<source>Graphics Device</source>
<translation>Dispositivo gráfico</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="326"/>
<source>Width</source>
<translation>Ancho</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="357"/>
<source>Height</source>
<translation>Alto</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="405"/>
<source>Vblank Divider</source>
<translation>Divisor de Vblank</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="453"/>
<source>Advanced</source>
<translation>Avanzado</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="462"/>
<source>Enable Shaders Dumping</source>
<translation>Habilitar volcado de shaders</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="469"/>
<source>Enable NULL GPU</source>
<translation>Habilitar GPU NULL</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="476"/>
<source>Enable PM4 Dumping</source>
<translation>Habilitar volcado de PM4</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="517"/>
<source>Debug</source>
<translation>Depuración</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="537"/>
<source>Enable Debug Dumping</source>
<translation>Habilitar volcado de depuración</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="560"/>
<source>Enable Vulkan Validation Layers</source>
<translation>Habilitar capas de validación de Vulkan</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="567"/>
<source>Enable Vulkan Synchronization Validation</source>
<translation>Habilitar validación de sincronización de Vulkan</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="574"/>
<source>Enable RenderDoc Debugging</source>
<translation>Habilitar depuración de RenderDoc</translation>
</message>
</context>
</TS>

View File

@ -0,0 +1,491 @@
<?xml version="1.0" ?><!DOCTYPE TS><TS version="2.1" language="fi">
<!-- SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
SPDX-License-Identifier: GPL-2.0-or-later -->
<context>
<name>AboutDialog</name>
<message>
<location filename="../about_dialog.ui" line="16"/>
<source>About shadPS4</source>
<translation>About shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="60"/>
<source>shadPS4</source>
<translation>shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="78"/>
<source>shadPS4 is an experimental open-source emulator for the PlayStation 4.</source>
<translation>shadPS4 is an experimental open-source emulator for the PlayStation 4.</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="99"/>
<source>This software should not be used to play games you have not legally obtained.</source>
<translation>This software should not be used to play games you have not legally obtained.</translation>
</message>
</context>
<context>
<name>ElfViewer</name>
<message>
<location filename="../elf_viewer.cpp" line="45"/>
<source>Open Folder</source>
<translation>Open Folder</translation>
</message>
</context>
<context>
<name>GameInfoClass</name>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Loading game list, please wait :3</source>
<translation>Loading game list, please wait :3</translation>
</message>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Cancel</source>
<translation>Cancel</translation>
</message>
<message>
<location filename="../game_info.cpp" line="27"/>
<source>Loading...</source>
<translation>Loading...</translation>
</message>
</context>
<context>
<name>GameInstallDialog</name>
<message>
<location filename="../game_install_dialog.cpp" line="24"/>
<source>shadPS4 - Choose directory</source>
<translation>shadPS4 - Choose directory</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="31"/>
<source>Directory to install games</source>
<translation>Directory to install games</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="50"/>
<source>Browse</source>
<translation>Browse</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="74"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="75"/>
<source>The value for location to install games is not valid.</source>
<translation>The value for location to install games is not valid.</translation>
</message>
</context>
<context>
<name>GuiContextMenus</name>
<message>
<location filename="../gui_context_menus.h" line="39"/>
<source>Create Shortcut</source>
<translation>Create Shortcut</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="40"/>
<source>Open Game Folder</source>
<translation>Open Game Folder</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="41"/>
<source>SFO Viewer</source>
<translation>SFO Viewer</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="42"/>
<source>Trophy Viewer</source>
<translation>Trophy Viewer</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="50"/>
<source>Copy info</source>
<translation>Copy info</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="51"/>
<source>Copy Name</source>
<translation>Copy Name</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="52"/>
<source>Copy Serial</source>
<translation>Copy Serial</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="53"/>
<source>Copy All</source>
<translation>Copy All</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="173"/>
<source>Shortcut creation</source>
<translation>Shortcut creation</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="174"/>
<source>Shortcut created successfully!\n %1</source>
<translation>Shortcut created successfully!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="177"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="178"/>
<source>Error creating shortcut!\n %1</source>
<translation>Error creating shortcut!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="253"/>
<source>Install PKG</source>
<translation>Install PKG</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../main_window_ui.h" line="310"/>
<source>Open/Add Elf Folder</source>
<translation>Open/Add Elf Folder</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="312"/>
<source>Install Packages (PKG)</source>
<translation>Install Packages (PKG)</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="313"/>
<source>Boot Game</source>
<translation>Boot Game</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="314"/>
<source>About shadPS4</source>
<translation>About shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="315"/>
<source>Configure...</source>
<translation>Configure...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="318"/>
<source>Install application from a .pkg file</source>
<translation>Install application from a .pkg file</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="320"/>
<source>Recent Games</source>
<translation>Recent Games</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="321"/>
<source>Exit</source>
<translation>Exit</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="323"/>
<source>Exit shadPS4</source>
<translation>Exit shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="327"/>
<source>Exit the application.</source>
<translation>Exit the application.</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="330"/>
<source>Show Game List</source>
<translation>Show Game List</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="332"/>
<source>Game List Refresh</source>
<translation>Game List Refresh</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="333"/>
<source>Tiny</source>
<translation>Tiny</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="334"/>
<source>Small</source>
<translation>Small</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="335"/>
<source>Medium</source>
<translation>Medium</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="336"/>
<source>Large</source>
<translation>Large</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="338"/>
<source>List View</source>
<translation>List View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="340"/>
<source>Grid View</source>
<translation>Grid View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="341"/>
<source>Elf Viewer</source>
<translation>Elf Viewer</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="343"/>
<source>Game Install Directory</source>
<translation>Game Install Directory</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="345"/>
<source>Dump Game List</source>
<translation>Dump Game List</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="346"/>
<source>PKG Viewer</source>
<translation>PKG Viewer</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="348"/>
<source>Search...</source>
<translation>Search...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="349"/>
<source>File</source>
<translation>File</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="350"/>
<source>View</source>
<translation>View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="352"/>
<source>Game List Icons</source>
<translation>Game List Icons</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="354"/>
<source>Game List Mode</source>
<translation>Game List Mode</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="355"/>
<source>Settings</source>
<translation>Settings</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="356"/>
<source>Utils</source>
<translation>Utils</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="357"/>
<source>Themes</source>
<translation>Themes</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="358"/>
<source>About</source>
<translation>About</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="359"/>
<source>Dark</source>
<translation>Dark</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="360"/>
<source>Light</source>
<translation>Light</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="361"/>
<source>Green</source>
<translation>Green</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="362"/>
<source>Blue</source>
<translation>Blue</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="363"/>
<source>Violet</source>
<translation>Violet</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="364"/>
<source>toolBar</source>
<translation>toolBar</translation>
</message>
</context>
<context>
<name>PKGViewer</name>
<message>
<location filename="../pkg_viewer.cpp" line="32"/>
<source>Open Folder</source>
<translation>Open Folder</translation>
</message>
</context>
<context>
<name>TrophyViewer</name>
<message>
<location filename="../trophy_viewer.cpp" line="8"/>
<source>Trophy Viewer</source>
<translation>Trophy Viewer</translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<location filename="../settings_dialog.ui" line="29"/>
<source>Settings</source>
<translation>Settings</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="67"/>
<source>General</source>
<translation>General</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="77"/>
<source>System</source>
<translation>System</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="83"/>
<source>Console Language</source>
<translation>Console Language</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="95"/>
<source>Emulator Language</source>
<translation>Emulator Language</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="114"/>
<source>Emulator</source>
<translation>Emulator</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="122"/>
<source>Enable Fullscreen</source>
<translation>Enable Fullscreen</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="129"/>
<source>Show Splash</source>
<translation>Show Splash</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="136"/>
<source>Is PS4 Pro</source>
<translation>Is PS4 Pro</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="155"/>
<source>Username</source>
<translation>Username</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="178"/>
<source>Logger</source>
<translation>Logger</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="199"/>
<source>Log Type</source>
<translation>Log Type</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="235"/>
<source>Log Filter</source>
<translation>Log Filter</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="272"/>
<source>Graphics</source>
<translation>Graphics</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="282"/>
<source>Graphics Device</source>
<translation>Graphics Device</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="326"/>
<source>Width</source>
<translation>Width</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="357"/>
<source>Height</source>
<translation>Height</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="405"/>
<source>Vblank Divider</source>
<translation>Vblank Divider</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="453"/>
<source>Advanced</source>
<translation>Advanced</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="462"/>
<source>Enable Shaders Dumping</source>
<translation>Enable Shaders Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="469"/>
<source>Enable NULL GPU</source>
<translation>Enable NULL GPU</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="476"/>
<source>Enable PM4 Dumping</source>
<translation>Enable PM4 Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="517"/>
<source>Debug</source>
<translation>Debug</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="537"/>
<source>Enable Debug Dumping</source>
<translation>Enable Debug Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="560"/>
<source>Enable Vulkan Validation Layers</source>
<translation>Enable Vulkan Validation Layers</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="567"/>
<source>Enable Vulkan Synchronization Validation</source>
<translation>Enable Vulkan Synchronization Validation</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="574"/>
<source>Enable RenderDoc Debugging</source>
<translation>Enable RenderDoc Debugging</translation>
</message>
</context>
</TS>

View File

@ -0,0 +1,491 @@
<?xml version="1.0" ?><!DOCTYPE TS><TS version="2.1" language="fr">
<!-- SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
SPDX-License-Identifier: GPL-2.0-or-later -->
<context>
<name>AboutDialog</name>
<message>
<location filename="../about_dialog.ui" line="16"/>
<source>About shadPS4</source>
<translation>À propos de shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="60"/>
<source>shadPS4</source>
<translation>shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="78"/>
<source>shadPS4 is an experimental open-source emulator for the PlayStation 4.</source>
<translation>shadPS4 est un émulateur open-source expérimental de la PlayStation 4.</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="99"/>
<source>This software should not be used to play games you have not legally obtained.</source>
<translation>Ce logiciel ne doit pas être utilisé pour jouer à des jeux que vous n&apos;avez pas obtenus légalement.</translation>
</message>
</context>
<context>
<name>ElfViewer</name>
<message>
<location filename="../elf_viewer.cpp" line="45"/>
<source>Open Folder</source>
<translation>Ouvrir un dossier</translation>
</message>
</context>
<context>
<name>GameInfoClass</name>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Loading game list, please wait :3</source>
<translation>Chargement de la liste de jeu, veuillez patienter...</translation>
</message>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Cancel</source>
<translation>Annuler</translation>
</message>
<message>
<location filename="../game_info.cpp" line="27"/>
<source>Loading...</source>
<translation>Chargement...</translation>
</message>
</context>
<context>
<name>GameInstallDialog</name>
<message>
<location filename="../game_install_dialog.cpp" line="24"/>
<source>shadPS4 - Choose directory</source>
<translation>shadPS4 - Choisir un répertoire</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="31"/>
<source>Directory to install games</source>
<translation>Répertoire d&apos;installation des jeux</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="50"/>
<source>Browse</source>
<translation>Parcourir</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="74"/>
<source>Error</source>
<translation>Erreur</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="75"/>
<source>The value for location to install games is not valid.</source>
<translation>Le répertoire d'installation des jeux n&apos;est pas valide.</translation>
</message>
</context>
<context>
<name>GuiContextMenus</name>
<message>
<location filename="../gui_context_menus.h" line="39"/>
<source>Create Shortcut</source>
<translation>Créer un raccourci</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="40"/>
<source>Open Game Folder</source>
<translation>Ouvrir le dossier du jeu</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="41"/>
<source>SFO Viewer</source>
<translation>Visionneuse SFO</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="42"/>
<source>Trophy Viewer</source>
<translation>Visionneuse de trophées</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="50"/>
<source>Copy info</source>
<translation>Copier les informations</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="51"/>
<source>Copy Name</source>
<translation>Copier le nom</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="52"/>
<source>Copy Serial</source>
<translation>Copier le numéro de série</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="53"/>
<source>Copy All</source>
<translation>Copier tout</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="173"/>
<source>Shortcut creation</source>
<translation>Création du raccourci</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="174"/>
<source>Shortcut created successfully!\n %1</source>
<translation>Raccourci créé avec succès!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="177"/>
<source>Error</source>
<translation>Erreur</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="178"/>
<source>Error creating shortcut!\n %1</source>
<translation>Erreur lors de la création du raccourci!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="253"/>
<source>Install PKG</source>
<translation>Installer un PKG</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../main_window_ui.h" line="310"/>
<source>Open/Add Elf Folder</source>
<translation>Ouvrir/Ajouter un dossier ELF</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="312"/>
<source>Install Packages (PKG)</source>
<translation>Installer des packages (PKG)</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="313"/>
<source>Boot Game</source>
<translation>Démarrer un jeu</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="314"/>
<source>About shadPS4</source>
<translation>À propos de shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="315"/>
<source>Configure...</source>
<translation>Configurer...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="318"/>
<source>Install application from a .pkg file</source>
<translation>Installer une application depuis un fichier .pkg</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="320"/>
<source>Recent Games</source>
<translation>Jeux récents</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="321"/>
<source>Exit</source>
<translation>Fermer</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="323"/>
<source>Exit shadPS4</source>
<translation>Fermer shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="327"/>
<source>Exit the application.</source>
<translation>Fermer l&apos;application.</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="330"/>
<source>Show Game List</source>
<translation>Afficher la liste de jeux</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="332"/>
<source>Game List Refresh</source>
<translation>Rafraîchir la liste de jeux</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="333"/>
<source>Tiny</source>
<translation>Très Petit</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="334"/>
<source>Small</source>
<translation>Petit</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="335"/>
<source>Medium</source>
<translation>Moyen</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="336"/>
<source>Large</source>
<translation>Grand</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="338"/>
<source>List View</source>
<translation>Mode liste</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="340"/>
<source>Grid View</source>
<translation>Mode grille</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="341"/>
<source>Elf Viewer</source>
<translation>Visionneuse ELF</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="343"/>
<source>Game Install Directory</source>
<translation>Répertoire des jeux</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="345"/>
<source>Dump Game List</source>
<translation>Dumper la liste des jeux</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="346"/>
<source>PKG Viewer</source>
<translation>Visionneuse PKG</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="348"/>
<source>Search...</source>
<translation>Chercher...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="349"/>
<source>File</source>
<translation>Fichier</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="350"/>
<source>View</source>
<translation>Affichage</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="352"/>
<source>Game List Icons</source>
<translation>Icônes des jeux</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="354"/>
<source>Game List Mode</source>
<translation>Mode d&apos;affichage</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="355"/>
<source>Settings</source>
<translation>Paramètres</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="356"/>
<source>Utils</source>
<translation>Utilitaire</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="357"/>
<source>Themes</source>
<translation>Thèmes</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="358"/>
<source>About</source>
<translation>À propos</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="359"/>
<source>Dark</source>
<translation>Noir</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="360"/>
<source>Light</source>
<translation>Blanc</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="361"/>
<source>Green</source>
<translation>Vert</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="362"/>
<source>Blue</source>
<translation>Bleu</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="363"/>
<source>Violet</source>
<translation>Violet</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="364"/>
<source>toolBar</source>
<translation>Bare d&apos;outils</translation>
</message>
</context>
<context>
<name>PKGViewer</name>
<message>
<location filename="../pkg_viewer.cpp" line="32"/>
<source>Open Folder</source>
<translation>Ouvrir un dossier</translation>
</message>
</context>
<context>
<name>TrophyViewer</name>
<message>
<location filename="../trophy_viewer.cpp" line="8"/>
<source>Trophy Viewer</source>
<translation>Visionneuse de trophées</translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<location filename="../settings_dialog.ui" line="29"/>
<source>Settings</source>
<translation>Paramètres</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="67"/>
<source>General</source>
<translation>Général</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="77"/>
<source>System</source>
<translation>Système</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="83"/>
<source>Console Language</source>
<translation>Langage de la console</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="95"/>
<source>Emulator Language</source>
<translation>Langage de l&apos;émulateur</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="114"/>
<source>Emulator</source>
<translation>Émulateur</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="122"/>
<source>Enable Fullscreen</source>
<translation>Plein écran</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="129"/>
<source>Show Splash</source>
<translation>Afficher l&apos;image du jeu</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="136"/>
<source>Is PS4 Pro</source>
<translation>Mode PS4 Pro</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="155"/>
<source>Username</source>
<translation>Nom d&apos;utilisateur</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="178"/>
<source>Logger</source>
<translation>Journalisation</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="199"/>
<source>Log Type</source>
<translation>Type</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="235"/>
<source>Log Filter</source>
<translation>Filtre</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="272"/>
<source>Graphics</source>
<translation>Graphismes</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="282"/>
<source>Graphics Device</source>
<translation>Carte graphique</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="326"/>
<source>Width</source>
<translation>Largeur</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="357"/>
<source>Height</source>
<translation>Hauteur</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="405"/>
<source>Vblank Divider</source>
<translation>Vblank</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="453"/>
<source>Advanced</source>
<translation>Avancé</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="462"/>
<source>Enable Shaders Dumping</source>
<translation>Dumper les shaders</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="469"/>
<source>Enable NULL GPU</source>
<translation>NULL GPU</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="476"/>
<source>Enable PM4 Dumping</source>
<translation>Dumper le PM4</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="517"/>
<source>Debug</source>
<translation>Débogage</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="537"/>
<source>Enable Debug Dumping</source>
<translation>Activer le débogage</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="560"/>
<source>Enable Vulkan Validation Layers</source>
<translation>Couche de validation Vulkan</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="567"/>
<source>Enable Vulkan Synchronization Validation</source>
<translation>Synchroniser la validation Vulkan</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="574"/>
<source>Enable RenderDoc Debugging</source>
<translation>Activer le débogage RenderDoc</translation>
</message>
</context>
</TS>

View File

@ -0,0 +1,491 @@
<?xml version="1.0" ?><!DOCTYPE TS><TS version="2.1" language="hu_HU">
<!-- SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
SPDX-License-Identifier: GPL-2.0-or-later -->
<context>
<name>AboutDialog</name>
<message>
<location filename="../about_dialog.ui" line="16"/>
<source>About shadPS4</source>
<translation>About shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="60"/>
<source>shadPS4</source>
<translation>shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="78"/>
<source>shadPS4 is an experimental open-source emulator for the PlayStation 4.</source>
<translation>shadPS4 is an experimental open-source emulator for the PlayStation 4.</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="99"/>
<source>This software should not be used to play games you have not legally obtained.</source>
<translation>This software should not be used to play games you have not legally obtained.</translation>
</message>
</context>
<context>
<name>ElfViewer</name>
<message>
<location filename="../elf_viewer.cpp" line="45"/>
<source>Open Folder</source>
<translation>Open Folder</translation>
</message>
</context>
<context>
<name>GameInfoClass</name>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Loading game list, please wait :3</source>
<translation>Loading game list, please wait :3</translation>
</message>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Cancel</source>
<translation>Cancel</translation>
</message>
<message>
<location filename="../game_info.cpp" line="27"/>
<source>Loading...</source>
<translation>Loading...</translation>
</message>
</context>
<context>
<name>GameInstallDialog</name>
<message>
<location filename="../game_install_dialog.cpp" line="24"/>
<source>shadPS4 - Choose directory</source>
<translation>shadPS4 - Choose directory</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="31"/>
<source>Directory to install games</source>
<translation>Directory to install games</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="50"/>
<source>Browse</source>
<translation>Browse</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="74"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="75"/>
<source>The value for location to install games is not valid.</source>
<translation>The value for location to install games is not valid.</translation>
</message>
</context>
<context>
<name>GuiContextMenus</name>
<message>
<location filename="../gui_context_menus.h" line="39"/>
<source>Create Shortcut</source>
<translation>Create Shortcut</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="40"/>
<source>Open Game Folder</source>
<translation>Open Game Folder</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="41"/>
<source>SFO Viewer</source>
<translation>SFO Viewer</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="42"/>
<source>Trophy Viewer</source>
<translation>Trophy Viewer</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="50"/>
<source>Copy info</source>
<translation>Copy info</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="51"/>
<source>Copy Name</source>
<translation>Copy Name</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="52"/>
<source>Copy Serial</source>
<translation>Copy Serial</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="53"/>
<source>Copy All</source>
<translation>Copy All</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="173"/>
<source>Shortcut creation</source>
<translation>Shortcut creation</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="174"/>
<source>Shortcut created successfully!\n %1</source>
<translation>Shortcut created successfully!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="177"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="178"/>
<source>Error creating shortcut!\n %1</source>
<translation>Error creating shortcut!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="253"/>
<source>Install PKG</source>
<translation>Install PKG</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../main_window_ui.h" line="310"/>
<source>Open/Add Elf Folder</source>
<translation>Open/Add Elf Folder</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="312"/>
<source>Install Packages (PKG)</source>
<translation>Install Packages (PKG)</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="313"/>
<source>Boot Game</source>
<translation>Boot Game</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="314"/>
<source>About shadPS4</source>
<translation>About shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="315"/>
<source>Configure...</source>
<translation>Configure...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="318"/>
<source>Install application from a .pkg file</source>
<translation>Install application from a .pkg file</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="320"/>
<source>Recent Games</source>
<translation>Recent Games</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="321"/>
<source>Exit</source>
<translation>Exit</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="323"/>
<source>Exit shadPS4</source>
<translation>Exit shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="327"/>
<source>Exit the application.</source>
<translation>Exit the application.</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="330"/>
<source>Show Game List</source>
<translation>Show Game List</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="332"/>
<source>Game List Refresh</source>
<translation>Game List Refresh</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="333"/>
<source>Tiny</source>
<translation>Tiny</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="334"/>
<source>Small</source>
<translation>Small</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="335"/>
<source>Medium</source>
<translation>Medium</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="336"/>
<source>Large</source>
<translation>Large</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="338"/>
<source>List View</source>
<translation>List View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="340"/>
<source>Grid View</source>
<translation>Grid View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="341"/>
<source>Elf Viewer</source>
<translation>Elf Viewer</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="343"/>
<source>Game Install Directory</source>
<translation>Game Install Directory</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="345"/>
<source>Dump Game List</source>
<translation>Dump Game List</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="346"/>
<source>PKG Viewer</source>
<translation>PKG Viewer</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="348"/>
<source>Search...</source>
<translation>Search...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="349"/>
<source>File</source>
<translation>File</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="350"/>
<source>View</source>
<translation>View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="352"/>
<source>Game List Icons</source>
<translation>Game List Icons</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="354"/>
<source>Game List Mode</source>
<translation>Game List Mode</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="355"/>
<source>Settings</source>
<translation>Settings</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="356"/>
<source>Utils</source>
<translation>Utils</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="357"/>
<source>Themes</source>
<translation>Themes</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="358"/>
<source>About</source>
<translation>About</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="359"/>
<source>Dark</source>
<translation>Dark</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="360"/>
<source>Light</source>
<translation>Light</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="361"/>
<source>Green</source>
<translation>Green</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="362"/>
<source>Blue</source>
<translation>Blue</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="363"/>
<source>Violet</source>
<translation>Violet</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="364"/>
<source>toolBar</source>
<translation>toolBar</translation>
</message>
</context>
<context>
<name>PKGViewer</name>
<message>
<location filename="../pkg_viewer.cpp" line="32"/>
<source>Open Folder</source>
<translation>Open Folder</translation>
</message>
</context>
<context>
<name>TrophyViewer</name>
<message>
<location filename="../trophy_viewer.cpp" line="8"/>
<source>Trophy Viewer</source>
<translation>Trophy Viewer</translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<location filename="../settings_dialog.ui" line="29"/>
<source>Settings</source>
<translation>Settings</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="67"/>
<source>General</source>
<translation>General</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="77"/>
<source>System</source>
<translation>System</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="83"/>
<source>Console Language</source>
<translation>Console Language</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="95"/>
<source>Emulator Language</source>
<translation>Emulator Language</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="114"/>
<source>Emulator</source>
<translation>Emulator</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="122"/>
<source>Enable Fullscreen</source>
<translation>Enable Fullscreen</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="129"/>
<source>Show Splash</source>
<translation>Show Splash</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="136"/>
<source>Is PS4 Pro</source>
<translation>Is PS4 Pro</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="155"/>
<source>Username</source>
<translation>Username</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="178"/>
<source>Logger</source>
<translation>Logger</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="199"/>
<source>Log Type</source>
<translation>Log Type</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="235"/>
<source>Log Filter</source>
<translation>Log Filter</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="272"/>
<source>Graphics</source>
<translation>Graphics</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="282"/>
<source>Graphics Device</source>
<translation>Graphics Device</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="326"/>
<source>Width</source>
<translation>Width</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="357"/>
<source>Height</source>
<translation>Height</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="405"/>
<source>Vblank Divider</source>
<translation>Vblank Divider</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="453"/>
<source>Advanced</source>
<translation>Advanced</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="462"/>
<source>Enable Shaders Dumping</source>
<translation>Enable Shaders Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="469"/>
<source>Enable NULL GPU</source>
<translation>Enable NULL GPU</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="476"/>
<source>Enable PM4 Dumping</source>
<translation>Enable PM4 Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="517"/>
<source>Debug</source>
<translation>Debug</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="537"/>
<source>Enable Debug Dumping</source>
<translation>Enable Debug Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="560"/>
<source>Enable Vulkan Validation Layers</source>
<translation>Enable Vulkan Validation Layers</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="567"/>
<source>Enable Vulkan Synchronization Validation</source>
<translation>Enable Vulkan Synchronization Validation</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="574"/>
<source>Enable RenderDoc Debugging</source>
<translation>Enable RenderDoc Debugging</translation>
</message>
</context>
</TS>

View File

@ -0,0 +1,491 @@
<?xml version="1.0" ?><!DOCTYPE TS><TS version="2.1" language="id">
<!-- SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
SPDX-License-Identifier: GPL-2.0-or-later -->
<context>
<name>AboutDialog</name>
<message>
<location filename="../about_dialog.ui" line="16"/>
<source>About shadPS4</source>
<translation>About shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="60"/>
<source>shadPS4</source>
<translation>shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="78"/>
<source>shadPS4 is an experimental open-source emulator for the PlayStation 4.</source>
<translation>shadPS4 is an experimental open-source emulator for the PlayStation 4.</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="99"/>
<source>This software should not be used to play games you have not legally obtained.</source>
<translation>This software should not be used to play games you have not legally obtained.</translation>
</message>
</context>
<context>
<name>ElfViewer</name>
<message>
<location filename="../elf_viewer.cpp" line="45"/>
<source>Open Folder</source>
<translation>Open Folder</translation>
</message>
</context>
<context>
<name>GameInfoClass</name>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Loading game list, please wait :3</source>
<translation>Loading game list, please wait :3</translation>
</message>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Cancel</source>
<translation>Cancel</translation>
</message>
<message>
<location filename="../game_info.cpp" line="27"/>
<source>Loading...</source>
<translation>Loading...</translation>
</message>
</context>
<context>
<name>GameInstallDialog</name>
<message>
<location filename="../game_install_dialog.cpp" line="24"/>
<source>shadPS4 - Choose directory</source>
<translation>shadPS4 - Choose directory</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="31"/>
<source>Directory to install games</source>
<translation>Directory to install games</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="50"/>
<source>Browse</source>
<translation>Browse</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="74"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="75"/>
<source>The value for location to install games is not valid.</source>
<translation>The value for location to install games is not valid.</translation>
</message>
</context>
<context>
<name>GuiContextMenus</name>
<message>
<location filename="../gui_context_menus.h" line="39"/>
<source>Create Shortcut</source>
<translation>Create Shortcut</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="40"/>
<source>Open Game Folder</source>
<translation>Open Game Folder</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="41"/>
<source>SFO Viewer</source>
<translation>SFO Viewer</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="42"/>
<source>Trophy Viewer</source>
<translation>Trophy Viewer</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="50"/>
<source>Copy info</source>
<translation>Copy info</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="51"/>
<source>Copy Name</source>
<translation>Copy Name</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="52"/>
<source>Copy Serial</source>
<translation>Copy Serial</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="53"/>
<source>Copy All</source>
<translation>Copy All</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="173"/>
<source>Shortcut creation</source>
<translation>Shortcut creation</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="174"/>
<source>Shortcut created successfully!\n %1</source>
<translation>Shortcut created successfully!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="177"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="178"/>
<source>Error creating shortcut!\n %1</source>
<translation>Error creating shortcut!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="253"/>
<source>Install PKG</source>
<translation>Install PKG</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../main_window_ui.h" line="310"/>
<source>Open/Add Elf Folder</source>
<translation>Open/Add Elf Folder</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="312"/>
<source>Install Packages (PKG)</source>
<translation>Install Packages (PKG)</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="313"/>
<source>Boot Game</source>
<translation>Boot Game</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="314"/>
<source>About shadPS4</source>
<translation>About shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="315"/>
<source>Configure...</source>
<translation>Configure...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="318"/>
<source>Install application from a .pkg file</source>
<translation>Install application from a .pkg file</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="320"/>
<source>Recent Games</source>
<translation>Recent Games</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="321"/>
<source>Exit</source>
<translation>Exit</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="323"/>
<source>Exit shadPS4</source>
<translation>Exit shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="327"/>
<source>Exit the application.</source>
<translation>Exit the application.</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="330"/>
<source>Show Game List</source>
<translation>Show Game List</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="332"/>
<source>Game List Refresh</source>
<translation>Game List Refresh</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="333"/>
<source>Tiny</source>
<translation>Tiny</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="334"/>
<source>Small</source>
<translation>Small</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="335"/>
<source>Medium</source>
<translation>Medium</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="336"/>
<source>Large</source>
<translation>Large</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="338"/>
<source>List View</source>
<translation>List View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="340"/>
<source>Grid View</source>
<translation>Grid View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="341"/>
<source>Elf Viewer</source>
<translation>Elf Viewer</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="343"/>
<source>Game Install Directory</source>
<translation>Game Install Directory</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="345"/>
<source>Dump Game List</source>
<translation>Dump Game List</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="346"/>
<source>PKG Viewer</source>
<translation>PKG Viewer</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="348"/>
<source>Search...</source>
<translation>Search...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="349"/>
<source>File</source>
<translation>File</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="350"/>
<source>View</source>
<translation>View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="352"/>
<source>Game List Icons</source>
<translation>Game List Icons</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="354"/>
<source>Game List Mode</source>
<translation>Game List Mode</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="355"/>
<source>Settings</source>
<translation>Settings</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="356"/>
<source>Utils</source>
<translation>Utils</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="357"/>
<source>Themes</source>
<translation>Themes</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="358"/>
<source>About</source>
<translation>About</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="359"/>
<source>Dark</source>
<translation>Dark</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="360"/>
<source>Light</source>
<translation>Light</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="361"/>
<source>Green</source>
<translation>Green</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="362"/>
<source>Blue</source>
<translation>Blue</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="363"/>
<source>Violet</source>
<translation>Violet</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="364"/>
<source>toolBar</source>
<translation>toolBar</translation>
</message>
</context>
<context>
<name>PKGViewer</name>
<message>
<location filename="../pkg_viewer.cpp" line="32"/>
<source>Open Folder</source>
<translation>Open Folder</translation>
</message>
</context>
<context>
<name>TrophyViewer</name>
<message>
<location filename="../trophy_viewer.cpp" line="8"/>
<source>Trophy Viewer</source>
<translation>Trophy Viewer</translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<location filename="../settings_dialog.ui" line="29"/>
<source>Settings</source>
<translation>Settings</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="67"/>
<source>General</source>
<translation>General</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="77"/>
<source>System</source>
<translation>System</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="83"/>
<source>Console Language</source>
<translation>Console Language</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="95"/>
<source>Emulator Language</source>
<translation>Emulator Language</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="114"/>
<source>Emulator</source>
<translation>Emulator</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="122"/>
<source>Enable Fullscreen</source>
<translation>Enable Fullscreen</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="129"/>
<source>Show Splash</source>
<translation>Show Splash</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="136"/>
<source>Is PS4 Pro</source>
<translation>Is PS4 Pro</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="155"/>
<source>Username</source>
<translation>Username</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="178"/>
<source>Logger</source>
<translation>Logger</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="199"/>
<source>Log Type</source>
<translation>Log Type</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="235"/>
<source>Log Filter</source>
<translation>Log Filter</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="272"/>
<source>Graphics</source>
<translation>Graphics</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="282"/>
<source>Graphics Device</source>
<translation>Graphics Device</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="326"/>
<source>Width</source>
<translation>Width</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="357"/>
<source>Height</source>
<translation>Height</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="405"/>
<source>Vblank Divider</source>
<translation>Vblank Divider</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="453"/>
<source>Advanced</source>
<translation>Advanced</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="462"/>
<source>Enable Shaders Dumping</source>
<translation>Enable Shaders Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="469"/>
<source>Enable NULL GPU</source>
<translation>Enable NULL GPU</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="476"/>
<source>Enable PM4 Dumping</source>
<translation>Enable PM4 Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="517"/>
<source>Debug</source>
<translation>Debug</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="537"/>
<source>Enable Debug Dumping</source>
<translation>Enable Debug Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="560"/>
<source>Enable Vulkan Validation Layers</source>
<translation>Enable Vulkan Validation Layers</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="567"/>
<source>Enable Vulkan Synchronization Validation</source>
<translation>Enable Vulkan Synchronization Validation</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="574"/>
<source>Enable RenderDoc Debugging</source>
<translation>Enable RenderDoc Debugging</translation>
</message>
</context>
</TS>

View File

@ -0,0 +1,491 @@
<?xml version="1.0" ?><!DOCTYPE TS><TS version="2.1" language="it">
<!-- SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
SPDX-License-Identifier: GPL-2.0-or-later -->
<context>
<name>AboutDialog</name>
<message>
<location filename="../about_dialog.ui" line="16"/>
<source>About shadPS4</source>
<translation>Riguardo shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="60"/>
<source>shadPS4</source>
<translation>shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="78"/>
<source>shadPS4 is an experimental open-source emulator for the PlayStation 4.</source>
<translation>shadPS4 è un emulatore sperimentale open source per Playstation 4.</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="99"/>
<source>This software should not be used to play games you have not legally obtained.</source>
<translation>Questo programma non dovrebbe essere utilizzato per riprodurre giochi che non vengono ottenuti legalmente.</translation>
</message>
</context>
<context>
<name>ElfViewer</name>
<message>
<location filename="../elf_viewer.cpp" line="45"/>
<source>Open Folder</source>
<translation>Apri Cartella</translation>
</message>
</context>
<context>
<name>GameInfoClass</name>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Loading game list, please wait :3</source>
<translation>Caricamento lista giochi, attendere :3</translation>
</message>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Cancel</source>
<translation>Annulla</translation>
</message>
<message>
<location filename="../game_info.cpp" line="27"/>
<source>Loading...</source>
<translation>Caricamento...</translation>
</message>
</context>
<context>
<name>GameInstallDialog</name>
<message>
<location filename="../game_install_dialog.cpp" line="24"/>
<source>shadPS4 - Choose directory</source>
<translation>shadPS4 - Scegli cartella</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="31"/>
<source>Directory to install games</source>
<translation>Cartella di installazione dei giochi</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="50"/>
<source>Browse</source>
<translation>Sfoglia</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="74"/>
<source>Error</source>
<translation>Errore</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="75"/>
<source>The value for location to install games is not valid.</source>
<translation>Il valore del percorso di installazione dei giochi non è valido.</translation>
</message>
</context>
<context>
<name>GuiContextMenus</name>
<message>
<location filename="../gui_context_menus.h" line="39"/>
<source>Create Shortcut</source>
<translation>Crea scorciatoia</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="40"/>
<source>Open Game Folder</source>
<translation>Apri cartella del gioco</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="41"/>
<source>SFO Viewer</source>
<translation>Visualizzatore SFO</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="42"/>
<source>Trophy Viewer</source>
<translation>Visualizzatore Trofei</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="50"/>
<source>Copy info</source>
<translation>Copia informazioni</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="51"/>
<source>Copy Name</source>
<translation>Copia Nome</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="52"/>
<source>Copy Serial</source>
<translation>Copia Seriale</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="53"/>
<source>Copy All</source>
<translation>Copia Tutto</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="173"/>
<source>Shortcut creation</source>
<translation>Creazione scorciatoia</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="174"/>
<source>Shortcut created successfully!\n %1</source>
<translation>Scorciatoia creata con successo!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="177"/>
<source>Error</source>
<translation>Errore</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="178"/>
<source>Error creating shortcut!\n %1</source>
<translation>Errore nella creazione della scorciatoia!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="253"/>
<source>Install PKG</source>
<translation>Installa PKG</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../main_window_ui.h" line="310"/>
<source>Open/Add Elf Folder</source>
<translation>Apri/Aggiungi cartella Elf</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="312"/>
<source>Install Packages (PKG)</source>
<translation>Installa Pacchetti (PKG)</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="313"/>
<source>Boot Game</source>
<translation>Avvia Gioco</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="314"/>
<source>About shadPS4</source>
<translation>Riguardo a shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="315"/>
<source>Configure...</source>
<translation>Configura...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="318"/>
<source>Install application from a .pkg file</source>
<translation>Installa applicaazione da un .pkg file</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="320"/>
<source>Recent Games</source>
<translation>Giochi Recenti</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="321"/>
<source>Exit</source>
<translation>Uscita</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="323"/>
<source>Exit shadPS4</source>
<translation>Esci da shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="327"/>
<source>Exit the application.</source>
<translation>Esci dall'applicazione.</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="330"/>
<source>Show Game List</source>
<translation>Mostra Lista Giochi</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="332"/>
<source>Game List Refresh</source>
<translation>Aggiorna Lista Giochi</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="333"/>
<source>Tiny</source>
<translation>Minuscolo</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="334"/>
<source>Small</source>
<translation>Piccolo</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="335"/>
<source>Medium</source>
<translation>Medio</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="336"/>
<source>Large</source>
<translation>Grande</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="338"/>
<source>List View</source>
<translation>Visualizzazione lista</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="340"/>
<source>Grid View</source>
<translation>Visualizzazione Griglia</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="341"/>
<source>Elf Viewer</source>
<translation>Visualizzatore Elf</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="343"/>
<source>Game Install Directory</source>
<translation>Cartella Installazione Giochi</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="345"/>
<source>Dump Game List</source>
<translation>Scarica Lista Giochi</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="346"/>
<source>PKG Viewer</source>
<translation>Visualizzatore PKG</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="348"/>
<source>Search...</source>
<translation>Cerca...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="349"/>
<source>File</source>
<translation>File</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="350"/>
<source>View</source>
<translation>Visualizza</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="352"/>
<source>Game List Icons</source>
<translation>Icone Lista Giochi</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="354"/>
<source>Game List Mode</source>
<translation>Modalità Lista Giochi</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="355"/>
<source>Settings</source>
<translation>Impostazioni</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="356"/>
<source>Utils</source>
<translation>Utilità</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="357"/>
<source>Themes</source>
<translation>Temi</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="358"/>
<source>About</source>
<translation>Info su</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="359"/>
<source>Dark</source>
<translation>Scuro</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="360"/>
<source>Light</source>
<translation>Chiaro</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="361"/>
<source>Green</source>
<translation>Verde</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="362"/>
<source>Blue</source>
<translation>Blu</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="363"/>
<source>Violet</source>
<translation>Viola</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="364"/>
<source>toolBar</source>
<translation>barra strumenti</translation>
</message>
</context>
<context>
<name>PKGViewer</name>
<message>
<location filename="../pkg_viewer.cpp" line="32"/>
<source>Open Folder</source>
<translation>Apri Cartella</translation>
</message>
</context>
<context>
<name>TrophyViewer</name>
<message>
<location filename="../trophy_viewer.cpp" line="8"/>
<source>Visualizzatore Trofei</source>
<translation>Trophy Viewer</translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<location filename="../settings_dialog.ui" line="29"/>
<source>Settings</source>
<translation>Impostazioni</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="67"/>
<source>General</source>
<translation>Generale</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="77"/>
<source>System</source>
<translation>Systema</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="83"/>
<source>Console Language</source>
<translation>Lingua della console</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="95"/>
<source>Emulator Language</source>
<translation>Lingua dell'emulatore</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="114"/>
<source>Emulator</source>
<translation>Emulatore</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="122"/>
<source>Enable Fullscreen</source>
<translation>Abilita Schermo Intero</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="129"/>
<source>Show Splash</source>
<translation>Mostra Schermata Iniziale</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="136"/>
<source>Is PS4 Pro</source>
<translation>Modalità Ps4Pro</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="155"/>
<source>Username</source>
<translation>Nome Utente</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="178"/>
<source>Logger</source>
<translation>Logger</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="199"/>
<source>Log Type</source>
<translation>Tipo di Log</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="235"/>
<source>Log Filter</source>
<translation>Filtro Log</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="272"/>
<source>Graphics</source>
<translation>Grafica</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="282"/>
<source>Graphics Device</source>
<translation>Adattatore grafico</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="326"/>
<source>Width</source>
<translation>Larghezza</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="357"/>
<source>Height</source>
<translation>Altezza</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="405"/>
<source>Vblank Divider</source>
<translation>Divisore Vblank</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="453"/>
<source>Advanced</source>
<translation>Avanzato</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="462"/>
<source>Enable Shaders Dumping</source>
<translation>Abilita Scaricamento Shader</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="469"/>
<source>Enable NULL GPU</source>
<translation>Abilita NULL GPU</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="476"/>
<source>Enable PM4 Dumping</source>
<translation>Abilita Scaricamento PM4</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="517"/>
<source>Debug</source>
<translation>Debug</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="537"/>
<source>Enable Debug Dumping</source>
<translation>Abilita Scaricamento Debug</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="560"/>
<source>Enable Vulkan Validation Layers</source>
<translation>Abilita Vulkan Validation Layers</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="567"/>
<source>Enable Vulkan Synchronization Validation</source>
<translation>Abilita Vulkan Synchronization Validation</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="574"/>
<source>Enable RenderDoc Debugging</source>
<translation>Abilita Debugging RenderDoc</translation>
</message>
</context>
</TS>

View File

@ -0,0 +1,491 @@
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE TS><TS version="2.1" language="ja_JP">
<!-- SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
SPDX-License-Identifier: GPL-2.0-or-later -->
<context>
<name>AboutDialog</name>
<message>
<location filename="../about_dialog.ui" line="16"/>
<source>About shadPS4</source>
<translation>shadPS4について</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="60"/>
<source>shadPS4</source>
<translation>shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="78"/>
<source>shadPS4 is an experimental open-source emulator for the PlayStation 4.</source>
<translation>shadPS4はPlayStation 4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="99"/>
<source>This software should not be used to play games you have not legally obtained.</source>
<translation>使</translation>
</message>
</context>
<context>
<name>ElfViewer</name>
<message>
<location filename="../elf_viewer.cpp" line="45"/>
<source>Open Folder</source>
<translation></translation>
</message>
</context>
<context>
<name>GameInfoClass</name>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Loading game list, please wait :3</source>
<translation>お待ちください :3</translation>
</message>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Cancel</source>
<translation></translation>
</message>
<message>
<location filename="../game_info.cpp" line="27"/>
<source>Loading...</source>
<translation>...</translation>
</message>
</context>
<context>
<name>GameInstallDialog</name>
<message>
<location filename="../game_install_dialog.cpp" line="24"/>
<source>shadPS4 - Choose directory</source>
<translation>shadPS4 - </translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="31"/>
<source>Directory to install games</source>
<translation></translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="50"/>
<source>Browse</source>
<translation></translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="74"/>
<source>Error</source>
<translation></translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="75"/>
<source>The value for location to install games is not valid.</source>
<translation></translation>
</message>
</context>
<context>
<name>GuiContextMenus</name>
<message>
<location filename="../gui_context_menus.h" line="39"/>
<source>Create Shortcut</source>
<translation></translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="40"/>
<source>Open Game Folder</source>
<translation></translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="41"/>
<source>SFO Viewer</source>
<translation>SFOビューワー</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="42"/>
<source>Trophy Viewer</source>
<translation></translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="50"/>
<source>Copy info</source>
<translation></translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="51"/>
<source>Copy Name</source>
<translation></translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="52"/>
<source>Copy Serial</source>
<translation></translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="53"/>
<source>Copy All</source>
<translation></translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="173"/>
<source>Shortcut creation</source>
<translation></translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="174"/>
<source>Shortcut created successfully!\n %1</source>
<translation>!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="177"/>
<source>Error</source>
<translation></translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="178"/>
<source>Error creating shortcut!\n %1</source>
<translation>!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="253"/>
<source>Install PKG</source>
<translation>PKGをインストール</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../main_window_ui.h" line="310"/>
<source>Open/Add Elf Folder</source>
<translation>Elfフォルダを開く/</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="312"/>
<source>Install Packages (PKG)</source>
<translation> (PKG)</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="313"/>
<source>Boot Game</source>
<translation></translation>
</message>
<message>
<location filename="../main_window_ui.h" line="314"/>
<source>About shadPS4</source>
<translation>shadPS4について</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="315"/>
<source>Configure...</source>
<translation>...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="318"/>
<source>Install application from a .pkg file</source>
<translation>.pkgファイルからアプリケーションをインストールする</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="320"/>
<source>Recent Games</source>
<translation></translation>
</message>
<message>
<location filename="../main_window_ui.h" line="321"/>
<source>Exit</source>
<translation></translation>
</message>
<message>
<location filename="../main_window_ui.h" line="323"/>
<source>Exit shadPS4</source>
<translation>shadPS4を終了</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="327"/>
<source>Exit the application.</source>
<translation></translation>
</message>
<message>
<location filename="../main_window_ui.h" line="330"/>
<source>Show Game List</source>
<translation></translation>
</message>
<message>
<location filename="../main_window_ui.h" line="332"/>
<source>Game List Refresh</source>
<translation></translation>
</message>
<message>
<location filename="../main_window_ui.h" line="333"/>
<source>Tiny</source>
<translation></translation>
</message>
<message>
<location filename="../main_window_ui.h" line="334"/>
<source>Small</source>
<translation></translation>
</message>
<message>
<location filename="../main_window_ui.h" line="335"/>
<source>Medium</source>
<translation></translation>
</message>
<message>
<location filename="../main_window_ui.h" line="336"/>
<source>Large</source>
<translation></translation>
</message>
<message>
<location filename="../main_window_ui.h" line="338"/>
<source>List View</source>
<translation></translation>
</message>
<message>
<location filename="../main_window_ui.h" line="340"/>
<source>Grid View</source>
<translation></translation>
</message>
<message>
<location filename="../main_window_ui.h" line="341"/>
<source>Elf Viewer</source>
<translation>Elfビュワー</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="343"/>
<source>Game Install Directory</source>
<translation></translation>
</message>
<message>
<location filename="../main_window_ui.h" line="345"/>
<source>Dump Game List</source>
<translation></translation>
</message>
<message>
<location filename="../main_window_ui.h" line="346"/>
<source>PKG Viewer</source>
<translation>PKGビューアー</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="348"/>
<source>Search...</source>
<translation>...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="349"/>
<source>File</source>
<translation></translation>
</message>
<message>
<location filename="../main_window_ui.h" line="350"/>
<source>View</source>
<translation></translation>
</message>
<message>
<location filename="../main_window_ui.h" line="352"/>
<source>Game List Icons</source>
<translation></translation>
</message>
<message>
<location filename="../main_window_ui.h" line="354"/>
<source>Game List Mode</source>
<translation></translation>
</message>
<message>
<location filename="../main_window_ui.h" line="355"/>
<source>Settings</source>
<translation></translation>
</message>
<message>
<location filename="../main_window_ui.h" line="356"/>
<source>Utils</source>
<translation></translation>
</message>
<message>
<location filename="../main_window_ui.h" line="357"/>
<source>Themes</source>
<translation></translation>
</message>
<message>
<location filename="../main_window_ui.h" line="358"/>
<source>About</source>
<translation></translation>
</message>
<message>
<location filename="../main_window_ui.h" line="359"/>
<source>Dark</source>
<translation></translation>
</message>
<message>
<location filename="../main_window_ui.h" line="360"/>
<source>Light</source>
<translation></translation>
</message>
<message>
<location filename="../main_window_ui.h" line="361"/>
<source>Green</source>
<translation></translation>
</message>
<message>
<location filename="../main_window_ui.h" line="362"/>
<source>Blue</source>
<translation></translation>
</message>
<message>
<location filename="../main_window_ui.h" line="363"/>
<source>Violet</source>
<translation></translation>
</message>
<message>
<location filename="../main_window_ui.h" line="364"/>
<source>toolBar</source>
<translation></translation>
</message>
</context>
<context>
<name>PKGViewer</name>
<message>
<location filename="../pkg_viewer.cpp" line="32"/>
<source>Open Folder</source>
<translation></translation>
</message>
</context>
<context>
<name>TrophyViewer</name>
<message>
<location filename="../trophy_viewer.cpp" line="8"/>
<source>Trophy Viewer</source>
<translation></translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<location filename="../settings_dialog.ui" line="29"/>
<source>Settings</source>
<translation></translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="67"/>
<source>General</source>
<translation></translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="77"/>
<source>System</source>
<translation></translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="83"/>
<source>Console Language</source>
<translation></translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="95"/>
<source>Emulator Language</source>
<translation></translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="114"/>
<source>Emulator</source>
<translation></translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="122"/>
<source>Enable Fullscreen</source>
<translation></translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="129"/>
<source>Show Splash</source>
<translation></translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="136"/>
<source>Is PS4 Pro</source>
<translation>PS4 Proモード</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="155"/>
<source>Username</source>
<translation></translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="178"/>
<source>Logger</source>
<translation></translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="199"/>
<source>Log Type</source>
<translation></translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="235"/>
<source>Log Filter</source>
<translation></translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="272"/>
<source>Graphics</source>
<translation></translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="282"/>
<source>Graphics Device</source>
<translation></translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="326"/>
<source>Width</source>
<translation></translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="357"/>
<source>Height</source>
<translation></translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="405"/>
<source>Vblank Divider</source>
<translation>Vblankディバイダー</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="453"/>
<source>Advanced</source>
<translation></translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="462"/>
<source>Enable Shaders Dumping</source>
<translation></translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="469"/>
<source>Enable NULL GPU</source>
<translation>NULL GPUを有効にする</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="476"/>
<source>Enable PM4 Dumping</source>
<translation>PM4ダンプを有効にする</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="517"/>
<source>Debug</source>
<translation></translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="537"/>
<source>Enable Debug Dumping</source>
<translation></translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="560"/>
<source>Enable Vulkan Validation Layers</source>
<translation>Vulkan検証レイヤーを有効にする</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="567"/>
<source>Enable Vulkan Synchronization Validation</source>
<translation>Vulkan同期検証を有効にする</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="574"/>
<source>Enable RenderDoc Debugging</source>
<translation>RenderDocデバッグを有効にする</translation>
</message>
</context>
</TS>

View File

@ -0,0 +1,491 @@
<?xml version="1.0" ?><!DOCTYPE TS><TS version="2.1" language="ko_KR">
<!-- SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
SPDX-License-Identifier: GPL-2.0-or-later -->
<context>
<name>AboutDialog</name>
<message>
<location filename="../about_dialog.ui" line="16"/>
<source>About shadPS4</source>
<translation>About shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="60"/>
<source>shadPS4</source>
<translation>shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="78"/>
<source>shadPS4 is an experimental open-source emulator for the PlayStation 4.</source>
<translation>shadPS4 is an experimental open-source emulator for the PlayStation 4.</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="99"/>
<source>This software should not be used to play games you have not legally obtained.</source>
<translation>This software should not be used to play games you have not legally obtained.</translation>
</message>
</context>
<context>
<name>ElfViewer</name>
<message>
<location filename="../elf_viewer.cpp" line="45"/>
<source>Open Folder</source>
<translation>Open Folder</translation>
</message>
</context>
<context>
<name>GameInfoClass</name>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Loading game list, please wait :3</source>
<translation>Loading game list, please wait :3</translation>
</message>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Cancel</source>
<translation>Cancel</translation>
</message>
<message>
<location filename="../game_info.cpp" line="27"/>
<source>Loading...</source>
<translation>Loading...</translation>
</message>
</context>
<context>
<name>GameInstallDialog</name>
<message>
<location filename="../game_install_dialog.cpp" line="24"/>
<source>shadPS4 - Choose directory</source>
<translation>shadPS4 - Choose directory</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="31"/>
<source>Directory to install games</source>
<translation>Directory to install games</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="50"/>
<source>Browse</source>
<translation>Browse</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="74"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="75"/>
<source>The value for location to install games is not valid.</source>
<translation>The value for location to install games is not valid.</translation>
</message>
</context>
<context>
<name>GuiContextMenus</name>
<message>
<location filename="../gui_context_menus.h" line="39"/>
<source>Create Shortcut</source>
<translation>Create Shortcut</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="40"/>
<source>Open Game Folder</source>
<translation>Open Game Folder</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="41"/>
<source>SFO Viewer</source>
<translation>SFO Viewer</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="42"/>
<source>Trophy Viewer</source>
<translation>Trophy Viewer</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="50"/>
<source>Copy info</source>
<translation>Copy info</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="51"/>
<source>Copy Name</source>
<translation>Copy Name</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="52"/>
<source>Copy Serial</source>
<translation>Copy Serial</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="53"/>
<source>Copy All</source>
<translation>Copy All</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="173"/>
<source>Shortcut creation</source>
<translation>Shortcut creation</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="174"/>
<source>Shortcut created successfully!\n %1</source>
<translation>Shortcut created successfully!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="177"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="178"/>
<source>Error creating shortcut!\n %1</source>
<translation>Error creating shortcut!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="253"/>
<source>Install PKG</source>
<translation>Install PKG</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../main_window_ui.h" line="310"/>
<source>Open/Add Elf Folder</source>
<translation>Open/Add Elf Folder</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="312"/>
<source>Install Packages (PKG)</source>
<translation>Install Packages (PKG)</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="313"/>
<source>Boot Game</source>
<translation>Boot Game</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="314"/>
<source>About shadPS4</source>
<translation>About shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="315"/>
<source>Configure...</source>
<translation>Configure...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="318"/>
<source>Install application from a .pkg file</source>
<translation>Install application from a .pkg file</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="320"/>
<source>Recent Games</source>
<translation>Recent Games</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="321"/>
<source>Exit</source>
<translation>Exit</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="323"/>
<source>Exit shadPS4</source>
<translation>Exit shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="327"/>
<source>Exit the application.</source>
<translation>Exit the application.</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="330"/>
<source>Show Game List</source>
<translation>Show Game List</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="332"/>
<source>Game List Refresh</source>
<translation>Game List Refresh</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="333"/>
<source>Tiny</source>
<translation>Tiny</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="334"/>
<source>Small</source>
<translation>Small</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="335"/>
<source>Medium</source>
<translation>Medium</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="336"/>
<source>Large</source>
<translation>Large</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="338"/>
<source>List View</source>
<translation>List View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="340"/>
<source>Grid View</source>
<translation>Grid View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="341"/>
<source>Elf Viewer</source>
<translation>Elf Viewer</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="343"/>
<source>Game Install Directory</source>
<translation>Game Install Directory</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="345"/>
<source>Dump Game List</source>
<translation>Dump Game List</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="346"/>
<source>PKG Viewer</source>
<translation>PKG Viewer</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="348"/>
<source>Search...</source>
<translation>Search...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="349"/>
<source>File</source>
<translation>File</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="350"/>
<source>View</source>
<translation>View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="352"/>
<source>Game List Icons</source>
<translation>Game List Icons</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="354"/>
<source>Game List Mode</source>
<translation>Game List Mode</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="355"/>
<source>Settings</source>
<translation>Settings</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="356"/>
<source>Utils</source>
<translation>Utils</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="357"/>
<source>Themes</source>
<translation>Themes</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="358"/>
<source>About</source>
<translation>About</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="359"/>
<source>Dark</source>
<translation>Dark</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="360"/>
<source>Light</source>
<translation>Light</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="361"/>
<source>Green</source>
<translation>Green</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="362"/>
<source>Blue</source>
<translation>Blue</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="363"/>
<source>Violet</source>
<translation>Violet</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="364"/>
<source>toolBar</source>
<translation>toolBar</translation>
</message>
</context>
<context>
<name>PKGViewer</name>
<message>
<location filename="../pkg_viewer.cpp" line="32"/>
<source>Open Folder</source>
<translation>Open Folder</translation>
</message>
</context>
<context>
<name>TrophyViewer</name>
<message>
<location filename="../trophy_viewer.cpp" line="8"/>
<source>Trophy Viewer</source>
<translation>Trophy Viewer</translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<location filename="../settings_dialog.ui" line="29"/>
<source>Settings</source>
<translation>Settings</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="67"/>
<source>General</source>
<translation>General</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="77"/>
<source>System</source>
<translation>System</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="83"/>
<source>Console Language</source>
<translation>Console Language</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="95"/>
<source>Emulator Language</source>
<translation>Emulator Language</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="114"/>
<source>Emulator</source>
<translation>Emulator</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="122"/>
<source>Enable Fullscreen</source>
<translation>Enable Fullscreen</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="129"/>
<source>Show Splash</source>
<translation>Show Splash</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="136"/>
<source>Is PS4 Pro</source>
<translation>Is PS4 Pro</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="155"/>
<source>Username</source>
<translation>Username</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="178"/>
<source>Logger</source>
<translation>Logger</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="199"/>
<source>Log Type</source>
<translation>Log Type</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="235"/>
<source>Log Filter</source>
<translation>Log Filter</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="272"/>
<source>Graphics</source>
<translation>Graphics</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="282"/>
<source>Graphics Device</source>
<translation>Graphics Device</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="326"/>
<source>Width</source>
<translation>Width</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="357"/>
<source>Height</source>
<translation>Height</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="405"/>
<source>Vblank Divider</source>
<translation>Vblank Divider</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="453"/>
<source>Advanced</source>
<translation>Advanced</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="462"/>
<source>Enable Shaders Dumping</source>
<translation>Enable Shaders Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="469"/>
<source>Enable NULL GPU</source>
<translation>Enable NULL GPU</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="476"/>
<source>Enable PM4 Dumping</source>
<translation>Enable PM4 Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="517"/>
<source>Debug</source>
<translation>Debug</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="537"/>
<source>Enable Debug Dumping</source>
<translation>Enable Debug Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="560"/>
<source>Enable Vulkan Validation Layers</source>
<translation>Enable Vulkan Validation Layers</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="567"/>
<source>Enable Vulkan Synchronization Validation</source>
<translation>Enable Vulkan Synchronization Validation</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="574"/>
<source>Enable RenderDoc Debugging</source>
<translation>Enable RenderDoc Debugging</translation>
</message>
</context>
</TS>

View File

@ -0,0 +1,491 @@
<?xml version="1.0" ?><!DOCTYPE TS><TS version="2.1" language="it_LT">
<!-- SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
SPDX-License-Identifier: GPL-2.0-or-later -->
<context>
<name>AboutDialog</name>
<message>
<location filename="../about_dialog.ui" line="16"/>
<source>About shadPS4</source>
<translation>About shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="60"/>
<source>shadPS4</source>
<translation>shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="78"/>
<source>shadPS4 is an experimental open-source emulator for the PlayStation 4.</source>
<translation>shadPS4 is an experimental open-source emulator for the PlayStation 4.</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="99"/>
<source>This software should not be used to play games you have not legally obtained.</source>
<translation>This software should not be used to play games you have not legally obtained.</translation>
</message>
</context>
<context>
<name>ElfViewer</name>
<message>
<location filename="../elf_viewer.cpp" line="45"/>
<source>Open Folder</source>
<translation>Open Folder</translation>
</message>
</context>
<context>
<name>GameInfoClass</name>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Loading game list, please wait :3</source>
<translation>Loading game list, please wait :3</translation>
</message>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Cancel</source>
<translation>Cancel</translation>
</message>
<message>
<location filename="../game_info.cpp" line="27"/>
<source>Loading...</source>
<translation>Loading...</translation>
</message>
</context>
<context>
<name>GameInstallDialog</name>
<message>
<location filename="../game_install_dialog.cpp" line="24"/>
<source>shadPS4 - Choose directory</source>
<translation>shadPS4 - Choose directory</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="31"/>
<source>Directory to install games</source>
<translation>Directory to install games</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="50"/>
<source>Browse</source>
<translation>Browse</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="74"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="75"/>
<source>The value for location to install games is not valid.</source>
<translation>The value for location to install games is not valid.</translation>
</message>
</context>
<context>
<name>GuiContextMenus</name>
<message>
<location filename="../gui_context_menus.h" line="39"/>
<source>Create Shortcut</source>
<translation>Create Shortcut</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="40"/>
<source>Open Game Folder</source>
<translation>Open Game Folder</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="41"/>
<source>SFO Viewer</source>
<translation>SFO Viewer</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="42"/>
<source>Trophy Viewer</source>
<translation>Trophy Viewer</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="50"/>
<source>Copy info</source>
<translation>Copy info</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="51"/>
<source>Copy Name</source>
<translation>Copy Name</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="52"/>
<source>Copy Serial</source>
<translation>Copy Serial</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="53"/>
<source>Copy All</source>
<translation>Copy All</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="173"/>
<source>Shortcut creation</source>
<translation>Shortcut creation</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="174"/>
<source>Shortcut created successfully!\n %1</source>
<translation>Shortcut created successfully!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="177"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="178"/>
<source>Error creating shortcut!\n %1</source>
<translation>Error creating shortcut!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="253"/>
<source>Install PKG</source>
<translation>Install PKG</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../main_window_ui.h" line="310"/>
<source>Open/Add Elf Folder</source>
<translation>Open/Add Elf Folder</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="312"/>
<source>Install Packages (PKG)</source>
<translation>Install Packages (PKG)</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="313"/>
<source>Boot Game</source>
<translation>Boot Game</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="314"/>
<source>About shadPS4</source>
<translation>About shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="315"/>
<source>Configure...</source>
<translation>Configure...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="318"/>
<source>Install application from a .pkg file</source>
<translation>Install application from a .pkg file</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="320"/>
<source>Recent Games</source>
<translation>Recent Games</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="321"/>
<source>Exit</source>
<translation>Exit</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="323"/>
<source>Exit shadPS4</source>
<translation>Exit shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="327"/>
<source>Exit the application.</source>
<translation>Exit the application.</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="330"/>
<source>Show Game List</source>
<translation>Show Game List</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="332"/>
<source>Game List Refresh</source>
<translation>Game List Refresh</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="333"/>
<source>Tiny</source>
<translation>Tiny</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="334"/>
<source>Small</source>
<translation>Small</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="335"/>
<source>Medium</source>
<translation>Medium</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="336"/>
<source>Large</source>
<translation>Large</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="338"/>
<source>List View</source>
<translation>List View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="340"/>
<source>Grid View</source>
<translation>Grid View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="341"/>
<source>Elf Viewer</source>
<translation>Elf Viewer</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="343"/>
<source>Game Install Directory</source>
<translation>Game Install Directory</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="345"/>
<source>Dump Game List</source>
<translation>Dump Game List</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="346"/>
<source>PKG Viewer</source>
<translation>PKG Viewer</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="348"/>
<source>Search...</source>
<translation>Search...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="349"/>
<source>File</source>
<translation>File</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="350"/>
<source>View</source>
<translation>View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="352"/>
<source>Game List Icons</source>
<translation>Game List Icons</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="354"/>
<source>Game List Mode</source>
<translation>Game List Mode</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="355"/>
<source>Settings</source>
<translation>Settings</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="356"/>
<source>Utils</source>
<translation>Utils</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="357"/>
<source>Themes</source>
<translation>Themes</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="358"/>
<source>About</source>
<translation>About</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="359"/>
<source>Dark</source>
<translation>Dark</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="360"/>
<source>Light</source>
<translation>Light</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="361"/>
<source>Green</source>
<translation>Green</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="362"/>
<source>Blue</source>
<translation>Blue</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="363"/>
<source>Violet</source>
<translation>Violet</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="364"/>
<source>toolBar</source>
<translation>toolBar</translation>
</message>
</context>
<context>
<name>PKGViewer</name>
<message>
<location filename="../pkg_viewer.cpp" line="32"/>
<source>Open Folder</source>
<translation>Open Folder</translation>
</message>
</context>
<context>
<name>TrophyViewer</name>
<message>
<location filename="../trophy_viewer.cpp" line="8"/>
<source>Trophy Viewer</source>
<translation>Trophy Viewer</translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<location filename="../settings_dialog.ui" line="29"/>
<source>Settings</source>
<translation>Settings</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="67"/>
<source>General</source>
<translation>General</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="77"/>
<source>System</source>
<translation>System</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="83"/>
<source>Console Language</source>
<translation>Console Language</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="95"/>
<source>Emulator Language</source>
<translation>Emulator Language</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="114"/>
<source>Emulator</source>
<translation>Emulator</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="122"/>
<source>Enable Fullscreen</source>
<translation>Enable Fullscreen</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="129"/>
<source>Show Splash</source>
<translation>Show Splash</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="136"/>
<source>Is PS4 Pro</source>
<translation>Is PS4 Pro</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="155"/>
<source>Username</source>
<translation>Username</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="178"/>
<source>Logger</source>
<translation>Logger</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="199"/>
<source>Log Type</source>
<translation>Log Type</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="235"/>
<source>Log Filter</source>
<translation>Log Filter</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="272"/>
<source>Graphics</source>
<translation>Graphics</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="282"/>
<source>Graphics Device</source>
<translation>Graphics Device</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="326"/>
<source>Width</source>
<translation>Width</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="357"/>
<source>Height</source>
<translation>Height</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="405"/>
<source>Vblank Divider</source>
<translation>Vblank Divider</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="453"/>
<source>Advanced</source>
<translation>Advanced</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="462"/>
<source>Enable Shaders Dumping</source>
<translation>Enable Shaders Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="469"/>
<source>Enable NULL GPU</source>
<translation>Enable NULL GPU</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="476"/>
<source>Enable PM4 Dumping</source>
<translation>Enable PM4 Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="517"/>
<source>Debug</source>
<translation>Debug</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="537"/>
<source>Enable Debug Dumping</source>
<translation>Enable Debug Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="560"/>
<source>Enable Vulkan Validation Layers</source>
<translation>Enable Vulkan Validation Layers</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="567"/>
<source>Enable Vulkan Synchronization Validation</source>
<translation>Enable Vulkan Synchronization Validation</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="574"/>
<source>Enable RenderDoc Debugging</source>
<translation>Enable RenderDoc Debugging</translation>
</message>
</context>
</TS>

View File

@ -0,0 +1,491 @@
<?xml version="1.0" ?><!DOCTYPE TS><TS version="2.1" language="nb">
<!-- SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
SPDX-License-Identifier: GPL-2.0-or-later -->
<context>
<name>AboutDialog</name>
<message>
<location filename="../about_dialog.ui" line="16"/>
<source>About shadPS4</source>
<translation>About shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="60"/>
<source>shadPS4</source>
<translation>shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="78"/>
<source>shadPS4 is an experimental open-source emulator for the PlayStation 4.</source>
<translation>shadPS4 is an experimental open-source emulator for the PlayStation 4.</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="99"/>
<source>This software should not be used to play games you have not legally obtained.</source>
<translation>This software should not be used to play games you have not legally obtained.</translation>
</message>
</context>
<context>
<name>ElfViewer</name>
<message>
<location filename="../elf_viewer.cpp" line="45"/>
<source>Open Folder</source>
<translation>Open Folder</translation>
</message>
</context>
<context>
<name>GameInfoClass</name>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Loading game list, please wait :3</source>
<translation>Loading game list, please wait :3</translation>
</message>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Cancel</source>
<translation>Cancel</translation>
</message>
<message>
<location filename="../game_info.cpp" line="27"/>
<source>Loading...</source>
<translation>Loading...</translation>
</message>
</context>
<context>
<name>GameInstallDialog</name>
<message>
<location filename="../game_install_dialog.cpp" line="24"/>
<source>shadPS4 - Choose directory</source>
<translation>shadPS4 - Choose directory</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="31"/>
<source>Directory to install games</source>
<translation>Directory to install games</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="50"/>
<source>Browse</source>
<translation>Browse</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="74"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="75"/>
<source>The value for location to install games is not valid.</source>
<translation>The value for location to install games is not valid.</translation>
</message>
</context>
<context>
<name>GuiContextMenus</name>
<message>
<location filename="../gui_context_menus.h" line="39"/>
<source>Create Shortcut</source>
<translation>Create Shortcut</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="40"/>
<source>Open Game Folder</source>
<translation>Open Game Folder</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="41"/>
<source>SFO Viewer</source>
<translation>SFO Viewer</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="42"/>
<source>Trophy Viewer</source>
<translation>Trophy Viewer</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="50"/>
<source>Copy info</source>
<translation>Copy info</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="51"/>
<source>Copy Name</source>
<translation>Copy Name</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="52"/>
<source>Copy Serial</source>
<translation>Copy Serial</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="53"/>
<source>Copy All</source>
<translation>Copy All</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="173"/>
<source>Shortcut creation</source>
<translation>Shortcut creation</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="174"/>
<source>Shortcut created successfully!\n %1</source>
<translation>Shortcut created successfully!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="177"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="178"/>
<source>Error creating shortcut!\n %1</source>
<translation>Error creating shortcut!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="253"/>
<source>Install PKG</source>
<translation>Install PKG</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../main_window_ui.h" line="310"/>
<source>Open/Add Elf Folder</source>
<translation>Open/Add Elf Folder</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="312"/>
<source>Install Packages (PKG)</source>
<translation>Install Packages (PKG)</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="313"/>
<source>Boot Game</source>
<translation>Boot Game</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="314"/>
<source>About shadPS4</source>
<translation>About shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="315"/>
<source>Configure...</source>
<translation>Configure...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="318"/>
<source>Install application from a .pkg file</source>
<translation>Install application from a .pkg file</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="320"/>
<source>Recent Games</source>
<translation>Recent Games</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="321"/>
<source>Exit</source>
<translation>Exit</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="323"/>
<source>Exit shadPS4</source>
<translation>Exit shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="327"/>
<source>Exit the application.</source>
<translation>Exit the application.</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="330"/>
<source>Show Game List</source>
<translation>Show Game List</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="332"/>
<source>Game List Refresh</source>
<translation>Game List Refresh</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="333"/>
<source>Tiny</source>
<translation>Tiny</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="334"/>
<source>Small</source>
<translation>Small</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="335"/>
<source>Medium</source>
<translation>Medium</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="336"/>
<source>Large</source>
<translation>Large</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="338"/>
<source>List View</source>
<translation>List View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="340"/>
<source>Grid View</source>
<translation>Grid View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="341"/>
<source>Elf Viewer</source>
<translation>Elf Viewer</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="343"/>
<source>Game Install Directory</source>
<translation>Game Install Directory</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="345"/>
<source>Dump Game List</source>
<translation>Dump Game List</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="346"/>
<source>PKG Viewer</source>
<translation>PKG Viewer</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="348"/>
<source>Search...</source>
<translation>Search...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="349"/>
<source>File</source>
<translation>File</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="350"/>
<source>View</source>
<translation>View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="352"/>
<source>Game List Icons</source>
<translation>Game List Icons</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="354"/>
<source>Game List Mode</source>
<translation>Game List Mode</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="355"/>
<source>Settings</source>
<translation>Settings</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="356"/>
<source>Utils</source>
<translation>Utils</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="357"/>
<source>Themes</source>
<translation>Themes</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="358"/>
<source>About</source>
<translation>About</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="359"/>
<source>Dark</source>
<translation>Dark</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="360"/>
<source>Light</source>
<translation>Light</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="361"/>
<source>Green</source>
<translation>Green</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="362"/>
<source>Blue</source>
<translation>Blue</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="363"/>
<source>Violet</source>
<translation>Violet</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="364"/>
<source>toolBar</source>
<translation>toolBar</translation>
</message>
</context>
<context>
<name>PKGViewer</name>
<message>
<location filename="../pkg_viewer.cpp" line="32"/>
<source>Open Folder</source>
<translation>Open Folder</translation>
</message>
</context>
<context>
<name>TrophyViewer</name>
<message>
<location filename="../trophy_viewer.cpp" line="8"/>
<source>Trophy Viewer</source>
<translation>Trophy Viewer</translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<location filename="../settings_dialog.ui" line="29"/>
<source>Settings</source>
<translation>Settings</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="67"/>
<source>General</source>
<translation>General</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="77"/>
<source>System</source>
<translation>System</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="83"/>
<source>Console Language</source>
<translation>Console Language</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="95"/>
<source>Emulator Language</source>
<translation>Emulator Language</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="114"/>
<source>Emulator</source>
<translation>Emulator</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="122"/>
<source>Enable Fullscreen</source>
<translation>Enable Fullscreen</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="129"/>
<source>Show Splash</source>
<translation>Show Splash</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="136"/>
<source>Is PS4 Pro</source>
<translation>Is PS4 Pro</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="155"/>
<source>Username</source>
<translation>Username</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="178"/>
<source>Logger</source>
<translation>Logger</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="199"/>
<source>Log Type</source>
<translation>Log Type</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="235"/>
<source>Log Filter</source>
<translation>Log Filter</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="272"/>
<source>Graphics</source>
<translation>Graphics</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="282"/>
<source>Graphics Device</source>
<translation>Graphics Device</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="326"/>
<source>Width</source>
<translation>Width</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="357"/>
<source>Height</source>
<translation>Height</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="405"/>
<source>Vblank Divider</source>
<translation>Vblank Divider</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="453"/>
<source>Advanced</source>
<translation>Advanced</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="462"/>
<source>Enable Shaders Dumping</source>
<translation>Enable Shaders Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="469"/>
<source>Enable NULL GPU</source>
<translation>Enable NULL GPU</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="476"/>
<source>Enable PM4 Dumping</source>
<translation>Enable PM4 Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="517"/>
<source>Debug</source>
<translation>Debug</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="537"/>
<source>Enable Debug Dumping</source>
<translation>Enable Debug Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="560"/>
<source>Enable Vulkan Validation Layers</source>
<translation>Enable Vulkan Validation Layers</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="567"/>
<source>Enable Vulkan Synchronization Validation</source>
<translation>Enable Vulkan Synchronization Validation</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="574"/>
<source>Enable RenderDoc Debugging</source>
<translation>Enable RenderDoc Debugging</translation>
</message>
</context>
</TS>

View File

@ -0,0 +1,491 @@
<?xml version="1.0" ?><!DOCTYPE TS><TS version="2.1" language="nl">
<!-- SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
SPDX-License-Identifier: GPL-2.0-or-later -->
<context>
<name>AboutDialog</name>
<message>
<location filename="../about_dialog.ui" line="16"/>
<source>About shadPS4</source>
<translation>About shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="60"/>
<source>shadPS4</source>
<translation>shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="78"/>
<source>shadPS4 is an experimental open-source emulator for the PlayStation 4.</source>
<translation>shadPS4 is an experimental open-source emulator for the PlayStation 4.</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="99"/>
<source>This software should not be used to play games you have not legally obtained.</source>
<translation>This software should not be used to play games you have not legally obtained.</translation>
</message>
</context>
<context>
<name>ElfViewer</name>
<message>
<location filename="../elf_viewer.cpp" line="45"/>
<source>Open Folder</source>
<translation>Open Folder</translation>
</message>
</context>
<context>
<name>GameInfoClass</name>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Loading game list, please wait :3</source>
<translation>Loading game list, please wait :3</translation>
</message>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Cancel</source>
<translation>Cancel</translation>
</message>
<message>
<location filename="../game_info.cpp" line="27"/>
<source>Loading...</source>
<translation>Loading...</translation>
</message>
</context>
<context>
<name>GameInstallDialog</name>
<message>
<location filename="../game_install_dialog.cpp" line="24"/>
<source>shadPS4 - Choose directory</source>
<translation>shadPS4 - Choose directory</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="31"/>
<source>Directory to install games</source>
<translation>Directory to install games</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="50"/>
<source>Browse</source>
<translation>Browse</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="74"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="75"/>
<source>The value for location to install games is not valid.</source>
<translation>The value for location to install games is not valid.</translation>
</message>
</context>
<context>
<name>GuiContextMenus</name>
<message>
<location filename="../gui_context_menus.h" line="39"/>
<source>Create Shortcut</source>
<translation>Create Shortcut</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="40"/>
<source>Open Game Folder</source>
<translation>Open Game Folder</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="41"/>
<source>SFO Viewer</source>
<translation>SFO Viewer</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="42"/>
<source>Trophy Viewer</source>
<translation>Trophy Viewer</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="50"/>
<source>Copy info</source>
<translation>Copy info</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="51"/>
<source>Copy Name</source>
<translation>Copy Name</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="52"/>
<source>Copy Serial</source>
<translation>Copy Serial</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="53"/>
<source>Copy All</source>
<translation>Copy All</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="173"/>
<source>Shortcut creation</source>
<translation>Shortcut creation</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="174"/>
<source>Shortcut created successfully!\n %1</source>
<translation>Shortcut created successfully!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="177"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="178"/>
<source>Error creating shortcut!\n %1</source>
<translation>Error creating shortcut!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="253"/>
<source>Install PKG</source>
<translation>Install PKG</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../main_window_ui.h" line="310"/>
<source>Open/Add Elf Folder</source>
<translation>Open/Add Elf Folder</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="312"/>
<source>Install Packages (PKG)</source>
<translation>Install Packages (PKG)</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="313"/>
<source>Boot Game</source>
<translation>Boot Game</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="314"/>
<source>About shadPS4</source>
<translation>About shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="315"/>
<source>Configure...</source>
<translation>Configure...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="318"/>
<source>Install application from a .pkg file</source>
<translation>Install application from a .pkg file</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="320"/>
<source>Recent Games</source>
<translation>Recent Games</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="321"/>
<source>Exit</source>
<translation>Exit</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="323"/>
<source>Exit shadPS4</source>
<translation>Exit shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="327"/>
<source>Exit the application.</source>
<translation>Exit the application.</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="330"/>
<source>Show Game List</source>
<translation>Show Game List</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="332"/>
<source>Game List Refresh</source>
<translation>Game List Refresh</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="333"/>
<source>Tiny</source>
<translation>Tiny</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="334"/>
<source>Small</source>
<translation>Small</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="335"/>
<source>Medium</source>
<translation>Medium</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="336"/>
<source>Large</source>
<translation>Large</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="338"/>
<source>List View</source>
<translation>List View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="340"/>
<source>Grid View</source>
<translation>Grid View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="341"/>
<source>Elf Viewer</source>
<translation>Elf Viewer</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="343"/>
<source>Game Install Directory</source>
<translation>Game Install Directory</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="345"/>
<source>Dump Game List</source>
<translation>Dump Game List</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="346"/>
<source>PKG Viewer</source>
<translation>PKG Viewer</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="348"/>
<source>Search...</source>
<translation>Search...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="349"/>
<source>File</source>
<translation>File</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="350"/>
<source>View</source>
<translation>View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="352"/>
<source>Game List Icons</source>
<translation>Game List Icons</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="354"/>
<source>Game List Mode</source>
<translation>Game List Mode</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="355"/>
<source>Settings</source>
<translation>Settings</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="356"/>
<source>Utils</source>
<translation>Utils</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="357"/>
<source>Themes</source>
<translation>Themes</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="358"/>
<source>About</source>
<translation>About</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="359"/>
<source>Dark</source>
<translation>Dark</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="360"/>
<source>Light</source>
<translation>Light</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="361"/>
<source>Green</source>
<translation>Green</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="362"/>
<source>Blue</source>
<translation>Blue</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="363"/>
<source>Violet</source>
<translation>Violet</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="364"/>
<source>toolBar</source>
<translation>toolBar</translation>
</message>
</context>
<context>
<name>PKGViewer</name>
<message>
<location filename="../pkg_viewer.cpp" line="32"/>
<source>Open Folder</source>
<translation>Open Folder</translation>
</message>
</context>
<context>
<name>TrophyViewer</name>
<message>
<location filename="../trophy_viewer.cpp" line="8"/>
<source>Trophy Viewer</source>
<translation>Trophy Viewer</translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<location filename="../settings_dialog.ui" line="29"/>
<source>Settings</source>
<translation>Settings</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="67"/>
<source>General</source>
<translation>General</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="77"/>
<source>System</source>
<translation>System</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="83"/>
<source>Console Language</source>
<translation>Console Language</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="95"/>
<source>Emulator Language</source>
<translation>Emulator Language</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="114"/>
<source>Emulator</source>
<translation>Emulator</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="122"/>
<source>Enable Fullscreen</source>
<translation>Enable Fullscreen</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="129"/>
<source>Show Splash</source>
<translation>Show Splash</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="136"/>
<source>Is PS4 Pro</source>
<translation>Is PS4 Pro</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="155"/>
<source>Username</source>
<translation>Username</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="178"/>
<source>Logger</source>
<translation>Logger</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="199"/>
<source>Log Type</source>
<translation>Log Type</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="235"/>
<source>Log Filter</source>
<translation>Log Filter</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="272"/>
<source>Graphics</source>
<translation>Graphics</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="282"/>
<source>Graphics Device</source>
<translation>Graphics Device</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="326"/>
<source>Width</source>
<translation>Width</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="357"/>
<source>Height</source>
<translation>Height</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="405"/>
<source>Vblank Divider</source>
<translation>Vblank Divider</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="453"/>
<source>Advanced</source>
<translation>Advanced</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="462"/>
<source>Enable Shaders Dumping</source>
<translation>Enable Shaders Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="469"/>
<source>Enable NULL GPU</source>
<translation>Enable NULL GPU</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="476"/>
<source>Enable PM4 Dumping</source>
<translation>Enable PM4 Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="517"/>
<source>Debug</source>
<translation>Debug</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="537"/>
<source>Enable Debug Dumping</source>
<translation>Enable Debug Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="560"/>
<source>Enable Vulkan Validation Layers</source>
<translation>Enable Vulkan Validation Layers</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="567"/>
<source>Enable Vulkan Synchronization Validation</source>
<translation>Enable Vulkan Synchronization Validation</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="574"/>
<source>Enable RenderDoc Debugging</source>
<translation>Enable RenderDoc Debugging</translation>
</message>
</context>
</TS>

View File

@ -0,0 +1,493 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="pl_PL">
<!-- SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project -->
<!-- SPDX-License-Identifier: GPL-2.0-or-later -->
<context>
<name>AboutDialog</name>
<message>
<location filename="../about_dialog.ui" line="16"/>
<source>About shadPS4</source>
<translation>O programie</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="60"/>
<source>shadPS4</source>
<translation>shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="78"/>
<source>shadPS4 is an experimental open-source emulator for the PlayStation 4.</source>
<translation>shadPS4 to eksperymentalny otwartoźródłowy emulator konsoli PlayStation 4.</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="99"/>
<source>This software should not be used to play games you have not legally obtained.</source>
<translation>To oprogramowanie nie służy do grania w gry pochodzące z nielegalnego źródła.</translation>
</message>
</context>
<context>
<name>ElfViewer</name>
<message>
<location filename="../elf_viewer.cpp" line="45"/>
<source>Open Folder</source>
<translation>Otwórz folder</translation>
</message>
</context>
<context>
<name>GameInfoClass</name>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Loading game list, please wait :3</source>
<translation>Ładowanie listy gier, proszę poczekaj :3</translation>
</message>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Cancel</source>
<translation>Anuluj</translation>
</message>
<message>
<location filename="../game_info.cpp" line="27"/>
<source>Loading...</source>
<translation>Ładowanie...</translation>
</message>
</context>
<context>
<name>GameInstallDialog</name>
<message>
<location filename="../game_install_dialog.cpp" line="24"/>
<source>shadPS4 - Choose directory</source>
<translation>shadPS4 - Wybierz katalog</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="31"/>
<source>Directory to install games</source>
<translation>Katalog do instalacji gier</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="50"/>
<source>Browse</source>
<translation>Przeglądaj</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="74"/>
<source>Error</source>
<translation>Błąd</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="75"/>
<source>The value for location to install games is not valid.</source>
<translation>Podana ścieżka do instalacji gier nie jest prawidłowa.</translation>
</message>
</context>
<context>
<name>GuiContextMenus</name>
<message>
<location filename="../gui_context_menus.h" line="39"/>
<source>Create Shortcut</source>
<translation>Utwórz skrót</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="40"/>
<source>Open Game Folder</source>
<translation>Otwórz katalog gry</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="41"/>
<source>SFO Viewer</source>
<translation>Menedżer plików SFO</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="42"/>
<source>Trophy Viewer</source>
<translation>Menedżer trofeów</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="50"/>
<source>Copy info</source>
<translation>Kopiuj informacje</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="51"/>
<source>Copy Name</source>
<translation>Kopiuj nazwę</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="52"/>
<source>Copy Serial</source>
<translation>Kopiuj numer seryjny</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="53"/>
<source>Copy All</source>
<translation>Kopiuj wszystko</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="173"/>
<source>Shortcut creation</source>
<translation>Tworzenie skrótu</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="174"/>
<source>Shortcut created successfully!\n %1</source>
<translation>Utworzenie skrótu zakończone pomyślnie!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="177"/>
<source>Error</source>
<translation>Błąd</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="178"/>
<source>Error creating shortcut!\n %1</source>
<translation>Utworzenie skrótu zakończone niepowodzeniem!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="253"/>
<source>Install PKG</source>
<translation>Zainstaluj PKG</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../main_window_ui.h" line="310"/>
<source>Open/Add Elf Folder</source>
<translation>Otwórz/Dodaj folder Elf</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="312"/>
<source>Install Packages (PKG)</source>
<translation>Zainstaluj paczkę (PKG)</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="313"/>
<source>Boot Game</source>
<translation>Uruchom grę</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="314"/>
<source>About shadPS4</source>
<translation>O programie</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="315"/>
<source>Configure...</source>
<translation>Konfiguruj...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="318"/>
<source>Install application from a .pkg file</source>
<translation>Zainstaluj aplikacje z pliku .pkg</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="320"/>
<source>Recent Games</source>
<translation>Ostatnie gry</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="321"/>
<source>Exit</source>
<translation>Wyjdź</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="323"/>
<source>Exit shadPS4</source>
<translation>Wyjdź z shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="327"/>
<source>Exit the application.</source>
<translation>Wyjdź z aplikacji.</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="330"/>
<source>Show Game List</source>
<translation>Pokaż listę gier</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="332"/>
<source>Game List Refresh</source>
<translation>Odśwież listę gier</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="333"/>
<source>Tiny</source>
<translation>Malutkie</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="334"/>
<source>Small</source>
<translation>Małe</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="335"/>
<source>Medium</source>
<translation>Średnie</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="336"/>
<source>Large</source>
<translation>Wielkie</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="338"/>
<source>List View</source>
<translation>Widok listy</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="340"/>
<source>Grid View</source>
<translation>Widok siatki</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="341"/>
<source>Elf Viewer</source>
<translation>Menedżer plików ELF</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="343"/>
<source>Game Install Directory</source>
<translation>Katalog zainstalowanej gry</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="345"/>
<source>Dump Game List</source>
<translation>Zgraj listę gier</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="346"/>
<source>PKG Viewer</source>
<translation>Menedżer plików PKG</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="348"/>
<source>Search...</source>
<translation>Szukaj...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="349"/>
<source>File</source>
<translation>Plik</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="350"/>
<source>View</source>
<translation>Widok</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="352"/>
<source>Game List Icons</source>
<translation>Ikony w widoku listy</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="354"/>
<source>Game List Mode</source>
<translation>Tryb listy gier</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="355"/>
<source>Settings</source>
<translation>Ustawienia</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="356"/>
<source>Utils</source>
<translation>Narzędzia</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="357"/>
<source>Themes</source>
<translation>Motywy</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="358"/>
<source>About</source>
<translation>O programie</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="359"/>
<source>Dark</source>
<translation>Ciemny</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="360"/>
<source>Light</source>
<translation>Jasny</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="361"/>
<source>Green</source>
<translation>Zielony</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="362"/>
<source>Blue</source>
<translation>Niebieski</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="363"/>
<source>Violet</source>
<translation>Fioletowy</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="364"/>
<source>toolBar</source>
<translation>Pasek narzędzi</translation>
</message>
</context>
<context>
<name>PKGViewer</name>
<message>
<location filename="../pkg_viewer.cpp" line="32"/>
<source>Open Folder</source>
<translation>Open Folder</translation>
</message>
</context>
<context>
<name>TrophyViewer</name>
<message>
<location filename="../trophy_viewer.cpp" line="8"/>
<source>Trophy Viewer</source>
<translation>Menedżer trofeów</translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<location filename="../settings_dialog.ui" line="29"/>
<source>Settings</source>
<translation>Ustawienia</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="67"/>
<source>General</source>
<translation>Ogólne</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="77"/>
<source>System</source>
<translation>System</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="83"/>
<source>Console Language</source>
<translation>Język konsoli</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="95"/>
<source>Emulator Language</source>
<translation>Język emulatora</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="114"/>
<source>Emulator</source>
<translation>Emulator</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="122"/>
<source>Enable Fullscreen</source>
<translation>Włącz pełny ekran</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="129"/>
<source>Show Splash</source>
<translation>Pokaż ekran powitania</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="136"/>
<source>Is PS4 Pro</source>
<translation>Emulacja PS4 Pro</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="155"/>
<source>Username</source>
<translation>Nazwa użytkownika</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="178"/>
<source>Logger</source>
<translation>Dziennik zdarzeń</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="199"/>
<source>Log Type</source>
<translation>Typ dziennika</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="235"/>
<source>Log Filter</source>
<translation>Filtrowanie dziennika</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="272"/>
<source>Graphics</source>
<translation>Grafika</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="282"/>
<source>Graphics Device</source>
<translation>Karta graficzna</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="326"/>
<source>Width</source>
<translation>Szerokość</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="357"/>
<source>Height</source>
<translation>Wysokość</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="405"/>
<source>Vblank Divider</source>
<translation>Dzielnik pionowego blankingu (Vblank)</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="453"/>
<source>Advanced</source>
<translation>Zaawansowane</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="462"/>
<source>Enable Shaders Dumping</source>
<translation>Włącz zgrywanie cieni</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="469"/>
<source>Enable NULL GPU</source>
<translation>Wyłącz kartę graficzną</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="476"/>
<source>Enable PM4 Dumping</source>
<translation>Włącz zgrywanie PM4</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="517"/>
<source>Debug</source>
<translation>Debugowanie</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="537"/>
<source>Enable Debug Dumping</source>
<translation>Włącz zgrywanie debugowania</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="560"/>
<source>Enable Vulkan Validation Layers</source>
<translation>Włącz warstwy walidacji Vulkan</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="567"/>
<source>Enable Vulkan Synchronization Validation</source>
<translation>Włącz walidację synchronizacji Vulkan</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="574"/>
<source>Enable RenderDoc Debugging</source>
<translation>Włącz debugowanie RenderDoc</translation>
</message>
</context>
</TS>

View File

@ -0,0 +1,491 @@
<?xml version="1.0" ?><!DOCTYPE TS><TS version="2.1" language="pt_BR">
<!-- SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
SPDX-License-Identifier: GPL-2.0-or-later -->
<context>
<name>AboutDialog</name>
<message>
<location filename="../about_dialog.ui" line="16"/>
<source>About shadPS4</source>
<translation>Sobre o shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="60"/>
<source>shadPS4</source>
<translation>shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="78"/>
<source>shadPS4 is an experimental open-source emulator for the PlayStation 4.</source>
<translation>shadPS4 é um emulador experimental de código-fonte aberto para o PlayStation 4.</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="99"/>
<source>This software should not be used to play games you have not legally obtained.</source>
<translation>Este software não deve ser usado para jogar jogos piratas.</translation>
</message>
</context>
<context>
<name>ElfViewer</name>
<message>
<location filename="../elf_viewer.cpp" line="45"/>
<source>Open Folder</source>
<translation>Abrir Pasta</translation>
</message>
</context>
<context>
<name>GameInfoClass</name>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Loading game list, please wait :3</source>
<translation>Carregando lista de jogos, por favor aguarde :3</translation>
</message>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Cancel</source>
<translation>Cancelar</translation>
</message>
<message>
<location filename="../game_info.cpp" line="27"/>
<source>Loading...</source>
<translation>Carregando...</translation>
</message>
</context>
<context>
<name>GameInstallDialog</name>
<message>
<location filename="../game_install_dialog.cpp" line="24"/>
<source>shadPS4 - Choose directory</source>
<translation>shadPS4 - Escolha o diretório</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="31"/>
<source>Directory to install games</source>
<translation>Diretório para instalar jogos</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="50"/>
<source>Browse</source>
<translation>Procurar</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="74"/>
<source>Error</source>
<translation>Erro</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="75"/>
<source>The value for location to install games is not valid.</source>
<translation>O diretório da instalação dos jogos não é válido.</translation>
</message>
</context>
<context>
<name>GuiContextMenus</name>
<message>
<location filename="../gui_context_menus.h" line="39"/>
<source>Create Shortcut</source>
<translation>Criar Atalho</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="40"/>
<source>Open Game Folder</source>
<translation>Abrir Pasta do Jogo</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="41"/>
<source>SFO Viewer</source>
<translation>Visualizador de SFO</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="42"/>
<source>Trophy Viewer</source>
<translation>Visualizador de Troféu</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="50"/>
<source>Copy info</source>
<translation>Copiar informação</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="51"/>
<source>Copy Name</source>
<translation>Copiar Nome</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="52"/>
<source>Copy Serial</source>
<translation>Copiar Serial</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="53"/>
<source>Copy All</source>
<translation>Copiar Tudo</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="173"/>
<source>Shortcut creation</source>
<translation>Criação de atalho</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="174"/>
<source>Shortcut created successfully!\n %1</source>
<translation>Atalho criado com sucesso!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="177"/>
<source>Error</source>
<translation>Erro</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="178"/>
<source>Error creating shortcut!\n %1</source>
<translation>Erro ao criar atalho!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="253"/>
<source>Install PKG</source>
<translation>Instalar PKG</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../main_window_ui.h" line="310"/>
<source>Open/Add Elf Folder</source>
<translation>Abrir/Adicionar pasta Elf</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="312"/>
<source>Install Packages (PKG)</source>
<translation>Instalar Pacotes (PKG)</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="313"/>
<source>Boot Game</source>
<translation>Iniciar Jogo</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="314"/>
<source>About shadPS4</source>
<translation>Sobre o shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="315"/>
<source>Configure...</source>
<translation>Configurar...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="318"/>
<source>Install application from a .pkg file</source>
<translation>Instalar aplicação de um arquivo .pkg</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="320"/>
<source>Recent Games</source>
<translation>Jogos Recentes</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="321"/>
<source>Exit</source>
<translation>Sair</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="323"/>
<source>Exit shadPS4</source>
<translation>Sair do shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="327"/>
<source>Exit the application.</source>
<translation>Sair da aplicação.</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="330"/>
<source>Show Game List</source>
<translation>Mostrar Lista de Jogos</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="332"/>
<source>Game List Refresh</source>
<translation>Atualizar Lista de Jogos</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="333"/>
<source>Tiny</source>
<translation>Muito pequeno</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="334"/>
<source>Small</source>
<translation>Pequeno</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="335"/>
<source>Medium</source>
<translation>Médio</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="336"/>
<source>Large</source>
<translation>Grande</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="338"/>
<source>List View</source>
<translation>Visualizar em Lista</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="340"/>
<source>Grid View</source>
<translation>Visualizar em Grade</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="341"/>
<source>Elf Viewer</source>
<translation>Visualizador de Elf</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="343"/>
<source>Game Install Directory</source>
<translation>Diretório de Instalação de Jogos</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="345"/>
<source>Dump Game List</source>
<translation>Dumpar Lista de Jogos</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="346"/>
<source>PKG Viewer</source>
<translation>Visualizador de PKG</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="348"/>
<source>Search...</source>
<translation>Pesquisar...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="349"/>
<source>File</source>
<translation>Arquivo</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="350"/>
<source>View</source>
<translation>Ver</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="352"/>
<source>Game List Icons</source>
<translation>Ícones da Lista de Jogos</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="354"/>
<source>Game List Mode</source>
<translation>Modo de Lista de Jogos</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="355"/>
<source>Settings</source>
<translation>Configurações</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="356"/>
<source>Utils</source>
<translation>Utilitários</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="357"/>
<source>Themes</source>
<translation>Temas</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="358"/>
<source>About</source>
<translation>Sobre</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="359"/>
<source>Dark</source>
<translation>Escuro</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="360"/>
<source>Light</source>
<translation>Claro</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="361"/>
<source>Green</source>
<translation>Verde</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="362"/>
<source>Blue</source>
<translation>Azul</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="363"/>
<source>Violet</source>
<translation>Violeta</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="364"/>
<source>toolBar</source>
<translation>Barra de Ferramentas</translation>
</message>
</context>
<context>
<name>PKGViewer</name>
<message>
<location filename="../pkg_viewer.cpp" line="32"/>
<source>Open Folder</source>
<translation>Abrir Pasta</translation>
</message>
</context>
<context>
<name>TrophyViewer</name>
<message>
<location filename="../trophy_viewer.cpp" line="8"/>
<source>Trophy Viewer</source>
<translation>Visualizador de Troféu</translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<location filename="../settings_dialog.ui" line="29"/>
<source>Settings</source>
<translation>Configurações</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="67"/>
<source>General</source>
<translation>Geral</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="77"/>
<source>System</source>
<translation>Sistema</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="83"/>
<source>Console Language</source>
<translation>Idioma do Console</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="95"/>
<source>Emulator Language</source>
<translation>Idioma do Emulador</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="114"/>
<source>Emulator</source>
<translation>Emulador</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="122"/>
<source>Enable Fullscreen</source>
<translation>Ativar Tela Cheia</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="129"/>
<source>Show Splash</source>
<translation>Mostrar Splash Inicial</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="136"/>
<source>Is PS4 Pro</source>
<translation>Modo PS4 Pro</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="155"/>
<source>Username</source>
<translation>Nome de usuário</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="178"/>
<source>Logger</source>
<translation>Registro</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="199"/>
<source>Log Type</source>
<translation>Tipo de Registro</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="235"/>
<source>Log Filter</source>
<translation>Filtro</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="272"/>
<source>Graphics</source>
<translation>Gráficos</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="282"/>
<source>Graphics Device</source>
<translation>Placa de Vídeo</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="326"/>
<source>Width</source>
<translation>Largura</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="357"/>
<source>Height</source>
<translation>Altura</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="405"/>
<source>Vblank Divider</source>
<translation>Divisor Vblank</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="453"/>
<source>Advanced</source>
<translation>Avançado</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="462"/>
<source>Enable Shaders Dumping</source>
<translation>Ativar Dumping de Shaders</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="469"/>
<source>Enable NULL GPU</source>
<translation>Ativar GPU NULA</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="476"/>
<source>Enable PM4 Dumping</source>
<translation>Ativar Dumping de PM4</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="517"/>
<source>Debug</source>
<translation>Depuração</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="537"/>
<source>Enable Debug Dumping</source>
<translation>Ativar Depuração de Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="560"/>
<source>Enable Vulkan Validation Layers</source>
<translation>Ativar Camadas de Validação do Vulkan</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="567"/>
<source>Enable Vulkan Synchronization Validation</source>
<translation>Ativar Validação de Sincronização do Vulkan</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="574"/>
<source>Enable RenderDoc Debugging</source>
<translation>Ativar Depuração por RenderDoc</translation>
</message>
</context>
</TS>

View File

@ -0,0 +1,491 @@
<?xml version="1.0" ?><!DOCTYPE TS><TS version="2.1" language="ro_RO">
<!-- SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
SPDX-License-Identifier: GPL-2.0-or-later -->
<context>
<name>AboutDialog</name>
<message>
<location filename="../about_dialog.ui" line="16"/>
<source>About shadPS4</source>
<translation>About shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="60"/>
<source>shadPS4</source>
<translation>shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="78"/>
<source>shadPS4 is an experimental open-source emulator for the PlayStation 4.</source>
<translation>shadPS4 is an experimental open-source emulator for the PlayStation 4.</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="99"/>
<source>This software should not be used to play games you have not legally obtained.</source>
<translation>This software should not be used to play games you have not legally obtained.</translation>
</message>
</context>
<context>
<name>ElfViewer</name>
<message>
<location filename="../elf_viewer.cpp" line="45"/>
<source>Open Folder</source>
<translation>Open Folder</translation>
</message>
</context>
<context>
<name>GameInfoClass</name>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Loading game list, please wait :3</source>
<translation>Loading game list, please wait :3</translation>
</message>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Cancel</source>
<translation>Cancel</translation>
</message>
<message>
<location filename="../game_info.cpp" line="27"/>
<source>Loading...</source>
<translation>Loading...</translation>
</message>
</context>
<context>
<name>GameInstallDialog</name>
<message>
<location filename="../game_install_dialog.cpp" line="24"/>
<source>shadPS4 - Choose directory</source>
<translation>shadPS4 - Choose directory</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="31"/>
<source>Directory to install games</source>
<translation>Directory to install games</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="50"/>
<source>Browse</source>
<translation>Browse</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="74"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="75"/>
<source>The value for location to install games is not valid.</source>
<translation>The value for location to install games is not valid.</translation>
</message>
</context>
<context>
<name>GuiContextMenus</name>
<message>
<location filename="../gui_context_menus.h" line="39"/>
<source>Create Shortcut</source>
<translation>Create Shortcut</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="40"/>
<source>Open Game Folder</source>
<translation>Open Game Folder</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="41"/>
<source>SFO Viewer</source>
<translation>SFO Viewer</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="42"/>
<source>Trophy Viewer</source>
<translation>Trophy Viewer</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="50"/>
<source>Copy info</source>
<translation>Copy info</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="51"/>
<source>Copy Name</source>
<translation>Copy Name</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="52"/>
<source>Copy Serial</source>
<translation>Copy Serial</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="53"/>
<source>Copy All</source>
<translation>Copy All</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="173"/>
<source>Shortcut creation</source>
<translation>Shortcut creation</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="174"/>
<source>Shortcut created successfully!\n %1</source>
<translation>Shortcut created successfully!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="177"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="178"/>
<source>Error creating shortcut!\n %1</source>
<translation>Error creating shortcut!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="253"/>
<source>Install PKG</source>
<translation>Install PKG</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../main_window_ui.h" line="310"/>
<source>Open/Add Elf Folder</source>
<translation>Open/Add Elf Folder</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="312"/>
<source>Install Packages (PKG)</source>
<translation>Install Packages (PKG)</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="313"/>
<source>Boot Game</source>
<translation>Boot Game</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="314"/>
<source>About shadPS4</source>
<translation>About shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="315"/>
<source>Configure...</source>
<translation>Configure...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="318"/>
<source>Install application from a .pkg file</source>
<translation>Install application from a .pkg file</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="320"/>
<source>Recent Games</source>
<translation>Recent Games</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="321"/>
<source>Exit</source>
<translation>Exit</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="323"/>
<source>Exit shadPS4</source>
<translation>Exit shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="327"/>
<source>Exit the application.</source>
<translation>Exit the application.</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="330"/>
<source>Show Game List</source>
<translation>Show Game List</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="332"/>
<source>Game List Refresh</source>
<translation>Game List Refresh</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="333"/>
<source>Tiny</source>
<translation>Tiny</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="334"/>
<source>Small</source>
<translation>Small</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="335"/>
<source>Medium</source>
<translation>Medium</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="336"/>
<source>Large</source>
<translation>Large</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="338"/>
<source>List View</source>
<translation>List View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="340"/>
<source>Grid View</source>
<translation>Grid View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="341"/>
<source>Elf Viewer</source>
<translation>Elf Viewer</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="343"/>
<source>Game Install Directory</source>
<translation>Game Install Directory</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="345"/>
<source>Dump Game List</source>
<translation>Dump Game List</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="346"/>
<source>PKG Viewer</source>
<translation>PKG Viewer</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="348"/>
<source>Search...</source>
<translation>Search...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="349"/>
<source>File</source>
<translation>File</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="350"/>
<source>View</source>
<translation>View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="352"/>
<source>Game List Icons</source>
<translation>Game List Icons</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="354"/>
<source>Game List Mode</source>
<translation>Game List Mode</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="355"/>
<source>Settings</source>
<translation>Settings</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="356"/>
<source>Utils</source>
<translation>Utils</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="357"/>
<source>Themes</source>
<translation>Themes</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="358"/>
<source>About</source>
<translation>About</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="359"/>
<source>Dark</source>
<translation>Dark</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="360"/>
<source>Light</source>
<translation>Light</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="361"/>
<source>Green</source>
<translation>Green</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="362"/>
<source>Blue</source>
<translation>Blue</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="363"/>
<source>Violet</source>
<translation>Violet</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="364"/>
<source>toolBar</source>
<translation>toolBar</translation>
</message>
</context>
<context>
<name>PKGViewer</name>
<message>
<location filename="../pkg_viewer.cpp" line="32"/>
<source>Open Folder</source>
<translation>Open Folder</translation>
</message>
</context>
<context>
<name>TrophyViewer</name>
<message>
<location filename="../trophy_viewer.cpp" line="8"/>
<source>Trophy Viewer</source>
<translation>Trophy Viewer</translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<location filename="../settings_dialog.ui" line="29"/>
<source>Settings</source>
<translation>Settings</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="67"/>
<source>General</source>
<translation>General</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="77"/>
<source>System</source>
<translation>System</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="83"/>
<source>Console Language</source>
<translation>Console Language</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="95"/>
<source>Emulator Language</source>
<translation>Emulator Language</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="114"/>
<source>Emulator</source>
<translation>Emulator</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="122"/>
<source>Enable Fullscreen</source>
<translation>Enable Fullscreen</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="129"/>
<source>Show Splash</source>
<translation>Show Splash</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="136"/>
<source>Is PS4 Pro</source>
<translation>Is PS4 Pro</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="155"/>
<source>Username</source>
<translation>Username</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="178"/>
<source>Logger</source>
<translation>Logger</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="199"/>
<source>Log Type</source>
<translation>Log Type</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="235"/>
<source>Log Filter</source>
<translation>Log Filter</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="272"/>
<source>Graphics</source>
<translation>Graphics</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="282"/>
<source>Graphics Device</source>
<translation>Graphics Device</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="326"/>
<source>Width</source>
<translation>Width</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="357"/>
<source>Height</source>
<translation>Height</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="405"/>
<source>Vblank Divider</source>
<translation>Vblank Divider</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="453"/>
<source>Advanced</source>
<translation>Advanced</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="462"/>
<source>Enable Shaders Dumping</source>
<translation>Enable Shaders Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="469"/>
<source>Enable NULL GPU</source>
<translation>Enable NULL GPU</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="476"/>
<source>Enable PM4 Dumping</source>
<translation>Enable PM4 Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="517"/>
<source>Debug</source>
<translation>Debug</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="537"/>
<source>Enable Debug Dumping</source>
<translation>Enable Debug Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="560"/>
<source>Enable Vulkan Validation Layers</source>
<translation>Enable Vulkan Validation Layers</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="567"/>
<source>Enable Vulkan Synchronization Validation</source>
<translation>Enable Vulkan Synchronization Validation</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="574"/>
<source>Enable RenderDoc Debugging</source>
<translation>Enable RenderDoc Debugging</translation>
</message>
</context>
</TS>

View File

@ -0,0 +1,491 @@
<?xml version="1.0" ?><!DOCTYPE TS><TS version="2.1" language="ru_RU">
<!-- SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
SPDX-License-Identifier: GPL-2.0-or-later -->
<context>
<name>AboutDialog</name>
<message>
<location filename="../about_dialog.ui" line="16"/>
<source>About shadPS4</source>
<translation>О shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="60"/>
<source>shadPS4</source>
<translation>shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="78"/>
<source>shadPS4 is an experimental open-source emulator for the PlayStation 4.</source>
<translation>shadPS4 это экспериментальный эмулятор с открытым исходным кодом для PlayStation 4.</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="99"/>
<source>This software should not be used to play games you have not legally obtained.</source>
<translation>Это програмное обеспечение не должно использоваться для запуска игр, которые вы получили нелегально.</translation>
</message>
</context>
<context>
<name>ElfViewer</name>
<message>
<location filename="../elf_viewer.cpp" line="45"/>
<source>Open Folder</source>
<translation>Открыть папку</translation>
</message>
</context>
<context>
<name>GameInfoClass</name>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Loading game list, please wait :3</source>
<translation>Загрузка списка игр, пожалуйста подождите :3</translation>
</message>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Cancel</source>
<translation>Отмена</translation>
</message>
<message>
<location filename="../game_info.cpp" line="27"/>
<source>Loading...</source>
<translation>Загрузка...</translation>
</message>
</context>
<context>
<name>GameInstallDialog</name>
<message>
<location filename="../game_install_dialog.cpp" line="24"/>
<source>shadPS4 - Choose directory</source>
<translation>shadPS4 - Выберите папку</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="31"/>
<source>Directory to install games</source>
<translation>Папка для установки игр</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="50"/>
<source>Browse</source>
<translation>Обзор</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="74"/>
<source>Error</source>
<translation>Ошибка</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="75"/>
<source>The value for location to install games is not valid.</source>
<translation>Недопустимое значение местоположения для установки игр.</translation>
</message>
</context>
<context>
<name>GuiContextMenus</name>
<message>
<location filename="../gui_context_menus.h" line="39"/>
<source>Create Shortcut</source>
<translation>Создать ярлык</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="40"/>
<source>Open Game Folder</source>
<translation>Открыть папку с игрой</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="41"/>
<source>SFO Viewer</source>
<translation>Просмотр SFO</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="42"/>
<source>Trophy Viewer</source>
<translation>Просмотр трофеев</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="50"/>
<source>Copy info</source>
<translation>Копировать информацию</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="51"/>
<source>Copy Name</source>
<translation>Копировать имя</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="52"/>
<source>Copy Serial</source>
<translation>Копировать серийный номер</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="53"/>
<source>Copy All</source>
<translation>Копировать все</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="173"/>
<source>Shortcut creation</source>
<translation>Создание ярлыка</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="174"/>
<source>Shortcut created successfully!\n %1</source>
<translation>Ярлык создан успешно!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="177"/>
<source>Error</source>
<translation>Ошибка</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="178"/>
<source>Error creating shortcut!\n %1</source>
<translation>Ошибка создания ярлыка!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="253"/>
<source>Install PKG</source>
<translation>Установить PKG</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../main_window_ui.h" line="310"/>
<source>Open/Add Elf Folder</source>
<translation>Открыть/Добавить папку Elf</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="312"/>
<source>Install Packages (PKG)</source>
<translation>Установить пакеты (PKG)</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="313"/>
<source>Boot Game</source>
<translation>Запустить игру</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="314"/>
<source>About shadPS4</source>
<translation>О shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="315"/>
<source>Configure...</source>
<translation>Настроить...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="318"/>
<source>Install application from a .pkg file</source>
<translation>Установить приложение из файла .pkg</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="320"/>
<source>Recent Games</source>
<translation>Недавние игры</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="321"/>
<source>Exit</source>
<translation>Выход</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="323"/>
<source>Exit shadPS4</source>
<translation>Выйти из shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="327"/>
<source>Exit the application.</source>
<translation>Выйти из приложения.</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="330"/>
<source>Show Game List</source>
<translation>Показать список игр</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="332"/>
<source>Game List Refresh</source>
<translation>Обновить список игр</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="333"/>
<source>Tiny</source>
<translation>Крошечный</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="334"/>
<source>Small</source>
<translation>Маленький</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="335"/>
<source>Medium</source>
<translation>Средний</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="336"/>
<source>Large</source>
<translation>Большой</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="338"/>
<source>List View</source>
<translation>Список</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="340"/>
<source>Grid View</source>
<translation>Сетка</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="341"/>
<source>Elf Viewer</source>
<translation>Elf</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="343"/>
<source>Game Install Directory</source>
<translation>Каталог установки игры</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="345"/>
<source>Dump Game List</source>
<translation>Дамп списка игр</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="346"/>
<source>PKG Viewer</source>
<translation>Просмотр PKG</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="348"/>
<source>Search...</source>
<translation>Поиск...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="349"/>
<source>File</source>
<translation>Файл</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="350"/>
<source>View</source>
<translation>Вид</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="352"/>
<source>Game List Icons</source>
<translation>Размер иконок списка игр</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="354"/>
<source>Game List Mode</source>
<translation>Вид списка игр</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="355"/>
<source>Settings</source>
<translation>Настройки</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="356"/>
<source>Utils</source>
<translation>Утилиты</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="357"/>
<source>Themes</source>
<translation>Темы</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="358"/>
<source>About</source>
<translation>Справка</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="359"/>
<source>Dark</source>
<translation>Темная</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="360"/>
<source>Light</source>
<translation>Светлая</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="361"/>
<source>Green</source>
<translation>Зеленая</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="362"/>
<source>Blue</source>
<translation>Синяя</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="363"/>
<source>Violet</source>
<translation>Фиолетовая</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="364"/>
<source>toolBar</source>
<translation>Панель инструментов</translation>
</message>
</context>
<context>
<name>PKGViewer</name>
<message>
<location filename="../pkg_viewer.cpp" line="32"/>
<source>Open Folder</source>
<translation>Открыть папку</translation>
</message>
</context>
<context>
<name>TrophyViewer</name>
<message>
<location filename="../trophy_viewer.cpp" line="8"/>
<source>Trophy Viewer</source>
<translation>Трофеи</translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<location filename="../settings_dialog.ui" line="29"/>
<source>Settings</source>
<translation>Настройки</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="67"/>
<source>General</source>
<translation>Общее</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="77"/>
<source>System</source>
<translation>Система</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="83"/>
<source>Console Language</source>
<translation>Язык консоли</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="95"/>
<source>Emulator Language</source>
<translation>Язык эмулятора</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="114"/>
<source>Emulator</source>
<translation>Эмулятор</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="122"/>
<source>Enable Fullscreen</source>
<translation>Включить полноэкранный режим</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="129"/>
<source>Show Splash</source>
<translation>Показать заставку</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="136"/>
<source>Is PS4 Pro</source>
<translation>Режим PS4 Pro</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="155"/>
<source>Username</source>
<translation>Имя пользователя</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="178"/>
<source>Logger</source>
<translation>Логирование</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="199"/>
<source>Log Type</source>
<translation>Тип логов</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="235"/>
<source>Log Filter</source>
<translation>Фильтр логов</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="272"/>
<source>Graphics</source>
<translation>Графика</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="282"/>
<source>Graphics Device</source>
<translation>Графическое устройство</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="326"/>
<source>Width</source>
<translation>Ширина</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="357"/>
<source>Height</source>
<translation>Высота</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="405"/>
<source>Vblank Divider</source>
<translation>Разделитель Vblank</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="453"/>
<source>Advanced</source>
<translation>Продвинутые</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="462"/>
<source>Enable Shaders Dumping</source>
<translation>Включить дамп шейдеров</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="469"/>
<source>Enable NULL GPU</source>
<translation>Включить NULL GPU</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="476"/>
<source>Enable PM4 Dumping</source>
<translation>Включить дамп PM4</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="517"/>
<source>Debug</source>
<translation>Отладка</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="537"/>
<source>Enable Debug Dumping</source>
<translation>Включить отладочные дампы</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="560"/>
<source>Enable Vulkan Validation Layers</source>
<translation>Включить слои валидации Vulkan</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="567"/>
<source>Enable Vulkan Synchronization Validation</source>
<translation>Включить валидацию синхронизации Vulkan</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="574"/>
<source>Enable RenderDoc Debugging</source>
<translation>Включить отладку RenderDoc</translation>
</message>
</context>
</TS>

View File

@ -0,0 +1,491 @@
<?xml version="1.0" ?><!DOCTYPE TS><TS version="2.1" language="tr_TR">
<!-- SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
SPDX-License-Identifier: GPL-2.0-or-later -->
<context>
<name>AboutDialog</name>
<message>
<location filename="../about_dialog.ui" line="16"/>
<source>About shadPS4</source>
<translation>shadPS4 Hakkında</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="60"/>
<source>shadPS4</source>
<translation>shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="78"/>
<source>shadPS4 is an experimental open-source emulator for the PlayStation 4.</source>
<translation>shadPS4, PlayStation 4 için deneysel bir ık kaynak kodlu emülatördür.</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="99"/>
<source>This software should not be used to play games you have not legally obtained.</source>
<translation>Bu yazılım, yasal olarak edinmediğiniz oyunları oynamak için kullanılmamalıdır.</translation>
</message>
</context>
<context>
<name>ElfViewer</name>
<message>
<location filename="../elf_viewer.cpp" line="45"/>
<source>Open Folder</source>
<translation>Klasörü </translation>
</message>
</context>
<context>
<name>GameInfoClass</name>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Loading game list, please wait :3</source>
<translation>Oyun listesi yükleniyor, lütfen bekleyin :3</translation>
</message>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Cancel</source>
<translation>İptal</translation>
</message>
<message>
<location filename="../game_info.cpp" line="27"/>
<source>Loading...</source>
<translation>Yükleniyor...</translation>
</message>
</context>
<context>
<name>GameInstallDialog</name>
<message>
<location filename="../game_install_dialog.cpp" line="24"/>
<source>shadPS4 - Choose directory</source>
<translation>shadPS4 - Klasörü Seç</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="31"/>
<source>Directory to install games</source>
<translation>Oyunların yükleneceği klasör</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="50"/>
<source>Browse</source>
<translation>Gözat</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="74"/>
<source>Error</source>
<translation>Hata</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="75"/>
<source>The value for location to install games is not valid.</source>
<translation>Oyunların yükleneceği konum için girilen klasör geçerli değil.</translation>
</message>
</context>
<context>
<name>GuiContextMenus</name>
<message>
<location filename="../gui_context_menus.h" line="39"/>
<source>Create Shortcut</source>
<translation>Kısayol Oluştur</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="40"/>
<source>Open Game Folder</source>
<translation>Oyun Klasörünü </translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="41"/>
<source>SFO Viewer</source>
<translation>SFO Görüntüleyici</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="42"/>
<source>Trophy Viewer</source>
<translation>Kupa Görüntüleyici</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="50"/>
<source>Copy info</source>
<translation>Bilgiyi Kopyala</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="51"/>
<source>Copy Name</source>
<translation>Adı Kopyala</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="52"/>
<source>Copy Serial</source>
<translation>Seri Numarasını Kopyala</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="53"/>
<source>Copy All</source>
<translation>Tümünü Kopyala</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="173"/>
<source>Shortcut creation</source>
<translation>Kısayol oluşturma</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="174"/>
<source>Shortcut created successfully!\n %1</source>
<translation>Kısayol başarıyla oluşturuldu!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="177"/>
<source>Error</source>
<translation>Hata</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="178"/>
<source>Error creating shortcut!\n %1</source>
<translation>Kısayol oluşturulurken hata oluştu!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="253"/>
<source>Install PKG</source>
<translation>PKG Yükle</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../main_window_ui.h" line="310"/>
<source>Open/Add Elf Folder</source>
<translation>Elf Klasörünü /Ekle</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="312"/>
<source>Install Packages (PKG)</source>
<translation>Paketleri Kur (PKG)</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="313"/>
<source>Boot Game</source>
<translation>Oyunu Başlat</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="314"/>
<source>About shadPS4</source>
<translation>shadPS4 Hakkında</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="315"/>
<source>Configure...</source>
<translation>Yapılandır...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="318"/>
<source>Install application from a .pkg file</source>
<translation>.pkg dosyasından uygulama yükle</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="320"/>
<source>Recent Games</source>
<translation>Son Oyunlar</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="321"/>
<source>Exit</source>
<translation>Çıkış</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="323"/>
<source>Exit shadPS4</source>
<translation>shadPS4'ten Çık</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="327"/>
<source>Exit the application.</source>
<translation>Uygulamadan çık.</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="330"/>
<source>Show Game List</source>
<translation>Oyun Listesini Göster</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="332"/>
<source>Game List Refresh</source>
<translation>Oyun Listesini Yenile</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="333"/>
<source>Tiny</source>
<translation>Küçük</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="334"/>
<source>Small</source>
<translation>Ufak</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="335"/>
<source>Medium</source>
<translation>Orta</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="336"/>
<source>Large</source>
<translation>Büyük</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="338"/>
<source>List View</source>
<translation>Liste Görünümü</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="340"/>
<source>Grid View</source>
<translation>Izgara Görünümü</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="341"/>
<source>Elf Viewer</source>
<translation>Elf Görüntüleyici</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="343"/>
<source>Game Install Directory</source>
<translation>Oyun Kurulum Klasörü</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="345"/>
<source>Dump Game List</source>
<translation>Oyun Listesini Kaydet</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="346"/>
<source>PKG Viewer</source>
<translation>PKG Görüntüleyici</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="348"/>
<source>Search...</source>
<translation>Ara...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="349"/>
<source>File</source>
<translation>Dosya</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="350"/>
<source>View</source>
<translation>Görünüm</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="352"/>
<source>Game List Icons</source>
<translation>Oyun Listesi Simgeleri</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="354"/>
<source>Game List Mode</source>
<translation>Oyun Listesi Modu</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="355"/>
<source>Settings</source>
<translation>Ayarlar</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="356"/>
<source>Utils</source>
<translation>Yardımcı Araçlar</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="357"/>
<source>Themes</source>
<translation>Temalar</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="358"/>
<source>About</source>
<translation>Hakkında</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="359"/>
<source>Dark</source>
<translation>Koyu</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="360"/>
<source>Light</source>
<translation>ık</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="361"/>
<source>Green</source>
<translation>Yeşil</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="362"/>
<source>Blue</source>
<translation>Mavi</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="363"/>
<source>Violet</source>
<translation>Mor</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="364"/>
<source>toolBar</source>
<translation>Araç Çubuğu</translation>
</message>
</context>
<context>
<name>PKGViewer</name>
<message>
<location filename="../pkg_viewer.cpp" line="32"/>
<source>Open Folder</source>
<translation>Klasörü </translation>
</message>
</context>
<context>
<name>TrophyViewer</name>
<message>
<location filename="../trophy_viewer.cpp" line="8"/>
<source>Trophy Viewer</source>
<translation>Kupa Görüntüleyici</translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<location filename="../settings_dialog.ui" line="29"/>
<source>Settings</source>
<translation>Ayarlar</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="67"/>
<source>General</source>
<translation>Genel</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="77"/>
<source>System</source>
<translation>Sistem</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="83"/>
<source>Console Language</source>
<translation>Konsol Dili</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="95"/>
<source>Emulator Language</source>
<translation>Emülatör Dili</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="114"/>
<source>Emulator</source>
<translation>Emülatör</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="122"/>
<source>Enable Fullscreen</source>
<translation>Tam Ekranı Etkinleştir</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="129"/>
<source>Show Splash</source>
<translation>Başlangıç Ekranını Göster</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="136"/>
<source>Is PS4 Pro</source>
<translation>PS4 Pro mu</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="155"/>
<source>Username</source>
<translation>Kullanıcı Adı</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="178"/>
<source>Logger</source>
<translation>Kayıt Tutucu</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="199"/>
<source>Log Type</source>
<translation>Kayıt Türü</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="235"/>
<source>Log Filter</source>
<translation>Kayıt Filtresi</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="272"/>
<source>Graphics</source>
<translation>Grafikler</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="282"/>
<source>Graphics Device</source>
<translation>Grafik Cihazı</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="326"/>
<source>Width</source>
<translation>Genişlik</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="357"/>
<source>Height</source>
<translation>Yükseklik</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="405"/>
<source>Vblank Divider</source>
<translation>Vblank Bölücü</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="453"/>
<source>Advanced</source>
<translation>Gelişmiş</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="462"/>
<source>Enable Shaders Dumping</source>
<translation>Shader Kaydını Etkinleştir</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="469"/>
<source>Enable NULL GPU</source>
<translation>NULL GPU'yu Etkinleştir</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="476"/>
<source>Enable PM4 Dumping</source>
<translation>PM4 Kaydını Etkinleştir</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="517"/>
<source>Debug</source>
<translation>Hata Ayıklama</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="537"/>
<source>Enable Debug Dumping</source>
<translation>Hata Ayıklama Dökümü Etkinleştir</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="560"/>
<source>Enable Vulkan Validation Layers</source>
<translation>Vulkan Doğrulama Katmanlarını Etkinleştir</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="567"/>
<source>Enable Vulkan Synchronization Validation</source>
<translation>Vulkan Senkronizasyon Doğrulamasını Etkinleştir</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="574"/>
<source>Enable RenderDoc Debugging</source>
<translation>RenderDoc Hata Ayıklamayı Etkinleştir</translation>
</message>
</context>
</TS>

View File

@ -0,0 +1,491 @@
<?xml version="1.0" ?><!DOCTYPE TS><TS version="2.1" language="vi_VN">
<!-- SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
SPDX-License-Identifier: GPL-2.0-or-later -->
<context>
<name>AboutDialog</name>
<message>
<location filename="../about_dialog.ui" line="16"/>
<source>About shadPS4</source>
<translation>About shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="60"/>
<source>shadPS4</source>
<translation>shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="78"/>
<source>shadPS4 is an experimental open-source emulator for the PlayStation 4.</source>
<translation>shadPS4 is an experimental open-source emulator for the PlayStation 4.</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="99"/>
<source>This software should not be used to play games you have not legally obtained.</source>
<translation>This software should not be used to play games you have not legally obtained.</translation>
</message>
</context>
<context>
<name>ElfViewer</name>
<message>
<location filename="../elf_viewer.cpp" line="45"/>
<source>Open Folder</source>
<translation>Open Folder</translation>
</message>
</context>
<context>
<name>GameInfoClass</name>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Loading game list, please wait :3</source>
<translation>Loading game list, please wait :3</translation>
</message>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Cancel</source>
<translation>Cancel</translation>
</message>
<message>
<location filename="../game_info.cpp" line="27"/>
<source>Loading...</source>
<translation>Loading...</translation>
</message>
</context>
<context>
<name>GameInstallDialog</name>
<message>
<location filename="../game_install_dialog.cpp" line="24"/>
<source>shadPS4 - Choose directory</source>
<translation>shadPS4 - Choose directory</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="31"/>
<source>Directory to install games</source>
<translation>Directory to install games</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="50"/>
<source>Browse</source>
<translation>Browse</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="74"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="75"/>
<source>The value for location to install games is not valid.</source>
<translation>The value for location to install games is not valid.</translation>
</message>
</context>
<context>
<name>GuiContextMenus</name>
<message>
<location filename="../gui_context_menus.h" line="39"/>
<source>Create Shortcut</source>
<translation>Create Shortcut</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="40"/>
<source>Open Game Folder</source>
<translation>Open Game Folder</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="41"/>
<source>SFO Viewer</source>
<translation>SFO Viewer</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="42"/>
<source>Trophy Viewer</source>
<translation>Trophy Viewer</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="50"/>
<source>Copy info</source>
<translation>Copy info</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="51"/>
<source>Copy Name</source>
<translation>Copy Name</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="52"/>
<source>Copy Serial</source>
<translation>Copy Serial</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="53"/>
<source>Copy All</source>
<translation>Copy All</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="173"/>
<source>Shortcut creation</source>
<translation>Shortcut creation</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="174"/>
<source>Shortcut created successfully!\n %1</source>
<translation>Shortcut created successfully!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="177"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="178"/>
<source>Error creating shortcut!\n %1</source>
<translation>Error creating shortcut!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="253"/>
<source>Install PKG</source>
<translation>Install PKG</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../main_window_ui.h" line="310"/>
<source>Open/Add Elf Folder</source>
<translation>Open/Add Elf Folder</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="312"/>
<source>Install Packages (PKG)</source>
<translation>Install Packages (PKG)</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="313"/>
<source>Boot Game</source>
<translation>Boot Game</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="314"/>
<source>About shadPS4</source>
<translation>About shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="315"/>
<source>Configure...</source>
<translation>Configure...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="318"/>
<source>Install application from a .pkg file</source>
<translation>Install application from a .pkg file</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="320"/>
<source>Recent Games</source>
<translation>Recent Games</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="321"/>
<source>Exit</source>
<translation>Exit</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="323"/>
<source>Exit shadPS4</source>
<translation>Exit shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="327"/>
<source>Exit the application.</source>
<translation>Exit the application.</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="330"/>
<source>Show Game List</source>
<translation>Show Game List</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="332"/>
<source>Game List Refresh</source>
<translation>Game List Refresh</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="333"/>
<source>Tiny</source>
<translation>Tiny</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="334"/>
<source>Small</source>
<translation>Small</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="335"/>
<source>Medium</source>
<translation>Medium</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="336"/>
<source>Large</source>
<translation>Large</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="338"/>
<source>List View</source>
<translation>List View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="340"/>
<source>Grid View</source>
<translation>Grid View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="341"/>
<source>Elf Viewer</source>
<translation>Elf Viewer</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="343"/>
<source>Game Install Directory</source>
<translation>Game Install Directory</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="345"/>
<source>Dump Game List</source>
<translation>Dump Game List</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="346"/>
<source>PKG Viewer</source>
<translation>PKG Viewer</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="348"/>
<source>Search...</source>
<translation>Search...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="349"/>
<source>File</source>
<translation>File</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="350"/>
<source>View</source>
<translation>View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="352"/>
<source>Game List Icons</source>
<translation>Game List Icons</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="354"/>
<source>Game List Mode</source>
<translation>Game List Mode</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="355"/>
<source>Settings</source>
<translation>Settings</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="356"/>
<source>Utils</source>
<translation>Utils</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="357"/>
<source>Themes</source>
<translation>Themes</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="358"/>
<source>About</source>
<translation>About</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="359"/>
<source>Dark</source>
<translation>Dark</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="360"/>
<source>Light</source>
<translation>Light</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="361"/>
<source>Green</source>
<translation>Green</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="362"/>
<source>Blue</source>
<translation>Blue</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="363"/>
<source>Violet</source>
<translation>Violet</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="364"/>
<source>toolBar</source>
<translation>toolBar</translation>
</message>
</context>
<context>
<name>PKGViewer</name>
<message>
<location filename="../pkg_viewer.cpp" line="32"/>
<source>Open Folder</source>
<translation>Open Folder</translation>
</message>
</context>
<context>
<name>TrophyViewer</name>
<message>
<location filename="../trophy_viewer.cpp" line="8"/>
<source>Trophy Viewer</source>
<translation>Trophy Viewer</translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<location filename="../settings_dialog.ui" line="29"/>
<source>Settings</source>
<translation>Settings</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="67"/>
<source>General</source>
<translation>General</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="77"/>
<source>System</source>
<translation>System</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="83"/>
<source>Console Language</source>
<translation>Console Language</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="95"/>
<source>Emulator Language</source>
<translation>Emulator Language</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="114"/>
<source>Emulator</source>
<translation>Emulator</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="122"/>
<source>Enable Fullscreen</source>
<translation>Enable Fullscreen</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="129"/>
<source>Show Splash</source>
<translation>Show Splash</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="136"/>
<source>Is PS4 Pro</source>
<translation>Is PS4 Pro</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="155"/>
<source>Username</source>
<translation>Username</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="178"/>
<source>Logger</source>
<translation>Logger</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="199"/>
<source>Log Type</source>
<translation>Log Type</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="235"/>
<source>Log Filter</source>
<translation>Log Filter</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="272"/>
<source>Graphics</source>
<translation>Graphics</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="282"/>
<source>Graphics Device</source>
<translation>Graphics Device</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="326"/>
<source>Width</source>
<translation>Width</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="357"/>
<source>Height</source>
<translation>Height</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="405"/>
<source>Vblank Divider</source>
<translation>Vblank Divider</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="453"/>
<source>Advanced</source>
<translation>Advanced</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="462"/>
<source>Enable Shaders Dumping</source>
<translation>Enable Shaders Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="469"/>
<source>Enable NULL GPU</source>
<translation>Enable NULL GPU</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="476"/>
<source>Enable PM4 Dumping</source>
<translation>Enable PM4 Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="517"/>
<source>Debug</source>
<translation>Debug</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="537"/>
<source>Enable Debug Dumping</source>
<translation>Enable Debug Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="560"/>
<source>Enable Vulkan Validation Layers</source>
<translation>Enable Vulkan Validation Layers</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="567"/>
<source>Enable Vulkan Synchronization Validation</source>
<translation>Enable Vulkan Synchronization Validation</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="574"/>
<source>Enable RenderDoc Debugging</source>
<translation>Enable RenderDoc Debugging</translation>
</message>
</context>
</TS>

View File

@ -0,0 +1,491 @@
<?xml version="1.0" ?><!DOCTYPE TS><TS version="2.1" language="zh_CN">
<!-- SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
SPDX-License-Identifier: GPL-2.0-or-later -->
<context>
<name>AboutDialog</name>
<message>
<location filename="../about_dialog.ui" line="16"/>
<source>About shadPS4</source>
<translation>About shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="60"/>
<source>shadPS4</source>
<translation>shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="78"/>
<source>shadPS4 is an experimental open-source emulator for the PlayStation 4.</source>
<translation>shadPS4 is an experimental open-source emulator for the PlayStation 4.</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="99"/>
<source>This software should not be used to play games you have not legally obtained.</source>
<translation>This software should not be used to play games you have not legally obtained.</translation>
</message>
</context>
<context>
<name>ElfViewer</name>
<message>
<location filename="../elf_viewer.cpp" line="45"/>
<source>Open Folder</source>
<translation>Open Folder</translation>
</message>
</context>
<context>
<name>GameInfoClass</name>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Loading game list, please wait :3</source>
<translation>Loading game list, please wait :3</translation>
</message>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Cancel</source>
<translation>Cancel</translation>
</message>
<message>
<location filename="../game_info.cpp" line="27"/>
<source>Loading...</source>
<translation>Loading...</translation>
</message>
</context>
<context>
<name>GameInstallDialog</name>
<message>
<location filename="../game_install_dialog.cpp" line="24"/>
<source>shadPS4 - Choose directory</source>
<translation>shadPS4 - Choose directory</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="31"/>
<source>Directory to install games</source>
<translation>Directory to install games</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="50"/>
<source>Browse</source>
<translation>Browse</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="74"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="75"/>
<source>The value for location to install games is not valid.</source>
<translation>The value for location to install games is not valid.</translation>
</message>
</context>
<context>
<name>GuiContextMenus</name>
<message>
<location filename="../gui_context_menus.h" line="39"/>
<source>Create Shortcut</source>
<translation>Create Shortcut</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="40"/>
<source>Open Game Folder</source>
<translation>Open Game Folder</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="41"/>
<source>SFO Viewer</source>
<translation>SFO Viewer</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="42"/>
<source>Trophy Viewer</source>
<translation>Trophy Viewer</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="50"/>
<source>Copy info</source>
<translation>Copy info</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="51"/>
<source>Copy Name</source>
<translation>Copy Name</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="52"/>
<source>Copy Serial</source>
<translation>Copy Serial</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="53"/>
<source>Copy All</source>
<translation>Copy All</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="173"/>
<source>Shortcut creation</source>
<translation>Shortcut creation</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="174"/>
<source>Shortcut created successfully!\n %1</source>
<translation>Shortcut created successfully!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="177"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="178"/>
<source>Error creating shortcut!\n %1</source>
<translation>Error creating shortcut!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="253"/>
<source>Install PKG</source>
<translation>Install PKG</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../main_window_ui.h" line="310"/>
<source>Open/Add Elf Folder</source>
<translation>Open/Add Elf Folder</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="312"/>
<source>Install Packages (PKG)</source>
<translation>Install Packages (PKG)</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="313"/>
<source>Boot Game</source>
<translation>Boot Game</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="314"/>
<source>About shadPS4</source>
<translation>About shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="315"/>
<source>Configure...</source>
<translation>Configure...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="318"/>
<source>Install application from a .pkg file</source>
<translation>Install application from a .pkg file</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="320"/>
<source>Recent Games</source>
<translation>Recent Games</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="321"/>
<source>Exit</source>
<translation>Exit</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="323"/>
<source>Exit shadPS4</source>
<translation>Exit shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="327"/>
<source>Exit the application.</source>
<translation>Exit the application.</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="330"/>
<source>Show Game List</source>
<translation>Show Game List</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="332"/>
<source>Game List Refresh</source>
<translation>Game List Refresh</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="333"/>
<source>Tiny</source>
<translation>Tiny</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="334"/>
<source>Small</source>
<translation>Small</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="335"/>
<source>Medium</source>
<translation>Medium</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="336"/>
<source>Large</source>
<translation>Large</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="338"/>
<source>List View</source>
<translation>List View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="340"/>
<source>Grid View</source>
<translation>Grid View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="341"/>
<source>Elf Viewer</source>
<translation>Elf Viewer</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="343"/>
<source>Game Install Directory</source>
<translation>Game Install Directory</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="345"/>
<source>Dump Game List</source>
<translation>Dump Game List</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="346"/>
<source>PKG Viewer</source>
<translation>PKG Viewer</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="348"/>
<source>Search...</source>
<translation>Search...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="349"/>
<source>File</source>
<translation>File</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="350"/>
<source>View</source>
<translation>View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="352"/>
<source>Game List Icons</source>
<translation>Game List Icons</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="354"/>
<source>Game List Mode</source>
<translation>Game List Mode</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="355"/>
<source>Settings</source>
<translation>Settings</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="356"/>
<source>Utils</source>
<translation>Utils</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="357"/>
<source>Themes</source>
<translation>Themes</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="358"/>
<source>About</source>
<translation>About</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="359"/>
<source>Dark</source>
<translation>Dark</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="360"/>
<source>Light</source>
<translation>Light</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="361"/>
<source>Green</source>
<translation>Green</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="362"/>
<source>Blue</source>
<translation>Blue</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="363"/>
<source>Violet</source>
<translation>Violet</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="364"/>
<source>toolBar</source>
<translation>toolBar</translation>
</message>
</context>
<context>
<name>PKGViewer</name>
<message>
<location filename="../pkg_viewer.cpp" line="32"/>
<source>Open Folder</source>
<translation>Open Folder</translation>
</message>
</context>
<context>
<name>TrophyViewer</name>
<message>
<location filename="../trophy_viewer.cpp" line="8"/>
<source>Trophy Viewer</source>
<translation>Trophy Viewer</translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<location filename="../settings_dialog.ui" line="29"/>
<source>Settings</source>
<translation>Settings</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="67"/>
<source>General</source>
<translation>General</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="77"/>
<source>System</source>
<translation>System</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="83"/>
<source>Console Language</source>
<translation>Console Language</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="95"/>
<source>Emulator Language</source>
<translation>Emulator Language</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="114"/>
<source>Emulator</source>
<translation>Emulator</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="122"/>
<source>Enable Fullscreen</source>
<translation>Enable Fullscreen</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="129"/>
<source>Show Splash</source>
<translation>Show Splash</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="136"/>
<source>Is PS4 Pro</source>
<translation>Is PS4 Pro</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="155"/>
<source>Username</source>
<translation>Username</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="178"/>
<source>Logger</source>
<translation>Logger</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="199"/>
<source>Log Type</source>
<translation>Log Type</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="235"/>
<source>Log Filter</source>
<translation>Log Filter</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="272"/>
<source>Graphics</source>
<translation>Graphics</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="282"/>
<source>Graphics Device</source>
<translation>Graphics Device</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="326"/>
<source>Width</source>
<translation>Width</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="357"/>
<source>Height</source>
<translation>Height</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="405"/>
<source>Vblank Divider</source>
<translation>Vblank Divider</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="453"/>
<source>Advanced</source>
<translation>Advanced</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="462"/>
<source>Enable Shaders Dumping</source>
<translation>Enable Shaders Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="469"/>
<source>Enable NULL GPU</source>
<translation>Enable NULL GPU</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="476"/>
<source>Enable PM4 Dumping</source>
<translation>Enable PM4 Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="517"/>
<source>Debug</source>
<translation>Debug</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="537"/>
<source>Enable Debug Dumping</source>
<translation>Enable Debug Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="560"/>
<source>Enable Vulkan Validation Layers</source>
<translation>Enable Vulkan Validation Layers</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="567"/>
<source>Enable Vulkan Synchronization Validation</source>
<translation>Enable Vulkan Synchronization Validation</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="574"/>
<source>Enable RenderDoc Debugging</source>
<translation>Enable RenderDoc Debugging</translation>
</message>
</context>
</TS>

View File

@ -0,0 +1,491 @@
<?xml version="1.0" ?><!DOCTYPE TS><TS version="2.1" language="zh_TW">
<!-- SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
SPDX-License-Identifier: GPL-2.0-or-later -->
<context>
<name>AboutDialog</name>
<message>
<location filename="../about_dialog.ui" line="16"/>
<source>About shadPS4</source>
<translation>About shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="60"/>
<source>shadPS4</source>
<translation>shadPS4</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="78"/>
<source>shadPS4 is an experimental open-source emulator for the PlayStation 4.</source>
<translation>shadPS4 is an experimental open-source emulator for the PlayStation 4.</translation>
</message>
<message>
<location filename="../about_dialog.ui" line="99"/>
<source>This software should not be used to play games you have not legally obtained.</source>
<translation>This software should not be used to play games you have not legally obtained.</translation>
</message>
</context>
<context>
<name>ElfViewer</name>
<message>
<location filename="../elf_viewer.cpp" line="45"/>
<source>Open Folder</source>
<translation>Open Folder</translation>
</message>
</context>
<context>
<name>GameInfoClass</name>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Loading game list, please wait :3</source>
<translation>Loading game list, please wait :3</translation>
</message>
<message>
<location filename="../game_info.cpp" line="26"/>
<source>Cancel</source>
<translation>Cancel</translation>
</message>
<message>
<location filename="../game_info.cpp" line="27"/>
<source>Loading...</source>
<translation>Loading...</translation>
</message>
</context>
<context>
<name>GameInstallDialog</name>
<message>
<location filename="../game_install_dialog.cpp" line="24"/>
<source>shadPS4 - Choose directory</source>
<translation>shadPS4 - Choose directory</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="31"/>
<source>Directory to install games</source>
<translation>Directory to install games</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="50"/>
<source>Browse</source>
<translation>Browse</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="74"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../game_install_dialog.cpp" line="75"/>
<source>The value for location to install games is not valid.</source>
<translation>The value for location to install games is not valid.</translation>
</message>
</context>
<context>
<name>GuiContextMenus</name>
<message>
<location filename="../gui_context_menus.h" line="39"/>
<source>Create Shortcut</source>
<translation>Create Shortcut</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="40"/>
<source>Open Game Folder</source>
<translation>Open Game Folder</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="41"/>
<source>SFO Viewer</source>
<translation>SFO Viewer</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="42"/>
<source>Trophy Viewer</source>
<translation>Trophy Viewer</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="50"/>
<source>Copy info</source>
<translation>Copy info</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="51"/>
<source>Copy Name</source>
<translation>Copy Name</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="52"/>
<source>Copy Serial</source>
<translation>Copy Serial</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="53"/>
<source>Copy All</source>
<translation>Copy All</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="173"/>
<source>Shortcut creation</source>
<translation>Shortcut creation</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="174"/>
<source>Shortcut created successfully!\n %1</source>
<translation>Shortcut created successfully!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="177"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="178"/>
<source>Error creating shortcut!\n %1</source>
<translation>Error creating shortcut!\n %1</translation>
</message>
<message>
<location filename="../gui_context_menus.h" line="253"/>
<source>Install PKG</source>
<translation>Install PKG</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../main_window_ui.h" line="310"/>
<source>Open/Add Elf Folder</source>
<translation>Open/Add Elf Folder</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="312"/>
<source>Install Packages (PKG)</source>
<translation>Install Packages (PKG)</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="313"/>
<source>Boot Game</source>
<translation>Boot Game</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="314"/>
<source>About shadPS4</source>
<translation>About shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="315"/>
<source>Configure...</source>
<translation>Configure...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="318"/>
<source>Install application from a .pkg file</source>
<translation>Install application from a .pkg file</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="320"/>
<source>Recent Games</source>
<translation>Recent Games</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="321"/>
<source>Exit</source>
<translation>Exit</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="323"/>
<source>Exit shadPS4</source>
<translation>Exit shadPS4</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="327"/>
<source>Exit the application.</source>
<translation>Exit the application.</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="330"/>
<source>Show Game List</source>
<translation>Show Game List</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="332"/>
<source>Game List Refresh</source>
<translation>Game List Refresh</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="333"/>
<source>Tiny</source>
<translation>Tiny</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="334"/>
<source>Small</source>
<translation>Small</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="335"/>
<source>Medium</source>
<translation>Medium</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="336"/>
<source>Large</source>
<translation>Large</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="338"/>
<source>List View</source>
<translation>List View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="340"/>
<source>Grid View</source>
<translation>Grid View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="341"/>
<source>Elf Viewer</source>
<translation>Elf Viewer</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="343"/>
<source>Game Install Directory</source>
<translation>Game Install Directory</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="345"/>
<source>Dump Game List</source>
<translation>Dump Game List</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="346"/>
<source>PKG Viewer</source>
<translation>PKG Viewer</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="348"/>
<source>Search...</source>
<translation>Search...</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="349"/>
<source>File</source>
<translation>File</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="350"/>
<source>View</source>
<translation>View</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="352"/>
<source>Game List Icons</source>
<translation>Game List Icons</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="354"/>
<source>Game List Mode</source>
<translation>Game List Mode</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="355"/>
<source>Settings</source>
<translation>Settings</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="356"/>
<source>Utils</source>
<translation>Utils</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="357"/>
<source>Themes</source>
<translation>Themes</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="358"/>
<source>About</source>
<translation>About</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="359"/>
<source>Dark</source>
<translation>Dark</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="360"/>
<source>Light</source>
<translation>Light</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="361"/>
<source>Green</source>
<translation>Green</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="362"/>
<source>Blue</source>
<translation>Blue</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="363"/>
<source>Violet</source>
<translation>Violet</translation>
</message>
<message>
<location filename="../main_window_ui.h" line="364"/>
<source>toolBar</source>
<translation>toolBar</translation>
</message>
</context>
<context>
<name>PKGViewer</name>
<message>
<location filename="../pkg_viewer.cpp" line="32"/>
<source>Open Folder</source>
<translation>Open Folder</translation>
</message>
</context>
<context>
<name>TrophyViewer</name>
<message>
<location filename="../trophy_viewer.cpp" line="8"/>
<source>Trophy Viewer</source>
<translation>Trophy Viewer</translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<location filename="../settings_dialog.ui" line="29"/>
<source>Settings</source>
<translation>Settings</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="67"/>
<source>General</source>
<translation>General</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="77"/>
<source>System</source>
<translation>System</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="83"/>
<source>Console Language</source>
<translation>Console Language</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="95"/>
<source>Emulator Language</source>
<translation>Emulator Language</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="114"/>
<source>Emulator</source>
<translation>Emulator</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="122"/>
<source>Enable Fullscreen</source>
<translation>Enable Fullscreen</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="129"/>
<source>Show Splash</source>
<translation>Show Splash</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="136"/>
<source>Is PS4 Pro</source>
<translation>Is PS4 Pro</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="155"/>
<source>Username</source>
<translation>Username</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="178"/>
<source>Logger</source>
<translation>Logger</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="199"/>
<source>Log Type</source>
<translation>Log Type</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="235"/>
<source>Log Filter</source>
<translation>Log Filter</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="272"/>
<source>Graphics</source>
<translation>Graphics</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="282"/>
<source>Graphics Device</source>
<translation>Graphics Device</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="326"/>
<source>Width</source>
<translation>Width</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="357"/>
<source>Height</source>
<translation>Height</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="405"/>
<source>Vblank Divider</source>
<translation>Vblank Divider</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="453"/>
<source>Advanced</source>
<translation>Advanced</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="462"/>
<source>Enable Shaders Dumping</source>
<translation>Enable Shaders Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="469"/>
<source>Enable NULL GPU</source>
<translation>Enable NULL GPU</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="476"/>
<source>Enable PM4 Dumping</source>
<translation>Enable PM4 Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="517"/>
<source>Debug</source>
<translation>Debug</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="537"/>
<source>Enable Debug Dumping</source>
<translation>Enable Debug Dumping</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="560"/>
<source>Enable Vulkan Validation Layers</source>
<translation>Enable Vulkan Validation Layers</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="567"/>
<source>Enable Vulkan Synchronization Validation</source>
<translation>Enable Vulkan Synchronization Validation</translation>
</message>
<message>
<location filename="../settings_dialog.ui" line="574"/>
<source>Enable RenderDoc Debugging</source>
<translation>Enable RenderDoc Debugging</translation>
</message>
</context>
</TS>

View File

@ -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;

View File

@ -10,11 +10,9 @@
#include <QHeaderView>
#include <QLabel>
#include <QMainWindow>
#include <QStyleOptionViewItem>
#include <QTableWidget>
#include <QTableWidgetItem>
#include <QVBoxLayout>
#include <QWidget>
#include <QXmlStreamReader>
#include "common/types.h"

View File

@ -25,9 +25,6 @@ enum class WindowSystemType : u8 {
};
struct WindowSystemInfo {
// Window system type. Determines which GL context or Vulkan WSI is used.
WindowSystemType type = WindowSystemType::Headless;
// Connection to a display server. This is used on X11 and Wayland platforms.
void* display_connection = nullptr;
@ -38,6 +35,9 @@ struct WindowSystemInfo {
// Scale of the render surface. For hidpi systems, this will be >1.
float render_surface_scale = 1.0f;
// Window system type. Determines which GL context or Vulkan WSI is used.
WindowSystemType type = WindowSystemType::Headless;
};
class WindowSDL {

View File

@ -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);

View File

@ -102,7 +102,7 @@ Id EmitBufferAtomicXor32(EmitContext& ctx, IR::Inst* inst, u32 handle, Id addres
return BufferAtomicU32(ctx, inst, handle, address, value, &Sirit::Module::OpAtomicXor);
}
Id EmitBufferAtomicExchange32(EmitContext& ctx, IR::Inst* inst, u32 handle, Id address, Id value) {
Id EmitBufferAtomicSwap32(EmitContext& ctx, IR::Inst* inst, u32 handle, Id address, Id value) {
return BufferAtomicU32(ctx, inst, handle, address, value, &Sirit::Module::OpAtomicExchange);
}

View File

@ -305,7 +305,7 @@ static Id ConvertValue(EmitContext& ctx, Id value, AmdGpu::NumberFormat format,
case AmdGpu::NumberFormat::Float:
return value;
default:
UNREACHABLE_MSG("Unsupported number fromat for conversion: {}",
UNREACHABLE_MSG("Unsupported number format for conversion: {}",
magic_enum::enum_name(format));
}
}
@ -478,7 +478,7 @@ static Id ConvertF32ToFormat(EmitContext& ctx, Id value, AmdGpu::NumberFormat fo
case AmdGpu::NumberFormat::Float:
return value;
default:
UNREACHABLE_MSG("Unsupported number fromat for conversion: {}",
UNREACHABLE_MSG("Unsupported number format for conversion: {}",
magic_enum::enum_name(format));
}
}

View File

@ -16,6 +16,12 @@ struct ImageOperands {
static_cast<u32>(new_mask));
operands.push_back(value);
}
void Add(spv::ImageOperandsMask new_mask, Id value1, Id value2) {
mask = static_cast<spv::ImageOperandsMask>(static_cast<u32>(mask) |
static_cast<u32>(new_mask));
operands.push_back(value1);
operands.push_back(value2);
}
void AddOffset(EmitContext& ctx, const IR::Value& offset,
bool can_use_runtime_offsets = false) {
@ -53,6 +59,15 @@ struct ImageOperands {
}
}
void AddDerivatives(EmitContext& ctx, Id derivatives) {
if (!Sirit::ValidId(derivatives)) {
return;
}
const Id dx{ctx.OpVectorShuffle(ctx.F32[2], derivatives, derivatives, 0, 1)};
const Id dy{ctx.OpVectorShuffle(ctx.F32[2], derivatives, derivatives, 2, 3)};
Add(spv::ImageOperandsMask::Grad, dx, dy);
}
spv::ImageOperandsMask mask{};
boost::container::static_vector<Id, 4> operands;
};
@ -117,7 +132,7 @@ Id EmitImageGather(EmitContext& ctx, IR::Inst* inst, u32 handle, Id coords,
const Id sampled_image = ctx.OpSampledImage(texture.sampled_type, image, sampler);
const u32 comp = inst->Flags<IR::TextureInstInfo>().gather_comp.Value();
ImageOperands operands;
operands.AddOffset(ctx, offset);
operands.AddOffset(ctx, offset, true);
return ctx.OpImageGather(ctx.F32[4], sampled_image, coords, ctx.ConstU32(comp), operands.mask,
operands.operands);
}
@ -129,7 +144,7 @@ Id EmitImageGatherDref(EmitContext& ctx, IR::Inst* inst, u32 handle, Id coords,
const Id sampler = ctx.OpLoad(ctx.sampler_type, ctx.samplers[handle >> 16]);
const Id sampled_image = ctx.OpSampledImage(texture.sampled_type, image, sampler);
ImageOperands operands;
operands.AddOffset(ctx, offset);
operands.AddOffset(ctx, offset, true);
return ctx.OpImageDrefGather(ctx.F32[4], sampled_image, coords, dref, operands.mask,
operands.operands);
}
@ -181,9 +196,17 @@ Id EmitImageQueryLod(EmitContext& ctx, IR::Inst* inst, u32 handle, Id coords) {
return ctx.OpImageQueryLod(ctx.F32[2], sampled_image, coords);
}
Id EmitImageGradient(EmitContext& ctx, IR::Inst* inst, const IR::Value& index, Id coords,
Id derivatives, const IR::Value& offset, Id lod_clamp) {
UNREACHABLE_MSG("SPIR-V Instruction");
Id EmitImageGradient(EmitContext& ctx, IR::Inst* inst, u32 handle, Id coords, Id derivatives,
const IR::Value& offset, Id lod_clamp) {
const auto& texture = ctx.images[handle & 0xFFFF];
const Id image = ctx.OpLoad(texture.image_type, texture.id);
const Id sampler = ctx.OpLoad(ctx.sampler_type, ctx.samplers[handle >> 16]);
const Id sampled_image = ctx.OpSampledImage(texture.sampled_type, image, sampler);
ImageOperands operands;
operands.AddDerivatives(ctx, derivatives);
operands.AddOffset(ctx, offset);
return ctx.OpImageSampleExplicitLod(ctx.F32[4], sampled_image, coords, operands.mask,
operands.operands);
}
Id EmitImageRead(EmitContext& ctx, IR::Inst* inst, const IR::Value& index, Id coords) {

View File

@ -91,7 +91,7 @@ Id EmitBufferAtomicDec32(EmitContext& ctx, IR::Inst* inst, u32 handle, Id addres
Id EmitBufferAtomicAnd32(EmitContext& ctx, IR::Inst* inst, u32 handle, Id address, Id value);
Id EmitBufferAtomicOr32(EmitContext& ctx, IR::Inst* inst, u32 handle, Id address, Id value);
Id EmitBufferAtomicXor32(EmitContext& ctx, IR::Inst* inst, u32 handle, Id address, Id value);
Id EmitBufferAtomicExchange32(EmitContext& ctx, IR::Inst* inst, u32 handle, Id address, Id value);
Id EmitBufferAtomicSwap32(EmitContext& ctx, IR::Inst* inst, u32 handle, Id address, Id value);
Id EmitGetAttribute(EmitContext& ctx, IR::Attribute attr, u32 comp);
Id EmitGetAttributeU32(EmitContext& ctx, IR::Attribute attr, u32 comp);
void EmitSetAttribute(EmitContext& ctx, IR::Attribute attr, Id value, u32 comp);
@ -387,8 +387,8 @@ Id EmitImageFetch(EmitContext& ctx, IR::Inst* inst, u32 handle, Id coords, const
Id lod, Id ms);
Id EmitImageQueryDimensions(EmitContext& ctx, IR::Inst* inst, u32 handle, Id lod, bool skip_mips);
Id EmitImageQueryLod(EmitContext& ctx, IR::Inst* inst, u32 handle, Id coords);
Id EmitImageGradient(EmitContext& ctx, IR::Inst* inst, const IR::Value& index, Id coords,
Id derivatives, const IR::Value& offset, Id lod_clamp);
Id EmitImageGradient(EmitContext& ctx, IR::Inst* inst, u32 handle, Id coords, Id derivatives,
const IR::Value& offset, Id lod_clamp);
Id EmitImageRead(EmitContext& ctx, IR::Inst* inst, const IR::Value& index, Id coords);
void EmitImageWrite(EmitContext& ctx, IR::Inst* inst, u32 handle, Id coords, Id color);
@ -407,5 +407,8 @@ Id EmitImageAtomicExchange32(EmitContext& ctx, IR::Inst* inst, u32 handle, Id co
Id EmitLaneId(EmitContext& ctx);
Id EmitWarpId(EmitContext& ctx);
Id EmitQuadShuffle(EmitContext& ctx, Id value, Id index);
Id EmitReadFirstLane(EmitContext& ctx, Id value);
Id EmitReadLane(EmitContext& ctx, Id value, u32 lane);
Id EmitWriteLane(EmitContext& ctx, Id value, Id write_value, u32 lane);
} // namespace Shader::Backend::SPIRV

View File

@ -22,4 +22,16 @@ Id EmitQuadShuffle(EmitContext& ctx, Id value, Id index) {
return ctx.OpGroupNonUniformQuadBroadcast(ctx.U32[1], SubgroupScope(ctx), value, index);
}
Id EmitReadFirstLane(EmitContext& ctx, Id value) {
UNREACHABLE();
}
Id EmitReadLane(EmitContext& ctx, Id value, u32 lane) {
UNREACHABLE();
}
Id EmitWriteLane(EmitContext& ctx, Id value, Id write_value, u32 lane) {
return ctx.u32_zero_value;
}
} // namespace Shader::Backend::SPIRV

View File

@ -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;
@ -485,8 +489,8 @@ void EmitContext::DefineImagesAndSamplers() {
Name(id, fmt::format("{}_{}{}_{:02x}", stage, "img", image_desc.sgpr_base,
image_desc.dword_offset));
images.push_back({
.id = id,
.data_types = data_types,
.id = id,
.sampled_type = image_desc.is_storage ? sampled_type : TypeSampledImage(image_type),
.pointer_type = pointer_type,
.image_type = image_type,

View File

@ -193,8 +193,8 @@ public:
Id shared_memory_u32_type{};
struct TextureDefinition {
Id id;
const VectorIds* data_types;
Id id;
Id sampled_type;
Id pointer_type;
Id image_type;

View File

@ -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);
}
}

View File

@ -3,6 +3,7 @@
#include <algorithm>
#include <boost/container/static_vector.hpp>
#include "common/assert.h"
#include "shader_recompiler/frontend/decode.h"
#include "shader_recompiler/frontend/fetch_shader.h"
@ -33,8 +34,8 @@ namespace Shader::Gcn {
* We take the reverse way, extract the original input semantics from these instructions.
**/
std::vector<VertexAttribute> ParseFetchShader(const u32* code, u32* out_size) {
std::vector<VertexAttribute> attributes;
FetchShaderData ParseFetchShader(const u32* code, u32* out_size) {
FetchShaderData data{};
GcnCodeSlice code_slice(code, code + std::numeric_limits<u32>::max());
GcnDecodeContext decoder;
@ -59,6 +60,21 @@ std::vector<VertexAttribute> ParseFetchShader(const u32* code, u32* out_size) {
continue;
}
if (inst.opcode == Opcode::V_ADD_I32) {
const auto vgpr = inst.dst[0].code;
const auto sgpr = s8(inst.src[0].code);
switch (vgpr) {
case 0: // V0 is always the vertex offset
data.vertex_offset_sgpr = sgpr;
break;
case 3: // V3 is always the instance offset
data.instance_offset_sgpr = sgpr;
break;
default:
UNREACHABLE();
}
}
if (inst.inst_class == InstClass::VectorMemBufFmt) {
// SRSRC is in units of 4 SPGRs while SBASE is in pairs of SGPRs
const u32 base_sgpr = inst.src[2].code * 4;
@ -68,7 +84,7 @@ std::vector<VertexAttribute> ParseFetchShader(const u32* code, u32* out_size) {
const auto it = std::ranges::find_if(
loads, [&](VsharpLoad& load) { return load.dst_reg == base_sgpr; });
auto& attrib = attributes.emplace_back();
auto& attrib = data.attributes.emplace_back();
attrib.semantic = semantic_index++;
attrib.dest_vgpr = inst.src[1].code;
attrib.num_elements = inst.control.mubuf.count;
@ -83,7 +99,7 @@ std::vector<VertexAttribute> ParseFetchShader(const u32* code, u32* out_size) {
}
}
return attributes;
return data;
}
} // namespace Shader::Gcn

View File

@ -17,6 +17,12 @@ struct VertexAttribute {
u8 instance_data; ///< Indicates that the buffer will be accessed in instance rate
};
std::vector<VertexAttribute> ParseFetchShader(const u32* code, u32* out_size);
struct FetchShaderData {
std::vector<VertexAttribute> attributes;
s8 vertex_offset_sgpr = -1; ///< SGPR of vertex offset from VADDR
s8 instance_offset_sgpr = -1; ///< SGPR of instance offset from VADDR
};
FetchShaderData ParseFetchShader(const u32* code, u32* out_size);
} // namespace Shader::Gcn

View File

@ -7,7 +7,7 @@
namespace Shader::Gcn {
u32 GcnInst::BranchTarget(u32 pc) const {
const s16 simm = static_cast<s16>(control.sopp.simm * 4);
const s32 simm = static_cast<s32>(control.sopp.simm) * 4;
const u32 target = pc + simm + 4;
return target;
}
@ -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

View File

@ -203,6 +203,7 @@ struct GcnInst {
bool IsUnconditionalBranch() const;
bool IsConditionalBranch() const;
bool IsFork() const;
bool IsCmpx() const;
};
} // namespace Shader::Gcn

View File

@ -127,7 +127,6 @@ void Translator::DS_ADD_U32(const GcnInst& inst, bool rtn) {
const IR::U32 data{GetSrc(inst.src[1])};
const IR::U32 offset = ir.Imm32(u32(inst.control.ds.offset0));
const IR::U32 addr_offset = ir.IAdd(addr, offset);
IR::VectorReg dst_reg{inst.dst[0].code};
const IR::Value original_val = ir.SharedAtomicIAdd(addr_offset, data);
if (rtn) {
SetDst(inst.dst[0], IR::U32{original_val});
@ -139,7 +138,6 @@ void Translator::DS_MIN_U32(const GcnInst& inst, bool rtn) {
const IR::U32 data{GetSrc(inst.src[1])};
const IR::U32 offset = ir.Imm32(u32(inst.control.ds.offset0));
const IR::U32 addr_offset = ir.IAdd(addr, offset);
IR::VectorReg dst_reg{inst.dst[0].code};
const IR::Value original_val = ir.SharedAtomicIMin(addr_offset, data, false);
if (rtn) {
SetDst(inst.dst[0], IR::U32{original_val});
@ -151,7 +149,6 @@ void Translator::DS_MAX_U32(const GcnInst& inst, bool rtn) {
const IR::U32 data{GetSrc(inst.src[1])};
const IR::U32 offset = ir.Imm32(u32(inst.control.ds.offset0));
const IR::U32 addr_offset = ir.IAdd(addr, offset);
IR::VectorReg dst_reg{inst.dst[0].code};
const IR::Value original_val = ir.SharedAtomicIMax(addr_offset, data, false);
if (rtn) {
SetDst(inst.dst[0], IR::U32{original_val});
@ -168,13 +165,18 @@ void Translator::V_READFIRSTLANE_B32(const GcnInst& inst) {
}
void Translator::V_READLANE_B32(const GcnInst& inst) {
ASSERT(info.stage != Stage::Compute);
SetDst(inst.dst[0], GetSrc(inst.src[0]));
const IR::ScalarReg dst{inst.dst[0].code};
const IR::U32 value{GetSrc(inst.src[0])};
const IR::U32 lane{GetSrc(inst.src[1])};
ir.SetScalarReg(dst, ir.ReadLane(value, lane));
}
void Translator::V_WRITELANE_B32(const GcnInst& inst) {
ASSERT(info.stage != Stage::Compute);
SetDst(inst.dst[0], GetSrc(inst.src[0]));
const IR::VectorReg dst{inst.dst[0].code};
const IR::U32 value{GetSrc(inst.src[0])};
const IR::U32 lane{GetSrc(inst.src[1])};
const IR::U32 old_value{GetSrc(inst.dst[0])};
ir.SetVectorReg(dst, ir.WriteLane(old_value, value, lane));
}
} // namespace Shader::Gcn

View File

@ -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);
}
@ -440,13 +442,16 @@ void Translator::S_SUB_U32(const GcnInst& inst) {
void Translator::S_GETPC_B64(u32 pc, const GcnInst& inst) {
// This only really exists to let resource tracking pass know
// there is an inline cbuf.
SetDst(inst.dst[0], ir.Imm32(pc));
const IR::ScalarReg dst{inst.dst[0].code};
ir.SetScalarReg(dst, ir.Imm32(pc));
ir.SetScalarReg(dst + 1, ir.Imm32(0));
}
void Translator::S_ADDC_U32(const GcnInst& inst) {
const IR::U32 src0{GetSrc(inst.src[0])};
const IR::U32 src1{GetSrc(inst.src[1])};
SetDst(inst.dst[0], ir.IAdd(ir.IAdd(src0, src1), ir.GetSccLo()));
const IR::U32 carry{ir.Select(ir.GetScc(), ir.Imm32(1U), ir.Imm32(0U))};
SetDst(inst.dst[0], ir.IAdd(ir.IAdd(src0, src1), carry));
}
void Translator::S_MAX_U32(const GcnInst& inst) {
@ -465,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

View File

@ -346,7 +346,7 @@ void Translator::EmitFetch(const GcnInst& inst) {
// Parse the assembly to generate a list of attributes.
u32 fetch_size{};
const auto attribs = ParseFetchShader(code, &fetch_size);
const auto fetch_data = ParseFetchShader(code, &fetch_size);
if (Config::dumpShaders()) {
using namespace Common::FS;
@ -359,7 +359,10 @@ void Translator::EmitFetch(const GcnInst& inst) {
file.WriteRaw<u8>(code, fetch_size);
}
for (const auto& attrib : attribs) {
info.vertex_offset_sgpr = fetch_data.vertex_offset_sgpr;
info.instance_offset_sgpr = fetch_data.instance_offset_sgpr;
for (const auto& attrib : fetch_data.attributes) {
const IR::Attribute attr{IR::Attribute::Param0 + attrib.semantic};
IR::VectorReg dst_reg{attrib.dest_vgpr};

View File

@ -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);

Some files were not shown because too many files have changed in this diff Show More